Skip to content

add a bunch of stuff - #9

Open
Segually wants to merge 8 commits into
eris-webserv:mainfrom
Segually:done
Open

add a bunch of stuff#9
Segually wants to merge 8 commits into
eris-webserv:mainfrom
Segually:done

Conversation

@Segually

Copy link
Copy Markdown
Contributor

sorry im a bitch and i acidentaly deleted my repository this thing has everything so please jhdrfihdfjiohdfji

Segually added 8 commits May 21, 2026 18:52
Introduce a new entity subsystem to support custom creatures.

- Add CreatureManager and Creature classes (Entities.Systems.cs) with: resource registration from embedded .png/.txt pairs, sprite byte loading and Texture2D->Sprite creation, caching, and helper methods to query data lines and names.
- Add Harmony patches to integrate custom creatures into the game: intercept ResourceControl.GetTextFileLines, override AssignCreatureSprite, hook into CreatureMorpher list generation and LoadPlainCreatureFromDisk, add breeder UI integration and random creature selection.
- Wire up initialization in Base.GamePlugin.cs: initialize CreatureManager and log its startup time.
- Add placeholder namespaces files: Entities.Events.cs and Entities.Interfaces.cs.

This change enables packaging custom creature definitions and images as embedded resources and integrates them into existing game lists/UI via runtime patches.
Move creature-related types and logic out of Entities into a new Creatures namespace and folder. Adds Creature and CreatureManager (resource registration, sprite caching, and multiple Harmony patches) in HAModHelper.GamePlugin/Creatures and updates Base.GamePlugin to reference Creatures.Systems. Leaves the old Entities.* files emptied/stubbed. Also adds Visual Studio workspace/metadata files (.vs) generated by the IDE.
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.
Introduce a runtime InteractableManager system to let mods register placed objects as chairs, beds, crafting stations, or custom interactables. Adds Items.Interactables.cs implementing InteractableRegistration, InteractContext, InteractableManager, and Harmony patches: a player_interact prefix to dispatch registered behaviours and a shared postfix on InventoryUtils.IsXObject predicates to classify registered ids. Base.GamePlugin.cs was updated to initialize the manager during startup. Note: the Base.GamePlugin.cs edit currently contains unresolved merge conflict markers (<<<<<<< / >>>>>>>) that need to be fixed.
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