diff options
author | Colin Noga <Tempus@chronometry.ca> | 2012-07-24 14:10:37 -0500 |
---|---|---|
committer | Colin Noga <Tempus@chronometry.ca> | 2012-07-24 14:10:37 -0500 |
commit | 45aee4cd0356305fc1a1ebec5d15bc0e17a54b0a (patch) | |
tree | f6b80204398bb71e2a3d454005526c216b792074 /include/g3dhax.h | |
parent | 0b935b5b0a4dfba5621d5f925ca088007811fc49 (diff) | |
download | kamek-45aee4cd0356305fc1a1ebec5d15bc0e17a54b0a.tar.gz kamek-45aee4cd0356305fc1a1ebec5d15bc0e17a54b0a.zip |
trying laki fixes, linked in anmClr
Diffstat (limited to 'include/g3dhax.h')
-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..eb4ffd0 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::ResAnmVis 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 { |