Maybe it's the fault of ImGui
ah i thought you were questioning why spawn/guard markers bleed into the squad list from the perspective of coding
Thanks

I made some improvements to the ground importer to make it more complete while keeping it simple to use (I hope).
Since my editor can now add names to objects, I thought they I could use names as identifiers to the grounds during import/export.
The names are also exported to the OBJ.
That way, you can for example give some ground a name in Blender, export and import to the editor, it will add it to the level.
But then we you decide to change the ground, just modify it in Blender, keep the same name and reexport+reimport.
If the editor detects that a ground of same name was already imported, it will replace it instead of adding a new one.
This should make editing of groups very simple to use, without having to worry about deleting old grounds each time you want to modify something etc.
And yes you can now import walls, there is a limit though (have to be vertical quads, etc.) but I can't do much since it's how walls are represented in the game.
I had ideas to detect walls made of triangles but that would make things more complicated than it needs to be.
How would you go about adding Infinite walls?
I fear that having to remind that walls have to be vertical could lead to confusion, and make designing collisions a bit more time consuming and annoying, but hopefully we can get used to.
For infinite walls, there are multiple ways I could implement:
- add them on outer edges of the ground's mesh if they didn't have a wall already, but then we would need to be able to mark outer edges where we don't want an infinite wall (for example a sector ground that leads to a common sector ground etc.)
- simply turn finite walls with high heights to infinite walls.
But I feel like infinite walls aren't that useful imo, especially for making entirely new levels, as you could as well make high finite walls instead.
And I'm sure there wouldn't be any performance drop compared to infinite walls, since the height of the wall is probably only used and checked when you touch the wall (note I'm not sure how the engine does wall collision checking, but if I would implement it I think performance wouldn't make much difference).