Some constructive feedback:
-Somewhere in the thread it says not to call TileMap's render methods. If that's not allowed when using Plus, they should be overridden in TileMapPlus (even if they aren't applicable anymore, in which case they should throw exceptions with a message saying not to call these). If the method signatures are the same, the new methods which override the old should also have @Override annotations.
-Ideally we should be re-using constructor and overloaded method code rather than copy-pasting. Ex:
This
Code:
public TiledMapPlus(String ref) throws SlickException {
super(ref, true);
processNameToObjectMap();
processLayerMap();
processTilesetMap();
}
public TiledMapPlus(String ref, boolean loadTileSets) throws SlickException {
super(ref, loadTileSets);
processNameToObjectMap();
processLayerMap();
processTilesetMap();
}
works better like this
Code:
public TiledMapPlus(String ref) throws SlickException {
this(ref, true);
}
public TiledMapPlus(String ref, boolean loadTileSets) throws SlickException {
super(ref, loadTileSets);
processNameToObjectMap();
processLayerMap();
processTilesetMap();
}
Some of the other (InputStream) constructors have the same issue, and at a glance it looks like some of the render() methods might be able to call one another. Or if not possible (method signatures vary), some refactoring to re-use duplicate code like some of the for loops appears do-able. Avoids a lot of copy paste (and future bugs!) re-using the code this way.
-Some of the parameters in the render() methods are a little vague (ex. l The index of the layer to render), would be helpful to have those made a little longer and descriptive.
-Oh, and you meant object oriented, not "orientated" twice in the javadoc.

Still I think this class will be a nice time saver... haven't tried using it yet but I plan on checking it out in more detail once I'm ready. Thanks for the efforts.