February 21, 2021
This passed week I worked on an asset compilation plugin that iterates over all of the
items in the
items.yml definition file and generates icons for them.
A big part of this workstream is refactoring out code from the
game-app crate into a more general
purpose crate so that the
item-icon-plugin, as well as other future plugins, can easily render
Along the way I began to port the
game-app crate to the new approach to loading and storing assets.
In short, most of the work here is to refactor and move existing logic until it is easily re-usable from anywhere.
- The new asset loading process relies on typetag, but
typetagdoes not work when targeting WebAssembly. So I will need to move away from it.
I hope to finish the item icon generation asset compilation plugin by the next journal entry.
After that I will make some changes to how textures are loaded and buffered at run-time in order to set a foundation for being able to load and unload individual textures on the fly.
Currently all textures are packed into assets during asset compilation. This means that you have to download a bunch of textures that you are not using.
After my changes texture atlases will be created at run-time with only the textures that you need.
I will be back next week. Goodbye for now.