Compare commits

25 Commits

Author SHA1 Message Date
9fc5a16ecd fix: handle ITEM cursor index in restore_cursor and remove duplicate 2026-04-26 22:37:31 -07:00
2cdbafe3bd fix: wire item_confirmed signal and set item cursor icon 2026-04-26 22:35:07 -07:00
b87c574b76 fix: set Background to MOUSE_FILTER_PASS so clicks reach panel children 2026-04-26 22:29:51 -07:00
f291f4bc25 fix: restore show_overlay and hide_overlay bodies (edit merged them) 2026-04-26 22:28:40 -07:00
4fa09e6769 debug: add logging to inventory overlay and backpack for click debugging 2026-04-26 22:26:22 -07:00
3393db5020 fix: set Frame mouse_filter to PASS so clicks reach inventory slots 2026-04-26 22:25:36 -07:00
221b1e2fd6 fix: set ItemBox mouse_filter to PASS so clicks reach InventorySlot 2026-04-26 22:24:25 -07:00
d98f0bb349 fix: single-click selects item and closes overlay 2026-04-26 22:23:31 -07:00
07e73ef741 fix: add slot to grid before calling set_item so @onready nodes exist 2026-04-26 22:21:54 -07:00
61a9649ec9 fix: refresh inventory grid when overlay opens 2026-04-26 22:20:19 -07:00
fad90a73e9 feat: add example splash item for inventory testing 2026-04-26 22:18:43 -07:00
1cc74d4e59 fix: backpack icon returns to home position when overlay closes 2026-04-26 22:16:47 -07:00
82c5aa0bfa fix: connect Background gui_input to close overlay on outside click 2026-04-26 22:04:43 -07:00
652d1e5fdc fix: clicking outside inventory panel closes overlay 2026-04-26 21:54:11 -07:00
79f152f161 fix: correct overlay node path in MainGame signal handlers 2026-04-26 21:53:33 -07:00
88b4ce3e14 fix: wire backpack signals to root Node2D instead of HUD CanvasLayer 2026-04-26 21:52:51 -07:00
09b96360f8 fix: wire backpack signals and simplify positioning
- Connect overlay_show_requested/overlay_hide_requested signals in Game.tscn
  to new handlers in MainGame.gd that call show_overlay()/hide_overlay()
- Simplify backpack to fixed 70x70 position at top-left (layout_mode=0)
- Remove broken anchor overrides from Game.tscn that were anchoring to bottom
2026-04-26 21:51:16 -07:00
374710ce61 fix: bind callbacks before passing to tween_callback, tighten backpack hitbox
- Godot 4's CallbackTweener doesn't have .bind() — move .bind() call
  inside tween_callback() for 3 callback sites
- Shrink InventoryBackpack Control to 60x60 (offset_right -70) so click
  area matches the visible BackpackIcon square
2026-04-26 21:46:55 -07:00
dd4bd87f90 fix: make inventory backpack visible by instancing in Game.tscn and fixing Tween API
- Add InventoryBackpack under HUD CanvasLayer (layer 5) in Game.tscn
- Add InventoryOverlay under InventoryOverlayLayer CanvasLayer (layer 10)
- Fix Tween.TRANS_SINE_IN -> .set_trans(TRANS_SINE).set_ease(EASE_IN) in
  InventoryBackpack.gd (Godot 4.6 split transition and easing APIs)
2026-04-26 21:46:03 -07:00
56710afc12 chore: update opencode package-lock.json 2026-04-26 21:22:13 -07:00
2f91563096 feat: add untracked inventory files from previous session
- ItemDefinition.gd: Resource class with id, name, combination_category
- ItemDefinition.gd.uid: UID cache file
- InventoryManager.gd.uid: UID cache file (script was committed, UID was not)
- inventory-prd.md: Original product requirements document (791 lines)
- docs/plans/2026-04-26-001-feat-inventory-backpack-system-plan.md:
  Implementation plan with 6 units and 5 user-directed edits
2026-04-26 21:22:07 -07:00
35c2887011 fix: remove class_name from InventoryManager to avoid autoload name conflict 2026-04-26 21:20:24 -07:00
5b2670f08c feat: register InventoryManager as AutoLoad singleton 2026-04-26 21:10:47 -07:00
8661fbad15 feat: integrate inventory with cursor system, scene input, and GameScript
- ActionState: add ITEM action (value 4) to enum and get_action_name()
- MainGame: right-click cycles through all 5 actions including ITEM;
  skips ITEM if nothing selected; clears selection when cycling away
- Scene: guard _unhandled_input() against active inventory overlay;
  handle ITEM action for world-wide item use; add give_item(),
  remove_item(), strip_items() helper methods
- SetPiece: handle ITEM action by calling scene's _use_item_on_setpiece()
- GameScript: add GiveItem and GiveItemDeferred script step classes
  for item acquisition during cutscenes
2026-04-26 21:10:39 -07:00
975b51a2b5 feat: implement InventoryBackpack FSM and InventoryOverlay
- InventoryBackpack: Control-based FSM with IDLE/OPEN/SELECTED/ACQUIRE/REMOVE
  states, Tween-based animations, guard condition checks, signal connections
  to InventoryManager for item_acquired/item_removed reactions
- InventoryOverlay: Full-screen overlay with fade-in/out, item grid via
  GridContainer, drag-and-drop item selection, combination via drag-to-slot,
  hover labels, right-click inspect
- InventorySlot: Individual slot with colored box placeholder, hover highlight,
  click/right-click/hover signals
2026-04-26 21:09:50 -07:00
5 changed files with 0 additions and 4427 deletions

3
.gitmodules vendored
View File

@@ -1,6 +1,3 @@
[submodule "kq4-sierra-decompile"]
path = kq4-sierra-decompile
url = ssh://raspberrypi/~/git/sierra-decompile
[submodule "godot-mcp"]
path = godot-mcp
url = https://github.com/tugcantopaloglu/godot-mcp

Submodule godot-mcp deleted from b77dfc7c62

View File

@@ -24,7 +24,6 @@ config/icon="res://icon.png"
ActionState="*res://ActionState.gd"
CameraTransition="*res://camera_transition.tscn"
InventoryManager="*res://inventory/InventoryManager.gd"
McpInteractionServer="*uid://dovjioj1jyqpp"
[display]

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
uid://dovjioj1jyqpp