summaryrefslogtreecommitdiff
path: root/include/game.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/game.h')
-rwxr-xr-xinclude/game.h54
1 files changed, 53 insertions, 1 deletions
diff --git a/include/game.h b/include/game.h
index 51f8faf..af235b9 100755
--- a/include/game.h
+++ b/include/game.h
@@ -10,6 +10,7 @@
#include <rvl/arc.h>
#define offsetof(type, member) ((u32) &(((type *) 0)->member))
+#include <g3dhax.h>
template <typename T>
inline T min(T one, T two) { return (one < two) ? one : two; }
@@ -2233,6 +2234,8 @@ public:
char yetAnotherAnimation[40]; // actually m3d::banm_c afaics -- is it even 40 bytes?
Vec HeadPos; // maybe not an array
Vec HatPos; // maybe not an array
+ Mtx finalMatrix;
+ Mtx firstMatrix;
Vec headOffs;
Vec pos;
u8 player_id_1;
@@ -2264,6 +2267,11 @@ public:
u32 _204;
u32 _208;
+ class ModelThing {
+ public:
+ m3d::mdl_c body, head;
+ };
+
virtual int _vf0C(); // 800D6DA0
virtual void prepare(); // 800D5720
virtual void finaliseModel(); // 800D5740
@@ -2271,7 +2279,7 @@ public:
virtual void update3DStuff(); // 800D5760
virtual void _vf20(); // 800D6D90
virtual void draw(); // 800D5C70
- virtual int getCurrentModel(); // 800D5870
+ virtual ModelThing *getCurrentModel(); // 800D5870
virtual int getCurrentResFile(); // 800D62D0
virtual void setPowerup(u8 powerup_id); // 800D5730
virtual void setPowerupTexture(); // 800D5CC0
@@ -2310,6 +2318,48 @@ public:
};
+class dPlayerModel_c : public dPlayerModelBase_c {
+ public:
+ // methods? what do you need those for...
+ // (not bothering with them either)
+ nw4r::g3d::ResFile modelResFile, animResFile1, animResFile2;
+
+ u8 effectClass0[296];
+ u8 effectClass1[296];
+
+ ModelThing models[4];
+
+ // maybe these are mAllocator_c?
+ u8 body_switch_animation[12];
+ mHeapAllocator_c allocator0;
+ u32 anim0linked;
+
+ u8 anim1[12];
+ mHeapAllocator_c allocator1;
+ u32 anim1linked;
+
+ u8 headSwitchAnimation[12];
+ mHeapAllocator_c allocator2;
+ u32 anim2linked;
+
+ u8 animForProp[12];
+ mHeapAllocator_c allocator3;
+ u32 anim3linked;
+
+ u8 animForPeng[12];
+ mHeapAllocator_c allocator4;
+ u32 anim4linked;
+
+ u8 anim5[12];
+ mHeapAllocator_c allocator5;
+ u32 anim5linked;
+
+ u32 currentPlayerModelID;
+ u32 lastPlayerModelID;
+ // tons of crap more, don't feel like fixing this up atm
+};
+
+
class dPlayerModelHandler_c {
public:
dPlayerModelHandler_c(u8 player_id); // 800D6DB0
@@ -2943,6 +2993,8 @@ namespace mHeap {
extern void *gameHeaps[3];
};
+void WriteNumberToTextBox(int *number, const int *fieldLength, nw4r::lyt::TextBox *textBox, bool unk); // 800B3B60
+
#endif