summaryrefslogtreecommitdiff
path: root/include/g3dhax.h
diff options
context:
space:
mode:
authorColin Noga <Tempus@chronometry.ca>2012-07-24 14:10:37 -0500
committerColin Noga <Tempus@chronometry.ca>2012-07-24 14:10:37 -0500
commit45aee4cd0356305fc1a1ebec5d15bc0e17a54b0a (patch)
treef6b80204398bb71e2a3d454005526c216b792074 /include/g3dhax.h
parent0b935b5b0a4dfba5621d5f925ca088007811fc49 (diff)
downloadkamek-45aee4cd0356305fc1a1ebec5d15bc0e17a54b0a.tar.gz
kamek-45aee4cd0356305fc1a1ebec5d15bc0e17a54b0a.zip
trying laki fixes, linked in anmClr
Diffstat (limited to 'include/g3dhax.h')
-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..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 {