aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/ByteBuffer.h
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.World/ByteBuffer.h')
-rw-r--r--Minecraft.World/ByteBuffer.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/Minecraft.World/ByteBuffer.h b/Minecraft.World/ByteBuffer.h
new file mode 100644
index 00000000..2d936374
--- /dev/null
+++ b/Minecraft.World/ByteBuffer.h
@@ -0,0 +1,57 @@
+#pragma once
+
+#include "Buffer.h"
+#include "Definitions.h"
+
+class IntBuffer;
+class FloatBuffer;
+
+class ByteBuffer : public Buffer
+{
+protected:
+ byte *buffer;
+ ByteOrder byteOrder;
+
+public:
+ ByteBuffer(unsigned int capacity);
+ static ByteBuffer *allocateDirect(int capacity);
+ ByteBuffer( unsigned int capacity, byte *backingArray );
+ virtual ~ByteBuffer();
+
+ static ByteBuffer *wrap(byteArray &b);
+ static ByteBuffer *allocate(unsigned int capacity);
+ void order(ByteOrder a);
+ ByteBuffer *flip();
+ byte *getBuffer();
+ int getSize();
+ int getInt();
+ int getInt(unsigned int index);
+ void get(byteArray) {} // 4J - TODO
+ byte get(int index);
+ __int64 getLong();
+ short getShort();
+ void getShortArray(shortArray &s);
+ ByteBuffer *put(int index, byte b);
+ ByteBuffer *putInt(int value);
+ ByteBuffer *putInt(unsigned int index, int value);
+ ByteBuffer *putShort(short value);
+ ByteBuffer *putShortArray(shortArray &s);
+ ByteBuffer *putLong(__int64 value);
+ ByteBuffer *put(byteArray inputArray);
+ byteArray array();
+ IntBuffer *asIntBuffer();
+ FloatBuffer *asFloatBuffer();
+
+};
+
+
+#ifdef __PS3__
+// we're using the RSX now to upload textures to vram, so we need th main ram textures allocated from io space
+class ByteBuffer_IO : public ByteBuffer
+{
+public:
+ ByteBuffer_IO(unsigned int capacity);
+ ~ByteBuffer_IO();
+};
+
+#endif // __PS3__ \ No newline at end of file