Skip to content

Add AssetBundleManager and resource loader patches - #6

Closed
Segually wants to merge 48 commits into
eris-webserv:mainfrom
Segually:assets
Closed

Add AssetBundleManager and resource loader patches#6
Segually wants to merge 48 commits into
eris-webserv:mainfrom
Segually:assets

Conversation

@Segually

Copy link
Copy Markdown
Contributor

Introduce AssetBundleManager/ModBundle to register plain (non-Addressables) asset bundles from bytes or embedded resources, stage them to disk, load asynchronously and preload/serve prefabs and sprites. Add Harmony prefixes (Assets.Patches.cs) that intercept ResourceControl loader entry points to route prefab/sprite requests to registered mod bundles by full asset key or item name. Update Base.GamePlugin to initialize the new AssetBundleManager and add required usings. Remove the legacy Items.WorldPrefab.cs implementation in favor of the new, more generic bundle-based system.

eris-webserv and others added 18 commits March 11, 2026 01:59
Initialize and wire up two new item systems. Base.GamePlugin now initializes WorldPrefabManager and CraftingInjectionManager (with startup timing logs). Added CraftingInjectionManager which lets mods inject items into vanilla crafting lists via a Harmony postfix on inventory_ctr.GetCraftList; insertions are idempotent and support inserting after a specific item. Added WorldPrefabManager which allows registering AssetBundle prefabs for world-placeable items (keyed by item id or World_obj_path) and patches both overloads of ResourceControl.AsyncInstantiateWorldObjectPrefab to supply mod prefabs, instantiating cached assets safely. Includes simple reset/initialize helpers and Harmony patches to integrate with the game.
Add world prefab and crafting injection managers
Introduce AssetBundleManager/ModBundle to register plain (non-Addressables) asset bundles from bytes or embedded resources, stage them to disk, load asynchronously and preload/serve prefabs and sprites. Add Harmony prefixes (Assets.Patches.cs) that intercept ResourceControl loader entry points to route prefab/sprite requests to registered mod bundles by full asset key or item name. Update Base.GamePlugin to initialize the new AssetBundleManager and add required usings. Remove the legacy Items.WorldPrefab.cs implementation in favor of the new, more generic bundle-based system.
Add out, .git, and /.vs to .gitignore and remove committed Visual Studio workspace/cache files under .vs (DesignTimeBuild, FileContentIndex, v18 DocumentLayout and backup, .suo, .futdcache, ProjectEvaluation binaries). These IDE-specific files are not needed in source control and are being cleaned up.
@Segually Segually closed this by deleting the head repository Jul 11, 2026
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.

2 participants