I have fixed the horizontal scaling. However, it looks like vertical scaling of terrain is not supported. Something should be done to resolve this or prevent the user from creating the situation, but I am not sure what yet...
Yeah, currently the first call to CreateFramebuffer() triggers the Vulkan initialization, but since Vulkan is headless it would probably be possible to change this without much trouble...
Okay, I found there was a small error in the terrain texcoord calculation, which caused heightmap lookups to be half a pixel off. This caused a mismatch between the visual and physics geometry. I will continue working on this tomorrow, but I suspect everything will work out correctly now.
It's a small block of code that adds this behavior that is easy to comment out. I think I will remove this for the initial release and it can be explored in the future.
Fixed bug where selection highlight in viewports would stop working if a model was opened in an asset window.
Fixed bug where converting textures to optimized formats would not detect normal and displacement maps and choose the correct compression format.
Fixed crash when loading Leadwerks maps with terrain.
Fixed terrain layer constraints and scale not loading.
Fixed typo in main menu file that was leaving out the shift modifier, which would cause you to accidentally switch mouse tools.
The approach of streamlining the import of existing assets, rather than creating a big repository of ready to use content, is definitely much more powerful.
VR will be implemented after the initial release. It's high priority, but I figure people will be busy learning the new engine at first so it can wait for now.
Regarding multiplayer, I recommend using the Steam peer-to-peer networking system:
https://partner.steamgames.com/doc/features/multiplayer/networking
I did not bother including the old ENet-based stuff because it's not really useful with modern networks. It was only in Leadwerks because that's how the Lua debugger communicated with the game.
If you are using a compressed texture format then the smallest mipmap should be 4x4.
while (w > 4 and h > 4) do
w = math.max(4, w / 2)
h = math.max(4, h / 2)
mipmap = mipmap:Resize(w,h)
table.insert(mipchain,mipmap)
end
I don't understand this.