Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Asset management reimplementation #11

Merged
merged 26 commits into from
Oct 13, 2021
Merged

Asset management reimplementation #11

merged 26 commits into from
Oct 13, 2021

Conversation

Mirsario
Copy link
Owner

@Mirsario Mirsario commented Oct 11, 2021

This branch completely rewrites everything related to handling of assets.

Noteworthy changes:

  • Resources class renamed to Assets.
  • Asset is now a sealed generic class that acts as a handle for specific assets, allowing on-demand asynchronous loading and unloading.
  • Custom asset sources can now be added. BuiltInAssets directory is no longer hardcoded.
  • Readers are now done via interfaces, allowing one class to implement support for multiple result types.
  • HJSON is now supported in materials and shaders.
  • DevIL is no longer used due to not being thread-safe in the slightest. Currently its usage is replaced with ImageSharp.

TODOs:

@Mirsario Mirsario added the enhancement New feature or request label Oct 11, 2021
@Mirsario Mirsario self-assigned this Oct 12, 2021
@Mirsario Mirsario merged commit e0e10ed into master Oct 13, 2021
@Mirsario Mirsario deleted the asset_management_remake branch October 13, 2021 19:26
Mirsario added a commit that referenced this pull request Feb 14, 2023
* Removed all resources code, lul.

* Made Asset generic and sealed.

* Sketched most of the design.

* Fixed many things about FileSystemAssetSource.

* AssemblyResourcesAssetSource class

* Added BuiltInAssets asset source.

* Renames

* Immediate loading sketch.

* Autoloading asset readers, + documentation + fixes.

* Allowed readers to use asterisks to accept all extensions.

* Fixed 2 typos.

* Renamed Resources to Assets

* Asset.FromValue -> Assets.CreateUntracked

* Asset & Assets Documentation, renames.

* Fixed the rendering pipeline not requesting assets correctly.

* Assets.Exists, + documentation templates.

* Assets.TryGet + relative path overloads, internalized AssetLookup registration.

* Oops, fixes for the previous commit.

* Support for HJSON in materials and shaders.

* Asynchronous asset loading!

* Updated AudioSource to use asset references correctly.

* Many threading fixes, switched to ImageSharp in favor of DevIL.

* Fixed AudioSource clips not getting requested.

* Fixed random texture corruption.

* Unhardcoded reader registration with another kind of hardcode.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant