diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/d/actor/d_a_alink.h | 16 | ||||
| -rw-r--r-- | include/d/actor/d_a_e_pz.h | 108 | ||||
| -rw-r--r-- | include/d/actor/d_a_player.h | 1 | ||||
| -rw-r--r-- | include/f_pc/f_pc_base.h | 2 | ||||
| -rw-r--r-- | include/f_pc/f_pc_create_req.h | 4 | ||||
| -rw-r--r-- | include/f_pc/f_pc_creator.h | 2 | ||||
| -rw-r--r-- | include/f_pc/f_pc_debug_sv.h | 16 | ||||
| -rw-r--r-- | include/f_pc/f_pc_layer.h | 2 | ||||
| -rw-r--r-- | include/f_pc/f_pc_node_req.h | 4 | ||||
| -rw-r--r-- | include/f_pc/f_pc_priority.h | 8 | ||||
| -rw-r--r-- | include/f_pc/f_pc_stdcreate_req.h | 3 |
11 files changed, 137 insertions, 29 deletions
diff --git a/include/d/actor/d_a_alink.h b/include/d/actor/d_a_alink.h index 32ec4f92b8..c63418f9bd 100644 --- a/include/d/actor/d_a_alink.h +++ b/include/d/actor/d_a_alink.h @@ -4904,14 +4904,14 @@ public: class daAlinkHIO_wallHang_c1 { public: - /* 0x00 */ s16 field_0x0; - /* 0x02 */ s16 field_0x2; - /* 0x04 */ f32 field_0x4; - /* 0x08 */ f32 field_0x8; - /* 0x0C */ f32 field_0xC; - /* 0x10 */ f32 field_0x10; - /* 0x14 */ f32 field_0x14; - /* 0x18 */ f32 field_0x18; + /* 0x00 */ s16 small_jump_input_time; + /* 0x02 */ s16 grab_input_time; + /* 0x04 */ f32 auto_walk_height; + /* 0x08 */ f32 small_jump_height; + /* 0x0C */ f32 climb_height; + /* 0x10 */ f32 jump_climb_height; + /* 0x14 */ f32 jump_hang_height; + /* 0x18 */ f32 hang_foot_pos_height; }; // Size: 0x1C class daAlinkHIO_wallHang_c0 { diff --git a/include/d/actor/d_a_e_pz.h b/include/d/actor/d_a_e_pz.h index c67e1a6052..48cbd40db0 100644 --- a/include/d/actor/d_a_e_pz.h +++ b/include/d/actor/d_a_e_pz.h @@ -2,6 +2,9 @@ #define D_A_E_PZ_H #include "f_op/f_op_actor_mng.h" +#include "d/d_bg_s_acch.h" +#include "d/d_cc_d.h" +#include "d/d_cc_uty.h" /** * @ingroup actors-enemies @@ -13,15 +16,24 @@ */ class daE_PZ_c : public fopEn_enemy_c { public: - void onBombArrowHit() { field_0x845 = 1; } + enum Action_e { + ACTION_SEARCH_POINT_e, + ACTION_OPENING_DEMO_e, + ACTION_WAIT_e, + ACTION_ATTACK_e, + ACTION_DAMAGE_e, + ACTION_DEAD_e, + }; - /* 807585BC */ void draw(); + void onBombArrowHit() { mBombArrowHit = true; } + + /* 807585BC */ int draw(); /* 80758800 */ void setBck(int, u8, f32, f32); /* 807588AC */ void setActionMode(int, int); /* 807588B8 */ void mEntrySUB(bool); - /* 80758A94 */ void mPzScaleSet(bool); + /* 80758A94 */ bool mPzScaleSet(bool); /* 80758BA0 */ void mEnemyScaleSet(); - /* 80758D44 */ void getCutType(); + /* 80758D44 */ u8 getCutType(); /* 80758DA4 */ void mSetFirePos(); /* 80758E04 */ void damage_check(); /* 807592F4 */ void executeSearchPoint(); @@ -38,23 +50,93 @@ public: /* 8075F578 */ void fire_mtx_set(); /* 8075F734 */ void mtx_set(); /* 8075F7E8 */ void cc_set(); - /* 8075F964 */ void execute(); - /* 8075FA88 */ void _delete(); - /* 8075FB4C */ void CreateHeap(); - /* 8076010C */ void create(); + /* 8075F964 */ int execute(); + /* 8075FA88 */ int _delete(); + /* 8075FB4C */ int CreateHeap(); + /* 8076010C */ int create(); /* 807607EC */ daE_PZ_c(); -private: - /* 0x5AC */ u8 field_0x5ac[0x845 - 0x5ac]; - /* 0x845 */ u8 field_0x845; - /* 0x846 */ u8 field_0x846[0xef8 - 0x846]; + /* 0x5AC */ request_of_phase_process_class mPhase; + /* 0x5B4 */ mDoExt_McaMorfSO* mpModelMorf; + /* 0x5B8 */ mDoExt_McaMorfSO* mpBallModelMorf; + /* 0x5BC */ J3DModel* mpPortalModel; + /* 0x5C0 */ mDoExt_btkAnm* mpPortalBtk; + /* 0x5C4 */ mDoExt_brkAnm* mpPortalBrk[2]; + /* 0x5CC */ mDoExt_brkAnm* mpBallBrk; + /* 0x5D0 */ mDoExt_btkAnm* mpPzBtk; + /* 0x5D4 */ mDoExt_brkAnm* mpPzBrk; + /* 0x5D8 */ int field_0x5d8; + /* 0x5DC */ Z2CreatureEnemy field_0x5dc; + /* 0x680 */ int mActionMode; + /* 0x684 */ int mMoveMode; + /* 0x688 */ u32 mShadowKey; + /* 0x68C */ int mAnm; + /* 0x690 */ cXyz mPointPos[10]; + /* 0x708 */ cXyz field_0x708[10]; + /* 0x780 */ u8 field_0x780[10]; + /* 0x78A */ u8 mPointNum; + /* 0x78B */ u8 mCurrentPoint; + /* 0x78C */ u8 field_0x78c; + /* 0x790 */ cXyz field_0x790; + /* 0x79C */ cXyz mPzScale; + /* 0x7A8 */ cXyz field_0x7a8; + /* 0x7B4 */ u8 field_0x7B4[0x7BC - 0x7B4]; + /* 0x7BC */ f32 field_0x7bc; + /* 0x7C0 */ f32 field_0x7c0; + /* 0x7C4 */ f32 field_0x7c4; + /* 0x7C8 */ f32 field_0x7c8; + /* 0x7CC */ f32 field_0x7cc; + /* 0x7D0 */ u8 field_0x7d0; + /* 0x7D1 */ u8 field_0x7d1; + /* 0x7D2 */ u8 field_0x7d2; + /* 0x7D3 */ u8 field_0x7d3; + /* 0x7D4 */ u8 arg0; + /* 0x7D5 */ u8 arg1; + /* 0x7D6 */ u8 bitSw; + /* 0x7D7 */ u8 field_0x7d7; + /* 0x7D8 */ u8 field_0x7d8; + /* 0x7DC */ fpc_ProcID field_0x7dc[25]; + /* 0x840 */ u8 field_0x840; + /* 0x841 */ u8 field_0x841; + /* 0x842 */ u8 field_0x842; + /* 0x843 */ u8 field_0x843; + /* 0x844 */ u8 field_0x844; + /* 0x845 */ u8 mBombArrowHit; + /* 0x846 */ u8 field_0x846; + /* 0x847 */ u8 field_0x847; + /* 0x848 */ u8 field_0x848; + /* 0x84C */ int field_0x84c; + /* 0x850 */ dBgS_AcchCir mAcchCir; + /* 0x890 */ dBgS_ObjAcch mAcch; + /* 0xA68 */ u32 field_0xa68[3]; + /* 0xA74 */ u32 field_0xa74[2]; + /* 0xA7C */ u8 field_0xA7C[0xAB4 - 0xA7C]; + /* 0xAB4 */ u32 field_0xab4[2]; + /* 0xABC */ cXyz mDemoCameraEye; + /* 0xAC8 */ cXyz mDemoCameraCenter; + /* 0xAD4 */ dCcD_Stts mColliderStts; + /* 0xB10 */ dCcD_Cyl mCylCollider; + /* 0xC4C */ dCcD_Cyl mWarpCylCollider; + /* 0xD88 */ dCcD_Sph mBulletAtCollider; + /* 0xEC0 */ dCcU_AtInfo mAtInfo; + /* 0xEE4 */ u8 mInitHIO; + /* 0xEE5 */ u8 field_0xee5[0xEF8 - 0xEE5]; }; STATIC_ASSERT(sizeof(daE_PZ_c) == 0xEF8); class daE_PZ_HIO_c { +public: /* 8075856C */ daE_PZ_HIO_c(); - /* 80760C60 */ ~daE_PZ_HIO_c(); + /* 80760C60 */ virtual ~daE_PZ_HIO_c() {} + + /* 0x04 */ s8 no; + /* 0x08 */ f32 body_model_size; + /* 0x0C */ f32 portal_model_size; + /* 0x10 */ f32 bullet_speed; + /* 0x14 */ f32 weapon_hit_warp_speed; + /* 0x18 */ s16 after_attack_wait_time; + /* 0x1A */ s16 blur_start_timing; }; diff --git a/include/d/actor/d_a_player.h b/include/d/actor/d_a_player.h index 79ca8e2444..6588ae8ba8 100644 --- a/include/d/actor/d_a_player.h +++ b/include/d/actor/d_a_player.h @@ -1039,6 +1039,7 @@ public: void offPressedDamage() { offNoResetFlg2(FLG2_PRESSED_DAMAGE); } void onForceSubjectCancel() { onEndResetFlg0(ERFLG0_FORCE_SUBJECT_CANCEL); } void onEnemyDead() { onEndResetFlg0(ERFLG0_ENEMY_DEAD); } + void offDkCaught2() { offNoResetFlg0(FLG0_UNK_20000); } u32 checkBoarSingleBattle() const { return checkNoResetFlg2(daPy_FLG2(FLG2_UNK_1000000 | FLG2_BOAR_SINGLE_BATTLE)); } u32 checkWolfDashAutoJump() const { return checkNoResetFlg2(FLG2_WOLF_DASH_AUTO_JUMP); } diff --git a/include/f_pc/f_pc_base.h b/include/f_pc/f_pc_base.h index 78710be046..10f9041783 100644 --- a/include/f_pc/f_pc_base.h +++ b/include/f_pc/f_pc_base.h @@ -45,4 +45,6 @@ int fpcBs_Delete(base_process_class* i_proc); base_process_class* fpcBs_Create(s16 i_profname, fpc_ProcID i_procID, void* i_append); int fpcBs_SubCreate(base_process_class* i_proc); +extern int g_fpcBs_type; + #endif diff --git a/include/f_pc/f_pc_create_req.h b/include/f_pc/f_pc_create_req.h index 294f30862c..fa8dd1b6ae 100644 --- a/include/f_pc/f_pc_create_req.h +++ b/include/f_pc/f_pc_create_req.h @@ -29,14 +29,14 @@ typedef struct create_request { /* 0x44 */ layer_class* layer; } create_request; // Size: 0x48 -bool fpcCtRq_isCreatingByID(create_tag* i_createTag, fpc_ProcID* i_id); +BOOL fpcCtRq_isCreatingByID(create_tag* i_createTag, fpc_ProcID* i_id); BOOL fpcCtRq_IsCreatingByID(fpc_ProcID i_id); void fpcCtRq_CreateQTo(create_request* i_request); void fpcCtRq_ToCreateQ(create_request* i_request); BOOL fpcCtRq_Delete(create_request* i_request); BOOL fpcCtRq_Cancel(create_request* i_request); BOOL fpcCtRq_IsDoing(create_request* i_request); -void fpcCtRq_Handler(); +int fpcCtRq_Handler(); create_request* fpcCtRq_Create(layer_class* i_layer, u32 i_size, create_request_method_class* i_methods); diff --git a/include/f_pc/f_pc_creator.h b/include/f_pc/f_pc_creator.h index 8a81bd59e0..c23a3739ce 100644 --- a/include/f_pc/f_pc_creator.h +++ b/include/f_pc/f_pc_creator.h @@ -9,6 +9,6 @@ typedef struct base_process_class base_process_class; BOOL fpcCt_IsCreatingByID(fpc_ProcID id); BOOL fpcCt_IsDoing(base_process_class* pProc); BOOL fpcCt_Abort(base_process_class* pProc); -void fpcCt_Handler(); +int fpcCt_Handler(); #endif diff --git a/include/f_pc/f_pc_debug_sv.h b/include/f_pc/f_pc_debug_sv.h new file mode 100644 index 0000000000..d7c942faa5 --- /dev/null +++ b/include/f_pc/f_pc_debug_sv.h @@ -0,0 +1,16 @@ + +#ifndef F_PC_DEBUG_SV_H_ +#define F_PC_DEBUG_SV_H_ + +#include <dolphin.h> + +#ifdef DEBUG + +char* fpcDbSv_getNameString(s16 i_name); + +typedef void (*fpcDbSv_callback)(void* i_process); +extern const fpcDbSv_callback g_fpcDbSv_service[50]; + +#endif + +#endif diff --git a/include/f_pc/f_pc_layer.h b/include/f_pc/f_pc_layer.h index dfbef03b64..966b536bd2 100644 --- a/include/f_pc/f_pc_layer.h +++ b/include/f_pc/f_pc_layer.h @@ -42,7 +42,7 @@ s32 fpcLy_ToQueue(layer_class* i_layer, int treeListIdx, create_tag_class* i_cre s32 fpcLy_QueueTo(layer_class* i_layer, create_tag_class* i_createTag); int fpcLy_Cancel(layer_class* i_layer); -bool fpcLy_CancelMethod(process_method_tag_class* i_layer); +BOOL fpcLy_CancelMethod(process_method_tag_class* i_layer); void fpcLy_CancelQTo(process_method_tag_class* i_methods); s32 fpcLy_ToCancelQ(layer_class* i_layer, process_method_tag_class* i_methods); diff --git a/include/f_pc/f_pc_node_req.h b/include/f_pc/f_pc_node_req.h index 4491bc6850..c2058fbe8d 100644 --- a/include/f_pc/f_pc_node_req.h +++ b/include/f_pc/f_pc_node_req.h @@ -36,6 +36,10 @@ typedef struct node_create_request { /* 0x58 */ s16 name; /* 0x5C */ void* data; /* 0x60 */ s16 unk_0x60; +#ifdef DEBUG + /* 0x64 */ int unk_0x64; + /* 0x68 */ int unk_0x68; +#endif } node_create_request; // Size: 0x64 typedef struct request_node_class { diff --git a/include/f_pc/f_pc_priority.h b/include/f_pc/f_pc_priority.h index bbb0f469be..62b4b84507 100644 --- a/include/f_pc/f_pc_priority.h +++ b/include/f_pc/f_pc_priority.h @@ -10,17 +10,17 @@ enum { fpcPi_NONE_e = 0xFFFF, }; -typedef struct process_priority_queue_info { +typedef struct priority_id { /* 0x0 */ unsigned int layer_id; /* 0x4 */ u16 list_id; /* 0x6 */ u16 list_priority; -} process_priority_queue_info; +} priority_id; typedef struct process_priority_class { /* 0x00 */ create_tag_class base; /* 0x14 */ process_method_tag_class method_tag; - /* 0x30 */ process_priority_queue_info queue_info; - /* 0x38 */ process_priority_queue_info current_info; + /* 0x30 */ priority_id queue_info; + /* 0x38 */ priority_id current_info; } process_priority_class; s32 fpcPi_IsInQueue(process_priority_class* pPi); diff --git a/include/f_pc/f_pc_stdcreate_req.h b/include/f_pc/f_pc_stdcreate_req.h index a5a239e209..d393afafcb 100644 --- a/include/f_pc/f_pc_stdcreate_req.h +++ b/include/f_pc/f_pc_stdcreate_req.h @@ -14,6 +14,9 @@ typedef struct standard_create_request_class { /* 0x54 */ void* process_append; /* 0x58 */ stdCreateFunc create_post_method; /* 0x5C */ void* unk_0x5C; +#ifdef DEBUG + /* 0x60 */ int unk_0x60; +#endif } standard_create_request_class; s32 fpcSCtRq_phase_CreateProcess(standard_create_request_class* i_request); |
