I copied the level generator from my previous project - SpelunkyDS. It was a development shortcut which I don't regret as it enabled fast growth of the project (and was isolated from the new code through a separate CMake subproject), but I still consider it a major embarrassment as I wrote it at the times where I was only learning on software architecture. This is the rationale for the following refactor.
This MR introduces:
Better software quality of the level module (readability, assertions, no magic-numbers)
Levels can now be parametrized in terms of number of rooms (each room is still 10x10 tiles).
The default is 3x3 rooms, but it can be changed in the TileBatch.hpp. Smallest working size is 2x2, and in terms of huge maps, I only tried 10x10.
I copied the level generator from my previous project - SpelunkyDS. It was a development shortcut which I don't regret as it enabled fast growth of the project (and was isolated from the new code through a separate CMake subproject), but I still consider it a major embarrassment as I wrote it at the times where I was only learning on software architecture. This is the rationale for the following refactor.
This MR introduces:
TileBatch.hpp
. Smallest working size is 2x2, and in terms of huge maps, I only tried 10x10.