diff options
Diffstat (limited to '')
-rw-r--r-- | include/g3dhax.h | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/include/g3dhax.h b/include/g3dhax.h index d358436..551af40 100644 --- a/include/g3dhax.h +++ b/include/g3dhax.h @@ -30,6 +30,7 @@ namespace nw4r { class ResAnmChr { public: void* data; ResAnmChr(void *p = NULL) { data = p; } }; class ResAnmVis { public: void* data; ResAnmVis(void *p = NULL) { data = p; } }; + class ResAnmClr { public: void* data; ResAnmClr(void *p = NULL) { data = p; } }; class ResAnmTexPat { public: void* data; ResAnmTexPat(void *p = NULL) { data = p; } }; class ResAnmTexSrt { public: void* data; ResAnmTexSrt(void *p = NULL) { data = p; } }; @@ -51,7 +52,7 @@ namespace nw4r { void * /*ResTex*/ GetResTex(u32 idx) const; ResAnmChr GetResAnmChr(const char *str) const; ResAnmVis GetResAnmVis(const char *str) const; - void * /*ResAnmClr*/ GetResAnmClr(const char *str) const; + ResAnmClr GetResAnmClr(const char *str) const; ResAnmTexPat GetResAnmTexPat(const char *str) const; ResAnmTexSrt GetResAnmTexSrt(const char *str) const; void * /*ResAnmScn*/ GetResAnmScn(const char *str) const; @@ -89,6 +90,13 @@ namespace nw4r { void * /*ResMdl*/ resMdl); + void *__AnmObjClrRes__Construct( + void * /*MEMAllocator*/ pHeap, + u32 *pSize, + void * /*ResAnmVis*/ resAnm, + void * /*ResMdl*/ resMdl); + + void *__AnmObjTexPatRes__Construct( void * /*MEMAllocator*/ pHeap, u32 *pSize, @@ -315,6 +323,36 @@ namespace m3d { void bind(/*b*/mdl_c *model, nw4r::g3d::ResAnmVis anmRes, int unk); }; + class anmClr_c : public fanm_c { + public: + class child_c : public fanm_c { + ~child_c(); + int _vf0C(); + // some methods missing + }; + + ~anmClr_c(); + int _vf0C(); + void detach(); + void process(); + + bool setup(nw4r::g3d::ResMdl modelRes, nw4r::g3d::ResAnmClr anmRes, + mAllocator_c *allocator, u32 *sizeOutPtr, int count); // count usually 1 or 2, sizeOutPtr usually 0 + + void bind(/*b*/mdl_c *model, nw4r::g3d::ResAnmClr anmRes, int entryNumber, int _param4); // usually entryNumber is 0, param4 is 0 or 1 + + + float getFrameForEntry(int number); + void setFrameForEntry(float value, int number); + float getUpdateRateForEntry(int number); + void setUpdateRateForEntry(float value, int number); + bool isEntryAnimationDone(int number); + bool queryEntrySomething(float value, int number); + void setEntryByte34(u8 value, int number); + float getEntryField28(int number); + + }; + class anmTexPat_c : public banm_c { public: class child_c : public fanm_c { |