Skip to content

Store InventoryItems as separate resource files - #2689

Draft
wjt wants to merge 2 commits into
mainfrom
wjt/store-inventoryitems-as-separate-resource-files
Draft

Store InventoryItems as separate resource files#2689
wjt wants to merge 2 commits into
mainfrom
wjt/store-inventoryitems-as-separate-resource-files

Conversation

@wjt

@wjt wjt commented Aug 11, 2026

Copy link
Copy Markdown
Member

Previously we defined InventoryItem resources inline in every scene that
uses them; and we hardcoded the world texture, HUD texture, and colour
for each in the script.

Turn these into properties of the resource. Create 3 on-disk resources
for the memory, imagination, and spirit threads. Add migration code to
collectible_item.gd, and a script to load and save all scenes that reference
collectible_item.tscn. Leave the migration code in-place so that as
out-of-tree quests are merged we can easily update them.

Change the inventory storage to refer to those, rather than saving just
the item type name and reconstructing resources on load.

I think this will make it easier to add collectibles which are not
threads in future, and also to remember which threads have been
collected when loading or replaying a quest, though I haven't attempted
to do that here.

@github-actions

Copy link
Copy Markdown

Play this branch at https://play.threadbare.game/branches/endlessm/wjt/store-inventoryitems-as-separate-resource-files/.

(This launches the game from the start, not directly at the change(s) in this pull request.)

wjt added 2 commits August 11, 2026 11:50
Previously we defined InventoryItem resources inline in every scene that
uses them; and we hardcoded the world texture, HUD texture, and colour
for each in the script.

Turn these into properties of the resource. Create 3 on-disk resources
for the memory, imagination, and spirit threads. Add migration code to
collectible_item.gd, and a script to load and save all scenes that reference
collectible_item.tscn. Leave the migration code in-place so that as
out-of-tree quests are merged we can easily update them.

Change the inventory storage to refer to those, rather than saving just
the item type name and reconstructing resources on load.

I think this will make it easier to add collectibles which are not
threads in future, and also to remember which threads have been
collected when loading or replaying a quest, though I haven't attempted
to do that here.
@wjt
wjt force-pushed the wjt/store-inventoryitems-as-separate-resource-files branch from c1eb4b2 to 5dc4280 Compare August 11, 2026 10:50

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@manuq This is the script I mentioned on #2678

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant