avaraline / Avara

Port of the original 1996 game from Ambrosia Software.
MIT License
122 stars 19 forks source link

Asset management #378

Closed rherriman closed 9 months ago

rherriman commented 9 months ago

This seems to work perfectly for loading/storing manifests, default.avarascript files, HULL resources (though I still need to implement/call AssetManager::ReviewPriorities for those...), and BSP files. Still need to implement sound loading and preprocessing (combining sample data and sample header data) and related updates to CSoundHub.

rherriman commented 9 months ago

This branch should now have feature parity with main, and all the old (non-resource fork related) functions have been removed from Resource.h.

Audio code updates were more disruptive than I expected but I seem to have smoothed out the initial kinks, which ultimately resulted in a nicer and potentially speedier design.

Memory usage appears to be on par with main, potentially even a tiny bit lower.

These changes also allow level sets to include audio and hull resources from other sets, which was previously not yet possible in main.