|
1 | 1 | #ifndef D_A_OBJ_CBLOCK_H |
2 | 2 | #define D_A_OBJ_CBLOCK_H |
3 | 3 |
|
| 4 | +#include "d/d_bg_s_movebg_actor.h" |
| 5 | +#include "d/d_cc_d.h" |
4 | 6 | #include "f_op/f_op_actor_mng.h" |
5 | 7 |
|
| 8 | +class dPath; |
| 9 | + |
6 | 10 | /** |
7 | 11 | * @ingroup actors-objects |
8 | 12 | * @class daObjCBlk_c |
|
11 | 15 | * @details |
12 | 16 | * |
13 | 17 | */ |
14 | | -class daObjCBlk_c : public fopAc_ac_c { |
| 18 | +class daObjCBlk_c : public dBgS_MoveBgActor { |
15 | 19 | public: |
| 20 | + typedef void (daObjCBlk_c::*modeFunc)(); |
| 21 | + |
16 | 22 | struct chain_s { |
17 | 23 | public: |
18 | 24 | /* 80BC5E58 */ ~chain_s(); |
19 | 25 | /* 80BC5E94 */ chain_s(); |
| 26 | + |
| 27 | + J3DModel* model; |
| 28 | + cXyz position; |
20 | 29 | }; |
21 | 30 |
|
22 | 31 | /* 80BC5A0C */ void initBaseMtx(); |
23 | 32 | /* 80BC5A48 */ void setBaseMtx(); |
24 | | - /* 80BC5ABC */ void Create(); |
25 | | - /* 80BC5CF8 */ void CreateHeap(); |
26 | | - /* 80BC5E98 */ void create(); |
27 | | - /* 80BC6260 */ void Execute(f32 (**)[3][4]); |
| 33 | + /* 80BC5ABC */ int Create(); |
| 34 | + /* 80BC5CF8 */ int CreateHeap(); |
| 35 | + /* 80BC5E98 */ int create(); |
| 36 | + /* 80BC6260 */ int Execute(f32 (**)[3][4]); |
28 | 37 | /* 80BC6270 */ void initWait(); |
29 | 38 | /* 80BC627C */ void modeWait(); |
30 | 39 | /* 80BC6414 */ void initWalk(); |
31 | 40 | /* 80BC6430 */ void modeWalk(); |
32 | 41 | /* 80BC65CC */ void getChainBasePos(cXyz*); |
33 | 42 | /* 80BC6648 */ void setPower(f32); |
34 | | - /* 80BC66DC */ void checkWall(); |
35 | | - /* 80BC6868 */ bool Draw(); |
36 | | - /* 80BC6870 */ void Delete(); |
| 43 | + /* 80BC66DC */ BOOL checkWall(); |
| 44 | + /* 80BC6868 */ int Draw(); |
| 45 | + /* 80BC6870 */ int Delete(); |
| 46 | + |
| 47 | + u8 getArg0() { return fopAcM_GetParamBit(this, 0, 4); } |
| 48 | + u8 getSwNo() { return fopAcM_GetParamBit(this, 16, 8); } |
| 49 | + u8 getPathID() { return fopAcM_GetParamBit(this, 24, 8); } |
37 | 50 |
|
38 | 51 | private: |
39 | | - /* 0x568 */ u8 field_0x568[0xca8 - 0x568]; |
| 52 | + /* 0x5A0 */ request_of_phase_process_class phase; |
| 53 | + /* 0x5A8 */ J3DModel* model1; |
| 54 | + /* 0x5AC */ J3DModel* model2; |
| 55 | + /* 0x5B0 */ dCcD_Stts stts; |
| 56 | + /* 0x5EC */ dCcD_Cyl cyl; |
| 57 | + /* 0x728 */ dCcD_Cyl cyls[4]; |
| 58 | + /* 0xC18 */ chain_s* chains; |
| 59 | + /* 0xC1C */ u8 field_0xc1c; |
| 60 | + /* 0xC1D */ u8 field_0xc1d; |
| 61 | + /* 0xC1E */ u8 field_0xc1e; |
| 62 | + /* 0xC1F */ u8 field_0xc1f; |
| 63 | + /* 0xC20 */ f32 power; |
| 64 | + /* 0xC24 */ cXyz field_0xc24[7]; |
| 65 | + /* 0xC78 */ u8 field_0xc78[0xc9c - 0xc78]; |
| 66 | + /* 0xC9C */ dPath* roomPath; |
| 67 | + /* 0xCA0 */ u8 swNo; |
| 68 | + /* 0xCA1 */ u8 arg0; |
| 69 | + /* 0xCA2 */ u8 field_0xca2; |
| 70 | + /* 0xCA3 */ u8 field_0xca3; |
| 71 | + /* 0xCA4 */ s16 walkTimer; |
| 72 | + /* 0xCA6 */ s16 field_0xca6; |
40 | 73 | }; |
41 | 74 |
|
42 | 75 | STATIC_ASSERT(sizeof(daObjCBlk_c) == 0xca8); |
|
0 commit comments