mirror of
https://github.com/zeldaret/st
synced 2026-06-17 23:21:10 -04:00
5e934a8c9b
* name func_01ffd3d8 and func_01ffd400 * name func_01ffd3b0 * match func_ov024_020cf9d4 + improve the Random struct * UnkStruct_027e0cf8_00_0C_024 45% * match PassengerManager::GetRandomIndex * UnkStruct_027e0cf8_00_0C_024 OK * UnkStruct_027e0cf8_00_0C_024: do other sections * UnkStruct_027e0cf8_08_024 55% * cleanup: remplace delete into null by the delete macro * UnkStruct_027e0cf8_08_024 OK * fix build issues * UnkStruct_ov024_020d86a0_024 OK * PlayerActor_A0_38_024 .text OK, CreditsEndingType OK * tools: create courselist.py to convert .CLB data to yaml * UnkDataStruct4_14 OK * UnkDataStruct4 17% * UnkDataStruct4 OK * MiscAdvManager OK * PassengerManager OK * fix build issues * ZeldaTrainBinary OK * mark PassengerManager as complete and adjust delinks * UnkStruct_027e0cf8_08_00_024 OK * document more of UnkStruct_027e0ce0 * savefile hotfixes * UnkStruct_027e0ce0_34_024 OK * code_020d46b4_024 OK * UnkStruct_027e0d00 & UnkStruct_027e0d00_20 OK * code_020d51dc_024 OK * fix weird formatting * UnkTrainSystem1 OK * fix jp broken match * UnkTrainSystem2 OK * UnkStruct_027e0d08_024 31% * fix build issues * UnkStruct_027e0d08 OK!!! * remove useless parenthesis * ActorUnk_ov000_020a8bb0_EC OK * move ActorUnk_ov000_020a8bb0_EC to MainGame/Actor/ * ActorUnkOBPC OK * add sjiswrap support * solve remaining gaps and fix build issues * reorganise files + counter docs * tools: remove format command execution from defaults
205 lines
4.4 KiB
C++
205 lines
4.4 KiB
C++
#pragma once
|
|
|
|
#include "LinkList.hpp"
|
|
#include "Unknown/Common.hpp"
|
|
#include "Unknown/UnkStruct_ov000_0208f820.hpp"
|
|
#include "math.hpp"
|
|
#include "types.h"
|
|
|
|
class PlayerActorBase_5C {
|
|
public:
|
|
/* 00 */ unk32 mUnk_00;
|
|
/* 04 */ unk32 mUnk_04;
|
|
/* 08 */ unk32 mUnk_08;
|
|
/* 0C */ unk32 mUnk_0C;
|
|
/* 10 */ void *mUnk_10;
|
|
/* 14 */
|
|
};
|
|
|
|
class PlayerActorBase_70 {
|
|
public:
|
|
/* 000 */ STRUCT_PAD(0x00, 0x160);
|
|
/* 160 */
|
|
|
|
PlayerActorBase_70();
|
|
};
|
|
|
|
class PlayerActorBase_74 {
|
|
public:
|
|
/* 00 */ STRUCT_PAD(0x00, 0x34);
|
|
/* 34 */
|
|
|
|
PlayerActorBase_74();
|
|
};
|
|
|
|
class PlayerActorBase {
|
|
public:
|
|
/* 00 */ VecFx32 mPos;
|
|
/* 0C */ VecFx32 mPrevPos;
|
|
/* 18 */ VecFx32 mVel;
|
|
/* 24 */ VecFx32 mAccel;
|
|
/* 30 */ u16 mAngle;
|
|
/* 32 */ u8 mInvincibilityTimer;
|
|
/* 33 */ u8 mInvincibilityIconTimer; // the blinking icon on top-screen
|
|
/* 34 */ unk32 mUnk_34;
|
|
/* 38 */ UnkStruct_PlayerGet_64 mUnk_38;
|
|
/* 44 */ unk32 mUnk_44;
|
|
/* 48 */ unk32 mUnk_48;
|
|
/* 4C */ unk32 mUnk_4C;
|
|
/* 50 */ unk32 mUnk_50;
|
|
/* 54 */ unk32 mUnk_54;
|
|
/* 58 */ unk32 mUnk_58;
|
|
/* 5C */ PlayerActorBase_5C mUnk_5C;
|
|
/* 70 */ PlayerActorBase_70 *mUnk_70;
|
|
/* 74 */ PlayerActorBase_74 *mUnk_74;
|
|
/* 78 */ STRUCT_PAD(0x78, 0x84);
|
|
/* 84 */ UnkStruct_ov019_020d24c8_28_258 mUnk_84;
|
|
/* 9C */
|
|
|
|
PlayerActorBase();
|
|
};
|
|
|
|
class PlayerActor_9C {
|
|
public:
|
|
/* 000 (vtable) */
|
|
/* 004 */ STRUCT_PAD(0x04, 0x154);
|
|
/* 154 */
|
|
|
|
PlayerActor_9C();
|
|
|
|
// data_ov000_020b2a8c
|
|
/* 00 */ virtual ~PlayerActor_9C();
|
|
};
|
|
|
|
class PlayerActor_A0_38;
|
|
|
|
class PlayerActor_A0_38_04_Base : public LinkList<PlayerActor_A0_38_04_Base> {
|
|
public:
|
|
/* 00 (vtable) */
|
|
/* 04 (base) */
|
|
/* 0C */ unk32 mUnk_0C;
|
|
/* 10 */ PlayerActor_A0_38 *mUnk_10;
|
|
/* 14 */
|
|
|
|
PlayerActor_A0_38_04_Base(PlayerActor_A0_38 *param1) {
|
|
this->mUnk_0C = 0;
|
|
this->mUnk_10 = param1;
|
|
}
|
|
|
|
/* 00 */ virtual void vfunc_00();
|
|
};
|
|
|
|
class PlayerActor_A0_38_04 : public PlayerActor_A0_38_04_Base {
|
|
public:
|
|
/* 00 (vtable) */
|
|
/* 04 (base) */
|
|
/* 0C */
|
|
|
|
PlayerActor_A0_38_04(PlayerActor_A0_38 *param1) :
|
|
PlayerActor_A0_38_04_Base(param1) {}
|
|
|
|
// data_ov024_020d8250
|
|
/* 00 */ virtual void vfunc_00() override;
|
|
};
|
|
|
|
class PlayerActor_A0_38_18 : public PlayerActor_A0_38_04_Base {
|
|
public:
|
|
/* 00 (vtable) */
|
|
/* 04 (base) */
|
|
/* 0C */
|
|
|
|
PlayerActor_A0_38_18(PlayerActor_A0_38 *param1) :
|
|
PlayerActor_A0_38_04_Base(param1) {}
|
|
|
|
// data_ov024_020d8244
|
|
/* 00 */ virtual void vfunc_00() override;
|
|
};
|
|
|
|
class PlayerActor_A0_38 {
|
|
public:
|
|
/* 00 */ unk16 mUnk_00;
|
|
/* 02 */ unk16 mUnk_02;
|
|
/* 04 */ PlayerActor_A0_38_04 mUnk_04;
|
|
/* 18 */ PlayerActor_A0_38_18 mUnk_18;
|
|
/* 2C */ Vec2s mUnk_2C;
|
|
/* 30 */ u16 mUnk_30;
|
|
/* 32 */ unk16 mUnk_32;
|
|
/* 34 */ u16 mUnk_34;
|
|
/* 36 */ bool mUnk_36;
|
|
/* 37 */ bool mUnk_37;
|
|
/* 38 */
|
|
|
|
PlayerActor_A0_38();
|
|
~PlayerActor_A0_38();
|
|
|
|
void func_ov024_020d19d8();
|
|
};
|
|
|
|
class PlayerActor_A0 {
|
|
public:
|
|
/* 00 */ STRUCT_PAD(0x00, 0x38);
|
|
/* 38 */ PlayerActor_A0_38 *mUnk_38;
|
|
/* 3C */ STRUCT_PAD(0x3C, 0x94);
|
|
/* 94 */
|
|
|
|
PlayerActor_A0();
|
|
};
|
|
|
|
class PlayerActor_A4 {
|
|
public:
|
|
/* 00 */ unk32 mUnk_00;
|
|
/* 04 */ unk32 mUnk_04;
|
|
/* 08 */ unk8 mUnk_08;
|
|
/* 09 */ unk8 mUnk_09;
|
|
/* 0A */ unk8 mUnk_0A;
|
|
/* 0B */ unk8 mUnk_0B;
|
|
/* 0C */
|
|
};
|
|
|
|
class PlayerActor_134 {
|
|
public:
|
|
/* 00 */ unk32 mUnk_00;
|
|
/* 04 */ unk32 mUnk_04;
|
|
/* 08 */
|
|
|
|
PlayerActor_134() {
|
|
this->mUnk_00 = 0;
|
|
this->mUnk_04 = 0;
|
|
}
|
|
};
|
|
|
|
class PlayerActor_1B0 : public UnkSystem7 {
|
|
public:
|
|
/* 00 (base) */
|
|
/* 04 */ unk32 mUnk_04;
|
|
/* 08 */ unk32 mUnk_08;
|
|
/* 0C */
|
|
|
|
PlayerActor_1B0();
|
|
~PlayerActor_1B0();
|
|
};
|
|
|
|
class PlayerActor : public PlayerActorBase {
|
|
public:
|
|
/* 000 (base) */
|
|
/* 09C */ PlayerActor_9C *mUnk_9C;
|
|
/* 0A0 */ PlayerActor_A0 *mUnk_A0;
|
|
/* 0A4 */ PlayerActor_A4 mUnk_A4;
|
|
/* 0B0 */ unk32 mUnk_B0;
|
|
/* 0B4 */ unk8 mUnk_B4;
|
|
/* 0B5 */ unk8 mUnk_B5;
|
|
/* 0B6 */ unk8 mUnk_B6;
|
|
/* 0B7 */ unk8 mUnk_B7;
|
|
/* 0B8 */ unk8 mUnk_B8;
|
|
/* 0B9 */ unk8 mUnk_B9;
|
|
/* 0BA */ unk8 mUnk_BA;
|
|
/* 0BB */ unk8 mUnk_BB;
|
|
/* 0BC */ UnkSubStruct19 mUnk_BC;
|
|
/* 134 */ PlayerActor_134 *mUnk_134;
|
|
/* 138 */ UnkSubStruct19 mUnk_138; // sanctuary link icon animation
|
|
/* 1B0 */ PlayerActor_1B0 mUnk_1B0[3];
|
|
/* 1D4 */
|
|
|
|
PlayerActor(); //! TODO: params
|
|
};
|