diff options
Diffstat (limited to '')
-rwxr-xr-x | include/game.h | 114 |
1 files changed, 108 insertions, 6 deletions
diff --git a/include/game.h b/include/game.h index 0fa72c9..5fd71d5 100755 --- a/include/game.h +++ b/include/game.h @@ -1232,6 +1232,107 @@ public: };
+class dStageActor_c; // forward declaration
+class collisionMgr_c {
+public:
+ collisionMgr_c();
+ virtual ~collisionMgr_c();
+
+ //FIXME params and returns and add more
+ void Clear1();
+ void Clear2();
+ void Init(dStageActor_c*,u8*,u8*,u8*);
+
+ void Clear3();
+ int CollidedWithTile();
+
+ dStageActor_c* owner;
+ void* struct1_ptr;
+ void* struct2_ptr;
+ void* some_ptr;
+ Vec3* parent_pos_ptr;
+ Vec3* parent_last_pos_ptr;
+ Vec3* parent_speed_ptr;
+ Vec3 someVelocityThing;
+ float xDeltaMaybe;
+ float yDeltaMaybe;
+ u8 _34[24]; //FIXME
+ float someFloat;
+ void* class2DC_ptr; //FIXME
+ void* another_ptr;
+ void* ptr_to_ptr_to_underneath_actor;
+ u8 _5C[44]; //FIXME
+ u32 bitfield_for_checks;
+ u32 bitfield_backup;
+ u32 _90, _94;
+ u8 which_player_of_parent;
+ u8 which_controller;
+ u16 _9A, _9C;
+ u8 _9E[2]; //FIXME
+ u32 another_bitfield;
+ u8 _A4;
+ u8 _A5[3]; //FIXME
+ u32 yet_another_bitfield;
+ u8 _AC;
+ u8 _AD[3]; //FIXME
+ u32 directional_bitfields[2]; // left right
+ u8 flagsB8;
+ u8 flagsB9;
+ u8 _BA[2]; //FIXME
+ u8 _BC, _BD;
+ u16 _BE;
+ u8 _C0, _C1;
+ u16 _C2;
+ u8 _C4[4]; //FIXME
+ u16 _C8;
+ u8 _CA[22]; //FIXME
+ u8 _E0, _E1, _E2;
+ u8 _E3; //FIXME
+ u8 _E4, _E5;
+ u8 _E6[2]; //FIXME
+ u32 current_layer_ptr;
+ u8 current_layer;
+ u8 _ED[3]; //FIXME
+};
+
+class freezeMgr_c {
+public:
+ u32 some_count;
+ u32 ice_timer1;
+ u32 ice_timer2;
+ u32 _mstate; //0=not,1=frozen,3=die_coin
+ u32 _10;
+ u32 _nstate; //1=countdown,2=meltedNormal
+ u32 spawns_coin; //1=delete,3=coin
+ u32 _1C_timerLenType;
+ u32 _20_defaultTimerLenType;
+ u32 _24;
+ u32 _28;
+ u32 perm_freeze;
+ u32 _30;
+ u32 actorIds[12];
+ void* owner; // _64
+
+ freezeMgr_c();
+ ~freezeMgr_c();
+ //FIXME add params and returns
+ void doSomethingCool1();
+ void doSomethingCool2();
+ void setSomething(u32,u32,u32);
+ void Create_ICEACTORs(void*,int);
+ void Delete_ICEACTORs();
+ void SetIceTimer_pt1();
+ void SetIceTimer_pt2();
+ void CheckIceTimer_lte_Value();
+ void doSomethingCool3();
+ void doSomethingCool4();
+ void doSomethingCool5();
+ void doSomethingCool6();
+ void DoMeltNormal();
+ void doSomethingCool7();
+ void CheckCountdownTimer();
+};
+
class fBase_c {
public:
u32 id;
@@ -1339,7 +1440,7 @@ public: Vec pos;
Vec last_pos;
Vec pos_delta;
- Vec _D0;
+ Vec pos_delta2;
Vec scale;
Vec speed;
Vec max_speed;
@@ -1370,8 +1471,7 @@ public: float _140;
u32 _144;
ActivePhysics aPhysics;
- u8 classAt1EC[236];
- u32 _2D8;
+ collisionMgr_c collMgr;
u8 classAt2DC[0x34];
u32 _310, _314;
float spriteSomeRectX, spriteSomeRectY;
@@ -1426,7 +1526,7 @@ public: virtual void _vfA4(void *other); // AcPy/PlBase? similar to vf94 but not quite the same
virtual float _vfA8(void *other); // AcPy/PlBase? what DOES this do...? does a bit of float math
virtual void _vfAC(void *other); // copies somethingRelatedToScale into scale, then multiplies scale by vfA8's return
- virtual void _vfB0(); // plays Wm_en_burst_s at actor position
+ virtual void killedByLevelClear(); // plays Wm_en_burst_s at actor position
virtual void _vfB4(); // params unknown. nullsub
virtual void _vfB8(); // params unknown. nullsub
virtual void _vfBC(); // params unknown. nullsub
@@ -1512,7 +1612,9 @@ public: u32 _474, _478;
dEn_c *_47C;
u32 _480;
- u8 classAt484[0x4EC - 0x484];
+ //FIXME verify that size fits
+ //u8 classAt484[0x4EC - 0x484];
+ freezeMgr_c frzMgr;
u32 _4EC;
float _4F0, _4F4, _4F8;
u32 flags_4FC;
@@ -1634,7 +1736,7 @@ public: virtual void _vf220(void *other); // some type of actor, PlBase? calls vf3F4 on other with r4=this, r5=0
virtual void _vf224(); // stores a couple of values into the struct at 464
virtual void _vf228(); // more fun stuff with 464 and floats
- virtual bool _vf22C(); // does stuff involving ICE_ACTORs and arrays
+ virtual bool CreateIceActors(); // does stuff involving ICE_ACTORs and arrays
virtual void _vf230(); // "relatedToPlayerOrYoshiCollision" apparently. nullsub, params unknown for now.
virtual void _vf234(); // nullsub, params unknown
virtual void _vf238(); // calls vf34 on class394, params unknown
|