Update documentation with latest features

- Add CI/CD pipeline section with build artifacts table
- Document Save Game Editor feature
- Add native menu bar and inventory scrolling
- Update project structure with IndyNG engine
- Add Palette.cs to rendering section

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Ned Heller
2026-01-31 22:15:35 -08:00
co-authored by Claude Opus 4.5
parent 33322c77a0
commit 244893bc26
+63 -32
View File
@@ -18,16 +18,19 @@ Yoda Stories NG is a fan-made recreation of the classic LucasArts Desktop Advent
- **Complete data file parsing** - Reads original game assets with automatic game type detection - **Complete data file parsing** - Reads original game assets with automatic game type detection
- **Procedural world generation** - Each playthrough generates a unique 10x10 or 15x15 world map - **Procedural world generation** - Each playthrough generates a unique 10x10 or 15x15 world map
- **15 mission cycle** - Full mission progression with item chains and NPC puzzles - **15 mission cycle** - Full mission progression with item chains and NPC puzzles
- **Combat system** - Melee and ranged weapons with NPC AI - **Combat system** - Melee and ranged weapons with NPC AI and ammo system
- **Score system** - Force Factor (Yoda) / Indy Quotient (Indy) end-game scoring - **Score system** - Force Factor (Yoda) / Indy Quotient (Indy) end-game scoring
- **Color palette animation** - Authentic animated water, lava, and fire effects - **Color palette animation** - Authentic animated water, lava, and fire effects
- **R2D2 help system** - Context-sensitive hints from your droid companion - **R2D2 help system** - Context-sensitive hints from your droid companion
- **Save/Load system** - JSON-based save files with full game state - **Save/Load system** - JSON-based save files with full game state
- **Widescreen UI** - Modern layout with sidebar HUD - **Save Game Editor** - Inspect and modify save files, add items to inventory
- **Native menu bar** - Windows-style menu integration
- **Widescreen UI** - Modern layout with sidebar HUD and inventory scrolling
- **Xbox controller support** - Full gamepad controls - **Xbox controller support** - Full gamepad controls
- **Configurable graphics** - 2x and 4x scaling options - **Configurable graphics** - 2x and 4x scaling options
- **Automated Mission Bot** - AI-powered gameplay with A* pathfinding - **Automated Mission Bot** - AI-powered gameplay with A* pathfinding
- **Complete script engine** - All 30+ condition and instruction opcodes implemented - **Complete script engine** - All 30+ condition and instruction opcodes implemented
- **CI/CD Pipeline** - Automated builds for Windows, Linux, and macOS
## Screenshots ## Screenshots
@@ -248,36 +251,46 @@ The bot displays its current task in the HUD when active.
``` ```
YodaStoriesNG/ YodaStoriesNG/
├── src/ ├── src/
── YodaStoriesNG.Engine/ ── YodaStoriesNG.Engine/ # Star Wars: Yoda Stories
├── Audio/ # Sound playback ├── Audio/ # Sound playback
├── Bot/ # Automated mission bot ├── Bot/ # Automated mission bot
│ ├── MissionBot.cs │ ├── MissionBot.cs
│ ├── BotActions.cs │ ├── BotActions.cs
│ ├── MissionSolver.cs │ ├── MissionSolver.cs
│ └── Pathfinder.cs │ └── Pathfinder.cs
├── Data/ # Game data structures ├── Data/ # Game data structures
├── Debug/ # Debug tools ├── Debug/ # Debug tools
├── Game/ # Core game logic ├── Game/ # Core game logic
│ ├── GameEngine.cs │ ├── GameEngine.cs
│ ├── GameState.cs │ ├── GameState.cs
│ ├── WorldGenerator.cs │ ├── WorldGenerator.cs
│ ├── MapGenerator.cs │ ├── MapGenerator.cs
│ ├── ActionExecutor.cs │ ├── ActionExecutor.cs
│ ├── SaveGameManager.cs │ ├── SaveGameManager.cs
│ └── NPC.cs │ └── NPC.cs
├── Parsing/ # DTA file parser ├── Parsing/ # DTA file parser
├── Rendering/ # SDL2 renderer ├── Rendering/ # SDL2 renderer
│ ├── GameRenderer.cs │ ├── GameRenderer.cs
│ ├── TileRenderer.cs │ ├── TileRenderer.cs
── BitmapFont.cs ── Palette.cs # Palette animation
└── UI/ # UI components │ │ └── BitmapFont.cs
├── MenuBar.cs │ └── UI/ # UI components
├── TitleScreen.cs ├── MenuBar.cs
├── ControlsWindow.cs ├── TitleScreen.cs
├── DebugMapWindow.cs ├── SaveGameEditor.cs
├── ScriptEditorWindow.cs ├── ControlsWindow.cs
├── AssetViewerWindow.cs ├── DebugMapWindow.cs
── ScoreWindow.cs ── ScriptEditorWindow.cs
│ │ ├── AssetViewerWindow.cs
│ │ └── ScoreWindow.cs
│ │
│ └── IndyNG.Engine/ # Indiana Jones Desktop Adventures
│ ├── Data/ # Game data structures
│ ├── Game/ # Game logic
│ ├── Parsing/ # DAW file parser
│ └── Rendering/ # Renderer with palette support
├── .gitlab-ci.yml # CI/CD pipeline
└── README.md └── README.md
``` ```
@@ -331,6 +344,24 @@ Zone behavior is driven by IACT scripts. All 30+ opcodes are fully implemented.
- `MarkAsSolved`, `WinGame`, `LoseGame` - Game flow - `MarkAsSolved`, `WinGame`, `LoseGame` - Game flow
- `SetCounter`, `RollDice`, `AddHealth` - Game variables - `SetCounter`, `RollDice`, `AddHealth` - Game variables
## CI/CD Pipeline
The project includes a GitLab CI pipeline (`.gitlab-ci.yml`) that:
- **Builds** self-contained executables for all platforms from a single Windows runner
- **Packages** each platform into distributable zip files
- **Deploys** to a network share for release distribution
### Build Artifacts
| Platform | Runtime | Output |
|----------|---------|--------|
| Windows | `win-x64` | `YodaStoriesNG-windows-x64-{version}.zip` |
| Linux | `linux-x64` | `YodaStoriesNG-linux-x64-{version}.zip` |
| macOS | `osx-x64` | `YodaStoriesNG-macos-x64-{version}.zip` |
Each zip contains self-contained single-file executables for both Yoda Stories and Indiana Jones engines.
## Contributing ## Contributing
Contributions are welcome! Please feel free to submit issues and pull requests. Contributions are welcome! Please feel free to submit issues and pull requests.