So I got some stuff done:
-TriggerItems can get their function assigned via Lego*/Triggers where you put the path to the TriggerItem with : and define their function (for now only exit)
-The MapMesh is reimplemented. A bit more structured this time
-Cursor is able to select a tile (not really select but the tile under the cursor gets highlighted to test the ray-mesh intersecting) (https://www.youtube.com/watch?v=WZvtmtvVuOw)
-The Main-menu overlays have a random delay inbetween
-The rock animation for the menu transitions has been added
-The initial cave in the dugg map gets "expanded" to have a 1 tile wide border of any cliff type, meaning that it will add every neighbour tile until it has a 1 thick border
plans:
-Being able to modify the map and update the mesh accordingly
-Improving the cursor tile highlighting. It currently is a bit iffy. It works but sometimes it doesnt feel like it. Note that i implemented that today. There is probably a better way of doing this. Currently it uses a parametric description of a plane and the ray from the cursor to set up 3 equations (for each component: x,y,z) and solves the system with gaussian elemination.
-Ingame menu (building menu, etc.)
-NERP to lua compatibility. I already have a way of compiling the nerp files to lua. Basically it reuses the function names. I will make a lua file which then binds the function to the new alternative function. Example:
GetEnergyCrystalsStored (nerp) -> function GetEnergyCrystalsStored
GetEnergyCrystalsStored is then defined as:
function GetEnergyCrystalsStored()
return base.crystals
end
regarding registers. They will use global lua variables. So everything should work like intended after compiling to lua
lastly:
-A solid loading system. The idea will be that it first tries to get the assets from the following places. The last with the overrides the ones coming before it:
* WAD files "LegoRRx". Larger x overrides lower x
* "Data" folder
* "LegoRRx" folders. Same order as the WADs.
It might be a good idea to switch around "Data" and "LegoRRx" folders, but that should be an easy fix, as soon as its done