Not 100% sure this is a bug, but it looks like it.
Code:
System.out.println("Loading " + i.TextureFilename);
image = new BigImage(i.TextureFilename, Image.FILTER_NEAREST, 512);
produces
Code:
Loading assets\gfx\backgrounds\black.png
Loading assets\gfx\walls\wall3.png
Exception in thread "main" java.nio.BufferUnderflowException
at java.nio.DirectByteBuffer.get(DirectByteBuffer.java:221)
at org.newdawn.slick.BigImage.build(BigImage.java:230)
at org.newdawn.slick.BigImage.build(BigImage.java:151)
at org.newdawn.slick.BigImage.<init>(BigImage.java:102)
at net.fireslash.holonic.world.OMObject.init(OMObject.java:71)
at net.fireslash.holonic.world.OMLayer.init(OMLayer.java:38)
at net.fireslash.holonic.world.ObjectMap.init(ObjectMap.java:215)
at net.fireslash.holonic.world.OMEnvironment.init(OMEnvironment.java:120)
at net.fireslash.holonic.states.LevelState.setLevel(LevelState.java:65)
at net.fireslash.holonic.Holonic.initStatesList(Holonic.java:48)
at org.newdawn.slick.state.StateBasedGame.init(StateBasedGame.java:157)
at org.newdawn.slick.AppGameContainer.setup(AppGameContainer.java:390)
at org.newdawn.slick.AppGameContainer.start(AppGameContainer.java:314)
at net.fireslash.holonic.Holonic.main(Holonic.java:83)
Some notes:
black.png is 4721x5316 and loads without exception
wall3.png is 256x795 and raises the exception
I'm guessing this is because the x dimension doesn't violate the tilesize I've set of 512, but the y dimension does.