Replace "tile_size" with "tile_width" and "tile_height". Implement their getters/setters.
Replace every reference to "tile_size" with a call to get_tile_width() or get_tile_height().
The setters should be protected by default.
Make "width_in_tiles" and "height_in_tiles" private. Implement their getters/setters.
Replace every reference to "width_in_tiles" and "height_in_tiles" with their appropriate getters/setters.
Rename "tile_width" to "scaled_tile_width" and "tile_height" to "scaled_tile_height". Add "tile_width" and "tile_height" and replace the fixed-pixel values with these properties. Implement the needed getters/setters.
Replace every reference to the "tile_width" and "tile_height" getters/setter with the new "scaled_tile_width" and "scaled_tile_height" getters/setters. Replace the fixed-pixel values with the appropriate getters.
The "tileset" reference, clear() and clear_tileset() should not be here.
Rename the layer schemes and surfaces.
Rename the surfaces.
Add new classes: AbstractImageset and RM2KChipsetImageset. Some TiledDrawingAreas should work with the idea of "imageset".
Add new classes: RM2KChipsetLowerImageset and RM2KChipsetUpperImageset. These classes represent map imagesets (chipsets/tilesets).
Replace references to Tileset with the new imageset classes.
Instance the new imageset classes instead of Tileset.
Remove the Tileset class, it is no longer needed.
Implement an abstract clear();
Add imageset clears to clear(). Minor changes.
The clear() method must clear schemes and surfaces. Minor changes.