diff --git a/components/nif/nifstream.hpp b/components/nif/nifstream.hpp index f1e5a980d2..27473b82f8 100644 --- a/components/nif/nifstream.hpp +++ b/components/nif/nifstream.hpp @@ -75,16 +75,47 @@ namespace Nif void skip(size_t size) { inp->ignore(size); } + template + void read(T& data) + { + data = readLittleEndianType(inp); + } + + template + T get() + { + return readLittleEndianType(inp); + } + + template + void readVector(std::vector& vec, size_t size) + { + vec.resize(size); + readLittleEndianDynamicBufferOfType(inp, vec.data(), size); + } + + template + void readArray(std::array& arr) + { + readLittleEndianDynamicBufferOfType(inp, arr.data(), size); + } + + // DEPRECATED: Use read() or get() whenever relevant char getChar() { return readLittleEndianType(inp); } + // DEPRECATED: Use read() or get() whenever relevant short getShort() { return readLittleEndianType(inp); } + // DEPRECATED: Use read() or get() whenever relevant unsigned short getUShort() { return readLittleEndianType(inp); } + // DEPRECATED: Use read() or get() whenever relevant int getInt() { return readLittleEndianType(inp); } + // DEPRECATED: Use read() or get() whenever relevant unsigned int getUInt() { return readLittleEndianType(inp); } + // DEPRECATED: Use read() or get() whenever relevant float getFloat() { return readLittleEndianType(inp); } osg::Vec2f getVector2() @@ -180,36 +211,42 @@ namespace Nif return str; } + // DEPRECATED: Use readVector() void getChars(std::vector& vec, size_t size) { vec.resize(size); readLittleEndianDynamicBufferOfType(inp, vec.data(), size); } + // DEPRECATED: Use readVector() void getUChars(std::vector& vec, size_t size) { vec.resize(size); readLittleEndianDynamicBufferOfType(inp, vec.data(), size); } + // DEPRECATED: Use readVector() void getUShorts(std::vector& vec, size_t size) { vec.resize(size); readLittleEndianDynamicBufferOfType(inp, vec.data(), size); } + // DEPRECATED: Use readVector() void getFloats(std::vector& vec, size_t size) { vec.resize(size); readLittleEndianDynamicBufferOfType(inp, vec.data(), size); } + // DEPRECATED: Use readVector() void getInts(std::vector& vec, size_t size) { vec.resize(size); readLittleEndianDynamicBufferOfType(inp, vec.data(), size); } + // DEPRECATED: Use readVector() void getUInts(std::vector& vec, size_t size) { vec.resize(size);