lv4bridge / lv4prwall done (#2728)

* lv4bridge / lv4prwall

* fix jp/pal
This commit is contained in:
TakaRikka
2025-10-07 20:42:10 +03:00
committed by GitHub
parent 8a99c051d1
commit fc6c0fd88c
7 changed files with 458 additions and 567 deletions
@@ -13,3 +13,4 @@ d/actor/d_a_obj_lv4bridge.cpp:
.text start:0x00000078 end:0x00000968
.rodata start:0x00000000 end:0x0000002C
.data start:0x00000000 end:0x0000011C
.bss start:0x00000000 end:0x00000004
@@ -13,3 +13,4 @@ d/actor/d_a_obj_lv4bridge.cpp:
.text start:0x00000078 end:0x00000968
.rodata start:0x00000000 end:0x0000002C
.data start:0x00000000 end:0x0000011C
.bss start:0x00000000 end:0x00000004
+2 -2
View File
@@ -2070,13 +2070,13 @@ config.libs = [
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv4PoGate"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv4RailWall"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv4SlideWall"),
ActorRel(NonMatching, "d_a_obj_lv4bridge"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv4bridge"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv4chandelier"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv4digsand"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv4floor"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv4gear"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv4prelvtr"),
ActorRel(NonMatching, "d_a_obj_lv4prwall"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv4prwall"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv4sand"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv5FloorBoard"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv5IceWall"),
+23 -11
View File
@@ -2,6 +2,8 @@
#define D_A_OBJ_LV4BRIDGE_H
#include "f_op/f_op_actor_mng.h"
#include "d/d_bg_s_movebg_actor.h"
#include "d/d_event_lib.h"
/**
* @ingroup actors-objects
@@ -11,14 +13,13 @@
* @details
*
*/
class daObjLv4Brg_c : public fopAc_ac_c {
class daObjLv4Brg_c : public dBgS_MoveBgActor, public dEvLib_callback_c {
public:
daObjLv4Brg_c() : dEvLib_callback_c(this) {}
/* 80C62878 */ void initBaseMtx();
/* 80C628B4 */ void setBaseMtx();
/* 80C62994 */ void Create();
/* 80C62A2C */ void CreateHeap();
/* 80C62A9C */ void create1st();
/* 80C62B20 */ void Execute(Mtx**);
/* 80C62A9C */ int create1st();
/* 80C62B6C */ void action();
/* 80C62C28 */ void mode_init_wait();
/* 80C62C34 */ void mode_wait();
@@ -26,13 +27,24 @@ public:
/* 80C62CFC */ void mode_move();
/* 80C62E24 */ void mode_init_dead();
/* 80C62E30 */ void mode_dead();
/* 80C62E34 */ void eventStart();
/* 80C62EA0 */ void Draw();
/* 80C62F44 */ void Delete();
/* 80C630C4 */ ~daObjLv4Brg_c();
private:
/* 0x568 */ u8 field_0x568[0x5d0 - 0x568];
/* 80C630C4 */ virtual ~daObjLv4Brg_c() {}
/* 80C62E34 */ virtual bool eventStart();
/* 80C62A2C */ virtual int CreateHeap();
/* 80C62994 */ virtual int Create();
/* 80C62B20 */ virtual int Execute(Mtx**);
/* 80C62EA0 */ virtual int Draw();
/* 80C62F44 */ virtual int Delete();
u8 getSwbit() { return fopAcM_GetParamBit(this, 0, 8); }
u8 getEvID() { return fopAcM_GetParamBit(this, 8, 8); }
/* 0x5B0 */ request_of_phase_process_class mPhase;
/* 0x5B8 */ J3DModel* mpModel;
/* 0x5BC */ f32 field_0x5bc;
/* 0x5C0 */ u8 field_0x5c0;
/* 0x5C1 */ u8 mMode;
/* 0x5C4 */ cXyz field_0x5c4;
};
STATIC_ASSERT(sizeof(daObjLv4Brg_c) == 0x5d0);
+29 -10
View File
@@ -2,6 +2,7 @@
#define D_A_OBJ_LV4PRWALL_H
#include "f_op/f_op_actor_mng.h"
#include "d/d_bg_s_movebg_actor.h"
/**
* @ingroup actors-objects
@@ -11,19 +12,37 @@
* @details
*
*/
class daObjLv4PRwall_c : public fopAc_ac_c {
class daObjLv4PRwall_c : public dBgS_MoveBgActor, request_of_phase_process_class {
public:
/* 80C68C98 */ void create1st();
/* 80C68C98 */ int create1st();
/* 80C68DD8 */ void setMtx();
/* 80C68F20 */ void CreateHeap();
/* 80C68FA0 */ void Create();
/* 80C690D8 */ void Execute(Mtx**);
/* 80C696BC */ void Draw();
/* 80C69760 */ void Delete();
/* 80C69870 */ ~daObjLv4PRwall_c();
private:
/* 0x568 */ u8 field_0x568[0x62c - 0x568];
/* 80C68F20 */ virtual int CreateHeap();
/* 80C68FA0 */ virtual int Create();
/* 80C690D8 */ virtual int Execute(Mtx**);
/* 80C696BC */ virtual int Draw();
/* 80C69760 */ virtual int Delete();
/* 80C69870 */ virtual ~daObjLv4PRwall_c() {}
int getType() { return fopAcM_GetParamBit(this, 0, 3); }
int getSwNo() { return fopAcM_GetParamBit(this, 3, 8); }
int getSw2No() { return fopAcM_GetParamBit(this, 11, 8); }
int getSw3No() { return fopAcM_GetParamBit(this, 19, 8); }
/* 0x5A8 */ Mtx mBgMtx2;
/* 0x5D8 */ Mtx mModelMtx;
/* 0x608 */ J3DModel* mpModel;
/* 0x60C */ s16 field_0x60c;
/* 0x60E */ s16 field_0x60e;
/* 0x610 */ s16 field_0x610;
/* 0x614 */ int mType;
/* 0x618 */ u8 field_0x618;
/* 0x619 */ u8 field_0x619;
/* 0x61C */ f32 field_0x61c;
/* 0x620 */ f32 field_0x620;
/* 0x624 */ int field_0x624;
/* 0x628 */ u8 field_0x628;
/* 0x629 */ u8 field_0x629;
};
STATIC_ASSERT(sizeof(daObjLv4PRwall_c) == 0x62c);
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff