diff options
| author | TakaRikka <38417346+TakaRikka@users.noreply.github.com> | 2025-10-27 20:55:46 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-28 05:55:46 +0200 |
| commit | 73927f50a94d85cac09bd31aff71a7ffb5194cbd (patch) | |
| tree | 0cd268513d9ede4d40a4177a2524b76c87242fe0 /include | |
| parent | 577747e228290cd4018135a454f4ae7caf694e90 (diff) | |
kankyo / m_do_ext debug stuff (#2759)
* kankyo debug work
* finish draw packets
Diffstat (limited to 'include')
| -rw-r--r-- | include/JSystem/JHostIO/JORMContext.h | 7 | ||||
| -rw-r--r-- | include/c/c_damagereaction.h | 2 | ||||
| -rw-r--r-- | include/d/actor/d_a_npc.h | 6 | ||||
| -rw-r--r-- | include/d/actor/d_a_npc_cd2.h | 2 | ||||
| -rw-r--r-- | include/d/d_com_inf_game.h | 20 | ||||
| -rw-r--r-- | include/d/d_kankyo.h | 543 | ||||
| -rw-r--r-- | include/d/d_kankyo_data.h | 12 | ||||
| -rw-r--r-- | include/d/d_kankyo_debug.h | 20 | ||||
| -rw-r--r-- | include/d/d_kankyo_rain.h | 3 | ||||
| -rw-r--r-- | include/d/d_stage.h | 7 | ||||
| -rw-r--r-- | include/f_ap/f_ap_game.h | 16 | ||||
| -rw-r--r-- | include/m_Do/m_Do_ext.h | 103 | ||||
| -rw-r--r-- | include/m_Do/m_Do_graphic.h | 4 | ||||
| -rw-r--r-- | include/m_Do/m_Do_mtx.h | 2 |
14 files changed, 605 insertions, 142 deletions
diff --git a/include/JSystem/JHostIO/JORMContext.h b/include/JSystem/JHostIO/JORMContext.h index d2c01b3514..daf8bbc5f5 100644 --- a/include/JSystem/JHostIO/JORMContext.h +++ b/include/JSystem/JHostIO/JORMContext.h @@ -69,6 +69,11 @@ height); \ } +#define DEFINE_UPDATE_COMBO_BOX(T) \ + void updateComboBox(u32 mode, T* pSrc, u32 param_2) { \ + updateSelectorSub(mode, (uintptr_t)pSrc, *pSrc, param_2); \ + } + #define DEFINE_UPDATE_SLIDER(T) \ void updateSlider(u32 mode, T* pSrc, T rangeMin, T rangeMax, u32 param_5) { \ updateSliderSub(mode, (uintptr_t)pSrc, *pSrc, rangeMin, rangeMax, param_5); \ @@ -237,6 +242,8 @@ public: DEFINE_START_COMBO_BOX_ID(int, JORPropertyEvent::EKind_ValueID) + DEFINE_UPDATE_COMBO_BOX(u8) + void endComboBox() { endSelectorSub(); } void genComboBoxItem(const char* label, s32 itemNo) { diff --git a/include/c/c_damagereaction.h b/include/c/c_damagereaction.h index 05bd673cbb..0bdc7f2540 100644 --- a/include/c/c_damagereaction.h +++ b/include/c/c_damagereaction.h @@ -23,4 +23,6 @@ extern u8 cDmr_FishingWether; extern u8 data_80450CA0; extern JPTraceParticleCallBack4 JPTracePCB4; +void debug_actor_create(); + #endif /* C_C_DAMAGEREACTION_H */ diff --git a/include/d/actor/d_a_npc.h b/include/d/actor/d_a_npc.h index 858e430bec..537ae86bef 100644 --- a/include/d/actor/d_a_npc.h +++ b/include/d/actor/d_a_npc.h @@ -534,7 +534,7 @@ public: /* 0xA80 */ f32 mExpressionMorfFrame; /* 0xA84 */ f32 mMorfFrames; /* 0xA88 */ bool mCreating; - /* 0xA89 */ bool mTwilight; + /* 0xA89 */ u8 mTwilight; /* 0xA8C */ dBgS_GndChk field_0xa8c; /* 0xAE0 */ dBgS_LinChk mLinChk; /* 0xB50 */ daNpcT_MotionSeqMngr_c mFaceMotionSeqMngr; @@ -938,7 +938,7 @@ public: /* 0x83C */ u16* field_0x83c; /* 0x840 */ u16 field_0x840; /* 0x842 */ u16 field_0x842; - /* 0x844 */ bool field_0x844; + /* 0x844 */ u8 field_0x844; /* 0x845 */ u8 field_0x845[0x848 - 0x845]; /* 0x848 */ s32 field_0x848; /* 0x84C */ dMsgFlow_c mMsgFlow; @@ -1089,7 +1089,7 @@ protected: /* 0x9F1 */ u8 field_0x9f1; /* 0x9F2 */ bool mHide; /* 0x9F3 */ u8 field_0x9f3; - /* 0x9F4 */ bool mTwilight; + /* 0x9F4 */ u8 mTwilight; /* 0x9F5 */ u8 field_0x9f5; /* 0x9F6 */ u8 field_0x9f6; /* 0x9F8 */ dMsgFlow_c mFlow; diff --git a/include/d/actor/d_a_npc_cd2.h b/include/d/actor/d_a_npc_cd2.h index eb6217d0c4..791e8c5074 100644 --- a/include/d/actor/d_a_npc_cd2.h +++ b/include/d/actor/d_a_npc_cd2.h @@ -370,7 +370,7 @@ public: /* 0xAC0 */ s16 field_0xac0; /* 0xAC2 */ s16 field_0xac2; /* 0xAC4 */ s16 field_0xac4; - /* 0xAC6 */ bool mIsDarkWorld; + /* 0xAC6 */ u8 mIsDarkWorld; }; #endif /* A_NPC_D_A_NPC_CD2_H */ diff --git a/include/d/d_com_inf_game.h b/include/d/d_com_inf_game.h index 910a297975..de900f731d 100644 --- a/include/d/d_com_inf_game.h +++ b/include/d/d_com_inf_game.h @@ -2151,6 +2151,10 @@ inline void dComIfGs_revSwitch(int i_no, int i_roomNo) { g_dComIfG_gameInfo.info.revSwitch(i_no, i_roomNo); } +inline s8 dComIfGs_Grass_hide_Check() { + return g_dComIfG_gameInfo.field_0x1ddfc; +} + void dComIfGp_setSelectItem(int index); s32 dComIfGp_offHeapLockFlag(int flag); void dComIfGp_createSubExpHeap2D(); @@ -3406,6 +3410,22 @@ inline dComIfG_MesgCamInfo_c* dComIfGp_getMesgCameraInfo() { return g_dComIfG_gameInfo.play.getMesgCamInfo(); } +inline int dComIfGp_getStageEnvrNumInfo() { + return g_dComIfG_gameInfo.play.getStage().getEnvrNumInfo(); +} + +inline int dComIfGp_getStagePselectNumInfo() { + return g_dComIfG_gameInfo.play.getStage().getPselectNumInfo(); +} + +inline int dComIfGp_getStagePaletteNumInfo() { + return g_dComIfG_gameInfo.play.getStage().getPaletteNumInfo(); +} + +inline int dComIfGp_getStageVrboxcolNumInfo() { + return g_dComIfG_gameInfo.play.getStage().getVrboxcolNumInfo(); +} + inline int dComIfGp_roomControl_getStayNo() { return dStage_roomControl_c::getStayNo(); } diff --git a/include/d/d_kankyo.h b/include/d/d_kankyo.h index 145f56b1f4..6360e4330c 100644 --- a/include/d/d_kankyo.h +++ b/include/d/d_kankyo.h @@ -3,8 +3,10 @@ #include "JSystem/J3DGraphBase/J3DStruct.h" #include "d/d_kankyo_wether.h" +#include "d/d_kankyo_data.h" #include "f_pc/f_pc_base.h" #include "m_Do/m_Do_ext.h" +#include "JSystem/JHostIO/JORReflexible.h" class JPABaseEmitter; class cBgS_PolyInfo; @@ -223,6 +225,13 @@ struct dKy_Odour_Data { /* 0x8 */ dKankyo_odour_Packet* mpOdourPacket; }; +struct dKy_flush_info { + u8 start_frame; + u8 r; + u8 g; + u8 b; +}; + class dScnKy_env_light_c { public: /* 8019F2E8 */ dScnKy_env_light_c(); @@ -505,46 +514,501 @@ inline dScnKy_env_light_c* dKy_getEnvlight() { return &g_env_light; } -// unsure of correct size -class dKankyo_lightHIO_c { +class dKankyo_lightHIO_c : public JORReflexible { public: - void dKankyo_lightHIOInfoUpDateF() { - // NONMATCHING - } + dKankyo_lightHIO_c(); + + void listenPropertyEvent(const JORPropertyEvent*); + void genMessage(JORMContext*); + virtual ~dKankyo_lightHIO_c() {} + + void dKankyo_lightHIOInfoUpDateF(); + + /* 0x04 */ u8 field_0x4; + /* 0x05 */ u8 field_0x5; + /* 0x08 */ int field_0x8; + /* 0x0C */ int field_0xc[10]; + /* 0x34 */ u8 m_fogtype; + /* 0x35 */ u8 field_0x35[0x50 - 0x35]; + /* 0x50 */ u8 m_displayTVColorSettings; + /* 0x51 */ u8 m_HOSTIO_setting; + /* 0x52 */ u8 field_0x52; + /* 0x53 */ u8 m_forcedPalette; + /* 0x54 */ u8 m_displayColorPaletteCheckInfo; + /* 0x58 */ f32 field_0x58; + /* 0x5C */ s16 field_0x5c; + /* 0x5E */ s16 field_0x5e; + /* 0x60 */ u8 field_0x60; + /* 0x61 */ u8 field_0x61; + /* 0x62 */ u8 field_0x62; + /* 0x63 */ u8 field_0x63; + /* 0x64 */ u8 field_0x64; + /* 0x65 */ u8 field_0x65; + /* 0x66 */ u8 field_0x66; + /* 0x67 */ u8 field_0x67; + /* 0x68 */ u8 field_0x68; + /* 0x69 */ u8 field_0x69; + /* 0x6A */ u8 field_0x6a; + /* 0x6B */ u8 field_0x6b; + /* 0x6C */ cXyz m_BG_fakelight_pos; + /* 0x78 */ u8 m_BG_fakelight_R; + /* 0x79 */ u8 m_BG_fakelight_G; + /* 0x7A */ u8 m_BG_fakelight_B; + /* 0x7C */ f32 m_BG_fakelight_power; + /* 0x80 */ u8 field_0x80; +}; + +class dKankyo_vrboxHIO_c : public JORReflexible { +public: + dKankyo_vrboxHIO_c(); + + void listenPropertyEvent(const JORPropertyEvent*); + void genMessage(JORMContext*); + virtual ~dKankyo_vrboxHIO_c() {} + + void dKankyo_vrboxHIOInfoUpDateF(); + + /* 0x04 */ u8 m_VrboxSetting; + /* 0x05 */ u8 field_0x5; + /* 0x06 */ u8 m_displayVrboxTVColorSettings; + /* 0x07 */ u8 field_0x7; + /* 0x08 */ u8 field_0x8; + /* 0x09 */ u8 field_0x9; + /* 0x0A */ u8 field_0xa; + /* 0x0B */ u8 field_0xb; + /* 0x0C */ u8 field_0xc; + /* 0x0D */ u8 field_0xd; + /* 0x0E */ s8 field_0xe; + /* 0x0F */ s8 field_0xf; + /* 0x10 */ s8 field_0x10; + /* 0x11 */ s8 field_0x11; + /* 0x12 */ s8 field_0x12; + /* 0x13 */ s8 field_0x13; + /* 0x14 */ u8 field_0x14; + /* 0x18 */ f32 m_horizonHeight; + /* 0x1C */ u8 field_0x1c[0x20 - 0x1C]; +}; + +class dKankyo_bloomHIO_c : public JORReflexible { +public: + dKankyo_bloomHIO_c(); + + void listenPropertyEvent(const JORPropertyEvent*); + void genMessage(JORMContext*); + virtual ~dKankyo_bloomHIO_c() {} + + /* 0x004 */ u8 field_0x4; + /* 0x005 */ u8 field_0x5; + /* 0x006 */ u8 m_saturationPattern; + /* 0x007 */ dkydata_bloomInfo_info_class bloom_info[64]; +}; + +class dKankyo_navyHIO_c : public JORReflexible { +public: + dKankyo_navyHIO_c(); + + void genMessage(JORMContext*); + virtual ~dKankyo_navyHIO_c() {} + + /* 0x004 */ u8 field_0x4; + /* 0x005 */ u8 field_0x5; + /* 0x006 */ u8 field_0x6; + /* 0x008 */ s16 field_0x8; + /* 0x00C */ f32 cloud_sunny_wind_influence_rate; + /* 0x010 */ f32 cloud_sunny_bottom_height; + /* 0x014 */ f32 cloud_sunny_top_height; + /* 0x018 */ f32 cloud_cloudy_wind_influence_rate; + /* 0x01C */ f32 cloud_cloudy_bottom_height; + /* 0x020 */ f32 cloud_cloudy_top_height; + /* 0x024 */ f32 cloud_cloudy_height_shrink_rate; + /* 0x028 */ f32 cloud_cloudy_alpha; + /* 0x02C */ f32 cloud_sunny_size; + /* 0x030 */ f32 cloud_cloudy_size; + /* 0x034 */ f32 cloud_sunny_height_shrink_rate; + /* 0x038 */ f32 cloud_sunny_alpha; + /* 0x03C */ f32 field_0x3c; + /* 0x040 */ f32 field_0x40; + /* 0x044 */ f32 field_0x44; + /* 0x048 */ f32 field_0x48; + /* 0x04C */ f32 field_0x4c; + /* 0x050 */ f32 field_0x50; + /* 0x054 */ f32 field_0x54; + /* 0x058 */ f32 field_0x58; + /* 0x05C */ f32 field_0x5c; + /* 0x060 */ f32 field_0x60; + /* 0x064 */ f32 field_0x64; + /* 0x068 */ u8 field_0x68; + /* 0x069 */ u8 field_0x69; + /* 0x06A */ s16 housi_max_number; + /* 0x06C */ f32 housi_max_alpha; + /* 0x070 */ f32 housi_max_scale; + /* 0x074 */ u8 field_0x74; + /* 0x075 */ u8 field_0x75; + /* 0x076 */ u8 field_0x76; + /* 0x077 */ u8 field_0x77; + /* 0x078 */ u8 field_0x78; + /* 0x079 */ u8 field_0x79; + /* 0x07A */ u8 field_0x7a; + /* 0x07C */ f32 field_0x7c; + /* 0x080 */ f32 field_0x80; + /* 0x084 */ f32 field_0x84; + /* 0x088 */ s16 field_0x88; + /* 0x08A */ u8 field_0x8a; + /* 0x08C */ cXyz field_0x8c; + /* 0x098 */ cXyz field_0x98; + /* 0x0A4 */ u8 field_0xA4[0x0A8 - 0x0A4]; + /* 0x0A8 */ GXColor moon_col; + /* 0x0AC */ f32 moon_scale; + /* 0x0B0 */ cXyz field_0xb0; + /* 0x0BC */ f32 field_0xbc; + /* 0x0C0 */ f32 field_0xc0; + /* 0x0C4 */ s16 field_0xc4; + /* 0x0C8 */ f32 field_0xc8; + /* 0x0CC */ f32 field_0xcc; + /* 0x0D0 */ u8 field_0xd0; + /* 0x0D1 */ u8 field_0xd1; + /* 0x0D2 */ u8 field_0xd2; + /* 0x0D3 */ u8 field_0xd3; + /* 0x0D4 */ u8 field_0xd4; + /* 0x0D5 */ u8 field_0xd5; + /* 0x0D6 */ u8 field_0xd6; + /* 0x0D7 */ u8 field_0xd7; + /* 0x0D8 */ u8 field_0xd8; + /* 0x0D9 */ u8 field_0xd9; + /* 0x0DA */ u8 field_0xda; + /* 0x0DB */ u8 field_0xdb; + /* 0x0DC */ u8 field_0xdc; + /* 0x0DD */ u8 field_0xdd; + /* 0x0DE */ u8 field_0xde; + /* 0x0E0 */ s16 field_0xe0; + /* 0x0E4 */ f32 field_0xe4; + /* 0x0E8 */ color_RGB_class sun_col; + /* 0x0EB */ u8 field_0xeb; + /* 0x0EC */ color_RGB_class sun_col2; + /* 0x0EF */ u8 field_0xef; + /* 0x0F0 */ u8 field_0xf0; + /* 0x0F1 */ u8 field_0xf1; + /* 0x0F2 */ u8 field_0xf2; + /* 0x0F3 */ u8 field_0xf3; + /* 0x0F4 */ u8 field_0xf4; + /* 0x0F5 */ u8 field_0xf5; + /* 0x0F6 */ u8 field_0xf6; + /* 0x0F7 */ u8 field_0xf7; + /* 0x0F8 */ u8 field_0xf8; + /* 0x0F9 */ u8 field_0xf9; + /* 0x0FA */ u8 field_0xfa; + /* 0x0FB */ u8 field_0xfb; + /* 0x0FC */ u8 field_0xfc; + /* 0x0FD */ u8 field_0xfd; + /* 0x0FE */ u8 field_0xfe; + /* 0x0FF */ u8 field_0xFF[0x108 - 0x0FF]; + /* 0x108 */ u8 field_0x108; + /* 0x109 */ u8 field_0x109; + /* 0x10A */ u8 field_0x10a; + /* 0x10B */ u8 field_0x10b; + /* 0x10C */ u8 field_0x10c; + /* 0x10D */ u8 field_0x10d; + /* 0x10E */ u8 field_0x10e; + /* 0x10F */ u8 field_0x10f; + /* 0x110 */ u8 field_0x110; + /* 0x111 */ u8 field_0x111; + /* 0x112 */ u8 field_0x112; + /* 0x113 */ u8 field_0x113; + /* 0x114 */ u8 field_0x114; + /* 0x115 */ u8 field_0x115; + /* 0x116 */ u8 field_0x116; + /* 0x117 */ u8 field_0x117[0x120 - 0x117]; + /* 0x120 */ f32 field_0x120; + /* 0x124 */ f32 field_0x124; + /* 0x128 */ u8 constellation_maker_ON; + /* 0x12C */ cXyz constellation_maker_pos[10]; + /* 0x1A4 */ f32 lightning_scale_x_min; + /* 0x1A8 */ f32 lightning_scale_x_max; + /* 0x1AC */ f32 lightning_scale_y_min; + /* 0x1B0 */ f32 lightning_scale_y_max; + /* 0x1B4 */ s16 lightning_tilt_angle; + /* 0x1B6 */ s16 field_0x1b6; + /* 0x1B8 */ cXyz collect_light_reflect_pos; + /* 0x1C4 */ u8 lightning_debug_mode; + /* 0x1C5 */ u8 field_0x1c5; + /* 0x1C6 */ u8 sun_adjust_ON; + /* 0x1C8 */ f32 moya_alpha; + /* 0x1CC */ color_RGB_class thunder_col; + /* 0x1D0 */ f32 thunder_height; + /* 0x1D4 */ f32 thunder_blacken_rate; + /* 0x1D8 */ f32 water_in_col_ratio_R; + /* 0x1DC */ f32 water_in_col_ratio_G; + /* 0x1E0 */ f32 water_in_col_ratio_B; + /* 0x1E4 */ u8 field_0x1e4; + /* 0x1E5 */ u8 field_0x1e5; + /* 0x1E6 */ u8 field_0x1e6; + /* 0x1E8 */ f32 field_0x1e8; + /* 0x1EC */ f32 field_0x1ec; + /* 0x1F0 */ f32 field_0x1f0; + /* 0x1F4 */ f32 field_0x1f4; + /* 0x1F8 */ f32 field_0x1f8; + /* 0x1FC */ u8 field_0x1fc; + /* 0x1FD */ u8 field_0x1fd; + /* 0x1FE */ u8 field_0x1fe; + /* 0x1FF */ u8 field_0x1ff; + /* 0x200 */ u8 field_0x200; + /* 0x204 */ f32 mist_tag_fog_near; + /* 0x208 */ f32 mist_tag_fog_far; + /* 0x20C */ u8 demo_adjust_SW; + /* 0x20D */ u8 wipe_test_ON; + /* 0x210 */ f32 field_0x210; + /* 0x214 */ u8 fade_test_speed; + /* 0x215 */ u8 field_0x215; + /* 0x218 */ f32 smell_railtag_space; + /* 0x21C */ color_RGB_class smell_col; + /* 0x21F */ u8 field_0x21f; + /* 0x220 */ color_RGB_class smell_col2; + /* 0x224 */ f32 smell_alpha; + /* 0x228 */ u8 smell_adjust_ON; + /* 0x22A */ u16 field_0x22a; + /* 0x22C */ u8 field_0x22c; + /* 0x22D */ u8 field_0x22d; + /* 0x22E */ u8 field_0x22E[0x231 - 0x22E]; + /* 0x231 */ u8 light_adjust_ON; + /* 0x232 */ u8 field_0x232[0x23C - 0x232]; + /* 0x23C */ color_RGB_class adjust_light_ambcol; + /* 0x240 */ s16 adjust_light_dif0_col_R; + /* 0x242 */ s16 adjust_light_dif0_col_G; + /* 0x244 */ s16 adjust_light_dif0_col_B; + /* 0x246 */ color_RGB_class adjust_light_dif1_col; + /* 0x24C */ Vec adjust_light_main_pos; + /* 0x258 */ GXColorS10 mist_twilight_c1_col; + /* 0x260 */ GXColor mist_twilight_c2_col; + /* 0x264 */ color_RGB_class field_0x264; + /* 0x267 */ u8 field_0x267; + /* 0x268 */ u8 field_0x268; + /* 0x26A */ s16 adjust_custom_R; + /* 0x26C */ s16 adjust_custom_G; + /* 0x26E */ s16 adjust_custom_B; + /* 0x270 */ u8 adjust_light_mode; + /* 0x274 */ f32 adjust_height; + /* 0x278 */ f32 field_0x278; + /* 0x27C */ f32 field_0x27c; + /* 0x280 */ f32 field_0x280; + /* 0x284 */ f32 field_0x284; + /* 0x288 */ f32 field_0x288; + /* 0x28C */ f32 field_0x28c; + /* 0x290 */ u8 shadow_adjust_ON; + /* 0x294 */ f32 shadow_normal_alpha; + /* 0x298 */ f32 shadow_max_alpha; + /* 0x29C */ u8 field_0x29c; + /* 0x29D */ u8 field_0x29d; + /* 0x29E */ u8 field_0x29e; + /* 0x29F */ u8 field_0x29f; + /* 0x2A0 */ u8 field_0x2a0; + /* 0x2A1 */ u8 field_0x2a1; + /* 0x2A2 */ u8 field_0x2a2; + /* 0x2A3 */ u8 field_0x2a3; + /* 0x2A4 */ u8 field_0x2a4; + /* 0x2A5 */ u8 field_0x2a5; + /* 0x2A6 */ u8 field_0x2a6; + /* 0x2A7 */ u8 field_0x2a7; + /* 0x2A8 */ u8 field_0x2a8; + /* 0x2A9 */ u8 field_0x2a9; + /* 0x2AA */ u8 field_0x2aa; + /* 0x2AB */ color_RGB_class camera_light_col; + /* 0x2AE */ u8 field_0x2ae; + /* 0x2B0 */ f32 camera_light_y_shift; + /* 0x2B4 */ f32 camera_light_power; + /* 0x2B8 */ f32 camera_light_cutoff; + /* 0x2BC */ u8 camera_light_sp; + /* 0x2BD */ u8 camera_light_da; + /* 0x2BE */ u8 room_light_type; + /* 0x2C0 */ s16 demo_focus_pos; + /* 0x2C4 */ f32 demo_focus_offset_x; + /* 0x2C8 */ f32 demo_focus_offset_y; + /* 0x2CC */ color_RGB_class grass_ambcol; + /* 0x2CF */ u8 field_0x2cf; + /* 0x2D0 */ u8 grass_adjust_ON; + /* 0x2D4 */ f32 grass_shine_value; + /* 0x2D8 */ s16 stars_max_number; + /* 0x2DA */ u8 display_save_location; + /* 0x2DB */ u8 door_light_influence_ratio; + /* 0x2DC */ s16 unk_light_influence_ratio; + /* 0x2DE */ u8 fish_pond_colreg_adjust_ON; + /* 0x2E0 */ s16 fish_pond_colreg_c0_R; + /* 0x2E2 */ s16 fish_pond_colreg_c0_G; + /* 0x2E4 */ s16 fish_pond_colreg_c0_B; + /* 0x2E6 */ u8 field_0x2E6[0x2E8 - 0x2E6]; + /* 0x2E8 */ u8 water_mud_adjust_ON; + /* 0x2EA */ s16 field_0x2ea; + /* 0x2EC */ s16 field_0x2ec; + /* 0x2EE */ u8 fish_pond_tree_adjust_ON; + /* 0x2EF */ color_RGB_class fish_pond_tree_ambcol; + /* 0x2F2 */ u8 field_0x2f2; + /* 0x2F3 */ color_RGB_class fish_pond_tree_dif0_col; + /* 0x2F6 */ u8 field_0x2f6; + /* 0x2F7 */ color_RGB_class fish_pond_tree_dif1_col; + /* 0x2FA */ u8 field_0x2fa; + /* 0x2FB */ u8 rainbow_adjust_ON; + /* 0x2FC */ s16 rainbow_separation_dist; + /* 0x2FE */ u8 rainbow_max_alpha; + /* 0x2FF */ u8 field_0x2ff; + /* 0x300 */ u8 grass_light_debug; + /* 0x301 */ u8 grass_light_influence_ratio; + /* 0x302 */ s16 field_0x302; + /* 0x304 */ f32 field_0x304; + /* 0x308 */ u8 field_0x308; + /* 0x309 */ color_RGB_class moya_col; + /* 0x30C */ u8 field_0x30c; + /* 0x30D */ u8 field_0x30d; + /* 0x30E */ u8 twilight_sense_saturation_mode; + /* 0x30F */ u8 twilight_sense_pat; + /* 0x310 */ u8 twilight_sense_pat_tv_display_ON; + /* 0x311 */ u8 field_0x311; + /* 0x312 */ u8 field_0x312; + /* 0x313 */ u8 camera_light_adjust_ON; + /* 0x314 */ f32 field_0x314; + /* 0x318 */ f32 terrain_height_crr; + /* 0x31C */ f32 influence_multiplier; + /* 0x320 */ f32 cutoff_multiplier; + /* 0x324 */ color_RGB_class possessed_zelda_light_col; + /* 0x327 */ u8 field_0x327; + /* 0x328 */ f32 possessed_zelda_light_height; + /* 0x32C */ f32 possessed_zelda_light_power; + /* 0x330 */ color_RGB_class beast_ganon_light_col; + /* 0x333 */ u8 field_0x333; + /* 0x334 */ f32 beast_ganon_light_height; + /* 0x338 */ f32 beast_ganon_light_power; + /* 0x33C */ color_RGB_class water_in_light_col; +}; + +class dKankyo_efflightHIO_c : public JORReflexible { +public: + dKankyo_efflightHIO_c(); + + void genMessage(JORMContext*); + virtual ~dKankyo_efflightHIO_c() {} + + /* 0x04 */ u8 field_0x4; + /* 0x05 */ u8 adjust_ON; + /* 0x08 */ f32 power; + /* 0x0C */ f32 fluctuation; + /* 0x10 */ dKy_flush_info step1; + /* 0x14 */ dKy_flush_info step2; + /* 0x18 */ dKy_flush_info step3; + /* 0x1C */ dKy_flush_info step4; +}; + +class dKankyo_demolightHIO_c : public JORReflexible { +public: + dKankyo_demolightHIO_c(); + + void genMessage(JORMContext*); + virtual ~dKankyo_demolightHIO_c() {} + + /* 0x04 */ u8 field_0x4; + /* 0x05 */ u8 adjust_ON; + /* 0x08 */ LIGHT_INFLUENCE light; +}; + +class dKankyo_windHIO_c : public JORReflexible { +public: + dKankyo_windHIO_c(); + + void genMessage(JORMContext*); + virtual ~dKankyo_windHIO_c() {} - u8 field_0x0[4]; + /* 0x04 */ u8 field_0x04[0x05 - 0x04]; + /* 0x05 */ u8 display_wind_dir; + /* 0x06 */ u8 use_HOSTIO_adjustment; + /* 0x08 */ int field_0x8; + /* 0x0C */ s16 global_x_angle; + /* 0x0E */ s16 global_y_angle; + /* 0x10 */ f32 global_wind_power; + /* 0x14 */ f32 field_0x14; + /* 0x18 */ f32 field_0x18; + /* 0x1C */ f32 field_0x1c; + /* 0x20 */ u8 display_wind_trajectory; + /* 0x22 */ s16 lightsword_x_angle; + /* 0x24 */ f32 lightsword_init_scale; + /* 0x28 */ f32 lightsword_end_scale; + /* 0x2C */ f32 influence; + /* 0x30 */ f32 influence_attenuation; + /* 0x34 */ f32 lightsword_move_speed; + /* 0x38 */ f32 wind_change_speed; + /* 0x3C */ s16 minigame_no_wind_duration; + /* 0x3E */ s16 minigame_low_wind_duration; + /* 0x40 */ s16 minigame_high_wind_duration; }; -class dKankyo_HIO_c { +class dKankyo_dungeonlightHIO_c : public JORReflexible { public: - /* 0x000 */ u8 field_0x000[0x1c - 0x0]; - /* 0x01C */ dKankyo_lightHIO_c field_0x01c; - /* 0x020 */ u8 field_0x020[0x6d - 0x20]; - /* 0x06D */ u8 field_0x06d; - /* 0x06E */ u8 field_0x06e[0xb4 - 0x6e]; - /* 0x0B4 */ u8 field_0x0b4; - /* 0x0B8 */ f32 field_0x0b8; - /* 0x0BC */ u8 field_0x0bc[0x3f4 - 0xbc]; - /* 0x3F4 */ f32 field_0x3f4; - /* 0x3F8 */ f32 field_0x3f8; - /* 0x3FC */ u8 field_0x3fc[0x686 - 0x3fc]; - /* 0x686 */ u8 field_0x686; - /* 0x687 */ u8 field_0x687[0x694 - 0x687]; - /* 0x694 */ u8 field_0x694; - /* 0x695 */ u8 field_0x695; - /* 0x696 */ u8 field_0x696; - /* 0x697 */ u8 field_0x697[0x698 - 0x697]; - /* 0x698 */ bool field_0x698; - /* 0x699 */ u8 field_0x699[0x69c - 0x699]; - /* 0x69C */ f32 field_0x69c; - /* 0x6A0 */ u8 field_0x6a0[0x6d9 - 0x6a0]; - /* 0x6D9 */ u8 field_0x6d9; - /* 0x6DA */ u8 field_0x6da[0x6e0 - 0x6da]; - /* 0x6E0 */ f32 field_0x6e0; - /* 0x6E4 */ f32 field_0x6e4; - /* 0x6E8 */ f32 field_0x6e8; - /* 0x6EC */ u8 field_0x6ec[0x79b - 0x6ec]; - /* 0x79B */ u8 field_0x79b; + dKankyo_dungeonlightHIO_c(); + + void listenPropertyEvent(const JORPropertyEvent*); + void genMessage(JORMContext*); + virtual ~dKankyo_dungeonlightHIO_c() {} + + /* 0x4 */ u8 field_0x4; + /* 0x5 */ u8 field_0x5; + /* 0x6 */ u8 displayDebugSphere; + /* 0x7 */ u8 usedLights; + /* 0x8 */ u8 field_0x8; + /* 0x9 */ u8 field_0x9; +}; + +class dKankyo_ParticlelightHIO_c : public JORReflexible { +public: + dKankyo_ParticlelightHIO_c(); + + void listenPropertyEvent(const JORPropertyEvent*); + void genMessage(JORMContext*); + virtual ~dKankyo_ParticlelightHIO_c() {} + + /* 0x04 */ u8 field_0x4; + /* 0x05 */ u8 field_0x5; + /* 0x06 */ GXColor prim_col; + /* 0x0A */ GXColor env_col; + /* 0x10 */ f32 blend_ratio; + /* 0x14 */ int field_0x14; + /* 0x18 */ u8 type; + /* 0x19 */ u8 field_0x19; + /* 0x1A */ u8 field_0x1a; + /* 0x1B */ u8 field_0x1B[0x20 - 0x1B]; +}; + +class dKankyo_HIO_c : public JORReflexible { +public: + dKankyo_HIO_c(); + + void genMessage(JORMContext*); + virtual ~dKankyo_HIO_c() {} + + /* 0x004 */ u8 wether_effect; + /* 0x005 */ u8 wether_palette; + /* 0x006 */ u8 time_change; + /* 0x007 */ u8 display_env_tag_debug; + /* 0x008 */ u8 display_wether_debug; + /* 0x009 */ u8 field_0x9; + /* 0x00A */ u8 field_0xa; + /* 0x00B */ u8 display_schedule_bit; + /* 0x00C */ f32 field_0xc; + /* 0x010 */ u8 field_0x10; + /* 0x011 */ u8 start_rain; + /* 0x012 */ u8 effect_light_monitor; + /* 0x013 */ u8 point_light_monitor; + /* 0x014 */ u8 field_0x14; + /* 0x015 */ u8 field_0x15; + /* 0x016 */ u8 field_0x16; + /* 0x017 */ u8 field_0x17; + /* 0x018 */ u8 no_setting_tevstr; + /* 0x019 */ u8 no_color_type; + /* 0x01A */ s8 field_0x1a; + /* 0x01C */ dKankyo_lightHIO_c light; + /* 0x0A0 */ dKankyo_vrboxHIO_c vrbox; + /* 0x0C0 */ dKankyo_bloomHIO_c bloom; + /* 0x3C8 */ dKankyo_navyHIO_c navy; + /* 0x708 */ dKankyo_efflightHIO_c effLight; + /* 0x728 */ dKankyo_demolightHIO_c demoLight; + /* 0x750 */ dKankyo_windHIO_c wind; + /* 0x794 */ dKankyo_dungeonlightHIO_c dungeonLight; + /* 0x7A0 */ dKankyo_ParticlelightHIO_c particleLight; }; extern dKankyo_HIO_c g_kankyoHIO; @@ -611,7 +1075,7 @@ int dKy_WolfEyeLight_set(cXyz* pos_p, f32 angle_x, f32 angle_y, f32 cutoff, GXCo BOOL dKy_TeachWind_existence_chk(); u8 dKy_darkworld_stage_check(char const* stageName, int roomNo); BOOL dKy_withwarp_capture_check(); -bool dKy_darkworld_check(); +u8 dKy_darkworld_check(); void dKy_undwater_filter_draw(); BOOL dKy_camera_water_in_status_check(); int dKy_Outdoor_check(); @@ -675,10 +1139,7 @@ void dKy_bgparts_activelight_cut(int bgpart_id); int dKy_Indoor_check(); void dKy_GfFog_tevstr_set(dKy_tevstr_c* tevstr_p); void dKy_setLight_mine(dKy_tevstr_c* tevstr_p); - -#if DEBUG -inline void dKankyo_lightHIOInfoUpDateF() { -} -#endif +u8 dKy_get_schbit(); +int dKy_get_schbit_timer(); #endif /* D_KANKYO_D_KANKYO_H */ diff --git a/include/d/d_kankyo_data.h b/include/d/d_kankyo_data.h index 69cf99a0e9..2d6e628c48 100644 --- a/include/d/d_kankyo_data.h +++ b/include/d/d_kankyo_data.h @@ -52,9 +52,7 @@ enum BloomType { /* 0x1 */ BLOOM_SOFT }; -#define BLOOMINFO_MAX 64 -class dKydata_BloomInfo_c { -public: +struct dkydata_bloomInfo_info_class { /* 0x0 */ u8 mType; /* 0x1 */ u8 mThreshold; /* 0x2 */ u8 mBlurAmount; @@ -66,7 +64,13 @@ public: /* 0x8 */ u8 mSaturateSubtractR; /* 0x9 */ u8 mSaturateSubtractG; /* 0xA */ u8 mSaturateSubtractB; - /* 0xB */ u8 mSaturateSubtractA; + /* 0xB */ u8 mSaturateSubtractA; +}; + +#define BLOOMINFO_MAX 64 +class dKydata_BloomInfo_c { +public: + dkydata_bloomInfo_info_class info; }; // Size: 0xC void* dKyd_dmpalet_getp(); diff --git a/include/d/d_kankyo_debug.h b/include/d/d_kankyo_debug.h new file mode 100644 index 0000000000..85e371e5bd --- /dev/null +++ b/include/d/d_kankyo_debug.h @@ -0,0 +1,20 @@ +#ifndef D_KANKYO_DEBUG_H +#define D_KANKYO_DEBUG_H + +#include "d/d_kankyo.h" + +void dKydb_color_HIO_update(); +void dKydb_vrbox_HIO_update(); +void dKydb_timedisp(); +void dKydb_HIO_kcolor_debug(u8*, u8*, u8*, u8*); +void dKydb_HIO_vrbox_debug(u8*, u8*, u8*, u8*); +void dKydb_HIO_debug_TVdsp(f32, f32, int, int, u16); +void dKydb_HIO_debug_draw(); +void dKydb_HIO_winddebug_draw(); +void dKydb_HIO_debug_Wind(); +void dKydb_winddisp_draw(); +void dKydb_dungeonlight_draw(); +void dKydb_efplight_monitor(); +void dKydb_plight_monitor(); + +#endif diff --git a/include/d/d_kankyo_rain.h b/include/d/d_kankyo_rain.h index 8644fa695e..7b3e1ef75c 100644 --- a/include/d/d_kankyo_rain.h +++ b/include/d/d_kankyo_rain.h @@ -40,6 +40,9 @@ void dKyr_shstar_init(); void dKyr_star_move(); void dKyr_shstar_move(); void vrkumo_move(); + +class camera_class; void dKyr_get_vectle_calc(cXyz* param_0, cXyz* param_1, cXyz* param_2); +void dKy_set_eyevect_calc2(camera_class* i_camera, Vec* o_out, f32 param_2, f32 param_3); #endif /* D_KANKYO_D_KANKYO_RAIN_H */ diff --git a/include/d/d_stage.h b/include/d/d_stage.h index 9976a4b801..d9b611b5e1 100644 --- a/include/d/d_stage.h +++ b/include/d/d_stage.h @@ -1364,8 +1364,9 @@ inline s32 dStage_stagInfo_GetSaveTbl(stage_stag_info_class* param_0) { return param_0->field_0x09 >> 1 & 0x1f; } -inline s8 dStage_stagInfo_GetTimeH(stage_stag_info_class* p_info) { - return (p_info->field_0x0c >> 8) & 0xFF; +inline int dStage_stagInfo_GetTimeH(stage_stag_info_class* p_info) { + s8 time = (p_info->field_0x0c >> 8) & 0xFF; + return time; } inline BOOL dStage_staginfo_GetArchiveHeap(stage_stag_info_class* p_info) { @@ -1448,7 +1449,7 @@ inline u8 dStage_FileList_dt_GetDefaultCamera(dStage_FileList_dt_c* p_fList) { return p_fList->mDefaultCamera; } -inline u8 dStage_FileList_dt_GRASSLIGHT(dStage_FileList_dt_c* p_fList) { +inline int dStage_FileList_dt_GRASSLIGHT(dStage_FileList_dt_c* p_fList) { return (p_fList->mParameters >> 7) & 0xFF; } diff --git a/include/f_ap/f_ap_game.h b/include/f_ap/f_ap_game.h index b5cc371d80..5827100a27 100644 --- a/include/f_ap/f_ap_game.h +++ b/include/f_ap/f_ap_game.h @@ -139,6 +139,22 @@ inline u8 fapGmHIO_getHostIO() { return g_HIO.mUsingHostIO; } +inline void fapGmHIO_set2Ddraw(u8 param_0) { + g_HIO.mDisplay2D = param_0; +} + +inline u8 fapGmHIO_get2Ddraw() { + return g_HIO.mDisplay2D; +} + +inline void fapGmHIO_offPrint() { + g_HIO.mDisplayPrint &= (u8)~0x1; +} + +inline void fapGmHIO_onPrint() { + g_HIO.mDisplayPrint |= (u8)0x1; +} + struct fapGm_dataMem { enum HeapType_e { HeapType_Error_e, diff --git a/include/m_Do/m_Do_ext.h b/include/m_Do/m_Do_ext.h index 127daabc0d..f78bcdadd4 100644 --- a/include/m_Do/m_Do_ext.h +++ b/include/m_Do/m_Do_ext.h @@ -607,12 +607,7 @@ private: class mDoExt_cubePacket : public J3DPacket { public: - mDoExt_cubePacket(cXyz& i_position, cXyz& i_size, csXyz& i_angle, const GXColor& i_color) { - mPosition = i_position; - mSize = i_size; - mAngle = i_angle; - mColor = i_color; - } + mDoExt_cubePacket(cXyz& i_position, cXyz& i_size, csXyz& i_angle, const GXColor& i_color); virtual void draw(); virtual ~mDoExt_cubePacket() {} @@ -625,13 +620,7 @@ public: class mDoExt_cylinderPacket : public J3DPacket { public: - mDoExt_cylinderPacket(cXyz& i_position, f32 i_radius, f32 i_height, const GXColor& i_color, u8 i_clipZ) { - mPosition = i_position; - mRadius = i_radius; - mHeight = i_height; - mColor = i_color; - mClipZ = i_clipZ; - } + mDoExt_cylinderPacket(cXyz& i_position, f32 i_radius, f32 i_height, const GXColor& i_color, u8 i_clipZ); virtual void draw(); virtual ~mDoExt_cylinderPacket() {} @@ -645,12 +634,7 @@ public: class mDoExt_spherePacket : public J3DPacket { public: - mDoExt_spherePacket(cXyz& i_position, f32 i_size, const GXColor& i_color, u8 i_clipZ) { - mPosition = i_position; - mSize = i_size; - mColor = i_color; - mClipZ = i_clipZ; - } + mDoExt_spherePacket(cXyz& i_position, f32 i_size, const GXColor& i_color, u8 i_clipZ); virtual void draw(); virtual ~mDoExt_spherePacket() {} @@ -663,17 +647,7 @@ public: class mDoExt_cube8pPacket : public J3DPacket { public: - mDoExt_cube8pPacket(cXyz* i_points, const GXColor& i_color) { - cXyz* pnt_array = i_points; - - for (int i = 0; i < 8; i++) { - mPoints[i] = *pnt_array; - pnt_array++; - } - - DCStoreRangeNoSync(mPoints, sizeof(cXyz) * 8); - mColor = i_color; - } + mDoExt_cube8pPacket(cXyz* i_points, const GXColor& i_color); virtual void draw(); virtual ~mDoExt_cube8pPacket() {} @@ -684,18 +658,7 @@ public: class mDoExt_trianglePacket : public J3DPacket { public: - mDoExt_trianglePacket(cXyz* i_points, const GXColor& i_color, u8 i_clipZ) { - cXyz* pnt_array = i_points; - - for (int i = 0; i < 3; i++) { - mPoints[i] = *pnt_array; - pnt_array++; - } - - DCStoreRangeNoSync(mPoints, sizeof(cXyz) * 3); - mColor = i_color; - mClipZ = i_clipZ; - } + mDoExt_trianglePacket(cXyz* i_points, const GXColor& i_color, u8 i_clipZ); virtual void draw(); virtual ~mDoExt_trianglePacket() {} @@ -707,18 +670,7 @@ public: class mDoExt_quadPacket : public J3DPacket { public: - mDoExt_quadPacket(cXyz* i_points, const GXColor& i_color, u8 i_clipZ) { - cXyz* pnt_array = i_points; - - for (int i = 0; i < 4; i++) { - mPoints[i] = *pnt_array; - pnt_array++; - } - - DCStoreRangeNoSync(mPoints, sizeof(cXyz) * 4); - mColor = i_color; - mClipZ = i_clipZ; - } + mDoExt_quadPacket(cXyz* i_points, const GXColor& i_color, u8 i_clipZ); virtual void draw(); virtual ~mDoExt_quadPacket() {} @@ -730,13 +682,7 @@ public: class mDoExt_linePacket : public J3DPacket { public: - mDoExt_linePacket(cXyz& i_start, cXyz& i_end, const GXColor& i_color, u8 i_clipZ, u8 i_width) { - mStart = i_start; - mEnd = i_end; - mColor = i_color; - mClipZ = i_clipZ; - mWidth = i_width; - } + mDoExt_linePacket(cXyz& i_start, cXyz& i_end, const GXColor& i_color, u8 i_clipZ, u8 i_width); virtual void draw(); virtual ~mDoExt_linePacket() {} @@ -750,11 +696,7 @@ public: class mDoExt_cylinderMPacket : public J3DPacket { public: - mDoExt_cylinderMPacket(Mtx i_mtx, const GXColor& i_color, u8 i_clipZ) { - PSMTXCopy(i_mtx, mMatrix); - mColor = i_color; - mClipZ = i_clipZ; - } + mDoExt_cylinderMPacket(Mtx i_mtx, const GXColor& i_color, u8 i_clipZ); virtual void draw(); virtual ~mDoExt_cylinderMPacket() {} @@ -766,13 +708,7 @@ public: class mDoExt_circlePacket : public J3DPacket { public: - mDoExt_circlePacket(cXyz& i_position, f32 i_radius, const GXColor& i_color, u8 i_clipZ, u8 i_lineWidth) { - mPosition = i_position; - mRadius = i_radius; - mColor = i_color; - mClipZ = i_clipZ; - mLineWidth = i_lineWidth; - } + mDoExt_circlePacket(cXyz& i_position, f32 i_radius, const GXColor& i_color, u8 i_clipZ, u8 i_lineWidth); virtual void draw(); virtual ~mDoExt_circlePacket() {} @@ -786,32 +722,21 @@ public: class mDoExt_ArrowPacket : public J3DPacket { public: - mDoExt_ArrowPacket(cXyz& i_position, cXyz& param_1, const GXColor& i_color, u8 i_clipZ, u8 i_lineWidth) { - mPosition = i_position; - field_0x1c = param_1; - mColor = i_color; - mClipZ = i_clipZ; - m_lineWidth = i_lineWidth; - } + mDoExt_ArrowPacket(cXyz& i_position, cXyz& param_1, const GXColor& i_color, u8 i_clipZ, u8 i_lineWidth); virtual void draw(); virtual ~mDoExt_ArrowPacket() {} - /* 0x10 */ cXyz mPosition; - /* 0x1C */ cXyz field_0x1c; + /* 0x10 */ cXyz mStart; + /* 0x1C */ cXyz mEnd; /* 0x28 */ GXColor mColor; /* 0x2C */ u8 mClipZ; - /* 0x2D */ u8 m_lineWidth; + /* 0x2D */ u8 mLineWidth; }; class mDoExt_pointPacket : public J3DPacket { public: - mDoExt_pointPacket(cXyz& i_position, const GXColor& i_color, u8 i_clipZ, u8 i_lineWidth) { - mPosition = i_position; - mColor = i_color; - mClipZ = i_clipZ; - mLineWidth = i_lineWidth; - } + mDoExt_pointPacket(cXyz& i_position, const GXColor& i_color, u8 i_clipZ, u8 i_lineWidth); virtual void draw(); virtual ~mDoExt_pointPacket() {} diff --git a/include/m_Do/m_Do_graphic.h b/include/m_Do/m_Do_graphic.h index 2910ab9e50..029aaaa0da 100644 --- a/include/m_Do/m_Do_graphic.h +++ b/include/m_Do/m_Do_graphic.h @@ -21,6 +21,7 @@ public: u8 getEnable() { return mEnable; } void setEnable(u8 i_enable) { mEnable = i_enable; } GXColor* getMonoColor() { return &mMonoColor; } + GXColor* getBlendColor() { return &mBlendColor; } void setPoint(u8 i_point) { mPoint = i_point; } void setBlureSize(u8 i_size) { mBlureSize = i_size; } void setBlureRatio(u8 i_ratio) { mBlureRatio = i_ratio; } @@ -28,6 +29,9 @@ public: void setMonoColor(GXColor i_color) { mMonoColor = i_color; } void setMode(u8 i_mode) { mMode = i_mode; } void* getBuffer() { return m_buffer; } + u8 getPoint() { return mPoint; } + u8 getBlureSize() { return mBlureSize; } + u8 getBlureRatio() { return mBlureRatio; } /* 0x00 */ GXColor mBlendColor; /* 0x04 */ GXColor mMonoColor; diff --git a/include/m_Do/m_Do_mtx.h b/include/m_Do/m_Do_mtx.h index 40fe3577ac..c82f7ae173 100644 --- a/include/m_Do/m_Do_mtx.h +++ b/include/m_Do/m_Do_mtx.h @@ -343,7 +343,7 @@ public: * Copies a given matrix `m` to the `now` matrix * @param m The source matrix to copy */ - static void copy(const Mtx m) { MTXCopy(m, now); } + static void copy(const Mtx m) { PSMTXCopy(m, now); } static void rotAxisRadS(const Vec* axis, f32 rad) { MTXRotAxisRad(now, axis, rad); |
