diff --git a/src/gx/Buffer.cpp b/src/gx/Buffer.cpp index c11006c..40073cf 100644 --- a/src/gx/Buffer.cpp +++ b/src/gx/Buffer.cpp @@ -192,6 +192,15 @@ CGxBuf* GxBufCreate(CGxPool* pool, uint32_t itemSize, uint32_t itemCount, uint32 return g_theGxDevicePtr->BufCreate(pool, itemSize, itemCount, index); } +void GxBufData(CGxBuf* buf, const void* data, uint32_t size, uint32_t offset) { + if (size == 0) { + size = buf->m_itemSize * buf->m_itemCount; + } + + g_theGxDevicePtr->BufData(buf, data, size, offset); + buf->unk1C = 1; +} + char* GxBufLock(CGxBuf* buf) { return g_theGxDevicePtr->BufLock(buf); } diff --git a/src/gx/Buffer.hpp b/src/gx/Buffer.hpp index 96f24bf..ae6a6ef 100644 --- a/src/gx/Buffer.hpp +++ b/src/gx/Buffer.hpp @@ -27,6 +27,8 @@ uint32_t GxVertexAttribOffset(EGxVertexBufferFormat, EGxVertexAttrib); CGxBuf* GxBufCreate(CGxPool*, uint32_t, uint32_t, uint32_t); +void GxBufData(CGxBuf* buf, const void* data, uint32_t size, uint32_t offset); + char* GxBufLock(CGxBuf* buf); void GxBufUnlock(CGxBuf*, uint32_t);