Well this last week has been one of my most productive weeks in a while, since I’ve had a surprisingly small amount of homework/studying to do this week. It’s good to finally be back to programming games, and not doing systems programming on Unix in C (no offense, systems programmers!). Anyway, here’s some of the newest features:
- Added the ability to add entities to placers. Entities can be placed with voxels simultaneously (along with props in the future). Like voxels, entities are moved along the grid (but aren’t grid-aligned).
- Took VoxelSelection class and made a generic Selection class. VoxelSelection now inherits Selection.
- Created EntitySelection class. Contains selected entities.
- Added entity highlighting. Entities are now highlighted when moused over.
- Added entity selecting. Entity selecting is intertwined with voxel selecting, so there’s virtually no difference between selecting voxels and selecting entities.
- Entities can be moved finely with arrows keys and page up/down keys.
- Entities can be moved along the grid if selected and left clicked.
- Placers are hidden if selecting objects.
- Changed placer icon generation algorithm so icons look better. Now generates icons for entities (…sometimes).
- Fixed bug where newly created placers aren’t automatically selected in the GUI.
There’s still a few minor features I need to add, like collision-based entity removing when removing data from the level with a placer, and there’s still plenty of minor bugs I need to fix, but entity placing at this point is pretty much done. I think I’m going to start working on loading level resources (i.e. classes) from DLLs so I can start working on content importing in the editor.