SMB3-Foundry
SMB3-Foundry copied to clipboard
Refactor LevelObject Into Multiple Classes
trafficstars
Closes #71, #41
- Create
AbstractLevelObjectandLevelObjectare responsible for decoding blocks in the ROM. - Create
BlockGroupRendererrenders a list of blocks into a rectangle. - Create
LevelObjectRendererresponsible for rendering the level objects. The render method was copied and reworked to work with theLeveLObjectRenderer. - Create
LevelObjectAdapterserves as an adapter for the old LevelObject. The adapter is used to try and make everything as compatible as possible with the oldLevelObject. The adapter should be worked out of the editor in the future. - Many refactors to switch to the new
LevelObject. Slight adjustments were made to handle impossible commands and pass tests. - Remove
LevelObjectas it has been replaced.
Additional Information A few unrelated tests for the level renderer mouse movements may have broke. I didn't test those beforehand, but half of those fail, no idea why. Looked at it for a bit and couldn't figure it out.