I added a way to group geometry into platforms that can move up and down depending on game variables' states. I also added a raycast that happens when I press the interact button, so it can detect if a wall contains a switch. The switch can alter the state of game variables, which in turn, cause the stairs/platform/door to raise or lower. It's not fully flushed out yet, right now all game variables are booleans and I need to have more options than that.
I created the platform moving code to be portable and immediately attached it to the editor. If I press the L key now while I have a floor or ceiling selected, it'll Link all of the walls attached to it together. That way, when I tell the plane to go up or down, the wall's extents come with it. This will be a huge time save.
I made everything dynamic in the engine show bright green, that way it's easy to know what's dynamic and what's static.
![](https://uploads.gamedev.net/blogs/monthly_2020_12/71675251dd444a13ba13ebdebd245ea1.image.png)
I'm slowly converting my iterators code into c++11 auto foreach loops. Not sure why I did it the old way first, but I see no reason for it and it fills up the code with iterators.
I continued to futz with the normal map code. I found a much better value to use as a scalar for the calculation and it's now much more realistic.
Here is my scene without normal maps applied
![](https://uploads.gamedev.net/blogs/monthly_2020_12/9660ceeafd694e66a91e78235ea766a3.image.png)
Here is just the lighting, but with normal maps applied
![](https://uploads.gamedev.net/blogs/monthly_2020_12/983bf252a62b46929f51ee29869db640.image.png)
Now all together. The rock wall really stands out more now, and so does the floor.
![](https://uploads.gamedev.net/blogs/monthly_2020_12/50b0e8fde32f41079265c3452ce3042e.image.png)