mirror of
https://github.com/zeldaret/tp
synced 2026-06-29 03:31:08 -04:00
kankyo / m_do_ext debug stuff (#2759)
* kankyo debug work * finish draw packets
This commit is contained in:
@@ -635,6 +635,7 @@ config.libs = [
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_kankyo_data.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_kankyo_wether.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_kankyo_rain.cpp"),
|
||||
Object(NonMatching, "d/d_kankyo_debug.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_vibration.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_vib_pattern.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_attention.cpp"),
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -23,4 +23,6 @@ extern u8 cDmr_FishingWether;
|
||||
extern u8 data_80450CA0;
|
||||
extern JPTraceParticleCallBack4 JPTracePCB4;
|
||||
|
||||
void debug_actor_create();
|
||||
|
||||
#endif /* C_C_DAMAGEREACTION_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;
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
+502
-41
@@ -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();
|
||||
|
||||
u8 field_0x0[4];
|
||||
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_HIO_c {
|
||||
class dKankyo_vrboxHIO_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_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() {}
|
||||
|
||||
/* 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_dungeonlightHIO_c : public JORReflexible {
|
||||
public:
|
||||
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 */
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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
|
||||
@@ -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 */
|
||||
|
||||
+4
-3
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
+14
-89
@@ -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() {}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
#define M_SQRT3 1.73205f
|
||||
|
||||
#define DEG_TO_RAD(degrees) (degrees * (M_PI / 180.0f))
|
||||
#define RAD_TO_DEG(radians) (radians / (180.0f / M_PI))
|
||||
#define RAD_TO_DEG(radians) (radians * (180.0f / M_PI))
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
||||
@@ -3023,7 +3023,7 @@ BOOL daNpcChat_c::searchGroup() {
|
||||
|
||||
/* 80982C10-80982D20 0024B0 0110+00 3/2 0/0 0/0 .text appearTimeCheck__11daNpcChat_cFv */
|
||||
BOOL daNpcChat_c::appearTimeCheck() {
|
||||
int time = (dKy_darkworld_check() & 0xFF) ? dKy_getDarktime_hour() : dKy_getdaytime_hour();
|
||||
int time = dKy_darkworld_check() ? dKy_getDarktime_hour() : dKy_getdaytime_hour();
|
||||
BOOL rv = FALSE;
|
||||
|
||||
switch (mTalkGroupNo) {
|
||||
@@ -3949,7 +3949,7 @@ bool daNpcChat_c::wait(void* param_1) {
|
||||
}
|
||||
|
||||
if (
|
||||
(dKy_darkworld_check() & 0xFF) == 0 && daPy_py_c::checkNowWolf() &&
|
||||
dKy_darkworld_check() == 0 && daPy_py_c::checkNowWolf() &&
|
||||
fopAcM_searchPlayerDistanceXZ2(this) < std::pow(500.0, 2.0) || mFear
|
||||
) {
|
||||
setAction(&daNpcChat_c::fear);
|
||||
|
||||
@@ -201,7 +201,7 @@ cPhs__Step daNpcDoorBoy_c::Create() {
|
||||
fopAcM_SetMtx(this, mpMorf->getModel()->getBaseTRMtx());
|
||||
fopAcM_setCullSizeBox(this, -50.0f, -10.0f, -50.0f, 50.0f, 210.0f, 50.0f);
|
||||
mSound.init(¤t.pos, &eyePos, 3, 1);
|
||||
mSound.setMdlType(5, false, 0xFF & dKy_darkworld_check());
|
||||
mSound.setMdlType(5, false, dKy_darkworld_check());
|
||||
|
||||
mAcchCir.SetWall(daNpcDoorBoy_Param_c::m.common.width, daNpcDoorBoy_Param_c::m.common.knee_length);
|
||||
mAcch.Set(fopAcM_GetPosition_p(this), fopAcM_GetOldPosition_p(this), this, 1, &mAcchCir, fopAcM_GetSpeed_p(this),
|
||||
|
||||
@@ -101,10 +101,10 @@ static int daVrbox2_Draw(vrbox2_class* i_this) {
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
if (g_kankyoHIO.field_0x0b4 != 0) {
|
||||
var_f31 = g_kankyoHIO.field_0x0b8;
|
||||
if (g_kankyoHIO.vrbox.field_0x14 != 0) {
|
||||
var_f31 = g_kankyoHIO.vrbox.m_horizonHeight;
|
||||
} else {
|
||||
g_kankyoHIO.field_0x0b8 = var_f31;
|
||||
g_kankyoHIO.vrbox.m_horizonHeight = var_f31;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
@@ -602,10 +602,10 @@ void dFlower_packet_c::draw() {
|
||||
|
||||
for (dFlower_data_c* sp44 = sp5C->getData(); sp44 != NULL; sp44 = sp44->mp_next) {
|
||||
#if DEBUG
|
||||
if (g_kankyoHIO.field_0x698 != 0) {
|
||||
sp64.r = g_kankyoHIO.field_0x694 * 2;
|
||||
sp64.g = g_kankyoHIO.field_0x695 * 2;
|
||||
sp64.b = g_kankyoHIO.field_0x696 * 2;
|
||||
if (g_kankyoHIO.navy.grass_adjust_ON != 0) {
|
||||
sp64.r = g_kankyoHIO.navy.grass_ambcol.r * 2;
|
||||
sp64.g = g_kankyoHIO.navy.grass_ambcol.g * 2;
|
||||
sp64.b = g_kankyoHIO.navy.grass_ambcol.b * 2;
|
||||
} else {
|
||||
#endif
|
||||
sp64.r = (sp44->field_0x04 & 0x1F) * 2;
|
||||
@@ -680,8 +680,8 @@ void dFlower_packet_c::draw() {
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
if (g_kankyoHIO.field_0x06d != 0) {
|
||||
sp2C = g_kankyoHIO.field_0x79b;
|
||||
if (g_kankyoHIO.light.m_HOSTIO_setting != 0) {
|
||||
sp2C = g_kankyoHIO.dungeonLight.usedLights;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
@@ -562,8 +562,8 @@ void dGrass_packet_c::draw() {
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
if (g_kankyoHIO.field_0x69c != 0.0f) {
|
||||
var_f29 = g_kankyoHIO.field_0x69c;
|
||||
if (g_kankyoHIO.navy.grass_shine_value != 0.0f) {
|
||||
var_f29 = g_kankyoHIO.navy.grass_shine_value;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -598,8 +598,8 @@ void dGrass_packet_c::draw() {
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
if (g_kankyoHIO.field_0x06d != 0) {
|
||||
sp48 = g_kankyoHIO.field_0x79b;
|
||||
if (g_kankyoHIO.light.m_HOSTIO_setting != 0) {
|
||||
sp48 = g_kankyoHIO.dungeonLight.usedLights;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -665,10 +665,10 @@ void dGrass_packet_c::draw() {
|
||||
GXColor sp38;
|
||||
|
||||
#if DEBUG
|
||||
if (g_kankyoHIO.field_0x698) {
|
||||
sp38.r = g_kankyoHIO.field_0x694 * 2;
|
||||
sp38.g = g_kankyoHIO.field_0x695 * 2;
|
||||
sp38.b = g_kankyoHIO.field_0x696 * 2;
|
||||
if (g_kankyoHIO.navy.grass_adjust_ON) {
|
||||
sp38.r = g_kankyoHIO.navy.grass_ambcol.r * 2;
|
||||
sp38.g = g_kankyoHIO.navy.grass_ambcol.g * 2;
|
||||
sp38.b = g_kankyoHIO.navy.grass_ambcol.b * 2;
|
||||
} else {
|
||||
#endif
|
||||
sp38.r = (var_r29->m_addCol & 0x1F) * 2;
|
||||
|
||||
@@ -1,9 +1,22 @@
|
||||
#ifndef D_DEBUG_PAD_H
|
||||
#define D_DEBUG_PAD_H
|
||||
|
||||
#include "m_Do/m_Do_controller_pad.h"
|
||||
#include "JSystem/JUtility/TColor.h"
|
||||
|
||||
class dDebugPad_c {
|
||||
public:
|
||||
dDebugPad_c();
|
||||
|
||||
bool Active();
|
||||
bool Update();
|
||||
bool Report(int, int, JUtility::TColor, const char*, ...);
|
||||
bool Enable(s32);
|
||||
bool Trigger();
|
||||
|
||||
/* 0x0 */ u8 mIsActive;
|
||||
/* 0x1 */ u8 mTrigger;
|
||||
/* 0x4 */ s32 mMode;
|
||||
};
|
||||
|
||||
extern dDebugPad_c dDebugPad;
|
||||
|
||||
+2300
-405
File diff suppressed because it is too large
Load Diff
+13
-13
@@ -1,8 +1,3 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: d/kankyo/d_kankyo_data
|
||||
//
|
||||
|
||||
#include "d/dolzel.h" // IWYU pragma: keep
|
||||
|
||||
#include "d/d_kankyo_data.h"
|
||||
@@ -690,7 +685,6 @@ void* dKyd_dmpalet_getp() {
|
||||
return l_field_data;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A987C-803A9894 00699C 0018+00 1/1 0/0 0/0 .data l_pselect_default */
|
||||
static stage_pselect_info_class l_pselect_default[2] = {
|
||||
{
|
||||
@@ -708,7 +702,6 @@ void* dKyd_dmpselect_getp() {
|
||||
return l_pselect_default;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A9894-803A9918 0069B4 0082+02 1/1 0/0 0/0 .data l_envr_default */
|
||||
static stage_envr_info_class l_envr_default[2] = {
|
||||
{
|
||||
@@ -732,7 +725,6 @@ void* dKyd_dmenvr_getp() {
|
||||
return l_envr_default;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A9918-803A9A94 006A38 017A+02 1/1 0/0 0/0 .data l_vr_box_data */
|
||||
static dKyd_l_vr_box_data_struct l_vr_box_data[18] = {
|
||||
{{0x2F, 0x1A, 0x07, 0x44, 0x1E, 0x10, 0xF5, 0xA5, 0x6C, 0x9A, 0x5C,
|
||||
@@ -800,9 +792,13 @@ static GXFogAdjTable S_xfog_table_data[2] = {
|
||||
|
||||
/* 80056A24-80056A64 051364 0040+00 0/0 2/2 0/0 .text dKyd_xfog_table_set__FUc */
|
||||
void dKyd_xfog_table_set(u8 tblIdx) {
|
||||
for (int i = 0; i < 10; i++) {
|
||||
u16 fogAdjTableEntry = S_xfog_table_data[tblIdx & 0xff].r[i];
|
||||
g_env_light.mXFogTbl.r[i] = fogAdjTableEntry;
|
||||
#if DEBUG
|
||||
if (g_kankyoHIO.light.field_0x5 != 1)
|
||||
#endif
|
||||
{
|
||||
for (int i = 0; i < 10; i++) {
|
||||
g_env_light.mXFogTbl.r[i] = S_xfog_table_data[tblIdx].r[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -828,7 +824,11 @@ dKydata_lightsizeInfo_c* dKyd_light_tw_size_tbl_getp() {
|
||||
|
||||
/* 80056A94-80056AA8 0513D4 0014+00 0/0 1/1 0/0 .text dKyd_BloomInf_tbl_getp__Fi */
|
||||
dKydata_BloomInfo_c* dKyd_BloomInf_tbl_getp(int tblIdx) {
|
||||
#if DEBUG
|
||||
if (g_kankyoHIO.bloom.field_0x4) {
|
||||
return (dKydata_BloomInfo_c*)&g_kankyoHIO.bloom.bloom_info[tblIdx];
|
||||
}
|
||||
#endif
|
||||
|
||||
return &l_kydata_BloomInf_tbl[tblIdx];
|
||||
}
|
||||
|
||||
/* 8037A1C0-8037A1C0 006820 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
@@ -0,0 +1,962 @@
|
||||
#include "d/dolzel.h" // IWYU pragma: keep
|
||||
|
||||
#include "d/d_kankyo.h"
|
||||
#include "d/d_kankyo_rain.h"
|
||||
#include "d/d_debug_viewer.h"
|
||||
#include "d/d_s_play.h"
|
||||
#include "f_op/f_op_camera_mng.h"
|
||||
#include "m_Do/m_Do_controller_pad.h"
|
||||
#include "m_Do/m_Do_graphic.h"
|
||||
|
||||
static void add_update_proc(u8* mode, s16* param_1, s16* param_2, s16* param_3) {
|
||||
int value;
|
||||
|
||||
if (*mode != 0) {
|
||||
switch (*mode) {
|
||||
case 1:
|
||||
value = 100;
|
||||
break;
|
||||
case 2:
|
||||
value = 10;
|
||||
break;
|
||||
case 3:
|
||||
value = 1;
|
||||
break;
|
||||
case 4:
|
||||
value = -1;
|
||||
break;
|
||||
case 5:
|
||||
value = -10;
|
||||
break;
|
||||
case 6:
|
||||
value = -100;
|
||||
break;
|
||||
}
|
||||
|
||||
if (*mode <= 3) {
|
||||
if (*param_1 + value > 0xFF) {
|
||||
value = 0xFF - *param_1;
|
||||
}
|
||||
if (*param_2 + value > 0xFF) {
|
||||
value = 0xFF - *param_2;
|
||||
}
|
||||
if (*param_3 + value > 0xFF) {
|
||||
value = 0xFF - *param_3;
|
||||
}
|
||||
} else {
|
||||
if (*param_1 + value < 0) {
|
||||
value = -*param_1;
|
||||
}
|
||||
if (*param_2 + value < 0) {
|
||||
value = -*param_2;
|
||||
}
|
||||
if (*param_3 + value < 0) {
|
||||
value = -*param_3;
|
||||
}
|
||||
}
|
||||
|
||||
*param_1 += (s16)value;
|
||||
*param_2 += (s16)value;
|
||||
*param_3 += (s16)value;
|
||||
*mode = 0;
|
||||
|
||||
g_kankyoHIO.light.dKankyo_lightHIOInfoUpDateF();
|
||||
g_kankyoHIO.vrbox.dKankyo_vrboxHIOInfoUpDateF();
|
||||
}
|
||||
}
|
||||
|
||||
void add_update_proc2(u8* mode, u8* param_1, u8* param_2, u8* param_3) {
|
||||
s16 spC;
|
||||
s16 spA;
|
||||
s16 sp8;
|
||||
u8 update_mode;
|
||||
|
||||
update_mode = *mode;
|
||||
sp8 = *param_1;
|
||||
spA = *param_2;
|
||||
spC = *param_3;
|
||||
add_update_proc(mode, &sp8, &spA, &spC);
|
||||
|
||||
*param_1 = sp8;
|
||||
*param_2 = spA;
|
||||
*param_3 = spC;
|
||||
|
||||
if (update_mode != 0) {
|
||||
g_kankyoHIO.light.dKankyo_lightHIOInfoUpDateF();
|
||||
g_kankyoHIO.vrbox.dKankyo_vrboxHIOInfoUpDateF();
|
||||
}
|
||||
}
|
||||
|
||||
void dKydb_color_HIO_update() {
|
||||
switch (g_kankyoHIO.light.m_HOSTIO_setting) {
|
||||
case 0:
|
||||
g_kankyoHIO.light.field_0x52 = 0;
|
||||
break;
|
||||
case 1:
|
||||
if (g_kankyoHIO.light.field_0x52 == 0) {
|
||||
g_kankyoHIO.light.dKankyo_lightHIOInfoUpDateF();
|
||||
}
|
||||
g_kankyoHIO.light.field_0x52 = 1;
|
||||
break;
|
||||
}
|
||||
|
||||
add_update_proc(&g_kankyoHIO.light.field_0x60, &g_env_light.actor_amb_col.r, &g_env_light.actor_amb_col.g, &g_env_light.actor_amb_col.b);
|
||||
add_update_proc(&g_kankyoHIO.light.field_0x61, &g_env_light.bg_amb_col[0].r, &g_env_light.bg_amb_col[0].g, &g_env_light.bg_amb_col[0].b);
|
||||
add_update_proc(&g_kankyoHIO.light.field_0x62, &g_env_light.bg_amb_col[1].r, &g_env_light.bg_amb_col[1].g, &g_env_light.bg_amb_col[1].b);
|
||||
add_update_proc(&g_kankyoHIO.light.field_0x63, &g_env_light.bg_amb_col[2].r, &g_env_light.bg_amb_col[2].g, &g_env_light.bg_amb_col[2].b);
|
||||
add_update_proc(&g_kankyoHIO.light.field_0x64, &g_env_light.bg_amb_col[3].r, &g_env_light.bg_amb_col[3].g, &g_env_light.bg_amb_col[3].b);
|
||||
add_update_proc(&g_kankyoHIO.light.field_0x65, &g_env_light.fog_col.r, &g_env_light.fog_col.g, &g_env_light.fog_col.b);
|
||||
add_update_proc2(&g_kankyoHIO.light.field_0x66, &g_env_light.dungeonlight[0].mColor.r, &g_env_light.dungeonlight[0].mColor.g, &g_env_light.dungeonlight[0].mColor.b);
|
||||
add_update_proc2(&g_kankyoHIO.light.field_0x67, &g_env_light.dungeonlight[1].mColor.r, &g_env_light.dungeonlight[1].mColor.g, &g_env_light.dungeonlight[1].mColor.b);
|
||||
add_update_proc2(&g_kankyoHIO.light.field_0x68, &g_env_light.dungeonlight[2].mColor.r, &g_env_light.dungeonlight[2].mColor.g, &g_env_light.dungeonlight[2].mColor.b);
|
||||
add_update_proc2(&g_kankyoHIO.light.field_0x69, &g_env_light.dungeonlight[3].mColor.r, &g_env_light.dungeonlight[3].mColor.g, &g_env_light.dungeonlight[3].mColor.b);
|
||||
add_update_proc2(&g_kankyoHIO.light.field_0x6a, &g_env_light.dungeonlight[4].mColor.r, &g_env_light.dungeonlight[4].mColor.g, &g_env_light.dungeonlight[4].mColor.b);
|
||||
add_update_proc2(&g_kankyoHIO.light.field_0x6b, &g_env_light.dungeonlight[5].mColor.r, &g_env_light.dungeonlight[5].mColor.g, &g_env_light.dungeonlight[5].mColor.b);
|
||||
}
|
||||
|
||||
void dKydb_vrbox_HIO_update() {
|
||||
switch (g_kankyoHIO.vrbox.m_VrboxSetting) {
|
||||
case 0:
|
||||
g_kankyoHIO.vrbox.field_0x5 = 0;
|
||||
break;
|
||||
case 1:
|
||||
if (g_kankyoHIO.vrbox.field_0x5 == 0) {
|
||||
g_kankyoHIO.vrbox.dKankyo_vrboxHIOInfoUpDateF();
|
||||
}
|
||||
g_kankyoHIO.vrbox.field_0x5 = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void dKydb_HIO_kcolor_debug(u8* param_0, u8* param_1, u8* param_2, u8* param_3) {
|
||||
if (g_kankyoHIO.light.m_forcedPalette != 0) {
|
||||
*param_0 = g_kankyoHIO.light.m_forcedPalette - 1;
|
||||
*param_1 = g_kankyoHIO.light.m_forcedPalette - 1;
|
||||
*param_2 = g_kankyoHIO.light.m_forcedPalette - 1;
|
||||
*param_3 = g_kankyoHIO.light.m_forcedPalette - 1;
|
||||
}
|
||||
|
||||
if (dComIfGp_getStagePaletteNumInfo() - 1 < *param_0) {
|
||||
JUT_WARN(244, "db color err 1:[%d]", *param_0);
|
||||
*param_0 = 0;
|
||||
}
|
||||
|
||||
if (dComIfGp_getStagePaletteNumInfo() - 1 < *param_1) {
|
||||
JUT_WARN(260, "db color err 2:[%d]", *param_1);
|
||||
*param_1 = 0;
|
||||
}
|
||||
|
||||
if (dComIfGp_getStagePaletteNumInfo() - 1 < *param_2) {
|
||||
JUT_WARN(274, "db color err 3[%d]", *param_2);
|
||||
*param_2 = 0;
|
||||
}
|
||||
|
||||
if (dComIfGp_getStagePaletteNumInfo() - 1 < *param_3) {
|
||||
JUT_WARN(288, "db color err 4[%d]", *param_3);
|
||||
*param_3 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void dKydb_HIO_vrbox_debug(u8* param_0, u8* param_1, u8* param_2, u8* param_3) {
|
||||
if (g_kankyoHIO.vrbox.field_0x7 != 0) {
|
||||
*param_0 = g_kankyoHIO.vrbox.field_0x7 - 1;
|
||||
*param_1 = g_kankyoHIO.vrbox.field_0x7 - 1;
|
||||
*param_2 = g_kankyoHIO.vrbox.field_0x7 - 1;
|
||||
*param_3 = g_kankyoHIO.vrbox.field_0x7 - 1;
|
||||
}
|
||||
|
||||
if (dComIfGp_getStageVrboxcolNumInfo() - 1 < *param_0) {
|
||||
JUT_WARN(327, "db Vrbox err 1[%d]", *param_0);
|
||||
*param_0 = 0;
|
||||
}
|
||||
|
||||
if (dComIfGp_getStageVrboxcolNumInfo() - 1 < *param_1) {
|
||||
JUT_WARN(342, "db Vrbox err 1[%d]", *param_1);
|
||||
*param_1 = 0;
|
||||
}
|
||||
|
||||
if (dComIfGp_getStageVrboxcolNumInfo() - 1 < *param_2) {
|
||||
JUT_WARN(357, "db Vrbox err 1[%d]", *param_2);
|
||||
*param_2 = 0;
|
||||
}
|
||||
|
||||
if (dComIfGp_getStageVrboxcolNumInfo() - 1 < *param_3) {
|
||||
JUT_WARN(372, "db Vrbox err 1[%d]", *param_2);
|
||||
*param_3 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
// NONMATCHING
|
||||
void dKydb_HIO_debug_TVdsp(f32 param_0, f32 param_1, int param_2, int param_3, u16 param_4) {
|
||||
u16 sp30[] = {
|
||||
0x01,
|
||||
0x02,
|
||||
0x04,
|
||||
0x08,
|
||||
0x10,
|
||||
0x20,
|
||||
0x40,
|
||||
0x80,
|
||||
};
|
||||
|
||||
if (g_kankyoHIO.light.m_displayTVColorSettings == TRUE) {
|
||||
int sp28 = 20;
|
||||
int sp24 = 100;
|
||||
int sp20 = 11;
|
||||
int sp1C = 15;
|
||||
|
||||
dDbVw_Report(sp28, sp24, "ACTOR Amb R %03d", g_env_light.actor_amb_col.r);
|
||||
dDbVw_Report(sp28, sp24 + sp1C, " G %03d", g_env_light.actor_amb_col.g);
|
||||
dDbVw_Report(sp28, sp24 + (sp1C * 2), " B %03d", g_env_light.actor_amb_col.b);
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
dDbVw_Report(sp28, (i * ((sp1C * 4) - sp1C)) + (sp24 + ((sp1C * 4) - sp1C)), "BG%01d Amb R %03d", i, g_env_light.bg_amb_col[i].r);
|
||||
dDbVw_Report(sp28, (i * ((sp1C * 4) - sp1C)) + (sp24 + (sp1C * 4)), " G %03d", g_env_light.bg_amb_col[i].g);
|
||||
dDbVw_Report(sp28, (i * ((sp1C * 4) - sp1C)) + (sp24 + (sp1C * 5)), " B %03d", g_env_light.bg_amb_col[i].b);
|
||||
}
|
||||
|
||||
for (int i = 0; i < 6; i++) {
|
||||
if (param_4 & sp30[i + 2]) {
|
||||
dDbVw_Report(sp28 + (sp20 * 20), (i * sp1C) + (sp24 + ((sp1C * 8) - sp1C)), "LIGHT%01d R %03d G %03d B %03d", i, g_env_light.dungeonlight[i].mColor.r, g_env_light.dungeonlight[i].mColor.g, g_env_light.dungeonlight[i].mColor.b);
|
||||
}
|
||||
}
|
||||
|
||||
dDbVw_Report(sp28, sp24 + (sp1C * 14), "Fog R %03d", g_env_light.fog_col.r);
|
||||
dDbVw_Report(sp28, sp24 + ((sp1C * 16) - sp1C), " G %03d", g_env_light.fog_col.g);
|
||||
dDbVw_Report(sp28, sp24 + (sp1C * 16), " B %03d", g_env_light.fog_col.b);
|
||||
dDbVw_Report(sp28, sp24 + (sp1C * 17), " StartZ %06f", g_env_light.mFogNear);
|
||||
dDbVw_Report(sp28, sp24 + (sp1C * 18), " EndZ %06f", g_env_light.mFogFar);
|
||||
|
||||
dDbVw_Report(sp28, sp24 + (sp1C * 21), "Time Change :");
|
||||
|
||||
switch (param_2) {
|
||||
case 0:
|
||||
dDbVw_Report(sp28 + (sp20 * 16), sp24 + (sp1C * 21), "ASA");
|
||||
break;
|
||||
case 1:
|
||||
dDbVw_Report(sp28 + (sp20 * 16), sp24 + (sp1C * 21), "HIRU");
|
||||
break;
|
||||
case 2:
|
||||
dDbVw_Report(sp28 + (sp20 * 16), sp24 + (sp1C * 21), "YUU");
|
||||
break;
|
||||
case 3:
|
||||
dDbVw_Report(sp28 + (sp20 * 16), sp24 + (sp1C * 21), "YORU");
|
||||
break;
|
||||
}
|
||||
|
||||
dDbVw_Report(sp28 + (sp20 * 21), sp24 + (sp1C * 21), "to");
|
||||
|
||||
switch (param_3) {
|
||||
case 0:
|
||||
dDbVw_Report(sp28 + (sp20 * 24), sp24 + (sp1C * 21), "ASA");
|
||||
break;
|
||||
case 1:
|
||||
dDbVw_Report(sp28 + (sp20 * 24), sp24 + (sp1C * 21), "HIRU");
|
||||
break;
|
||||
case 2:
|
||||
dDbVw_Report(sp28 + (sp20 * 24), sp24 + (sp1C * 21), "YUU");
|
||||
break;
|
||||
case 3:
|
||||
dDbVw_Report(sp28 + (sp20 * 24), sp24 + (sp1C * 21), "YORU");
|
||||
break;
|
||||
}
|
||||
|
||||
dDbVw_Report(sp28 + (sp20 * 29), sp24 + (sp1C * 21), "(%f%%)", param_0);
|
||||
|
||||
if (param_1 < 0.0001f) {
|
||||
dDbVw_Report(sp28, sp24 + (sp1C * 20), "Event Change : NO CHANGE");
|
||||
} else {
|
||||
dDbVw_Report(sp28, sp24 + (sp1C * 20), "Event Change : CHANGE %03d%%", (int)(100.0f * param_1));
|
||||
}
|
||||
}
|
||||
|
||||
if (g_kankyoHIO.vrbox.m_displayVrboxTVColorSettings == 1) {
|
||||
int var_r29 = 30;
|
||||
int var_r28 = 80;
|
||||
int sp10 = 11;
|
||||
int var_r27 = 15;
|
||||
|
||||
if (g_kankyoHIO.light.m_displayTVColorSettings == 1) {
|
||||
var_r29 = 350;
|
||||
}
|
||||
|
||||
dDbVw_Report(var_r29, var_r28 + (var_r27 * 2), "Sky R %03d", g_env_light.vrbox_sky_col.r);
|
||||
dDbVw_Report(var_r29, var_r28 + ((var_r27 * 4) - var_r27), " G %03d", g_env_light.vrbox_sky_col.g);
|
||||
dDbVw_Report(var_r29, var_r28 + (var_r27 * 4), " B %03d", g_env_light.vrbox_sky_col.b);
|
||||
|
||||
dDbVw_Report(var_r29, var_r28 + (var_r27 + (var_r27 * 4)), "CloudU R %03d", g_env_light.vrbox_kumo_top_col.r);
|
||||
dDbVw_Report(var_r29, var_r28 + (var_r27 * 6), " G %03d", g_env_light.vrbox_kumo_top_col.g);
|
||||
dDbVw_Report(var_r29, var_r28 + ((var_r27 * 8) - var_r27), " B %03d", g_env_light.vrbox_kumo_top_col.b);
|
||||
dDbVw_Report(var_r29, var_r28 + (var_r27 * 8), "Cloud A %03d", g_env_light.vrbox_kumo_top_col.a);
|
||||
|
||||
dDbVw_Report(var_r29, var_r28 + (var_r27 + (var_r27 * 8)), "CloudD R %03d", g_env_light.vrbox_kumo_bottom_col.r);
|
||||
dDbVw_Report(var_r29, var_r28 + (var_r27 * 10), " G %03d", g_env_light.vrbox_kumo_bottom_col.g);
|
||||
dDbVw_Report(var_r29, var_r28 + (var_r27 * 11), " B %03d", g_env_light.vrbox_kumo_bottom_col.b);
|
||||
|
||||
dDbVw_Report(var_r29, var_r28 + (var_r27 * 12), "CloudDDR %03d", g_env_light.vrbox_kumo_shadow_col.r);
|
||||
dDbVw_Report(var_r29, var_r28 + (var_r27 * 13), " G %03d", g_env_light.vrbox_kumo_shadow_col.g);
|
||||
dDbVw_Report(var_r29, var_r28 + (var_r27 * 14), " B %03d", g_env_light.vrbox_kumo_shadow_col.b);
|
||||
|
||||
dDbVw_Report(var_r29, var_r28 + ((var_r27 * 16) - var_r27), "kasumiFR %03d", g_env_light.vrbox_kasumi_outer_col.r);
|
||||
dDbVw_Report(var_r29, var_r28 + (var_r27 * 16), " G %03d", g_env_light.vrbox_kasumi_outer_col.g);
|
||||
dDbVw_Report(var_r29, var_r28 + (var_r27 + (var_r27 * 16)), " B %03d", g_env_light.vrbox_kasumi_outer_col.b);
|
||||
dDbVw_Report(var_r29, var_r28 + (var_r27 * 18), " B %03d", g_env_light.vrbox_kasumi_outer_col.a);
|
||||
|
||||
dDbVw_Report(var_r29, var_r28 + (var_r27 * 19), "kasumiBR %03d", g_env_light.vrbox_kasumi_inner_col.r);
|
||||
dDbVw_Report(var_r29, var_r28 + (var_r27 * 20), " G %03d", g_env_light.vrbox_kasumi_inner_col.g);
|
||||
dDbVw_Report(var_r29, var_r28 + (var_r27 * 21), " B %03d", g_env_light.vrbox_kasumi_inner_col.b);
|
||||
dDbVw_Report(var_r29, var_r28 + (var_r27 * 22), " A %03d", g_env_light.vrbox_kasumi_inner_col.a);
|
||||
|
||||
if (g_kankyoHIO.light.m_displayTVColorSettings != 1) {
|
||||
dDbVw_Report(var_r29, var_r28 + (var_r27 * 23), "Time Change :");
|
||||
|
||||
switch (param_2) {
|
||||
case 0:
|
||||
dDbVw_Report(var_r29 + (sp10 * 0x10), var_r28 + (var_r27 * 23), "ASA");
|
||||
break;
|
||||
case 1:
|
||||
dDbVw_Report(var_r29 + (sp10 * 0x10), var_r28 + (var_r27 * 23), "HIRU");
|
||||
break;
|
||||
case 2:
|
||||
dDbVw_Report(var_r29 + (sp10 * 0x10), var_r28 + (var_r27 * 23), "YUU");
|
||||
break;
|
||||
case 3:
|
||||
dDbVw_Report(var_r29 + (sp10 * 0x10), var_r28 + (var_r27 * 23), "YORU");
|
||||
break;
|
||||
}
|
||||
|
||||
dDbVw_Report(var_r29 + (sp10 * 0x15), var_r28 + (var_r27 * 23), "to");
|
||||
|
||||
switch (param_3) {
|
||||
case 0:
|
||||
dDbVw_Report(var_r29 + (sp10 * 0x18), var_r28 + (var_r27 * 23), "ASA");
|
||||
break;
|
||||
case 1:
|
||||
dDbVw_Report(var_r29 + (sp10 * 0x18), var_r28 + (var_r27 * 23), "HIRU");
|
||||
break;
|
||||
case 2:
|
||||
dDbVw_Report(var_r29 + (sp10 * 0x18), var_r28 + (var_r27 * 23), "YUU");
|
||||
break;
|
||||
case 3:
|
||||
dDbVw_Report(var_r29 + (sp10 * 0x18), var_r28 + (var_r27 * 23), "YORU");
|
||||
break;
|
||||
}
|
||||
|
||||
dDbVw_Report(var_r29 + (sp10 * 0x1D), var_r28 + (var_r27 * 23), "(%f%%)", param_0);
|
||||
|
||||
if (param_1 < 0.0001f) {
|
||||
dDbVw_Report(var_r29, var_r28 + (var_r27 * 22), "Event Change : NO CHANGE");
|
||||
} else {
|
||||
dDbVw_Report(var_r29, var_r28 + (var_r27 * 22), "Event Change : CHANGE %03d%%", (int)(100.0f * param_1));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (g_kankyoHIO.vrbox.field_0xe >= 0) {
|
||||
switch (g_kankyoHIO.vrbox.field_0xe) {
|
||||
case 0:
|
||||
g_env_light.vrbox_sky_col.r = g_env_light.fog_col.r;
|
||||
g_env_light.vrbox_sky_col.g = g_env_light.fog_col.g;
|
||||
g_env_light.vrbox_sky_col.b = g_env_light.fog_col.b;
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
add_update_proc((u8*)&g_kankyoHIO.vrbox.field_0xe, &g_env_light.vrbox_sky_col.r, &g_env_light.vrbox_sky_col.g, &g_env_light.vrbox_sky_col.b);
|
||||
}
|
||||
|
||||
g_kankyoHIO.vrbox.field_0xe = -1;
|
||||
g_kankyoHIO.vrbox.dKankyo_vrboxHIOInfoUpDateF();
|
||||
}
|
||||
|
||||
if (g_kankyoHIO.vrbox.field_0xf >= 0) {
|
||||
switch (g_kankyoHIO.vrbox.field_0xf) {
|
||||
case 0:
|
||||
g_env_light.vrbox_kumo_top_col.r = g_env_light.fog_col.r;
|
||||
g_env_light.vrbox_kumo_top_col.g = g_env_light.fog_col.g;
|
||||
g_env_light.vrbox_kumo_top_col.b = g_env_light.fog_col.b;
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
add_update_proc((u8*)&g_kankyoHIO.vrbox.field_0xf, &g_env_light.vrbox_kumo_top_col.r, &g_env_light.vrbox_kumo_top_col.g, &g_env_light.vrbox_kumo_top_col.b);
|
||||
}
|
||||
|
||||
g_kankyoHIO.vrbox.field_0xf = -1;
|
||||
g_kankyoHIO.vrbox.dKankyo_vrboxHIOInfoUpDateF();
|
||||
}
|
||||
|
||||
if (g_kankyoHIO.vrbox.field_0x10 >= 0) {
|
||||
switch (g_kankyoHIO.vrbox.field_0x10) {
|
||||
case 0:
|
||||
g_env_light.vrbox_kumo_bottom_col.r = g_env_light.fog_col.r;
|
||||
g_env_light.vrbox_kumo_bottom_col.g = g_env_light.fog_col.g;
|
||||
g_env_light.vrbox_kumo_bottom_col.b = g_env_light.fog_col.b;
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
add_update_proc((u8*)&g_kankyoHIO.vrbox.field_0x10, &g_env_light.vrbox_kumo_bottom_col.r, &g_env_light.vrbox_kumo_bottom_col.g, &g_env_light.vrbox_kumo_bottom_col.b);
|
||||
}
|
||||
|
||||
g_kankyoHIO.vrbox.field_0x10 = -1;
|
||||
g_kankyoHIO.vrbox.dKankyo_vrboxHIOInfoUpDateF();
|
||||
}
|
||||
|
||||
if (g_kankyoHIO.vrbox.field_0x11 >= 0) {
|
||||
switch (g_kankyoHIO.vrbox.field_0x11) {
|
||||
case 0:
|
||||
g_env_light.vrbox_kumo_shadow_col.r = g_env_light.fog_col.r;
|
||||
g_env_light.vrbox_kumo_shadow_col.g = g_env_light.fog_col.g;
|
||||
g_env_light.vrbox_kumo_shadow_col.b = g_env_light.fog_col.b;
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
add_update_proc((u8*)&g_kankyoHIO.vrbox.field_0x11, &g_env_light.vrbox_kumo_shadow_col.r, &g_env_light.vrbox_kumo_shadow_col.g, &g_env_light.vrbox_kumo_shadow_col.b);
|
||||
}
|
||||
|
||||
g_kankyoHIO.vrbox.field_0x11 = -1;
|
||||
g_kankyoHIO.vrbox.dKankyo_vrboxHIOInfoUpDateF();
|
||||
}
|
||||
|
||||
if (g_kankyoHIO.vrbox.field_0x12 >= 0) {
|
||||
switch (g_kankyoHIO.vrbox.field_0x12) {
|
||||
case 0:
|
||||
g_env_light.vrbox_kasumi_outer_col.r = g_env_light.fog_col.r;
|
||||
g_env_light.vrbox_kasumi_outer_col.g = g_env_light.fog_col.g;
|
||||
g_env_light.vrbox_kasumi_outer_col.b = g_env_light.fog_col.b;
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
add_update_proc((u8*)&g_kankyoHIO.vrbox.field_0x12, &g_env_light.vrbox_kasumi_outer_col.r, &g_env_light.vrbox_kasumi_outer_col.g, &g_env_light.vrbox_kasumi_outer_col.b);
|
||||
}
|
||||
|
||||
g_kankyoHIO.vrbox.field_0x12 = -1;
|
||||
g_kankyoHIO.vrbox.dKankyo_vrboxHIOInfoUpDateF();
|
||||
}
|
||||
|
||||
if (g_kankyoHIO.vrbox.field_0x13 >= 0) {
|
||||
switch (g_kankyoHIO.vrbox.field_0x13) {
|
||||
case 0:
|
||||
g_env_light.vrbox_kasumi_inner_col.r = g_env_light.fog_col.r;
|
||||
g_env_light.vrbox_kasumi_inner_col.g = g_env_light.fog_col.g;
|
||||
g_env_light.vrbox_kasumi_inner_col.b = g_env_light.fog_col.b;
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
add_update_proc((u8*)&g_kankyoHIO.vrbox.field_0x13, &g_env_light.vrbox_kasumi_inner_col.r, &g_env_light.vrbox_kasumi_inner_col.g, &g_env_light.vrbox_kasumi_inner_col.b);
|
||||
}
|
||||
|
||||
g_kankyoHIO.vrbox.field_0x13 = -1;
|
||||
g_kankyoHIO.vrbox.dKankyo_vrboxHIOInfoUpDateF();
|
||||
}
|
||||
|
||||
if (g_kankyoHIO.bloom.field_0x5 != 0) {
|
||||
dDbVw_Report(20, 100, "sikii %d", mDoGph_gInf_c::getBloom()->getPoint());
|
||||
dDbVw_Report(20, 116, "b_haba %d", mDoGph_gInf_c::getBloom()->getBlureSize());
|
||||
dDbVw_Report(20, 132, "b_kosa %d", mDoGph_gInf_c::getBloom()->getBlureRatio());
|
||||
|
||||
GXColor spC;
|
||||
spC = *mDoGph_gInf_c::getBloom()->getBlendColor();
|
||||
dDbVw_Report(20, 148, "kosa r %d", spC.r);
|
||||
dDbVw_Report(20, 164, " g %d", spC.g);
|
||||
dDbVw_Report(20, 180, " b %d", spC.b);
|
||||
dDbVw_Report(20, 196, "moto A %d", spC.a);
|
||||
|
||||
spC = *mDoGph_gInf_c::getBloom()->getMonoColor();
|
||||
dDbVw_Report(20, 212, "mono r %d", spC.r);
|
||||
dDbVw_Report(20, 228, " g %d", spC.g);
|
||||
dDbVw_Report(20, 244, " b %d", spC.b);
|
||||
dDbVw_Report(20, 260, " A %d", spC.a);
|
||||
}
|
||||
}
|
||||
|
||||
void dKydb_HIO_debug_Wind() {
|
||||
dScnKy_env_light_c* kankyo = dKy_getEnvlight();
|
||||
camera_class* camera = dComIfGp_getCamera(0);
|
||||
|
||||
f32 substick_x = mDoCPd_c::getSubStickX(PAD_3);
|
||||
f32 substick_y = mDoCPd_c::getSubStickY(PAD_3);
|
||||
f32 stick_x = mDoCPd_c::getStickX3D(PAD_3);
|
||||
f32 stick_y = mDoCPd_c::getStickY(PAD_3);
|
||||
cXyz wind_vec;
|
||||
|
||||
g_env_light.global_wind_influence.pow += 0.01f * substick_y;
|
||||
if (g_env_light.global_wind_influence.pow > 1.0f) {
|
||||
g_env_light.global_wind_influence.pow = 1.0f;
|
||||
} else if (g_env_light.global_wind_influence.pow < 0.0f) {
|
||||
g_env_light.global_wind_influence.pow = 0.0f;
|
||||
}
|
||||
|
||||
g_kankyoHIO.light.field_0x5e -= 400.0f * stick_x;
|
||||
g_kankyoHIO.light.field_0x5c += 400.0f * stick_y;
|
||||
|
||||
s16 temp_r31 = g_kankyoHIO.light.field_0x5c;
|
||||
s16 temp_r30 = g_kankyoHIO.light.field_0x5e;
|
||||
wind_vec.x = cM_scos(temp_r31) * cM_scos(temp_r30);
|
||||
wind_vec.y = cM_ssin(temp_r31);
|
||||
wind_vec.z = cM_scos(temp_r31) * cM_ssin(temp_r30);
|
||||
|
||||
g_env_light.global_wind_influence.vec = wind_vec;
|
||||
|
||||
if (mDoCPd_c::getHoldA(PAD_3)) {
|
||||
JUTReport(40, 200, "MAIN STICK : POSITION MOVE LR-Yangle UD-Xangle");
|
||||
JUTReport(40, 240, "SUB STICK UD : POWER");
|
||||
JUTReport(40, 280, "B BUTTON : TEST DISP OFF");
|
||||
|
||||
dKy_actor_addcol_amb_set(-0xFF, -0xFF, -0xFF, 1.0f);
|
||||
dKy_bg_addcol_amb_set(-0xFF, -0xFF, -0xFF, 1.0f);
|
||||
} else {
|
||||
dKy_actor_addcol_amb_set(-0xFF, -0xFF, -0xFF, 0.0f);
|
||||
dKy_bg_addcol_amb_set(-0xFF, -0xFF, -0xFF, 0.0f);
|
||||
}
|
||||
}
|
||||
|
||||
void dKydb_HIO_debug_draw() {
|
||||
csXyz rot;
|
||||
cXyz pos;
|
||||
cXyz size;
|
||||
|
||||
camera_class* camera = dComIfGp_getCamera(0);
|
||||
dKy_set_eyevect_calc2(camera, &pos, 200.0f, 200.0f);
|
||||
|
||||
s16 var_r30 = g_kankyoHIO.light.field_0x5c;
|
||||
s16 var_r29 = g_kankyoHIO.light.field_0x5e;
|
||||
|
||||
size.x = 2.0f;
|
||||
size.y = 2.0f;
|
||||
size.z = 150.0f;
|
||||
|
||||
rot.x = -var_r30;
|
||||
rot.y = -var_r29 + 0x4000;
|
||||
rot.z = 0;
|
||||
|
||||
static const GXColor c2 = {0xFF, 0xFF, 0x00, 0x40};
|
||||
dDbVw_drawCubeXlu(pos, size, rot, c2);
|
||||
}
|
||||
|
||||
// NONMATCHING - stack register
|
||||
void dKydb_HIO_winddebug_draw() {
|
||||
cXyz size;
|
||||
csXyz rot;
|
||||
camera_class* temp_r31 = dComIfGp_getCamera(0);
|
||||
cXyz pos;
|
||||
|
||||
if (!mDoCPd_c::getHoldB(PAD_3)) {
|
||||
JUTReport(120, 400, "power=[ %f ]", g_env_light.global_wind_influence.pow);
|
||||
JUTReport(100, 420, "HELP - A BUTTON TESTDISP OFF - B BUTTON");
|
||||
dKy_set_eyevect_calc2(temp_r31, &pos, 500.0f, 500.0f);
|
||||
|
||||
s16 var_r30 = g_kankyoHIO.light.field_0x5c;
|
||||
s16 var_r29 = g_kankyoHIO.light.field_0x5e;
|
||||
|
||||
rot.x = -var_r30;
|
||||
rot.y = -var_r29 + 0x4000;
|
||||
rot.z = 0;
|
||||
|
||||
size.x = 20.0f * g_env_light.global_wind_influence.pow;
|
||||
size.y = 10.0f * g_env_light.global_wind_influence.pow;
|
||||
size.z = 1000.0f * g_env_light.global_wind_influence.pow;
|
||||
|
||||
static const GXColor c2 = {0x00, 0x00, 0xFF, 0x50};
|
||||
dDbVw_drawCubeXlu(pos, size, rot, c2);
|
||||
}
|
||||
}
|
||||
|
||||
// NONMATCHING - stack register
|
||||
void dKydb_winddisp_draw() {
|
||||
cXyz size;
|
||||
csXyz rot;
|
||||
cXyz pos;
|
||||
|
||||
camera_class* camera = dComIfGp_getCamera(0);
|
||||
dKy_set_eyevect_calc2(camera, &pos, 200.0f, 200.0f);
|
||||
|
||||
if (g_kankyoHIO.wind.display_wind_dir == TRUE) {
|
||||
f32 temp_f31 = g_env_light.global_wind_influence.vec.x;
|
||||
f32 temp_f29 = g_env_light.global_wind_influence.vec.y;
|
||||
f32 temp_f30 = g_env_light.global_wind_influence.vec.z;
|
||||
|
||||
f32 temp_f28 = JMAFastSqrt(SQUARE(temp_f31) + SQUARE(temp_f30));
|
||||
s16 temp_r30 = cM_atan2s(temp_f31, temp_f30);
|
||||
s16 var_r31 = cM_atan2s(temp_f28, temp_f29);
|
||||
|
||||
rot.x = 16384.0f + var_r31;
|
||||
rot.y = (s16)temp_r30;
|
||||
rot.z = 0;
|
||||
|
||||
size.x = 20.0f * g_env_light.global_wind_influence.pow;
|
||||
size.y = 10.0f * g_env_light.global_wind_influence.pow;
|
||||
size.z = 1000.0f * g_env_light.global_wind_influence.pow;
|
||||
|
||||
static const GXColor c2 = {0xFF, 0x80, 0x80, 0x80};
|
||||
dDbVw_drawCubeXlu(pos, size, rot, c2);
|
||||
|
||||
dDbVw_Report(10, 410, "WIND x[%f]y[%f]z[%f]pow[%f]",
|
||||
g_env_light.global_wind_influence.vec.x, g_env_light.global_wind_influence.vec.y, g_env_light.global_wind_influence.vec.z, g_env_light.global_wind_influence.pow);
|
||||
}
|
||||
}
|
||||
|
||||
void dKydb_timedisp() {
|
||||
if (g_kankyoHIO.navy.display_save_location) {
|
||||
dDbVw_Report(20, 16, "ALWAYS SavMem STAGE[%s] Room[%d] Lp[%d]",
|
||||
g_dComIfG_gameInfo.info.getPlayer().getPlayerReturnPlace().getName(),
|
||||
g_dComIfG_gameInfo.info.getPlayer().getPlayerReturnPlace().getRoomNo(),
|
||||
g_dComIfG_gameInfo.info.getPlayer().getPlayerReturnPlace().getPlayerStatus());
|
||||
}
|
||||
|
||||
f32 time = g_env_light.getDaytime();
|
||||
f32 hour = time / 15.0f;
|
||||
|
||||
f32 var_f30 = ((int)(time * 1000000.0f) % 15000000) / 1000000.0f;
|
||||
f32 min = var_f30 / 15.0f * 60.0f;
|
||||
|
||||
var_f30 = ((int)(time * 1000000.0f) % 250000) / 1000000.0f;
|
||||
f32 sec = var_f30 / 0.25f * 60.0f;
|
||||
|
||||
dDbVw_Report(0x1E, 0x41, "TIME %02d:%02d:%02d", (int)hour, (int)min, (int)sec);
|
||||
|
||||
if (strcmp(dComIfGp_getStartStageName(), "F_SP116") == 0) {
|
||||
time = g_env_light.getDarkDaytime();
|
||||
hour = time / 15.0f;
|
||||
|
||||
var_f30 = ((int)(time * 1000000.0f) % 15000000) / 1000000.0f;
|
||||
min = var_f30 / 15.0f * 60.0f;
|
||||
|
||||
var_f30 = ((int)(time * 1000000.0f) % 250000) / 1000000.0f;
|
||||
sec = var_f30 / 0.25f * 60.0f;
|
||||
|
||||
dDbVw_Report(0x1E, 0x54, "S_TM %02d:%02d:%02d", (int)hour, (int)min, (int)sec);
|
||||
}
|
||||
|
||||
static const char* weekString[] = {
|
||||
"Sun",
|
||||
"Mon",
|
||||
"Tue",
|
||||
"Wed",
|
||||
"Thu",
|
||||
"Fri",
|
||||
"Sut",
|
||||
};
|
||||
|
||||
dDbVw_Report(0xDC, 0x41, "%s", weekString[g_env_light.mDate % 7]);
|
||||
dDbVw_Report(0x12C, 0x2D, "%s", dComIfGp_getStartStageName());
|
||||
dDbVw_Report(0x12C, 0x41, "Rm %d Lr %d Tw %d", dComIfGp_roomControl_getStayNo(), dComIfG_play_c::getLayerNo(0), dComIfGp_getStartStageDarkArea());
|
||||
|
||||
if (dComIfGs_Grass_hide_Check()) {
|
||||
dDbVw_Report(0x12C, 0x55, "orz");
|
||||
}
|
||||
|
||||
if (g_env_light.light_mask_type != 0) {
|
||||
dDbVw_Report(0x12C, 0x1C, "LM[%d]", g_env_light.light_mask_type);
|
||||
}
|
||||
|
||||
if (!dKy_camera_water_in_status_check()) {
|
||||
switch (g_env_light.light_size) {
|
||||
case 0:
|
||||
dDbVw_Report(0x190, 0x1C, "LS[S]");
|
||||
break;
|
||||
case 1:
|
||||
dDbVw_Report(0x190, 0x1C, "LS[M]");
|
||||
break;
|
||||
case 2:
|
||||
dDbVw_Report(0x190, 0x1C, "LS[L]");
|
||||
break;
|
||||
case 3:
|
||||
dDbVw_Report(0x190, 0x1C, "LS[LL]");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (g_presetHIO.field_0x2716 != 0) {
|
||||
dDbVw_Report(0x1E, 0x55, "JYOKYO FILE YOMIKOMI SIPPAI!");
|
||||
}
|
||||
|
||||
int var_r31 = 0x55;
|
||||
if ((g_kankyoHIO.navy.field_0x22a & 1)) {
|
||||
dDbVw_Report(0x1E, var_r31, "BMD Hakken!! Mada Irimasuka-?");
|
||||
var_r31 += 0x14;
|
||||
}
|
||||
|
||||
if ((g_kankyoHIO.navy.field_0x22a & 2)) {
|
||||
dDbVw_Report(0x1E, var_r31, "BMDM Hakken!! Mada Irimasuka-?");
|
||||
var_r31 += 0x14;
|
||||
}
|
||||
|
||||
if ((g_kankyoHIO.navy.field_0x22a & 4)) {
|
||||
dDbVw_Report(0x1E, var_r31, "BMDC Hakken!! Mada Irimasuka-?");
|
||||
var_r31 += 0x14;
|
||||
}
|
||||
|
||||
if ((g_kankyoHIO.navy.field_0x22a & 8)) {
|
||||
dDbVw_Report(0x1E, var_r31, "BMDS Hakken!! Mada Irimasuka-?");
|
||||
var_r31 += 0x14;
|
||||
}
|
||||
|
||||
if ((g_kankyoHIO.navy.field_0x22a & 0x10)) {
|
||||
dDbVw_Report(0x1E, var_r31, "BSMD Hakken!! Mada Irimasuka-?");
|
||||
var_r31 += 0x14;
|
||||
}
|
||||
|
||||
if ((g_kankyoHIO.navy.field_0x22a & 0x20)) {
|
||||
dDbVw_Report(0x1E, var_r31, "BDL Hakken!! Mada Irimasuka-?");
|
||||
var_r31 += 0x14;
|
||||
}
|
||||
|
||||
if ((g_kankyoHIO.navy.field_0x22a & 0x40)) {
|
||||
dDbVw_Report(0x1E, var_r31, "BDLL Hakken!! Mada Irimasuka-?");
|
||||
var_r31 += 0x14;
|
||||
}
|
||||
|
||||
if ((g_kankyoHIO.navy.field_0x22a & 0x80)) {
|
||||
dDbVw_Report(0x1E, var_r31, "BDLM Hakken!! Mada Irimasuka-?");
|
||||
var_r31 += 0x14;
|
||||
}
|
||||
|
||||
if ((g_kankyoHIO.navy.field_0x22a & 0x100)) {
|
||||
dDbVw_Report(0x1E, var_r31, "BMDP Hakken!! Mada Irimasuka-?");
|
||||
var_r31 += 0x14;
|
||||
}
|
||||
|
||||
if ((g_kankyoHIO.navy.field_0x22a & 0x200)) {
|
||||
dDbVw_Report(0x1E, var_r31, "BDLI Hakken!! Mada Irimasuka-?");
|
||||
var_r31 += 0x14;
|
||||
}
|
||||
|
||||
if ((g_kankyoHIO.navy.field_0x22a & 0x400)) {
|
||||
dDbVw_Report(0x1E, var_r31, "BDLC Hakken!! Mada Irimasuka-?");
|
||||
var_r31 += 0x14;
|
||||
}
|
||||
|
||||
if ((g_kankyoHIO.navy.field_0x22a & 0x800)) {
|
||||
dDbVw_Report(0x1E, var_r31, "BMDA Hakken!! Mada Irimasuka-?");
|
||||
var_r31 += 0x14;
|
||||
}
|
||||
|
||||
if ((g_kankyoHIO.navy.field_0x22a & 0x1000)) {
|
||||
// unused
|
||||
}
|
||||
}
|
||||
|
||||
void dKydb_efplight_monitor() {
|
||||
int i;
|
||||
for (i = 0; i < 5; i++) {
|
||||
if (g_env_light.efplight[i] != NULL) {
|
||||
OSReport("\n[%d]pos[%f][%f][%f]", i, g_env_light.efplight[i]->mPosition.x, g_env_light.efplight[i]->mPosition.y, g_env_light.efplight[i]->mPosition.z);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void dKydb_plight_monitor() {
|
||||
OSReport("\nNow PLIGHT\n");
|
||||
|
||||
int i;
|
||||
for (i = 0; i < 100; i++) {
|
||||
if (g_env_light.pointlight[i] != NULL) {
|
||||
OSReport("[%d]", i);
|
||||
if (g_kankyoHIO.point_light_monitor == 2) {
|
||||
OSReport("pos x[%f]y[%f]z[%f]pow[%f]\n", g_env_light.pointlight[i]->mPosition.x, g_env_light.pointlight[i]->mPosition.y, g_env_light.pointlight[i]->mPosition.z, g_env_light.pointlight[i]->mPow);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void dKydb_dungeonlight_draw() {
|
||||
cXyz proj;
|
||||
camera_class* camera = dComIfGp_getCamera(0);
|
||||
int i;
|
||||
fopAc_ac_c* player = dComIfGp_getPlayer(0);
|
||||
|
||||
if (g_kankyoHIO.dungeonLight.displayDebugSphere == TRUE) {
|
||||
for (i = 0; i < g_kankyoHIO.dungeonLight.usedLights; i++) {
|
||||
cXyz size;
|
||||
csXyz rot;
|
||||
cXyz sp34;
|
||||
cXyz pos;
|
||||
cXyz sp1C;
|
||||
|
||||
f32 var_f31 = g_env_light.dungeonlight[i].mAngleX / RAD_TO_DEG(1);
|
||||
f32 var_f30 = -(g_env_light.dungeonlight[i].mAngleY / RAD_TO_DEG(1));
|
||||
|
||||
rot.x = 65536.0f * (var_f31 / (M_PI * 2));
|
||||
rot.y = (65536.0f * (var_f30 / (M_PI * 2))) - 16384.0f;
|
||||
rot.z = 0;
|
||||
|
||||
size.x = 30.0f;
|
||||
size.y = 20.0f;
|
||||
size.z = 50.0f;
|
||||
|
||||
GXColor color;
|
||||
color = g_env_light.dungeonlight[i].mColor;
|
||||
color.a = 0xC8;
|
||||
|
||||
if (g_env_light.dungeonlight[i].mAngleAttenuation == 0) {
|
||||
dDbVw_drawSphereXlu(g_env_light.dungeonlight[i].mPosition, 60.0f, color, 1);
|
||||
} else {
|
||||
color.r = 0xFF;
|
||||
color.g = 0xFF;
|
||||
color.b = 0xFF;
|
||||
color.a = 0xFF;
|
||||
dDbVw_drawCubeXlu(g_env_light.dungeonlight[i].mPosition, size, rot, color);
|
||||
|
||||
pos.x = -(cM_scos(rot.x) * cM_ssin(rot.y));
|
||||
pos.y = cM_ssin(rot.x);
|
||||
pos.z = -(cM_scos(rot.x) * cM_scos(rot.y));
|
||||
|
||||
pos.x = (8000.0f * pos.x) + g_env_light.dungeonlight[i].mPosition.x;
|
||||
pos.y = (8000.0f * pos.y) + g_env_light.dungeonlight[i].mPosition.y;
|
||||
pos.z = (8000.0f * pos.z) + g_env_light.dungeonlight[i].mPosition.z;
|
||||
|
||||
size.x = 3.0f;
|
||||
size.y = 3.0f;
|
||||
size.z = 8000.0f;
|
||||
dDbVw_drawCubeXlu(pos, size, rot, color);
|
||||
|
||||
color.r = 0xFF;
|
||||
color.g = 0;
|
||||
color.b = 0xFF;
|
||||
color.a = 0xFF;
|
||||
|
||||
size.x = 280.0f;
|
||||
size.y = 2.0f;
|
||||
size.z = 2.0f;
|
||||
dDbVw_drawCubeXlu(g_env_light.dungeonlight[i].mPosition, size, rot, color);
|
||||
}
|
||||
|
||||
color.r = 0;
|
||||
color.g = 0xFF;
|
||||
color.b = 0;
|
||||
color.a = 0xFF;
|
||||
|
||||
size.x = 2.0f;
|
||||
size.y = 2.0f;
|
||||
size.z = 280.0f;
|
||||
|
||||
rot.x = 0x4000;
|
||||
rot.y = 0;
|
||||
rot.z = 0;
|
||||
dDbVw_drawCubeXlu(g_env_light.dungeonlight[i].mPosition, size, rot, color);
|
||||
|
||||
color.r = 0xFF;
|
||||
color.g = 0;
|
||||
color.b = 0;
|
||||
color.a = 0xFF;
|
||||
|
||||
size.x = 1.0f;
|
||||
size.y = 1.0f;
|
||||
size.z = 140.0f;
|
||||
|
||||
rot.x = 0;
|
||||
rot.y = 0x4000;
|
||||
dDbVw_drawCubeXlu(g_env_light.dungeonlight[i].mPosition, size, rot, color);
|
||||
|
||||
color.r = 0;
|
||||
color.g = 0;
|
||||
color.b = 0xFF;
|
||||
color.a = 0xFF;
|
||||
|
||||
rot.x = 0;
|
||||
rot.y = 0;
|
||||
dDbVw_drawCubeXlu(g_env_light.dungeonlight[i].mPosition, size, rot, color);
|
||||
|
||||
color.r = 0;
|
||||
color.g = 0xFF;
|
||||
color.b = 0;
|
||||
color.a = 0xFF;
|
||||
|
||||
size.x = 1.0f;
|
||||
size.y = 1.0f;
|
||||
size.z = 280.0f;
|
||||
|
||||
rot.x = 0x4000;
|
||||
rot.y = 0;
|
||||
rot.z = 0;
|
||||
dDbVw_drawCubeXlu(player->current.pos, size, rot, color);
|
||||
|
||||
color.r = 0xFF;
|
||||
color.g = 0;
|
||||
color.b = 0;
|
||||
color.a = 0xFF;
|
||||
|
||||
rot.x = 0;
|
||||
rot.y = 0x4000;
|
||||
dDbVw_drawCubeXlu(player->current.pos, size, rot, color);
|
||||
|
||||
color.r = 0;
|
||||
color.g = 0;
|
||||
color.b = 0xFF;
|
||||
color.a = 0xFF;
|
||||
|
||||
rot.x = 0;
|
||||
rot.y = 0;
|
||||
dDbVw_drawCubeXlu(player->current.pos, size, rot, color);
|
||||
|
||||
mDoLib_project(&g_env_light.dungeonlight[i].mPosition, &proj);
|
||||
if (proj.x > 30.0f) {
|
||||
proj.x -= 30.0f;
|
||||
}
|
||||
|
||||
if (proj.x < 0.0f || proj.x > 640.0f || proj.y < 0.0f || proj.y > 456.0f) {
|
||||
if (proj.x < 0.0f) {
|
||||
proj.x = 10.0f;
|
||||
}
|
||||
if (proj.x > 640.0f) {
|
||||
proj.x = 560.0f;
|
||||
}
|
||||
if (proj.y < 0.0f) {
|
||||
proj.y = 40.0f;
|
||||
}
|
||||
if (proj.y > 456.0f) {
|
||||
proj.y = 404.0f;
|
||||
}
|
||||
|
||||
dDbVw_Report((int)proj.x, (int)proj.y, "OUT %d", i + 2);
|
||||
} else {
|
||||
dDbVw_Report((int)proj.x, (int)proj.y, "LIGHT %d", i + 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < 6; i++) {
|
||||
if (g_kankyoHIO.dungeonLight.field_0x8 != 0) {
|
||||
if ((g_kankyoHIO.dungeonLight.field_0x8 - 1) == i) {
|
||||
g_env_light.dungeonlight[i].mPosition = player->current.pos;
|
||||
} else if (g_kankyoHIO.dungeonLight.field_0x8 == i + 160) {
|
||||
g_env_light.dungeonlight[i].mPosition = camera->lookat.center;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (g_kankyoHIO.dungeonLight.field_0x8 >= 10) {
|
||||
fopAc_ac_c* sp8 = dComIfGp_getPlayer(0);
|
||||
if (g_kankyoHIO.dungeonLight.usedLights > g_kankyoHIO.dungeonLight.field_0x8 - 10) {
|
||||
sp8->current.pos = g_env_light.dungeonlight[g_kankyoHIO.dungeonLight.field_0x8 - 10].mPosition;
|
||||
}
|
||||
}
|
||||
|
||||
if (g_kankyoHIO.dungeonLight.field_0x8 != 0) {
|
||||
g_kankyoHIO.light.dKankyo_lightHIOInfoUpDateF();
|
||||
g_kankyoHIO.dungeonLight.field_0x8 = 0;
|
||||
}
|
||||
}
|
||||
@@ -56,7 +56,7 @@ static void dKy_set_eyevect_calc(camera_class* i_camera, Vec* o_out, f32 param_2
|
||||
|
||||
/* 8005B830-8005B92C 056170 00FC+00 6/6 0/0 0/0 .text
|
||||
* dKy_set_eyevect_calc2__FP12camera_classP3Vecff */
|
||||
static void dKy_set_eyevect_calc2(camera_class* i_camera, Vec* o_out, f32 param_2, f32 param_3) {
|
||||
void dKy_set_eyevect_calc2(camera_class* i_camera, Vec* o_out, f32 param_2, f32 param_3) {
|
||||
cXyz calc;
|
||||
DOUBLE_POS pos;
|
||||
|
||||
@@ -1890,10 +1890,10 @@ void vrkumo_move() {
|
||||
if (filelist != NULL) {
|
||||
sp2C = dStage_FileList_dt_SeaLevel(filelist);
|
||||
#ifdef DEBUG
|
||||
if (g_kankyoHIO.field_0x0b4) {
|
||||
sp2C = g_kankyoHIO.field_0x0b8;
|
||||
if (g_kankyoHIO.vrbox.field_0x14) {
|
||||
sp2C = g_kankyoHIO.vrbox.m_horizonHeight;
|
||||
} else {
|
||||
g_kankyoHIO.field_0x0b8 = sp2C;
|
||||
g_kankyoHIO.vrbox.m_horizonHeight = sp2C;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
@@ -4662,10 +4662,10 @@ void drawVrkumo(Mtx drawMtx, GXColor& color, u8** tex) {
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
if (g_kankyoHIO.field_0x0b4) {
|
||||
sp70 = g_kankyoHIO.field_0x0b8;
|
||||
if (g_kankyoHIO.vrbox.field_0x14) {
|
||||
sp70 = g_kankyoHIO.vrbox.m_horizonHeight;
|
||||
} else {
|
||||
g_kankyoHIO.field_0x0b8 = sp70;
|
||||
g_kankyoHIO.vrbox.m_horizonHeight = sp70;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -4752,8 +4752,8 @@ void drawVrkumo(Mtx drawMtx, GXColor& color, u8** tex) {
|
||||
static f32 howa_loop_cnt = 0.0f;
|
||||
|
||||
#ifdef DEBUG
|
||||
spAC = g_kankyoHIO.field_0x3f4;
|
||||
spA8 = g_kankyoHIO.field_0x3f8;
|
||||
spAC = g_kankyoHIO.navy.cloud_sunny_size;
|
||||
spA8 = g_kankyoHIO.navy.cloud_cloudy_size;
|
||||
#else
|
||||
spAC = 0.6f;
|
||||
spA8 = 0.84f;
|
||||
|
||||
+4
-5
@@ -362,11 +362,10 @@ static int phase_01(dScnPly_c* i_this) {
|
||||
mDoAud_setInDarkness(false);
|
||||
}
|
||||
|
||||
s8 start_room = dComIfGp_getStartStageRoomNo();
|
||||
int layer = dComIfG_play_c::getLayerNo_common(dComIfGp_getStartStageName(), start_room,
|
||||
dComIfGp_getStartStageLayer());
|
||||
|
||||
mDoAud_setSceneName(dComIfGp_getStartStageName(), start_room, layer);
|
||||
mDoAud_setSceneName(dComIfGp_getStartStageName(),
|
||||
dComIfGp_getStartStageRoomNo(),
|
||||
dComIfG_play_c::getLayerNo_common(dComIfGp_getStartStageName(), dComIfGp_getStartStageRoomNo(),
|
||||
dComIfGp_getStartStageLayer()));
|
||||
|
||||
if (!mDoAud_load1stDynamicWave()) {
|
||||
return cPhs_INIT_e;
|
||||
|
||||
+449
-2
@@ -2908,6 +2908,17 @@ void mDoExt_3DlineMatSortPacket::draw() {
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
mDoExt_cube8pPacket::mDoExt_cube8pPacket(cXyz* i_points, const GXColor& i_color) {
|
||||
cXyz* pnt_array = mPoints;
|
||||
|
||||
for (int i = 0; i < 8; i++) {
|
||||
*(pnt_array)++ = *(i_points)++;
|
||||
}
|
||||
|
||||
DCStoreRangeNoSync(mPoints, sizeof(cXyz) * 8);
|
||||
mColor = i_color;
|
||||
}
|
||||
|
||||
void drawCube(MtxP mtx, cXyz* pos, const GXColor& color) {
|
||||
GXSetArray(GX_VA_POS, pos, sizeof(cXyz));
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
@@ -2950,6 +2961,17 @@ void drawCube(MtxP mtx, cXyz* pos, const GXColor& color) {
|
||||
GXEnd();
|
||||
}
|
||||
|
||||
void mDoExt_cube8pPacket::draw() {
|
||||
drawCube(j3dSys.getViewMtx(), mPoints, mColor);
|
||||
}
|
||||
|
||||
mDoExt_cubePacket::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;
|
||||
}
|
||||
|
||||
void mDoExt_cubePacket::draw() {
|
||||
static cXyz l_pos[8] = {
|
||||
cXyz(-1.0f, 1.0f, -1.0f), cXyz(1.0f, 1.0f, -1.0f), cXyz(-1.0f, 1.0f, 1.0f),
|
||||
@@ -2964,6 +2986,389 @@ void mDoExt_cubePacket::draw() {
|
||||
drawCube(mDoMtx_stack_c::get(), l_pos, mColor);
|
||||
}
|
||||
|
||||
mDoExt_quadPacket::mDoExt_quadPacket(cXyz* i_points, const GXColor& i_color, u8 i_clipZ) {
|
||||
cXyz* pnt_array = mPoints;
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
*(pnt_array)++ = *(i_points)++;
|
||||
}
|
||||
|
||||
DCStoreRangeNoSync(mPoints, sizeof(cXyz) * 4);
|
||||
mColor = i_color;
|
||||
mClipZ = i_clipZ;
|
||||
}
|
||||
|
||||
void mDoExt_quadPacket::draw() {
|
||||
GXSetArray(GX_VA_POS, mPoints, sizeof(cXyz));
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX8);
|
||||
GXSetNumChans(1);
|
||||
GXSetChanCtrl(GX_COLOR0, GX_DISABLE, GX_SRC_REG, GX_SRC_REG, GX_LIGHT_NULL, GX_DF_CLAMP,
|
||||
GX_AF_NONE);
|
||||
GXSetNumTexGens(0);
|
||||
GXSetNumTevStages(1);
|
||||
GXSetTevColor(GX_TEVREG0, mColor);
|
||||
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0);
|
||||
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0);
|
||||
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
|
||||
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0);
|
||||
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
|
||||
|
||||
if (mClipZ) {
|
||||
GXSetZMode(GX_ENABLE, GX_LEQUAL, GX_ENABLE);
|
||||
} else {
|
||||
GXSetZMode(GX_DISABLE, GX_LEQUAL, GX_DISABLE);
|
||||
}
|
||||
|
||||
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_CLEAR);
|
||||
GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0);
|
||||
GXSetCullMode(GX_CULL_BACK);
|
||||
GXSetClipMode(GX_CLIP_ENABLE);
|
||||
GXLoadPosMtxImm(j3dSys.getViewMtx(), 0);
|
||||
GXSetCurrentMtx(0);
|
||||
|
||||
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
|
||||
GXPosition1x8(0);
|
||||
GXPosition1x8(1);
|
||||
GXPosition1x8(2);
|
||||
GXPosition1x8(3);
|
||||
GXEnd();
|
||||
}
|
||||
|
||||
mDoExt_trianglePacket::mDoExt_trianglePacket(cXyz* i_points, const GXColor& i_color, u8 i_clipZ) {
|
||||
cXyz* pnt_array = mPoints;
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
*(pnt_array)++ = *(i_points)++;
|
||||
}
|
||||
|
||||
DCStoreRangeNoSync(mPoints, sizeof(cXyz) * 3);
|
||||
mColor = i_color;
|
||||
mClipZ = i_clipZ;
|
||||
}
|
||||
|
||||
void mDoExt_trianglePacket::draw() {
|
||||
j3dSys.reinitGX();
|
||||
|
||||
GXSetArray(GX_VA_POS, mPoints, sizeof(cXyz));
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX8);
|
||||
GXLoadPosMtxImm(j3dSys.getViewMtx(), 0);
|
||||
GXSetCurrentMtx(0);
|
||||
GXSetNumChans(1);
|
||||
GXSetChanCtrl(GX_COLOR0, GX_DISABLE, GX_SRC_REG, GX_SRC_REG, GX_LIGHT_NULL, GX_DF_CLAMP, GX_AF_NONE);
|
||||
GXSetNumTexGens(0);
|
||||
GXSetNumTevStages(1);
|
||||
GXSetTevColor(GX_TEVREG0, mColor);
|
||||
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0);
|
||||
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0);
|
||||
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
|
||||
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0);
|
||||
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
|
||||
GXSetZCompLoc(GX_ENABLE);
|
||||
|
||||
if (mClipZ) {
|
||||
GXSetZMode(GX_ENABLE, GX_LEQUAL, GX_ENABLE);
|
||||
} else {
|
||||
GXSetZMode(GX_DISABLE, GX_LEQUAL, GX_DISABLE);
|
||||
}
|
||||
|
||||
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_CLEAR);
|
||||
GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0);
|
||||
GXSetFog(GX_FOG_NONE, 0.0f, 0.0f, 0.0f, 0.0f, g_clearColor);
|
||||
GXSetFogRangeAdj(GX_DISABLE, 0, NULL);
|
||||
GXSetCullMode(GX_CULL_NONE);
|
||||
GXSetDither(GX_ENABLE);
|
||||
GXSetClipMode(GX_CLIP_ENABLE);
|
||||
GXSetNumIndStages(0);
|
||||
|
||||
GXBegin(GX_TRIANGLES, GX_VTXFMT0, 3);
|
||||
GXPosition1x8(0);
|
||||
GXPosition1x8(1);
|
||||
GXPosition1x8(2);
|
||||
GXEnd();
|
||||
|
||||
J3DShape::resetVcdVatCache();
|
||||
}
|
||||
|
||||
mDoExt_linePacket::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;
|
||||
}
|
||||
|
||||
void mDoExt_linePacket::draw() {
|
||||
j3dSys.reinitGX();
|
||||
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
|
||||
GXLoadPosMtxImm(j3dSys.getViewMtx(), 0);
|
||||
GXSetCurrentMtx(0);
|
||||
GXSetNumChans(1);
|
||||
GXSetChanCtrl(GX_COLOR0, GX_DISABLE, GX_SRC_REG, GX_SRC_REG, GX_LIGHT_NULL, GX_DF_CLAMP, GX_AF_NONE);
|
||||
GXSetNumTexGens(0);
|
||||
GXSetNumTevStages(1);
|
||||
GXSetTevColor(GX_TEVREG0, mColor);
|
||||
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0);
|
||||
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0);
|
||||
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
|
||||
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0);
|
||||
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
|
||||
GXSetZCompLoc(GX_ENABLE);
|
||||
|
||||
if (mClipZ) {
|
||||
GXSetZMode(GX_ENABLE, GX_LEQUAL, GX_ENABLE);
|
||||
} else {
|
||||
GXSetZMode(GX_DISABLE, GX_LEQUAL, GX_DISABLE);
|
||||
}
|
||||
|
||||
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_CLEAR);
|
||||
GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0);
|
||||
GXSetFog(GX_FOG_NONE, 0.0f, 0.0f, 0.0f, 0.0f, g_clearColor);
|
||||
GXSetFogRangeAdj(GX_DISABLE, 0, NULL);
|
||||
GXSetCullMode(GX_CULL_NONE);
|
||||
GXSetDither(GX_ENABLE);
|
||||
GXSetClipMode(GX_CLIP_ENABLE);
|
||||
GXSetNumIndStages(0);
|
||||
GXSetLineWidth(mWidth, GX_TO_ZERO);
|
||||
|
||||
GXBegin(GX_LINES, GX_VTXFMT0, 2);
|
||||
GXPosition3f32(mStart.x, mStart.y, mStart.z);
|
||||
GXPosition3f32(mEnd.x, mEnd.y, mEnd.z);
|
||||
GXEnd();
|
||||
|
||||
J3DShape::resetVcdVatCache();
|
||||
}
|
||||
|
||||
mDoExt_ArrowPacket::mDoExt_ArrowPacket(cXyz& i_position, cXyz& param_1, const GXColor& i_color, u8 i_clipZ, u8 i_lineWidth) {
|
||||
mStart = i_position;
|
||||
mEnd = param_1;
|
||||
mColor = i_color;
|
||||
mClipZ = i_clipZ;
|
||||
mLineWidth = i_lineWidth;
|
||||
}
|
||||
|
||||
void mDoExt_ArrowPacket::draw() {
|
||||
Mtx sp28;
|
||||
cXyz sp18;
|
||||
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
|
||||
GXSetNumChans(1);
|
||||
GXSetChanCtrl(GX_COLOR0, GX_DISABLE, GX_SRC_REG, GX_SRC_REG, GX_LIGHT_NULL, GX_DF_CLAMP, GX_AF_NONE);
|
||||
GXSetNumTexGens(0);
|
||||
GXSetNumTevStages(1);
|
||||
GXSetTevColor(GX_TEVREG0, mColor);
|
||||
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0);
|
||||
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0);
|
||||
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
|
||||
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0);
|
||||
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
|
||||
|
||||
if (mClipZ) {
|
||||
GXSetZMode(GX_ENABLE, GX_LEQUAL, GX_ENABLE);
|
||||
} else {
|
||||
GXSetZMode(GX_DISABLE, GX_LEQUAL, GX_DISABLE);
|
||||
}
|
||||
|
||||
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_CLEAR);
|
||||
GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0);
|
||||
GXSetCullMode(GX_CULL_NONE);
|
||||
GXSetClipMode(GX_CLIP_ENABLE);
|
||||
GXSetLineWidth(mLineWidth, GX_TO_ZERO);
|
||||
|
||||
sp18 = mEnd - mStart;
|
||||
MtxTrans(mStart.x, mStart.y, mStart.z, 0);
|
||||
cMtx_YrotM(*calc_mtx, sp18.atan2sX_Z());
|
||||
cMtx_XrotM(*calc_mtx, cM_atan2s(JMAFastSqrt(SQUARE(sp18.x) + SQUARE(sp18.z)), sp18.y));
|
||||
cMtx_concat(j3dSys.getViewMtx(), *calc_mtx, sp28);
|
||||
|
||||
GXLoadPosMtxImm(sp28, 0);
|
||||
GXSetCurrentMtx(0);
|
||||
|
||||
GXBegin(GX_LINES, GX_VTXFMT0, 2);
|
||||
GXPosition3f32(0.0f, 0.0f, 0.0f);
|
||||
GXPosition3f32(0.0f, sp18.abs(), 0.0f);
|
||||
GXEnd();
|
||||
|
||||
f32 var_f29 = sp18.abs();
|
||||
f32 var_f31 = var_f29 * 0.1f;
|
||||
f32 var_f30 = var_f29 * 0.8f;
|
||||
|
||||
GXBegin(GX_TRIANGLEFAN, GX_VTXFMT0, 6);
|
||||
GXPosition3f32(0.0f, var_f29, 0.0f);
|
||||
GXPosition3f32(0.0f, var_f30, var_f31);
|
||||
GXPosition3f32(var_f31, var_f30, 0.0f);
|
||||
GXPosition3f32(0.0f, var_f30, -var_f31);
|
||||
GXPosition3f32(-var_f31, var_f30, 0.0f);
|
||||
GXPosition3f32(0.0f, var_f30, var_f31);
|
||||
GXEnd();
|
||||
}
|
||||
|
||||
mDoExt_pointPacket::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;
|
||||
}
|
||||
|
||||
void mDoExt_pointPacket::draw() {
|
||||
j3dSys.reinitGX();
|
||||
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
|
||||
GXSetNumChans(1);
|
||||
GXSetChanCtrl(GX_COLOR0, GX_DISABLE, GX_SRC_REG, GX_SRC_REG, GX_LIGHT_NULL, GX_DF_CLAMP, GX_AF_NONE);
|
||||
GXSetNumTexGens(0);
|
||||
GXSetNumTevStages(1);
|
||||
GXSetTevColor(GX_TEVREG0, mColor);
|
||||
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0);
|
||||
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0);
|
||||
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
|
||||
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0);
|
||||
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
|
||||
|
||||
if (mClipZ) {
|
||||
GXSetZMode(GX_ENABLE, GX_LEQUAL, GX_ENABLE);
|
||||
} else {
|
||||
GXSetZMode(GX_DISABLE, GX_LEQUAL, GX_DISABLE);
|
||||
}
|
||||
|
||||
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_CLEAR);
|
||||
GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0);
|
||||
GXSetCullMode(GX_CULL_NONE);
|
||||
GXSetClipMode(GX_CLIP_ENABLE);
|
||||
GXSetPointSize(mLineWidth, GX_TO_ZERO);
|
||||
|
||||
GXLoadPosMtxImm(j3dSys.getViewMtx(), 0);
|
||||
GXSetCurrentMtx(0);
|
||||
|
||||
GXBegin(GX_POINTS, GX_VTXFMT0, 1);
|
||||
GXPosition3f32(mPosition.x, mPosition.y, mPosition.z);
|
||||
GXEnd();
|
||||
|
||||
j3dSys.reinitGX();
|
||||
J3DShape::resetVcdVatCache();
|
||||
}
|
||||
|
||||
mDoExt_circlePacket::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;
|
||||
}
|
||||
|
||||
void mDoExt_circlePacket::draw() {
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
|
||||
GXSetNumChans(1);
|
||||
GXSetChanCtrl(GX_COLOR0, GX_DISABLE, GX_SRC_REG, GX_SRC_REG, GX_LIGHT_NULL, GX_DF_CLAMP, GX_AF_NONE);
|
||||
GXSetNumTexGens(0);
|
||||
GXSetNumTevStages(1);
|
||||
GXSetTevColor(GX_TEVREG0, mColor);
|
||||
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0);
|
||||
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0);
|
||||
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
|
||||
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0);
|
||||
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
|
||||
|
||||
if (mClipZ) {
|
||||
GXSetZMode(GX_ENABLE, GX_LEQUAL, GX_ENABLE);
|
||||
} else {
|
||||
GXSetZMode(GX_DISABLE, GX_LEQUAL, GX_DISABLE);
|
||||
}
|
||||
|
||||
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_CLEAR);
|
||||
GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0);
|
||||
GXSetCullMode(GX_CULL_NONE);
|
||||
GXSetClipMode(GX_CLIP_ENABLE);
|
||||
GXSetLineWidth(mLineWidth, GX_TO_ZERO);
|
||||
GXLoadPosMtxImm(j3dSys.getViewMtx(), 0);
|
||||
GXSetCurrentMtx(0);
|
||||
|
||||
cXyz sp38;
|
||||
cXyz sp44;
|
||||
int numEdges = 36;
|
||||
sp38.y = sp44.y = mPosition.y;
|
||||
|
||||
GXBegin(GX_LINES, GX_VTXFMT0, numEdges * 2);
|
||||
for (int i = 0; i < numEdges; i++) {
|
||||
sp38.x = cM_fcos((i * 6.2831855f) / numEdges) * mRadius;
|
||||
sp38.z = cM_fsin((i * 6.2831855f) / numEdges) * mRadius;
|
||||
|
||||
sp44.x = cM_fcos(((i + 1) * 6.2831855f) / numEdges) * mRadius;
|
||||
sp44.z = cM_fsin(((i + 1) * 6.2831855f) / numEdges) * mRadius;
|
||||
|
||||
sp38.x += mPosition.x;
|
||||
sp38.z += mPosition.z;
|
||||
sp44.x += mPosition.x;
|
||||
sp44.z += mPosition.z;
|
||||
GXPosition3f32(sp38.x, sp38.y, sp38.z);
|
||||
GXPosition3f32(sp44.x, sp44.y, sp44.z);
|
||||
}
|
||||
GXEnd();
|
||||
}
|
||||
|
||||
mDoExt_spherePacket::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;
|
||||
}
|
||||
|
||||
void mDoExt_spherePacket::draw() {
|
||||
GXSetNumChans(1);
|
||||
GXSetChanCtrl(GX_COLOR0, GX_ENABLE, GX_SRC_REG, GX_SRC_REG, GX_LIGHT0, GX_DF_CLAMP, GX_AF_NONE);
|
||||
GXSetNumTexGens(0);
|
||||
GXSetNumTevStages(1);
|
||||
GXSetTevColor(GX_TEVREG0, mColor);
|
||||
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0);
|
||||
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_RASC, GX_CC_C0, GX_CC_ZERO);
|
||||
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
|
||||
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0);
|
||||
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
|
||||
|
||||
if (mClipZ) {
|
||||
GXSetZMode(GX_ENABLE, GX_LEQUAL, GX_ENABLE);
|
||||
} else {
|
||||
GXSetZMode(GX_DISABLE, GX_LEQUAL, GX_DISABLE);
|
||||
}
|
||||
|
||||
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_CLEAR);
|
||||
GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0);
|
||||
GXSetCullMode(GX_CULL_BACK);
|
||||
GXSetClipMode(GX_CLIP_ENABLE);
|
||||
|
||||
mDoMtx_stack_c::copy(j3dSys.getViewMtx());
|
||||
mDoMtx_stack_c::transM(mPosition.x, mPosition.y, mPosition.z);
|
||||
mDoMtx_stack_c::scaleM(mSize, mSize, mSize);
|
||||
|
||||
GXLoadPosMtxImm(mDoMtx_stack_c::get(), 0);
|
||||
mDoMtx_stack_c::inverseTranspose();
|
||||
|
||||
GXLoadNrmMtxImm(mDoMtx_stack_c::get(), 0);
|
||||
GXSetCurrentMtx(0);
|
||||
|
||||
GXDrawSphere(8, 8);
|
||||
}
|
||||
|
||||
mDoExt_cylinderPacket::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;
|
||||
}
|
||||
|
||||
void mDoExt_cylinderPacket::draw() {
|
||||
GXSetNumChans(1);
|
||||
GXSetChanCtrl(GX_COLOR0, GX_ENABLE, GX_SRC_REG, GX_SRC_REG, 1, GX_DF_CLAMP, GX_AF_NONE);
|
||||
@@ -2987,9 +3392,11 @@ void mDoExt_cylinderPacket::draw() {
|
||||
GXSetCullMode(GX_CULL_BACK);
|
||||
GXSetClipMode(GX_CLIP_ENABLE);
|
||||
|
||||
f32 var_f31 = mHeight * 0.5f;
|
||||
|
||||
mDoMtx_stack_c::copy(j3dSys.getViewMtx());
|
||||
mDoMtx_stack_c::transM(mPosition.x, mPosition.y + mHeight * 0.5f, mPosition.z);
|
||||
mDoMtx_stack_c::scaleM(mRadius, mRadius * 0.5f, mRadius);
|
||||
mDoMtx_stack_c::transM(mPosition.x, mPosition.y + var_f31, mPosition.z);
|
||||
mDoMtx_stack_c::scaleM(mRadius, var_f31, mRadius);
|
||||
mDoMtx_stack_c::XrotM(0x4000);
|
||||
|
||||
GXLoadPosMtxImm(mDoMtx_stack_c::get(), 0);
|
||||
@@ -2999,6 +3406,46 @@ void mDoExt_cylinderPacket::draw() {
|
||||
GXSetCurrentMtx(0);
|
||||
GXDrawCylinder(8);
|
||||
}
|
||||
|
||||
mDoExt_cylinderMPacket::mDoExt_cylinderMPacket(Mtx i_mtx, const GXColor& i_color, u8 i_clipZ) {
|
||||
cMtx_copy(i_mtx, mMatrix);
|
||||
mColor = i_color;
|
||||
mClipZ = i_clipZ;
|
||||
}
|
||||
|
||||
void mDoExt_cylinderMPacket::draw() {
|
||||
GXSetNumChans(1);
|
||||
GXSetChanCtrl(GX_COLOR0, GX_ENABLE, GX_SRC_REG, GX_SRC_REG, GX_LIGHT0, GX_DF_CLAMP, GX_AF_NONE);
|
||||
GXSetNumTexGens(0);
|
||||
GXSetNumTevStages(1);
|
||||
GXSetTevColor(GX_TEVREG0, mColor);
|
||||
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0);
|
||||
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_RASC, GX_CC_C0, GX_CC_ZERO);
|
||||
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
|
||||
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0);
|
||||
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_ENABLE, GX_TEVPREV);
|
||||
|
||||
if (mClipZ) {
|
||||
GXSetZMode(GX_ENABLE, GX_LEQUAL, GX_ENABLE);
|
||||
} else {
|
||||
GXSetZMode(GX_DISABLE, GX_LEQUAL, GX_DISABLE);
|
||||
}
|
||||
|
||||
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_CLEAR);
|
||||
GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0);
|
||||
GXSetCullMode(GX_CULL_BACK);
|
||||
GXSetClipMode(GX_CLIP_ENABLE);
|
||||
|
||||
cMtx_concat(j3dSys.getViewMtx(), mMatrix, mMatrix);
|
||||
|
||||
GXLoadPosMtxImm(mMatrix, 0);
|
||||
cMtx_inverseTranspose(mMatrix, mMatrix);
|
||||
|
||||
GXLoadNrmMtxImm(mMatrix, 0);
|
||||
GXSetCurrentMtx(0);
|
||||
|
||||
GXDrawCylinder(8);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 80014804-8001494C 00F144 0148+00 3/3 0/0 0/0 .text
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
#include "m_Do/m_Do_graphic.h"
|
||||
#include "m_Do/m_Do_machine.h"
|
||||
#include "m_Do/m_Do_main.h"
|
||||
#include "d/d_debug_viewer.h"
|
||||
|
||||
/* 80007D9C-80007E44 0026DC 00A8+00 1/1 0/0 0/0 .text createTimg__FUsUsUl */
|
||||
static ResTIMG* createTimg(u16 width, u16 height, u32 format) {
|
||||
@@ -265,6 +266,10 @@ void mDoGph_BlankingOFF() {}
|
||||
/* 80008424-80008450 002D64 002C+00 1/1 0/0 0/0 .text dScnPly_BeforeOfPaint__Fv */
|
||||
static void dScnPly_BeforeOfPaint() {
|
||||
dComIfGd_reset();
|
||||
|
||||
#if DEBUG
|
||||
dDbVw_deleteDrawPacketList();
|
||||
#endif
|
||||
}
|
||||
|
||||
/* 80008450-80008474 002D90 0024+00 0/0 1/0 0/0 .text mDoGph_BeforeOfDraw__Fv */
|
||||
|
||||
Reference in New Issue
Block a user