BU-CS673/bubolo — pull request #171 by Nesciosquid (2014-03-19 21:47:57+00:00)
Title: Aaron

Sorry for one huge commit, but here goes...

* Added new textures for nearly everything in the game.
* Standardized texture format and structure.
* Wrote up description of Entity texture/hitbox relationship, see https://docs.google.com/spreadsheet/ccc?key=0AoeHdFX0n-2WdC1Gb3FoMFZwaDdIc1o1X2tGZ3E3Ync#gid=0"
* Created TextureUtil class, which parses standardized-format textures.
* Parses any standardized texture into 'frames', which can be used for animations, tiling states, etc.
* Wrote texture parsers for our three adaptive tiling layouts (4x4, 3x3, 4x4 +3x3 + 3x3)
* Created TextureFormatException, which is thrown when the automated parser doesn't know what to do with a texture, usually beacuse the texture is formatted wrong or has empty space in it.
* Added the Effects Entity subclass, moved Bullet to it, and added the MineExplosion and GenericExplosion entities.
* Modified DrawLayer to add Effects layer, split Terrain into two sublayers, added a Background layer, and re-named OBJECTS to STATIONARY_ENTITIES. It's ugly, but at least it's accurate.
* Man was renamed to Engineer, and was given his own spiffy animations for running and building.
* Modified many concrete Sprites to use new texture utility, frames, and Ownable information.
* Added states to several classes
* Created the Ownable interface for objects that can belong to a player (Tanks, Engineer, Bases, Pillboxes, Mines...)
* Created the Adaptable interface for objects that follow our adaptive tiling scheme (Wall, Crater, Water, Deep Water, more to come...)
* Added simple animation-cue states to Tank, Engineer, Mine, Base (Exploding, Running, Charging, etc.)
* Fixed several tests that were using mock entities for concrete entities that already exist (rubble, etc.)