Clean up setting enemy properties and enemy animation
Changes:
This commit cleans up setting enemy properties. It deduplicates code, makes custom levels spawn enemies better (doesn't just pretend it's a certain main game room to set the settings) and makes everything a nice registry.
This is the basis of a future system which might allow for more enemy types to be used in the editor, and even custom enemy types...
But it was mostly done for cleanup, since I hated how the code looked.
This PR also cleans up animation code, since that's a system which is tied into enemy properties. It makes the animation system far more flexible, instead giving entities the option to control what they need, instead of having a bunch of duplicated hardly-readable code.
Relies on #1007.
Legal Stuff:
By submitting this pull request, I confirm that...
- [x] My changes may be used in a future commercial release of VVVVVV
- [x] I will be credited in a
CONTRIBUTORSfile and the "GitHub Friends" section of the credits for all of said releases, but will NOT be compensated for these changes
Conflicts need to be resolved.