summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/g3dhax.h40
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 {