mirror of
https://github.com/zeldaret/tp
synced 2026-06-30 20:01:54 -04:00
d_menu_save / pane_class / rename some data (#205)
* work on fop actor / actor mng, daalink, d_a_obj_item * d_a_title mostly decompiled * daalink / d_event / JMessage / dmsg_out_font work * msg_scrn_base / msg_scrn_boss * some work on mDo machine, d_menu_save, d_tresure, and various * remove asm * progress * finish d_menu_save / d_pane_class_alpha / d_pane_class / rename some data * rename more data * remove asm / progress * match all of d_pane_class * fixes / some dKankyo doc
This commit is contained in:
+17
-10
@@ -18079,32 +18079,32 @@ int daAlink_c::checkItemSetButton(int i_itemNo) {
|
||||
|
||||
/* 800C0284-800C02C8 0BABC4 0044+00 1/1 0/0 0/0 .text checkField__9daAlink_cFv */
|
||||
bool daAlink_c::checkField() {
|
||||
return dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) == 0;
|
||||
return dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) == ST_FIELD;
|
||||
}
|
||||
|
||||
/* 800C02C8-800C0310 0BAC08 0048+00 6/6 0/0 0/0 .text checkBossRoom__9daAlink_cFv */
|
||||
bool daAlink_c::checkBossRoom() {
|
||||
return dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) == 3;
|
||||
return dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) == ST_BOSS_ROOM;
|
||||
}
|
||||
|
||||
/* 800C0310-800C0358 0BAC50 0048+00 4/4 0/0 0/0 .text checkDungeon__9daAlink_cFv */
|
||||
bool daAlink_c::checkDungeon() {
|
||||
return dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) == 1;
|
||||
return dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) == ST_DUNGEON;
|
||||
}
|
||||
|
||||
/* 800C0358-800C03A0 0BAC98 0048+00 3/3 0/0 0/0 .text checkCastleTown__9daAlink_cFv */
|
||||
bool daAlink_c::checkCastleTown() {
|
||||
return dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) == 4;
|
||||
return dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) == ST_CASTLE_TOWN;
|
||||
}
|
||||
|
||||
/* 800C03A0-800C03E8 0BACE0 0048+00 6/6 0/0 1/1 .text checkCloudSea__9daAlink_cFv */
|
||||
bool daAlink_c::checkCloudSea() {
|
||||
return dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) == 5;
|
||||
return dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) == ST_CLOUD_SEA;
|
||||
}
|
||||
|
||||
/* 800C03E8-800C044C 0BAD28 0064+00 5/5 0/0 0/0 .text checkRoomOnly__9daAlink_cFv */
|
||||
bool daAlink_c::checkRoomOnly() {
|
||||
return dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) == 2 || checkLv7DungeonShop();
|
||||
return dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) == ST_ROOM || checkLv7DungeonShop();
|
||||
}
|
||||
|
||||
/* 800C044C-800C04B4 0BAD8C 0068+00 3/3 0/0 0/0 .text checkLv2DungeonRoomSpecial__9daAlink_cFv */
|
||||
@@ -19697,9 +19697,9 @@ asm void daAlink_c::setWaterDropColor(J3DGXColorS10 const* param_0) {
|
||||
/* 800CC7DC-800CC7FC 0C711C 0020+00 2/2 0/0 0/0 .text initTevCustomColor__9daAlink_cFv */
|
||||
void daAlink_c::initTevCustomColor() {
|
||||
mTevStr.field_0x367 = 0;
|
||||
mTevStr.field_0x358 = 0;
|
||||
mTevStr.field_0x35a = 0;
|
||||
mTevStr.field_0x35c = 0;
|
||||
mTevStr.mFogColor.r = 0;
|
||||
mTevStr.mFogColor.g = 0;
|
||||
mTevStr.mFogColor.b = 0;
|
||||
mTevStr.field_0x360 = 0;
|
||||
mTevStr.field_0x362 = 0;
|
||||
}
|
||||
@@ -20034,7 +20034,14 @@ daAlink_c::firePointEff_c::firePointEff_c() {
|
||||
}
|
||||
|
||||
/* 800CFC7C-800CFCB8 0CA5BC 003C+00 0/0 2/2 0/0 .text __dt__15LIGHT_INFLUENCEFv */
|
||||
LIGHT_INFLUENCE::~LIGHT_INFLUENCE() {}
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
extern "C" asm void __dt__15LIGHT_INFLUENCEFv() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/__dt__15LIGHT_INFLUENCEFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800CFCB8-800CFCF4 0CA5F8 003C+00 2/2 0/0 0/0 .text __dt__18daAlink_footData_cFv */
|
||||
daAlink_footData_c::~daAlink_footData_c() {}
|
||||
|
||||
@@ -83,7 +83,7 @@ extern "C" u8 mGndCheck__11fopAcM_gc_c[84];
|
||||
extern "C" u8 mStatus__20dStage_roomControl_c[65792];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 data_804505F0[8];
|
||||
extern "C" extern u8 data_80450D68[4];
|
||||
extern "C" extern u8 mNoChangeRoom__20dStage_roomControl_c[4];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
|
||||
+11
-11
@@ -1775,22 +1775,22 @@ int daNpcT_c::draw(int param_0, int param_1, f32 param_2, GXColorS10* color, f32
|
||||
return 1;
|
||||
}
|
||||
|
||||
mTevStr.field_0x358 = 0;
|
||||
mTevStr.field_0x35a = 0;
|
||||
mTevStr.field_0x35c = 0;
|
||||
mTevStr.field_0x35e = 0;
|
||||
mTevStr.mFogColor.r = 0;
|
||||
mTevStr.mFogColor.g = 0;
|
||||
mTevStr.mFogColor.b = 0;
|
||||
mTevStr.mFogColor.a = 0;
|
||||
|
||||
if (color != NULL) {
|
||||
mTevStr.field_0x358 = color->r;
|
||||
mTevStr.field_0x35a = color->g;
|
||||
mTevStr.field_0x35c = color->b;
|
||||
mTevStr.field_0x35e = color->a;
|
||||
mTevStr.mFogColor.r = color->r;
|
||||
mTevStr.mFogColor.g = color->g;
|
||||
mTevStr.mFogColor.b = color->b;
|
||||
mTevStr.mFogColor.a = color->a;
|
||||
}
|
||||
|
||||
if (field_0xdb8 != 0 && mTimer != 0) {
|
||||
f32 r = (f32)field_0xdb8 / (f32)mTimer;
|
||||
if (!cM3d_IsZero(r)) {
|
||||
mTevStr.field_0x358 = r * 20.0f;
|
||||
mTevStr.mFogColor.r = r * 20.0f;
|
||||
}
|
||||
} else if (param_0 != 0) {
|
||||
mTevStr.field_0x35a = 20;
|
||||
@@ -1874,8 +1874,8 @@ asm int daNpcT_c::draw(int param_0, int param_1, f32 param_2, _GXColorS10* param
|
||||
|
||||
/* 80148C70-80148CCC 1435B0 005C+00 1/1 0/0 58/58 .text setEnvTevColor__8daNpcT_cFv */
|
||||
void daNpcT_c::setEnvTevColor() {
|
||||
mTevStr.field_0x381 = dComIfG_Bgsp().GetPolyColor(field_0x930);
|
||||
mTevStr.field_0x380 = dComIfG_Bgsp().GetRoomId(field_0x930);
|
||||
mTevStr.mEnvrIdxOverride = dComIfG_Bgsp().GetPolyColor(field_0x930);
|
||||
mTevStr.mRoomNo = dComIfG_Bgsp().GetRoomId(field_0x930);
|
||||
}
|
||||
|
||||
/* 80148CCC-80148D10 14360C 0044+00 1/1 0/0 58/58 .text setRoomNo__8daNpcT_cFv */
|
||||
|
||||
+4
-4
@@ -543,23 +543,23 @@ s32 dBgS::GetWallCode(cBgS_PolyInfo const& poly) {
|
||||
}
|
||||
|
||||
/* 80074E50-80074EA0 06F790 0050+00 0/0 29/29 28/28 .text GetPolyAtt0__4dBgSFRC13cBgS_PolyInfo */
|
||||
BOOL dBgS::GetPolyAtt0(cBgS_PolyInfo const& poly) {
|
||||
int dBgS::GetPolyAtt0(cBgS_PolyInfo const& poly) {
|
||||
int bg_index = poly.GetBgIndex();
|
||||
if (m_chk_element[bg_index].ChkUsed()) {
|
||||
return m_chk_element[bg_index].m_bgw_base_ptr->GetPolyAtt0(poly);
|
||||
}
|
||||
|
||||
return false;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 80074EA0-80074EF0 06F7E0 0050+00 0/0 13/13 0/0 .text GetPolyAtt1__4dBgSFRC13cBgS_PolyInfo */
|
||||
bool dBgS::GetPolyAtt1(cBgS_PolyInfo const& poly) {
|
||||
int dBgS::GetPolyAtt1(cBgS_PolyInfo const& poly) {
|
||||
int bg_index = poly.GetBgIndex();
|
||||
if (m_chk_element[bg_index].ChkUsed()) {
|
||||
return m_chk_element[bg_index].m_bgw_base_ptr->GetPolyAtt1(poly);
|
||||
}
|
||||
|
||||
return false;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 80074EF0-80074F40 06F830 0050+00 0/0 7/7 8/8 .text GetGroundCode__4dBgSFRC13cBgS_PolyInfo */
|
||||
|
||||
+2
-2
@@ -1167,7 +1167,7 @@ asm s32 dBgW::GetWallCode(cBgS_PolyInfo const& param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm BOOL dBgW::GetPolyAtt0(cBgS_PolyInfo const& param_0) {
|
||||
asm int dBgW::GetPolyAtt0(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/GetPolyAtt0__4dBgWFRC13cBgS_PolyInfo.s"
|
||||
}
|
||||
@@ -1177,7 +1177,7 @@ asm BOOL dBgW::GetPolyAtt0(cBgS_PolyInfo const& param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm bool dBgW::GetPolyAtt1(cBgS_PolyInfo const& param_0) {
|
||||
asm int dBgW::GetPolyAtt1(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/GetPolyAtt1__4dBgWFRC13cBgS_PolyInfo.s"
|
||||
}
|
||||
|
||||
@@ -767,7 +767,7 @@ asm s32 dBgWKCol::GetWallCode(cBgS_PolyInfo const& param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm BOOL dBgWKCol::GetPolyAtt0(cBgS_PolyInfo const& param_0) {
|
||||
asm int dBgWKCol::GetPolyAtt0(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetPolyAtt0__8dBgWKColFRC13cBgS_PolyInfo.s"
|
||||
}
|
||||
@@ -777,7 +777,7 @@ asm BOOL dBgWKCol::GetPolyAtt0(cBgS_PolyInfo const& param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgWKCol::GetPolyAtt1(cBgS_PolyInfo const& param_0) {
|
||||
asm int dBgWKCol::GetPolyAtt1(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/GetPolyAtt1__8dBgWKColFRC13cBgS_PolyInfo.s"
|
||||
}
|
||||
|
||||
+1
-1
@@ -816,7 +816,7 @@ extern "C" f32 Zero__4cXyz[3];
|
||||
extern "C" u8 BaseY__4cXyz[12];
|
||||
extern "C" extern u8 g_dComIfGoat_gameInfo[4 + 4 /* padding */];
|
||||
extern "C" extern u8 data_80450B44[4];
|
||||
extern "C" extern u8 struct_80450BE4[4];
|
||||
extern "C" extern u8 mBlureFlag__13mDoGph_gInf_c[4];
|
||||
extern "C" u8 stopStatus__10fopAc_ac_c[4];
|
||||
extern "C" u8 m_object__7dDemo_c[4];
|
||||
extern "C" u8 m_midnaActor__9daPy_py_c[4];
|
||||
|
||||
+1
-1
@@ -532,7 +532,7 @@ extern "C" extern u8 g_env_light[4880];
|
||||
extern "C" extern u32 g_blackColor;
|
||||
extern "C" extern u32 __float_max;
|
||||
extern "C" extern u8 data_80450B74[4];
|
||||
extern "C" extern u8 struct_80450D64[4];
|
||||
extern "C" extern u8 mStayNo__20dStage_roomControl_c[4];
|
||||
extern "C" u8 mEmitterMng__13dPa_control_c[4];
|
||||
|
||||
//
|
||||
|
||||
+1
-1
@@ -109,7 +109,7 @@ extern "C" extern void* __vt__8cM3dGLin[3];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 g_mEnvSeMgr[780];
|
||||
extern "C" extern u32 __float_max;
|
||||
extern "C" extern u8 struct_80450D64[4];
|
||||
extern "C" extern u8 mStayNo__20dStage_roomControl_c[4];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
|
||||
@@ -170,7 +170,7 @@ extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 j3dSys[284];
|
||||
extern "C" extern u8 g_clearColor[4];
|
||||
extern "C" extern u8 data_80450688[8];
|
||||
extern "C" extern u8 struct_80450BB8[4];
|
||||
extern "C" extern u8 mInitFlag__17mDoAud_zelAudio_c[4];
|
||||
extern "C" u8 mFrameBufferTimg__13mDoGph_gInf_c[4];
|
||||
extern "C" u8 mFrameBufferTex__13mDoGph_gInf_c[4];
|
||||
extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */];
|
||||
|
||||
@@ -402,7 +402,7 @@ extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" f32 Zero__4cXyz[3];
|
||||
extern "C" extern u32 __float_nan;
|
||||
extern "C" extern u8 struct_80450D64[4];
|
||||
extern "C" extern u8 mStayNo__20dStage_roomControl_c[4];
|
||||
extern "C" u8 m_object__7dDemo_c[4];
|
||||
extern "C" extern u8 struct_80450F88[8];
|
||||
extern "C" u8 m_midnaActor__9daPy_py_c[4];
|
||||
|
||||
+1
-1
@@ -150,7 +150,7 @@ extern "C" extern u8 j3dSys[284];
|
||||
extern "C" u8 sincosTable___5JMath[65536];
|
||||
extern "C" extern u32 __float_nan;
|
||||
extern "C" f32 mGroundY__11fopAcM_gc_c;
|
||||
extern "C" extern u8 struct_80450D64[4];
|
||||
extern "C" extern u8 mStayNo__20dStage_roomControl_c[4];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
|
||||
@@ -169,7 +169,7 @@ extern "C" u8 mGndCheck__11fopAcM_gc_c[84];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 g_env_light[4880];
|
||||
extern "C" extern u8 j3dSys[284];
|
||||
extern "C" extern u8 struct_80450D64[4];
|
||||
extern "C" extern u8 mStayNo__20dStage_roomControl_c[4];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
|
||||
@@ -128,7 +128,7 @@ extern "C" extern u8 g_mEnvSeMgr[780];
|
||||
extern "C" extern u8 g_Counter[12 + 4 /* padding */];
|
||||
extern "C" extern u8 j3dSys[284];
|
||||
extern "C" u8 sincosTable___5JMath[65536];
|
||||
extern "C" extern u8 struct_80450D64[4];
|
||||
extern "C" extern u8 mStayNo__20dStage_roomControl_c[4];
|
||||
extern "C" extern u8 struct_80451070[8];
|
||||
|
||||
//
|
||||
|
||||
+2
-2
@@ -61,8 +61,8 @@ void dMdl_c::draw() {
|
||||
mpModelData->getMaterialNodePointer(mMaterialId)->loadSharedDL();
|
||||
shape->loadPreDrawSetting();
|
||||
|
||||
GXColor amb_color = {mpTevstr->field_0x348.r, mpTevstr->field_0x348.g, mpTevstr->field_0x348.b,
|
||||
mpTevstr->field_0x348.a};
|
||||
GXColor amb_color = {mpTevstr->mColorC0.r, mpTevstr->mColorC0.g, mpTevstr->mColorC0.b,
|
||||
mpTevstr->mColorC0.a};
|
||||
GXSetChanAmbColor(GX_COLOR0A0, amb_color);
|
||||
GXSetChanMatColor(GX_COLOR0A0, g_whiteColor);
|
||||
dKy_setLight_nowroom_actor(mpTevstr);
|
||||
|
||||
+42
-43
@@ -442,7 +442,7 @@ static u8 dStage_isBossStage(dStage_dt_c* stageDt) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return dStage_stagInfo_GetSTType(pstag) == 3;
|
||||
return dStage_stagInfo_GetSTType(pstag) == ST_BOSS_ROOM;
|
||||
}
|
||||
|
||||
/* 80023F50-80023F84 01E890 0034+00 1/1 0/0 0/1 .text dStage_KeepDoorInfoInit__FP11dStage_dt_c */
|
||||
@@ -503,40 +503,12 @@ void dStage_startStage_c::set(const char* i_Name, s8 i_RoomNo, s16 i_Point, s8 i
|
||||
/* 803F6094-80406194 022DB4 10100+00 12/12 31/31 16/16 .bss mStatus__20dStage_roomControl_c */
|
||||
dStage_roomStatus_c dStage_roomControl_c::mStatus[0x40];
|
||||
|
||||
/* 80450D58-80450D60 000258 0008+00 1/1 0/0 0/0 .sbss tmp_name$4456 */
|
||||
static char tmp_name[8];
|
||||
|
||||
/* 80450D60-80450D64 000260 0004+00 1/1 3/3 1/1 .sbss mProcID__20dStage_roomControl_c */
|
||||
u32 dStage_roomControl_c::mProcID;
|
||||
|
||||
/* 80450D64-80450D68 -00001 0004+00 6/6 94/94 101/101 .sbss None */
|
||||
/* 80450D64 0001+00 data_80450D64 None */
|
||||
s8 struct_80450D64;
|
||||
|
||||
/* 80450D65 0001+00 data_80450D65 None */
|
||||
s8 gLastStayNo;
|
||||
|
||||
/* 80450D66 0001+00 data_80450D66 None */
|
||||
s8 gNextStayNo;
|
||||
|
||||
/* 80450D67 0001+00 data_80450D67 None */
|
||||
s8 gTimePass;
|
||||
|
||||
/* 80450D68-80450D6C 000268 0004+00 2/2 2/2 1/1 .sbss None */
|
||||
u8 data_80450D68;
|
||||
|
||||
/* 80450D6C-80450D70 00026C 0004+00 1/1 2/2 0/0 .sbss mArcBankName__20dStage_roomControl_c */
|
||||
char* dStage_roomControl_c::mArcBankName;
|
||||
|
||||
/* 80450D70-80450D74 000270 0004+00 1/1 1/1 0/0 .sbss mArcBankData__20dStage_roomControl_c */
|
||||
char* dStage_roomControl_c::mArcBankData;
|
||||
|
||||
/* 800241E8-80024338 01EB28 0150+00 1/1 0/0 0/4 .text init__20dStage_roomControl_cFv */
|
||||
void dStage_roomControl_c::init() {
|
||||
struct_80450D64 = -1;
|
||||
gLastStayNo = -1;
|
||||
gNextStayNo = -1;
|
||||
data_80450D68 = 0;
|
||||
mStayNo = -1;
|
||||
mOldStayNo = -1;
|
||||
mNextStayNo = -1;
|
||||
mNoChangeRoom = 0;
|
||||
data_804505F0 = -1;
|
||||
|
||||
if (dComIfGp_getStartStagePoint() >= 0 || dComIfGp_getStartStagePoint() == -4) {
|
||||
@@ -1610,20 +1582,20 @@ JKRExpHeap* dStage_roomControl_c::getMemoryBlock(int i_roomNo) {
|
||||
/* 800243E8-80024424 01ED28 003C+00 2/2 0/0 0/0 .text setStayNo__20dStage_roomControl_cFi
|
||||
*/
|
||||
void dStage_roomControl_c::setStayNo(int stayNo) {
|
||||
gLastStayNo = struct_80450D64;
|
||||
struct_80450D64 = stayNo;
|
||||
gNextStayNo = struct_80450D64;
|
||||
mOldStayNo = mStayNo;
|
||||
mStayNo = stayNo;
|
||||
mNextStayNo = mStayNo;
|
||||
|
||||
if (struct_80450D64 < 0) {
|
||||
if (mStayNo < 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
onStatusDraw(struct_80450D64);
|
||||
onStatusDraw(mStayNo);
|
||||
}
|
||||
|
||||
/* 80024424-8002442C 01ED64 0008+00 0/0 0/0 1/1 .text setNextStayNo__20dStage_roomControl_cFi */
|
||||
void dStage_roomControl_c::setNextStayNo(int nextStayNo) {
|
||||
gNextStayNo = nextStayNo;
|
||||
mNextStayNo = nextStayNo;
|
||||
}
|
||||
|
||||
static int stayRoomCheck(int param_0, u8* param_1, int param_2) {
|
||||
@@ -1679,8 +1651,8 @@ void dStage_roomControl_c::zoneCountCheck(int stayNo) const {
|
||||
dComIfGs_clearRoomSwitch(status->mZoneNo);
|
||||
dComIfGs_clearRoomItem(status->mZoneNo);
|
||||
|
||||
if (dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) != 0 &&
|
||||
stayNo != gLastStayNo) {
|
||||
if (dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) != ST_FIELD &&
|
||||
stayNo != mOldStayNo) {
|
||||
if (--status->mZoneCount == 0) {
|
||||
dComIfGs_removeZone(status->mZoneNo);
|
||||
status->mZoneNo = -1;
|
||||
@@ -1928,7 +1900,7 @@ static int dStage_roomInit(int stayNo) {
|
||||
|
||||
/* 80024DB0-80024DB8 01F6F0 0008+00 2/2 0/0 0/0 .text SetTimePass__20dStage_roomControl_cFi */
|
||||
void dStage_roomControl_c::SetTimePass(int isPassing) {
|
||||
gTimePass = isPassing;
|
||||
m_time_pass = isPassing;
|
||||
}
|
||||
|
||||
roomRead_class* dStage_stageDt_c::getRoom() const {
|
||||
@@ -1948,6 +1920,8 @@ dStage_objectNameInf* dStage_searchName(char const* objName) {
|
||||
}
|
||||
|
||||
static const char* dStage_getName(s16 procName, s8 subtype) {
|
||||
static char tmp_name[8];
|
||||
|
||||
dStage_objectNameInf* obj = &l_objectName[0];
|
||||
char* tmp = NULL;
|
||||
|
||||
@@ -1974,6 +1948,31 @@ const char* dStage_getName2(s16 procName, s8 subtype) {
|
||||
return dStage_getName(procName, subtype);
|
||||
}
|
||||
|
||||
/* 80450D60-80450D64 000260 0004+00 1/1 3/3 1/1 .sbss mProcID__20dStage_roomControl_c */
|
||||
u32 dStage_roomControl_c::mProcID;
|
||||
|
||||
/* 80450D64-80450D68 -00001 0004+00 6/6 94/94 101/101 .sbss None */
|
||||
/* 80450D64 0001+00 data_80450D64 None */
|
||||
s8 dStage_roomControl_c::mStayNo;
|
||||
|
||||
/* 80450D65 0001+00 data_80450D65 None */
|
||||
s8 dStage_roomControl_c::mOldStayNo;
|
||||
|
||||
/* 80450D66 0001+00 data_80450D66 None */
|
||||
s8 dStage_roomControl_c::mNextStayNo;
|
||||
|
||||
/* 80450D67 0001+00 data_80450D67 None */
|
||||
s8 dStage_roomControl_c::m_time_pass;
|
||||
|
||||
/* 80450D68-80450D6C 000268 0004+00 2/2 2/2 1/1 .sbss None */
|
||||
u8 dStage_roomControl_c::mNoChangeRoom;
|
||||
|
||||
/* 80450D6C-80450D70 00026C 0004+00 1/1 2/2 0/0 .sbss mArcBankName__20dStage_roomControl_c */
|
||||
char* dStage_roomControl_c::mArcBankName;
|
||||
|
||||
/* 80450D70-80450D74 000270 0004+00 1/1 1/1 0/0 .sbss mArcBankData__20dStage_roomControl_c */
|
||||
char* dStage_roomControl_c::mArcBankData;
|
||||
|
||||
/* 80024EFC-80024F98 01F83C 009C+00 7/7 0/0 0/0 .text
|
||||
* dStage_actorCreate__FP22stage_actor_data_classP16fopAcM_prm_class */
|
||||
static void dStage_actorCreate(stage_actor_data_class* param_0, fopAcM_prm_class* param_1) {
|
||||
@@ -2926,7 +2925,7 @@ void dStage_Delete() {
|
||||
strcmp(dComIfGp_getNextStageName(), dComIfGp_getStartStageName())) {
|
||||
dStage_roomControl_c::destroyMemoryBlock();
|
||||
|
||||
if (dStage_stagInfo_GetSTType(dComIfGp_getStageStagInfo()) == 1) {
|
||||
if (dStage_stagInfo_GetSTType(dComIfGp_getStageStagInfo()) == ST_DUNGEON) {
|
||||
dRes_info_c* info = dComIfG_getStageResInfo("Stg_00");
|
||||
*info->getArchiveName() = 'X';
|
||||
dComIfGp_setOldMulti();
|
||||
|
||||
+2
-6
@@ -61,10 +61,6 @@ extern "C" void _restgpr_28();
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" extern bool data_80450680;
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450F98-80450F9C 000498 0004+00 2/2 0/0 0/0 .sbss mTypeGroupData__7dTres_c */
|
||||
dTres_c::typeGroupData_c* dTres_c::mTypeGroupData;
|
||||
@@ -81,7 +77,7 @@ asm int dTres_c::createWork() {
|
||||
|
||||
/* 8009BC18-8009BC60 096558 0048+00 0/0 1/1 0/0 .text create__7dTres_cFv */
|
||||
void dTres_c::create() {
|
||||
if (dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) != 3) {
|
||||
if (dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) != ST_BOSS_ROOM) {
|
||||
reset();
|
||||
}
|
||||
}
|
||||
@@ -116,7 +112,7 @@ void dTres_c::reset() {
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
void dTres_c::addData(dTres_c::list_class* p_list, s8 roomNo) {
|
||||
if (dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) != 3) {
|
||||
if (dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) != ST_BOSS_ROOM) {
|
||||
reset();
|
||||
|
||||
typeGroupData_c* listData = p_list->field_0x4;
|
||||
|
||||
+513
-205
@@ -11,6 +11,8 @@
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "m_Do/m_Do_audio.h"
|
||||
#include "SSystem/SComponent/c_math.h"
|
||||
#include "SSystem/SComponent/c_counter.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
@@ -305,7 +307,6 @@ extern "C" void __as__12J3DLightInfoFRC12J3DLightInfo();
|
||||
extern "C" void setEffectMtx__13J3DTexMtxInfoFPA4_f();
|
||||
extern "C" void simpleCalcMaterial__12J3DModelDataFUsPA4_f();
|
||||
extern "C" void init__12J3DFrameCtrlFs();
|
||||
extern "C" void GXInitLightAttn();
|
||||
extern "C" void __register_global_object();
|
||||
extern "C" void __destroy_arr();
|
||||
extern "C" void __construct_array();
|
||||
@@ -342,7 +343,6 @@ extern "C" extern void* g_fopKy_Method[5 + 1 /* padding */];
|
||||
extern "C" u8 m_bloom__13mDoGph_gInf_c[20];
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" u8 mStatus__20dStage_roomControl_c[65792];
|
||||
extern "C" extern u8 g_Counter[12 + 4 /* padding */];
|
||||
extern "C" u8 sincosTable___5JMath[65536];
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
|
||||
@@ -545,7 +545,7 @@ SECTION_DATA static u8 lightStatusBase[232] = {
|
||||
|
||||
/* 803BBEAC-803BBEBC 018FCC 0010+00 4/4 0/0 0/0 .data lightMaskData */
|
||||
SECTION_DATA static u16 lightMaskData[8] = {
|
||||
0x0001, 0x0002, 0x0004, 0x0008, 0x0010, 0x0020, 0x0040, 0x0080,
|
||||
GX_LIGHT0, GX_LIGHT1, GX_LIGHT2, GX_LIGHT3, GX_LIGHT4, GX_LIGHT5, GX_LIGHT6, GX_LIGHT7,
|
||||
};
|
||||
|
||||
/* 8019CB0C-8019CCDC 19744C 01D0+00 3/2 0/0 0/0 .text dKy_WolfPowerup_BgAmbCol__FP11_GXColorS10 */
|
||||
@@ -1049,7 +1049,7 @@ SECTION_SDATA2 static f32 lit_5077 = 99999.8984375f;
|
||||
|
||||
/* 8019E694-8019E708 198FD4 0074+00 2/2 0/0 0/0 .text plight_init__Fv */
|
||||
static void plight_init() {
|
||||
g_env_light.field_0x38[0].mPow = lit_5077;
|
||||
g_env_light.mLightInfluence[0].mPow = lit_5077;
|
||||
|
||||
for (int i = 0; i < 100; i++) {
|
||||
g_env_light.mPointLight[i] = NULL;
|
||||
@@ -1060,8 +1060,8 @@ static void plight_init() {
|
||||
g_env_light.field_0x72c[i] = NULL;
|
||||
}
|
||||
|
||||
g_env_light.field_0x12a4 = -1;
|
||||
g_env_light.field_0x12a8 = -1;
|
||||
g_env_light.mPlayerPLightIdx = -1;
|
||||
g_env_light.mPlayerEfLightIdx = -1;
|
||||
}
|
||||
|
||||
/* 8019E708-8019E734 199048 002C+00 1/1 0/0 0/0 .text darkmist_init__Fv */
|
||||
@@ -1206,6 +1206,186 @@ SECTION_SDATA2 static f32 lit_5348 = 360.0f;
|
||||
SECTION_SDATA2 static f32 lit_5349 = 0.012000000104308128f;
|
||||
|
||||
/* 8019EC98-8019F264 1995D8 05CC+00 1/1 0/0 0/0 .text envcolor_init__Fv */
|
||||
#ifdef NONMATCHING
|
||||
static void envcolor_init() {
|
||||
stage_palette_info_class* palette = dComIfGp_getStagePaletteInfo();
|
||||
stage_pselect_info_class* pselect = dComIfGp_getStagePselectInfo();
|
||||
stage_envr_info_class* envr = dComIfGp_getStageEnvrInfo();
|
||||
stage_vrbox_info_class* vrbox = dComIfGp_getStageVrboxcolInfo();
|
||||
|
||||
dKy_actor_addcol_set(0, 0, 0, 0.0f);
|
||||
dKy_fog_startendz_set(0.0f, 0.0f, 0.0f);
|
||||
dKy_vrbox_addcol_set(0, 0, 0, 0.0f);
|
||||
|
||||
g_env_light.field_0x1280 = 0;
|
||||
g_env_light.mInitAnmTimer = 1;
|
||||
g_env_light.mSchBit = 0;
|
||||
g_env_light.mSchbitTimer = 0;
|
||||
|
||||
g_env_light.mVrboxInvisible = false;
|
||||
g_env_light.mContrastFlag = 0;
|
||||
g_env_light.mFogAdjEnable = true;
|
||||
g_env_light.mFogAdjTableType = 0;
|
||||
g_env_light.mFogAdjCenter = 0x140;
|
||||
dKyd_xfog_table_set(0);
|
||||
|
||||
g_env_light.mColAllcolRatio = 1.0f;
|
||||
g_env_light.mColActColRatio = 1.0f;
|
||||
g_env_light.mColBgColRatio = 1.0f;
|
||||
g_env_light.mColFogColRatio = 1.0f;
|
||||
g_env_light.mColVrboxSoraColRatio = 1.0f;
|
||||
g_env_light.mColVrboxKumocolRatio = 1.0f;
|
||||
g_env_light.field_0x1210 = 1.0f;
|
||||
|
||||
g_env_light.mAllcolRatio = 1.0f;
|
||||
g_env_light.mActcolRatio = 1.0f;
|
||||
g_env_light.mBgcolRatio = 1.0f;
|
||||
g_env_light.mFogcolRatio = 1.0f;
|
||||
g_env_light.mVrboxSoracolRatio = 1.0f;
|
||||
g_env_light.mVrboxKumocolRatio = 1.0f;
|
||||
g_env_light.field_0x122c = 1.0f;
|
||||
|
||||
g_env_light.mItemGetCol_chg = 0;
|
||||
g_env_light.field_0x1240 = 0.0f;
|
||||
g_env_light.field_0x1230 = 0.0f;
|
||||
g_env_light.field_0x1234 = 0.0f;
|
||||
|
||||
g_env_light.mThunderEff.mStateTimer = 0;
|
||||
g_env_light.field_0x1238 = 0.0f;
|
||||
g_env_light.field_0x123c = 0.0f;
|
||||
g_env_light.field_0x12d6 = 0;
|
||||
g_env_light.mShadowMode = 0;
|
||||
g_env_light.mCameraInWater = 0;
|
||||
|
||||
g_env_light.field_0x1258 = 0.0f;
|
||||
g_env_light.mActorLightEffect = 100;
|
||||
g_env_light.mPaletteTerrainLightEffect = 1.0f;
|
||||
g_env_light.field_0x1064 = 0.0f;
|
||||
g_env_light.field_0x1068 = -1.0f;
|
||||
g_env_light.field_0x106c = -1.0f;
|
||||
g_env_light.mDemoAttentionPoint = 0.0f;
|
||||
|
||||
if (!strcmp(dComIfGp_getStartStageName(), "R_SP127")) {
|
||||
g_env_light.mDemoAttentionPoint = 0.11f;
|
||||
}
|
||||
|
||||
g_env_light.field_0x1308 = 0;
|
||||
g_env_light.field_0x130b = 0;
|
||||
g_env_light.field_0x1309 = 1;
|
||||
dKy_light_size_get(dComIfGp_getStartStageName());
|
||||
g_env_light.mGrassLightEffectRate = 1.0f;
|
||||
g_env_light.field_0x12fc = -1;
|
||||
g_env_light.field_0x1278 = 0.0f;
|
||||
g_env_light.field_0x1264 = -255.0f;
|
||||
g_env_light.field_0x1268 = 999999.0f;
|
||||
g_env_light.field_0x126c = 999999.0f;
|
||||
g_env_light.field_0x127c = 200.0f;
|
||||
|
||||
if (dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) == ST_BOSS_ROOM) {
|
||||
g_env_light.mpSchedule = dKyd_schejule_boss_getp();
|
||||
} else {
|
||||
g_env_light.mpSchedule = dKyd_schejule_getp();
|
||||
}
|
||||
|
||||
g_env_light.mNowRoom = dComIfGp_roomControl_getStayNo();
|
||||
g_env_light.mEnvrIdxCurr = dComIfGp_roomControl_getStayNo();
|
||||
g_env_light.mColPatBlend = 1.0f;
|
||||
g_env_light.field_0x12b0 = 0;
|
||||
g_env_light.mColpatWeather = 0;
|
||||
g_env_light.field_0xecc = 0.0f;
|
||||
|
||||
if (!strcmp(dComIfGp_getStartStageName(), "F_SP127") || !strcmp(dComIfGp_getStartStageName(), "R_SP127")) {
|
||||
if (g_env_light.field_0x12cc >= 7) {
|
||||
g_env_light.mColpatWeather = 2;
|
||||
} else if (g_env_light.field_0x12cc != 0) {
|
||||
g_env_light.mColpatWeather = 1;
|
||||
}
|
||||
} else if (!strcmp(dComIfGp_getStartStageName(), "D_MN07A")) {
|
||||
if (g_env_light.field_0x12cc == 1) {
|
||||
g_env_light.mColpatWeather = 1;
|
||||
} else if (g_env_light.field_0x12cc == 2) {
|
||||
g_env_light.mColpatWeather = 2;
|
||||
}
|
||||
} else {
|
||||
g_env_light.field_0x12cc = 0;
|
||||
}
|
||||
|
||||
g_env_light.mRainCountOrig = 0;
|
||||
g_env_light.field_0x12a0 = 0;
|
||||
g_env_light.mDiceWeatherMode = 0;
|
||||
g_env_light.mDiceWeatherChangeTime = dComIfGs_getTime() + (cM_rndF(g_Counter.mCounter0 & 0x1F) * 15.0f);
|
||||
if (g_env_light.mDiceWeatherChangeTime >= 360.0f) {
|
||||
g_env_light.mDiceWeatherChangeTime -= 360.0f;
|
||||
}
|
||||
|
||||
g_env_light.mDiceWeatherState = 0;
|
||||
g_env_light.mDiceWeatherCurrPattern = 0;
|
||||
g_env_light.mDiceWeatherCounter = 0;
|
||||
g_env_light.mDiceWeatherTime = 0.0f;
|
||||
|
||||
g_env_light.mColPatPrev = g_env_light.mColpatWeather;
|
||||
g_env_light.mColPatCurr = g_env_light.mColpatWeather;
|
||||
g_env_light.mColpatPrevGather = 0xFF;
|
||||
g_env_light.mColpatCurrGather = 0xFF;
|
||||
g_env_light.mColPatBlendGather = -1.0f;
|
||||
g_env_light.mColPatMode = 0;
|
||||
g_env_light.mColPatModeGather = 0;
|
||||
|
||||
if (envr != NULL) {
|
||||
g_env_light.mpDmEnvr = envr;
|
||||
} else {
|
||||
g_env_light.mpDmEnvr = (stage_envr_info_class*)dKyd_dmenvr_getp();
|
||||
}
|
||||
|
||||
if (palette != NULL) {
|
||||
g_env_light.mpDmPalet = palette;
|
||||
} else {
|
||||
g_env_light.mpDmPalet = (stage_palette_info_class*)dKyd_dmpalet_getp();
|
||||
}
|
||||
|
||||
if (pselect != NULL) {
|
||||
g_env_light.mpDmPselect = pselect;
|
||||
} else {
|
||||
g_env_light.mpDmPselect = (stage_pselect_info_class*)dKyd_dmpselect_getp();
|
||||
}
|
||||
|
||||
if (vrbox != NULL) {
|
||||
g_env_light.mpDmVrbox = vrbox;
|
||||
} else {
|
||||
g_env_light.mpDmVrbox = (stage_vrbox_info_class*)dKyd_dmvrbox_getp();
|
||||
}
|
||||
|
||||
plight_init();
|
||||
plight_set();
|
||||
darkmist_init();
|
||||
bgparts_activelight_init();
|
||||
|
||||
g_env_light.field_0x11c8 = 1.0f;
|
||||
g_env_light.field_0x11cc = 1.0f;
|
||||
g_env_light.field_0x11d0 = 1.0f;
|
||||
g_env_light.field_0xf2c = 0;
|
||||
g_env_light.field_0xf30 = NULL;
|
||||
g_env_light.field_0xf34 = 0.0f;
|
||||
g_env_light.field_0xf38 = NULL;
|
||||
|
||||
undwater_init();
|
||||
dComIfGs_PolyDamageOff_Set(0);
|
||||
g_env_light.field_0x98c = dComIfGp_roomControl_getStayNo();
|
||||
g_env_light.field_0x12fa = 0;
|
||||
g_env_light.field_0x12fb = 0;
|
||||
g_env_light.field_0x1300 = -1;
|
||||
g_env_light.field_0x1302 = -1;
|
||||
g_env_light.mWaterSurfaceShineRate = 1.0f;
|
||||
|
||||
int timeH = dStage_stagInfo_GetTimeH(i_dComIfGp_getStage()->getStagInfo());
|
||||
if (timeH >= 0) {
|
||||
dComIfGs_setTime(timeH * 15.0f);
|
||||
}
|
||||
g_env_light.mTimeSpeed = 0.012f;
|
||||
|
||||
memset(&g_env_light.mMoyaSE, 0, 0x10);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -1214,12 +1394,37 @@ static asm void envcolor_init() {
|
||||
#include "asm/d/kankyo/d_kankyo/envcolor_init__Fv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80453CB8-80453CBC 0022B8 0004+00 3/3 0/0 0/0 .sdata2 @5365 */
|
||||
SECTION_SDATA2 static f32 lit_5365 = 120.0f;
|
||||
|
||||
/* 8019F264-8019F2E8 199BA4 0084+00 1/1 1/1 0/0 .text dKy_clear_game_init__Fv */
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
void dKy_clear_game_init() {
|
||||
dKy_actor_addcol_set(0, 0, 0, 0.0f);
|
||||
|
||||
g_env_light.mSunPos.x = 1.0f;
|
||||
g_env_light.mSunPos.y = 0.0f;
|
||||
g_env_light.mSunPos.z = 0.0f;
|
||||
|
||||
g_env_light.mMoonPos.x = -1.0f;
|
||||
g_env_light.mMoonPos.y = 0.0f;
|
||||
g_env_light.mMoonPos.z = 0.0f;
|
||||
|
||||
g_env_light.mNexttime = -1.0f;
|
||||
g_env_light.mTime = -1.0f;
|
||||
g_env_light.mDarkDaytime = 120.0f;
|
||||
|
||||
g_env_light.mDarktimeWeek = 0;
|
||||
g_env_light.field_0x12fe = 0;
|
||||
g_env_light.field_0x130a = 0;
|
||||
g_env_light.field_0x12cc = 0;
|
||||
g_env_light.field_0x130c = 0;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -1228,6 +1433,7 @@ asm void dKy_clear_game_init() {
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_clear_game_init__Fv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803BBFD0-803BBFF0 -00001 0020+00 1/1 0/0 0/0 .data @5842 */
|
||||
@@ -1508,7 +1714,7 @@ WIND_INF_ENTITY::WIND_INF_ENTITY() {
|
||||
}
|
||||
|
||||
/* 8019F4F8-8019F4FC 199E38 0004+00 1/1 0/0 0/0 .text __ct__15LIGHT_INFLUENCEFv */
|
||||
LIGHT_INFLUENCE::LIGHT_INFLUENCE() {
|
||||
extern "C" void __ct__15LIGHT_INFLUENCEFv() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
@@ -1919,7 +2125,7 @@ asm void dScnKy_env_light_c::settingTevStruct_plightcol_plus(cXyz* param_0, dKy_
|
||||
Z2EnvSeMgr g_mEnvSeMgr;
|
||||
|
||||
/* 8042E07C-8042E7BC 05AD9C 0740+00 5/4 0/0 0/0 .bss lightStatusData */
|
||||
static u8 lightStatusData[1856];
|
||||
static LightStatus lightStatusData[8];
|
||||
|
||||
/* 80453D4C-80453D50 00234C 0004+00 1/1 0/0 0/0 .sdata2 @7011 */
|
||||
SECTION_SDATA2 static f32 lit_7011 = 30000.0f;
|
||||
@@ -2214,14 +2420,70 @@ SECTION_DEAD static char const* const stringBase_80394E5E = "colordata_tbl.dat";
|
||||
#pragma pop
|
||||
|
||||
/* 801A5C1C-801A5E54 1A055C 0238+00 1/0 0/0 0/0 .text dKy_Create__FPv */
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
static int dKy_Create(void*) {
|
||||
BOOL setNextTime = false;
|
||||
stage_envr_info_class* envr = dComIfGp_getStageEnvrInfo();
|
||||
if (envr != NULL && dComIfGp_getStartStageRoomNo() != -1) {
|
||||
if (envr[dComIfGp_getStartStageRoomNo()].field_0x0[0x40] != 0) {
|
||||
mDoGph_gInf_c::getBloom()->create();
|
||||
}
|
||||
}
|
||||
|
||||
envcolor_init();
|
||||
g_env_light.field_0x12b0 = 0;
|
||||
g_env_light.field_0x1254 = 1.0f;
|
||||
g_env_light.mPLightNearPos.x = 0.0f;
|
||||
g_env_light.mPLightNearPos.y = 0.0f;
|
||||
g_env_light.mPLightNearPos.z = 0.0f;
|
||||
g_env_light.field_0xf3c = 0;
|
||||
g_env_light.field_0xf40 = 0.0f;
|
||||
g_env_light.field_0xf3d = 0;
|
||||
|
||||
dKy_setLight_init();
|
||||
dKy_Sound_init();
|
||||
dKyw_wind_set();
|
||||
dungeonlight_init();
|
||||
dKy_setLight_nowroom(dComIfGp_roomControl_getStayNo());
|
||||
|
||||
g_env_light.mResPolEfftbl = (dKy_pol_efftbl_struct*)dComIfG_getStageRes("pol_efftbl.dat");
|
||||
g_env_light.mResPolEffcol = (dKy_pol_effcol_struct*)dComIfG_getStageRes("pol_effcol.dat");
|
||||
g_env_light.mResPolEfftbl2 = (dKy_pol_efftbl_struct*)dComIfG_getStageRes("pol_efftbl2.dat");
|
||||
g_env_light.mResPolEffcol2 = (dKy_pol_effcol_struct*)dComIfG_getStageRes("pol_effcol2.dat");
|
||||
g_env_light.mResPolSound = (dKy_pol_sound_struct*)dComIfG_getStageRes("pol_sound.dat");
|
||||
g_env_light.mResPolArg = (dKy_pol_arg_struct*)dComIfG_getStageRes("pol_arg.dat");
|
||||
g_env_light.mResColorDataTbl = (dKy_color_data_struct*)dComIfG_getStageRes("colordata_tbl.dat");
|
||||
|
||||
if (g_env_light.mNexttime != -1.0f) {
|
||||
setNextTime = true;
|
||||
dComIfGs_setTime(g_env_light.mNexttime);
|
||||
}
|
||||
|
||||
if (dKy_darkworld_check()) {
|
||||
if (g_env_light.mTime == -1.0f) {
|
||||
g_env_light.mTime = dComIfGs_getTime();
|
||||
}
|
||||
} else if (g_env_light.mTime != -1.0f) {
|
||||
if (!setNextTime) {
|
||||
dComIfGs_setTime(g_env_light.mTime);
|
||||
}
|
||||
g_env_light.mTime = -1.0f;
|
||||
}
|
||||
|
||||
g_env_light.mNexttime = -1.0f;
|
||||
return 4;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void dKy_Create(void* param_0) {
|
||||
static asm int dKy_Create(void* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_Create__FPv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 801A5E54-801A60BC 1A0794 0268+00 1/1 1/1 0/0 .text dKy_setLight_init__Fv */
|
||||
#pragma push
|
||||
@@ -2234,14 +2496,9 @@ asm void dKy_setLight_init() {
|
||||
#pragma pop
|
||||
|
||||
/* 801A60BC-801A60E0 1A09FC 0024+00 0/0 1/1 0/0 .text dKy_setLight__Fv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dKy_setLight() {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_setLight__Fv.s"
|
||||
void dKy_setLight() {
|
||||
g_env_light.mSunPos2 = g_env_light.mSunPos;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801A60E0-801A61F4 1A0A20 0114+00 2/2 0/0 0/0 .text dKy_GlobalLight_set__Fv */
|
||||
#pragma push
|
||||
@@ -2553,14 +2810,11 @@ asm void dKy_vrbox_addcol_kasumi_set(s16 param_0, s16 param_1, s16 param_2, f32
|
||||
#pragma pop
|
||||
|
||||
/* 801A8060-801A80D0 1A29A0 0070+00 1/1 0/0 0/0 .text dKy_vrbox_addcol_set__Fsssf */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void dKy_vrbox_addcol_set(s16 param_0, s16 param_1, s16 param_2, f32 param_3) {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_vrbox_addcol_set__Fsssf.s"
|
||||
static void dKy_vrbox_addcol_set(s16 param_0, s16 param_1, s16 param_2, f32 param_3) {
|
||||
dKy_vrbox_addcol_sky0_set(param_0, param_1, param_2, param_3);
|
||||
dKy_vrbox_addcol_kasumi_set(param_0, param_1, param_2, param_3);
|
||||
dKy_addcol_fog_set(param_0, param_1, param_2, param_3);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80394C6C-80394C6C 0212CC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
@@ -2581,24 +2835,24 @@ asm void dKy_fog_startendz_set(f32 param_0, f32 param_1, f32 param_2) {
|
||||
#pragma pop
|
||||
|
||||
/* 801A8168-801A8190 1A2AA8 0028+00 0/0 1/1 0/0 .text dKy_Itemgetcol_chg_on__Fv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dKy_Itemgetcol_chg_on() {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_Itemgetcol_chg_on__Fv.s"
|
||||
void dKy_Itemgetcol_chg_on() {
|
||||
if (g_env_light.mItemGetCol_chg != 0 && g_env_light.mItemGetCol_chg != 6) {
|
||||
return;
|
||||
}
|
||||
|
||||
g_env_light.mItemGetCol_chg = 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801A8190-801A81C0 1A2AD0 0030+00 2/2 0/0 0/0 .text dKy_Sound_init__Fv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void dKy_Sound_init() {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_Sound_init__Fv.s"
|
||||
static void dKy_Sound_init() {
|
||||
f32 tmp = lit_5346;
|
||||
g_env_light.mSound.field_0x0.x = tmp;
|
||||
g_env_light.mSound.field_0x0.y = tmp;
|
||||
g_env_light.mSound.field_0x0.z = tmp;
|
||||
g_env_light.mSound.field_0xc = 0;
|
||||
g_env_light.mSound.field_0x14 = -1;
|
||||
g_env_light.mSound.field_0x10 = 0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801A81C0-801A8474 1A2B00 02B4+00 0/0 5/5 27/27 .text dKy_Sound_set__F4cXyziUii */
|
||||
#pragma push
|
||||
@@ -2611,14 +2865,9 @@ asm void dKy_Sound_set(cXyz param_0, int param_1, unsigned int param_2, int para
|
||||
#pragma pop
|
||||
|
||||
/* 801A8474-801A8484 1A2DB4 0010+00 0/0 1/1 8/8 .text dKy_Sound_get__Fv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm SND_INFLUENCE* dKy_Sound_get() {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_Sound_get__Fv.s"
|
||||
SND_INFLUENCE* dKy_Sound_get() {
|
||||
return &g_env_light.mSound;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801A8484-801A8538 1A2DC4 00B4+00 0/0 2/2 0/0 .text dKy_SordFlush_set__F4cXyzi */
|
||||
#pragma push
|
||||
@@ -2695,37 +2944,96 @@ static asm void GxXFog_set() {
|
||||
#pragma pop
|
||||
|
||||
/* 801A87E4-801A880C 1A3124 0028+00 0/0 0/0 52/52 .text dKy_change_colpat__FUc */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dKy_change_colpat(u8 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_change_colpat__FUc.s"
|
||||
void dKy_change_colpat(u8 colpat) {
|
||||
g_env_light.mColpatCurrGather = colpat;
|
||||
if (g_env_light.mColPatCurr == colpat) {
|
||||
return;
|
||||
}
|
||||
|
||||
g_env_light.mColPatBlendGather = FLOAT_LABEL(lit_4409);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801A880C-801A8854 1A314C 0048+00 0/0 0/0 25/25 .text dKy_custom_colset__FUcUcf */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dKy_custom_colset(u8 param_0, u8 param_1, f32 param_2) {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_custom_colset__FUcUcf.s"
|
||||
void dKy_custom_colset(u8 prevGather, u8 curGather, f32 blend) {
|
||||
if (g_env_light.mInitAnmTimer != 1) {
|
||||
if (blend < lit_4505) {
|
||||
g_env_light.mColpatPrevGather = prevGather;
|
||||
} else {
|
||||
g_env_light.mColpatPrevGather = curGather;
|
||||
}
|
||||
|
||||
g_env_light.mColpatCurrGather = curGather;
|
||||
g_env_light.mColPatBlendGather = blend;
|
||||
g_env_light.mColPatModeGather = 1;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801A8854-801A88EC 1A3194 0098+00 0/0 0/0 2/2 .text dKy_setLight_mine__FP12dKy_tevstr_c
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dKy_setLight_mine(dKy_tevstr_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_setLight_mine__FP12dKy_tevstr_c.s"
|
||||
void dKy_setLight_mine(dKy_tevstr_c* p_tevstr) {
|
||||
GXLightObj light;
|
||||
|
||||
GXInitLightPos(&light, p_tevstr->mLightObj.mInfo.mLightPosition.x,
|
||||
p_tevstr->mLightObj.mInfo.mLightPosition.y,
|
||||
p_tevstr->mLightObj.mInfo.mLightPosition.z);
|
||||
GXInitLightDir(&light, p_tevstr->mLightObj.mInfo.mLightDirection.x,
|
||||
p_tevstr->mLightObj.mInfo.mLightDirection.y,
|
||||
p_tevstr->mLightObj.mInfo.mLightDirection.z);
|
||||
GXInitLightColor(&light, p_tevstr->mLightObj.mInfo.mColor);
|
||||
GXInitLightAttn(&light, p_tevstr->mLightObj.mInfo.mCosAtten.x,
|
||||
p_tevstr->mLightObj.mInfo.mCosAtten.y, p_tevstr->mLightObj.mInfo.mCosAtten.z,
|
||||
p_tevstr->mLightObj.mInfo.mDistAtten.x, p_tevstr->mLightObj.mInfo.mDistAtten.y,
|
||||
p_tevstr->mLightObj.mInfo.mDistAtten.z);
|
||||
GXLoadLightObjImm(&light, (GXLightID)*lightMaskData);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801A88EC-801A8A34 1A322C 0148+00 2/2 5/5 11/11 .text dKy_tevstr_init__FP12dKy_tevstr_cScUc */
|
||||
// almost
|
||||
#ifdef NONMATCHING
|
||||
void dKy_tevstr_init(dKy_tevstr_c* p_tevstr, s8 roomNo, u8 param_2) {
|
||||
memset(p_tevstr, 0, sizeof(dKy_tevstr_c));
|
||||
|
||||
if (roomNo == -1) {
|
||||
p_tevstr->mRoomNo = dComIfGp_roomControl_getStayNo();
|
||||
} else {
|
||||
p_tevstr->mRoomNo = roomNo;
|
||||
}
|
||||
|
||||
p_tevstr->mEnvrIdxCurr = p_tevstr->mRoomNo;
|
||||
p_tevstr->mEnvrIdxPrev = p_tevstr->mRoomNo;
|
||||
p_tevstr->mEnvrIdxOverride = param_2;
|
||||
p_tevstr->mInitTimer = 1;
|
||||
p_tevstr->mInitType = 0x7B;
|
||||
p_tevstr->mColorC0.a = 0;
|
||||
p_tevstr->mColorK0.a = 255;
|
||||
p_tevstr->field_0x378 = 0;
|
||||
p_tevstr->field_0x374 = 1.0f;
|
||||
p_tevstr->field_0x384 = 0;
|
||||
|
||||
p_tevstr->mLightObj.mInfo.mColor.g = 0;
|
||||
p_tevstr->mLightObj.mInfo.mColor.b = 0;
|
||||
p_tevstr->mLightObj.mInfo.mColor.a = 255;
|
||||
p_tevstr->mLightObj.mInfo.mCosAtten.x = 1.0f;
|
||||
p_tevstr->mLightObj.mInfo.mCosAtten.y = 0.0f;
|
||||
p_tevstr->mLightObj.mInfo.mCosAtten.z = 0.0f;
|
||||
p_tevstr->mLightObj.mInfo.mDistAtten.x = 1.0f;
|
||||
p_tevstr->mLightObj.mInfo.mDistAtten.y = 0.0f;
|
||||
p_tevstr->mLightObj.mInfo.mDistAtten.z = 0.0f;
|
||||
|
||||
for (int i = 0; i < 6; i++) {
|
||||
J3DLightObj* light = &p_tevstr->field_0x074[i];
|
||||
|
||||
lightStatusData[i].field_0x0 = light->mInfo.mLightPosition;
|
||||
lightStatusData[i].field_0x18 = light->mInfo.mColor;
|
||||
lightStatusData[i].field_0x1c.x = 1.0f;
|
||||
lightStatusData[i].field_0x1c.y = 0.0f;
|
||||
lightStatusData[i].field_0x1c.z = 0.0f;
|
||||
lightStatusData[i].field_0x28.x = 1.0f;
|
||||
lightStatusData[i].field_0x28.y = 0.0f;
|
||||
lightStatusData[i].field_0x28.z = 0.0f;
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -2734,88 +3042,58 @@ asm void dKy_tevstr_init(dKy_tevstr_c* param_0, s8 param_1, u8 param_2) {
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_tevstr_init__FP12dKy_tevstr_cScUc.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 801A8A34-801A8A44 1A3374 0010+00 0/0 1/1 0/0 .text dKy_rain_check__Fv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dKy_rain_check() {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_rain_check__Fv.s"
|
||||
int dKy_rain_check() {
|
||||
return g_env_light.mRainCount;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801A8A44-801A8A54 1A3384 0010+00 0/0 0/0 5/5 .text dKy_set_allcol_ratio__Ff */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dKy_set_allcol_ratio(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_set_allcol_ratio__Ff.s"
|
||||
void dKy_set_allcol_ratio(f32 ratio) {
|
||||
g_env_light.mAllcolRatio = ratio;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801A8A54-801A8A64 1A3394 0010+00 0/0 1/1 1/1 .text dKy_set_actcol_ratio__Ff */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dKy_set_actcol_ratio(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_set_actcol_ratio__Ff.s"
|
||||
void dKy_set_actcol_ratio(f32 ratio) {
|
||||
g_env_light.mActcolRatio = ratio;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801A8A64-801A8A74 1A33A4 0010+00 0/0 1/1 1/1 .text dKy_set_bgcol_ratio__Ff */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dKy_set_bgcol_ratio(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_set_bgcol_ratio__Ff.s"
|
||||
void dKy_set_bgcol_ratio(f32 ratio) {
|
||||
g_env_light.mBgcolRatio = ratio;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801A8A74-801A8A84 1A33B4 0010+00 0/0 1/1 1/1 .text dKy_set_fogcol_ratio__Ff */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dKy_set_fogcol_ratio(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_set_fogcol_ratio__Ff.s"
|
||||
void dKy_set_fogcol_ratio(f32 ratio) {
|
||||
g_env_light.mFogcolRatio = ratio;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801A8A84-801A8AB8 1A33C4 0034+00 0/0 1/1 0/0 .text dKy_set_vrboxcol_ratio__Ff */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dKy_set_vrboxcol_ratio(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_set_vrboxcol_ratio__Ff.s"
|
||||
void dKy_set_vrboxcol_ratio(f32 ratio) {
|
||||
dKy_set_vrboxsoracol_ratio(ratio);
|
||||
dKy_set_vrboxkumocol_ratio(ratio);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801A8AB8-801A8AC8 1A33F8 0010+00 1/1 0/0 0/0 .text dKy_set_vrboxsoracol_ratio__Ff */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void dKy_set_vrboxsoracol_ratio(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_set_vrboxsoracol_ratio__Ff.s"
|
||||
static void dKy_set_vrboxsoracol_ratio(f32 ratio) {
|
||||
g_env_light.mVrboxSoracolRatio = ratio;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801A8AC8-801A8AD8 1A3408 0010+00 1/1 0/0 0/0 .text dKy_set_vrboxkumocol_ratio__Ff */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void dKy_set_vrboxkumocol_ratio(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_set_vrboxkumocol_ratio__Ff.s"
|
||||
static void dKy_set_vrboxkumocol_ratio(f32 ratio) {
|
||||
g_env_light.mVrboxKumocolRatio = ratio;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801A8AD8-801A8B38 1A3418 0060+00 0/0 1/1 0/0 .text dKy_itudemo_se__Fv */
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
void dKy_itudemo_se() {
|
||||
if (g_env_light.mMoyaSE != 0) {
|
||||
mDoAud_seStart(g_env_light.mMoyaSE, NULL, 0, 0);
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -2824,46 +3102,35 @@ asm void dKy_itudemo_se() {
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_itudemo_se__Fv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 801A8B38-801A8B58 1A3478 0020+00 1/1 2/2 11/11 .text dKy_get_dayofweek__Fv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm s32 dKy_get_dayofweek() {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_get_dayofweek__Fv.s"
|
||||
s32 dKy_get_dayofweek() {
|
||||
return dComIfGs_getDate() % 7;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801A8B58-801A8B68 1A3498 0010+00 0/0 3/3 0/0 .text dKy_set_nexttime__Ff */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dKy_set_nexttime(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_set_nexttime__Ff.s"
|
||||
void dKy_set_nexttime(f32 nextTime) {
|
||||
g_env_light.mNexttime = nextTime;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801A8B68-801A8BC8 1A34A8 0060+00 0/0 1/1 0/0 .text dKy_instant_timechg__Ff */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dKy_instant_timechg(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_instant_timechg__Ff.s"
|
||||
void dKy_instant_timechg(f32 time) {
|
||||
if (time < g_env_light.getDaytime()) {
|
||||
dComIfGs_setDate(dComIfGs_getDate() + 1);
|
||||
dKankyo_DayProc();
|
||||
}
|
||||
|
||||
dComIfGs_setTime(time);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801A8BC8-801A8C04 1A3508 003C+00 0/0 1/1 0/0 .text dKy_instant_rainchg__Fv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dKy_instant_rainchg() {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_instant_rainchg__Fv.s"
|
||||
void dKy_instant_rainchg() {
|
||||
dKyw_rain_set(250);
|
||||
g_env_light.mColpatWeather = 1;
|
||||
g_env_light.mColPatPrev = 1;
|
||||
g_env_light.mColPatCurr = 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801A8C04-801A8E20 1A3544 021C+00 3/3 0/0 0/0 .text NewAmbColGet__FP11_GXColorS10 */
|
||||
#pragma push
|
||||
@@ -3051,24 +3318,14 @@ static asm void dKy_WaterIn_Light_set() {
|
||||
|
||||
/* 801AB270-801AB280 1A5BB0 0010+00 0/0 2/2 0/0 .text dKy_camera_water_in_status_set__FUc
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dKy_camera_water_in_status_set(u8 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_camera_water_in_status_set__FUc.s"
|
||||
void dKy_camera_water_in_status_set(u8 status) {
|
||||
g_env_light.mCameraInWater = status;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801AB280-801AB290 1A5BC0 0010+00 3/3 1/1 5/5 .text dKy_camera_water_in_status_check__Fv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm BOOL dKy_camera_water_in_status_check() {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_camera_water_in_status_check__Fv.s"
|
||||
BOOL dKy_camera_water_in_status_check() {
|
||||
return g_env_light.mCameraInWater;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80394C6C-80394C6C 0212CC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
@@ -3108,14 +3365,26 @@ asm u8 dKy_pol_sound_get(cBgS_PolyInfo const* param_0) {
|
||||
#pragma pop
|
||||
|
||||
/* 801AB59C-801AB668 1A5EDC 00CC+00 0/0 5/5 0/0 .text dKy_pol_argument_get__FPC13cBgS_PolyInfo */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dKy_pol_argument_get(cBgS_PolyInfo const* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_pol_argument_get__FPC13cBgS_PolyInfo.s"
|
||||
u8 dKy_pol_argument_get(cBgS_PolyInfo const* p_poly) {
|
||||
dScnKy_env_light_c* envLight = &g_env_light;
|
||||
|
||||
if (p_poly == NULL || &dComIfG_Bgsp() == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int att0 = dComIfG_Bgsp().GetPolyAtt0(*p_poly);
|
||||
if (!strcmp(dComIfGp_getStartStageName(), "F_SP127") && g_env_light.field_0x12fe == 4 &&
|
||||
att0 == 4) {
|
||||
att0 = 13;
|
||||
}
|
||||
|
||||
int att1 = dComIfG_Bgsp().GetPolyAtt1(*p_poly);
|
||||
if (envLight->mResPolArg != NULL) {
|
||||
return envLight->mResPolArg[att0].data[att1];
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801AB668-801AB7D0 1A5FA8 0168+00 0/0 1/1 2/2 .text
|
||||
* dKy_pol_eff_prim_get__FPC13cBgS_PolyInfoP8_GXColor */
|
||||
@@ -3128,6 +3397,33 @@ asm void dKy_pol_eff_prim_get(cBgS_PolyInfo const* param_0, _GXColor* param_1) {
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* u8 dKy_pol_eff_prim_get(cBgS_PolyInfo const* p_poly, GXColor* p_color) {
|
||||
dScnKy_env_light_c* envLight = &g_env_light;
|
||||
|
||||
if (p_poly == NULL || p_color == NULL || &dComIfG_Bgsp() == NULL) {
|
||||
return 0xFF;
|
||||
}
|
||||
|
||||
int att0 = dComIfG_Bgsp().GetPolyAtt0(*p_poly);
|
||||
if (!strcmp(dComIfGp_getStartStageName(), "F_SP127") && g_env_light.field_0x12fe == 4 && att0 ==
|
||||
4) { att0 = 13; } else if (!strcmp(dComIfGp_getStartStageName(), "D_MN05A") &&
|
||||
dComIfGs_isStageBossEnemy() && att0 == 11) { att0 = 7;
|
||||
}
|
||||
|
||||
int att1 = dComIfG_Bgsp().GetPolyAtt1(*p_poly);
|
||||
if (envLight->mResPolEffcol == NULL || ) {
|
||||
u32 index = envLight->mResPolEffcol[att0].data[att1];
|
||||
|
||||
if (index >= 100) {
|
||||
return 0xFF;
|
||||
}
|
||||
|
||||
p_color->r = envLight->mResColorDataTbl[index].data[0];
|
||||
p_color->g = envLight->mResColorDataTbl[index].data[1];
|
||||
p_color->b = envLight->mResColorDataTbl[index].data[2];
|
||||
}
|
||||
} */
|
||||
|
||||
/* 801AB7D0-801AB93C 1A6110 016C+00 0/0 1/1 2/2 .text
|
||||
* dKy_pol_eff_env_get__FPC13cBgS_PolyInfoP8_GXColor */
|
||||
#pragma push
|
||||
@@ -3204,44 +3500,55 @@ asm void dKy_pol_eff2_ratio_get(cBgS_PolyInfo const* param_0) {
|
||||
#pragma pop
|
||||
|
||||
/* 801AC140-801AC168 1A6A80 0028+00 0/0 2/2 0/0 .text dKy_TeachWind_existence_chk__Fv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dKy_TeachWind_existence_chk() {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_TeachWind_existence_chk__Fv.s"
|
||||
BOOL dKy_TeachWind_existence_chk() {
|
||||
if (g_env_light.mTeachWindExist == 0xFF) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
return g_env_light.mTeachWindExist ? TRUE : FALSE;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801AC168-801AC228 1A6AA8 00C0+00 4/4 0/0 2/2 .text dKy_SunMoon_Light_Check__Fv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dKy_SunMoon_Light_Check() {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_SunMoon_Light_Check__Fv.s"
|
||||
bool dKy_SunMoon_Light_Check() {
|
||||
bool check = false;
|
||||
if (g_env_light.mSunInitialized && !dKy_darkworld_check()) {
|
||||
// stage is not City in the Sky, Hyrule Castle, or Hidden Skill area
|
||||
if (memcmp(dComIfGp_getStartStageName(), "D_MN07", 6) &&
|
||||
memcmp(dComIfGp_getStartStageName(), "D_MN09", 6) &&
|
||||
strcmp(dComIfGp_getStartStageName(), "F_SP200")) {
|
||||
check = true;
|
||||
}
|
||||
}
|
||||
|
||||
return check;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801AC228-801AC28C 1A6B68 0064+00 3/3 0/0 0/0 .text dKy_Outdoor_check__Fv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm int dKy_Outdoor_check() {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_Outdoor_check__Fv.s"
|
||||
static int dKy_Outdoor_check() {
|
||||
BOOL outdoors = false;
|
||||
u32 type = ST_FIELD;
|
||||
|
||||
if (i_dComIfGp_getStage() != NULL) {
|
||||
type = dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo());
|
||||
}
|
||||
|
||||
if (type == ST_FIELD) {
|
||||
outdoors = true;
|
||||
}
|
||||
|
||||
return outdoors;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801AC28C-801AC2E0 1A6BCC 0054+00 1/1 0/0 0/0 .text dKy_Indoor_check__Fv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void dKy_Indoor_check() {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_Indoor_check__Fv.s"
|
||||
static int dKy_Indoor_check() {
|
||||
BOOL indoors = false;
|
||||
|
||||
if (dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) != ST_FIELD) {
|
||||
indoors = true;
|
||||
}
|
||||
|
||||
return indoors;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801AC2E0-801AC2E8 1A6C20 0008+00 0/0 1/1 0/0 .text dKy_withwarp_capture_check__Fv */
|
||||
BOOL dKy_withwarp_capture_check() {
|
||||
@@ -3266,14 +3573,15 @@ asm void dKy_depth_dist_set(void* param_0) {
|
||||
#pragma pop
|
||||
|
||||
/* 801AC57C-801AC5BC 1A6EBC 0040+00 13/13 21/21 134/134 .text dKy_darkworld_check__Fv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm bool dKy_darkworld_check() {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/dKy_darkworld_check__Fv.s"
|
||||
bool dKy_darkworld_check() {
|
||||
bool check = false;
|
||||
|
||||
if (dComIfGp_world_dark_get() == 1) {
|
||||
check = true;
|
||||
}
|
||||
|
||||
return check;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/**
|
||||
* @brief Returns the following info about a room: (1) if the room must not be in twilight and (2)
|
||||
|
||||
@@ -379,7 +379,7 @@ extern "C" extern u8 j3dSys[284];
|
||||
extern "C" u8 sincosTable___5JMath[65536];
|
||||
extern "C" extern u32 __float_nan;
|
||||
extern "C" u8 mFrameBufferTimg__13mDoGph_gInf_c[4];
|
||||
extern "C" extern u8 struct_80450D64[4];
|
||||
extern "C" extern u8 mStayNo__20dStage_roomControl_c[4];
|
||||
extern "C" u8 m_mode__7dDemo_c[4];
|
||||
extern "C" u8 sOldVcdVatCmd__8J3DShape[4];
|
||||
|
||||
|
||||
+102
-101
@@ -129,6 +129,7 @@ extern "C" void dKyw_evt_wind_set_go__Fv();
|
||||
extern "C" void dKyw_rain_set__Fi();
|
||||
extern "C" extern char const* const d_kankyo_d_kankyo_wether__stringBase0;
|
||||
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
@@ -270,12 +271,12 @@ static J3DPacket* dKyw_setDrawPacketListXluBg(J3DPacket* p_packet, int type) {
|
||||
|
||||
/* 80056C60-80056C98 0515A0 0038+00 1/0 0/0 0/0 .text draw__18dKankyo_sun_PacketFv */
|
||||
void dKankyo_sun_Packet::draw() {
|
||||
dKyr_drawSun(j3dSys.getViewMtx(), &field_0x10[0], mColor, &mpResMoon);
|
||||
dKyr_drawSun(j3dSys.getViewMtx(), mPos, mColor, &mpResMoon);
|
||||
}
|
||||
|
||||
/* 80056C98-80056CD0 0515D8 0038+00 1/0 0/0 0/0 .text draw__22dKankyo_sunlenz_PacketFv */
|
||||
void dKankyo_sunlenz_Packet::draw() {
|
||||
dKyr_drawLenzflare(j3dSys.getViewMtx(), &field_0x24[0], field_0x10, &mpResBall);
|
||||
dKyr_drawLenzflare(j3dSys.getViewMtx(), mPositions, mColor, &mpResBall);
|
||||
}
|
||||
|
||||
/* 80056CD0-80056D0C 051610 003C+00 2/2 0/0 0/0 .text __dt__8RAIN_EFFFv */
|
||||
@@ -288,8 +289,8 @@ RAIN_EFF::RAIN_EFF() {
|
||||
|
||||
/* 80056D10-80056D58 051650 0048+00 1/0 0/0 0/0 .text draw__19dKankyo_rain_PacketFv */
|
||||
void dKankyo_rain_Packet::draw() {
|
||||
dKyr_drawSibuki(j3dSys.getViewMtx(), &field_0x10);
|
||||
dKyr_drawRain(j3dSys.getViewMtx(), &field_0x10);
|
||||
dKyr_drawSibuki(j3dSys.getViewMtx(), &mpTex);
|
||||
dKyr_drawRain(j3dSys.getViewMtx(), &mpTex);
|
||||
}
|
||||
|
||||
/* 80056D58-80056D94 051698 003C+00 1/1 1/1 0/0 .text __dt__8SNOW_EFFFv */
|
||||
@@ -302,7 +303,7 @@ SNOW_EFF::SNOW_EFF() {
|
||||
|
||||
/* 80056D98-80056DC8 0516D8 0030+00 1/0 0/0 0/0 .text draw__19dKankyo_snow_PacketFv */
|
||||
void dKankyo_snow_Packet::draw() {
|
||||
dKyr_drawSnow(j3dSys.getViewMtx(), &field_0x10);
|
||||
dKyr_drawSnow(j3dSys.getViewMtx(), &mpTex);
|
||||
}
|
||||
|
||||
/* 80056DC8-80056E04 051708 003C+00 1/1 1/1 0/0 .text __dt__8STAR_EFFFv */
|
||||
@@ -354,7 +355,7 @@ VRKUMO_EFF::VRKUMO_EFF() {
|
||||
|
||||
/* 80056F58-80056F8C 051898 0034+00 1/0 0/0 0/0 .text draw__21dKankyo_vrkumo_PacketFv */
|
||||
void dKankyo_vrkumo_Packet::draw() {
|
||||
drawVrkumo(j3dSys.getViewMtx(), field_0x10, &mpResCloudtx_01);
|
||||
drawVrkumo(j3dSys.getViewMtx(), mColor, &mpResCloudtx_01);
|
||||
}
|
||||
|
||||
/* 80056F8C-80056FC8 0518CC 003C+00 2/2 0/0 0/0 .text __dt__12EF_ODOUR_EFFFv */
|
||||
@@ -408,7 +409,7 @@ static void dKyw_Sun_Draw() {
|
||||
|
||||
/* 80057130-80057174 051A70 0044+00 1/1 0/0 0/0 .text dKyw_drawSunlenz__Fi */
|
||||
static void dKyw_drawSunlenz(int type) {
|
||||
if (g_env_light.mpSunLenzPacket->field_0x9e == 0) {
|
||||
if (g_env_light.mpSunLenzPacket->mDrawLenzInSky == false) {
|
||||
dKyw_setDrawPacketListIndScreen(g_env_light.mpSunLenzPacket, type);
|
||||
} else {
|
||||
dKyw_setDrawPacketListSky(g_env_light.mpSunLenzPacket, type);
|
||||
@@ -550,35 +551,35 @@ inline u32 tmp_dComIfGp_particle_set(u16 param_0, const cXyz* param_1, const csX
|
||||
|
||||
/* 800574E0-800579EC 051E20 050C+00 0/0 1/1 0/0 .text dKyw_wether_init__Fv */
|
||||
void dKyw_wether_init() {
|
||||
g_env_light.mSunPacketEnabled = false;
|
||||
g_env_light.field_0xed4.field_0x0 = 0;
|
||||
g_env_light.field_0xed4.field_0x4 = 0;
|
||||
g_env_light.mRainPacketEnabled = 0;
|
||||
g_env_light.mSunInitialized = false;
|
||||
g_env_light.mThunderEff.mStatus = 0;
|
||||
g_env_light.mThunderEff.mMode = 0;
|
||||
g_env_light.mRainInitialized = false;
|
||||
g_env_light.mRainCount = 0;
|
||||
g_env_light.mSnowPacketEnabled = 0;
|
||||
g_env_light.mSnowInitialized = false;
|
||||
g_env_light.field_0xe92 = 0;
|
||||
g_env_light.mSnowCount = 0;
|
||||
g_env_light.field_0xe90 = 0;
|
||||
g_env_light.field_0xe91 = 0;
|
||||
g_env_light.mStarPacketEnabled = false;
|
||||
g_env_light.mStarInitialized = false;
|
||||
g_env_light.mStarCount = 0;
|
||||
f32 tmp0 = FLOAT_LABEL(lit_4378);
|
||||
g_env_light.mStarDensity = tmp0;
|
||||
g_env_light.mCloudPacketEnabled = 0;
|
||||
g_env_light.field_0xeb8 = 0;
|
||||
g_env_light.mCloudInitialized = 0;
|
||||
g_env_light.mMoyaCount = 0;
|
||||
g_env_light.field_0xebc = tmp0;
|
||||
g_env_light.field_0xeb5 = 0;
|
||||
g_env_light.mHousiPacketEnabled = false;
|
||||
g_env_light.field_0xeac = 0;
|
||||
g_env_light.mMoyaMode = 0;
|
||||
g_env_light.mHousiInitialized = false;
|
||||
g_env_light.mHousiCount = 0;
|
||||
g_env_light.mOdourPacketStatus = 0;
|
||||
g_env_light.field_0xf24 = 0;
|
||||
g_env_light.field_0xf21 = 0;
|
||||
g_env_light.mpOdourPacket = NULL;
|
||||
g_env_light.field_0x1038 = 0;
|
||||
g_env_light.field_0x103c = 0;
|
||||
g_env_light.mMudPacketEnabled = 0;
|
||||
g_env_light.mMudInitialized = 0;
|
||||
g_env_light.field_0x1048 = 0;
|
||||
g_env_light.mEvilPacketEnabled = 0;
|
||||
g_env_light.mEvilInitialized = 0;
|
||||
g_env_light.field_0x1054 = 0;
|
||||
g_env_light.field_0x1051 = 0;
|
||||
g_env_light.field_0xe60 = tmp0;
|
||||
@@ -622,41 +623,41 @@ void dKyw_wether_init() {
|
||||
|
||||
/* 800579EC-80057A04 05232C 0018+00 0/0 1/1 0/0 .text dKyw_wether_init2__Fv */
|
||||
void dKyw_wether_init2() {
|
||||
g_env_light.field_0xec4 = 0;
|
||||
g_env_light.field_0xec8 = 0;
|
||||
g_env_light.mVrkumoStatus = 0;
|
||||
g_env_light.mVrkumoCount = 0;
|
||||
}
|
||||
|
||||
/* 80057A04-80057C84 052344 0280+00 0/0 1/1 0/0 .text dKyw_wether_delete__Fv */
|
||||
void dKyw_wether_delete() {
|
||||
if (g_env_light.mSunPacketEnabled) {
|
||||
if (g_env_light.mSunInitialized) {
|
||||
delete g_env_light.mpSunPacket;
|
||||
delete g_env_light.mpSunLenzPacket;
|
||||
g_env_light.mpSunPacket = NULL;
|
||||
g_env_light.mpSunLenzPacket = NULL;
|
||||
}
|
||||
|
||||
if (g_env_light.mRainPacketEnabled) {
|
||||
if (g_env_light.mRainInitialized) {
|
||||
delete g_env_light.mpRainPacket;
|
||||
g_env_light.mpRainPacket = NULL;
|
||||
}
|
||||
|
||||
if (g_env_light.mSnowPacketEnabled) {
|
||||
if (g_env_light.mSnowInitialized) {
|
||||
delete g_env_light.mpSnowPacket;
|
||||
g_env_light.mpSnowPacket = NULL;
|
||||
g_env_light.field_0xe90 = 0;
|
||||
}
|
||||
|
||||
if (g_env_light.mStarPacketEnabled) {
|
||||
if (g_env_light.mStarInitialized) {
|
||||
delete g_env_light.mpStarPacket;
|
||||
g_env_light.mpStarPacket = NULL;
|
||||
}
|
||||
|
||||
if (g_env_light.mHousiPacketEnabled) {
|
||||
if (g_env_light.mHousiInitialized) {
|
||||
delete g_env_light.mpHousiPacket;
|
||||
g_env_light.mpHousiPacket = NULL;
|
||||
}
|
||||
|
||||
if (g_env_light.mCloudPacketEnabled) {
|
||||
if (g_env_light.mCloudInitialized) {
|
||||
delete g_env_light.mpCloudPacket;
|
||||
g_env_light.mpCloudPacket = NULL;
|
||||
}
|
||||
@@ -666,12 +667,12 @@ void dKyw_wether_delete() {
|
||||
g_env_light.mpOdourPacket = NULL;
|
||||
}
|
||||
|
||||
if (g_env_light.mMudPacketEnabled) {
|
||||
if (g_env_light.mMudInitialized) {
|
||||
delete g_env_light.mpMudPacket;
|
||||
g_env_light.mpMudPacket = NULL;
|
||||
}
|
||||
|
||||
if (g_env_light.mEvilPacketEnabled) {
|
||||
if (g_env_light.mEvilInitialized) {
|
||||
delete g_env_light.mpEvilPacket;
|
||||
g_env_light.mpEvilPacket = NULL;
|
||||
}
|
||||
@@ -739,7 +740,7 @@ dKankyo_sun_Packet::~dKankyo_sun_Packet() {}
|
||||
|
||||
/* 800581AC-8005820C 052AEC 0060+00 0/0 1/1 0/0 .text dKyw_wether_delete2__Fv */
|
||||
void dKyw_wether_delete2() {
|
||||
if (g_env_light.field_0xec4 != 0) {
|
||||
if (g_env_light.mVrkumoStatus != 0) {
|
||||
delete g_env_light.mpVrkumoPacket;
|
||||
g_env_light.mpVrkumoPacket = NULL;
|
||||
}
|
||||
@@ -750,11 +751,11 @@ dKankyo_vrkumo_Packet::~dKankyo_vrkumo_Packet() {}
|
||||
|
||||
/* 80058290-800582F8 052BD0 0068+00 1/1 0/0 0/0 .text wether_move_thunder__Fv */
|
||||
static void wether_move_thunder() {
|
||||
switch (g_env_light.field_0xed4.field_0x0) {
|
||||
switch (g_env_light.mThunderEff.mStatus) {
|
||||
case 0:
|
||||
if (g_env_light.field_0xed4.field_0x4 != 0) {
|
||||
if (g_env_light.mThunderEff.mMode != 0) {
|
||||
dKyr_thunder_init();
|
||||
g_env_light.field_0xed4.field_0x0 = 1;
|
||||
g_env_light.mThunderEff.mStatus = 1;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
@@ -777,7 +778,7 @@ SECTION_SDATA2 static f32 lit_4611 = 1000000000.0f;
|
||||
/* 80058318-80058894 052C58 057C+00 1/1 0/0 0/0 .text wether_move_sun__Fv */
|
||||
static void wether_move_sun() {
|
||||
s32 sunVisible = false;
|
||||
if (dComIfGp_checkStatus(1) && !g_env_light.field_0x12d4) {
|
||||
if (dComIfGp_checkStatus(1) && !g_env_light.mVrboxInvisible) {
|
||||
roomRead_class* room = dComIfGp_getStageRoom();
|
||||
if (room != NULL && room->field_0x0 > dComIfGp_roomControl_getStayNo()) {
|
||||
sunVisible = dStage_roomRead_dt_c_GetVrboxswitch(
|
||||
@@ -793,7 +794,7 @@ static void wether_move_sun() {
|
||||
sunVisible = false;
|
||||
}
|
||||
|
||||
switch (g_env_light.mSunPacketEnabled) {
|
||||
switch (g_env_light.mSunInitialized) {
|
||||
case FALSE:
|
||||
if (sunVisible && dKy_darkworld_check() != true) {
|
||||
g_env_light.mpSunPacket = new (0x20) dKankyo_sun_Packet();
|
||||
@@ -854,16 +855,16 @@ static void wether_move_sun() {
|
||||
f32 tmp0_2 = FLOAT_LABEL(lit_4378);
|
||||
g_env_light.mpSunLenzPacket->field_0x90 = tmp0_2;
|
||||
g_env_light.mpSunLenzPacket->field_0x98 = tmp0_2;
|
||||
g_env_light.mpSunLenzPacket->field_0x9e = 0;
|
||||
g_env_light.mpSunLenzPacket->mDrawLenzInSky = false;
|
||||
dKyr_sun_move();
|
||||
dKyr_lenzflare_move();
|
||||
g_env_light.mSunPacketEnabled = true;
|
||||
g_env_light.mSunInitialized = true;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case TRUE:
|
||||
if (!sunVisible) {
|
||||
g_env_light.mSunPacketEnabled = false;
|
||||
g_env_light.mSunInitialized = false;
|
||||
delete g_env_light.mpSunPacket;
|
||||
delete g_env_light.mpSunLenzPacket;
|
||||
g_env_light.mpSunPacket = NULL;
|
||||
@@ -897,7 +898,7 @@ SECTION_SDATA2 static f64 lit_4671 = 4503601774854144.0 /* cast s32 to float */;
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
static void wether_move_rain() {
|
||||
switch (g_env_light.mRainPacketEnabled) {
|
||||
switch (g_env_light.mRainInitialized) {
|
||||
case FALSE:
|
||||
if (g_env_light.mRainCount > 3) {
|
||||
g_env_light.mpRainPacket = new (32) dKankyo_rain_Packet();
|
||||
@@ -905,7 +906,7 @@ static void wether_move_rain() {
|
||||
if (g_env_light.mpRainPacket != NULL) {
|
||||
dKyr_rain_init();
|
||||
dKyr_rain_move();
|
||||
g_env_light.mRainPacketEnabled = 1;
|
||||
g_env_light.mRainInitialized = 1;
|
||||
|
||||
if (g_env_light.mRainCount != 250) {
|
||||
mDoAud_seStart(JA_SE_ATM_RAIN_START, NULL, 0, 0);
|
||||
@@ -929,7 +930,7 @@ static void wether_move_rain() {
|
||||
}
|
||||
|
||||
if (g_env_light.mRainCount <= 3) {
|
||||
g_env_light.mRainPacketEnabled = 0;
|
||||
g_env_light.mRainInitialized = 0;
|
||||
mDoAud_seStart(JA_SE_ATM_RAIN_END, NULL, 0, 0);
|
||||
delete g_env_light.mpRainPacket;
|
||||
g_env_light.mpRainPacket = NULL;
|
||||
@@ -950,13 +951,13 @@ static asm void wether_move_rain() {
|
||||
|
||||
/* 80058B00-80058B8C 053440 008C+00 1/1 0/0 0/0 .text wether_move_snow__Fv */
|
||||
static void wether_move_snow() {
|
||||
switch (g_env_light.mSnowPacketEnabled) {
|
||||
switch (g_env_light.mSnowInitialized) {
|
||||
case FALSE:
|
||||
if (g_env_light.mSnowCount != 0 || g_env_light.field_0xe90 != 0) {
|
||||
dKyr_snow_init();
|
||||
if (g_env_light.mpSnowPacket != NULL) {
|
||||
dKyr_snow_move();
|
||||
g_env_light.mSnowPacketEnabled = 1;
|
||||
g_env_light.mSnowInitialized = 1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -1020,7 +1021,7 @@ static void wether_move_star() {
|
||||
return;
|
||||
} else {
|
||||
// Stage is Hero Shade arena
|
||||
if ((dComIfGp_checkStatus(1) && !g_env_light.field_0x12d4) ||
|
||||
if ((dComIfGp_checkStatus(1) && !g_env_light.mVrboxInvisible) ||
|
||||
!strcmp(dComIfGp_getStartStageName(), "F_SP200")) {
|
||||
roomRead_class* room = dComIfGp_getStageRoom();
|
||||
if (room != NULL && room->field_0x0 > dComIfGp_roomControl_getStayNo()) {
|
||||
@@ -1048,11 +1049,11 @@ static void wether_move_star() {
|
||||
}
|
||||
}
|
||||
|
||||
if (g_env_light.field_0x12c8 != 0) {
|
||||
if (g_env_light.mColpatWeather != 0) {
|
||||
density = FLOAT_LABEL(lit_4378);
|
||||
}
|
||||
|
||||
if (g_env_light.field_0x12c3 != 0 && g_env_light.field_0x11dc > lit_4767) {
|
||||
if (g_env_light.mColPatCurr != 0 && g_env_light.mColPatBlend > lit_4767) {
|
||||
density = FLOAT_LABEL(lit_4378);
|
||||
}
|
||||
|
||||
@@ -1071,7 +1072,7 @@ static void wether_move_star() {
|
||||
g_env_light.mStarCount = (s16)(lit_4772 * g_env_light.mStarDensity);
|
||||
}
|
||||
|
||||
switch (g_env_light.mStarPacketEnabled) {
|
||||
switch (g_env_light.mStarInitialized) {
|
||||
case FALSE:
|
||||
if (g_env_light.mStarCount != 0) {
|
||||
dKyr_star_init();
|
||||
@@ -1080,7 +1081,7 @@ static void wether_move_star() {
|
||||
if (g_env_light.mpStarPacket != NULL) {
|
||||
dKyr_star_move();
|
||||
dKyr_shstar_move();
|
||||
g_env_light.mStarPacketEnabled = true;
|
||||
g_env_light.mStarInitialized = true;
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -1089,7 +1090,7 @@ static void wether_move_star() {
|
||||
dKyr_shstar_move();
|
||||
|
||||
if (g_env_light.mStarCount == 0) {
|
||||
g_env_light.mStarPacketEnabled = false;
|
||||
g_env_light.mStarInitialized = false;
|
||||
|
||||
delete g_env_light.mpStarPacket;
|
||||
g_env_light.mpStarPacket = NULL;
|
||||
@@ -1117,9 +1118,9 @@ static void wether_move_housi() {
|
||||
if (dKy_darkworld_check() == true ||
|
||||
(!strcmp(dComIfGp_getStartStageName(), "F_SP115") &&
|
||||
dComIfGp_roomControl_getStayNo() == 1 && dComIfGp_getStartStageLayer() == 9)) {
|
||||
if (g_env_light.field_0x12d2 != 0) {
|
||||
if (g_env_light.mInitAnmTimer != 0) {
|
||||
g_env_light.field_0xea9 = 0;
|
||||
g_env_light.field_0xeac = 200;
|
||||
g_env_light.mHousiCount = 200;
|
||||
|
||||
// Stage is Faron Woods and Room is Faron Spring or
|
||||
// Stage is Castle Town and Room is Castle Town Center or
|
||||
@@ -1133,14 +1134,14 @@ static void wether_move_housi() {
|
||||
dComIfGp_getStartStageRoomNo() == 0 && dComIfGp_getStartStageLayer() == 9) ||
|
||||
(!strcmp(dComIfGp_getStartStageName(), "F_SP115") &&
|
||||
dComIfGp_getStartStageLayer() == 9)) {
|
||||
g_env_light.field_0xeac = 0;
|
||||
g_env_light.mHousiCount = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
switch (g_env_light.mHousiPacketEnabled) {
|
||||
switch (g_env_light.mHousiInitialized) {
|
||||
case FALSE:
|
||||
if (g_env_light.field_0xeac != 0) {
|
||||
if (g_env_light.mHousiCount != 0) {
|
||||
g_env_light.mpHousiPacket = new (32) dKankyo_housi_Packet();
|
||||
|
||||
if (g_env_light.mpHousiPacket != NULL) {
|
||||
@@ -1173,23 +1174,23 @@ static void wether_move_housi() {
|
||||
g_env_light.mpHousiPacket->field_0x5de8 = tmp0;
|
||||
g_env_light.mpHousiPacket->field_0x10.set(tmp0, tmp0, tmp0);
|
||||
for (int i = 0; i < 300; i++) {
|
||||
g_env_light.mpHousiPacket->field_0x18[i].field_0x0 = 0;
|
||||
g_env_light.mpHousiPacket->mHousiEff[i].mStatus = 0;
|
||||
}
|
||||
dKyr_housi_move();
|
||||
g_env_light.mHousiPacketEnabled = true;
|
||||
g_env_light.mHousiInitialized = true;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case TRUE:
|
||||
if (g_env_light.field_0xeac == 0 &&
|
||||
if (g_env_light.mHousiCount == 0 &&
|
||||
g_env_light.mpHousiPacket->field_0x5de8 <= FLOAT_LABEL(lit_4378)) {
|
||||
g_env_light.mHousiPacketEnabled = false;
|
||||
g_env_light.mHousiInitialized = false;
|
||||
delete g_env_light.mpHousiPacket;
|
||||
g_env_light.mpHousiPacket = NULL;
|
||||
} else {
|
||||
dKyr_housi_move();
|
||||
if (!dKy_darkworld_check()) {
|
||||
g_env_light.field_0xeac = 0;
|
||||
g_env_light.mHousiCount = 0;
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -1233,32 +1234,32 @@ static void wether_move_odour() {
|
||||
|
||||
/* 80059580-80059728 053EC0 01A8+00 1/1 0/0 0/0 .text wether_move_moya__Fv */
|
||||
static void wether_move_moya() {
|
||||
switch (g_env_light.mCloudPacketEnabled) {
|
||||
switch (g_env_light.mCloudInitialized) {
|
||||
case 0:
|
||||
if (g_env_light.field_0xeb8 != 0) {
|
||||
if (g_env_light.mMoyaCount != 0) {
|
||||
g_env_light.mpCloudPacket = new (32) dKankyo_cloud_Packet();
|
||||
|
||||
if (g_env_light.mpCloudPacket != NULL) {
|
||||
g_env_light.mpCloudPacket->mpResTex = (u8*)dComIfG_getObjectRes("Always", 0x53);
|
||||
|
||||
for (int i = 0; i < 50; i++) {
|
||||
g_env_light.mpCloudPacket->field_0x18[i].field_0x0 = 0;
|
||||
g_env_light.mpCloudPacket->mCloudEff[i].mStatus = 0;
|
||||
}
|
||||
g_env_light.mpCloudPacket->field_0x14 = 0;
|
||||
g_env_light.mpCloudPacket->mCount = 0;
|
||||
cloud_shadow_move();
|
||||
g_env_light.mCloudPacketEnabled++;
|
||||
g_env_light.mCloudInitialized++;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (g_env_light.field_0xeb5 == 0) {
|
||||
if (g_env_light.mMoyaMode == 0) {
|
||||
dKyw_get_wind_pow();
|
||||
}
|
||||
|
||||
cloud_shadow_move();
|
||||
|
||||
if (g_env_light.field_0xeb8 == 0 && g_env_light.mpCloudPacket->field_0x14 == 0) {
|
||||
g_env_light.mCloudPacketEnabled = 0;
|
||||
if (g_env_light.mMoyaCount == 0 && g_env_light.mpCloudPacket->mCount == 0) {
|
||||
g_env_light.mCloudInitialized = 0;
|
||||
|
||||
delete g_env_light.mpCloudPacket;
|
||||
g_env_light.mpCloudPacket = NULL;
|
||||
@@ -1336,7 +1337,7 @@ static asm void wether_move_vrkumo() {
|
||||
|
||||
/* 80059E38-80059F74 054778 013C+00 1/1 0/0 0/0 .text wether_move_mud__Fv */
|
||||
static void wether_move_mud() {
|
||||
switch (g_env_light.mMudPacketEnabled) {
|
||||
switch (g_env_light.mMudInitialized) {
|
||||
case 0:
|
||||
if (g_env_light.field_0x1048 != 0) {
|
||||
g_env_light.mpMudPacket = new (32) dKankyo_mud_Packet();
|
||||
@@ -1344,7 +1345,7 @@ static void wether_move_mud() {
|
||||
if (g_env_light.mpMudPacket != NULL) {
|
||||
dKyr_mud_init();
|
||||
dKyr_mud_move();
|
||||
g_env_light.mMudPacketEnabled++;
|
||||
g_env_light.mMudInitialized++;
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -1352,7 +1353,7 @@ static void wether_move_mud() {
|
||||
dKyr_mud_move();
|
||||
|
||||
if (g_env_light.field_0x1048 == 0 && g_env_light.mpMudPacket->field_0x10 == 0) {
|
||||
g_env_light.mMudPacketEnabled = 0;
|
||||
g_env_light.mMudInitialized = 0;
|
||||
|
||||
delete g_env_light.mpMudPacket;
|
||||
g_env_light.mpMudPacket = NULL;
|
||||
@@ -1363,7 +1364,7 @@ static void wether_move_mud() {
|
||||
|
||||
/* 80059F74-8005A0B8 0548B4 0144+00 1/1 0/0 0/0 .text wether_move_evil__Fv */
|
||||
static void wether_move_evil() {
|
||||
switch (g_env_light.mEvilPacketEnabled & 0xF) {
|
||||
switch (g_env_light.mEvilInitialized & 0xF) {
|
||||
case 0:
|
||||
if (g_env_light.field_0x1054 != 0) {
|
||||
g_env_light.mpEvilPacket = new (32) dKankyo_evil_Packet();
|
||||
@@ -1371,7 +1372,7 @@ static void wether_move_evil() {
|
||||
if (g_env_light.mpEvilPacket != NULL) {
|
||||
dKyr_evil_init();
|
||||
dKyr_evil_move();
|
||||
g_env_light.mEvilPacketEnabled++;
|
||||
g_env_light.mEvilInitialized++;
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -1379,7 +1380,7 @@ static void wether_move_evil() {
|
||||
dKyr_evil_move();
|
||||
|
||||
if (g_env_light.field_0x1054 == 0 && g_env_light.mpEvilPacket->field_0x10 == 0) {
|
||||
g_env_light.mEvilPacketEnabled = 0;
|
||||
g_env_light.mEvilInitialized = 0;
|
||||
|
||||
delete g_env_light.mpEvilPacket;
|
||||
g_env_light.mpEvilPacket = NULL;
|
||||
@@ -1390,7 +1391,7 @@ static void wether_move_evil() {
|
||||
|
||||
/* 8005A0B8-8005A154 0549F8 009C+00 0/0 1/1 0/0 .text dKyw_wether_move_draw__Fv */
|
||||
void dKyw_wether_move_draw() {
|
||||
g_env_light.field_0x1288 = 0;
|
||||
g_env_light.mMoyaSE = 0;
|
||||
|
||||
if (strcmp(dComIfGp_getStartStageName(), "Name")) {
|
||||
wether_move_sun();
|
||||
@@ -1415,11 +1416,11 @@ void dKyw_wether_move_draw2() {
|
||||
|
||||
/* 8005A174-8005A304 054AB4 0190+00 0/0 1/1 0/0 .text dKyw_wether_draw__Fv */
|
||||
void dKyw_wether_draw() {
|
||||
if (strcmp(dComIfGp_getStartStageName(), "Name") && g_env_light.mCloudPacketEnabled != 0) {
|
||||
if (strcmp(dComIfGp_getStartStageName(), "Name") && g_env_light.mCloudInitialized != 0) {
|
||||
dKyw_Cloud_Draw();
|
||||
}
|
||||
|
||||
if (strcmp(dComIfGp_getStartStageName(), "Name") && g_env_light.mSunPacketEnabled) {
|
||||
if (strcmp(dComIfGp_getStartStageName(), "Name") && g_env_light.mSunInitialized) {
|
||||
stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo();
|
||||
|
||||
if (dStage_stagInfo_GetArg0(stag_info) != 0) {
|
||||
@@ -1428,21 +1429,21 @@ void dKyw_wether_draw() {
|
||||
}
|
||||
}
|
||||
|
||||
if (g_env_light.mStarPacketEnabled) {
|
||||
if (g_env_light.mStarInitialized) {
|
||||
dKyw_Star_Draw();
|
||||
dKyw_shstar_Draw();
|
||||
}
|
||||
|
||||
if (strcmp(dComIfGp_getStartStageName(), "Name")) {
|
||||
if (g_env_light.mRainPacketEnabled) {
|
||||
if (g_env_light.mRainInitialized) {
|
||||
dKyw_Rain_Draw();
|
||||
}
|
||||
|
||||
if (g_env_light.mSnowPacketEnabled) {
|
||||
if (g_env_light.mSnowInitialized) {
|
||||
dKyw_Snow_Draw();
|
||||
}
|
||||
|
||||
if (g_env_light.mHousiPacketEnabled) {
|
||||
if (g_env_light.mHousiInitialized) {
|
||||
dKyw_Housi_Draw();
|
||||
}
|
||||
|
||||
@@ -1450,11 +1451,11 @@ void dKyw_wether_draw() {
|
||||
dKyw_Odour_Draw();
|
||||
}
|
||||
|
||||
if (g_env_light.mMudPacketEnabled != 0) {
|
||||
if (g_env_light.mMudInitialized != 0) {
|
||||
dKyw_mud_Draw();
|
||||
}
|
||||
|
||||
if (g_env_light.mEvilPacketEnabled != 0) {
|
||||
if (g_env_light.mEvilInitialized != 0) {
|
||||
dKyw_evil_Draw();
|
||||
}
|
||||
|
||||
@@ -1464,7 +1465,7 @@ void dKyw_wether_draw() {
|
||||
|
||||
/* 8005A304-8005A340 054C44 003C+00 0/0 1/1 0/0 .text dKyw_wether_draw2__Fv */
|
||||
void dKyw_wether_draw2() {
|
||||
if (g_env_light.field_0xec4 != 0 && g_env_light.field_0xec4 < 99) {
|
||||
if (g_env_light.mVrkumoStatus != 0 && g_env_light.mVrkumoStatus < 99) {
|
||||
dKyw_Vrkumo_Draw();
|
||||
}
|
||||
}
|
||||
@@ -1512,13 +1513,13 @@ void dKyw_wether_proc() {
|
||||
g_env_light.field_0x12c9 >= 1 && g_env_light.field_0x12c9 < 6) {
|
||||
dKy_get_dayofweek();
|
||||
cLib_addCalc(&g_env_light.field_0xebc, lit_4379, lit_5362, lit_5363, lit_4770);
|
||||
g_env_light.field_0xeb5 = 7;
|
||||
g_env_light.field_0xeb8 = 49;
|
||||
g_env_light.mMoyaMode = 7;
|
||||
g_env_light.mMoyaCount = 49;
|
||||
} else {
|
||||
cLib_addCalc(&g_env_light.field_0xebc, FLOAT_LABEL(lit_4378), lit_5362,
|
||||
lit_5363, lit_5364[0]);
|
||||
if (g_env_light.field_0xebc <= lit_4769 && g_env_light.field_0xeb8 == 49) {
|
||||
g_env_light.field_0xeb8 = 0;
|
||||
if (g_env_light.field_0xebc <= lit_4769 && g_env_light.mMoyaCount == 49) {
|
||||
g_env_light.mMoyaCount = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1529,9 +1530,9 @@ void dKyw_wether_proc() {
|
||||
if (!strcmp(dComIfGp_getStartStageName(), "F_SP127") &&
|
||||
(g_env_light.field_0x12fe == 1 || g_env_light.field_0x12fe == 3)) {
|
||||
if (g_env_light.field_0x12fe == 1) {
|
||||
g_env_light.field_0xeac = 35;
|
||||
g_env_light.mHousiCount = 35;
|
||||
} else {
|
||||
g_env_light.field_0xeac = 30;
|
||||
g_env_light.mHousiCount = 30;
|
||||
}
|
||||
g_env_light.field_0xea9 = 2;
|
||||
}
|
||||
@@ -1560,8 +1561,8 @@ static void dKyw_wind_init() {
|
||||
g_env_light.field_0xe66 = 0;
|
||||
g_env_light.mWind.field_0xc = 0;
|
||||
g_env_light.custom_windpower = tmp_0;
|
||||
g_env_light.field_0xe6d = 0;
|
||||
g_env_light.field_0xe6e = 0;
|
||||
g_env_light.mEvtWindSet = 0;
|
||||
g_env_light.mTeachWindExist = 0;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
@@ -1649,7 +1650,7 @@ static void dKyw_pntwind_init() {
|
||||
}
|
||||
|
||||
for (int i = 0; i < 5; i++) {
|
||||
g_env_light.field_0x848[i].field_0x0[0] = 0;
|
||||
g_env_light.mWindInfluenceEntity[i].mInUse = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1671,14 +1672,14 @@ static void pntwind_set(WIND_INFLUENCE* pntwind) {
|
||||
|
||||
/* 8005ADFC-8005AE28 05573C 002C+00 0/0 0/0 5/5 .text dKyw_pntwind_set__FP14WIND_INFLUENCE */
|
||||
void dKyw_pntwind_set(WIND_INFLUENCE* pntwind) {
|
||||
pntwind->field_0x28 = 0;
|
||||
pntwind->mConstant = 0;
|
||||
pntwind->field_0x29 = 0;
|
||||
pntwind_set(pntwind);
|
||||
}
|
||||
|
||||
/* 8005AE28-8005AE58 055768 0030+00 1/1 0/0 0/0 .text dKyw_pntlight_set__FP14WIND_INFLUENCE */
|
||||
static void dKyw_pntlight_set(WIND_INFLUENCE* pntwind) {
|
||||
pntwind->field_0x28 = 0;
|
||||
pntwind->mConstant = 0;
|
||||
pntwind->field_0x29 = 1;
|
||||
pntwind_set(pntwind);
|
||||
}
|
||||
@@ -1786,21 +1787,21 @@ void dKyw_custom_windpower(f32 pow) {
|
||||
}
|
||||
|
||||
/* 8005B61C-8005B638 055F5C 001C+00 0/0 0/0 6/6 .text dKyw_evt_wind_set__Fss */
|
||||
void dKyw_evt_wind_set(s16 param_0, s16 param_1) {
|
||||
g_env_light.field_0xe6d = 1;
|
||||
g_env_light.field_0xe68 = param_0;
|
||||
g_env_light.field_0xe6a = param_1;
|
||||
void dKyw_evt_wind_set(s16 angleX, s16 angleY) {
|
||||
g_env_light.mEvtWindSet = 1;
|
||||
g_env_light.mEvtWindAngleX = angleX;
|
||||
g_env_light.mEvtWindAngleY = angleY;
|
||||
}
|
||||
|
||||
/* 8005B638-8005B64C 055F78 0014+00 0/0 0/0 3/3 .text dKyw_evt_wind_set_go__Fv */
|
||||
void dKyw_evt_wind_set_go() {
|
||||
g_env_light.field_0xe6d = 1;
|
||||
g_env_light.mEvtWindSet = 1;
|
||||
}
|
||||
|
||||
/* 8005B64C-8005B660 055F8C 0014+00 0/0 1/1 5/5 .text dKyw_rain_set__Fi */
|
||||
void dKyw_rain_set(int count) {
|
||||
g_env_light.mRainCount = count;
|
||||
g_env_light.field_0x129c = count;
|
||||
g_env_light.mRainCountOrig = count;
|
||||
}
|
||||
|
||||
/* 8037A368-8037A368 0069C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
@@ -365,7 +365,7 @@ extern "C" u8 mStatus__20dStage_roomControl_c[65792];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" u8 mTypeGroupListAll__7dTres_c[204 + 4 /* padding */];
|
||||
extern "C" extern u32 __float_max;
|
||||
extern "C" extern u8 struct_80450D64[4];
|
||||
extern "C" extern u8 mStayNo__20dStage_roomControl_c[4];
|
||||
extern "C" extern u8 data_80450E58[4];
|
||||
extern "C" extern u8 data_80450E60[4];
|
||||
extern "C" u8 mLayerList__8dMpath_c[4];
|
||||
|
||||
@@ -447,7 +447,7 @@ extern "C" extern void* __vt__19dMenuFmapIconDisp_c[3];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 g_fmapHIO[1188];
|
||||
extern "C" extern u8 g_meter2_info[248];
|
||||
extern "C" extern u8 struct_80450D64[4];
|
||||
extern "C" extern u8 mStayNo__20dStage_roomControl_c[4];
|
||||
extern "C" u8 m_midnaActor__9daPy_py_c[4];
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
|
||||
|
||||
@@ -228,7 +228,7 @@ extern "C" extern void* __vt__11dDrawPath_c[16];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 g_Counter[12 + 4 /* padding */];
|
||||
extern "C" u8 sincosTable___5JMath[65536];
|
||||
extern "C" extern u8 struct_80450D64[4];
|
||||
extern "C" extern u8 mStayNo__20dStage_roomControl_c[4];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
|
||||
@@ -907,7 +907,7 @@ asm void dMenu_Letter_c::screenSetMenu() {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void J2DTextBox::getWhite() const {
|
||||
asm JUtility::TColor J2DTextBox::getWhite() const {
|
||||
nofralloc
|
||||
#include "asm/d/menu/d_menu_letter/getWhite__10J2DTextBoxCFv.s"
|
||||
}
|
||||
@@ -917,7 +917,7 @@ asm void J2DTextBox::getWhite() const {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void J2DTextBox::getBlack() const {
|
||||
asm JUtility::TColor J2DTextBox::getBlack() const {
|
||||
nofralloc
|
||||
#include "asm/d/menu/d_menu_letter/getBlack__10J2DTextBoxCFv.s"
|
||||
}
|
||||
|
||||
+2018
-652
File diff suppressed because it is too large
Load Diff
@@ -556,7 +556,7 @@ extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 g_meter2_info[248];
|
||||
extern "C" extern u8 g_MsgObject_HIO_c[1040];
|
||||
extern "C" extern u8 data_80450B70[4];
|
||||
extern "C" extern u8 struct_80450D64[4];
|
||||
extern "C" extern u8 mStayNo__20dStage_roomControl_c[4];
|
||||
extern "C" extern u8 g_msg_unit[4 + 4 /* padding */];
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
|
||||
|
||||
@@ -1338,7 +1338,7 @@ int dMsgFlow_c::query042(mesg_flow_node_branch*, fopAc_ac_c*, int) {
|
||||
ret = 1;
|
||||
} else if (midna->checkNpcFar()) {
|
||||
ret = 2;
|
||||
} else if (g_env_light.mEvilPacketEnabled & 0x80) {
|
||||
} else if (g_env_light.mEvilInitialized & 0x80) {
|
||||
ret = 3;
|
||||
}
|
||||
|
||||
|
||||
+29
-60
@@ -6,6 +6,7 @@
|
||||
#include "d/msg/d_msg_string.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JGeometry.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
@@ -52,82 +53,50 @@ SECTION_DATA extern void* __vt__12dMsgString_c[8] = {
|
||||
};
|
||||
|
||||
/* 80249C20-80249CA0 244560 0080+00 0/0 15/15 0/0 .text __ct__12dMsgString_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dMsgString_c::dMsgString_c() {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_string/__ct__12dMsgString_cFv.s"
|
||||
dMsgString_c::dMsgString_c() {
|
||||
field_0x28 = 0;
|
||||
mpOutFont = new COutFont_c(field_0x28);
|
||||
mpOutFont->createPane();
|
||||
getResource();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80249CA0-80249D28 2445E0 0088+00 0/0 1/1 0/0 .text __ct__12dMsgString_cFUc */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dMsgString_c::dMsgString_c(u8 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_string/__ct__12dMsgString_cFUc.s"
|
||||
dMsgString_c::dMsgString_c(u8 param_0) {
|
||||
field_0x28 = param_0;
|
||||
mpOutFont = new COutFont_c(field_0x28);
|
||||
mpOutFont->createPane();
|
||||
getResource();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80249D28-80249DB4 244668 008C+00 0/0 17/17 0/0 .text __dt__12dMsgString_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dMsgString_c::~dMsgString_c() {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_string/__dt__12dMsgString_cFv.s"
|
||||
dMsgString_c::~dMsgString_c() {
|
||||
delete mpOutFont;
|
||||
mpOutFont = NULL;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80249DB4-80249DE4 2446F4 0030+00 1/0 0/0 0/0 .text
|
||||
* resetStringLocal__12dMsgString_cFP10J2DTextBox */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgString_c::resetStringLocal(J2DTextBox* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_string/resetStringLocal__12dMsgString_cFP10J2DTextBox.s"
|
||||
void dMsgString_c::resetStringLocal(J2DTextBox* p_textBox) {
|
||||
mpOutFont->reset(p_textBox);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80454D78-80454D7C 003378 0004+00 1/1 0/0 0/0 .sdata2 @3777 */
|
||||
SECTION_SDATA2 static f32 lit_3777 = 255.0f;
|
||||
|
||||
/* 80454D7C-80454D80 00337C 0004+00 1/1 0/0 0/0 .sdata2 @3778 */
|
||||
SECTION_SDATA2 static f32 lit_3778 = -1.0f;
|
||||
|
||||
/* 80454D80-80454D88 003380 0004+04 1/1 0/0 0/0 .sdata2 @3779 */
|
||||
SECTION_SDATA2 static f32 lit_3779[1 + 1 /* padding */] = {
|
||||
1.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
|
||||
/* 80454D88-80454D90 003388 0008+00 1/1 0/0 0/0 .sdata2 @3781 */
|
||||
SECTION_SDATA2 static f64 lit_3781 = 4503599627370496.0 /* cast u32 to float */;
|
||||
|
||||
/* 80249DE4-80249ED0 244724 00EC+00 1/0 0/0 0/0 .text
|
||||
* drawOutFontLocal__12dMsgString_cFP10J2DTextBoxf */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgString_c::drawOutFontLocal(J2DTextBox* param_0, f32 param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_string/drawOutFontLocal__12dMsgString_cFP10J2DTextBoxf.s"
|
||||
void dMsgString_c::drawOutFontLocal(J2DTextBox* p_textBox, f32 i_alpha) {
|
||||
JGeometry::TVec3<f32> pos = p_textBox->getGlbVtx(0);
|
||||
f32 y = pos.y;
|
||||
|
||||
if (i_alpha == -1.0f) {
|
||||
i_alpha = p_textBox->getAlpha() / 255.0f;
|
||||
}
|
||||
|
||||
mpOutFont->setAlphaRatio(i_alpha);
|
||||
mpOutFont->draw(p_textBox, pos.x, y, 1.0f);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80249ED0-80249F00 244810 0030+00 1/0 0/0 0/0 .text
|
||||
* drawFontLocal__12dMsgString_cFP10J2DTextBoxUcffffUlUc */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgString_c::drawFontLocal(J2DTextBox* param_0, u8 param_1, f32 param_2, f32 param_3,
|
||||
f32 param_4, f32 param_5, u32 param_6, u8 param_7) {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_string/drawFontLocal__12dMsgString_cFP10J2DTextBoxUcffffUlUc.s"
|
||||
void dMsgString_c::drawFontLocal(J2DTextBox* p_textBox, u8 type, f32 posX, f32 posY,
|
||||
f32 sizeX, f32 sizeY, u32 color, u8 alpha) {
|
||||
mpOutFont->drawFont(p_textBox, type, posX, posY, sizeX, sizeY, color, alpha);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
@@ -137,7 +137,7 @@ extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 g_clearColor[4];
|
||||
extern "C" u8 mFrameBufferTex__13mDoGph_gInf_c[4];
|
||||
extern "C" extern u8 struct_80450BE4[4];
|
||||
extern "C" extern u8 mBlureFlag__13mDoGph_gInf_c[4];
|
||||
extern "C" u8 sManager__10JFWDisplay[4];
|
||||
|
||||
//
|
||||
|
||||
+250
-351
@@ -7,124 +7,11 @@
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct JSUMemoryInputStream {
|
||||
/* 802552B8 */ ~JSUMemoryInputStream();
|
||||
/* 802DC520 */ void setBuffer(void const*, s32);
|
||||
};
|
||||
|
||||
struct JKRAramArchive {};
|
||||
|
||||
struct J2DOrthoGraph {
|
||||
/* 802E96D0 */ J2DOrthoGraph(f32, f32, f32, f32, f32, f32);
|
||||
/* 802E980C */ void setOrtho(JGeometry::TBox2<f32> const&, f32, f32);
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__8CPaneMgrFv();
|
||||
extern "C" void __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap();
|
||||
extern "C" void __dt__8CPaneMgrFv();
|
||||
extern "C" void setAlpha__8CPaneMgrFUc();
|
||||
extern "C" void reinit__8CPaneMgrFv();
|
||||
extern "C" void initiate__8CPaneMgrFP7J2DPaneP10JKRExpHeap();
|
||||
extern "C" void getBlack__9J2DWindowCFv();
|
||||
extern "C" void getWhite__9J2DWindowCFv();
|
||||
extern "C" void childPaneGetSize__8CPaneMgrFP7J2DPane();
|
||||
extern "C" void childPaneSetSize__8CPaneMgrFP7J2DPaneff();
|
||||
extern "C" void getGlobalPosX__8CPaneMgrFv();
|
||||
extern "C" void getGlobalPosY__8CPaneMgrFv();
|
||||
extern "C" void setWhite__9J2DWindowFQ28JUtility6TColor();
|
||||
extern "C" void setBlack__10J2DTextBoxFQ28JUtility6TColor();
|
||||
extern "C" void setBlack__9J2DWindowFQ28JUtility6TColor();
|
||||
extern "C" void setBlackWhite__8CPaneMgrFQ28JUtility6TColorQ28JUtility6TColor();
|
||||
extern "C" void setBlackWhite__9J2DWindowFQ28JUtility6TColorQ28JUtility6TColor();
|
||||
extern "C" void paneTrans__8CPaneMgrFff();
|
||||
extern "C" void paneScale__8CPaneMgrFff();
|
||||
extern "C" void scaleAnime__8CPaneMgrFsffUc();
|
||||
extern "C" void
|
||||
colorAnime__8CPaneMgrFsQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorUc();
|
||||
extern "C" void getGlobalVtx__8CPaneMgrFP7J2DPanePA3_A4_fUcbs();
|
||||
extern "C" void getGlobalVtxCenter__8CPaneMgrFP7J2DPanebs();
|
||||
extern "C" void getBounds__8CPaneMgrFP7J2DPane();
|
||||
extern "C" void dPaneClass_showNullPane__FP9J2DScreen();
|
||||
extern "C" void dPaneClass_showNullPane__FP7J2DPane();
|
||||
extern "C" void dPaneClass_setPriority__FPPvP7JKRHeapP9J2DScreenPCcUlP10JKRArchive();
|
||||
extern "C" void __dt__20JSUMemoryInputStreamFv();
|
||||
extern "C" void __dt__20JSURandomInputStreamFv();
|
||||
extern "C" void __dt__10JSUIosBaseFv();
|
||||
extern "C" void __sinit_d_pane_class_cpp();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoExt_getCurrentHeap__Fv();
|
||||
extern "C" void dLib_getExpandSizeFromAramArchive__FP14JKRAramArchivePCc();
|
||||
extern "C" void __ct__13CPaneMgrAlphaFv();
|
||||
extern "C" void __dt__13CPaneMgrAlphaFv();
|
||||
extern "C" void rateCalc__13CPaneMgrAlphaFssUc();
|
||||
extern "C" void childPaneCount__13CPaneMgrAlphaFP7J2DPane();
|
||||
extern "C" void childPaneGetAlpha__13CPaneMgrAlphaFP7J2DPane();
|
||||
extern "C" void childPaneSetAlpha__13CPaneMgrAlphaFP7J2DPaneUc();
|
||||
extern "C" void alloc__7JKRHeapFUli();
|
||||
extern "C" void free__7JKRHeapFPv();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void __dt__14JSUInputStreamFv();
|
||||
extern "C" void setBuffer__20JSUMemoryInputStreamFPCvl();
|
||||
extern "C" void __ct__13J2DOrthoGraphFffffff();
|
||||
extern "C" void func_802E980C();
|
||||
extern "C" void getBounds__7J2DPaneFv();
|
||||
extern "C" void rotate__7J2DPaneFff13J2DRotateAxisf();
|
||||
extern "C" void getFirstChildPane__7J2DPaneFv();
|
||||
extern "C" void getNextChildPane__7J2DPaneFv();
|
||||
extern "C" void getParentPane__7J2DPaneFv();
|
||||
extern "C" void setPriority__9J2DScreenFP20JSURandomInputStreamUlP10JKRArchive();
|
||||
extern "C" void _savegpr_24();
|
||||
extern "C" void _savegpr_25();
|
||||
extern "C" void _savegpr_26();
|
||||
extern "C" void _savegpr_27();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_24();
|
||||
extern "C" void _restgpr_25();
|
||||
extern "C" void _restgpr_26();
|
||||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" extern void* __vt__20JSURandomInputStream[9];
|
||||
extern "C" extern void* __vt__14JSUInputStream[6 + 1 /* padding */];
|
||||
extern "C" extern void* __vt__20JSUMemoryInputStream[9 + 1 /* padding */];
|
||||
extern "C" extern void* __vt__14J2DGrafContext[10];
|
||||
extern "C" extern void* __vt__13J2DOrthoGraph[10];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803C2DF8-803C2E04 01FF18 000C+00 2/2 4/4 0/0 .data __vt__10JSUIosBase */
|
||||
SECTION_DATA extern void* __vt__10JSUIosBase[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__10JSUIosBaseFv,
|
||||
};
|
||||
|
||||
/* 803C2E04-803C2E18 01FF24 0010+04 3/3 0/0 0/0 .data __vt__8CPaneMgr */
|
||||
SECTION_DATA extern void* __vt__8CPaneMgr[4 + 1 /* padding */] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__8CPaneMgrFv,
|
||||
(void*)setAlpha__8CPaneMgrFUc,
|
||||
/* padding */
|
||||
NULL,
|
||||
};
|
||||
#include "m_Do/m_Do_graphic.h"
|
||||
#include "JSystem/J2DGraph/J2DOrthoGraph.h"
|
||||
#include "JSystem/J2DGraph/J2DPicture.h"
|
||||
#include "JSystem/JSupport/JSUMemoryStream.h"
|
||||
#include "d/d_lib.h"
|
||||
|
||||
/* 80253930-80253984 24E270 0054+00 0/0 11/11 0/0 .text __ct__8CPaneMgrFv */
|
||||
CPaneMgr::CPaneMgr() {
|
||||
@@ -134,10 +21,10 @@ CPaneMgr::CPaneMgr() {
|
||||
|
||||
/* 80253984-80253A18 24E2C4 0094+00 0/0 58/58 2/2 .text
|
||||
* __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap */
|
||||
CPaneMgr::CPaneMgr(J2DScreen* pScrn, u64 tag, u8 flags, JKRExpHeap* pHeap) {
|
||||
J2DPane* pane = pScrn->search(tag);
|
||||
CPaneMgr::CPaneMgr(J2DScreen* p_scrn, u64 tag, u8 flags, JKRExpHeap* p_heap) {
|
||||
J2DPane* pane = p_scrn->search(tag);
|
||||
mFlags = flags;
|
||||
initiate(pane, pHeap);
|
||||
initiate(pane, p_heap);
|
||||
}
|
||||
|
||||
/* 80253A18-80253AB4 24E358 009C+00 1/0 11/11 0/0 .text __dt__8CPaneMgrFv */
|
||||
@@ -155,9 +42,10 @@ CPaneMgr::~CPaneMgr() {
|
||||
/* 80253AB4-80253B2C 24E3F4 0078+00 1/0 0/0 0/0 .text setAlpha__8CPaneMgrFUc */
|
||||
void CPaneMgr::setAlpha(u8 alpha) {
|
||||
if (mFlags & 2) {
|
||||
field_0x10 = mpFirstStackAlpha;
|
||||
field_0x10 = (u8*)mpFirstStackAlpha;
|
||||
childPaneSetAlpha(getPanePtr()->getFirstChildPane(), alpha);
|
||||
}
|
||||
|
||||
getPanePtr()->setAlpha(alpha);
|
||||
}
|
||||
|
||||
@@ -185,12 +73,11 @@ void CPaneMgr::reinit() {
|
||||
|
||||
/* 80253C08-80254000 24E548 03F8+00 1/1 0/0 0/0 .text initiate__8CPaneMgrFP7J2DPaneP10JKRExpHeap
|
||||
*/
|
||||
// switch issues
|
||||
#ifdef NONMATCHING
|
||||
void CPaneMgr::initiate(J2DPane* pPane, JKRExpHeap* pHeap) {
|
||||
(J2DPane*)mWindow = pPane;
|
||||
if (pHeap) {
|
||||
heap = pHeap;
|
||||
void CPaneMgr::initiate(J2DPane* p_pane, JKRExpHeap* p_heap) {
|
||||
mPane = p_pane;
|
||||
|
||||
if (p_heap) {
|
||||
heap = p_heap;
|
||||
} else {
|
||||
heap = (JKRExpHeap*)mDoExt_getCurrentHeap();
|
||||
}
|
||||
@@ -205,24 +92,24 @@ void CPaneMgr::initiate(J2DPane* pPane, JKRExpHeap* pHeap) {
|
||||
childPaneCount(getPanePtr()->getFirstChildPane());
|
||||
if (mFlags & 1) {
|
||||
mpFirstStackSize = heap->alloc(mChildPaneCount * 12, 0x20);
|
||||
field_0x20 = mpFirstStackSize;
|
||||
field_0x20 = (s16*)mpFirstStackSize;
|
||||
childPaneGetSize(getPanePtr()->getFirstChildPane());
|
||||
}
|
||||
if (mFlags & 2) {
|
||||
mpFirstStackAlpha = heap->alloc(mChildPaneCount, 0x20);
|
||||
field_0x10 = mpFirstStackAlpha;
|
||||
childPaneGetSize(getPanePtr()->getFirstChildPane());
|
||||
field_0x10 = (u8*)mpFirstStackAlpha;
|
||||
childPaneGetAlpha(getPanePtr()->getFirstChildPane());
|
||||
}
|
||||
}
|
||||
|
||||
mInitPos.x = pPane->getBounds().i.x;
|
||||
mInitPos.y = pPane->getBounds().i.y;
|
||||
mInitPos.x = p_pane->getBounds().i.x;
|
||||
mInitPos.y = p_pane->getBounds().i.y;
|
||||
|
||||
mGlobalPos.x = getGlobalPosX();
|
||||
mGlobalPos.y = getGlobalPosY();
|
||||
|
||||
mInitSize.x = pPane->getWidth();
|
||||
mInitSize.y = pPane->getHeight();
|
||||
mInitSize.x = p_pane->getWidth();
|
||||
mInitSize.y = p_pane->getHeight();
|
||||
|
||||
mInitScale.x = getPanePtr()->getScaleX();
|
||||
mInitScale.y = getPanePtr()->getScaleY();
|
||||
@@ -230,15 +117,16 @@ void CPaneMgr::initiate(J2DPane* pPane, JKRExpHeap* pHeap) {
|
||||
mInitTrans.x = getPanePtr()->getTranslateX();
|
||||
mInitTrans.y = getPanePtr()->getTranslateY();
|
||||
|
||||
mRotateZ = pPane->getRotateZ();
|
||||
mRotateOffset.x = pPane->getRotOffsetX();
|
||||
mRotateOffset.y = pPane->getRotOffsetY();
|
||||
mRotateZ = p_pane->getRotateZ();
|
||||
mRotateOffset.x = p_pane->getRotOffsetX();
|
||||
mRotateOffset.y = p_pane->getRotOffsetY();
|
||||
|
||||
if (pPane->getKind() == 'PAN2') {
|
||||
if (p_pane->getKind() == 'PAN2') {
|
||||
mInitAlpha = 255;
|
||||
} else {
|
||||
mInitAlpha = pPane->getAlpha();
|
||||
mInitAlpha = p_pane->getAlpha();
|
||||
}
|
||||
|
||||
field_0x60 = 0;
|
||||
field_0x62 = 0;
|
||||
mScaleAnime = 0;
|
||||
@@ -248,44 +136,25 @@ void CPaneMgr::initiate(J2DPane* pPane, JKRExpHeap* pHeap) {
|
||||
mAlphaTimer = 0;
|
||||
|
||||
switch (getPanePtr()->getKind()) {
|
||||
case 'TBX3':
|
||||
case 'TBX4':
|
||||
case 'WIN3':
|
||||
JUtility::TColor white = mWindow->getWhite();
|
||||
mInitWhite.set(white.r, white.g, white.b, white.a);
|
||||
|
||||
JUtility::TColor black = mWindow->getBlack();
|
||||
mInitBlack.set(black.r, black.g, black.b, black.a);
|
||||
break;
|
||||
case 'WIN1':
|
||||
case 'WIN2':
|
||||
mInitWhite.set(((J2DWindow*)mPane)->getWhite());
|
||||
mInitBlack.set(((J2DWindow*)mPane)->getBlack());
|
||||
return;
|
||||
case 'PIC1':
|
||||
case 'PIC2':
|
||||
JUtility::TColor white2 = mWindow->getWhite();
|
||||
mInitWhite.set(white2.r, white2.g, white2.b, white2.a);
|
||||
|
||||
JUtility::TColor black2 = mWindow->getBlack();
|
||||
mInitBlack.set(black2.r, black2.g, black2.b, black2.a);
|
||||
break;
|
||||
case 'WIN1':
|
||||
JUtility::TColor white3 = mWindow->getWhite();
|
||||
mInitWhite.set(white3.r, white3.g, white3.b, white3.a);
|
||||
|
||||
JUtility::TColor black3 = mWindow->getBlack();
|
||||
mInitBlack.set(black3.r, black3.g, black3.b, black3.a);
|
||||
break;
|
||||
mInitWhite.set(((J2DPicture*)mPane)->getWhite());
|
||||
mInitBlack.set(((J2DPicture*)mPane)->getBlack());
|
||||
return;
|
||||
case 'TBX1':
|
||||
case 'TBX2':
|
||||
mInitWhite.set(((J2DTextBox*)mPane)->getWhite());
|
||||
mInitBlack.set(((J2DTextBox*)mPane)->getBlack());
|
||||
return;
|
||||
}
|
||||
mInitWhite.set(255, 255, 255, 255);
|
||||
mInitBlack.set(0, 0, 0, 0);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void CPaneMgr::initiate(J2DPane* param_0, JKRExpHeap* param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class/initiate__8CPaneMgrFP7J2DPaneP10JKRExpHeap.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80254000-8025400C 24E940 000C+00 0/0 1/0 0/0 .text getBlack__9J2DWindowCFv */
|
||||
JUtility::TColor J2DWindow::getBlack() const {
|
||||
@@ -298,41 +167,43 @@ JUtility::TColor J2DWindow::getWhite() const {
|
||||
}
|
||||
|
||||
/* 80254018-80254134 24E958 011C+00 1/1 0/0 0/0 .text childPaneGetSize__8CPaneMgrFP7J2DPane */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void CPaneMgr::childPaneGetSize(J2DPane* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class/childPaneGetSize__8CPaneMgrFP7J2DPane.s"
|
||||
void CPaneMgr::childPaneGetSize(J2DPane* p_pane) {
|
||||
if (p_pane != NULL) {
|
||||
field_0x20[0] = p_pane->getBounds().i.x;
|
||||
field_0x20[1] = p_pane->getBounds().i.y;
|
||||
field_0x20[2] = p_pane->getWidth();
|
||||
field_0x20[3] = p_pane->getHeight();
|
||||
field_0x20[4] = p_pane->getRotOffsetX();
|
||||
field_0x20[5] = p_pane->getRotOffsetY();
|
||||
field_0x20 += 6;
|
||||
|
||||
childPaneGetSize(p_pane->getFirstChildPane());
|
||||
childPaneGetSize(p_pane->getNextChildPane());
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80454E88-80454E90 003488 0004+04 4/4 0/0 0/0 .sdata2 @3858 */
|
||||
SECTION_SDATA2 static f32 lit_3858[1 + 1 /* padding */] = {
|
||||
0.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
|
||||
/* 80454E90-80454E98 003490 0008+00 2/2 0/0 0/0 .sdata2 @3860 */
|
||||
SECTION_SDATA2 static f64 lit_3860 = 4503601774854144.0 /* cast s32 to float */;
|
||||
|
||||
/* 80254134-802542E8 24EA74 01B4+00 1/1 0/0 0/0 .text childPaneSetSize__8CPaneMgrFP7J2DPaneff */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void CPaneMgr::childPaneSetSize(J2DPane* param_0, f32 param_1, f32 param_2) {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class/childPaneSetSize__8CPaneMgrFP7J2DPaneff.s"
|
||||
void CPaneMgr::childPaneSetSize(J2DPane* p_pane, f32 param_1, f32 param_2) {
|
||||
if (p_pane != NULL) {
|
||||
p_pane->move(field_0x20[0] * param_1, field_0x20[1] * param_2);
|
||||
p_pane->resize(field_0x20[2] * param_1, field_0x20[3] * param_2);
|
||||
|
||||
if (p_pane->getRotateZ() != 0.0f) {
|
||||
p_pane->rotate(field_0x20[4] * param_1, field_0x20[5] * param_2, ROTATE_Z, p_pane->getRotateZ());
|
||||
}
|
||||
|
||||
field_0x20 += 6;
|
||||
|
||||
childPaneSetSize(p_pane->getFirstChildPane(), param_1, param_2);
|
||||
childPaneSetSize(p_pane->getNextChildPane(), param_1, param_2);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802542E8-80254364 24EC28 007C+00 2/2 18/18 0/0 .text getGlobalPosX__8CPaneMgrFv */
|
||||
f32 CPaneMgr::getGlobalPosX() {
|
||||
f32 posX = getPosX();
|
||||
for (J2DPane* pane = getPanePtr()->getParentPane(); pane != NULL;
|
||||
pane = pane->getParentPane()) {
|
||||
pane = pane->getParentPane()) {
|
||||
posX += pane->getBounds().i.x;
|
||||
}
|
||||
return posX;
|
||||
@@ -342,7 +213,7 @@ f32 CPaneMgr::getGlobalPosX() {
|
||||
f32 CPaneMgr::getGlobalPosY() {
|
||||
f32 posY = getPosY();
|
||||
for (J2DPane* pane = getPanePtr()->getParentPane(); pane != NULL;
|
||||
pane = pane->getParentPane()) {
|
||||
pane = pane->getParentPane()) {
|
||||
posY += pane->getBounds().i.y;
|
||||
}
|
||||
return posY;
|
||||
@@ -368,14 +239,22 @@ bool J2DWindow::setBlack(JUtility::TColor black) {
|
||||
|
||||
/* 80254458-80254568 24ED98 0110+00 1/1 7/7 0/0 .text
|
||||
* setBlackWhite__8CPaneMgrFQ28JUtility6TColorQ28JUtility6TColor */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void CPaneMgr::setBlackWhite(JUtility::TColor param_0, JUtility::TColor param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class/setBlackWhite__8CPaneMgrFQ28JUtility6TColorQ28JUtility6TColor.s"
|
||||
void CPaneMgr::setBlackWhite(JUtility::TColor black, JUtility::TColor white) {
|
||||
switch (mPane->getKind()) {
|
||||
case 'WIN1':
|
||||
case 'WIN2':
|
||||
((J2DWindow*)mPane)->setBlackWhite(black, white);
|
||||
break;
|
||||
case 'PIC1':
|
||||
case 'PIC2':
|
||||
((J2DPicture*)mPane)->setBlackWhite(black, white);
|
||||
break;
|
||||
case 'TBX1':
|
||||
case 'TBX2':
|
||||
((J2DTextBox*)mPane)->setBlackWhite(black, white);
|
||||
break;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80254568-802545B0 24EEA8 0048+00 0/0 1/0 0/0 .text
|
||||
* setBlackWhite__9J2DWindowFQ28JUtility6TColorQ28JUtility6TColor */
|
||||
@@ -385,62 +264,33 @@ bool J2DWindow::setBlackWhite(JUtility::TColor black, JUtility::TColor white) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80454E98-80454EA0 003498 0004+04 3/3 0/0 0/0 .sdata2 @4046 */
|
||||
SECTION_SDATA2 static f32 lit_4046[1 + 1 /* padding */] = {
|
||||
0.5f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
|
||||
/* 802545B0-80254638 24EEF0 0088+00 0/0 51/51 3/3 .text paneTrans__8CPaneMgrFff */
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
void CPaneMgr::paneTrans(f32 x, f32 y) {
|
||||
f32 moveX = x + getInitCenterPosX() - getSizeX() * 0.5f;
|
||||
f32 moveY = y + getInitCenterPosY() - getSizeY() * 0.5f;
|
||||
getPanePtr()->move(moveX, moveY);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void CPaneMgr::paneTrans(f32 param_0, f32 param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class/paneTrans__8CPaneMgrFff.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80254638-802547CC 24EF78 0194+00 0/0 5/5 0/0 .text paneScale__8CPaneMgrFff */
|
||||
// swapped float reg
|
||||
#ifdef NONMATCHING
|
||||
void CPaneMgr::paneScale(f32 x, f32 y) {
|
||||
f32 moveX = getPosX() + getSizeX() * 0.5f;
|
||||
f32 moveY = getPosY() + getSizeY() * 0.5f;
|
||||
|
||||
getPanePtr()->resize(mInitSize.x * x, mInitSize.y * y);
|
||||
getPanePtr()->move(moveX - getSizeY() * 0.5f, moveY - getSizeX() * 0.5f);
|
||||
|
||||
f32 moveX2 = moveX - getSizeX() * 0.5f;
|
||||
f32 moveY2 = moveY - getSizeY() * 0.5f;
|
||||
getPanePtr()->move(moveX2, moveY2);
|
||||
|
||||
if (mRotateZ != 0.0f) {
|
||||
getPanePtr()->rotate(mRotateOffset.x * x, mRotateOffset.y * y, ROTATE_Z, getRotateZ());
|
||||
}
|
||||
|
||||
if (mFlags & 1) {
|
||||
field_0x20 = mpFirstStackSize;
|
||||
field_0x20 = (s16*)mpFirstStackSize;
|
||||
childPaneSetSize(getPanePtr()->getFirstChildPane(), x, y);
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void CPaneMgr::paneScale(f32 param_0, f32 param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class/paneScale__8CPaneMgrFff.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 802547CC-802548BC 24F10C 00F0+00 0/0 10/10 0/0 .text scaleAnime__8CPaneMgrFsffUc */
|
||||
bool CPaneMgr::scaleAnime(s16 param_0, f32 param_1, f32 param_2, u8 param_3) {
|
||||
@@ -457,148 +307,197 @@ bool CPaneMgr::scaleAnime(s16 param_0, f32 param_1, f32 param_2, u8 param_3) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80454EA0-80454EA8 0034A0 0008+00 1/1 0/0 0/0 .sdata2 @4349 */
|
||||
SECTION_SDATA2 static f64 lit_4349 = 4503599627370496.0 /* cast u32 to float */;
|
||||
|
||||
/* 802548BC-80254C90 24F1FC 03D4+00 0/0 4/4 0/0 .text
|
||||
* colorAnime__8CPaneMgrFsQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorUc
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void CPaneMgr::colorAnime(s16 param_0, JUtility::TColor param_1, JUtility::TColor param_2,
|
||||
JUtility::TColor param_3, JUtility::TColor param_4, u8 param_5) {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class/func_802548BC.s"
|
||||
bool CPaneMgr::colorAnime(s16 anmTimer, JUtility::TColor startBlack, JUtility::TColor endBlack,
|
||||
JUtility::TColor startWhite, JUtility::TColor endWhite, u8 calcType) {
|
||||
if (mColorAnime < anmTimer - 1) {
|
||||
mColorAnime++;
|
||||
f32 rate = rateCalc(anmTimer, mColorAnime, calcType);
|
||||
|
||||
JUtility::TColor black;
|
||||
JUtility::TColor white;
|
||||
|
||||
if (startBlack.r != endBlack.r) {
|
||||
black.r = startBlack.r + rate * (endBlack.r - startBlack.r);
|
||||
} else {
|
||||
black.r = endBlack.r;
|
||||
}
|
||||
|
||||
if (startBlack.g != endBlack.g) {
|
||||
black.g = startBlack.g + rate * (endBlack.g - startBlack.g);
|
||||
} else {
|
||||
black.g = endBlack.g;
|
||||
}
|
||||
|
||||
if (startBlack.b != endBlack.b) {
|
||||
black.b = startBlack.b + rate * (endBlack.b - startBlack.b);
|
||||
} else {
|
||||
black.b = endBlack.b;
|
||||
}
|
||||
|
||||
if (startBlack.a != endBlack.a) {
|
||||
black.a = startBlack.a + rate * (endBlack.a - startBlack.a);
|
||||
} else {
|
||||
black.a = endBlack.a;
|
||||
}
|
||||
|
||||
|
||||
if (startWhite.r != endWhite.r) {
|
||||
white.r = startWhite.r + rate * (endWhite.r - startWhite.r);
|
||||
} else {
|
||||
white.r = endWhite.r;
|
||||
}
|
||||
|
||||
if (startWhite.g != endWhite.g) {
|
||||
white.g = startWhite.g + rate * (endWhite.g - startWhite.g);
|
||||
} else {
|
||||
white.g = endWhite.g;
|
||||
}
|
||||
|
||||
if (startWhite.b != endWhite.b) {
|
||||
white.b = startWhite.b + rate * (endWhite.b - startWhite.b);
|
||||
} else {
|
||||
white.b = endWhite.b;
|
||||
}
|
||||
|
||||
if (startWhite.a != endWhite.a) {
|
||||
white.a = startWhite.a + rate * (endWhite.a - startWhite.a);
|
||||
} else {
|
||||
white.a = endWhite.a;
|
||||
}
|
||||
|
||||
setBlackWhite(black, white);
|
||||
} else {
|
||||
mColorAnime = anmTimer;
|
||||
setBlackWhite(endBlack, endWhite);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80454EA8-80454EAC 0034A8 0004+00 1/1 0/0 0/0 .sdata2 @4473 */
|
||||
SECTION_SDATA2 static f32 lit_4473 = 608.0f;
|
||||
|
||||
/* 80454EAC-80454EB0 0034AC 0004+00 1/1 0/0 0/0 .sdata2 @4474 */
|
||||
SECTION_SDATA2 static f32 lit_4474 = 448.0f;
|
||||
|
||||
/* 80454EB0-80454EB4 0034B0 0004+00 1/1 0/0 0/0 .sdata2 @4475 */
|
||||
SECTION_SDATA2 static f32 lit_4475 = -1.0f;
|
||||
|
||||
/* 80454EB4-80454EB8 0034B4 0004+00 1/1 0/0 0/0 .sdata2 @4476 */
|
||||
SECTION_SDATA2 static f32 lit_4476 = 1.0f;
|
||||
|
||||
/* 80254C90-80254EBC 24F5D0 022C+00 1/1 9/9 0/0 .text
|
||||
* getGlobalVtx__8CPaneMgrFP7J2DPanePA3_A4_fUcbs */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void CPaneMgr::getGlobalVtx(J2DPane* param_0, f32 (*param_1)[3][4], u8 param_2, bool param_3,
|
||||
Vec CPaneMgr::getGlobalVtx(J2DPane* p_pane, Mtx* param_1, u8 param_2, bool param_3,
|
||||
s16 param_4) {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class/getGlobalVtx__8CPaneMgrFP7J2DPanePA3_A4_fUcbs.s"
|
||||
}
|
||||
#pragma pop
|
||||
Mtx m;
|
||||
MtxP mp = (MtxP)param_1;
|
||||
J2DPane* parent = p_pane->getParentPane();
|
||||
|
||||
J2DOrthoGraph ortho(0.0f, 0.0f, 608.0f, 448.0f, -1.0f, 1.0f);
|
||||
ortho.setOrtho(mDoGph_gInf_c::getMinXF(), mDoGph_gInf_c::getMinYF(), mDoGph_gInf_c::getWidthF(), mDoGph_gInf_c::getHeightF(), -1.0f, 1.0f);
|
||||
|
||||
/* 80254EBC-80254FB8 24F7FC 00FC+00 0/0 56/56 1/1 .text getGlobalVtxCenter__8CPaneMgrFP7J2DPanebs
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm Vec CPaneMgr::getGlobalVtxCenter(J2DPane* param_0, bool param_1, s16 param_2) {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class/getGlobalVtxCenter__8CPaneMgrFP7J2DPanebs.s"
|
||||
if (parent != NULL) {
|
||||
getGlobalVtx(parent, param_1, param_2, param_3, param_4);
|
||||
PSMTXCopy(*param_1, m);
|
||||
PSMTXConcat(m, *p_pane->getMtx(), *param_1);
|
||||
} else {
|
||||
p_pane->calcMtx();
|
||||
PSMTXCopy(*p_pane->getMtx(), *param_1);
|
||||
}
|
||||
|
||||
Vec outVec;
|
||||
if (param_2 >= 4) {
|
||||
outVec.x = 0.0f;
|
||||
outVec.y = 0.0f;
|
||||
outVec.z = 0.0f;
|
||||
|
||||
return outVec;
|
||||
} else {
|
||||
JGeometry::TBox2<f32> bounds = *getBounds(p_pane);
|
||||
f32 x2 = (param_2 & 1) ? bounds.f.x : bounds.i.x;
|
||||
f32 y2 = (param_2 & 2) ? bounds.f.y : bounds.i.y;
|
||||
|
||||
outVec.x = mp[0][3] + (x2 * mp[0][0] + (y2 * mp[0][1]));
|
||||
outVec.y = mp[1][3] + (x2 * mp[1][0] + (y2 * mp[1][1]));
|
||||
outVec.z = mp[2][3] + (x2 * mp[2][0] + (y2 * mp[2][1]));
|
||||
|
||||
return outVec;
|
||||
}
|
||||
}
|
||||
|
||||
/* 80254EBC-80254FB8 24F7FC 00FC+00 0/0 56/56 1/1 .text tCenter__8CPaneMgrFP7J2DPanebs
|
||||
*/
|
||||
Vec CPaneMgr::getGlobalVtxCenter(J2DPane* p_pane, bool param_1, s16) {
|
||||
Mtx m;
|
||||
Vec vtxCenter;
|
||||
Vec v1 = getGlobalVtx(p_pane, &m, 0, param_1, 0);
|
||||
Vec v2 = getGlobalVtx(p_pane, &m, 3, param_1, 0);
|
||||
|
||||
vtxCenter.x = (v1.x + v2.x) * 0.5f;
|
||||
vtxCenter.y = (v1.y + v2.y) * 0.5f;
|
||||
vtxCenter.z = (v1.z + v2.z) * 0.5f;
|
||||
|
||||
return vtxCenter;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80430748-80430758 05D468 0010+00 2/2 0/0 0/0 .bss static_mBounds */
|
||||
static f32 static_mBounds[4];
|
||||
static JGeometry::TBox2<f32> static_mBounds(0.0f, 0.0f, 0.0f, 0.0f);
|
||||
|
||||
/* 80254FB8-802550E8 24F8F8 0130+00 1/1 0/0 0/0 .text getBounds__8CPaneMgrFP7J2DPane */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void CPaneMgr::getBounds(J2DPane* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class/getBounds__8CPaneMgrFP7J2DPane.s"
|
||||
JGeometry::TBox2<f32>* CPaneMgr::getBounds(J2DPane* p_pane) {
|
||||
JGeometry::TBox2<f32> bounds(p_pane->getBounds());
|
||||
|
||||
J2DPane* parent = p_pane->getParentPane();
|
||||
if (parent != NULL) {
|
||||
JGeometry::TBox2<f32>* parentBounds = getBounds(parent);
|
||||
f32 y = parentBounds->i.y;
|
||||
|
||||
JGeometry::TBox2<f32>* parentBounds2 = getBounds(parent);
|
||||
|
||||
bounds.addPos(JGeometry::TVec2<f32>(parentBounds2->i.x, y));
|
||||
}
|
||||
|
||||
f32 transX = -p_pane->getTranslateX();
|
||||
f32 transY = -p_pane->getTranslateY();
|
||||
bounds.addPos(JGeometry::TVec2<f32>(transX, transY));
|
||||
|
||||
static_mBounds = bounds;
|
||||
return &static_mBounds;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802550E8-8025512C 24FA28 0044+00 0/0 54/54 3/3 .text dPaneClass_showNullPane__FP9J2DScreen */
|
||||
void dPaneClass_showNullPane(J2DScreen* pScrn) {
|
||||
if (pScrn) {
|
||||
dPaneClass_showNullPane(pScrn->search('ROOT'));
|
||||
void dPaneClass_showNullPane(J2DScreen* p_scrn) {
|
||||
if (p_scrn) {
|
||||
dPaneClass_showNullPane(p_scrn->search('ROOT'));
|
||||
}
|
||||
}
|
||||
|
||||
/* 8025512C-80255184 24FA6C 0058+00 1/1 0/0 0/0 .text dPaneClass_showNullPane__FP7J2DPane
|
||||
*/
|
||||
void dPaneClass_showNullPane(J2DPane* pPane) {
|
||||
if (pPane) {
|
||||
if (!pPane->isVisible()) {
|
||||
pPane->show();
|
||||
void dPaneClass_showNullPane(J2DPane* p_pane) {
|
||||
if (p_pane) {
|
||||
if (!p_pane->isVisible()) {
|
||||
p_pane->show();
|
||||
}
|
||||
dPaneClass_showNullPane(pPane->getFirstChildPane());
|
||||
dPaneClass_showNullPane(pPane->getNextChildPane());
|
||||
dPaneClass_showNullPane(p_pane->getFirstChildPane());
|
||||
dPaneClass_showNullPane(p_pane->getNextChildPane());
|
||||
}
|
||||
}
|
||||
|
||||
/* 80255184-802552B8 24FAC4 0134+00 0/0 1/1 0/0 .text
|
||||
* dPaneClass_setPriority__FPPvP7JKRHeapP9J2DScreenPCcUlP10JKRArchive */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dPaneClass_setPriority(void** param_0, JKRHeap* param_1, J2DScreen* param_2,
|
||||
char const* param_3, u32 param_4, JKRArchive* param_5) {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class/dPaneClass_setPriority__FPPvP7JKRHeapP9J2DScreenPCcUlP10JKRArchive.s"
|
||||
}
|
||||
#pragma pop
|
||||
bool dPaneClass_setPriority(void** i_data, JKRHeap* p_heap, J2DScreen* p_screen,
|
||||
char const* resName, u32 param_4, JKRArchive* p_archive) {
|
||||
if (p_archive == NULL) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 802552B8-80255328 24FBF8 0070+00 0/0 1/0 0/0 .text __dt__20JSUMemoryInputStreamFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
// asm JSUMemoryInputStream::~JSUMemoryInputStream() {
|
||||
extern "C" asm void __dt__20JSUMemoryInputStreamFv() {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class/__dt__20JSUMemoryInputStreamFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
u32 size = dLib_getExpandSizeFromAramArchive((JKRAramArchive*)p_archive, resName);
|
||||
if (size == 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 80255328-80255388 24FC68 0060+00 0/0 1/0 0/0 .text __dt__20JSURandomInputStreamFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
// asm JSURandomInputStream::~JSURandomInputStream() {
|
||||
extern "C" asm void __dt__20JSURandomInputStreamFv() {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class/__dt__20JSURandomInputStreamFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
*i_data = p_heap->alloc(size, 0x20);
|
||||
u32 len = p_archive->readResource(*i_data, size, resName);
|
||||
|
||||
/* 80255388-802553D0 24FCC8 0048+00 1/0 0/0 0/0 .text __dt__10JSUIosBaseFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
// asm JSUIosBase::~JSUIosBase() {
|
||||
extern "C" asm void __dt__10JSUIosBaseFv() {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class/__dt__10JSUIosBaseFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
if (len != 0) {
|
||||
JSUMemoryInputStream stream(*i_data, len);
|
||||
return p_screen->setPriority(&stream, param_4, p_archive);
|
||||
}
|
||||
|
||||
/* 802553D0-802553EC 24FD10 001C+00 0/0 1/0 0/0 .text __sinit_d_pane_class_cpp */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void __sinit_d_pane_class_cpp() {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class/__sinit_d_pane_class_cpp.s"
|
||||
return false;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
REGISTER_CTORS(0x802553D0, __sinit_d_pane_class_cpp);
|
||||
#pragma pop
|
||||
|
||||
+220
-250
@@ -6,330 +6,300 @@
|
||||
#include "d/pane/d_pane_class_alpha.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__13CPaneMgrAlphaFv();
|
||||
extern "C" void __ct__13CPaneMgrAlphaFP9J2DScreenUxUcP10JKRExpHeap();
|
||||
extern "C" void __dt__13CPaneMgrAlphaFv();
|
||||
extern "C" void initiateAlpha__13CPaneMgrAlphaFP7J2DPaneP10JKRExpHeap();
|
||||
extern "C" void show__13CPaneMgrAlphaFv();
|
||||
extern "C" void hide__13CPaneMgrAlphaFv();
|
||||
extern "C" void isVisible__13CPaneMgrAlphaFv();
|
||||
extern "C" void rateCalc__13CPaneMgrAlphaFssUc();
|
||||
extern "C" void setAlpha__13CPaneMgrAlphaFUc();
|
||||
extern "C" void setAlphaRate__13CPaneMgrAlphaFf();
|
||||
extern "C" void getAlphaRate__13CPaneMgrAlphaFv();
|
||||
extern "C" void alphaAnime__13CPaneMgrAlphaFsUcUcUc();
|
||||
extern "C" void alphaAnimeLoop__13CPaneMgrAlphaFsUcUcUc();
|
||||
extern "C" void childPaneCount__13CPaneMgrAlphaFP7J2DPane();
|
||||
extern "C" void childPaneGetAlpha__13CPaneMgrAlphaFP7J2DPane();
|
||||
extern "C" void childPaneSetAlpha__13CPaneMgrAlphaFP7J2DPaneUc();
|
||||
extern "C" void __ct__17CPaneMgrAlphaMorfFP9J2DScreenUxUcP10JKRExpHeap();
|
||||
extern "C" void __dt__17CPaneMgrAlphaMorfFv();
|
||||
extern "C" void initiateAlphaMorf__17CPaneMgrAlphaMorfFv();
|
||||
extern "C" void setBackupAlpha__17CPaneMgrAlphaMorfFv();
|
||||
extern "C" void setAlphaMorfRate__17CPaneMgrAlphaMorfFf();
|
||||
extern "C" void childPaneBackupAlpha__17CPaneMgrAlphaMorfFP7J2DPane();
|
||||
extern "C" void childPaneSetAlphaMorf__17CPaneMgrAlphaMorfFP7J2DPanef();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoExt_getCurrentHeap__Fv();
|
||||
extern "C" void alloc__7JKRHeapFUli();
|
||||
extern "C" void free__7JKRHeapFPv();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void getFirstChildPane__7J2DPaneFv();
|
||||
extern "C" void getNextChildPane__7J2DPaneFv();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803C2E18-803C2E28 01FF38 0010+00 2/2 0/0 0/0 .data __vt__17CPaneMgrAlphaMorf */
|
||||
SECTION_DATA extern void* __vt__17CPaneMgrAlphaMorf[4] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__17CPaneMgrAlphaMorfFv,
|
||||
(void*)setAlpha__13CPaneMgrAlphaFUc,
|
||||
};
|
||||
|
||||
/* 803C2E28-803C2E38 01FF48 0010+00 3/3 0/0 0/0 .data __vt__13CPaneMgrAlpha */
|
||||
SECTION_DATA extern void* __vt__13CPaneMgrAlpha[4] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__13CPaneMgrAlphaFv,
|
||||
(void*)setAlpha__13CPaneMgrAlphaFUc,
|
||||
};
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
|
||||
/* 802553EC-802553FC 24FD2C 0010+00 0/0 2/2 0/0 .text __ct__13CPaneMgrAlphaFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm CPaneMgrAlpha::CPaneMgrAlpha() {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class_alpha/__ct__13CPaneMgrAlphaFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
CPaneMgrAlpha::CPaneMgrAlpha() {}
|
||||
|
||||
/* 802553FC-8025546C 24FD3C 0070+00 1/1 9/9 1/1 .text
|
||||
* __ct__13CPaneMgrAlphaFP9J2DScreenUxUcP10JKRExpHeap */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm CPaneMgrAlpha::CPaneMgrAlpha(J2DScreen* param_0, u64 param_1, u8 param_2, JKRExpHeap* param_3) {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class_alpha/__ct__13CPaneMgrAlphaFP9J2DScreenUxUcP10JKRExpHeap.s"
|
||||
CPaneMgrAlpha::CPaneMgrAlpha(J2DScreen* p_screen, u64 tag, u8 flags, JKRExpHeap* p_heap) {
|
||||
J2DPane* pane = p_screen->search(tag);
|
||||
mFlags = flags;
|
||||
initiateAlpha(pane, p_heap);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8025546C-802554E0 24FDAC 0074+00 2/1 1/1 0/0 .text __dt__13CPaneMgrAlphaFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm CPaneMgrAlpha::~CPaneMgrAlpha() {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class_alpha/__dt__13CPaneMgrAlphaFv.s"
|
||||
CPaneMgrAlpha::~CPaneMgrAlpha() {
|
||||
if (mpFirstStackAlpha != NULL) {
|
||||
heap->free(mpFirstStackAlpha);
|
||||
mpFirstStackAlpha = NULL;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802554E0-802555C8 24FE20 00E8+00 1/1 0/0 0/0 .text
|
||||
* initiateAlpha__13CPaneMgrAlphaFP7J2DPaneP10JKRExpHeap */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void CPaneMgrAlpha::initiateAlpha(J2DPane* param_0, JKRExpHeap* param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class_alpha/initiateAlpha__13CPaneMgrAlphaFP7J2DPaneP10JKRExpHeap.s"
|
||||
void CPaneMgrAlpha::initiateAlpha(J2DPane* p_pane, JKRExpHeap* p_heap) {
|
||||
mPane = p_pane;
|
||||
|
||||
if (p_heap != NULL) {
|
||||
heap = p_heap;
|
||||
} else {
|
||||
heap = (JKRExpHeap*)mDoExt_getCurrentHeap();
|
||||
}
|
||||
|
||||
mpFirstStackAlpha = NULL;
|
||||
field_0x10 = NULL;
|
||||
mChildPaneCount = 0;
|
||||
|
||||
if (mFlags != 0) {
|
||||
childPaneCount(mPane->getFirstChildPane());
|
||||
|
||||
if (mFlags & 2) {
|
||||
mpFirstStackAlpha = heap->alloc(mChildPaneCount, 0x20);
|
||||
field_0x10 = (u8*)mpFirstStackAlpha;
|
||||
childPaneGetAlpha(mPane->getFirstChildPane());
|
||||
}
|
||||
}
|
||||
|
||||
if (p_pane->getKind() == 'PAN2') {
|
||||
mInitAlpha = 255;
|
||||
} else {
|
||||
mInitAlpha = p_pane->getAlpha();
|
||||
}
|
||||
|
||||
mAlphaTimer = 0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802555C8-80255608 24FF08 0040+00 0/0 40/40 2/2 .text show__13CPaneMgrAlphaFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void CPaneMgrAlpha::show() {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class_alpha/show__13CPaneMgrAlphaFv.s"
|
||||
void CPaneMgrAlpha::show() {
|
||||
if (!isVisible()) {
|
||||
mPane->show();
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80255608-8025564C 24FF48 0044+00 0/0 46/46 2/2 .text hide__13CPaneMgrAlphaFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void CPaneMgrAlpha::hide() {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class_alpha/hide__13CPaneMgrAlphaFv.s"
|
||||
void CPaneMgrAlpha::hide() {
|
||||
if (isVisible() == true) {
|
||||
mPane->hide();
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8025564C-80255658 24FF8C 000C+00 2/2 12/12 0/0 .text isVisible__13CPaneMgrAlphaFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void CPaneMgrAlpha::isVisible() {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class_alpha/isVisible__13CPaneMgrAlphaFv.s"
|
||||
bool CPaneMgrAlpha::isVisible() {
|
||||
return mPane->isVisible();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80454EB8-80454EC0 0034B8 0004+04 1/1 0/0 0/0 .sdata2 @3692 */
|
||||
SECTION_SDATA2 static f32 lit_3692[1 + 1 /* padding */] = {
|
||||
1.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
|
||||
/* 80454EC0-80454EC8 0034C0 0008+00 3/3 0/0 0/0 .sdata2 @3694 */
|
||||
SECTION_SDATA2 static f64 lit_3694 = 4503601774854144.0 /* cast s32 to float */;
|
||||
|
||||
/* 80255658-80255758 24FF98 0100+00 2/2 2/2 0/0 .text rateCalc__13CPaneMgrAlphaFssUc */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm f32 CPaneMgrAlpha::rateCalc(s16 param_0, s16 param_1, u8 param_2) {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class_alpha/rateCalc__13CPaneMgrAlphaFssUc.s"
|
||||
f32 CPaneMgrAlpha::rateCalc(s16 maxTimer, s16 curTimer, u8 calcType) {
|
||||
if (maxTimer <= curTimer) {
|
||||
return 1.0f;
|
||||
}
|
||||
|
||||
switch (calcType) {
|
||||
case 1:
|
||||
return (f32)(curTimer * curTimer) / (f32)(maxTimer * maxTimer);
|
||||
case 2:
|
||||
return (f32)((maxTimer - curTimer) * (maxTimer - curTimer)) / (f32)(maxTimer * maxTimer);
|
||||
default:
|
||||
return (f32)curTimer / (f32)maxTimer;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80255758-802557D0 250098 0078+00 2/0 0/0 0/0 .text setAlpha__13CPaneMgrAlphaFUc */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void CPaneMgrAlpha::setAlpha(u8 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class_alpha/setAlpha__13CPaneMgrAlphaFUc.s"
|
||||
void CPaneMgrAlpha::setAlpha(u8 alpha) {
|
||||
if (mFlags & 2) {
|
||||
field_0x10 = (u8*)mpFirstStackAlpha;
|
||||
childPaneSetAlpha(mPane->getFirstChildPane(), alpha);
|
||||
}
|
||||
mPane->setAlpha(alpha);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80454EC8-80454ED0 0034C8 0008+00 6/6 0/0 0/0 .sdata2 @3708 */
|
||||
SECTION_SDATA2 static f64 lit_3708 = 4503599627370496.0 /* cast u32 to float */;
|
||||
|
||||
/* 802557D0-80255828 250110 0058+00 1/1 173/173 5/5 .text setAlphaRate__13CPaneMgrAlphaFf
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void CPaneMgrAlpha::setAlphaRate(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class_alpha/setAlphaRate__13CPaneMgrAlphaFf.s"
|
||||
void CPaneMgrAlpha::setAlphaRate(f32 rate) {
|
||||
setAlpha(mInitAlpha * rate);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80454ED0-80454ED8 0034D0 0004+04 2/2 0/0 0/0 .sdata2 @3721 */
|
||||
SECTION_SDATA2 static f32 lit_3721[1 + 1 /* padding */] = {
|
||||
0.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
|
||||
/* 80255828-80255878 250168 0050+00 0/0 107/107 2/2 .text getAlphaRate__13CPaneMgrAlphaFv
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm f32 CPaneMgrAlpha::getAlphaRate() {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class_alpha/getAlphaRate__13CPaneMgrAlphaFv.s"
|
||||
f32 CPaneMgrAlpha::getAlphaRate() {
|
||||
f32 rate = 0.0f;
|
||||
|
||||
if (mInitAlpha != 0) {
|
||||
rate = getAlpha() / (f32)mInitAlpha;
|
||||
}
|
||||
|
||||
return rate;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80255878-80255964 2501B8 00EC+00 0/0 31/31 1/1 .text alphaAnime__13CPaneMgrAlphaFsUcUcUc */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void CPaneMgrAlpha::alphaAnime(s16 param_0, u8 param_1, u8 param_2, u8 param_3) {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class_alpha/alphaAnime__13CPaneMgrAlphaFsUcUcUc.s"
|
||||
bool CPaneMgrAlpha::alphaAnime(s16 timer, u8 startAlpha, u8 endAlpha, u8 calcType) {
|
||||
if (mAlphaTimer < timer - 1) {
|
||||
mAlphaTimer++;
|
||||
f32 rate = rateCalc(timer, mAlphaTimer, calcType);
|
||||
setAlpha(startAlpha + rate * (f32)(endAlpha - startAlpha));
|
||||
} else {
|
||||
mAlphaTimer = timer;
|
||||
setAlpha(endAlpha);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80255964-80255A60 2502A4 00FC+00 0/0 0/0 1/1 .text alphaAnimeLoop__13CPaneMgrAlphaFsUcUcUc */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void CPaneMgrAlpha::alphaAnimeLoop(s16 param_0, u8 param_1, u8 param_2, u8 param_3) {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class_alpha/alphaAnimeLoop__13CPaneMgrAlphaFsUcUcUc.s"
|
||||
bool CPaneMgrAlpha::alphaAnimeLoop(s16 param_0, u8 param_1, u8 param_2, u8 param_3) {
|
||||
bool ret = false;
|
||||
s16 temp_r4 = param_0 / 2;
|
||||
|
||||
mAlphaTimer++;
|
||||
|
||||
if (mAlphaTimer >= param_0) {
|
||||
mAlphaTimer = 0;
|
||||
ret = true;
|
||||
}
|
||||
|
||||
s16 tmp;
|
||||
if (mAlphaTimer < temp_r4) {
|
||||
tmp = mAlphaTimer;
|
||||
} else {
|
||||
tmp = param_0 - mAlphaTimer;
|
||||
}
|
||||
|
||||
f32 rate = rateCalc(temp_r4, tmp, param_3);
|
||||
setAlpha(param_1 + rate * (f32)(param_2 - param_1));
|
||||
|
||||
return ret;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80255A60-80255ACC 2503A0 006C+00 1/1 1/1 0/0 .text childPaneCount__13CPaneMgrAlphaFP7J2DPane */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void CPaneMgrAlpha::childPaneCount(J2DPane* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class_alpha/childPaneCount__13CPaneMgrAlphaFP7J2DPane.s"
|
||||
void CPaneMgrAlpha::childPaneCount(J2DPane* p_pane) {
|
||||
if (p_pane != NULL) {
|
||||
mChildPaneCount++;
|
||||
childPaneCount(p_pane->getFirstChildPane());
|
||||
childPaneCount(p_pane->getNextChildPane());
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80255ACC-80255B5C 25040C 0090+00 1/1 1/1 0/0 .text childPaneGetAlpha__13CPaneMgrAlphaFP7J2DPane
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void CPaneMgrAlpha::childPaneGetAlpha(J2DPane* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class_alpha/childPaneGetAlpha__13CPaneMgrAlphaFP7J2DPane.s"
|
||||
void CPaneMgrAlpha::childPaneGetAlpha(J2DPane* p_pane) {
|
||||
if (p_pane != NULL) {
|
||||
u8 alpha;
|
||||
if (p_pane->getKind() == 'PAN2') {
|
||||
alpha = 255;
|
||||
} else {
|
||||
alpha = p_pane->getAlpha();
|
||||
}
|
||||
|
||||
*field_0x10 = alpha;
|
||||
field_0x10++;
|
||||
childPaneGetAlpha(p_pane->getFirstChildPane());
|
||||
childPaneGetAlpha(p_pane->getNextChildPane());
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80255B5C-80255C68 25049C 010C+00 1/1 1/1 0/0 .text
|
||||
* childPaneSetAlpha__13CPaneMgrAlphaFP7J2DPaneUc */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void CPaneMgrAlpha::childPaneSetAlpha(J2DPane* param_0, u8 param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class_alpha/childPaneSetAlpha__13CPaneMgrAlphaFP7J2DPaneUc.s"
|
||||
void CPaneMgrAlpha::childPaneSetAlpha(J2DPane* p_pane, u8 alpha) {
|
||||
if (p_pane != NULL) {
|
||||
if (!p_pane->mIsInfluencedAlpha) {
|
||||
f32 tmp;
|
||||
if (mInitAlpha == 0) {
|
||||
tmp = 0.0f;
|
||||
} else {
|
||||
tmp = (f32)alpha / (f32)mInitAlpha;
|
||||
}
|
||||
|
||||
p_pane->setAlpha(*field_0x10 * tmp);
|
||||
}
|
||||
|
||||
field_0x10++;
|
||||
childPaneSetAlpha(p_pane->getFirstChildPane(), alpha);
|
||||
childPaneSetAlpha(p_pane->getNextChildPane(), alpha);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80255C68-80255CAC 2505A8 0044+00 0/0 5/5 0/0 .text
|
||||
* __ct__17CPaneMgrAlphaMorfFP9J2DScreenUxUcP10JKRExpHeap */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm CPaneMgrAlphaMorf::CPaneMgrAlphaMorf(J2DScreen* param_0, u64 param_1, u8 param_2,
|
||||
JKRExpHeap* param_3) {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class_alpha/__ct__17CPaneMgrAlphaMorfFP9J2DScreenUxUcP10JKRExpHeap.s"
|
||||
CPaneMgrAlphaMorf::CPaneMgrAlphaMorf(J2DScreen* p_screen, u64 tag, u8 flags,
|
||||
JKRExpHeap* p_heap)
|
||||
: CPaneMgrAlpha(p_screen, tag, flags, p_heap) {
|
||||
initiateAlphaMorf();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80255CAC-80255D48 2505EC 009C+00 1/0 0/0 0/0 .text __dt__17CPaneMgrAlphaMorfFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm CPaneMgrAlphaMorf::~CPaneMgrAlphaMorf() {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class_alpha/__dt__17CPaneMgrAlphaMorfFv.s"
|
||||
CPaneMgrAlphaMorf::~CPaneMgrAlphaMorf() {
|
||||
if (mpFirstSaveAlpha != NULL) {
|
||||
heap->free(mpFirstSaveAlpha);
|
||||
mpFirstSaveAlpha = NULL;
|
||||
}
|
||||
|
||||
if (mpFirstGetAlpha != NULL) {
|
||||
heap->free(mpFirstGetAlpha);
|
||||
mpFirstGetAlpha = NULL;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80255D48-80255DD0 250688 0088+00 1/1 0/0 0/0 .text initiateAlphaMorf__17CPaneMgrAlphaMorfFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void CPaneMgrAlphaMorf::initiateAlphaMorf() {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class_alpha/initiateAlphaMorf__17CPaneMgrAlphaMorfFv.s"
|
||||
void CPaneMgrAlphaMorf::initiateAlphaMorf() {
|
||||
mpFirstSaveAlpha = NULL;
|
||||
field_0x20 = NULL;
|
||||
|
||||
mpFirstGetAlpha = NULL;
|
||||
field_0x28 = NULL;
|
||||
|
||||
if (mpFirstStackAlpha != NULL) {
|
||||
mpFirstSaveAlpha = heap->alloc(mChildPaneCount, 0x20);
|
||||
field_0x20 = (u8*)mpFirstSaveAlpha;
|
||||
|
||||
mpFirstGetAlpha = heap->alloc(mChildPaneCount, 0x20);
|
||||
field_0x28 = (u8*)mpFirstGetAlpha;
|
||||
setBackupAlpha();
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80255DD0-80255E28 250710 0058+00 1/1 3/3 0/0 .text setBackupAlpha__17CPaneMgrAlphaMorfFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void CPaneMgrAlphaMorf::setBackupAlpha() {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class_alpha/setBackupAlpha__17CPaneMgrAlphaMorfFv.s"
|
||||
void CPaneMgrAlphaMorf::setBackupAlpha() {
|
||||
if (mpFirstStackAlpha != NULL) {
|
||||
field_0x20 = (u8*)mpFirstSaveAlpha;
|
||||
field_0x28 = (u8*)mpFirstGetAlpha;
|
||||
|
||||
childPaneBackupAlpha(mPane->getFirstChildPane());
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80255E28-80255E98 250768 0070+00 0/0 3/3 0/0 .text setAlphaMorfRate__17CPaneMgrAlphaMorfFf */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void CPaneMgrAlphaMorf::setAlphaMorfRate(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class_alpha/setAlphaMorfRate__17CPaneMgrAlphaMorfFf.s"
|
||||
void CPaneMgrAlphaMorf::setAlphaMorfRate(f32 rate) {
|
||||
if (mpFirstStackAlpha != NULL) {
|
||||
field_0x20 = (u8*)mpFirstSaveAlpha;
|
||||
field_0x28 = (u8*)mpFirstGetAlpha;
|
||||
|
||||
childPaneSetAlphaMorf(mPane->getFirstChildPane(), rate);
|
||||
} else {
|
||||
setAlphaRate(rate);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80255E98-80255F28 2507D8 0090+00 1/1 0/0 0/0 .text
|
||||
* childPaneBackupAlpha__17CPaneMgrAlphaMorfFP7J2DPane */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void CPaneMgrAlphaMorf::childPaneBackupAlpha(J2DPane* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class_alpha/childPaneBackupAlpha__17CPaneMgrAlphaMorfFP7J2DPane.s"
|
||||
void CPaneMgrAlphaMorf::childPaneBackupAlpha(J2DPane* p_pane) {
|
||||
if (p_pane != NULL) {
|
||||
*field_0x20 = p_pane->getAlpha();
|
||||
field_0x20++;
|
||||
|
||||
*field_0x28 = p_pane->getAlpha();
|
||||
field_0x28++;
|
||||
|
||||
childPaneBackupAlpha(p_pane->getFirstChildPane());
|
||||
childPaneBackupAlpha(p_pane->getNextChildPane());
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80255F28-80256018 250868 00F0+00 1/1 0/0 0/0 .text
|
||||
* childPaneSetAlphaMorf__17CPaneMgrAlphaMorfFP7J2DPanef */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void CPaneMgrAlphaMorf::childPaneSetAlphaMorf(J2DPane* param_0, f32 param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class_alpha/childPaneSetAlphaMorf__17CPaneMgrAlphaMorfFP7J2DPanef.s"
|
||||
void CPaneMgrAlphaMorf::childPaneSetAlphaMorf(J2DPane* p_pane, f32 morf) {
|
||||
if (p_pane != NULL) {
|
||||
if (*field_0x20 == *field_0x28) {
|
||||
p_pane->setAlpha(*field_0x20 * morf);
|
||||
} else {
|
||||
*field_0x20 = *field_0x28;
|
||||
}
|
||||
field_0x20++;
|
||||
field_0x28++;
|
||||
|
||||
childPaneSetAlphaMorf(p_pane->getFirstChildPane(), morf);
|
||||
childPaneSetAlphaMorf(p_pane->getNextChildPane(), morf);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
@@ -469,7 +469,7 @@ extern "C" extern u32 g_whiteColor;
|
||||
extern "C" u8 mFrameBufferTimg__13mDoGph_gInf_c[4];
|
||||
extern "C" extern u8 JPTracePCB4[4];
|
||||
extern "C" f32 mWaterY__11fopAcM_wt_c[1 + 1 /* padding */];
|
||||
extern "C" extern u8 struct_80450D64[4];
|
||||
extern "C" extern u8 mStayNo__20dStage_roomControl_c[4];
|
||||
extern "C" u8 sOldVcdVatCmd__8J3DShape[4];
|
||||
|
||||
//
|
||||
|
||||
@@ -137,6 +137,7 @@ extern "C" extern void* g_fpcNd_Method[5 + 1 /* padding */];
|
||||
extern "C" extern void* __vt__10dDlst_2D_c[3];
|
||||
extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
|
||||
extern "C" void* mRenderModeObj__15mDoMch_render_c[1 + 1 /* padding */];
|
||||
extern "C" extern u8 mInitFlag__17mDoAud_zelAudio_c[4];
|
||||
extern "C" u8 mFader__13mDoGph_gInf_c[4];
|
||||
extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */];
|
||||
extern "C" u8 mData__12dEnemyItem_c[4 + 4 /* padding */];
|
||||
|
||||
+21
-20
@@ -197,6 +197,7 @@ extern "C" u8 mFader__13mDoGph_gInf_c[4];
|
||||
extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */];
|
||||
extern "C" u8 mProcID__20dStage_roomControl_c[4];
|
||||
extern "C" extern u8 struct_80450D8C[4];
|
||||
extern "C" extern u8 mBgmSet__17mDoAud_zelAudio_c;
|
||||
extern "C" u8 m_emitter__8daYkgr_c[4];
|
||||
extern "C" u8 sManager__10JFWDisplay[4];
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
@@ -238,19 +239,19 @@ static u8 g_preLoadHIO[4];
|
||||
|
||||
/* 80451124-80451128 -00001 0004+00 3/3 7/7 38/38 .sbss None */
|
||||
/* 80451124 0001+00 data_80451124 None */
|
||||
/* 80451125 0003+00 data_80451125 None */
|
||||
s8 struct_80451124;
|
||||
/* 80451125 0003+00 nextPauseTimer__9dScnPly_c None */
|
||||
s8 dScnPly_c::pauseTimer;
|
||||
|
||||
s8 data_80451125;
|
||||
s8 dScnPly_c::nextPauseTimer;
|
||||
|
||||
/* 80259400-80259440 253D40 0040+00 1/1 0/0 0/0 .text calcPauseTimer__9dScnPly_cFv */
|
||||
s8 dScnPly_c::calcPauseTimer() {
|
||||
if (data_80451125 != 0) {
|
||||
struct_80451124 = data_80451125;
|
||||
data_80451125 = 0;
|
||||
return struct_80451124;
|
||||
if (nextPauseTimer != 0) {
|
||||
pauseTimer = nextPauseTimer;
|
||||
nextPauseTimer = 0;
|
||||
return pauseTimer;
|
||||
} else {
|
||||
return func_80252E70(&struct_80451124); // cLib_calcTimer<s8> : 80252E70
|
||||
return func_80252E70(&pauseTimer); // cLib_calcTimer<s8> : 80252E70
|
||||
}
|
||||
}
|
||||
|
||||
@@ -418,7 +419,7 @@ static int dScnPly_Draw(dScnPly_c* scn) {
|
||||
}
|
||||
dMdl_mng_c::reset();
|
||||
|
||||
if (!dComIfGp_isPauseFlag() && struct_80451124 == 0) {
|
||||
if (!dComIfGp_isPauseFlag() && pauseTimer == 0) {
|
||||
if (fpcM_GetName(scn) == PROC_PLAY_SCENE) {
|
||||
dComIfGp_getVibration().Run();
|
||||
}
|
||||
@@ -429,9 +430,9 @@ static int dScnPly_Draw(dScnPly_c* scn) {
|
||||
cCt_execCounter();
|
||||
} else {
|
||||
dPa_control_c::onStatus(1);
|
||||
if (struct_80451124 == 0) {
|
||||
if (pauseTimer == 0) {
|
||||
dPa_control_c::onStatus(2);
|
||||
if (struct_80451124 == 0) {
|
||||
if (pauseTimer == 0) {
|
||||
dComIfGp_getVibration().Pause();
|
||||
}
|
||||
}
|
||||
@@ -523,11 +524,11 @@ SECTION_DEAD static char const* const stringBase_8039A2DF = "T_JOINT";
|
||||
SECTION_SDATA static char* T_JOINT_resName = "Always";
|
||||
|
||||
/* 80450764-80450768 -00001 0004+00 4/4 0/0 0/0 .sdata None */
|
||||
SECTION_SDATA static s8 struct_80450764 = 0xFF;
|
||||
SECTION_SDATA static s8 preLoadNo = 0xFF;
|
||||
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_SDATA static u8 data_80450765 = 1;
|
||||
SECTION_SDATA static u8 doPreLoad = 1;
|
||||
#pragma pop
|
||||
|
||||
/* 802598AC-80259AC4 2541EC 0218+00 1/0 0/0 0/0 .text dScnPly_Delete__FP9dScnPly_c */
|
||||
@@ -576,7 +577,7 @@ void dScnPly_c::offReset() {
|
||||
if (field_0x1d4 != 0 && !fopOvlpM_IsPeek()) {
|
||||
mDoRst::offReset();
|
||||
mDoRst::offResetPrepare();
|
||||
struct_80451501 = false;
|
||||
JUTGamePad::C3ButtonReset::sResetOccurred = false;
|
||||
JUTGamePad::setResetCallback(mDoRst_resetCallBack, NULL);
|
||||
field_0x1d4 = 0;
|
||||
}
|
||||
@@ -922,15 +923,15 @@ static int phase_4(dScnPly_c* i_this) {
|
||||
dComIfG_setBrightness(255);
|
||||
mDoGph_gInf_c::offFade();
|
||||
mDoAud_zelAudio_c::onBgmSet();
|
||||
struct_80451124 = 0;
|
||||
data_80451125 = 0;
|
||||
struct_80450764 = -1;
|
||||
dScnPly_c::pauseTimer = 0;
|
||||
dScnPly_c::nextPauseTimer = 0;
|
||||
preLoadNo = -1;
|
||||
|
||||
if (data_80450765 != 0 && !strcmp(dComIfGp_getStartStageName(), (char*)PreLoadInfoT[0])) {
|
||||
struct_80450764 = 0;
|
||||
if (doPreLoad != 0 && !strcmp(dComIfGp_getStartStageName(), (char*)PreLoadInfoT[0])) {
|
||||
preLoadNo = 0;
|
||||
}
|
||||
|
||||
if (struct_80450764 < 0) {
|
||||
if (preLoadNo < 0) {
|
||||
return 4;
|
||||
}
|
||||
|
||||
|
||||
@@ -110,7 +110,7 @@ extern "C" u8 mDemoArcName__20dStage_roomControl_c[10 + 2 /* padding */];
|
||||
extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */];
|
||||
extern "C" u8 mArcBankName__20dStage_roomControl_c[4];
|
||||
extern "C" u8 mArcBankData__20dStage_roomControl_c[4];
|
||||
extern "C" extern u8 struct_80451124[4];
|
||||
extern "C" extern u8 pauseTimer__9dScnPly_c[4];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
|
||||
@@ -14,7 +14,7 @@ fapGm_HIO_c::fapGm_HIO_c()
|
||||
mLetterBottomShadowColor(-1) {
|
||||
mUsingHostIO = true;
|
||||
|
||||
if (data_80450580) {
|
||||
if (mDoMain::developmentMode) {
|
||||
mDisplayMeter = true;
|
||||
mDisplayPrint = true;
|
||||
} else {
|
||||
|
||||
+11
-11
@@ -560,8 +560,8 @@ s32 fopAcM_callCallback(fopAc_ac_c* p_actor, heapCallbackFunc p_callbackFunc, JK
|
||||
/* 80450CC8-80450CCC -00001 0004+00 2/2 0/0 0/0 .sbss None */
|
||||
/* 80450CC8 0001+00 data_80450CC8 None */
|
||||
/* 80450CC9 0003+00 data_80450CC9 None */
|
||||
static u8 lbl_80450CC8;
|
||||
static u8 lbl_80450CC9;
|
||||
static u8 HeapAdjustEntry;
|
||||
static u8 HeapAdjustVerbose;
|
||||
|
||||
/* 8001A1E8-8001A4B0 014B28 02C8+00 1/1 0/0 0/0 .text
|
||||
* fopAcM_entrySolidHeap___FP10fopAc_ac_cPFP10fopAc_ac_c_iUl */
|
||||
@@ -614,7 +614,7 @@ bool fopAcM_entrySolidHeap_(fopAc_ac_c* p_actor, heapCallbackFunc p_heapCallback
|
||||
break;
|
||||
}
|
||||
|
||||
if (lbl_80450CC8 == 0) {
|
||||
if (HeapAdjustEntry == 0) {
|
||||
mDoExt_adjustSolidHeap(heap00);
|
||||
p_actor->mHeap = heap00;
|
||||
return true;
|
||||
@@ -657,7 +657,7 @@ bool fopAcM_entrySolidHeap_(fopAc_ac_c* p_actor, heapCallbackFunc p_heapCallback
|
||||
|
||||
OSReport_Error("ばぐばぐです\n"); // "There's a big bug\n"
|
||||
OSReport_Error("緊急回避措置\n"); // "Emergency action\n"
|
||||
lbl_80450CC8 = 0;
|
||||
HeapAdjustEntry = 0;
|
||||
}
|
||||
}
|
||||
// "fopAcM_entrySolidHeap didn't work [%s]\n"
|
||||
@@ -668,21 +668,21 @@ bool fopAcM_entrySolidHeap_(fopAc_ac_c* p_actor, heapCallbackFunc p_heapCallback
|
||||
/* 8001A4B0-8001A528 014DF0 0078+00 0/0 4/4 446/446 .text
|
||||
* fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl */
|
||||
bool fopAcM_entrySolidHeap(fopAc_ac_c* p_actor, heapCallbackFunc p_heapCallback, u32 size) {
|
||||
u8 oldCC9 = lbl_80450CC9;
|
||||
u8 oldCC9 = HeapAdjustVerbose;
|
||||
if (size & 0x80000000) {
|
||||
lbl_80450CC9 = 1;
|
||||
HeapAdjustVerbose = 1;
|
||||
}
|
||||
|
||||
u8 oldCC8 = lbl_80450CC8;
|
||||
u8 oldCC8 = HeapAdjustEntry;
|
||||
if (size & 0x20000000) {
|
||||
lbl_80450CC8 = 0;
|
||||
HeapAdjustEntry = 0;
|
||||
} else if (size & 0x10000000) {
|
||||
lbl_80450CC8 = 1;
|
||||
HeapAdjustEntry = 1;
|
||||
}
|
||||
|
||||
bool result = fopAcM_entrySolidHeap_(p_actor, p_heapCallback, size & 0xFFFFFF);
|
||||
lbl_80450CC9 = oldCC9;
|
||||
lbl_80450CC8 = oldCC8;
|
||||
HeapAdjustVerbose = oldCC9;
|
||||
HeapAdjustEntry = oldCC8;
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ extern "C" void fpcMtd_IsDelete__FP20process_method_classPv();
|
||||
extern "C" void fpcMtd_Delete__FP20process_method_classPv();
|
||||
extern "C" void fpcMtd_Create__FP20process_method_classPv();
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 struct_80451124[4];
|
||||
extern "C" extern u8 pauseTimer__9dScnPly_c[4];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
|
||||
@@ -29,7 +29,7 @@ static OSAlarm Alarm;
|
||||
|
||||
/* 8001659C-8001665C 010EDC 00C0+00 0/0 1/1 0/0 .text mDoDvdErr_ThdInit__Fv */
|
||||
void mDoDvdErr_ThdInit() {
|
||||
if (!data_80450C88) {
|
||||
if (!mDoDvdErr_initialized) {
|
||||
OSTime time = OSGetTime();
|
||||
OSThread* curThread = OSGetCurrentThread();
|
||||
s32 priority = OSGetThreadPriority(curThread);
|
||||
@@ -40,16 +40,16 @@ void mDoDvdErr_ThdInit() {
|
||||
OSCreateAlarm(&Alarm);
|
||||
OSSetPeriodicAlarm(&Alarm, time, OS_BUS_CLOCK / 4, AlarmHandler);
|
||||
|
||||
data_80450C88 = 1;
|
||||
mDoDvdErr_initialized = true;
|
||||
}
|
||||
}
|
||||
|
||||
/* 8001665C-800166A4 010F9C 0048+00 0/0 1/1 0/0 .text mDoDvdErr_ThdCleanup__Fv */
|
||||
void mDoDvdErr_ThdCleanup() {
|
||||
if (data_80450C88) {
|
||||
if (mDoDvdErr_initialized) {
|
||||
OSCancelThread(&DvdErr_thread);
|
||||
OSCancelAlarm(&Alarm);
|
||||
data_80450C88 = 0;
|
||||
mDoDvdErr_initialized = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -27,7 +27,6 @@ extern "C" void mDoRst_resetCallBack__FiPv();
|
||||
extern "C" u32 getResetData__6mDoRstFv();
|
||||
extern "C" extern char const* const m_Do_m_Do_Reset__stringBase0;
|
||||
extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */];
|
||||
extern "C" extern u8 struct_80450C80;
|
||||
|
||||
//
|
||||
// External References:
|
||||
@@ -138,7 +137,7 @@ void mDoRst_resetCallBack(int port, void*) {
|
||||
cAPICPad_recalibrate();
|
||||
} else {
|
||||
if (mDoRst::is3ButtonReset()) {
|
||||
struct_80451501 = false;
|
||||
JUTGamePad::C3ButtonReset::sResetOccurred = false;
|
||||
JUTGamePad::C3ButtonReset::sCallback = mDoRst_resetCallBack;
|
||||
JUTGamePad::C3ButtonReset::sCallbackArg = NULL;
|
||||
return;
|
||||
@@ -171,8 +170,10 @@ u8 struct_80450C7C;
|
||||
u8 struct_80450C7D;
|
||||
u8 struct_80450C7E;
|
||||
u8 struct_80450C7F;
|
||||
u8 struct_80450C80;
|
||||
u8 struct_80450C81;
|
||||
|
||||
bool SyncWidthSound;
|
||||
u8 sDefaultDirection;
|
||||
|
||||
u8 struct_80450C82;
|
||||
u8 struct_80450C83;
|
||||
u8 struct_80450C84;
|
||||
@@ -182,6 +183,6 @@ u8 struct_80450C87;
|
||||
#pragma pop
|
||||
|
||||
/* 80450C88-80450C90 000188 0008+00 0/0 2/2 0/0 .sbss None */
|
||||
u8 data_80450C88;
|
||||
bool mDoDvdErr_initialized;
|
||||
|
||||
/* 80374198-80374198 0007F8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
@@ -101,7 +101,6 @@ extern "C" extern u8 data_80450B80[4];
|
||||
extern "C" extern u8 data_80450B84[4];
|
||||
extern "C" extern u8 data_80450B88[4];
|
||||
extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */];
|
||||
extern "C" extern bool struct_80450C80;
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
extern "C" u8 sCurrentHeap__7JKRHeap[4];
|
||||
|
||||
@@ -114,19 +113,18 @@ extern "C" u8 sCurrentHeap__7JKRHeap[4];
|
||||
/* 80450BB8 0001+00 data_80450BB8 None */
|
||||
/* 80450BB9 0001+00 data_80450BB9 None */
|
||||
/* 80450BBA 0002+00 data_80450BBA None */
|
||||
bool struct_80450BB8;
|
||||
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
bool sResetFlag;
|
||||
bool mDoAud_zelAudio_c::mInitFlag;
|
||||
|
||||
extern bool data_80450bba;
|
||||
bool data_80450bba;
|
||||
bool mDoAud_zelAudio_c::mResetFlag;
|
||||
|
||||
bool mDoAud_zelAudio_c::mBgmSet;
|
||||
#pragma pop
|
||||
|
||||
/* 80006FB4-80006FC0 0018F4 000C+00 1/1 0/0 0/0 .text reset__17mDoAud_zelAudio_cFv */
|
||||
void mDoAud_zelAudio_c::reset() {
|
||||
data_80450bba = false;
|
||||
mBgmSet = false;
|
||||
}
|
||||
|
||||
/* 803DBF40-803DBF4C 008C60 000C+00 1/1 0/1 0/0 .bss @3620 */
|
||||
@@ -187,7 +185,7 @@ static void mDoAud_Create() {
|
||||
l_arcCommand->destroy();
|
||||
|
||||
mDoAud_zelAudio_c::onInitFlag();
|
||||
struct_80450C80 = true;
|
||||
SyncWidthSound = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4,17 +4,12 @@
|
||||
//
|
||||
|
||||
#include "m_Do/m_Do_controller_pad.h"
|
||||
#include "m_Do/m_Do_main.h"
|
||||
#include "SSystem/SComponent/c_lib.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_ap/f_ap_game.h"
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" extern s8 data_80450580;
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
@@ -31,7 +26,7 @@ void mDoCPd_c::create() {
|
||||
JUTGamePad* pad = new JUTGamePad(JUTGamePad::Port_1);
|
||||
m_gamePad[0] = pad;
|
||||
|
||||
if (data_80450580 != 0) {
|
||||
if (mDoMain::developmentMode != 0) {
|
||||
m_gamePad[1] = new JUTGamePad(JUTGamePad::Port_2);
|
||||
m_gamePad[2] = new JUTGamePad(JUTGamePad::Port_3);
|
||||
m_gamePad[3] = new JUTGamePad(JUTGamePad::Port_4);
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
#include "dolphin/os/OSThread.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
#include "m_Do/m_Do_reset.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
@@ -26,9 +27,6 @@ struct JASDvd {
|
||||
static JASTaskThread* getThreadPointer();
|
||||
};
|
||||
|
||||
extern "C" extern u8 struct_80450C80;
|
||||
extern "C" extern u8 struct_80450C81;
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
@@ -132,7 +130,7 @@ void mDoDvdThd_param_c::mainLoop() {
|
||||
while (this->waitForKick() != 0) {
|
||||
while (mDoDvdThd_command_c* command = this->getFirstCommand()) {
|
||||
this->cut(command);
|
||||
if (struct_80450C80 != 0) {
|
||||
if (SyncWidthSound) {
|
||||
JASDvd::getThreadPointer()->sendCmdMsg(cb, &command, 4);
|
||||
} else {
|
||||
cb(&command);
|
||||
@@ -187,7 +185,7 @@ mDoDvdThd_mountArchive_c::mDoDvdThd_mountArchive_c(u8 param_0) {
|
||||
mArchive = NULL;
|
||||
mHeap = NULL;
|
||||
if (param_0 == 0) {
|
||||
mMountDirection = struct_80450C81;
|
||||
mMountDirection = sDefaultDirection;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -278,7 +276,7 @@ mDoDvdThd_mountXArchive_c::mDoDvdThd_mountXArchive_c(u8 param_0, JKRArchive::EMo
|
||||
mMountMode = param_1;
|
||||
mHeap = NULL;
|
||||
if (param_0 == 0) {
|
||||
mMountDirection = struct_80450C81;
|
||||
mMountDirection = sDefaultDirection;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -319,7 +317,7 @@ s32 mDoDvdThd_mountXArchive_c::execute() {
|
||||
mDoDvdThd_toMainRam_c::mDoDvdThd_toMainRam_c(u8 param_0) {
|
||||
mMountDirection = param_0;
|
||||
if (param_0 == 0) {
|
||||
mMountDirection = struct_80450C81;
|
||||
mMountDirection = sDefaultDirection;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3131,7 +3131,7 @@ static asm void mDoExt_initFont2() {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void mDoExt_getSubFont() {
|
||||
asm JUTFont* mDoExt_getSubFont() {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_ext/mDoExt_getSubFont__Fv.s"
|
||||
}
|
||||
|
||||
+10
-10
@@ -144,6 +144,7 @@ extern "C" f32 Zero__4cXyz[3];
|
||||
extern "C" u8 mPadStatus__10JUTGamePad[48];
|
||||
extern "C" u8 sincosTable___5JMath[65536];
|
||||
extern "C" extern s8 data_80450580;
|
||||
extern "C" extern s8 developmentMode__7mDoMain;
|
||||
extern "C" void* mRenderModeObj__15mDoMch_render_c[1 + 1 /* padding */];
|
||||
extern "C" u8 systemConsole__9JFWSystem[4];
|
||||
extern "C" u8 sManager__10JFWDisplay[4];
|
||||
@@ -222,16 +223,15 @@ f32 mDoGph_gInf_c::mFadeSpeed;
|
||||
/* 80450BE4-80450BE8 -00001 0004+00 8/8 9/9 11/11 .sbss None */
|
||||
/* 80450BE4 0001+00 data_80450BE4 None */
|
||||
/* 80450BE5 0001+00 data_80450BE5 None */
|
||||
/* 80450BE6 0001+00 data_80450BE6 None */
|
||||
/* 80450BE6 0001+00 mFade__13mDoGph_gInf_c None */
|
||||
/* 80450BE7 0001+00 data_80450BE7 None */
|
||||
extern u8 struct_80450BE4;
|
||||
u8 struct_80450BE4;
|
||||
bool mDoGph_gInf_c::mBlureFlag;
|
||||
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static bool data_80450BE5;
|
||||
|
||||
u8 data_80450BE6;
|
||||
u8 mDoGph_gInf_c::mFade;
|
||||
|
||||
bool data_80450BE7;
|
||||
#pragma pop
|
||||
@@ -272,7 +272,7 @@ SECTION_SDATA2 static f32 lit_4063 = 1.0f;
|
||||
|
||||
/* 80007FD8-80008028 002918 0050+00 1/1 6/4 15/15 .text fadeOut__13mDoGph_gInf_cFfR8_GXColor */
|
||||
void mDoGph_gInf_c::fadeOut(f32 fadeSpeed, GXColor& fadeColor) {
|
||||
data_80450BE6 = 1;
|
||||
mFade = 1;
|
||||
mFadeSpeed = fadeSpeed;
|
||||
mFadeColor = fadeColor;
|
||||
|
||||
@@ -286,7 +286,7 @@ void mDoGph_gInf_c::fadeOut(f32 fadeSpeed, GXColor& fadeColor) {
|
||||
|
||||
/* 80008028-80008078 002968 0050+00 0/0 0/0 2/2 .text fadeOut_f__13mDoGph_gInf_cFfR8_GXColor */
|
||||
void mDoGph_gInf_c::fadeOut_f(f32 fadeSpeed, GXColor& fadeColor) {
|
||||
data_80450BE6 = 129;
|
||||
mFade = 129;
|
||||
mFadeSpeed = fadeSpeed;
|
||||
mFadeColor = fadeColor;
|
||||
|
||||
@@ -319,7 +319,7 @@ Mtx mDoGph_gInf_c::mBlureMtx;
|
||||
|
||||
/* 800080A0-800080D0 0029E0 0030+00 1/1 1/1 0/0 .text onBlure__13mDoGph_gInf_cFPA4_Cf */
|
||||
void mDoGph_gInf_c::onBlure(const Mtx m) {
|
||||
struct_80450BE4 = 1;
|
||||
mBlureFlag = true;
|
||||
PSMTXCopy(m, mBlureMtx);
|
||||
}
|
||||
|
||||
@@ -393,12 +393,12 @@ SECTION_SDATA2 static f32 lit_4131 = 255.0f;
|
||||
// li instead of addi
|
||||
#ifdef NONMATCHING
|
||||
void mDoGph_gInf_c::calcFade() {
|
||||
if (data_80450BE6) {
|
||||
if (mDoGph_gInf_c::mFade == 1) {
|
||||
mFadeRate += mFadeSpeed;
|
||||
|
||||
if (mFadeRate < 0.0f) {
|
||||
mFadeRate = 0.0f;
|
||||
data_80450BE6 = false;
|
||||
mDoGph_gInf_c::mFade = 0;
|
||||
} else {
|
||||
if (mFadeRate > 1.0f) {
|
||||
mFadeRate = 1.0f;
|
||||
@@ -468,7 +468,7 @@ int mDoGph_AfterOfDraw() {
|
||||
BOOL console_visible = port3_connected && fapGmHIO_isPrint();
|
||||
|
||||
// Dev mode check
|
||||
if (!data_80450580) {
|
||||
if (!mDoMain::developmentMode) {
|
||||
procBar_visible = false;
|
||||
console_visible = false;
|
||||
}
|
||||
|
||||
+23
-18
@@ -105,6 +105,7 @@ extern "C" u32 VIGetDTVStatus();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" extern s8 data_80450580;
|
||||
extern "C" extern s8 developmentMode__7mDoMain;
|
||||
extern "C" u32 memMargin__7mDoMain;
|
||||
extern "C" u32 maxStdHeaps__Q29JFWSystem11CSetUpParam;
|
||||
extern "C" u32 sysHeapSize__Q29JFWSystem11CSetUpParam;
|
||||
@@ -123,7 +124,7 @@ extern "C" u8 systemConsole__9JFWSystem[4];
|
||||
extern "C" u8 sSystemHeap__7JKRHeap[4];
|
||||
extern "C" u8 sRootHeap__7JKRHeap[4];
|
||||
extern "C" u8 sDebugPrint__10JUTDbPrint[4 + 4 /* padding */];
|
||||
extern "C" extern bool struct_80451500;
|
||||
extern "C" extern bool sResetSwitchPushing__Q210JUTGamePad13C3ButtonReset;
|
||||
extern "C" u8 sErrorManager__12JUTException[4];
|
||||
extern "C" u8 sConsole__12JUTException[4];
|
||||
extern "C" u8 sManager__17JUTConsoleManager[4];
|
||||
@@ -133,7 +134,7 @@ extern "C" u8 sManager__17JUTConsoleManager[4];
|
||||
//
|
||||
|
||||
/* 80450BF0-80450BF4 0000F0 0004+00 1/1 0/0 0/0 .sbss None */
|
||||
static u8 data_80450BF0;
|
||||
static u8 mDebugFill;
|
||||
|
||||
/* 80450BF4-80450BF8 0000F4 0004+00 1/1 0/0 0/0 .sbss solidHeapErrors */
|
||||
static int solidHeapErrors;
|
||||
@@ -285,30 +286,34 @@ static u8 debug_key2;
|
||||
|
||||
/* 8000B68C-8000B73C 005FCC 00B0+00 1/1 0/0 0/0 .text developKeyCheck__FUlUl */
|
||||
static int developKeyCheck(u32 btnTrig, u32 btnHold) {
|
||||
static u8 key_link;
|
||||
static u8 key_ganon;
|
||||
static u8 key_zelda;
|
||||
|
||||
if (btnHold == (CButton::L | CButton::R | CButton::Z | CButton::DPAD_DOWN) &&
|
||||
btnTrig == CButton::DPAD_DOWN) {
|
||||
if (debug_key0 == 3 && debug_key1 == 6 && debug_key2 == 5) {
|
||||
data_80450580 = 1;
|
||||
if (key_link == 3 && key_ganon == 6 && key_zelda == 5) {
|
||||
mDoMain::developmentMode = 1;
|
||||
} else {
|
||||
debug_key0 = 0;
|
||||
debug_key1 = 0;
|
||||
debug_key2 = 0;
|
||||
key_link = 0;
|
||||
key_ganon = 0;
|
||||
key_zelda = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (btnHold == (CButton::L | CButton::DPAD_RIGHT) && btnTrig == CButton::L) {
|
||||
debug_key0++;
|
||||
key_link++;
|
||||
}
|
||||
|
||||
if (btnHold == (CButton::R | CButton::DPAD_UP) && btnTrig == CButton::R) {
|
||||
debug_key1++;
|
||||
key_ganon++;
|
||||
}
|
||||
|
||||
if (btnHold == (CButton::Z | CButton::DPAD_LEFT) && btnTrig == CButton::Z) {
|
||||
debug_key2++;
|
||||
key_zelda++;
|
||||
}
|
||||
|
||||
return data_80450580;
|
||||
return mDoMain::developmentMode;
|
||||
}
|
||||
|
||||
/* 8000B73C-8000B768 00607C 002C+00 1/1 0/0 0/0 .text mDoMch_IsProgressiveMode__Fv */
|
||||
@@ -348,7 +353,7 @@ void myExceptionCallback(u16, OSContext*, u32, u32) {
|
||||
PPCHalt();
|
||||
} else {
|
||||
manager->setTraceSuppress(0x80);
|
||||
if (data_80450580 == 0) {
|
||||
if (mDoMain::developmentMode == 0) {
|
||||
JUTGamePad pad(JUTGamePad::Port_1);
|
||||
manager->setGamePad(&pad);
|
||||
|
||||
@@ -356,11 +361,11 @@ void myExceptionCallback(u16, OSContext*, u32, u32) {
|
||||
OSEnableInterrupts();
|
||||
// "Accepting Key input\n"
|
||||
OSReport("キー入力を受け付けています\n");
|
||||
while (data_80450580 == 0) {
|
||||
while (mDoMain::developmentMode == 0) {
|
||||
exceptionReadPad(&btnTrig, &btnHold);
|
||||
developKeyCheck(btnTrig, btnHold);
|
||||
JUTException::waitTime(30);
|
||||
if (struct_80451501) {
|
||||
if (JUTGamePad::C3ButtonReset::sResetOccurred) {
|
||||
exceptionRestart();
|
||||
}
|
||||
}
|
||||
@@ -431,7 +436,7 @@ static void fault_callback_scroll(u16, OSContext* p_context, u32, u32) {
|
||||
u32 btnHold, btnTrig;
|
||||
exceptionReadPad(&btnTrig, &btnHold);
|
||||
|
||||
if (struct_80451501) {
|
||||
if (JUTGamePad::C3ButtonReset::sResetOccurred) {
|
||||
OSResetSystem(1, 0, 0);
|
||||
}
|
||||
|
||||
@@ -657,11 +662,11 @@ SECTION_SDATA GXRenderModeObj* mDoMch_render_c::mRenderModeObj = &g_ntscZeldaInt
|
||||
// reg alloc r30 - r31
|
||||
#ifdef NONMATCHING
|
||||
int mDoMch_Create() {
|
||||
if (data_80450580 == 0 || !(OSGetConsoleType() & 0x10000000)) {
|
||||
if (mDoMain::developmentMode == 0 || !(OSGetConsoleType() & 0x10000000)) {
|
||||
OSReportDisable();
|
||||
}
|
||||
|
||||
JKRHeap::setDefaultDebugFill(data_80450BF0);
|
||||
JKRHeap::setDefaultDebugFill(mDebugFill);
|
||||
JFWSystem::setMaxStdHeap(1);
|
||||
|
||||
u32 arenaHi = OSGetArenaHi();
|
||||
@@ -700,7 +705,7 @@ int mDoMch_Create() {
|
||||
mDoExt_createAssertHeap(JKRHeap::getRootHeap());
|
||||
JFWSystem::init();
|
||||
|
||||
if (data_80450580 == 0) {
|
||||
if (mDoMain::developmentMode == 0) {
|
||||
JUTAssertion::setVisible(false);
|
||||
JUTDbPrint::getManager()->setVisible(false);
|
||||
}
|
||||
|
||||
+15
-15
@@ -43,6 +43,7 @@ extern "C" u8 COPYDATE_STRING__7mDoMain[18 + 2 /* padding */];
|
||||
extern "C" u32 memMargin__7mDoMain;
|
||||
extern "C" u8 sPowerOnTime__7mDoMain[4];
|
||||
extern "C" u8 sHungUpTime__7mDoMain[4];
|
||||
extern "C" s8 developmentMode__7mDoMain;
|
||||
extern "C" extern u8 data_80450B38[4];
|
||||
extern "C" extern u8 data_80450B3C[4];
|
||||
extern "C" extern u8 data_80450B40[4];
|
||||
@@ -118,7 +119,6 @@ extern "C" u8 m_gamePad__8mDoCPd_c[16];
|
||||
extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
|
||||
extern "C" extern JKRSolidHeap* g_mDoAud_audioHeap;
|
||||
extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */];
|
||||
extern "C" extern u8 struct_80450C80[8];
|
||||
extern "C" u8 systemConsole__9JFWSystem[4];
|
||||
extern "C" u8 sSystemHeap__7JKRHeap[4];
|
||||
extern "C" u8 sCurrentHeap__7JKRHeap[4];
|
||||
@@ -278,7 +278,7 @@ void HeapCheck::heapDisplay() const {
|
||||
}
|
||||
|
||||
/* 80450580-80450584 000000 0004+00 3/3 6/6 0/0 .sdata None */
|
||||
SECTION_SDATA s8 data_80450580 = 0xFF;
|
||||
SECTION_SDATA s8 mDoMain::developmentMode = -1;
|
||||
|
||||
/* 80450584-80450588 000004 0004+00 0/0 1/1 0/0 .sdata memMargin__7mDoMain */
|
||||
SECTION_SDATA u32 mDoMain::memMargin = 0xFFFFFFFF;
|
||||
@@ -287,7 +287,7 @@ SECTION_SDATA u32 mDoMain::memMargin = 0xFFFFFFFF;
|
||||
SECTION_SDATA u8 mDoMain::mHeapBriefType = 4;
|
||||
|
||||
/* 80450B00-80450B08 000000 0008+00 1/1 0/0 0/0 .sbss None */
|
||||
static u8 data_80450B00;
|
||||
static u8 fillcheck_check_frame;
|
||||
|
||||
/* 80450B08-80450B0C 000008 0004+00 1/1 1/1 0/0 .sbss sPowerOnTime__7mDoMain */
|
||||
OSTime mDoMain::sPowerOnTime;
|
||||
@@ -299,7 +299,7 @@ OSTime mDoMain::sHungUpTime;
|
||||
/* 80450B18 0001+00 data_80450B18 None */
|
||||
/* 80450B19 0001+00 data_80450B19 None */
|
||||
/* 80450B1A 0002+00 data_80450B1A None */
|
||||
static bool struct_80450B18; // sDisplayHeapDebug
|
||||
static bool mDisplayHeapSize; // sDisplayHeapDebug
|
||||
static u8 sDisplayHeap;
|
||||
static bool sCheckHeap;
|
||||
|
||||
@@ -513,17 +513,17 @@ asm void* LOAD_COPYDATE(void* param_0) {
|
||||
#endif
|
||||
|
||||
static void debug() {
|
||||
if (data_80450580) {
|
||||
if (mDoMain::developmentMode) {
|
||||
if (sCheckHeap) {
|
||||
CheckHeap(PAD_3);
|
||||
}
|
||||
|
||||
if ((mDoCPd_c::getGamePad(PAD_3)->getButton() & ~CButton::Z) == CButton::R &&
|
||||
mDoCPd_c::getGamePad(PAD_3)->testTrigger(CButton::Z)) {
|
||||
struct_80450B18 ^= 1;
|
||||
mDisplayHeapSize ^= 1;
|
||||
}
|
||||
|
||||
if (struct_80450B18) {
|
||||
if (mDisplayHeapSize) {
|
||||
if ((mDoCPd_c::getGamePad(PAD_3)->getButton() & ~CButton::Z) == CButton::L &&
|
||||
mDoCPd_c::getGamePad(PAD_3)->testTrigger(CButton::Z)) {
|
||||
mDoMain::mHeapBriefType < 5 ? mDoMain::mHeapBriefType++ :
|
||||
@@ -591,7 +591,7 @@ void main01(void) {
|
||||
|
||||
JUTConsole* console = JFWSystem::getSystemConsole();
|
||||
s32 output = 0;
|
||||
if (data_80450580 != 0) {
|
||||
if (mDoMain::developmentMode != 0) {
|
||||
output = JUTConsole::OUTPUT_OSREPORT | JUTConsole::OUTPUT_CONSOLE;
|
||||
}
|
||||
|
||||
@@ -601,18 +601,18 @@ void main01(void) {
|
||||
mDoDvdThd_callback_c::create(LOAD_COPYDATE, NULL);
|
||||
fapGm_Create__Fv();
|
||||
fopAcM_initManager__Fv();
|
||||
struct_80450B18 = 0;
|
||||
mDisplayHeapSize = 0;
|
||||
cDyl_InitAsync__Fv();
|
||||
|
||||
g_mDoAud_audioHeap = JKRSolidHeap::create(0x14D800, JKRHeap::getCurrentHeap(), false);
|
||||
|
||||
do {
|
||||
frame++;
|
||||
if (data_80450B00 != 0 && frame % data_80450B00 == 0) {
|
||||
if (fillcheck_check_frame != 0 && frame % fillcheck_check_frame == 0) {
|
||||
mDoMch_HeapCheckAll__Fv();
|
||||
}
|
||||
|
||||
if (struct_80450C80[0]) {
|
||||
if (SyncWidthSound) {
|
||||
g_mDoMemCd_control.update();
|
||||
}
|
||||
|
||||
@@ -670,16 +670,16 @@ void main() {
|
||||
|
||||
g_dComIfG_gameInfo.ct();
|
||||
|
||||
if (data_80450580 < 0) {
|
||||
if (mDoMain::developmentMode < 0) {
|
||||
DVDDiskID* disk_id = DVDGetCurrentDiskID();
|
||||
|
||||
if (disk_id->game_version > 0x90) {
|
||||
data_80450580 = 1;
|
||||
mDoMain::developmentMode = 1;
|
||||
} else if (disk_id->game_version > 0x80) {
|
||||
u32 consoleType = OSGetConsoleType();
|
||||
data_80450580 = (consoleType >> 0x1C) & 1;
|
||||
mDoMain::developmentMode = (consoleType >> 0x1C) & 1;
|
||||
} else {
|
||||
data_80450580 = 0;
|
||||
mDoMain::developmentMode = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -113,16 +113,16 @@ static u32 print_warings;
|
||||
static u32 print_systems;
|
||||
|
||||
/* 80450BB4-80450BB8 -00001 0004+00 3/3 0/0 0/0 .sbss None */
|
||||
static bool sOSReportInit;
|
||||
static bool print_initialized;
|
||||
|
||||
static bool data_80450BB5;
|
||||
|
||||
/* 800068C4-800068DC 001204 0018+00 1/1 1/1 0/0 .text OSReportInit__Fv */
|
||||
void OSReportInit() {
|
||||
if (sOSReportInit) {
|
||||
if (print_initialized) {
|
||||
return;
|
||||
}
|
||||
sOSReportInit = true;
|
||||
print_initialized = true;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
@@ -166,7 +166,7 @@ void mDoPrintf_vprintf(char const* fmt, va_list args) {
|
||||
|
||||
/* 80006A10-80006A9C 001350 008C+00 1/1 0/0 0/0 .text mDoPrintf_VReport */
|
||||
void mDoPrintf_VReport(const char* fmt, va_list args) {
|
||||
if (!sOSReportInit) {
|
||||
if (!print_initialized) {
|
||||
OSReportInit();
|
||||
}
|
||||
if (sOSReportForceEnable || !sOSReportDisabled) {
|
||||
|
||||
Reference in New Issue
Block a user