49 Commits
Author SHA1 Message Date
Ned HellerandClaude Opus 4.6 34a101c6c0 WebFun parity: combat, AI, health, scripts, and game loop fixes
Bring gameplay closer to the original Yoda Stories engine based on
analysis of the WebFun reference implementation:

Combat:
- Monsters shoot projectiles at hero (same row/col, 4-tile range, 6/7 chance)
- Melee attacks hit 3-tile spread (forward + 2 diagonals)
- The Force stuns NPCs instead of dealing damage
- Killed monsters drop loot items at death position

Monster AI:
- Add Patrol behavior (waypoint-following movement)
- Add Animation behavior (frame cycling without movement)

Health system:
- Scale to 768 HP (3 lives x 256, matching original)
- 3-segment color gradient health gauge (green/yellow/red)
- Proportionally scaled weapon damage values

Script engine:
- Implement Wait instruction (pause/resume next tick)
- Implement HideHero/ShowHero instructions
- Fix RequiredItemIs, EndingIs, FindItemIs, HasAnyRequiredItem conditions
- Fix IsVariable/SetVariable to use XOR addressing

Game loop:
- Double script evaluation per tick (before and after NPC updates)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 13:56:25 -08:00
Ned HellerandClaude Opus 4.5 c893f00373 Fix R2D2 to use correct tile 794 and add inventory click support
- Change TILE_LOCATOR from 512 to 794 (the actual R2D2 tile in zones)
- Remove fake NPC spawning - R2D2 now collected from zone tiles
- Add pickup when player walks over R2D2 tile
- Add left-click on inventory items to select/use them
- Left-clicking R2D2 in inventory triggers hint system
- Add GetInventorySlotAtPosition for mouse click detection

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 23:04:23 -08:00
Ned HellerandClaude Opus 4.5 ccf4341253 Fix R2D2 spawning and extract correct Indy palette from EXE
- Enable R2D2 spawning in Dagobah zones (was commented out)
- Remove auto-give of locator - player must collect from R2D2
- Extract correct Indiana Jones palette from DESKADV.EXE
- Use BGR format for palette data (was incorrectly RGB)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 22:26:21 -08:00
Ned HellerandClaude Opus 4.5 3a26ad262d Fix Indy color animation cycles to match reference
- Update animation cycles: 0xA0-8, 0xE0-5, 0xE5-9 (fast), 0xEE-6, 0xF4-2 (slow)
- Matches webfun reference documentation

Note: Indy palette colors are in game EXE, not DAW file.
Using shared Desktop Adventures palette as fallback.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 22:21:07 -08:00
Ned HellerandClaude Opus 4.5 244893bc26 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>
2026-01-31 22:15:35 -08:00
Ned HellerandClaude Opus 4.5 33322c77a0 Fix deploy to use correct SMB share mount
- Use net use with \192.168.100.22\releases and credentials
- Deploy to R:\$CI_PROJECT_NAME\$CI_COMMIT_REF_NAME
- Clean up drive mapping after deploy
- Manual trigger on main branch

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 21:47:05 -08:00
Ned HellerandClaude Opus 4.5 31fc91d85f Simplify CI to use Windows runner for all builds
- Single build job cross-compiles for win-x64, linux-x64, osx-x64
- Package job creates zip for each platform
- Deploy copies to SMB share \192.168.100.22\pool\releases\YodaStoriesNG
- All jobs run on win10 shell runner

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 21:40:34 -08:00
Ned HellerandClaude Opus 4.5 555cd90829 Fix Windows runner PATH for dotnet
Add dotnet to PATH in before_script for Windows jobs

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 21:27:20 -08:00
Ned HellerandClaude Opus 4.5 309055afed Add deploy jobs for all platforms
- deploy:windows - Uses SMB mount on win10 runner
- deploy:linux - Uses NFS mount on debian runner
- deploy:macos - Uses NFS mount on darwin runner
- All deploy to 192.168.100.22:/pool/releases/YodaStoriesNG
- Files set to 755 permissions

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 21:03:57 -08:00
Ned HellerandClaude Opus 4.5 6ad23ba3d3 Update GitLab CI for actual runner configuration
- Windows: win10 + shell tags (PowerShell)
- Linux: debian tag
- macOS: darwin + shell tags
- Package and deploy on debian runner

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 21:02:57 -08:00
Ned HellerandClaude Opus 4.5 381e057852 Add palette animation and fix Indy colors, add GitLab CI
- Fix palette animation for both Yoda Stories and Indiana Jones
  - Track animated tiles and refresh only those when palette cycles
  - Use streaming texture for dynamic updates
  - Water, lava, and other effects now animate properly

- Fix Indiana Jones palette
  - Load embedded palette from DAW file STUP section
  - Remove incorrect 85% brightness reduction
  - Colors now match original game

- Add GitLab CI/CD pipeline
  - Build unified binaries for Windows, Linux, macOS
  - Package releases into zip files
  - Deploy to NFS share at 192.168.100.22:/pool/releases

- Improve bot mission solving and NPC handling

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 20:37:54 -08:00
Ned HellerandClaude Opus 4.5 3a2649f217 Rename Save Inspector to Save Game Editor with add item support
- Renamed SaveGameInspector to SaveGameEditor
- Window title now "Save Game Editor"
- Menu shows "Save Editor (F8)"
- Added [+] Add Item button to add items to inventory
- Added [+] Add Weapon button to add weapons

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 17:16:30 -08:00
Ned HellerandClaude Opus 4.5 27690e51a3 Fix R2D2/Locator and improve Save Inspector
- R2D2/Locator now given automatically at game start (original behavior)
- No LocatorItem zone objects exist in Dagobah - R2D2 was never placed
- Disabled bot auto-start to allow manual testing
- Save Inspector: variables now show names (OnDagobah, ZoneInit, ZoneSolved, etc.)
- Save Inspector: inventory and weapons are now editable
- Save Inspector: improved status bar shows edit state

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 17:14:38 -08:00
Ned HellerandClaude Opus 4.5 6e61d1d1f8 Add Save Inspector editor and fix bot R2D2 navigation
- Save Inspector now editable: click yellow fields to edit values
- Added SaveGameManager.SaveGameData() for direct save file editing
- Press Ctrl+S to save edits, Enter to apply, Escape to cancel
- Status bar shows unsaved changes state

Bot improvements:
- Added GetDirectionTowardZone() for multi-zone BFS pathfinding
- Bot now navigates to R2D2's zone if not directly adjacent
- Block X-Wing positions at startup to prevent accidental travel
- Added debug logging for R2D2 search diagnostics

New debug windows:
- Zone Editor (F9) for viewing zone tiles and objects
- Save Inspector (F8) for editing save game data

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 17:04:06 -08:00
Ned HellerandClaude Opus 4.5 3582939f53 Add native Windows menu bar and improve bot intelligence
Menu System:
- Add NativeMenuBar using Win32 API for proper DPI/scaling support
- Native menus work correctly at all graphics scales (1x, 2x, 4x)
- Uses WndProc subclassing to intercept WM_COMMAND messages

Bot Improvements:
- Increase stuck threshold from 3s to 5s to reduce false positives
- Increase max stuck retries from 5 to 10
- Increase zone exit attempts from 3 to 10 before marking blocked
- Make blocked zone exits temporary - retry after visiting 3 other zones
- Clear unreachable positions when entering new zones
- Better zone change tracking for retry logic

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 09:48:46 -08:00
Ned HellerandClaude Opus 4.5 e539ef1ea4 Add inventory scrolling and weapon ammo system
- Inventory panel now shows 16 slots (4x4 grid) with scroll support
- Added mouse wheel scrolling when hovering over sidebar
- PageUp/Down and [/] keys scroll inventory
- Number keys 1-9,0 work with scroll offset

Weapon ammo system:
- Light blasters: 30 ammo, 50 damage
- Heavy blasters: 15 ammo, 75 damage
- The Force: unlimited ammo
- Grenades/bombs: single-use, 100 damage
- Ammo bar displayed in HUD next to weapon slot
- Weapons auto-switch when depleted
- Save/load persists weapon ammo state

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 02:18:01 -08:00
Ned HellerandClaude Opus 4.5 040652b267 Add high scores, bot R2D2 priority, and menu updates
- Add HighScoreManager to save/load scores per game type
- Add HighScoreWindow with tabs for Force Factor and Indy Quotient
- Add "High Scores" menu item under About
- Save high score when completing 15-mission cycle
- Bot now prioritizes picking up R2D2/locator at game start
- Update About menu text to "Desktop Adventures NG"

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 01:55:27 -08:00
Ned HellerandClaude Opus 4.5 3e3f0b6823 Fix UI bugs: menu scaling, file dialog, button sizes
- Fix menu mouse offset at different scale factors (divide by scale)
- Add .daw filter to data file dialog for Indiana Jones
- Fix About window size and legal notice text
- Fix Reset Defaults button size in keyboard controls
- Fix README F-key assignments (F2=Map, F3=Script, F4=Asset)
- Update About window title to "Desktop Adventures NG"

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 01:51:32 -08:00
Ned HellerandClaude Opus 4.5 4fc6ecbd4f Improve README with Indy-specific content and screenshot placeholders
- Add separate world generation sections for Yoda and Indy games
- Add dual-column ratings table with game-specific titles
- Fix ScoreWindow to show Indy Quotient ratings for Indiana Jones
- Add screenshot placeholders for new features (score screen, palette, R2D2)
- Note that Mission Bot is currently Yoda-specific
- Fix graphics scaling consistency (2x/4x)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 01:36:34 -08:00
Ned HellerandClaude Opus 4.5 48cb980ca7 Add Indiana Jones support, palette animation, and score system
- Add dual game support for Yoda Stories (.dta) and Indiana Jones (.daw)
- Implement color palette cycling animation for water, lava, fire effects
- Add Force Factor / Indy Quotient end-game score calculation and display
- Add ScoreWindow with ratings (Legendary Hero to Beginner)
- Implement R2D2 context-sensitive help system with GetR2D2ContextHint()
- Complete all 30+ script opcodes (EnterByPlane, HeroIsAt, hotspots, etc.)
- Update README with new features and score system documentation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 01:30:52 -08:00
Ned HellerandClaude Opus 4.5 90d6625321 Add edit mode to Script Editor
- Press E to toggle edit mode (view/edit)
- In edit mode, click on condition or instruction text to edit
- Text editing with cursor navigation (arrows, Home, End)
- Enter to save changes, Escape to cancel
- Visual highlighting of editable items in edit mode
- Status bar shows edit mode state and unsaved changes
- Supports shift for uppercase and common symbols

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 01:16:48 -08:00
Ned HellerandClaude Opus 4.5 84a133a2c7 Add Indiana Jones Desktop Adventures support
- Add GameType enum to distinguish Yoda Stories vs Indiana Jones
- Update DtaParser to detect game type from filename (DESKTOP.DAW vs YODESK.DTA)
- Add secondary detection from version field (1.x = Indy, 2.x = Yoda)
- Update Program.cs to search for both game data files
- Update GameEngine to use game-specific window title and weapon tiles
- Update TitleScreen to support game-specific fallback text
- Rename X-Wing flyby to generic vehicle flyby for future Indy support

Ref: https://github.com/IceReaper/DesktopAdventuresToolkit

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 01:12:55 -08:00
Ned Heller b60b102d69 Add webfun-reference to gitignore 2026-01-31 01:05:53 -08:00
Ned HellerandClaude Opus 4.5 83d3123a22 Implement 15-mission progression with weapon upgrades
Weapon Progression:
- Start with basic lightsaber (tile #18)
- After 5 missions: Yoda gives upgraded lightsaber (tile #510)
- After 10 missions: Yoda gives The Force (tile #511)
- After 15 missions: Victory screen, cycle complete

The Force:
- Added as ranged weapon (can attack from a distance)
- Uses same lightsaber animation for melee appearance
- Projectile spawns when attacking with The Force

Mission Flow:
- Each mission completion returns to Dagobah
- Yoda gives weapon upgrades at milestones (5, 10)
- Progress tracked as X/15 missions
- Press R to start next mission or new cycle

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 01:05:42 -08:00
Ned Heller 8407a16456 Remove accidentally added embedded repository 2026-01-31 01:01:43 -08:00
Ned HellerandClaude Opus 4.5 bf54402c5c Keep menu bar at fixed size regardless of graphics scale
- Added DisableLogicalSize/RestoreLogicalSize methods to GameRenderer
- Menu bar now renders without SDL logical scaling
- Menu stays at consistent physical size when switching between 1x/2x/4x
- Added CurrentScale property to track current graphics scale

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 01:01:30 -08:00
Ned HellerandClaude Opus 4.5 79dca9f0e3 Add About popup window and fix X-Wing flyby rendering
About Window:
- New popup window with game info, version, and legal notice
- Clickable GitHub link to sp00nznet/YodaStoriesNG
- Removed "GitHub Repository" menu item
- Legal notice explaining fan project status

Title Screen:
- X-Wing now flies IN FRONT of the logo instead of behind
- Fixed visual issue where X-Wing disappeared into space background

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 00:59:47 -08:00
Ned HellerandClaude Opus 4.5 06673ec001 Add X-Wing flyby animation and allow starting without DTA file
Title Screen:
- Add X-Wing flyby animation using actual game tiles (948-951)
- X-Wing flies across screen with slight wave motion
- Add twinkling star field background
- Stars use pseudo-random positions with brightness animation

Startup Flow:
- Game no longer requires DTA file to be in expected location
- If DTA file not found, prompts user with file picker dialog
- Program.cs shows informative message instead of exiting with error
- Allows sharing the executable without bundled game data

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 00:49:22 -08:00
Ned HellerandClaude Opus 4.5 94258da064 Add editable keybindings, 1x scale, screenshots, and UI fixes
- Add KeyBindings system with JSON persistence to %APPDATA%
- ControlsWindow now allows clicking to rebind keys (click left/right for primary/alternate)
- Press DEL/Backspace to clear a binding, Reset Defaults button to restore
- Add 1x graphics scale option (original tile size) alongside 2x and 4x
- Fix Asset Viewer click handling - MenuBar now checks window ID
- Add RenderSetLogicalSize at initialization for consistent scaling
- Add screenshots to README (title, gameplay, world map, script editor, asset viewer)
- Remove placeholder comments from README

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 00:44:58 -08:00
Ned HellerandClaude Opus 4.5 b76b2cbb17 Add Windows file dialogs for Save/Load and data file selection
- Add FileDialogHelper.cs with P/Invoke to Windows common dialogs
- Save Game (quick save) saves to default location
- Save As... shows file picker for custom save location
- Load Game loads from default file, or shows picker if not found
- Select Data File shows Windows file picker for .dta files
- Menu updated with separate Save/Save As options

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 00:29:11 -08:00
Ned HellerandClaude Opus 4.5 0308c43500 Add UI system, config menu, and X-tra Large world support
Major new features:
- Menu bar with File/Debug/Config/About menus
- Title screen with game startup image from STUP section
- Config menu with 2x/4x graphics scaling (SDL_RenderSetLogicalSize)
- Controls window showing keyboard and Xbox controller mappings
- Save/Load game functionality with JSON serialization

Debug tools:
- Map Viewer (F4) shows full world grid with zone types
- Script Editor (F3) for browsing IACT action scripts
- Asset Viewer (F2) for tile and character browsing

World generation:
- X-tra Large world size with 15x15 grid support
- Dynamic grid sizing in MapGenerator and WorldGenerator
- Scaled puzzle counts for larger worlds

Technical improvements:
- Graphics scaling using SDL_RenderSetLogicalSize for proper content scaling
- Dynamic grid size support throughout codebase
- Updated README with comprehensive documentation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 00:24:55 -08:00
Ned HellerandClaude Opus 4.5 8418ba5c3e Add The Force placement and 15 mission cycle
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 21:44:17 -08:00
Ned HellerandClaude Opus 4.5 42d33d400a Update README with debug tools and bot documentation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 21:09:42 -08:00
Ned HellerandClaude Opus 4.5 5c0cd9009f Add debug tools, map visualizer, and bot improvements
Features:
- Debug tools (press I): dumps game state, zone info, IACT scripts,
  inventory, and mission progress to console
- Map visualizer: shows 10x10 world grid with sector types on startup
- SectorType enum matching WebFun's world generation system
- TypeMap and OrderMap for proper puzzle placement tracking

Bot improvements:
- Permanent blocklist for X-Wing positions to prevent teleport loops
- Committed exploration targets to prevent zone switching
- Fixed state overwriting in MoveToAdjacent
- Added FindTileItem() for tile-based item detection

Also includes:
- IndyNG.Engine scaffold for Indiana Jones Desktop Adventures
- Enhanced DtaParser with better tile name extraction

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 21:08:44 -08:00
Ned HellerandClaude Opus 4.5 1d962c20ce Fix zone selection and add bot diagnostics
- Filter planet grid to only use 18x18 outdoor zones (exclude 9x9 rooms)
- Add room exit detection in MissionSolver
- Auto-start bot for debugging
- Add zone grid visualization
- Improve zone connection logging
- Fix HandleBotAction direction handling

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 16:37:02 -08:00
Ned HellerandClaude Opus 4.5 1d10d368a3 Fix bot zone transitions and puzzle parsing
- Fix HandleBotAction to use direction when coords are (0,0)
- Fix edge detection mismatch in MissionBot (use consistent <=2 threshold)
- Update puzzle parser to look for IPUZ markers inside PUZ2 section
- Add debug logging for zone connections
- Improve puzzle chain building with zone filtering
- Add FUTURE_FEATURES.md for WebFun-style development tools

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 16:25:33 -08:00
Ned HellerandClaude Opus 4.5 3d3cb2920a Fix bot exploration and add hostility detection
- Track unreachable NPCs to avoid infinite retries
- Clear unreachable list when changing zones
- Add name-based hostility detection for NPCs
- Check top layer tiles for walkability
- Fix MissionSolver to skip likely hostile NPCs by name patterns

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 15:52:07 -08:00
Ned HellerandClaude Opus 4.5 0087c9399a Add automated mission bot for gameplay automation
New Bot system with:
- Pathfinder.cs: A* pathfinding for zone navigation
- BotActions.cs: Action execution (move, attack, talk, use item)
- MissionSolver.cs: Mission logic and puzzle chain tracking
- MissionBot.cs: Main orchestrator with state machine

Features:
- Press B to toggle bot on/off
- Bot status bar display when active
- Automatic mission progression (talk to Yoda, travel, solve puzzles)
- Combat detection and enemy engagement
- Stuck detection and recovery
- Console logging for debugging

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 15:48:36 -08:00
Ned HellerandClaude Opus 4.5 39fa596831 Add mission system, widescreen UI, and Xbox controller support
Major features:
- Mission/quest system with puzzle chains (Trade/Use/Goal puzzles)
- IZAX entity parsing for NPC item handoff (fixes R2D2 pickup)
- Widescreen layout with sidebar HUD
- Xbox controller support with analog stick movement
- Parser fixes for variable argument counts

UI changes:
- Game area (576x576) with 220px sidebar on right
- Inventory grid (2x4 layout) in sidebar
- Controls help section in HUD
- Messages/dialogue stay in game area

Controller mapping:
- Left stick/D-pad: Move
- A: Action, B: Cancel, X: Travel, Y: Objective
- LB/RB: Toggle weapon, Start: Restart

Also adds README with project documentation.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 23:05:40 -08:00
Ned HellerandClaude Opus 4.5 4e25a83b5f Fix feedback for attacks, inventory, and zone navigation
- Add swing feedback when attacking empty space
- Show message when selecting empty inventory slot
- Show selected item name when selecting inventory
- Give player starting weapon (lightsaber)
- Show zone summary (NPC count, item count) on entry
- Add welcome message with hints
- Clear messages on new game

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 17:51:38 -08:00
Ned HellerandClaude Opus 4.5 a185bb6309 Add message system, sound manager, and NPC dialogue
Message System:
- Add MessageSystem class for displaying game messages
- Support for Info, Pickup, Combat, Dialogue, and System messages
- Timed messages with fade out
- Dialogue box with dismiss on Space

Sound Manager:
- Add SoundManager class for audio playback
- Sound loading and mute toggle (M key)
- Common sound effect IDs defined

NPC Dialogue:
- Friendly NPCs can be talked to with Space
- Random dialogue responses from NPCs
- NPCs face player during conversation

Visual Feedback:
- Pickup messages when collecting items
- Combat hit/defeat messages
- Zone entry notifications
- Game over message

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 17:46:28 -08:00
Ned HellerandClaude Opus 4.5 e5ded23611 Add visual feedback and zone info display
- Add zone info bar at top showing planet indicator
- Add damage flash overlay (red) when player takes damage
- Add attack flash overlay (yellow) when player attacks
- Planet-colored indicators for different worlds
- Visual polish for combat feedback

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 17:37:01 -08:00
Ned HellerandClaude Opus 4.5 f374b67002 Improve HUD and add zone item rendering
- Improved HUD with scaled inventory slots and weapon slot
- Add zone item rendering (CrateItem, CrateWeapon)
- Track collected objects per zone to prevent re-pickup
- Items disappear from ground once collected
- Highlight selected item in inventory
- Show weapon in dedicated slot on left

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 17:34:37 -08:00
Ned HellerandClaude Opus 4.5 160db43c22 Add NPC AI movement and combat system
- Add NPCBehavior enum (Wandering, Chasing, Fleeing, Stationary)
- Implement NPC AI movement patterns
- NPCs wander within radius of spawn point
- Enemy NPCs chase and attack player
- Add player attack system (Space key)
- NPCs take damage and can be defeated
- Set NPC behavior based on character type (Enemy/Friendly)
- Apply character weapon/aux data for health and damage

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 17:31:34 -08:00
Ned HellerandClaude Opus 4.5 55428551bf Clean up verbose debug output in parser
Remove excessive console logging to make output cleaner while
keeping essential loading statistics.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 17:27:34 -08:00
Ned HellerandClaude Opus 4.5 cac04f7509 Add NPC rendering system
- Add NPC class to track NPC instances in zones
- Parse zone objects with correct 12-byte format
- Render NPCs using character sprites or direct tile IDs
- Initialize NPCs from PuzzleNPC zone objects
- Track NPC list in GameState for each zone

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 17:25:09 -08:00
Ned HellerandClaude Opus 4.5 52021c9031 Improve hero rendering and zone transitions
- Use character 0 (Luke Skywalker) as hero fallback
- Add spawn point detection when loading zones
- Improve door transitions to find matching entrance points
- Add character debug output showing names and tile IDs

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 17:10:04 -08:00
Ned HellerandClaude Opus 4.5 6de8bbb63a Fix zone and character parsing
- Rewrite zone parsing to scan for IZON markers instead of using broken length fields
- Fix character parsing to read 84-byte chunks without count field
- Add proper section length handling for CHWP, CAUX, TNAM sections
- Now loads 658 zones and 77 characters correctly

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 17:04:22 -08:00
Ned HellerandClaude Opus 4.5 b8feea2c74 Initial implementation of Yoda Stories NG engine
- SDL2-based rendering with tile atlas
- DTA file parser for tiles, zones, sounds, puzzles
- Correct color palette from goda-stories project
- 658 zones loading and rendering correctly
- Basic game loop with zone navigation (N/P keys)
- HUD with health bar and inventory slots

Still needs: character parsing, IACT scripts, gameplay mechanics

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 16:56:21 -08:00