Main menu updates

Well, another "long time no see". I'm still working on the project as much as I can. But it's not a steady work. During summer I was doing some other things (like bike touring) and mostly work.

So, what's new? Well the main menu is working. While working on it the need arise for some sort of "mockups" components for various asset and mockup manager. Let me explain why. Because the assets of JA2 are proprietary, it means that you need to extract and build the asset bundles by yourself. Therefor all the assets in the GameObjects needs to be referenced indirectly (because they may not exist yet). This is where mockup come on scene. The mockups are just references to the real assets (like pointers in C++). And when the scene is loaded, the mockup manager primary role is to load the real assets from the mockups.

Also, the main menu is implemented using Aspid.MVVM package (MIT licensed). Some other minor changes is custom ScriptedImporter for .pcx and .sti (STCI) images. At first, the STCI was extracting solo textures + sprites, but it wasn't ideal. Now, the STCI asset contains the texture and sprite sub-assets.



Another major change was rewrite of the GameState (and therefor ScriptableObjectRuntime) to be able instantiate GameObjects on it's own. This was needed, because the main camera isn't per scene anymore, but just one global. This was needed to simplify the code. Another import change was, that the Bootstrap scene IS ALWAYS started as first and from there it is switched to the current opened scene in the editor. This was also needed, because in Bootstrap some initialization code is done which needs to be run always. And as always lot of bug fixing, refactoring and so long.

Main Menu 


So, the main menu is working - that is, all the images are shown, buttons are working too and music plays! The next step is to implement the credits. Why credits? Because there I need to test font handling and some animations.

Comments

Popular posts from this blog

Project reborn

Changes to string handling - UTF-8