// from com.badlogic.audio.io sclass EndianDataInputStream extends DataInputStream { *(InputStream in) { super(in); } public String read4ByteString( ) ctex { byte[] bytes = new byte[4]; readFully(bytes); return new String( bytes, "US-ASCII" ); } public short readShortLittleEndian( ) ctex { int result = readUnsignedByte(); result |= readUnsignedByte() << 8; return (short)result; } public int readIntLittleEndian( ) ctex { int result = readUnsignedByte(); result |= readUnsignedByte() << 8; result |= readUnsignedByte() << 16; result |= readUnsignedByte() << 24; return result; } public int readInt24BitLittleEndian( ) ctex { int result = readUnsignedByte(); result |= readUnsignedByte() << 8; result |= readUnsignedByte() << 16; if( (result & ( 1 << 23 )) == 8388608 ) result |= 0xff000000; return result; } public int readInt24Bit( ) ctex { int result = readUnsignedByte() << 16; result |= readUnsignedByte() << 8; result |= readUnsignedByte(); return result; } }