Store InventoryItems as separate resource files - #2689
Draft
wjt wants to merge 2 commits into
Draft
Conversation
|
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.) |
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
force-pushed
the
wjt/store-inventoryitems-as-separate-resource-files
branch
from
August 11, 2026 10:50
c1eb4b2 to
5dc4280
Compare
wjt
commented
Aug 11, 2026
Member
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.