mirror of
https://github.com/zeldaret/tp
synced 2026-07-31 08:06:27 -04:00
fix some nonmatching functions (#2141)
This commit is contained in:
@@ -43,25 +43,29 @@ u8 daItemBase_c::chkDead() {
|
||||
|
||||
/* 80037B0C-80037B78 03244C 006C+00 0/0 0/0 1/1 .text CheckItemCreateHeap__FP10fopAc_ac_c
|
||||
*/
|
||||
void CheckItemCreateHeap(fopAc_ac_c* actor) {
|
||||
int CheckItemCreateHeap(fopAc_ac_c* actor) {
|
||||
daItemBase_c* item = static_cast<daItemBase_c*>(actor);
|
||||
|
||||
u8 item_no = item->getItemNo();
|
||||
item->CreateItemHeap(dItem_data::getArcName(item_no), dItem_data::getBmdName(item_no),
|
||||
dItem_data::getBtkName(item_no), dItem_data::getBpkName(item_no),
|
||||
dItem_data::getBckName(item_no), dItem_data::getBxaName(item_no),
|
||||
dItem_data::getBrkName(item_no), dItem_data::getBtpName(item_no));
|
||||
return item->CreateItemHeap(
|
||||
dItem_data::getArcName(item_no), dItem_data::getBmdName(item_no),
|
||||
dItem_data::getBtkName(item_no), dItem_data::getBpkName(item_no),
|
||||
dItem_data::getBckName(item_no), dItem_data::getBxaName(item_no),
|
||||
dItem_data::getBrkName(item_no), dItem_data::getBtpName(item_no)
|
||||
);
|
||||
}
|
||||
|
||||
/* 80037B78-80037BE0 0324B8 0068+00 0/0 1/1 7/7 .text CheckFieldItemCreateHeap__FP10fopAc_ac_c */
|
||||
void CheckFieldItemCreateHeap(fopAc_ac_c* actor) {
|
||||
int CheckFieldItemCreateHeap(fopAc_ac_c* actor) {
|
||||
daItemBase_c* item = static_cast<daItemBase_c*>(actor);
|
||||
|
||||
u8 item_no = item->getItemNo();
|
||||
item->CreateItemHeap(dItem_data::getFieldArc(item_no), dItem_data::getItemBmdName(item_no),
|
||||
dItem_data::getItemBtkName(item_no), dItem_data::getItemBpkName(item_no),
|
||||
dItem_data::getItemBckName(item_no), dItem_data::getItemBxaName(item_no),
|
||||
dItem_data::getItemBrkName(item_no), dItem_data::getItemBtpName(item_no));
|
||||
return item->CreateItemHeap(
|
||||
dItem_data::getFieldArc(item_no), dItem_data::getItemBmdName(item_no),
|
||||
dItem_data::getItemBtkName(item_no), dItem_data::getItemBpkName(item_no),
|
||||
dItem_data::getItemBckName(item_no), dItem_data::getItemBxaName(item_no),
|
||||
dItem_data::getItemBrkName(item_no), dItem_data::getItemBtpName(item_no)
|
||||
);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
|
||||
+1
-12
@@ -1860,7 +1860,6 @@ static s32 const a_jntNumTbl[13][2] = {
|
||||
};
|
||||
|
||||
/* 80158FF0-801590FC 153930 010C+00 0/0 0/0 4/4 .text drawObj__10daNpcCd2_cFiP8J3DModelf */
|
||||
#ifdef NONMATCHING // rlwinm loading wrong value
|
||||
int daNpcCd2_c::drawObj(int idx, J3DModel* i_model, f32 i_scale) {
|
||||
if (i_model == NULL) {
|
||||
return 0;
|
||||
@@ -1868,7 +1867,7 @@ int daNpcCd2_c::drawObj(int idx, J3DModel* i_model, f32 i_scale) {
|
||||
if (field_0xac6 && !daPy_py_c::checkNowWolfEyeUp()) {
|
||||
return 0;
|
||||
}
|
||||
u32 x = !isM_();
|
||||
int x = isM_() ? 0 : 1;
|
||||
s32 jntNum = a_jntNumTbl[idx][x];
|
||||
if (i_model && jntNum >= 0) {
|
||||
g_env_light.setLightTevColorType_MAJI(i_model, &tevStr);
|
||||
@@ -1879,16 +1878,6 @@ int daNpcCd2_c::drawObj(int idx, J3DModel* i_model, f32 i_scale) {
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int daNpcCd2_c::drawObj(int param_0, J3DModel* param_1, f32 param_2) {
|
||||
nofralloc
|
||||
#include "asm/a/npc/d_a_npc_cd2/drawObj__10daNpcCd2_cFiP8J3DModelf.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 801590FC-80159258 153A3C 015C+00 0/0 0/0 4/4 .text drawNpc__10daNpcCd2_cFv */
|
||||
int daNpcCd2_c::drawNpc() {
|
||||
|
||||
+14
-46
@@ -631,56 +631,24 @@ void daPy_py_c::setMidnaFaceNum(int i_faceNum) {
|
||||
}
|
||||
|
||||
/* 8015F97C-8015FA2C 15A2BC 00B0+00 0/0 7/7 2/2 .text daPy_addCalcShort__FPsssss */
|
||||
// 1 instruction in wrong place
|
||||
#ifdef NONMATCHING
|
||||
int daPy_addCalcShort(s16* param_0, s16 param_1, s16 param_2, s16 param_3, s16 param_4) {
|
||||
s16 temp_r0;
|
||||
s16 temp_r0_2;
|
||||
s16 temp_r8;
|
||||
s16 temp_r9;
|
||||
s32 temp_r10;
|
||||
s32 temp_r4;
|
||||
s32 temp_r5;
|
||||
s32 phi_r4;
|
||||
int daPy_addCalcShort(s16* i_value, s16 i_target, s16 i_scale, s16 i_maxStep, s16 i_minStep) {
|
||||
int delta = i_target - *i_value;
|
||||
|
||||
temp_r8 = *param_0;
|
||||
temp_r9 = (s16)param_1;
|
||||
temp_r10 = temp_r9 - temp_r8;
|
||||
|
||||
if (temp_r8 != temp_r9) {
|
||||
temp_r5 = temp_r10 / param_2;
|
||||
temp_r0 = (s16)param_4;
|
||||
if (temp_r5 > temp_r0 || temp_r5 < -temp_r0) {
|
||||
temp_r0_2 = param_3;
|
||||
temp_r4 = -temp_r0_2;
|
||||
phi_r4 = temp_r4;
|
||||
if (temp_r5 < temp_r4) {
|
||||
phi_r4 = temp_r5;
|
||||
} else if (temp_r5 > temp_r0_2) {
|
||||
phi_r4 = temp_r0_2;
|
||||
}
|
||||
*param_0 += phi_r4;
|
||||
} else if (temp_r10 >= 0) {
|
||||
*param_0 = temp_r8 + param_4;
|
||||
if (temp_r9 - *param_0 <= 0) {
|
||||
*param_0 = param_1;
|
||||
if (*i_value != i_target) {
|
||||
int step = delta / i_scale;
|
||||
if (step > i_minStep || step < -i_minStep) {
|
||||
*i_value += cLib_minMaxLimit<int>(step, -i_maxStep, i_maxStep);
|
||||
} else if (delta >= 0) {
|
||||
*i_value += i_minStep;
|
||||
if (i_target - *i_value <= 0) {
|
||||
*i_value = i_target;
|
||||
}
|
||||
} else {
|
||||
*param_0 = temp_r8 - param_4;
|
||||
if (temp_r9 - *param_0 >= 0) {
|
||||
*param_0 = param_1;
|
||||
*i_value -= i_minStep;
|
||||
if (i_target - *i_value >= 0) {
|
||||
*i_value = i_target;
|
||||
}
|
||||
}
|
||||
}
|
||||
return temp_r9 - *param_0;
|
||||
return i_target - *i_value;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int daPy_addCalcShort(s16* param_0, s16 param_1, s16 param_2, s16 param_3, s16 param_4) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/daPy_addCalcShort__FPsssss.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
+1
-1
@@ -498,7 +498,7 @@ void dCcS::ProcAtTgHitmark(bool i_setAt, bool i_setTg, cCcD_Obj* param_2, cCcD_O
|
||||
{
|
||||
if ((i_atObjInf->GetAtType() &
|
||||
(AT_TYPE_WOLF_ATTACK | AT_TYPE_WOLF_CUT_TURN | AT_TYPE_10000000 | AT_TYPE_MIDNA_LOCK |
|
||||
AT_TYPE_HOOKSHOT | AT_TYPE_SHIELD_ATTACK | AT_TYPE_NORMAL_SWORD)) == 0 ||
|
||||
AT_TYPE_HOOKSHOT | AT_TYPE_SHIELD_ATTACK | AT_TYPE_NORMAL_SWORD)) != 0 &&
|
||||
i_tgObjInf->GetTgSpl() == 1)
|
||||
{
|
||||
return;
|
||||
|
||||
+100
-419
@@ -1,7 +1,7 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: d/com/d_com_inf_game
|
||||
//
|
||||
/**
|
||||
* d_com_inf_game.cpp
|
||||
* Game Information
|
||||
*/
|
||||
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "JSystem/JKernel/JKRAramArchive.h"
|
||||
@@ -18,351 +18,6 @@
|
||||
#include "m_Do/m_Do_graphic.h"
|
||||
#include "stdio.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void ct__14dComIfG_play_cFv();
|
||||
extern "C" void init__14dComIfG_play_cFv();
|
||||
extern "C" void dComIfGp_checkItemGet__FUci();
|
||||
extern "C" void itemInit__14dComIfG_play_cFv();
|
||||
extern "C" void setItemBombNumCount__14dComIfG_play_cFUcs();
|
||||
extern "C" void getItemBombNumCount__14dComIfG_play_cFUc();
|
||||
extern "C" void clearItemBombNumCount__14dComIfG_play_cFUc();
|
||||
extern "C" void setNowVibration__14dComIfG_play_cFUc();
|
||||
extern "C" void getNowVibration__14dComIfG_play_cFv();
|
||||
extern "C" void setStartStage__14dComIfG_play_cFP19dStage_startStage_c();
|
||||
extern "C" void dComIfG_get_timelayer__FPi();
|
||||
extern "C" void getLayerNo_common_common__14dComIfG_play_cFPCcii();
|
||||
extern "C" void getLayerNo_common__14dComIfG_play_cFPCcii();
|
||||
extern "C" void getLayerNo__14dComIfG_play_cFi();
|
||||
extern "C" void createParticle__14dComIfG_play_cFv();
|
||||
extern "C" void createSimpleModel__14dComIfG_play_cFv();
|
||||
extern "C" void deleteSimpleModel__14dComIfG_play_cFv();
|
||||
extern "C" void drawSimpleModel__14dComIfG_play_cFv();
|
||||
extern "C" void addSimpleModel__14dComIfG_play_cFP12J3DModelDataiUc();
|
||||
extern "C" void removeSimpleModel__14dComIfG_play_cFP12J3DModelDatai();
|
||||
extern "C" void entrySimpleModel__14dComIfG_play_cFP8J3DModeli();
|
||||
extern "C" void setTimerNowTimeMs__14dComIfG_play_cFi();
|
||||
extern "C" void getTimerNowTimeMs__14dComIfG_play_cFv();
|
||||
extern "C" void setTimerLimitTimeMs__14dComIfG_play_cFi();
|
||||
extern "C" void getTimerLimitTimeMs__14dComIfG_play_cFv();
|
||||
extern "C" void setTimerMode__14dComIfG_play_cFi();
|
||||
extern "C" void getTimerMode__14dComIfG_play_cFv();
|
||||
extern "C" void setTimerType__14dComIfG_play_cFUc();
|
||||
extern "C" void getTimerType__14dComIfG_play_cFv();
|
||||
extern "C" void setTimerPtr__14dComIfG_play_cFP8dTimer_c();
|
||||
extern "C" void getTimerPtr__14dComIfG_play_cFv();
|
||||
extern "C" void ct__13dComIfG_inf_cFv();
|
||||
extern "C" void dComIfG_changeOpeningScene__FP11scene_classs();
|
||||
extern "C" void dComIfG_resetToOpening__FP11scene_class();
|
||||
extern "C" static void phase_1__FPc();
|
||||
extern "C" static void phase_2__FPc();
|
||||
extern "C" static s32 phase_3__FPc();
|
||||
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
|
||||
extern "C" static void phase_01__FP12phaseParam_c();
|
||||
extern "C" static void phase_02__FP12phaseParam_c();
|
||||
extern "C" static bool phase_03__FP12phaseParam_c();
|
||||
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCcP7JKRHeap();
|
||||
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void dComIfGp_getReverb__Fi();
|
||||
extern "C" void dComIfGd_setSimpleShadow__FP4cXyzffR13cBgS_PolyInfosfP9_GXTexObj();
|
||||
extern "C" void dComIfGp_getMapTrans__FiPfPfPs();
|
||||
extern "C" void dComIfGp_getRoomCamera__Fi();
|
||||
extern "C" void dComIfGp_getRoomArrow__Fi();
|
||||
extern "C" void dComIfGp_setNextStage__FPCcsScScfUliScsii();
|
||||
extern "C" void dComIfGp_setNextStage__FPCcsScSc();
|
||||
extern "C" void dComIfGs_isStageTbox__Fii();
|
||||
extern "C" void dComIfGs_onStageSwitch__Fii();
|
||||
extern "C" void dComIfGs_offStageSwitch__Fii();
|
||||
extern "C" void dComIfGs_isStageSwitch__Fii();
|
||||
extern "C" void dComIfGs_onStageBossEnemy__Fi();
|
||||
extern "C" void dComIfGs_isDungeonItemWarp__Fi();
|
||||
extern "C" void dComIfGs_BossLife_public_Set__FSc();
|
||||
extern "C" void dComIfGs_BossLife_public_Get__Fv();
|
||||
extern "C" void dComIfGs_sense_type_change_Set__FSc();
|
||||
extern "C" void dComIfGs_sense_type_change_Get__Fv();
|
||||
extern "C" void dComIfGs_onZoneSwitch__Fii();
|
||||
extern "C" void getZoneNo__20dStage_roomControl_cFi();
|
||||
extern "C" void dComIfGs_offZoneSwitch__Fii();
|
||||
extern "C" void dComIfGs_isZoneSwitch__Fii();
|
||||
extern "C" void dComIfGs_onOneZoneSwitch__Fii();
|
||||
extern "C" void dComIfGs_offOneZoneSwitch__Fii();
|
||||
extern "C" void dComIfGs_isOneZoneSwitch__Fii();
|
||||
extern "C" void dComIfGs_isZoneItem__Fii();
|
||||
extern "C" void dComIfGs_isOneZoneItem__Fii();
|
||||
extern "C" void dComIfGs_getMaxLifeGauge__Fv();
|
||||
extern "C" void dComIfGs_setSelectItemIndex__FiUc();
|
||||
extern "C" void dComIfGs_setMixItemIndex__FiUc();
|
||||
extern "C" void dComIfGs_getSelectMixItemNoArrowIndex__Fi();
|
||||
extern "C" void dComIfGs_getMixItemIndex__Fi();
|
||||
extern "C" void dComIfGp_setSelectItem__Fi(int);
|
||||
extern "C" void dComIfGp_getSelectItem__Fi();
|
||||
extern "C" void dComIfGp_mapShow__Fv();
|
||||
extern "C" void dComIfGp_mapHide__Fv();
|
||||
extern "C" void dComIfGp_checkMapShow__Fv();
|
||||
extern "C" void dComIfGp_setHeapLockFlag__FUc();
|
||||
extern "C" s32 dComIfGp_offHeapLockFlag__Fi(int);
|
||||
extern "C" static void dComIfGp_createSubExpHeap2D__Fv();
|
||||
extern "C" static void dComIfGp_destroySubExpHeap2D__Fv();
|
||||
extern "C" static int dComIfGp_checkEmptySubHeap2D__Fv();
|
||||
extern "C" static int dComIfGp_searchUseSubHeap2D__Fi(int);
|
||||
extern "C" void dComIfGp_getSubHeap2D__Fi();
|
||||
extern "C" void dComIfGs_checkGetInsectNum__Fv();
|
||||
extern "C" static u8 dComIfGs_checkGetItem__FUc(u8);
|
||||
extern "C" s32 dComIfGs_getBottleMax__Fv();
|
||||
extern "C" void dComIfGp_getSelectItemNum__Fi();
|
||||
extern "C" void dComIfGp_getSelectItemMaxNum__Fi();
|
||||
extern "C" void dComIfGp_setSelectItemNum__Fis();
|
||||
extern "C" void dComIfGp_addSelectItemNum__Fis();
|
||||
extern "C" void
|
||||
dComIfGd_setShadow__FUlScP8J3DModelP4cXyzffffR13cBgS_PolyInfoP12dKy_tevstr_csfP9_GXTexObj();
|
||||
extern "C" void dComIfGs_gameStart__Fv();
|
||||
extern "C" void dComIfG_getTrigA__FUl();
|
||||
extern "C" void dComIfGp_calcNowRegion__Fv();
|
||||
extern "C" static void dComIfG_getNowCalcRegion__Fv();
|
||||
extern "C" void dComIfGp_isLightDropMapVisible__Fv();
|
||||
extern "C" void dComIfGp_getNowLevel__Fv();
|
||||
extern "C" void dComIfGs_setSelectEquipClothes__FUc();
|
||||
extern "C" void dComIfGs_setSelectEquipSword__FUc();
|
||||
extern "C" void dComIfGs_setSelectEquipShield__FUc();
|
||||
extern "C" void dComIfGs_setKeyNum__FiUc();
|
||||
extern "C" static void dComIfGs_setWarpItemData__FiPCc4cXyzsScUcUc();
|
||||
extern "C" void setWarpItemData__14dComIfG_play_cFPCc4cXyzsScUcUc();
|
||||
extern "C" void dComIfGs_setWarpItemData__FPCc4cXyzsScUcUc();
|
||||
extern "C" static void dComIfGs_setLastWarpMarkItemData__FPCc4cXyzsScUcUc(const char*, cXyz, s16,
|
||||
s8, u8, u8);
|
||||
extern "C" void dComIfGs_getWarpStageName__Fv();
|
||||
extern "C" void dComIfGs_getWarpPlayerPos__Fv();
|
||||
extern "C" void dComIfGs_getWarpPlayerAngleY__Fv();
|
||||
extern "C" void dComIfGs_getWarpRoomNo__Fv();
|
||||
extern "C" void dComIfGs_getWarpMarkFlag__Fv();
|
||||
extern "C" void dComIfGs_setWarpMarkFlag__FUc();
|
||||
extern "C" void __ct__19dComIfG_resLoader_cFv();
|
||||
extern "C" void __dt__19dComIfG_resLoader_cFv();
|
||||
extern "C" void load__19dComIfG_resLoader_cFPPCcP7JKRHeap();
|
||||
extern "C" void dComIfG_getStageRes__FPCc();
|
||||
extern "C" void dComIfG_getOldStageRes__FPCc();
|
||||
extern "C" void dComIfG_getRoomArcName__Fi();
|
||||
extern "C" void dComIfGp_ret_wp_set__FSc();
|
||||
extern "C" void dComIfGp_world_dark_set__FUc();
|
||||
extern "C" void dComIfGp_world_dark_get__Fv();
|
||||
extern "C" void dComIfG_TimerStart__Fis();
|
||||
extern "C" void dComIfG_TimerStop__Fi();
|
||||
extern "C" void dComIfG_TimerReStart__Fi();
|
||||
extern "C" void dComIfG_TimerEnd__Fii();
|
||||
extern "C" void dComIfG_TimerDeleteCheck__Fi();
|
||||
extern "C" void dComIfG_TimerDeleteRequest__Fi();
|
||||
extern "C" void dComIfGs_Wolf_Change_Check__Fv();
|
||||
extern "C" void dComIfGs_PolyDamageOff_Set__FSc();
|
||||
extern "C" void dComIfGs_PolyDamageOff_Check__Fv();
|
||||
extern "C" void dComIfGs_shake_kandelaar__Fv();
|
||||
extern "C" void dComIfGs_shake_kandelaar_check__Fv();
|
||||
extern "C" void dComIfGs_wolfeye_effect_check__Fv();
|
||||
extern "C" void dComIfGs_Grass_hide_Set__FSc();
|
||||
extern "C" void dComIfGp_TargetWarpPt_set__FUc();
|
||||
extern "C" void dComIfGp_SelectWarpPt_set__FUc();
|
||||
extern "C" void dComIfGp_TargetWarpPt_get__Fv();
|
||||
extern "C" void dComIfGp_SelectWarpPt_get__Fv();
|
||||
extern "C" void dComIfGp_TransportWarp_check__Fv();
|
||||
extern "C" void dComLbG_PhaseHandler__FP30request_of_phase_process_classPPFPv_iPv();
|
||||
extern "C" void dComIfGs_onVisitedRoom__Fi();
|
||||
extern "C" void dComIfGs_offVisitedRoom__Fi();
|
||||
extern "C" void dComIfGs_isVisitedRoom__Fi();
|
||||
extern "C" void dComIfGs_staffroll_next_go__Fv();
|
||||
extern "C" void dComIfGs_staffroll_next_go_check__Fv();
|
||||
extern "C" void __sinit_d_com_inf_game_cpp();
|
||||
extern "C" void __dt__13dComIfG_inf_cFv();
|
||||
extern "C" void __dt__14dComIfG_play_cFv();
|
||||
extern "C" void __dt__11cBgS_ChkElmFv();
|
||||
extern "C" void __dt__4dCcSFv();
|
||||
extern "C" void __dt__12dCcMassS_ObjFv();
|
||||
extern "C" void __dt__12dEvt_order_cFv();
|
||||
extern "C" void __dt__11dEvDtBase_cFv();
|
||||
extern "C" void __dt__14dDlst_window_cFv();
|
||||
extern "C" void __dt__25dComIfG_camera_info_classFv();
|
||||
extern "C" void __ct__13dComIfG_inf_cFv();
|
||||
extern "C" void __ct__25dComIfG_camera_info_classFv();
|
||||
extern "C" void __ct__14dDlst_window_cFv();
|
||||
extern "C" void __dt__10dAttList_cFv();
|
||||
extern "C" void __ct__10dAttList_cFv();
|
||||
extern "C" void __dt__7cSAngleFv();
|
||||
extern "C" void __dt__10dAttDraw_cFv();
|
||||
extern "C" void __dt__13mDoExt_bckAnmFv();
|
||||
extern "C" void __dt__13mDoExt_bpkAnmFv();
|
||||
extern "C" void __dt__13mDoExt_brkAnmFv();
|
||||
extern "C" void __dt__13mDoExt_btkAnmFv();
|
||||
extern "C" void __ct__10dAttDraw_cFv();
|
||||
extern "C" void __ct__13mDoExt_btkAnmFv();
|
||||
extern "C" void __ct__13mDoExt_brkAnmFv();
|
||||
extern "C" void __ct__13mDoExt_bpkAnmFv();
|
||||
extern "C" void __ct__13mDoExt_bckAnmFv();
|
||||
extern "C" void __dt__12dCcMassS_MngFv();
|
||||
extern "C" void __dt__4cCcSFv();
|
||||
extern "C" void __dt__4dBgSFv();
|
||||
extern "C" void __dt__4cBgSFv();
|
||||
extern "C" void __ct__11cBgS_ChkElmFv();
|
||||
extern "C" void __ct__10dSv_zone_cFv();
|
||||
extern "C" void __ct__13dSv_memory2_cFv();
|
||||
extern "C" void __ct__12dSv_memory_cFv();
|
||||
extern "C" void __dt__15cCcD_DivideAreaFv();
|
||||
extern "C" void __dt__8cM3dGCylFv();
|
||||
extern "C" void __dt__8cM3dGAabFv();
|
||||
extern "C" void __dt__15cCcD_DivideInfoFv();
|
||||
extern "C" extern char const* const d_com_d_com_inf_game__stringBase0;
|
||||
extern "C" extern GXColor g_saftyWhiteColor;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoAud_setSceneName__FPCcll();
|
||||
extern "C" void mDoAud_resetProcess__Fv();
|
||||
extern "C" void mDoExt_destroyExpHeap__FP10JKRExpHeap();
|
||||
extern "C" void fopScnM_ChangeReq__FP11scene_classssUs();
|
||||
extern "C" void fopScnM_ReRequest__FsUl();
|
||||
extern "C" void set__18dStage_nextStage_cFPCcScsScScUc();
|
||||
extern "C" void initZone__20dStage_roomControl_cFv();
|
||||
extern "C" void getStatusRoomDt__20dStage_roomControl_cFi();
|
||||
extern "C" u8 dStage_roomRead_dt_c_GetReverbStage__FR14roomRead_classi(roomRead_class&, int);
|
||||
extern "C" void setSelectItemIndex__21dSv_player_status_a_cFiUc();
|
||||
extern "C" void getSelectItemIndex__21dSv_player_status_a_cCFi();
|
||||
extern "C" void setMixItemIndex__21dSv_player_status_a_cFiUc();
|
||||
extern "C" void getMixItemIndex__21dSv_player_status_a_cCFi();
|
||||
extern "C" void isDarkClearLV__21dSv_player_status_b_cCFi();
|
||||
extern "C" void isTransformLV__21dSv_player_status_b_cCFi();
|
||||
extern "C" void set__33dSv_player_field_last_stay_info_cFPCcRC4cXyzsScUc();
|
||||
extern "C" void onRegionBit__33dSv_player_field_last_stay_info_cFi();
|
||||
extern "C" void isRegionBit__33dSv_player_field_last_stay_info_cCFi();
|
||||
extern "C" void setWarpItemData__27dSv_player_last_mark_info_cFPCcRC4cXyzsScUcUc();
|
||||
extern "C" void getItem__17dSv_player_item_cCFib();
|
||||
extern "C" void isFirstBit__21dSv_player_get_item_cCFUc();
|
||||
extern "C" void setBombNum__24dSv_player_item_record_cFUcUc();
|
||||
extern "C" void getBombNum__24dSv_player_item_record_cCFUc();
|
||||
extern "C" void setBottleNum__24dSv_player_item_record_cFUcUc();
|
||||
extern "C" void addBottleNum__24dSv_player_item_record_cFUcs();
|
||||
extern "C" void getBottleNum__24dSv_player_item_record_cCFUc();
|
||||
extern "C" void getBombNum__21dSv_player_item_max_cCFUc();
|
||||
extern "C" void setCollect__20dSv_player_collect_cFiUc();
|
||||
extern "C" void getLightDropNum__16dSv_light_drop_cCFUc();
|
||||
extern "C" void isLightDropGetFlag__16dSv_light_drop_cCFUc();
|
||||
extern "C" void getVibration__19dSv_player_config_cFv();
|
||||
extern "C" void isTbox__12dSv_memBit_cCFi();
|
||||
extern "C" void onSwitch__12dSv_memBit_cFi();
|
||||
extern "C" void offSwitch__12dSv_memBit_cFi();
|
||||
extern "C" void isSwitch__12dSv_memBit_cCFi();
|
||||
extern "C" void onDungeonItem__12dSv_memBit_cFi();
|
||||
extern "C" void isDungeonItem__12dSv_memBit_cCFi();
|
||||
extern "C" void onEventBit__11dSv_event_cFUs();
|
||||
extern "C" void offEventBit__11dSv_event_cFUs();
|
||||
extern "C" void isEventBit__11dSv_event_cCFUs();
|
||||
extern "C" void init__12dSv_memory_cFv();
|
||||
extern "C" void init__13dSv_memory2_cFv();
|
||||
extern "C" void onVisitedRoom__13dSv_memory2_cFi();
|
||||
extern "C" void offVisitedRoom__13dSv_memory2_cFi();
|
||||
extern "C" void isVisitedRoom__13dSv_memory2_cFi();
|
||||
extern "C" void onSwitch__13dSv_zoneBit_cFi();
|
||||
extern "C" void offSwitch__13dSv_zoneBit_cFi();
|
||||
extern "C" void isSwitch__13dSv_zoneBit_cCFi();
|
||||
extern "C" void onOneSwitch__13dSv_zoneBit_cFi();
|
||||
extern "C" void offOneSwitch__13dSv_zoneBit_cFi();
|
||||
extern "C" void isOneSwitch__13dSv_zoneBit_cCFi();
|
||||
extern "C" void isItem__13dSv_zoneBit_cCFi();
|
||||
extern "C" void isOneItem__13dSv_zoneBit_cCFi();
|
||||
extern "C" void getSave2__10dSv_save_cFi();
|
||||
extern "C" void onSwitch__10dSv_info_cFii();
|
||||
extern "C" void offSwitch__10dSv_info_cFii();
|
||||
extern "C" void isSwitch__10dSv_info_cCFii();
|
||||
extern "C" void __ct__11dRes_info_cFv();
|
||||
extern "C" void __dt__11dRes_info_cFv();
|
||||
extern "C" void __dt__14dRes_control_cFv();
|
||||
extern "C" void setRes__14dRes_control_cFPCcP11dRes_info_ciPCcUcP7JKRHeap();
|
||||
extern "C" void syncRes__14dRes_control_cFPCcP11dRes_info_ci();
|
||||
extern "C" void deleteRes__14dRes_control_cFPCcP11dRes_info_ci();
|
||||
extern "C" void getRes__14dRes_control_cFPCcPCcP11dRes_info_ci();
|
||||
extern "C" void getMapPlayerPos__10dMapInfo_nFv();
|
||||
extern "C" void __ct__14dEvt_control_cFv();
|
||||
extern "C" void __ct__16dEvent_manager_cFv();
|
||||
extern "C" void __ct__15dSmplMdl_draw_cFv();
|
||||
extern "C" void draw__15dSmplMdl_draw_cFv();
|
||||
extern "C" void entry__15dSmplMdl_draw_cFP8J3DModeli();
|
||||
extern "C" void addModel__15dSmplMdl_draw_cFP12J3DModelDataiUc();
|
||||
extern "C" void removeModel__15dSmplMdl_draw_cFP12J3DModelDatai();
|
||||
extern "C" void __ct__13dPa_control_cFv();
|
||||
extern "C" void setReal__21dDlst_shadowControl_cFUlScP8J3DModelP4cXyzffP12dKy_tevstr_c();
|
||||
extern "C" void setSimple__21dDlst_shadowControl_cFP4cXyzffP4cXyzsfP9_GXTexObj();
|
||||
extern "C" void __ct__12dDlst_list_cFv();
|
||||
extern "C" void __dt__12dDlst_list_cFv();
|
||||
extern "C" void __dt__12dAttention_cFv();
|
||||
extern "C" void Init__11cBgS_ChkElmFv();
|
||||
extern "C" void GetTriPla__4cBgSCFRC13cBgS_PolyInfoP8cM3dGPla();
|
||||
extern "C" void __ct__12dCcMassS_MngFv();
|
||||
extern "C" int checkItemGet__FUci(u8, int);
|
||||
extern "C" void setLastSceneMode__9daAlink_cFPUl();
|
||||
extern "C" int dKy_daynight_check__Fv();
|
||||
extern "C" void dKy_darkworld_stage_check__FPCci();
|
||||
extern "C" void dMenuFmap_getStartStageName__FPv();
|
||||
extern "C" void init__13dMeter2Info_cFv();
|
||||
extern "C" void setSaveStageName__13dMeter2Info_cFPCc();
|
||||
extern "C" void deleteCheck__8dTimer_cFv();
|
||||
extern "C" void start__8dTimer_cFi();
|
||||
extern "C" void start__8dTimer_cFis();
|
||||
extern "C" void stop__8dTimer_cFUc();
|
||||
extern "C" void restart__8dTimer_cFUc();
|
||||
extern "C" void end__8dTimer_cFi();
|
||||
extern "C" void deleteRequest__8dTimer_cFv();
|
||||
extern "C" void __ct__4cCcSFv();
|
||||
extern "C" void cPhs_Handler__FP30request_of_phase_process_classPPFPv_iPv();
|
||||
extern "C" void ChkSetInfo__13cBgS_PolyInfoCFv();
|
||||
extern "C" void __dt__8cM3dGCpsFv();
|
||||
extern "C" void bgmStop__8Z2SeqMgrFUll();
|
||||
extern "C" void getTotalFreeSize__7JKRHeapFv();
|
||||
extern "C" void* __nw__FUl();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void create__10JKRExpHeapFUlP7JKRHeapb();
|
||||
extern "C" void init__12J3DFrameCtrlFs();
|
||||
extern "C" void __register_global_object();
|
||||
extern "C" void __destroy_arr();
|
||||
extern "C" void __construct_array();
|
||||
extern "C" void __cvt_fp2unsigned();
|
||||
extern "C" void _savegpr_21();
|
||||
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_21();
|
||||
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__12J3DFrameCtrl[3];
|
||||
extern "C" extern void* __vt__8cM3dGPla[3];
|
||||
extern "C" extern void* __vt__16dStage_stageDt_c[93];
|
||||
extern "C" extern void* __vt__11dStage_dt_c[93];
|
||||
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
|
||||
extern "C" extern void* __vt__19dAttDraw_CallBack_c[3];
|
||||
extern "C" extern void* __vt__11dAttParam_c[3 + 1 /* padding */];
|
||||
extern "C" extern void* __vt__4dBgS[5];
|
||||
extern "C" extern void* __vt__4cBgS[5];
|
||||
extern "C" extern void* __vt__11cBgS_ChkElm[4];
|
||||
extern "C" extern void* __vt__4dCcS[13];
|
||||
extern "C" extern void* __vt__12cCcD_CylAttr[25];
|
||||
extern "C" extern void* __vt__12cCcD_CpsAttr[25];
|
||||
extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
|
||||
extern "C" extern void* __vt__4cCcS[12];
|
||||
extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
|
||||
extern "C" u8 mStatus__20dStage_roomControl_c[65792];
|
||||
extern "C" extern dScnKy_env_light_c g_env_light;
|
||||
extern "C" u8 mFader__13mDoGph_gInf_c[4];
|
||||
extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */];
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
void dComIfG_play_c::ct() {
|
||||
mWindowNum = 0;
|
||||
mParticle = NULL;
|
||||
@@ -1656,106 +1311,132 @@ s8 dComIfGs_sense_type_change_Get() {
|
||||
}
|
||||
|
||||
/* 8002D94C-8002D9B0 02828C 0064+00 0/0 1/1 17/17 .text dComIfGs_onZoneSwitch__Fii */
|
||||
// matches debug but not retail :/
|
||||
#ifdef NONMATCHING
|
||||
void dComIfGs_onZoneSwitch(int i_swBit, int i_roomNo) {
|
||||
int zone_no;
|
||||
int room_no;
|
||||
|
||||
if (i_roomNo >= 0) {
|
||||
room_no = i_roomNo;
|
||||
} else {
|
||||
room_no = dComIfGp_roomControl_getStayNo();
|
||||
if (room_no < 0) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (room_no >= 0) {
|
||||
zone_no = dComIfGp_roomControl_getZoneNo(room_no);
|
||||
dComIfGs_onSvZoneSwitch(zone_no, i_swBit);
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dComIfGs_onZoneSwitch(int swBit, int roomNo) {
|
||||
nofralloc
|
||||
#include "asm/d/com/d_com_inf_game/dComIfGs_onZoneSwitch__Fii.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
int dStage_roomControl_c::getZoneNo(int i_roomNo) {
|
||||
return mStatus[i_roomNo].getZoneNo();
|
||||
int zone_no = dComIfGp_roomControl_getZoneNo(room_no);
|
||||
dComIfGs_onSvZoneSwitch(zone_no, i_swBit);
|
||||
}
|
||||
|
||||
/* 8002D9CC-8002DA30 02830C 0064+00 0/0 1/1 1/1 .text dComIfGs_offZoneSwitch__Fii */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dComIfGs_offZoneSwitch(int param_0, int param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/com/d_com_inf_game/dComIfGs_offZoneSwitch__Fii.s"
|
||||
void dComIfGs_offZoneSwitch(int i_swBit, int i_roomNo) {
|
||||
int room_no;
|
||||
if (i_roomNo >= 0) {
|
||||
room_no = i_roomNo;
|
||||
} else {
|
||||
room_no = dComIfGp_roomControl_getStayNo();
|
||||
if (room_no < 0) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
int zone_no = dComIfGp_roomControl_getZoneNo(room_no);
|
||||
dComIfGs_offSvZoneSwitch(zone_no, i_swBit);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8002DA30-8002DA9C 028370 006C+00 0/0 1/1 10/10 .text dComIfGs_isZoneSwitch__Fii */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm BOOL dComIfGs_isZoneSwitch(int param_0, int param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/com/d_com_inf_game/dComIfGs_isZoneSwitch__Fii.s"
|
||||
BOOL dComIfGs_isZoneSwitch(int i_swBit, int i_roomNo) {
|
||||
int room_no;
|
||||
if (i_roomNo >= 0) {
|
||||
room_no = i_roomNo;
|
||||
} else {
|
||||
room_no = dComIfGp_roomControl_getStayNo();
|
||||
if (room_no < 0) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
int zone_no = dComIfGp_roomControl_getZoneNo(room_no);
|
||||
return dComIfGs_isSvZoneSwitch(zone_no, i_swBit);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8002DA9C-8002DB00 0283DC 0064+00 0/0 1/1 51/51 .text dComIfGs_onOneZoneSwitch__Fii */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dComIfGs_onOneZoneSwitch(int param_0, int param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/com/d_com_inf_game/dComIfGs_onOneZoneSwitch__Fii.s"
|
||||
void dComIfGs_onOneZoneSwitch(int i_swBit, int i_roomNo) {
|
||||
int room_no;
|
||||
if (i_roomNo >= 0) {
|
||||
room_no = i_roomNo;
|
||||
} else {
|
||||
room_no = dComIfGp_roomControl_getStayNo();
|
||||
if (room_no < 0) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
int zone_no = dComIfGp_roomControl_getZoneNo(room_no);
|
||||
dComIfGs_onSvOneZoneSwitch(zone_no, i_swBit);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8002DB00-8002DB64 028440 0064+00 0/0 1/1 17/17 .text dComIfGs_offOneZoneSwitch__Fii */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dComIfGs_offOneZoneSwitch(int param_0, int param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/com/d_com_inf_game/dComIfGs_offOneZoneSwitch__Fii.s"
|
||||
void dComIfGs_offOneZoneSwitch(int i_swBit, int i_roomNo) {
|
||||
int room_no;
|
||||
if (i_roomNo >= 0) {
|
||||
room_no = i_roomNo;
|
||||
} else {
|
||||
room_no = dComIfGp_roomControl_getStayNo();
|
||||
if (room_no < 0) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
int zone_no = dComIfGp_roomControl_getZoneNo(room_no);
|
||||
dComIfGs_offSvOneZoneSwitch(zone_no, i_swBit);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8002DB64-8002DBD0 0284A4 006C+00 0/0 5/5 13/13 .text dComIfGs_isOneZoneSwitch__Fii */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm BOOL dComIfGs_isOneZoneSwitch(int param_0, int param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/com/d_com_inf_game/dComIfGs_isOneZoneSwitch__Fii.s"
|
||||
BOOL dComIfGs_isOneZoneSwitch(int i_swBit, int i_roomNo) {
|
||||
int room_no;
|
||||
if (i_roomNo >= 0) {
|
||||
room_no = i_roomNo;
|
||||
} else {
|
||||
room_no = dComIfGp_roomControl_getStayNo();
|
||||
if (room_no < 0) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
int zone_no = dComIfGp_roomControl_getZoneNo(room_no);
|
||||
return dComIfGs_isSvOneZoneSwitch(zone_no, i_swBit);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8002DBD0-8002DC3C 028510 006C+00 0/0 1/1 0/0 .text dComIfGs_isZoneItem__Fii */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm BOOL dComIfGs_isZoneItem(int param_0, int param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/com/d_com_inf_game/dComIfGs_isZoneItem__Fii.s"
|
||||
BOOL dComIfGs_isZoneItem(int i_swBit, int i_roomNo) {
|
||||
int room_no;
|
||||
if (i_roomNo >= 0) {
|
||||
room_no = i_roomNo;
|
||||
} else {
|
||||
room_no = dComIfGp_roomControl_getStayNo();
|
||||
if (room_no < 0) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
int zone_no = dComIfGp_roomControl_getZoneNo(room_no);
|
||||
return dComIfGs_isSvZoneItem(zone_no, i_swBit);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8002DC3C-8002DCA8 02857C 006C+00 0/0 1/1 0/0 .text dComIfGs_isOneZoneItem__Fii */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm BOOL dComIfGs_isOneZoneItem(int param_0, int param_1){nofralloc
|
||||
#include "asm/d/com/d_com_inf_game/dComIfGs_isOneZoneItem__Fii.s"
|
||||
BOOL dComIfGs_isOneZoneItem(int i_swBit, int i_roomNo) {
|
||||
int room_no;
|
||||
if (i_roomNo >= 0) {
|
||||
room_no = i_roomNo;
|
||||
} else {
|
||||
room_no = dComIfGp_roomControl_getStayNo();
|
||||
if (room_no < 0) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
int zone_no = dComIfGp_roomControl_getZoneNo(room_no);
|
||||
return dComIfGs_isSvOneZoneItem(zone_no, i_swBit);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
u16 dComIfGs_getMaxLifeGauge() {
|
||||
return (dComIfGs_getMaxLife() / 5) * 4;
|
||||
|
||||
+5
-3
@@ -782,7 +782,7 @@ int dDemo_setDemoData(fopAc_ac_c* param_0, u8 param_1, mDoExt_McaMorf* param_2,
|
||||
return 0;
|
||||
}
|
||||
|
||||
u32 flags = demo_actor->checkEnable(param_1);
|
||||
u8 flags = demo_actor->checkEnable(param_1);
|
||||
if (flags & 2) {
|
||||
param_0->current.pos = demo_actor->getTrans();
|
||||
param_0->old.pos = param_0->current.pos;
|
||||
@@ -793,7 +793,7 @@ int dDemo_setDemoData(fopAc_ac_c* param_0, u8 param_1, mDoExt_McaMorf* param_2,
|
||||
}
|
||||
|
||||
if (flags & 4) {
|
||||
param_0->mScale = demo_actor->getScale();
|
||||
param_0->scale = demo_actor->getScale();
|
||||
}
|
||||
|
||||
if (flags & 0x80) {
|
||||
@@ -1428,18 +1428,20 @@ SECTION_SDATA2 static f64 lit_5123 = 1.0 / 29.999998435378155;
|
||||
|
||||
/* 80039678-80039910 033FB8 0298+00 0/0 1/1 0/0 .text create__7dDemo_cFv */
|
||||
#ifdef NONMATCHING
|
||||
// matches with data
|
||||
void dDemo_c::create() {
|
||||
m_system = new dDemo_system_c();
|
||||
m_control = new JStudio::TControl();
|
||||
m_mesgControl = new jmessage_tControl();
|
||||
m_stage = new JStudio_JStage::TCreateObject(m_system);
|
||||
m_audio = new JStudio_JAudio2::TCreateObject(Z2GetSoundStarter(), m_system);
|
||||
m_audio->mPermit_onExit_notEnd = true;
|
||||
m_particle = new dDemo_particle_c(dPa_control_c::getEmitterManager(), m_system);
|
||||
m_message = new jstudio_tCreateObject_message();
|
||||
m_factory = new JStudio::TFactory();
|
||||
m_object = new dDemo_object_c();
|
||||
|
||||
m_control->setSecondPerFrame(1.0 / 29.999998435378155);
|
||||
m_control->setSecondPerFrame(1.0f / 30.0f);
|
||||
m_control->setFactory(m_factory);
|
||||
m_factory->appendCreateObject(m_stage);
|
||||
m_factory->appendCreateObject(m_audio);
|
||||
|
||||
+14
-90
@@ -1,7 +1,7 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: d/d_lib
|
||||
//
|
||||
/**
|
||||
* d_lib.cpp
|
||||
* Utility Functions
|
||||
*/
|
||||
|
||||
#include "d/d_lib.h"
|
||||
#include "d/event/d_event.h"
|
||||
@@ -9,58 +9,9 @@
|
||||
#include "JSystem/JKernel/JKRAramArchive.h"
|
||||
#include "JSystem/JKernel/JKRAram.h"
|
||||
#include "JSystem/JKernel/JKRDecomp.h"
|
||||
#include "dol2asm.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
#include "m_Do/m_Do_controller_pad.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__9STControlFssssffss();
|
||||
extern "C" void setWaitParm__9STControlFssssffss();
|
||||
extern "C" void init__9STControlFv();
|
||||
extern "C" void Xinit__9STControlFv();
|
||||
extern "C" void Yinit__9STControlFv();
|
||||
extern "C" void getValueStick__9STControlFv();
|
||||
extern "C" void getAngleStick__9STControlFv();
|
||||
extern "C" void getValueStick__10CSTControlFv();
|
||||
extern "C" void getAngleStick__10CSTControlFv();
|
||||
extern "C" void checkTrigger__9STControlFv();
|
||||
extern "C" void checkLeftTrigger__9STControlFv();
|
||||
extern "C" void checkRightTrigger__9STControlFv();
|
||||
extern "C" void checkUpTrigger__9STControlFv();
|
||||
extern "C" void checkDownTrigger__9STControlFv();
|
||||
extern "C" void dLib_getEventSwitchNo__Fi();
|
||||
extern "C" void dLib_checkActorInRectangle__FP10fopAc_ac_cP10fopAc_ac_cPC4cXyzPC4cXyz();
|
||||
extern "C" void dLib_getExpandSizeFromAramArchive__FP14JKRAramArchivePCc();
|
||||
extern "C" void getTime__11dLib_time_cFv();
|
||||
extern "C" void stopTime__11dLib_time_cFv();
|
||||
extern "C" void startTime__11dLib_time_cFv();
|
||||
extern "C" u8 m_diffTime__11dLib_time_c[4];
|
||||
extern "C" u8 m_stopTime__11dLib_time_c[4];
|
||||
extern "C" extern u8 struct_80450DF0[8];
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoMtx_YrotS__FPA4_fs();
|
||||
extern "C" void searchMapEventData__14dEvt_control_cFUc();
|
||||
extern "C" void __mi__4cXyzCFRC3Vec();
|
||||
extern "C" void aramToMainRam__7JKRAramFUlPUcUl15JKRExpandSwitchUlP7JKRHeapiPUl();
|
||||
extern "C" void findFsResource__10JKRArchiveCFPCcUl();
|
||||
extern "C" void getAramAddress__14JKRAramArchiveFPCc();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A7240-803A7250 004360 0010+00 0/0 0/0 6/6 .data ZeroQuat */
|
||||
Quaternion ZeroQuat = {
|
||||
0.0f,
|
||||
@@ -69,22 +20,6 @@ Quaternion ZeroQuat = {
|
||||
1.0f
|
||||
};
|
||||
|
||||
/* 803A7250-803A7260 004370 0010+00 0/0 1/1 0/0 .data __vt__10CSTControl */
|
||||
SECTION_DATA extern void* __vt__10CSTControl[4] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)getValueStick__10CSTControlFv,
|
||||
(void*)getAngleStick__10CSTControlFv,
|
||||
};
|
||||
|
||||
/* 803A7260-803A7270 004380 0010+00 1/1 1/1 0/0 .data __vt__9STControl */
|
||||
SECTION_DATA extern void* __vt__9STControl[4] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)getValueStick__9STControlFv,
|
||||
(void*)getAngleStick__9STControlFv,
|
||||
};
|
||||
|
||||
STControl::STControl(s16 delayY, s16 delayX, s16 param_2, s16 param_3, f32 threshold, f32 param_5,
|
||||
s16 param_6, s16 param_7) {
|
||||
setWaitParm(delayY, delayX, param_2, param_3, threshold, param_5, param_6, param_7);
|
||||
@@ -152,7 +87,6 @@ s16 CSTControl::getAngleStick() {
|
||||
}
|
||||
|
||||
/* 8003219C-8003242C 02CADC 0290+00 0/0 24/24 0/0 .text checkTrigger__9STControlFv */
|
||||
#ifdef NONMATCHING
|
||||
u8 STControl::checkTrigger() {
|
||||
field_0x0d = mDirectionTrig;
|
||||
f32 stickValue = getValueStick();
|
||||
@@ -161,21 +95,21 @@ u8 STControl::checkTrigger() {
|
||||
s16 temp_r7 = 0x2000 - field_0x26 >> 1;
|
||||
|
||||
if (!cM3d_IsZero(stickValue)) {
|
||||
if (stickAngle < field_0x22 + temp_r7 - 0x7000) {
|
||||
if (stickAngle < field_0x22 - 0x7000 + temp_r7) {
|
||||
var_r6 |= TRIG_UP;
|
||||
} else if (stickAngle < (field_0x22 - 0x5000) - temp_r7) {
|
||||
} else if (stickAngle < field_0x22 - 0x5000 - temp_r7) {
|
||||
var_r6 |= TRIG_UP_LEFT;
|
||||
} else if (stickAngle < field_0x22 + temp_r7 - 0x3000) {
|
||||
} else if (stickAngle < field_0x22 - 0x3000 + temp_r7) {
|
||||
var_r6 |= TRIG_LEFT;
|
||||
} else if (stickAngle < (field_0x22 - 0x1000) - temp_r7) {
|
||||
} else if (stickAngle < field_0x22 - 0x1000 - temp_r7) {
|
||||
var_r6 |= TRIG_DOWN_LEFT;
|
||||
} else if (stickAngle < field_0x22 + temp_r7 + 0x1000) {
|
||||
} else if (stickAngle < field_0x22 + 0x1000 + temp_r7) {
|
||||
var_r6 |= TRIG_DOWN;
|
||||
} else if (stickAngle < (field_0x22 + 0x3000) - temp_r7) {
|
||||
} else if (stickAngle < field_0x22 + 0x3000 - temp_r7) {
|
||||
var_r6 |= TRIG_DOWN_RIGHT;
|
||||
} else if (stickAngle < field_0x22 + temp_r7 + 0x5000) {
|
||||
} else if (stickAngle < field_0x22 + 0x5000 + temp_r7) {
|
||||
var_r6 |= TRIG_RIGHT;
|
||||
} else if (stickAngle < (field_0x22 + 0x7000) - temp_r7) {
|
||||
} else if (stickAngle < field_0x22 + 0x7000 - temp_r7) {
|
||||
var_r6 |= TRIG_UP_RIGHT;
|
||||
} else {
|
||||
var_r6 |= TRIG_UP;
|
||||
@@ -222,16 +156,6 @@ u8 STControl::checkTrigger() {
|
||||
|
||||
return mDirectionTrig;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm u8 STControl::checkTrigger() {
|
||||
nofralloc
|
||||
#include "asm/d/d_lib/checkTrigger__9STControlFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
bool STControl::checkLeftTrigger() {
|
||||
if (field_0x0e == 0 && mDirectionTrig & TRIG_LEFT) {
|
||||
@@ -334,7 +258,8 @@ u32 dLib_getExpandSizeFromAramArchive(JKRAramArchive* i_aramArchive, char const*
|
||||
if (address == 0) {
|
||||
return 0;
|
||||
}
|
||||
u8* readAddress = JKRAramToMainRam(address, header, 0x20, EXPAND_SWITCH_UNKNOWN0, 0, 0, 0xffffffff, 0);
|
||||
u8* readAddress = JKRAramToMainRam(address, header, 0x20, EXPAND_SWITCH_UNKNOWN0,
|
||||
0, 0, 0xffffffff, 0);
|
||||
JUT_ASSERT(1260, readAddress == header);
|
||||
JKRArchive::SDIFileEntry* entry = i_aramArchive->findFsResource(param_2, 0);
|
||||
JUT_ASSERT(1263, entry != 0);
|
||||
@@ -346,7 +271,6 @@ u32 dLib_getExpandSizeFromAramArchive(JKRAramArchive* i_aramArchive, char const*
|
||||
return uVar5;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450DD8-80450DDC 0002D8 0004+00 2/2 0/0 0/0 .sbss m_diffTime__11dLib_time_c */
|
||||
OSTime dLib_time_c::m_diffTime;
|
||||
|
||||
|
||||
+6
-4
@@ -5,6 +5,8 @@
|
||||
|
||||
#include "d/d_resorce.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMaterial.h"
|
||||
#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h"
|
||||
#include "JSystem/J3DGraphLoader/J3DModelLoader.h"
|
||||
#include "JSystem/JKernel/JKRMemArchive.h"
|
||||
#include "JSystem/JKernel/JKRSolidHeap.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
@@ -393,7 +395,7 @@ J3DModelData* dRes_info_c::loaderBasicBmd(u32 i_type, void* i_data) {
|
||||
flags ^= 0x60020;
|
||||
}
|
||||
|
||||
modelData = (J3DModelData*)J3DModelLoaderDataBase::load(i_data, flags);
|
||||
modelData = J3DModelLoaderDataBase::load(i_data, flags);
|
||||
if (modelData == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
@@ -447,11 +449,11 @@ J3DModelData* dRes_info_c::loaderBasicBmd(u32 i_type, void* i_data) {
|
||||
}
|
||||
|
||||
if (i_type == 'BMDR' || i_type == 'BMWR') {
|
||||
if (modelData->newSharedDisplayList(0x40000) == 0) {
|
||||
if (modelData->newSharedDisplayList(0x40000) != 0) {
|
||||
return NULL;
|
||||
} else {
|
||||
modelData->simpleCalcMaterial(0, (MtxP)j3dDefaultMtx);
|
||||
modelData->makeSharedDL();
|
||||
} else {
|
||||
modelData = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ SECTION_SDATA2 static f64 lit_3632 = 4503601774854144.0 /* cast s32 to float */;
|
||||
|
||||
/* 80097878-80097904 0921B8 008C+00 0/0 7/7 0/0 .text Init__14d2DBSplinePathFll */
|
||||
#ifdef NONMATCHING
|
||||
// regalloc
|
||||
// matches with literals
|
||||
void d2DBSplinePath::Init(s32 param_0, s32 param_1) {
|
||||
s32 tmp;
|
||||
s32 tmp2;
|
||||
@@ -38,11 +38,8 @@ void d2DBSplinePath::Init(s32 param_0, s32 param_1) {
|
||||
field_0x08 = 1;
|
||||
field_0x0c = param_1;
|
||||
|
||||
if (field_0x0c != 0) {
|
||||
tmp2 = field_0x0c - 1;
|
||||
}
|
||||
|
||||
field_0x04 < 2 ? tmp = 1 : tmp = field_0x04 - 2;
|
||||
tmp2 = field_0x0c != 0 ? field_0x0c - 1 : 1;
|
||||
tmp = field_0x04 < 2 ? 1 : field_0x04 - 2;
|
||||
field_0x10 = (f32)tmp / (f32)tmp2;
|
||||
|
||||
field_0x2c = 0;
|
||||
|
||||
+10
-46
@@ -6,6 +6,7 @@
|
||||
#include "d/d_stage.h"
|
||||
#include "JSystem/JKernel/JKRAramArchive.h"
|
||||
#include "JSystem/JKernel/JKRExpHeap.h"
|
||||
#include "d/d_path.h"
|
||||
#include "stdio.h"
|
||||
#include "SSystem/SComponent/c_malloc.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
@@ -1626,37 +1627,25 @@ SECTION_DEAD static char const* const stringBase_80378AF0 =
|
||||
|
||||
/* 80024954-80024A34 01F294 00E0+00 0/0 2/2 0/2 .text resetArchiveBank__20dStage_roomControl_cFi
|
||||
*/
|
||||
// regalloc
|
||||
#ifdef NONMATCHING
|
||||
bool dStage_roomControl_c::resetArchiveBank(int i_bank) {
|
||||
for (; i_bank < 32; i_bank++) {
|
||||
char* bank = getArcBank(i_bank);
|
||||
for (int i = i_bank; i < 32; i++) {
|
||||
char* bank = getArcBank(i);
|
||||
|
||||
if (strcmp(bank, "")) {
|
||||
s32 syncStatus = dComIfG_syncObjectRes(bank);
|
||||
if (syncStatus < 0) {
|
||||
OSReport_Error("Bank[%d] : %s.arc Sync Read Error !!\n", i_bank, bank);
|
||||
OSReport_Error("Bank[%d] : %s.arc Sync Read Error !!\n", i, bank);
|
||||
} else {
|
||||
if (syncStatus > 0) {
|
||||
return 0;
|
||||
}
|
||||
dComIfG_deleteObjectResMain(bank);
|
||||
setArcBank(i_bank, "");
|
||||
setArcBank(i, "");
|
||||
}
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm bool dStage_roomControl_c::resetArchiveBank(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_stage/resetArchiveBank__20dStage_roomControl_cFi.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80024A34-80024ABC 01F374 0088+00 1/1 0/0 0/2 .text
|
||||
* create__Q220dStage_roomControl_c9roomDzs_cFUc */
|
||||
@@ -2366,8 +2355,6 @@ static int dStage_doorInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum,
|
||||
}
|
||||
|
||||
/* 80025DA8-80025E40 0206E8 0098+00 2/0 0/0 0/0 .text dStage_roomReadInit__FP11dStage_dt_cPviPv */
|
||||
// close
|
||||
#ifdef NONMATCHING
|
||||
static int dStage_roomReadInit(dStage_dt_c* param_0, void* i_data, int param_2, void* param_3) {
|
||||
roomRead_class* p_node = (roomRead_class*)((int*)i_data + 1);
|
||||
roomRead_data_class** rtbl = p_node->field_0x4;
|
||||
@@ -2376,24 +2363,13 @@ static int dStage_roomReadInit(dStage_dt_c* param_0, void* i_data, int param_2,
|
||||
|
||||
for (int i = 0; i < p_node->field_0x0; i++) {
|
||||
if ((int)rtbl[i] < 0x80000000) {
|
||||
rtbl[i] += (int)param_3;
|
||||
rtbl[i]->field_0x4 += (int)param_3;
|
||||
rtbl[i] = (roomRead_data_class*)((int)rtbl[i] + (int)param_3);
|
||||
rtbl[i]->field_0x4 = (u8*)((int)rtbl[i]->field_0x4 + (int)param_3);
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm int dStage_roomReadInit(dStage_dt_c* param_0, void* param_1, int param_2,
|
||||
void* param_3) {
|
||||
nofralloc
|
||||
#include "asm/d/d_stage/dStage_roomReadInit__FP11dStage_dt_cPviPv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80025E40-80025E70 020780 0030+00 0/0 1/1 0/0 .text
|
||||
* dStage_roomRead_dt_c_GetReverbStage__FR14roomRead_classi */
|
||||
@@ -2412,8 +2388,6 @@ static int dStage_ppntInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum,
|
||||
}
|
||||
|
||||
/* 80025EA4-80025F44 0207E4 00A0+00 1/0 0/0 0/0 .text dStage_pathInfoInit__FP11dStage_dt_cPviPv */
|
||||
// close
|
||||
#ifdef NONMATCHING
|
||||
static int dStage_pathInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum, void* param_3) {
|
||||
dStage_dPath_c* path_c = (dStage_dPath_c*)((char*)i_data + 4);
|
||||
dPath* path = path_c->m_path;
|
||||
@@ -2422,24 +2396,14 @@ static int dStage_pathInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum,
|
||||
|
||||
for (int i = 0; i < path_c->m_num; i++) {
|
||||
if ((u32)path->m_points < 0x80000000) {
|
||||
path->m_points += (int)stageDt->getPntInf();
|
||||
// fake match?
|
||||
path->m_points = (dStage_dPnt_c*)((int)path->m_points + *(int*)&stageDt->getPntInf()->m_position);
|
||||
}
|
||||
path++;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm int dStage_pathInfoInit(dStage_dt_c* param_0, void* param_1, int param_2,
|
||||
void* param_3) {
|
||||
nofralloc
|
||||
#include "asm/d/d_stage/dStage_pathInfoInit__FP11dStage_dt_cPviPv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80025F44-80025F78 020884 0034+00 2/0 0/0 0/0 .text dStage_rppnInfoInit__FP11dStage_dt_cPviPv */
|
||||
static int dStage_rppnInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum, void* param_3) {
|
||||
@@ -3157,7 +3121,7 @@ int dStage_changeScene4Event(int i_exitId, s8 room_no, int i_wipe, bool param_3,
|
||||
}
|
||||
|
||||
dComIfGp_setNextStage(scls_info->mStage, scls_info->mStart, (s8)scls_info->mRoom, (s8)layer,
|
||||
speed, mode, 1, wipe == 15 ? 0 : wipe, angle, param_3 != false,
|
||||
speed, mode, 1, wipe == 15 ? 0 : wipe, angle, param_3 ? 1 : 0,
|
||||
wipe_time);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
#include "d/file/d_file_select.h"
|
||||
#include "d/file/d_file_sel_info.h"
|
||||
#include "JSystem/J2DGraph/J2DAnmLoader.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMaterial.h"
|
||||
#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h"
|
||||
#include "d/meter/d_meter2_info.h"
|
||||
#include "f_op/f_op_msg_mng.h"
|
||||
#include "dol2asm.h"
|
||||
@@ -441,7 +443,7 @@ SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
|
||||
};
|
||||
|
||||
/* 803BA854-803BA860 017974 000C+00 3/3 0/0 0/0 .data SelStartFrameTbl */
|
||||
SECTION_DATA static u32 SelStartFrameTbl[3] = {
|
||||
SECTION_DATA static s32 SelStartFrameTbl[3] = {
|
||||
0x0000003B,
|
||||
0x00000063,
|
||||
0x0000008B,
|
||||
@@ -455,14 +457,14 @@ SECTION_DATA static s32 SelEndFrameTbl[3] = {
|
||||
};
|
||||
|
||||
/* 803BA86C-803BA878 01798C 000C+00 7/7 0/0 0/0 .data SelOpenStartFrameTbl */
|
||||
SECTION_DATA static u32 SelOpenStartFrameTbl[3] = {
|
||||
SECTION_DATA static s32 SelOpenStartFrameTbl[3] = {
|
||||
0x000000F8,
|
||||
0x000001C0,
|
||||
0x00000288,
|
||||
};
|
||||
|
||||
/* 803BA878-803BA884 017998 000C+00 7/7 0/0 0/0 .data SelOpenEndFrameTbl */
|
||||
SECTION_DATA static u32 SelOpenEndFrameTbl[3] = {
|
||||
SECTION_DATA static s32 SelOpenEndFrameTbl[3] = {
|
||||
0x00000103,
|
||||
0x000001CC,
|
||||
0x00000293,
|
||||
@@ -2693,14 +2695,14 @@ asm void dFile_select_c::dataSelectAnmSet() {
|
||||
|
||||
/* 80185DE0-80186088 180720 02A8+00 1/0 0/0 0/0 .text dataSelectMoveAnime__14dFile_select_cFv */
|
||||
#ifdef NONMATCHING
|
||||
// still alot wrong
|
||||
// matches with literals
|
||||
void dFile_select_c::dataSelectMoveAnime() {
|
||||
int iVar7 = 1;
|
||||
int iVar6 = 1;
|
||||
bool iVar7 = true;
|
||||
bool iVar6 = true;
|
||||
bool bVar1 = true;
|
||||
if (mLastSelectNum != 0xff) {
|
||||
field_0x0188[mLastSelectNum]->alphaAnime(g_fsHIO.field_0x0006,0xff,0,1);
|
||||
selectWakuAlpahAnm(mLastSelectNum);
|
||||
iVar7 = field_0x0188[mLastSelectNum]->alphaAnime(g_fsHIO.field_0x0006,0xff,0,1);
|
||||
iVar6 = selectWakuAlpahAnm(mLastSelectNum);
|
||||
|
||||
if (field_0x00e0[mLastSelectNum] != SelStartFrameTbl[mLastSelectNum]) {
|
||||
field_0x00e0[mLastSelectNum] = field_0x00e0[mLastSelectNum] - 2;
|
||||
@@ -2714,16 +2716,16 @@ void dFile_select_c::dataSelectMoveAnime() {
|
||||
}
|
||||
}
|
||||
|
||||
int iVar5 = 1;
|
||||
bool iVar5 = true;
|
||||
bool bVar2 = true;
|
||||
|
||||
if (mSelectNum != 0xff) {
|
||||
field_0x0188[mSelectNum]->alphaAnime(g_fsHIO.field_0x0006,0,0xff,1);
|
||||
iVar5 = field_0x0188[mSelectNum]->alphaAnime(g_fsHIO.field_0x0006,0,0xff,1);
|
||||
|
||||
if (field_0x00e0[mSelectNum] != SelEndFrameTbl[mSelectNum]) {
|
||||
field_0x00e0[mSelectNum] = field_0x00e0[mSelectNum] + 2;
|
||||
|
||||
if (SelEndFrameTbl[mSelectNum] < field_0x00e0[mSelectNum])
|
||||
if (field_0x00e0[mSelectNum] > SelEndFrameTbl[mSelectNum])
|
||||
field_0x00e0[mSelectNum] = SelEndFrameTbl[mSelectNum];
|
||||
|
||||
field_0x0084->setFrame(field_0x00e0[mSelectNum]);
|
||||
@@ -2732,7 +2734,7 @@ void dFile_select_c::dataSelectMoveAnime() {
|
||||
}
|
||||
}
|
||||
|
||||
if (iVar7 == 1 && iVar6 == 1 && bVar1 && (iVar5 == 1 && !bVar2)) {
|
||||
if (iVar7 == true && iVar6 == true && bVar1 == true && iVar5 == true && bVar2 == true) {
|
||||
if (mSelectNum != 0xff) {
|
||||
field_0x00bc[mSelectNum]->getPanePtr()->setAnimation((J2DAnmTransform*)0);
|
||||
selFileCursorShow();
|
||||
@@ -5719,9 +5721,10 @@ asm void dDlst_FileSelCp_c::draw() {
|
||||
|
||||
/* 8018E0C0-8018E0F8 188A00 0038+00 1/0 0/0 0/0 .text draw__17dDlst_FileSelYn_cFv */
|
||||
#ifdef NONMATCHING
|
||||
// matches with literals
|
||||
void dDlst_FileSelYn_c::draw() {
|
||||
J2DGrafContext* graf = dComIfGp_getCurrentGrafPort();
|
||||
mpScreen->draw(0.0f, 0.0f, graf);
|
||||
ScrYn->draw(0.0f, 0.0f, graf);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
@@ -5736,9 +5739,10 @@ asm void dDlst_FileSelYn_c::draw() {
|
||||
|
||||
/* 8018E0F8-8018E130 188A38 0038+00 1/0 0/0 0/0 .text draw__17dDlst_FileSel3m_cFv */
|
||||
#ifdef NONMATCHING
|
||||
// matches with literals
|
||||
void dDlst_FileSel3m_c::draw() {
|
||||
J2DGrafContext* graf = dComIfGp_getCurrentGrafPort();
|
||||
mpScreen->draw(0.0f, 0.0f, graf);
|
||||
Scr3m->draw(0.0f, 0.0f, graf);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
@@ -6603,6 +6607,7 @@ bool dFile_select_c::fileRecScaleAnm() {
|
||||
/* 8018FE64-8018FEF4 18A7A4 0090+00 2/2 0/0 0/0 .text fileRecScaleAnmInitSet2__14dFile_select_cFff
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
// matches with literals
|
||||
void dFile_select_c::fileRecScaleAnmInitSet2(f32 param_1, f32 param_2) {
|
||||
for (int i = 0; (int)i < 3; i++) {
|
||||
field_0x00c8[i] = param_1;
|
||||
|
||||
+295
-313
@@ -6,10 +6,13 @@
|
||||
#include "d/kankyo/d_kankyo.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMaterial.h"
|
||||
#include "SSystem/SComponent/c_counter.h"
|
||||
#include "SSystem/SComponent/c_math.h"
|
||||
#include "d/a/d_a_player.h"
|
||||
#include "d/meter/d_meter2_info.h"
|
||||
#include "dol2asm.h"
|
||||
#include "m_Do/m_Do_graphic.h"
|
||||
#include "rel/d/a/kytag/d_a_kytag08/d_a_kytag08.h"
|
||||
#include "d/kankyo/d_kankyo_rain.h"
|
||||
#include "d/kankyo/d_kankyo_static.h"
|
||||
#include "string.h"
|
||||
|
||||
@@ -995,60 +998,62 @@ SECTION_SDATA2 static f32 lit_4509 = 4.0f;
|
||||
SECTION_SDATA2 static f32 lit_4510 = -2.0f;
|
||||
|
||||
/* 8019D2C4-8019D44C 197C04 0188+00 3/2 0/0 0/0 .text dKy_GXInitLightSpot__FP12J3DLightInfofUc */
|
||||
// should be equivalent, but storing floats in psq registers?
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
static void dKy_GXInitLightSpot(J3DLightInfo* param_0, f32 param_1, u8 param_2) {
|
||||
if (param_1 <= 0.0f || param_1 > 90.0f) {
|
||||
param_2 = 0;
|
||||
}
|
||||
|
||||
f32 temp_f1;
|
||||
f32 var_f4 = cosf((param_1 * M_PI) / 180.0f);
|
||||
Vec var_f6;
|
||||
f32 x, y, z;
|
||||
|
||||
switch (param_2) {
|
||||
case 1:
|
||||
var_f6.x = var_f4 * -1000.0f;
|
||||
var_f6.y = 1000.0f;
|
||||
var_f6.z = 0.0f;
|
||||
x = var_f4 * -1000.0f;
|
||||
y = 1000.0f;
|
||||
z = 0.0f;
|
||||
break;
|
||||
case 2:
|
||||
var_f6.x = -var_f4 / (1.0f - var_f4);
|
||||
var_f6.y = 1.0f / (1.0f - var_f4);
|
||||
var_f6.z = 0.0f;
|
||||
x = -var_f4 / (1.0f - var_f4);
|
||||
y = 1.0f / (1.0f - var_f4);
|
||||
z = 0.0f;
|
||||
break;
|
||||
case 3:
|
||||
var_f6.x = 0.0f;
|
||||
var_f6.y = -var_f4 / (1.0f - var_f4);
|
||||
var_f6.z = 1.0f / (1.0f - var_f4);
|
||||
x = 0.0f;
|
||||
y = -var_f4 / (1.0f - var_f4);
|
||||
z = 1.0f / (1.0f - var_f4);
|
||||
break;
|
||||
case 4:
|
||||
f32 temp_f1 = ((1.0f - var_f4) * (1.0f - var_f4));
|
||||
var_f6.x = (var_f4 * (var_f4 - 2.0f)) / temp_f1;
|
||||
var_f6.y = 2.0f / temp_f1;
|
||||
var_f6.z = -1.0f / temp_f1;
|
||||
temp_f1 = ((1.0f - var_f4) * (1.0f - var_f4));
|
||||
x = (var_f4 * (var_f4 - 2.0f)) / temp_f1;
|
||||
y = 2.0f / temp_f1;
|
||||
z = -1.0f / temp_f1;
|
||||
break;
|
||||
case 5:
|
||||
f32 temp_f1_2 = ((1.0f - var_f4) * (1.0f - var_f4));
|
||||
var_f6.x = (var_f4 * -4.0f) / temp_f1_2;
|
||||
var_f6.y = ((var_f4 + 1.0f) * 4.0f) / temp_f1_2;
|
||||
var_f6.z = -4.0f / temp_f1_2;
|
||||
temp_f1 = ((1.0f - var_f4) * (1.0f - var_f4));
|
||||
x = (var_f4 * -4.0f) / temp_f1;
|
||||
y = ((var_f4 + 1.0f) * 4.0f) / temp_f1;
|
||||
z = -4.0f / temp_f1;
|
||||
break;
|
||||
case 6:
|
||||
f32 temp_f1_3 = ((1.0f - var_f4) * (1.0f - var_f4));
|
||||
var_f6.x = 1.0f - (var_f4 * 2.0f * var_f4) / temp_f1_3;
|
||||
var_f6.y = (var_f4 * 4.0f) / temp_f1_3;
|
||||
var_f6.z = -2.0f / temp_f1_3;
|
||||
temp_f1 = ((1.0f - var_f4) * (1.0f - var_f4));
|
||||
x = 1.0f - (var_f4 * 2.0f * var_f4) / temp_f1;
|
||||
y = (var_f4 * 4.0f) / temp_f1;
|
||||
z = -2.0f / temp_f1;
|
||||
break;
|
||||
case 0:
|
||||
var_f6.x = 1.0f;
|
||||
var_f6.y = 0.0f;
|
||||
var_f6.z = 0.0f;
|
||||
default:
|
||||
x = 1.0f;
|
||||
y = 0.0f;
|
||||
z = 0.0f;
|
||||
break;
|
||||
}
|
||||
|
||||
param_0->mCosAtten.x = var_f6.x;
|
||||
param_0->mCosAtten.y = var_f6.y;
|
||||
param_0->mCosAtten.z = var_f6.z;
|
||||
param_0->mCosAtten.x = x;
|
||||
param_0->mCosAtten.y = y;
|
||||
param_0->mCosAtten.z = z;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
@@ -1204,9 +1209,8 @@ static s16 kankyo_color_ratio_set(u8 i_b0A, u8 i_b0B, f32 i_blendAB0, u8 i_b1A,
|
||||
s16 a = s16_data_ratio_set(i_b0A, i_b0B, i_blendAB0);
|
||||
s16 b = s16_data_ratio_set(i_b1A, i_b1B, i_blendAB0);
|
||||
s16 tmp = s16_data_ratio_set(a, b, i_blendAB1);
|
||||
s16 rt = tmp + i_add;
|
||||
s16 rt = dKy_getEnvlight()->mColAllcolRatio * i_mul * (s16)(tmp + i_add);
|
||||
|
||||
rt *= g_env_light.mColAllcolRatio * i_mul;
|
||||
if (rt < 0) {
|
||||
rt = 0;
|
||||
}
|
||||
@@ -1425,22 +1429,24 @@ SECTION_SDATA2 static f32 lit_4852[1 + 1 /* padding */] = {
|
||||
};
|
||||
|
||||
/* 8019DD6C-8019E13C 1986AC 03D0+00 3/3 0/0 0/0 .text dKy_light_influence_id__F4cXyzi */
|
||||
// regalloc, but equivalent?
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
static int dKy_light_influence_id(cXyz param_0, int param_1) {
|
||||
f32 var_f31 = 1000000.0f;
|
||||
|
||||
int var_r28 = -1;
|
||||
int var_r27 = -1;
|
||||
int j;
|
||||
int var_r25 = -1;
|
||||
int i;
|
||||
|
||||
f32 var_f30 = 800.0f;
|
||||
if (strcmp(dComIfGp_getStartStageName(), "D_MN09") == 0) {
|
||||
var_f30 = 250.0f;
|
||||
}
|
||||
|
||||
for (int i = 0; i <= param_1; i++) {
|
||||
for (int j = 0; j < 100; j++) {
|
||||
for (i = 0; i <= param_1; i++) {
|
||||
for (j = 0; j < 100; j++) {
|
||||
if (g_env_light.mPointLight[j] != NULL && (i == 0 || j != var_r28) &&
|
||||
g_env_light.mPointLight[j]->mPow > 0.01f)
|
||||
{
|
||||
@@ -1493,12 +1499,11 @@ static int dKy_light_influence_id(cXyz param_0, int param_1) {
|
||||
var_f31 = 1000000.0f;
|
||||
}
|
||||
|
||||
int ret = var_r27;
|
||||
if (param_1 == 0) {
|
||||
ret = var_r28;
|
||||
return var_r28;
|
||||
} else {
|
||||
return var_r27;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
@@ -1513,16 +1518,17 @@ static asm int dKy_light_influence_id(cXyz param_0, int param_1) {
|
||||
|
||||
/* 8019E13C-8019E404 198A7C 02C8+00 2/2 0/0 0/0 .text dKy_eflight_influence_id__F4cXyzi
|
||||
*/
|
||||
// regalloc, but equivalent?
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
static int dKy_eflight_influence_id(cXyz param_0, int param_1) {
|
||||
f32 var_f31 = 1000000.0f;
|
||||
|
||||
int var_r28 = -1;
|
||||
int var_r27 = -1;
|
||||
int j, i;
|
||||
|
||||
for (int i = 0; i <= param_1; i++) {
|
||||
for (int j = 0; j < 5; j++) {
|
||||
for (i = 0; i <= param_1; i++) {
|
||||
for (j = 0; j < 5; j++) {
|
||||
if (g_env_light.mEfPLight[j] != NULL && (i == 0 || j != var_r28)) {
|
||||
if (var_f31 > param_0.abs(g_env_light.mEfPLight[j]->mPosition) &&
|
||||
g_env_light.mEfPLight[j]->mPow > 0.01f)
|
||||
@@ -1540,12 +1546,11 @@ static int dKy_eflight_influence_id(cXyz param_0, int param_1) {
|
||||
var_f31 = 1000000.0f;
|
||||
}
|
||||
|
||||
int ret = var_r27;
|
||||
if (param_1 == 0) {
|
||||
ret = var_r28;
|
||||
return var_r28;
|
||||
} else {
|
||||
return var_r27;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
@@ -2642,13 +2647,14 @@ SECTION_SDATA2 static f32 lit_5840 = 1.0f / 15.0f;
|
||||
|
||||
/* 8019FBD4-801A0340 19A514 076C+00 5/3 0/0 0/0 .text
|
||||
* setLight_palno_get__18dScnKy_env_light_cFPUcPUcPUcPUcPUcPUcPUcPUcPfPiPiPfPUc */
|
||||
// problems with the loop. most issues should fix with a loop fix
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
void dScnKy_env_light_c::setLight_palno_get(u8* i_envrSel0, u8* i_envrSel1, u8* i_pSelIdx0,
|
||||
u8* i_pSelIdx1, u8* i_palIdx0A, u8* i_palIdx0B,
|
||||
u8* i_palIdx1A, u8* i_palIdx1B, f32* i_blendPalAB,
|
||||
int* i_pSelPalIdx0, int* i_pSelPalIdx1,
|
||||
f32* i_blendPal01, u8* i_initTimer) {
|
||||
stage_envr_info_class* envr_p;
|
||||
u8 psel_idx = 0;
|
||||
|
||||
if (*i_initTimer != 0) {
|
||||
@@ -2668,231 +2674,231 @@ void dScnKy_env_light_c::setLight_palno_get(u8* i_envrSel0, u8* i_envrSel1, u8*
|
||||
}
|
||||
}
|
||||
|
||||
dKyd_lightSchejule* schedule_p;
|
||||
for (int i = 0; i < 11; i++) {
|
||||
schedule_p = &mpSchedule[i];
|
||||
if (!(mDaytime >= mpSchedule[i].startTime && mDaytime <= mpSchedule[i].endTime)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (mDaytime >= schedule_p->startTime && mDaytime <= schedule_p->endTime) {
|
||||
*i_pSelPalIdx0 = mpSchedule[i].startTimeLight;
|
||||
*i_pSelPalIdx1 = mpSchedule[i].endTimeLight;
|
||||
*i_blendPalAB = get_parcent(mpSchedule[i].endTime, mpSchedule[i].startTime, mDaytime);
|
||||
|
||||
envr_p = &g_env_light.mpDmEnvr[*i_envrSel0];
|
||||
switch (*i_pSelIdx0) {
|
||||
case 0:
|
||||
psel_idx = envr_p->m_pselectID[0];
|
||||
break;
|
||||
case 1:
|
||||
psel_idx = envr_p->m_pselectID[1];
|
||||
break;
|
||||
case 2:
|
||||
psel_idx = envr_p->m_pselectID[2];
|
||||
break;
|
||||
case 3:
|
||||
psel_idx = envr_p->m_pselectID[3];
|
||||
break;
|
||||
case 4:
|
||||
psel_idx = envr_p->m_pselectID[4];
|
||||
break;
|
||||
case 5:
|
||||
psel_idx = envr_p->m_pselectID[5];
|
||||
break;
|
||||
case 6:
|
||||
psel_idx = envr_p->m_pselectID[6];
|
||||
break;
|
||||
case 7:
|
||||
psel_idx = envr_p->m_pselectID[7];
|
||||
break;
|
||||
default:
|
||||
if (*i_pSelIdx0 > 7 && *i_pSelIdx0 < 64) {
|
||||
psel_idx = envr_p->m_pselectID[*i_pSelIdx0];
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
*i_pSelPalIdx0 = schedule_p->startTimeLight;
|
||||
*i_pSelPalIdx1 = schedule_p->endTimeLight;
|
||||
*i_blendPalAB = get_parcent(schedule_p->endTime, schedule_p->startTime, mDaytime);
|
||||
|
||||
stage_envr_info_class* envr_p = &g_env_light.mpDmEnvr[*i_envrSel0];
|
||||
switch (*i_pSelIdx0) {
|
||||
case 0:
|
||||
psel_idx = envr_p->m_pselectID[0];
|
||||
break;
|
||||
case 1:
|
||||
psel_idx = envr_p->m_pselectID[1];
|
||||
break;
|
||||
case 2:
|
||||
psel_idx = envr_p->m_pselectID[2];
|
||||
break;
|
||||
case 3:
|
||||
psel_idx = envr_p->m_pselectID[3];
|
||||
break;
|
||||
case 4:
|
||||
psel_idx = envr_p->m_pselectID[4];
|
||||
break;
|
||||
case 5:
|
||||
psel_idx = envr_p->m_pselectID[5];
|
||||
break;
|
||||
case 6:
|
||||
psel_idx = envr_p->m_pselectID[6];
|
||||
break;
|
||||
case 7:
|
||||
psel_idx = envr_p->m_pselectID[7];
|
||||
break;
|
||||
default:
|
||||
if (*i_pSelIdx0 > 7 && *i_pSelIdx0 < 64) {
|
||||
psel_idx = envr_p->m_pselectID[*i_pSelIdx0];
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (g_env_light.mCameraInWater != 0 && strcmp(dComIfGp_getStartStageName(), "D_MN08D") != 0 &&
|
||||
strcmp(dComIfGp_getStartStageName(), "D_MN01A") != 0)
|
||||
{
|
||||
if (g_env_light.mColPatCurr == 0) {
|
||||
psel_idx = envr_p->m_pselectID[8];
|
||||
} else {
|
||||
psel_idx = envr_p->m_pselectID[9];
|
||||
}
|
||||
} else if (strcmp(dComIfGp_getStartStageName(), "R_SP127") == 0) {
|
||||
camera_class* camera_p = dComIfGp_getCamera(0);
|
||||
|
||||
if (camera_p != NULL && camera_p->mLookat.mEye.y < 0.0f) {
|
||||
psel_idx = envr_p->m_pselectID[10];
|
||||
}
|
||||
}
|
||||
|
||||
if (psel_idx > 250) {
|
||||
psel_idx = 0;
|
||||
}
|
||||
|
||||
stage_pselect_info_class* pselect_p = &g_env_light.mpDmPselect[psel_idx];
|
||||
switch (*i_pSelPalIdx0) {
|
||||
case 0:
|
||||
*i_palIdx0A = pselect_p->mPalIdx[0];
|
||||
break;
|
||||
case 1:
|
||||
*i_palIdx0A = pselect_p->mPalIdx[1];
|
||||
break;
|
||||
case 2:
|
||||
*i_palIdx0A = pselect_p->mPalIdx[2];
|
||||
break;
|
||||
case 3:
|
||||
*i_palIdx0A = pselect_p->mPalIdx[3];
|
||||
break;
|
||||
case 4:
|
||||
*i_palIdx0A = pselect_p->mPalIdx[4];
|
||||
break;
|
||||
case 5:
|
||||
*i_palIdx0A = pselect_p->mPalIdx[5];
|
||||
break;
|
||||
}
|
||||
|
||||
switch (*i_pSelPalIdx1) {
|
||||
case 0:
|
||||
*i_palIdx0B = pselect_p->mPalIdx[0];
|
||||
break;
|
||||
case 1:
|
||||
*i_palIdx0B = pselect_p->mPalIdx[1];
|
||||
break;
|
||||
case 2:
|
||||
*i_palIdx0B = pselect_p->mPalIdx[2];
|
||||
break;
|
||||
case 3:
|
||||
*i_palIdx0B = pselect_p->mPalIdx[3];
|
||||
break;
|
||||
case 4:
|
||||
*i_palIdx0B = pselect_p->mPalIdx[4];
|
||||
break;
|
||||
case 5:
|
||||
*i_palIdx0B = pselect_p->mPalIdx[5];
|
||||
break;
|
||||
}
|
||||
|
||||
envr_p = &g_env_light.mpDmEnvr[*i_envrSel1];
|
||||
switch (*i_pSelIdx1) {
|
||||
case 0:
|
||||
psel_idx = envr_p->m_pselectID[0];
|
||||
break;
|
||||
case 1:
|
||||
psel_idx = envr_p->m_pselectID[1];
|
||||
break;
|
||||
case 2:
|
||||
psel_idx = envr_p->m_pselectID[2];
|
||||
break;
|
||||
case 3:
|
||||
psel_idx = envr_p->m_pselectID[3];
|
||||
break;
|
||||
case 4:
|
||||
psel_idx = envr_p->m_pselectID[4];
|
||||
break;
|
||||
case 5:
|
||||
psel_idx = envr_p->m_pselectID[5];
|
||||
break;
|
||||
case 6:
|
||||
psel_idx = envr_p->m_pselectID[6];
|
||||
break;
|
||||
case 7:
|
||||
psel_idx = envr_p->m_pselectID[7];
|
||||
break;
|
||||
default:
|
||||
if (*i_pSelIdx1 > 7 && *i_pSelIdx1 < 64) {
|
||||
psel_idx = envr_p->m_pselectID[*i_pSelIdx1];
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (psel_idx > 250) {
|
||||
psel_idx = 0;
|
||||
}
|
||||
|
||||
pselect_p = &g_env_light.mpDmPselect[psel_idx];
|
||||
if (*i_envrSel0 != *i_envrSel1 || *i_pSelIdx0 != *i_pSelIdx1) {
|
||||
if (pselect_p->mChangeRate < 0.033333335f) {
|
||||
pselect_p->mChangeRate = 0.033333335f;
|
||||
}
|
||||
|
||||
if (g_env_light.mColPatMode == 0) {
|
||||
if (pselect_p->mChangeRate > 0.0f) {
|
||||
*i_blendPal01 += 0.033333335f / pselect_p->mChangeRate;
|
||||
if (g_env_light.mCameraInWater != 0 && strcmp(dComIfGp_getStartStageName(), "D_MN08D") != 0
|
||||
&& strcmp(dComIfGp_getStartStageName(), "D_MN01A") != 0)
|
||||
{
|
||||
if (g_env_light.mColPatCurr == 0) {
|
||||
psel_idx = envr_p->m_pselectID[8];
|
||||
} else {
|
||||
psel_idx = envr_p->m_pselectID[9];
|
||||
}
|
||||
} else if (strcmp(dComIfGp_getStartStageName(), "R_SP127") == 0) {
|
||||
camera_class* camera_p = dComIfGp_getCamera(0);
|
||||
|
||||
if (strcmp(dComIfGp_getStartStageName(), "F_SP121") == 0 && *i_pSelIdx0 == *i_pSelIdx1)
|
||||
{
|
||||
*i_blendPal01 += 0.06666667f;
|
||||
}
|
||||
|
||||
if (*i_blendPal01 >= 1.0f) {
|
||||
*i_envrSel0 = *i_envrSel1;
|
||||
*i_pSelIdx0 = *i_pSelIdx1;
|
||||
*i_blendPal01 = 1.0f;
|
||||
if (camera_p != NULL && camera_p->mLookat.mEye.y < 0.0f) {
|
||||
psel_idx = envr_p->m_pselectID[10];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (g_env_light.mCameraInWater != 0 && strcmp(dComIfGp_getStartStageName(), "D_MN08D") != 0 &&
|
||||
strcmp(dComIfGp_getStartStageName(), "D_MN01A") != 0)
|
||||
{
|
||||
if (g_env_light.mColPatCurr == 0) {
|
||||
pselect_p = &g_env_light.mpDmPselect[envr_p->m_pselectID[8]];
|
||||
} else {
|
||||
pselect_p = &g_env_light.mpDmPselect[envr_p->m_pselectID[9]];
|
||||
if (psel_idx > 250) {
|
||||
psel_idx = 0;
|
||||
}
|
||||
} else if (strcmp(dComIfGp_getStartStageName(), "R_SP127") == 0) {
|
||||
camera_class* camera_p = dComIfGp_getCamera(0);
|
||||
|
||||
if (camera_p != NULL && camera_p->mLookat.mEye.y < 0.0f) {
|
||||
pselect_p = &g_env_light.mpDmPselect[envr_p->m_pselectID[10]];
|
||||
stage_pselect_info_class* pselect_p = &g_env_light.mpDmPselect[psel_idx];
|
||||
switch (*i_pSelPalIdx0) {
|
||||
case 0:
|
||||
*i_palIdx0A = pselect_p->mPalIdx[0];
|
||||
break;
|
||||
case 1:
|
||||
*i_palIdx0A = pselect_p->mPalIdx[1];
|
||||
break;
|
||||
case 2:
|
||||
*i_palIdx0A = pselect_p->mPalIdx[2];
|
||||
break;
|
||||
case 3:
|
||||
*i_palIdx0A = pselect_p->mPalIdx[3];
|
||||
break;
|
||||
case 4:
|
||||
*i_palIdx0A = pselect_p->mPalIdx[4];
|
||||
break;
|
||||
case 5:
|
||||
*i_palIdx0A = pselect_p->mPalIdx[5];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
switch (*i_pSelPalIdx0) {
|
||||
case 0:
|
||||
*i_palIdx1A = pselect_p->mPalIdx[0];
|
||||
break;
|
||||
case 1:
|
||||
*i_palIdx1A = pselect_p->mPalIdx[1];
|
||||
break;
|
||||
case 2:
|
||||
*i_palIdx1A = pselect_p->mPalIdx[2];
|
||||
break;
|
||||
case 3:
|
||||
*i_palIdx1A = pselect_p->mPalIdx[3];
|
||||
break;
|
||||
case 4:
|
||||
*i_palIdx1A = pselect_p->mPalIdx[4];
|
||||
break;
|
||||
case 5:
|
||||
*i_palIdx1A = pselect_p->mPalIdx[5];
|
||||
break;
|
||||
}
|
||||
switch (*i_pSelPalIdx1) {
|
||||
case 0:
|
||||
*i_palIdx0B = pselect_p->mPalIdx[0];
|
||||
break;
|
||||
case 1:
|
||||
*i_palIdx0B = pselect_p->mPalIdx[1];
|
||||
break;
|
||||
case 2:
|
||||
*i_palIdx0B = pselect_p->mPalIdx[2];
|
||||
break;
|
||||
case 3:
|
||||
*i_palIdx0B = pselect_p->mPalIdx[3];
|
||||
break;
|
||||
case 4:
|
||||
*i_palIdx0B = pselect_p->mPalIdx[4];
|
||||
break;
|
||||
case 5:
|
||||
*i_palIdx0B = pselect_p->mPalIdx[5];
|
||||
break;
|
||||
}
|
||||
|
||||
envr_p = &g_env_light.mpDmEnvr[*i_envrSel1];
|
||||
switch (*i_pSelIdx1) {
|
||||
case 0:
|
||||
psel_idx = envr_p->m_pselectID[0];
|
||||
break;
|
||||
case 1:
|
||||
psel_idx = envr_p->m_pselectID[1];
|
||||
break;
|
||||
case 2:
|
||||
psel_idx = envr_p->m_pselectID[2];
|
||||
break;
|
||||
case 3:
|
||||
psel_idx = envr_p->m_pselectID[3];
|
||||
break;
|
||||
case 4:
|
||||
psel_idx = envr_p->m_pselectID[4];
|
||||
break;
|
||||
case 5:
|
||||
psel_idx = envr_p->m_pselectID[5];
|
||||
break;
|
||||
case 6:
|
||||
psel_idx = envr_p->m_pselectID[6];
|
||||
break;
|
||||
case 7:
|
||||
psel_idx = envr_p->m_pselectID[7];
|
||||
break;
|
||||
default:
|
||||
if (*i_pSelIdx1 > 7 && *i_pSelIdx1 < 64) {
|
||||
psel_idx = envr_p->m_pselectID[*i_pSelIdx1];
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (psel_idx > 250) {
|
||||
psel_idx = 0;
|
||||
}
|
||||
|
||||
pselect_p = &g_env_light.mpDmPselect[psel_idx];
|
||||
if (*i_envrSel0 != *i_envrSel1 || *i_pSelIdx0 != *i_pSelIdx1) {
|
||||
if (pselect_p->mChangeRate < 0.033333335f) {
|
||||
pselect_p->mChangeRate = 0.033333335f;
|
||||
}
|
||||
|
||||
if (g_env_light.mColPatMode == 0) {
|
||||
if (pselect_p->mChangeRate > 0.0f) {
|
||||
*i_blendPal01 += 0.033333335f / pselect_p->mChangeRate;
|
||||
}
|
||||
|
||||
if (strcmp(dComIfGp_getStartStageName(), "F_SP121") == 0
|
||||
&& *i_pSelIdx0 == *i_pSelIdx1)
|
||||
{
|
||||
*i_blendPal01 += 0.06666667f;
|
||||
}
|
||||
|
||||
if (*i_blendPal01 >= 1.0f) {
|
||||
*i_envrSel0 = *i_envrSel1;
|
||||
*i_pSelIdx0 = *i_pSelIdx1;
|
||||
*i_blendPal01 = 1.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (g_env_light.mCameraInWater != 0 && strcmp(dComIfGp_getStartStageName(), "D_MN08D") != 0
|
||||
&& strcmp(dComIfGp_getStartStageName(), "D_MN01A") != 0)
|
||||
{
|
||||
if (g_env_light.mColPatCurr == 0) {
|
||||
pselect_p = &g_env_light.mpDmPselect[envr_p->m_pselectID[8]];
|
||||
} else {
|
||||
pselect_p = &g_env_light.mpDmPselect[envr_p->m_pselectID[9]];
|
||||
}
|
||||
} else if (strcmp(dComIfGp_getStartStageName(), "R_SP127") == 0) {
|
||||
camera_class* camera_p = dComIfGp_getCamera(0);
|
||||
|
||||
if (camera_p != NULL && camera_p->mLookat.mEye.y < 0.0f) {
|
||||
pselect_p = &g_env_light.mpDmPselect[envr_p->m_pselectID[10]];
|
||||
}
|
||||
}
|
||||
|
||||
switch (*i_pSelPalIdx0) {
|
||||
case 0:
|
||||
*i_palIdx1A = pselect_p->mPalIdx[0];
|
||||
break;
|
||||
case 1:
|
||||
*i_palIdx1A = pselect_p->mPalIdx[1];
|
||||
break;
|
||||
case 2:
|
||||
*i_palIdx1A = pselect_p->mPalIdx[2];
|
||||
break;
|
||||
case 3:
|
||||
*i_palIdx1A = pselect_p->mPalIdx[3];
|
||||
break;
|
||||
case 4:
|
||||
*i_palIdx1A = pselect_p->mPalIdx[4];
|
||||
break;
|
||||
case 5:
|
||||
*i_palIdx1A = pselect_p->mPalIdx[5];
|
||||
break;
|
||||
}
|
||||
|
||||
switch (*i_pSelPalIdx1) {
|
||||
case 0:
|
||||
*i_palIdx1B = pselect_p->mPalIdx[0];
|
||||
break;
|
||||
case 1:
|
||||
*i_palIdx1B = pselect_p->mPalIdx[1];
|
||||
break;
|
||||
case 2:
|
||||
*i_palIdx1B = pselect_p->mPalIdx[2];
|
||||
break;
|
||||
case 3:
|
||||
*i_palIdx1B = pselect_p->mPalIdx[3];
|
||||
break;
|
||||
case 4:
|
||||
*i_palIdx1B = pselect_p->mPalIdx[4];
|
||||
break;
|
||||
case 5:
|
||||
*i_palIdx1B = pselect_p->mPalIdx[5];
|
||||
break;
|
||||
}
|
||||
|
||||
switch (*i_pSelPalIdx1) {
|
||||
case 0:
|
||||
*i_palIdx1B = pselect_p->mPalIdx[0];
|
||||
break;
|
||||
case 1:
|
||||
*i_palIdx1B = pselect_p->mPalIdx[1];
|
||||
break;
|
||||
case 2:
|
||||
*i_palIdx1B = pselect_p->mPalIdx[2];
|
||||
break;
|
||||
case 3:
|
||||
*i_palIdx1B = pselect_p->mPalIdx[3];
|
||||
break;
|
||||
case 4:
|
||||
*i_palIdx1B = pselect_p->mPalIdx[4];
|
||||
break;
|
||||
case 5:
|
||||
*i_palIdx1B = pselect_p->mPalIdx[5];
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -2986,7 +2992,7 @@ inline bool checkZoraWearFlg() {
|
||||
}
|
||||
|
||||
/* 801A040C-801A133C 19AD4C 0F30+00 1/1 0/0 0/0 .text setLight__18dScnKy_env_light_cFv */
|
||||
// mostly done, a lot of regalloc but should be equivalent or near?
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
void dScnKy_env_light_c::setLight() {
|
||||
u8* init_timer = &g_env_light.mInitAnmTimer;
|
||||
@@ -3077,12 +3083,11 @@ void dScnKy_env_light_c::setLight() {
|
||||
pale0_p->mBgAmbColor3A, pale1_p->mBgAmbColor3A, blendAB, pale2_p->mBgAmbColor3A,
|
||||
pale3_p->mBgAmbColor3A, g_env_light.mColPatBlend, 0, 1.0f);
|
||||
|
||||
mPaletteTerrainLightEffect =
|
||||
kankyo_color_ratio_set(
|
||||
pale0_p->mTerrainLightInfluence, pale1_p->mTerrainLightInfluence, blendAB,
|
||||
pale2_p->mTerrainLightInfluence, pale3_p->mTerrainLightInfluence,
|
||||
g_env_light.mColPatBlend, 0, 1.0f) *
|
||||
0.01f;
|
||||
s16 tmp = kankyo_color_ratio_set(
|
||||
pale0_p->mTerrainLightInfluence, pale1_p->mTerrainLightInfluence, blendAB,
|
||||
pale2_p->mTerrainLightInfluence, pale3_p->mTerrainLightInfluence,
|
||||
g_env_light.mColPatBlend, 0, 1.0f);
|
||||
mPaletteTerrainLightEffect = tmp * 0.01f;
|
||||
if (mPaletteTerrainLightEffect > 2.0f) {
|
||||
mPaletteTerrainLightEffect = 1.0f;
|
||||
}
|
||||
@@ -3092,7 +3097,7 @@ void dScnKy_env_light_c::setLight() {
|
||||
pale2_p->mCloudShadowDensity, pale3_p->mCloudShadowDensity,
|
||||
g_env_light.mColPatBlend, 0, 1.0f);
|
||||
if (daPy_py_c::checkNowWolfPowerUp()) {
|
||||
mFogDensity = 0xFF;
|
||||
mFogDensity = -1;
|
||||
}
|
||||
|
||||
for (int i = 0; i < 6; i++) {
|
||||
@@ -3144,8 +3149,8 @@ void dScnKy_env_light_c::setLight() {
|
||||
|
||||
f32 temp_f31;
|
||||
if (g_env_light.field_0x12fc >= 0) {
|
||||
bloomIdx3 = g_env_light.field_0x12fc;
|
||||
bloomIdx1 = g_env_light.field_0x12fc;
|
||||
bloomIdx3 = g_env_light.field_0x12fc;
|
||||
temp_f31 = blendAB;
|
||||
blendAB = g_env_light.field_0x1278;
|
||||
}
|
||||
@@ -3427,8 +3432,6 @@ asm void dScnKy_env_light_c::setLight() {
|
||||
|
||||
/* 801A133C-801A16C0 19BC7C 0384+00 2/2 0/0 0/0 .text
|
||||
* setLight_bg__18dScnKy_env_light_cFP12dKy_tevstr_cP11_GXColorS10P11_GXColorS10PfPf */
|
||||
// regalloc, but equivalent i think
|
||||
#ifdef NONMATCHING
|
||||
void dScnKy_env_light_c::setLight_bg(dKy_tevstr_c* i_tevstr, GXColorS10* param_1,
|
||||
GXColorS10* param_2, f32* i_fogStartZ, f32* i_fogEndZ) {
|
||||
i_tevstr->mColpatPrev = g_env_light.mColPatPrev;
|
||||
@@ -3445,6 +3448,7 @@ void dScnKy_env_light_c::setLight_bg(dKy_tevstr_c* i_tevstr, GXColorS10* param_1
|
||||
f32 blendAB;
|
||||
int palIdx0;
|
||||
int palIdx1;
|
||||
int i;
|
||||
setLight_palno_get(&i_tevstr->mEnvrIdxPrev, &i_tevstr->mEnvrIdxCurr, &i_tevstr->mColpatPrev,
|
||||
&i_tevstr->mColpatCurr, &pale0, &pale1, &pale2, &pale3, &blendAB, &palIdx0,
|
||||
&palIdx1, &i_tevstr->mColpatBlend, &i_tevstr->mInitTimer);
|
||||
@@ -3477,7 +3481,7 @@ void dScnKy_env_light_c::setLight_bg(dKy_tevstr_c* i_tevstr, GXColorS10* param_1
|
||||
param_1[0].a = 255;
|
||||
|
||||
GXColorS10 sp50[6];
|
||||
for (int i = 0; i < 6; i++) {
|
||||
for (i = 0; i < 6; i++) {
|
||||
dKy_calc_color_set(&sp50[i], &pale0_p->mPlightColor[i], &pale2_p->mPlightColor[i],
|
||||
&pale1_p->mPlightColor[i], &pale3_p->mPlightColor[i], blendAB,
|
||||
i_tevstr->mColpatBlend, mBgAddColAmb, g_env_light.mColBgColRatio);
|
||||
@@ -3518,17 +3522,6 @@ void dScnKy_env_light_c::setLight_bg(dKy_tevstr_c* i_tevstr, GXColorS10* param_1
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dScnKy_env_light_c::setLight_bg(dKy_tevstr_c* param_0, _GXColorS10* param_1,
|
||||
_GXColorS10* param_2, f32* param_3, f32* param_4) {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/setLight_bg__18dScnKy_env_light_cFP12dKy_tevstr_cP11_GXColorS10P11_GXColorS10PfPf.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 801A16C0-801A1D64 19C000 06A4+00 1/1 0/0 0/0 .text
|
||||
* setLight_actor__18dScnKy_env_light_cFP12dKy_tevstr_cP11_GXColorS10PfPf */
|
||||
@@ -3543,6 +3536,7 @@ void dScnKy_env_light_c::setLight_actor(dKy_tevstr_c* i_tevstr, GXColorS10* i_fo
|
||||
f32 blendAB;
|
||||
int palIdx0;
|
||||
int palIdx1;
|
||||
int i;
|
||||
|
||||
i_tevstr->mColpatPrev = g_env_light.mColPatPrev;
|
||||
i_tevstr->mColpatCurr = g_env_light.mColPatCurr;
|
||||
@@ -3590,7 +3584,7 @@ void dScnKy_env_light_c::setLight_actor(dKy_tevstr_c* i_tevstr, GXColorS10* i_fo
|
||||
}
|
||||
|
||||
GXColorS10 sp88[6];
|
||||
for (int i = 0; i < 6; i++) {
|
||||
for (i = 0; i < 6; i++) {
|
||||
J3DLightInfo& light_info = i_tevstr->mLights[i].getLightInfo();
|
||||
|
||||
if (i == 0) {
|
||||
@@ -3819,36 +3813,25 @@ asm void dScnKy_env_light_c::settingTevStruct_colget_player(dKy_tevstr_c* param_
|
||||
#endif
|
||||
|
||||
/* 801A2090-801A2128 19C9D0 0098+00 1/1 0/0 0/0 .text cLib_addCalcU8__FPUcUcss */
|
||||
// regalloc / extra clrlwis
|
||||
#ifdef NONMATCHING
|
||||
static void cLib_addCalcU8(u8* i_value, u8 param_1, s16 param_2, s16 param_3) {
|
||||
u8 temp_r30 = *i_value;
|
||||
static void cLib_addCalcU8(u8* i_value, u8 i_target, s16 i_scale, s16 i_maxStep) {
|
||||
s16 step, value;
|
||||
value = *i_value;
|
||||
|
||||
s16 var_r31 = param_1 - *i_value;
|
||||
if (abs(var_r31) >= param_2) {
|
||||
var_r31 /= param_2;
|
||||
step = i_target - value;
|
||||
if (abs(step) >= i_scale) {
|
||||
step /= i_scale;
|
||||
}
|
||||
|
||||
if (var_r31 > param_3) {
|
||||
temp_r30 += param_3;
|
||||
} else if (var_r31 < -param_3) {
|
||||
temp_r30 -= param_3;
|
||||
if (step > i_maxStep) {
|
||||
value += i_maxStep;
|
||||
} else if (step < -i_maxStep) {
|
||||
value -= i_maxStep;
|
||||
} else {
|
||||
temp_r30 += var_r31;
|
||||
value += step;
|
||||
}
|
||||
|
||||
*i_value = temp_r30;
|
||||
*i_value = value;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void cLib_addCalcU8(u8* param_0, u8 param_1, s16 param_2, s16 param_3) {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo/cLib_addCalcU8__FPUcUcss.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80453D14-80453D18 002314 0004+00 1/1 0/0 0/0 .sdata2 @6761 */
|
||||
@@ -4033,7 +4016,7 @@ void dScnKy_env_light_c::settingTevStruct(int i_tevstrType, cXyz* param_1, dKy_t
|
||||
dKyr_get_vectle_calc(&spA4, &temp_r30->mLookat.mEye, &sp98);
|
||||
|
||||
for (int i = 0; i < 6; i++) {
|
||||
J3DLightInfo& light_info = i_tevstr->field_0x074[i].getLightInfo();
|
||||
J3DLightInfo& light_info = i_tevstr->mLights[i].getLightInfo();
|
||||
|
||||
if (i == 0) {
|
||||
if (!dKy_darkworld_check()) {
|
||||
@@ -4151,7 +4134,7 @@ void dScnKy_env_light_c::settingTevStruct(int i_tevstrType, cXyz* param_1, dKy_t
|
||||
fog_z_end = 30000.0f;
|
||||
|
||||
for (int i = 0; i < 6; i++) {
|
||||
J3DLightInfo& temp_r31 = i_tevstr->field_0x074[i].getLightInfo();
|
||||
J3DLightInfo& temp_r31 = i_tevstr->mLights[i].getLightInfo();
|
||||
|
||||
if (i == 0) {
|
||||
if (i_tevstrType == 12) {
|
||||
@@ -4376,8 +4359,7 @@ void dScnKy_env_light_c::settingTevStruct(int i_tevstrType, cXyz* param_1, dKy_t
|
||||
light_info.mDistAtten.z = 0.0f;
|
||||
}
|
||||
|
||||
i_tevstr->mLightPosWorld = g_env_light.mBaseLightInfluence.mPosition;
|
||||
// i_tevstr->mLightPosWorld = env_light->mBaseLightInfluence.mPosition;
|
||||
i_tevstr->mLightPosWorld = env_light->mBaseLightInfluence.mPosition;
|
||||
}
|
||||
|
||||
field_0x10f0.a = 255;
|
||||
@@ -4560,7 +4542,7 @@ asm void dScnKy_env_light_c::SetBaseLight() {
|
||||
|
||||
/* 801A5288-801A56DC 19FBC8 0454+00 1/1 0/0 0/0 .text exeKankyo__18dScnKy_env_light_cFv
|
||||
*/
|
||||
// regalloc
|
||||
// one instruction swap
|
||||
#ifdef NONMATCHING
|
||||
void dScnKy_env_light_c::exeKankyo() {
|
||||
for (int i = 0; i < 6; i++) {
|
||||
@@ -4569,13 +4551,13 @@ void dScnKy_env_light_c::exeKankyo() {
|
||||
if (field_0x0d58[i].field_0x26 != 0) {
|
||||
field_0x0d58[i].field_0x26 = 0;
|
||||
dKy_BossLight_set(&field_0x0d58[i].mPos, &field_0x0d58[i].mColor,
|
||||
field_0x0d58[i].field_0x10, 0);
|
||||
field_0x0d58[i].mRefDistance, 0);
|
||||
}
|
||||
}
|
||||
|
||||
g_env_light.mColPatMode = g_env_light.mColPatModeGather;
|
||||
|
||||
if (!dComIfGp_event_runCheck() && g_env_light.mColPatModeGather != 0) {
|
||||
if (dComIfGp_event_runCheck() == false && g_env_light.mColPatModeGather != 0) {
|
||||
if (g_env_light.mColPatModeGather >= 3) {
|
||||
g_env_light.mColPatModeGather = 0;
|
||||
} else {
|
||||
@@ -4616,7 +4598,7 @@ void dScnKy_env_light_c::exeKankyo() {
|
||||
if (g_env_light.mColpatCurrGather != 0xFF) {
|
||||
g_env_light.mColPatCurr = g_env_light.mColpatCurrGather;
|
||||
g_env_light.mColpatCurrGather = 0xFF;
|
||||
g_env_light.mColpatWeather = g_env_light.mColpatCurrGather;
|
||||
g_env_light.mColpatWeather = g_env_light.mColPatCurr;
|
||||
}
|
||||
|
||||
if (g_env_light.mColPatBlendGather >= 0.0f) {
|
||||
@@ -4673,7 +4655,7 @@ void dScnKy_env_light_c::exeKankyo() {
|
||||
}
|
||||
|
||||
if (strcmp(dComIfGp_getStartStageName(), "R_SP127") == 0) {
|
||||
if ((dCam_getBody()->mCurMode == 4 || dCam_getBody()->mCurMode == 7) &&
|
||||
if ((dCam_getBody()->Mode() == 4 || dCam_getBody()->Mode() == 7) &&
|
||||
dComIfGp_event_runCheck())
|
||||
{
|
||||
cLib_addCalc(&g_env_light.mDemoAttentionPoint, 0.0f, 0.5f, 0.1f, 1E-05f);
|
||||
@@ -5572,7 +5554,7 @@ void dKy_tevstr_init(dKy_tevstr_c* p_tevstr, s8 roomNo, u8 param_2) {
|
||||
p_tevstr->mLightObj.mInfo.mDistAtten.z = 0.0f;
|
||||
|
||||
for (int i = 0; i < 6; i++) {
|
||||
J3DLightObj* tev_light_p = &p_tevstr->field_0x074[i];
|
||||
J3DLightObj* tev_light_p = &p_tevstr->mLights[i];
|
||||
LightStatus* light_data_p = &lightStatusData[i];
|
||||
|
||||
tev_light_p->mInfo.mLightPosition = light_data_p->field_0x0;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: d/kankyo/d_kankyo_wether
|
||||
//
|
||||
/**
|
||||
* d_kankyo_wether.cpp
|
||||
* Weather Effects
|
||||
*/
|
||||
|
||||
#include "d/kankyo/d_kankyo_wether.h"
|
||||
#include "JSystem/J3DGraphBase/J3DDrawBuffer.h"
|
||||
@@ -9,221 +9,11 @@
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "d/kankyo/d_kankyo.h"
|
||||
#include "d/kankyo/d_kankyo_rain.h"
|
||||
#include "dol2asm.h"
|
||||
#include "string.h"
|
||||
#include "m_Do/m_Do_audio.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" static void dKyw_setDrawPacketList__FP9J3DPacketi();
|
||||
extern "C" static void dKyw_setDrawPacketListIndScreen__FP9J3DPacketi();
|
||||
extern "C" static void dKyw_setDrawPacketListSky__FP9J3DPacketi();
|
||||
extern "C" static void dKyw_setDrawPacketListXluBg__FP9J3DPacketi();
|
||||
extern "C" void draw__18dKankyo_sun_PacketFv();
|
||||
extern "C" void draw__22dKankyo_sunlenz_PacketFv();
|
||||
extern "C" void __dt__8RAIN_EFFFv();
|
||||
extern "C" void __ct__8RAIN_EFFFv();
|
||||
extern "C" void draw__19dKankyo_rain_PacketFv();
|
||||
extern "C" void __dt__8SNOW_EFFFv();
|
||||
extern "C" void __ct__8SNOW_EFFFv();
|
||||
extern "C" void draw__19dKankyo_snow_PacketFv();
|
||||
extern "C" void __dt__8STAR_EFFFv();
|
||||
extern "C" void __ct__8STAR_EFFFv();
|
||||
extern "C" void draw__19dKankyo_star_PacketFv();
|
||||
extern "C" void __dt__9CLOUD_EFFFv();
|
||||
extern "C" void __ct__9CLOUD_EFFFv();
|
||||
extern "C" void draw__20dKankyo_cloud_PacketFv();
|
||||
extern "C" void __dt__9HOUSI_EFFFv();
|
||||
extern "C" void __ct__9HOUSI_EFFFv();
|
||||
extern "C" void draw__20dKankyo_housi_PacketFv();
|
||||
extern "C" void __dt__10VRKUMO_EFFFv();
|
||||
extern "C" void __ct__10VRKUMO_EFFFv();
|
||||
extern "C" void draw__21dKankyo_vrkumo_PacketFv();
|
||||
extern "C" void __dt__12EF_ODOUR_EFFFv();
|
||||
extern "C" void __ct__12EF_ODOUR_EFFFv();
|
||||
extern "C" void draw__20dKankyo_odour_PacketFv();
|
||||
extern "C" void __dt__10EF_MUD_EFFFv();
|
||||
extern "C" void __ct__10EF_MUD_EFFFv();
|
||||
extern "C" void draw__18dKankyo_mud_PacketFv();
|
||||
extern "C" void __dt__11EF_EVIL_EFFFv();
|
||||
extern "C" void __ct__11EF_EVIL_EFFFv();
|
||||
extern "C" void draw__19dKankyo_evil_PacketFv();
|
||||
extern "C" static void dKyw_drawSun__Fi();
|
||||
extern "C" static void dKyw_Sun_Draw__Fv();
|
||||
extern "C" static void dKyw_drawSunlenz__Fi();
|
||||
extern "C" static void dKyw_Sunlenz_Draw__Fv();
|
||||
extern "C" static void dKyw_drawRain__Fi();
|
||||
extern "C" static void dKyw_Rain_Draw__Fv();
|
||||
extern "C" static void dKyw_drawSnow__Fi();
|
||||
extern "C" static void dKyw_Snow_Draw__Fv();
|
||||
extern "C" static void dKyw_drawStar__Fi();
|
||||
extern "C" static void dKyw_Star_Draw__Fv();
|
||||
extern "C" static void dKyw_drawHousi__Fi();
|
||||
extern "C" static void dKyw_Housi_Draw__Fv();
|
||||
extern "C" static void dKyw_drawCloud__Fi();
|
||||
extern "C" static void dKyw_Cloud_Draw__Fv();
|
||||
extern "C" static void dKyw_drawVrkumo__Fi();
|
||||
extern "C" static void dKyw_Vrkumo_Draw__Fv();
|
||||
extern "C" static void dKyw_shstar_packet__Fi();
|
||||
extern "C" static void dKyw_shstar_Draw__Fv();
|
||||
extern "C" static void dKyw_odour_packet__Fi();
|
||||
extern "C" static void dKyw_Odour_Draw__Fv();
|
||||
extern "C" static void dKyw_mud_packet__Fi();
|
||||
extern "C" static void dKyw_mud_Draw__Fv();
|
||||
extern "C" static void dKyw_evil_packet__Fi();
|
||||
extern "C" static void dKyw_evil_Draw__Fv();
|
||||
extern "C" void dKyw_wether_init__Fv();
|
||||
extern "C" void dKyw_wether_init2__Fv();
|
||||
extern "C" void dKyw_wether_delete__Fv();
|
||||
extern "C" void __dt__19dKankyo_evil_PacketFv();
|
||||
extern "C" void __dt__18dKankyo_mud_PacketFv();
|
||||
extern "C" void __dt__20dKankyo_odour_PacketFv();
|
||||
extern "C" void __dt__20dKankyo_cloud_PacketFv();
|
||||
extern "C" void __dt__20dKankyo_housi_PacketFv();
|
||||
extern "C" void __dt__19dKankyo_star_PacketFv();
|
||||
extern "C" void __dt__19dKankyo_snow_PacketFv();
|
||||
extern "C" void __dt__19dKankyo_rain_PacketFv();
|
||||
extern "C" void __dt__22dKankyo_sunlenz_PacketFv();
|
||||
extern "C" void __dt__18dKankyo_sun_PacketFv();
|
||||
extern "C" void dKyw_wether_delete2__Fv();
|
||||
extern "C" void __dt__21dKankyo_vrkumo_PacketFv();
|
||||
extern "C" static void wether_move_thunder__Fv();
|
||||
extern "C" void dKyw_wether_move__Fv();
|
||||
extern "C" static void wether_move_sun__Fv();
|
||||
extern "C" static void wether_move_rain__Fv();
|
||||
extern "C" static void wether_move_snow__Fv();
|
||||
extern "C" static void wether_move_star__Fv();
|
||||
extern "C" static void wether_move_housi__Fv();
|
||||
extern "C" static void wether_move_odour__Fv();
|
||||
extern "C" static void wether_move_moya__Fv();
|
||||
extern "C" static void wether_move_vrkumo__Fv();
|
||||
extern "C" static void wether_move_mud__Fv();
|
||||
extern "C" static void wether_move_evil__Fv();
|
||||
extern "C" void dKyw_wether_move_draw__Fv();
|
||||
extern "C" void dKyw_wether_move_draw2__Fv();
|
||||
extern "C" void dKyw_wether_draw__Fv();
|
||||
extern "C" void dKyw_wether_draw2__Fv();
|
||||
extern "C" void dKyw_wether_proc__Fv();
|
||||
extern "C" static void dKyw_wind_init__Fv();
|
||||
extern "C" void dKyw_wind_set__Fv();
|
||||
extern "C" void dKyw_get_wind_vec__Fv();
|
||||
extern "C" void dKyw_get_wind_pow__Fv();
|
||||
extern "C" void dKyw_get_wind_vecpow__Fv();
|
||||
extern "C" void dKyw_plight_collision_set__FP4cXyzssfffff();
|
||||
extern "C" static void squal_proc__Fv();
|
||||
extern "C" static void dKyw_pntwind_init__Fv();
|
||||
extern "C" static void pntwind_set__FP14WIND_INFLUENCE();
|
||||
extern "C" void dKyw_pntwind_set__FP14WIND_INFLUENCE();
|
||||
extern "C" static void dKyw_pntlight_set__FP14WIND_INFLUENCE();
|
||||
extern "C" void dKyw_pntwind_cut__FP14WIND_INFLUENCE();
|
||||
extern "C" static void pntwind_get_info__FP4cXyzP4cXyzPfUc();
|
||||
extern "C" static void dKyw_pntwind_get_info__FP4cXyzP4cXyzPf();
|
||||
extern "C" void dKyw_pntlight_collision_get_info__FP4cXyzP4cXyzPf();
|
||||
extern "C" void dKyw_pntwind_get_vecpow__FP4cXyz();
|
||||
extern "C" void dKyw_get_AllWind_vec__FP4cXyzP4cXyzPf();
|
||||
extern "C" void dKyw_get_AllWind_vecpow__FP4cXyz();
|
||||
extern "C" void dKyw_custom_windpower__Ff();
|
||||
extern "C" void dKyw_evt_wind_set__Fss();
|
||||
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:
|
||||
//
|
||||
|
||||
extern "C" void __dt__4cXyzFv();
|
||||
extern "C" void __ct__4cXyzFv();
|
||||
extern "C" void getStatusRoomDt__20dStage_roomControl_cFi();
|
||||
extern "C" void getLayerNo__14dComIfG_play_cFi();
|
||||
extern "C" void dComIfGp_getReverb__Fi();
|
||||
extern "C" void dComIfG_getStageRes__FPCc();
|
||||
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
|
||||
extern "C" void
|
||||
set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
|
||||
extern "C" void dKyr_get_vectle_calc__FP4cXyzP4cXyzP4cXyz();
|
||||
extern "C" void dKyr_lenzflare_move__Fv();
|
||||
extern "C" void dKyr_sun_move__Fv();
|
||||
extern "C" void dKyr_rain_init__Fv();
|
||||
extern "C" void dKyr_rain_move__Fv();
|
||||
extern "C" void dKyr_housi_move__Fv();
|
||||
extern "C" void dKyr_snow_init__Fv();
|
||||
extern "C" void dKyr_snow_move__Fv();
|
||||
extern "C" void dKyr_star_init__Fv();
|
||||
extern "C" void dKyr_star_move__Fv();
|
||||
extern "C" void cloud_shadow_move__Fv();
|
||||
extern "C" void vrkumo_move__Fv();
|
||||
extern "C" void dKyr_drawSun__FPA4_fP4cXyzR8_GXColorPPUc(f32 (*param_0)[4], cXyz* param_1,
|
||||
_GXColor& param_2, u8** param_3);
|
||||
extern "C" void dKyr_drawLenzflare__FPA4_fP4cXyzR8_GXColorPPUc();
|
||||
extern "C" void dKyr_drawRain__FPA4_fPPUc();
|
||||
extern "C" void dKyr_drawSibuki__FPA4_fPPUc();
|
||||
extern "C" void dKyr_drawHousi__FPA4_fPPUc();
|
||||
extern "C" void dKyr_drawSnow__FPA4_fPPUc();
|
||||
extern "C" void dKyr_drawStar__FPA4_fPPUc();
|
||||
extern "C" void drawCloudShadow__FPA4_fPPUc();
|
||||
extern "C" void drawVrkumo__FPA4_fR8_GXColorPPUc();
|
||||
extern "C" void dKyr_thunder_init__Fv();
|
||||
extern "C" void dKyr_thunder_move__Fv();
|
||||
extern "C" void dKyr_shstar_init__Fv();
|
||||
extern "C" void dKyr_shstar_move__Fv();
|
||||
extern "C" void dKyr_odour_init__Fv();
|
||||
extern "C" void dKyr_odour_move__Fv();
|
||||
extern "C" void dKyr_odour_draw__FPA4_fPPUc();
|
||||
extern "C" void dKyr_mud_init__Fv();
|
||||
extern "C" void dKyr_mud_move__Fv();
|
||||
extern "C" void dKyr_mud_draw__FPA4_fPPUc();
|
||||
extern "C" void dKyr_evil_init__Fv();
|
||||
extern "C" void dKyr_evil_move__Fv();
|
||||
extern "C" void dKyr_evil_draw__FPA4_fPPUc();
|
||||
extern "C" void getDaytime__18dScnKy_env_light_cFv();
|
||||
extern "C" void dKy_undwater_filter_draw__Fv();
|
||||
extern "C" void dKy_get_dayofweek__Fv();
|
||||
extern "C" void dKy_darkworld_check__Fv();
|
||||
extern "C" void __pl__4cXyzCFRC3Vec();
|
||||
extern "C" void __ml__4cXyzCFf();
|
||||
extern "C" void normZP__4cXyzCFv();
|
||||
extern "C" bool __ne__4cXyzCFRC3Vec();
|
||||
extern "C" void cM_atan2s__Fff();
|
||||
extern "C" void cLib_addCalc__FPfffff();
|
||||
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void startRainSe__10Z2EnvSeMgrFlSc();
|
||||
extern "C" void initStrongWindSe__10Z2EnvSeMgrFv();
|
||||
extern "C" void setWindDirection__10Z2EnvSeMgrFP3Vec();
|
||||
extern "C" void startStrongWindSe__10Z2EnvSeMgrFSc();
|
||||
extern "C" void* __nw__FUli();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" bool entry__9J3DPacketFP13J3DDrawBuffer();
|
||||
extern "C" void entryImm__13J3DDrawBufferFP9J3DPacketUs();
|
||||
extern "C" void __register_global_object();
|
||||
extern "C" void __destroy_arr();
|
||||
extern "C" void __construct_array();
|
||||
extern "C" void _savegpr_24();
|
||||
extern "C" void _savegpr_25();
|
||||
extern "C" void _savegpr_26();
|
||||
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_28();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" extern void* __vt__9J3DPacket[5];
|
||||
extern "C" extern dScnKy_env_light_c g_env_light;
|
||||
extern "C" extern Z2EnvSeMgr g_mEnvSeMgr;
|
||||
extern "C" f32 Zero__4cXyz[3];
|
||||
extern "C" u8 sincosTable___5JMath[65536];
|
||||
extern "C" extern u8 data_80450EE0;
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
|
||||
static void dKyw_pntlight_set(WIND_INFLUENCE* pntwind);
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 80056AA8-80056AF8 0513E8 0050+00 3/3 0/0 0/0 .text dKyw_setDrawPacketList__FP9J3DPacketi */
|
||||
static J3DPacket* dKyw_setDrawPacketList(J3DPacket* i_packet, int i_type) {
|
||||
if (i_packet == NULL) {
|
||||
@@ -504,35 +294,6 @@ static void dKyw_evil_Draw() {
|
||||
dKyw_evil_packet(J3DSys_XLU_BUFFER_e);
|
||||
}
|
||||
|
||||
/* 804520E0-804520E4 0006E0 0004+00 12/12 0/0 0/0 .sdata2 @4378 */
|
||||
SECTION_SDATA2 static u8 lit_4378[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
|
||||
/* 804520E4-804520E8 0006E4 0004+00 11/11 0/0 0/0 .sdata2 @4379 */
|
||||
SECTION_SDATA2 static f32 lit_4379 = 1.0f;
|
||||
|
||||
// remove these once float data is fixed
|
||||
inline JPABaseEmitter* tmp_dComIfGp_particle_set(u16 param_1, const cXyz* param_2,
|
||||
const dKy_tevstr_c* param_3, const csXyz* param_4,
|
||||
const cXyz* param_5, u8 param_6,
|
||||
dPa_levelEcallBack* param_7, s8 param_8,
|
||||
const GXColor* param_9, const GXColor* param_10,
|
||||
const cXyz* param_11) {
|
||||
return g_dComIfG_gameInfo.play.getParticle()->setNormal(param_1, param_2, param_3, param_4,
|
||||
param_5, param_6, param_7, param_8,
|
||||
param_9, param_10, param_11, lit_4379);
|
||||
}
|
||||
|
||||
inline JPABaseEmitter* tmp_dComIfGp_particle_set(u16 param_0, const cXyz* param_1,
|
||||
const csXyz* param_2, const cXyz* param_3) {
|
||||
return tmp_dComIfGp_particle_set(param_0, param_1, NULL, param_2, param_3, 0xFF, NULL, -1, NULL,
|
||||
NULL, NULL);
|
||||
}
|
||||
|
||||
/* 800574E0-800579EC 051E20 050C+00 0/0 1/1 0/0 .text dKyw_wether_init__Fv */
|
||||
void dKyw_wether_init() {
|
||||
g_env_light.mSunInitialized = false;
|
||||
@@ -547,11 +308,10 @@ void dKyw_wether_init() {
|
||||
g_env_light.field_0xe91 = 0;
|
||||
g_env_light.mStarInitialized = false;
|
||||
g_env_light.mStarCount = 0;
|
||||
f32 tmp0 = FLOAT_LABEL(lit_4378);
|
||||
g_env_light.mStarDensity = tmp0;
|
||||
g_env_light.mStarDensity = 0.0f;
|
||||
g_env_light.mCloudInitialized = 0;
|
||||
g_env_light.mMoyaCount = 0;
|
||||
g_env_light.field_0xebc = tmp0;
|
||||
g_env_light.field_0xebc = 0.0f;
|
||||
g_env_light.mMoyaMode = 0;
|
||||
g_env_light.mHousiInitialized = false;
|
||||
g_env_light.mHousiCount = 0;
|
||||
@@ -566,7 +326,7 @@ void dKyw_wether_init() {
|
||||
g_env_light.mEvilInitialized = 0;
|
||||
g_env_light.field_0x1054 = 0;
|
||||
g_env_light.field_0x1051 = 0;
|
||||
g_env_light.field_0xe60 = tmp0;
|
||||
g_env_light.field_0xe60 = 0.0f;
|
||||
|
||||
dKyw_wind_init();
|
||||
dKyw_pntwind_init();
|
||||
@@ -576,24 +336,23 @@ void dKyw_wether_init() {
|
||||
dComIfG_play_c::getLayerNo(0) < 8)
|
||||
{
|
||||
cXyz tmp;
|
||||
f32 tmp0_2 = FLOAT_LABEL(lit_4378);
|
||||
tmp.z = tmp0_2;
|
||||
tmp.y = tmp0_2;
|
||||
tmp.x = tmp0_2;
|
||||
tmp.z = 0.0f;
|
||||
tmp.y = 0.0f;
|
||||
tmp.x = 0.0f;
|
||||
|
||||
tmp_dComIfGp_particle_set(0x878F, &tmp, NULL, NULL);
|
||||
tmp_dComIfGp_particle_set(0x8790, &tmp, NULL, NULL);
|
||||
tmp_dComIfGp_particle_set(0x8791, &tmp, NULL, NULL);
|
||||
tmp_dComIfGp_particle_set(0x8792, &tmp, NULL, NULL);
|
||||
tmp_dComIfGp_particle_set(0x8793, &tmp, NULL, NULL);
|
||||
tmp_dComIfGp_particle_set(0x8794, &tmp, NULL, NULL);
|
||||
tmp_dComIfGp_particle_set(0x8795, &tmp, NULL, NULL);
|
||||
tmp_dComIfGp_particle_set(0x8796, &tmp, NULL, NULL);
|
||||
tmp_dComIfGp_particle_set(0x8797, &tmp, NULL, NULL);
|
||||
tmp_dComIfGp_particle_set(0x8798, &tmp, NULL, NULL);
|
||||
tmp_dComIfGp_particle_set(0x8799, &tmp, NULL, NULL);
|
||||
tmp_dComIfGp_particle_set(0x879A, &tmp, NULL, NULL);
|
||||
tmp_dComIfGp_particle_set(0x879B, &tmp, NULL, NULL);
|
||||
dComIfGp_particle_set(0x878F, &tmp, NULL, NULL);
|
||||
dComIfGp_particle_set(0x8790, &tmp, NULL, NULL);
|
||||
dComIfGp_particle_set(0x8791, &tmp, NULL, NULL);
|
||||
dComIfGp_particle_set(0x8792, &tmp, NULL, NULL);
|
||||
dComIfGp_particle_set(0x8793, &tmp, NULL, NULL);
|
||||
dComIfGp_particle_set(0x8794, &tmp, NULL, NULL);
|
||||
dComIfGp_particle_set(0x8795, &tmp, NULL, NULL);
|
||||
dComIfGp_particle_set(0x8796, &tmp, NULL, NULL);
|
||||
dComIfGp_particle_set(0x8797, &tmp, NULL, NULL);
|
||||
dComIfGp_particle_set(0x8798, &tmp, NULL, NULL);
|
||||
dComIfGp_particle_set(0x8799, &tmp, NULL, NULL);
|
||||
dComIfGp_particle_set(0x879A, &tmp, NULL, NULL);
|
||||
dComIfGp_particle_set(0x879B, &tmp, NULL, NULL);
|
||||
}
|
||||
|
||||
// Stage is City in the Sky
|
||||
@@ -673,48 +432,18 @@ dKankyo_mud_Packet::~dKankyo_mud_Packet() {}
|
||||
/* 80057D8C-80057E10 0526CC 0084+00 1/0 0/0 0/0 .text __dt__20dKankyo_odour_PacketFv */
|
||||
dKankyo_odour_Packet::~dKankyo_odour_Packet() {}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A9AFC-803A9B10 006C1C 0014+00 2/2 0/0 0/0 .data __vt__21dKankyo_vrkumo_Packet */
|
||||
SECTION_DATA extern void* __vt__21dKankyo_vrkumo_Packet[5] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)entry__9J3DPacketFP13J3DDrawBuffer,
|
||||
(void*)draw__21dKankyo_vrkumo_PacketFv,
|
||||
(void*)__dt__21dKankyo_vrkumo_PacketFv,
|
||||
};
|
||||
|
||||
/* 80057E10-80057E94 052750 0084+00 1/0 0/0 0/0 .text __dt__20dKankyo_cloud_PacketFv */
|
||||
dKankyo_cloud_Packet::~dKankyo_cloud_Packet() {}
|
||||
|
||||
/* 80057E94-80057F18 0527D4 0084+00 1/0 0/0 0/0 .text __dt__20dKankyo_housi_PacketFv */
|
||||
dKankyo_housi_Packet::~dKankyo_housi_Packet() {}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A9B38-803A9B4C 006C58 0014+00 1/1 1/1 0/0 .data __vt__19dKankyo_star_Packet */
|
||||
SECTION_DATA extern void* __vt__19dKankyo_star_Packet[5] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)entry__9J3DPacketFP13J3DDrawBuffer,
|
||||
(void*)draw__19dKankyo_star_PacketFv,
|
||||
(void*)__dt__19dKankyo_star_PacketFv,
|
||||
};
|
||||
|
||||
/* 80057F18-80057F9C 052858 0084+00 1/0 0/0 0/0 .text __dt__19dKankyo_star_PacketFv */
|
||||
dKankyo_star_Packet::~dKankyo_star_Packet() {}
|
||||
|
||||
/* 80057F9C-80058020 0528DC 0084+00 1/0 0/0 0/0 .text __dt__19dKankyo_snow_PacketFv */
|
||||
dKankyo_snow_Packet::~dKankyo_snow_Packet() {}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A9B60-803A9B74 006C80 0014+00 2/2 0/0 0/0 .data __vt__19dKankyo_rain_Packet */
|
||||
SECTION_DATA extern void* __vt__19dKankyo_rain_Packet[5] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)entry__9J3DPacketFP13J3DDrawBuffer,
|
||||
(void*)draw__19dKankyo_rain_PacketFv,
|
||||
(void*)__dt__19dKankyo_rain_PacketFv,
|
||||
};
|
||||
|
||||
/* 80058020-800580A4 052960 0084+00 1/0 0/0 0/0 .text __dt__19dKankyo_rain_PacketFv */
|
||||
dKankyo_rain_Packet::~dKankyo_rain_Packet() {}
|
||||
|
||||
@@ -755,12 +484,6 @@ void dKyw_wether_move() {
|
||||
wether_move_thunder();
|
||||
}
|
||||
|
||||
/* 804520E8-804520EC 0006E8 0004+00 1/1 0/0 0/0 .sdata2 @4610 */
|
||||
SECTION_SDATA2 static f32 lit_4610 = 255.0f;
|
||||
|
||||
/* 804520EC-804520F0 0006EC 0004+00 1/1 0/0 0/0 .sdata2 @4611 */
|
||||
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;
|
||||
@@ -814,16 +537,15 @@ static void wether_move_sun() {
|
||||
}
|
||||
g_env_light.mpSunPacket->field_0x28 = 0;
|
||||
g_env_light.mpSunPacket->field_0x29 = 0;
|
||||
f32 tmp0 = FLOAT_LABEL(lit_4378);
|
||||
g_env_light.mpSunPacket->mVisibility = tmp0;
|
||||
g_env_light.mpSunPacket->mSunAlpha = tmp0;
|
||||
g_env_light.mpSunPacket->field_0x64 = tmp0;
|
||||
g_env_light.mpSunPacket->field_0x68 = tmp0;
|
||||
g_env_light.mpSunPacket->mVisibility = 0.0f;
|
||||
g_env_light.mpSunPacket->mSunAlpha = 0.0f;
|
||||
g_env_light.mpSunPacket->field_0x64 = 0.0f;
|
||||
g_env_light.mpSunPacket->field_0x68 = 0.0f;
|
||||
|
||||
if (g_env_light.mDaytime < lit_4610) {
|
||||
g_env_light.mpSunPacket->field_0x6c = lit_4379;
|
||||
if (g_env_light.mDaytime < 255.0f) {
|
||||
g_env_light.mpSunPacket->field_0x6c = 1.0f;
|
||||
} else {
|
||||
g_env_light.mpSunPacket->field_0x6c = tmp0;
|
||||
g_env_light.mpSunPacket->field_0x6c = 0.0f;
|
||||
}
|
||||
g_env_light.mpSunPacket->field_0x44[0] = 0;
|
||||
g_env_light.mpSunPacket->field_0x44[1] = 0;
|
||||
@@ -838,10 +560,9 @@ static void wether_move_sun() {
|
||||
(u8*)dComIfG_getObjectRes("Always", 0x57);
|
||||
g_env_light.mpSunLenzPacket->mpResLenz =
|
||||
(u8*)dComIfG_getObjectRes("Always", 0x5C);
|
||||
g_env_light.mpSunLenzPacket->field_0x8c = lit_4611;
|
||||
f32 tmp0_2 = FLOAT_LABEL(lit_4378);
|
||||
g_env_light.mpSunLenzPacket->field_0x90 = tmp0_2;
|
||||
g_env_light.mpSunLenzPacket->mDistFalloff = tmp0_2;
|
||||
g_env_light.mpSunLenzPacket->field_0x8c = 1e9f;
|
||||
g_env_light.mpSunLenzPacket->field_0x90 = 0.0f;
|
||||
g_env_light.mpSunLenzPacket->mDistFalloff = 0.0f;
|
||||
g_env_light.mpSunLenzPacket->mDrawLenzInSky = false;
|
||||
dKyr_sun_move();
|
||||
dKyr_lenzflare_move();
|
||||
@@ -865,25 +586,7 @@ static void wether_move_sun() {
|
||||
}
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8037A368-8037A368 0069C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_8037A3F1 = "R_SP127";
|
||||
#pragma pop
|
||||
|
||||
/* 804520F0-804520F4 0006F0 0004+00 2/2 0/0 0/0 .sdata2 @4668 */
|
||||
SECTION_SDATA2 static f32 lit_4668 = -1.0f;
|
||||
|
||||
/* 804520F4-804520F8 0006F4 0004+00 1/1 0/0 0/0 .sdata2 @4669 */
|
||||
SECTION_SDATA2 static f32 lit_4669 = 125.0f;
|
||||
|
||||
/* 804520F8-80452100 0006F8 0008+00 2/2 0/0 0/0 .sdata2 @4671 */
|
||||
SECTION_SDATA2 static f64 lit_4671 = 4503601774854144.0 /* cast s32 to float */;
|
||||
|
||||
/* 80058894-80058B00 0531D4 026C+00 1/1 0/0 0/0 .text wether_move_rain__Fv */
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
static void wether_move_rain() {
|
||||
switch (g_env_light.mRainInitialized) {
|
||||
case FALSE:
|
||||
@@ -925,16 +628,6 @@ static void wether_move_rain() {
|
||||
break;
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void wether_move_rain() {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo_wether/wether_move_rain__Fv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80058B00-80058B8C 053440 008C+00 1/1 0/0 0/0 .text wether_move_snow__Fv */
|
||||
static void wether_move_snow() {
|
||||
@@ -954,51 +647,6 @@ static void wether_move_snow() {
|
||||
}
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8037A368-8037A368 0069C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_8037A3F9 = "F_SP121";
|
||||
SECTION_DEAD static char const* const stringBase_8037A401 = "F_SP122";
|
||||
SECTION_DEAD static char const* const stringBase_8037A409 = "F_SP128";
|
||||
#pragma pop
|
||||
|
||||
/* 80452100-80452104 000700 0004+00 1/1 0/0 0/0 .sdata2 @4761 */
|
||||
SECTION_SDATA2 static f32 lit_4761 = 330.0f;
|
||||
|
||||
/* 80452104-80452108 000704 0004+00 1/1 0/0 0/0 .sdata2 @4762 */
|
||||
SECTION_SDATA2 static f32 lit_4762 = 45.0f;
|
||||
|
||||
/* 80452108-8045210C 000708 0004+00 1/1 0/0 0/0 .sdata2 @4763 */
|
||||
SECTION_SDATA2 static f32 lit_4763 = 285.0f;
|
||||
|
||||
/* 8045210C-80452110 00070C 0004+00 1/1 0/0 0/0 .sdata2 @4764 */
|
||||
SECTION_SDATA2 static f32 lit_4764 = 1.0f / 45.0f;
|
||||
|
||||
/* 80452110-80452114 000710 0004+00 2/2 0/0 0/0 .sdata2 @4765 */
|
||||
SECTION_SDATA2 static f32 lit_4765 = 75.0f;
|
||||
|
||||
/* 80452114-80452118 000714 0004+00 1/1 0/0 0/0 .sdata2 @4766 */
|
||||
SECTION_SDATA2 static f32 lit_4766 = 1.0f / 30.0f;
|
||||
|
||||
/* 80452118-8045211C 000718 0004+00 2/2 0/0 0/0 .sdata2 @4767 */
|
||||
SECTION_SDATA2 static f32 lit_4767 = 0.5f;
|
||||
|
||||
/* 8045211C-80452120 00071C 0004+00 2/2 0/0 0/0 .sdata2 @4768 */
|
||||
SECTION_SDATA2 static f32 lit_4768 = 1.0f / 10.0f;
|
||||
|
||||
/* 80452120-80452124 000720 0004+00 3/3 0/0 0/0 .sdata2 @4769 */
|
||||
SECTION_SDATA2 static f32 lit_4769 = 1.0f / 100.0f;
|
||||
|
||||
/* 80452124-80452128 000724 0004+00 2/2 0/0 0/0 .sdata2 @4770 */
|
||||
SECTION_SDATA2 static f32 lit_4770 = 9.999999974752427e-07f;
|
||||
|
||||
/* 80452128-8045212C 000728 0004+00 1/1 0/0 0/0 .sdata2 @4771 */
|
||||
SECTION_SDATA2 static f32 lit_4771 = 1200.0f;
|
||||
|
||||
/* 8045212C-80452130 00072C 0004+00 1/1 0/0 0/0 .sdata2 @4772 */
|
||||
SECTION_SDATA2 static f32 lit_4772 = 500.0f;
|
||||
|
||||
/* 80058B8C-80058F18 0534CC 038C+00 1/1 0/0 0/0 .text wether_move_star__Fv */
|
||||
static void wether_move_star() {
|
||||
s32 starsVisible = false;
|
||||
@@ -1026,40 +674,40 @@ static void wether_move_star() {
|
||||
if (starsVisible && dKy_darkworld_check() != true) {
|
||||
f32 density;
|
||||
f32 time = g_env_light.getDaytime();
|
||||
if (time >= lit_4761 || time < lit_4762) {
|
||||
density = lit_4379;
|
||||
} else if (time > lit_4763) {
|
||||
density = lit_4379 - lit_4764 * (lit_4761 - time);
|
||||
if (time >= 330.0f || time < 45.0f) {
|
||||
density = 1.0f;
|
||||
} else if (time > 285.0f) {
|
||||
density = 1.0f - (1.0f / 45.0f) * (330.0f - time);
|
||||
} else {
|
||||
if (time < lit_4765) {
|
||||
density = lit_4766 * (lit_4765 - time);
|
||||
if (time < 75.0f) {
|
||||
density = (1.0f / 30.0f) * (75.0f - time);
|
||||
} else {
|
||||
density = FLOAT_LABEL(lit_4378);
|
||||
density = 0.0f;
|
||||
}
|
||||
}
|
||||
|
||||
if (g_env_light.mColpatWeather != 0) {
|
||||
density = FLOAT_LABEL(lit_4378);
|
||||
density = 0.0f;
|
||||
}
|
||||
|
||||
if (g_env_light.mColPatCurr != 0 && g_env_light.mColPatBlend > lit_4767) {
|
||||
density = FLOAT_LABEL(lit_4378);
|
||||
if (g_env_light.mColPatCurr != 0 && g_env_light.mColPatBlend > 0.5f) {
|
||||
density = 0.0f;
|
||||
}
|
||||
|
||||
// Stage is Hero Shade arena
|
||||
if (!strcmp(dComIfGp_getStartStageName(), "F_SP200")) {
|
||||
density = lit_4379;
|
||||
density = 1.0f;
|
||||
}
|
||||
|
||||
cLib_addCalc(&g_env_light.mStarDensity, density, lit_4768, lit_4769, lit_4770);
|
||||
g_env_light.mStarCount = (s16)(lit_4771 * g_env_light.mStarDensity);
|
||||
cLib_addCalc(&g_env_light.mStarDensity, density, 0.1f, 0.01f, 0.000001f);
|
||||
g_env_light.mStarCount = (s16)(1200.0f * g_env_light.mStarDensity);
|
||||
|
||||
// Stage is Hyrule Field or Outside Castle Town or Hidden Village
|
||||
if (!strcmp(dComIfGp_getStartStageName(), "F_SP121") ||
|
||||
!strcmp(dComIfGp_getStartStageName(), "F_SP122") ||
|
||||
!strcmp(dComIfGp_getStartStageName(), "F_SP128"))
|
||||
{
|
||||
g_env_light.mStarCount = (s16)(lit_4772 * g_env_light.mStarDensity);
|
||||
g_env_light.mStarCount = (s16)(500.0f * g_env_light.mStarDensity);
|
||||
}
|
||||
|
||||
switch (g_env_light.mStarInitialized) {
|
||||
@@ -1163,9 +811,8 @@ static void wether_move_housi() {
|
||||
}
|
||||
}
|
||||
|
||||
f32 tmp0 = FLOAT_LABEL(lit_4378);
|
||||
g_env_light.mpHousiPacket->field_0x5de8 = tmp0;
|
||||
g_env_light.mpHousiPacket->field_0x10.set(tmp0, tmp0, tmp0);
|
||||
g_env_light.mpHousiPacket->field_0x5de8 = 0.0f;
|
||||
g_env_light.mpHousiPacket->field_0x10.set(0.0f, 0.0f, 0.0f);
|
||||
for (int i = 0; i < 300; i++) {
|
||||
g_env_light.mpHousiPacket->mHousiEff[i].mStatus = 0;
|
||||
}
|
||||
@@ -1176,7 +823,7 @@ static void wether_move_housi() {
|
||||
break;
|
||||
case TRUE:
|
||||
if (g_env_light.mHousiCount == 0 &&
|
||||
g_env_light.mpHousiPacket->field_0x5de8 <= FLOAT_LABEL(lit_4378))
|
||||
g_env_light.mpHousiPacket->field_0x5de8 <= 0.0f)
|
||||
{
|
||||
g_env_light.mHousiInitialized = false;
|
||||
delete g_env_light.mpHousiPacket;
|
||||
@@ -1262,68 +909,7 @@ static void wether_move_moya() {
|
||||
}
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8037A368-8037A368 0069C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_8037A469 = "F_SP114";
|
||||
SECTION_DEAD static char const* const stringBase_8037A471 = "D_MN09B";
|
||||
SECTION_DEAD static char const* const stringBase_8037A479 = "F_SP104";
|
||||
SECTION_DEAD static char const* const stringBase_8037A481 = "cloudtx_01.bti";
|
||||
SECTION_DEAD static char const* const stringBase_8037A490 = "cloudtx_02.bti";
|
||||
SECTION_DEAD static char const* const stringBase_8037A49F = "cloudtx_03.bti";
|
||||
#pragma pop
|
||||
|
||||
/* 80424938-80424944 051658 000C+00 1/1 0/0 0/0 .bss @4965 */
|
||||
static u8 lit_4965[12];
|
||||
|
||||
/* 80424944-80424950 051664 000C+00 1/1 0/0 0/0 .bss r09o$4964 */
|
||||
static f32 r09o[3];
|
||||
|
||||
/* 80452130-80452134 000730 0004+00 1/1 0/0 0/0 .sdata2 @5181 */
|
||||
SECTION_SDATA2 static f32 lit_5181 = -180000.0f;
|
||||
|
||||
/* 80452134-80452138 000734 0004+00 1/1 0/0 0/0 .sdata2 @5182 */
|
||||
SECTION_SDATA2 static f32 lit_5182 = 750.0f;
|
||||
|
||||
/* 80452138-8045213C 000738 0004+00 1/1 0/0 0/0 .sdata2 @5183 */
|
||||
SECTION_SDATA2 static f32 lit_5183 = -200000.0f;
|
||||
|
||||
/* 8045213C-80452140 00073C 0004+00 1/1 0/0 0/0 .sdata2 @5184 */
|
||||
SECTION_SDATA2 static f32 lit_5184 = 0.003000000026077032f;
|
||||
|
||||
/* 80452140-80452144 000740 0004+00 1/1 0/0 0/0 .sdata2 @5185 */
|
||||
SECTION_SDATA2 static f32 lit_5185 = 1.0000000116860974e-07f;
|
||||
|
||||
/* 80452144-80452148 000744 0004+00 1/1 0/0 0/0 .sdata2 @5186 */
|
||||
SECTION_SDATA2 static f32 lit_5186 = 2.0f / 25.0f;
|
||||
|
||||
/* 80452148-8045214C 000748 0004+00 1/1 0/0 0/0 .sdata2 @5187 */
|
||||
SECTION_SDATA2 static f32 lit_5187 = 0.0020000000949949026f;
|
||||
|
||||
/* 8045214C-80452150 00074C 0004+00 1/1 0/0 0/0 .sdata2 @5188 */
|
||||
SECTION_SDATA2 static f32 lit_5188 = 9.99999993922529e-09f;
|
||||
|
||||
/* 80452150-80452154 000750 0004+00 1/1 0/0 0/0 .sdata2 @5189 */
|
||||
SECTION_SDATA2 static f32 lit_5189 = 6.0f;
|
||||
|
||||
/* 80452154-80452158 000754 0004+00 1/1 0/0 0/0 .sdata2 @5190 */
|
||||
SECTION_SDATA2 static f32 lit_5190 = 56.0f;
|
||||
|
||||
/* 80452158-8045215C 000758 0004+00 2/2 0/0 0/0 .sdata2 @5191 */
|
||||
SECTION_SDATA2 static f32 lit_5191 = 3.0f / 10.0f;
|
||||
|
||||
/* 8045215C-80452160 00075C 0004+00 1/1 0/0 0/0 .sdata2 @5192 */
|
||||
SECTION_SDATA2 static f32 lit_5192 = 24575.0f;
|
||||
|
||||
/* 80452160-80452164 000760 0004+00 1/1 0/0 0/0 .sdata2 @5193 */
|
||||
SECTION_SDATA2 static f32 lit_5193 = 0.00139999995008111f;
|
||||
|
||||
u8 data_80450EE0;
|
||||
|
||||
/* 80059728-80059E38 054068 0710+00 1/1 0/0 0/0 .text wether_move_vrkumo__Fv */
|
||||
// Matches with literals
|
||||
#ifdef NONMATCHING
|
||||
static void wether_move_vrkumo() {
|
||||
BOOL var_r31 = false;
|
||||
static cXyz r09o(-180000.0f, 750.0f, -200000.0f);
|
||||
@@ -1454,16 +1040,6 @@ static void wether_move_vrkumo() {
|
||||
break;
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void wether_move_vrkumo() {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo_wether/wether_move_vrkumo__Fv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80059E38-80059F74 054778 013C+00 1/1 0/0 0/0 .text wether_move_mud__Fv */
|
||||
static void wether_move_mud() {
|
||||
@@ -1600,40 +1176,13 @@ void dKyw_wether_draw2() {
|
||||
}
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8037A368-8037A368 0069C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_8037A4B3 = "F_SP127";
|
||||
/* @stringBase0 padding */
|
||||
SECTION_DEAD static char const* const pad_8037A4BB = "\0\0\0\0";
|
||||
#pragma pop
|
||||
|
||||
/* 80452164-80452168 000764 0004+00 1/1 0/0 0/0 .sdata2 @5361 */
|
||||
SECTION_SDATA2 static f32 lit_5361 = 120.0f;
|
||||
|
||||
/* 80452168-8045216C 000768 0004+00 3/3 0/0 0/0 .sdata2 @5362 */
|
||||
SECTION_SDATA2 static f32 lit_5362 = 1.0f / 20.0f;
|
||||
|
||||
/* 8045216C-80452170 00076C 0004+00 1/1 0/0 0/0 .sdata2 @5363 */
|
||||
SECTION_SDATA2 static f32 lit_5363 = 0.0024999999441206455f;
|
||||
|
||||
/* 80452170-80452178 000770 0004+04 1/1 0/0 0/0 .sdata2 @5364 */
|
||||
SECTION_SDATA2 static f32 lit_5364[1 + 1 /* padding */] = {
|
||||
9.999999747378752e-06f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
|
||||
/* 8005A340-8005A57C 054C80 023C+00 0/0 1/1 0/0 .text dKyw_wether_proc__Fv */
|
||||
// small branch issue
|
||||
#ifdef NONMATCHING
|
||||
void dKyw_wether_proc() {
|
||||
// Stage is Faron Woods or Fishing Pond or Hyrule Field
|
||||
if (!strcmp(dComIfGp_getStartStageName(), "F_SP108") ||
|
||||
!strcmp(dComIfGp_getStartStageName(), "F_SP127") ||
|
||||
(!strcmp(dComIfGp_getStartStageName(), "F_SP121") &&
|
||||
FLOAT_LABEL(lit_4378) != g_env_light.mDiceWeatherTime))
|
||||
g_env_light.mDiceWeatherTime != 0.0f))
|
||||
{
|
||||
if (!dKy_darkworld_check()) {
|
||||
// Stage is Hyrule Field
|
||||
@@ -1645,16 +1194,18 @@ void dKyw_wether_proc() {
|
||||
g_env_light.mDiceWeatherMode >= 1 && g_env_light.mDiceWeatherMode < 6)
|
||||
{
|
||||
dKy_get_dayofweek();
|
||||
cLib_addCalc(&g_env_light.field_0xebc, lit_4379, lit_5362, lit_5363, lit_4770);
|
||||
lbl1:
|
||||
cLib_addCalc(&g_env_light.field_0xebc, 1.0f, 0.05f, 0.0025f, 0.000001f);
|
||||
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.mMoyaCount == 49) {
|
||||
cLib_addCalc(&g_env_light.field_0xebc, 0.0f, 0.05f, 0.0025f, 0.00001f);
|
||||
if (g_env_light.field_0xebc <= 0.01f && g_env_light.mMoyaCount == 49) {
|
||||
g_env_light.mMoyaCount = 0;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
goto lbl1; // maybe fake match
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1672,63 +1223,23 @@ void dKyw_wether_proc() {
|
||||
}
|
||||
squal_proc();
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dKyw_wether_proc() {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo_wether/dKyw_wether_proc__Fv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8005A57C-8005A5C0 054EBC 0044+00 1/1 0/0 0/0 .text dKyw_wind_init__Fv */
|
||||
static void dKyw_wind_init() {
|
||||
g_env_light.mWind.vec.x = lit_4668;
|
||||
f32 tmp_0 = FLOAT_LABEL(lit_4378);
|
||||
g_env_light.mWind.vec.y = tmp_0;
|
||||
g_env_light.mWind.vec.z = tmp_0;
|
||||
g_env_light.mWind.pow = tmp_0;
|
||||
g_env_light.mWind.vec.x = -1.0f;
|
||||
g_env_light.mWind.vec.y = 0.0f;
|
||||
g_env_light.mWind.vec.z = 0.0f;
|
||||
g_env_light.mWind.pow = 0.0f;
|
||||
g_env_light.field_0xe6c = 0;
|
||||
g_env_light.field_0xe64 = 0;
|
||||
g_env_light.field_0xe66 = 0;
|
||||
g_env_light.mWind.vec_override = 0;
|
||||
g_env_light.custom_windpower = tmp_0;
|
||||
g_env_light.custom_windpower = 0.0f;
|
||||
g_env_light.mEvtWindSet = 0;
|
||||
g_env_light.mTeachWindExist = 0;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80452178-80452180 000778 0008+00 3/3 0/0 0/0 .sdata2 @5524 */
|
||||
SECTION_SDATA2 static f64 lit_5524 = 0.5;
|
||||
|
||||
/* 80452180-80452188 000780 0008+00 3/3 0/0 0/0 .sdata2 @5525 */
|
||||
SECTION_SDATA2 static f64 lit_5525 = 3.0;
|
||||
|
||||
/* 80452188-80452190 000788 0008+00 3/3 0/0 0/0 .sdata2 @5526 */
|
||||
SECTION_SDATA2 static u8 lit_5526[8] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
|
||||
/* 80452190-80452194 000790 0004+00 1/1 0/0 0/0 .sdata2 @5527 */
|
||||
SECTION_SDATA2 static f32 lit_5527 = 3.0f / 5.0f;
|
||||
|
||||
/* 80452194-80452198 000794 0004+00 1/1 0/0 0/0 .sdata2 @5528 */
|
||||
SECTION_SDATA2 static f32 lit_5528 = 9.0f / 10.0f;
|
||||
|
||||
/* 80452198-8045219C 000798 0004+00 1/1 0/0 0/0 .sdata2 @5529 */
|
||||
SECTION_SDATA2 static f32 lit_5529 = 2.0f;
|
||||
|
||||
/* 8045219C-804521A0 00079C 0004+00 2/2 0/0 0/0 .sdata2 @5530 */
|
||||
SECTION_SDATA2 static f32 lit_5530 = 0.0010000000474974513f;
|
||||
|
||||
/* 804521A0-804521A4 0007A0 0004+00 1/1 0/0 0/0 .sdata2 @5531 */
|
||||
SECTION_SDATA2 static f32 lit_5531 = 0.004999999888241291f;
|
||||
|
||||
/* 8005A5C0-8005AAE0 054F00 0520+00 0/0 2/2 0/0 .text dKyw_wind_set__Fv */
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
void dKyw_wind_set() {
|
||||
s16 var_r30;
|
||||
s16 var_r29;
|
||||
@@ -1870,16 +1381,6 @@ void dKyw_wind_set() {
|
||||
cLib_addCalc(&g_env_light.mWind.pow, strength, 0.05f, 1.0f, 0.005f);
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dKyw_wind_set() {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo_wether/dKyw_wind_set__Fv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8005AAE0-8005AAF0 055420 0010+00 1/1 6/6 7/7 .text dKyw_get_wind_vec__Fv */
|
||||
cXyz* dKyw_get_wind_vec() {
|
||||
@@ -1924,13 +1425,7 @@ void dKyw_plight_collision_set(cXyz* param_0, s16 param_1, s16 param_2, f32 para
|
||||
}
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804521A4-804521A8 0007A4 0004+00 1/1 0/0 0/0 .sdata2 @5630 */
|
||||
SECTION_SDATA2 static f32 lit_5630 = 1.0f / 5.0f;
|
||||
|
||||
/* 8005AC30-8005AD44 055570 0114+00 1/1 0/0 0/0 .text squal_proc__Fv */
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
static void squal_proc() {
|
||||
dScnKy_env_light_c* env_light = dKy_getEnvlight();
|
||||
WIND_INFLUENCE* influence;
|
||||
@@ -1963,16 +1458,6 @@ static void squal_proc() {
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void squal_proc() {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo_wether/squal_proc__Fv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8005AD44-8005AD98 055684 0054+00 1/1 0/0 0/0 .text dKyw_pntwind_init__Fv */
|
||||
static void dKyw_pntwind_init() {
|
||||
@@ -2024,8 +1509,6 @@ void dKyw_pntwind_cut(WIND_INFLUENCE* i_pntwind) {
|
||||
|
||||
/* 8005AE90-8005B23C 0557D0 03AC+00 2/2 0/0 0/0 .text pntwind_get_info__FP4cXyzP4cXyzPfUc
|
||||
*/
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
static void pntwind_get_info(cXyz* param_0, cXyz* i_dir, f32* i_power, u8 param_3) {
|
||||
i_dir->x = 0.0f;
|
||||
i_dir->y = 0.0f;
|
||||
@@ -2086,16 +1569,6 @@ static void pntwind_get_info(cXyz* param_0, cXyz* i_dir, f32* i_power, u8 param_
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void pntwind_get_info(cXyz* param_0, cXyz* param_1, f32* param_2, u8 param_3) {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo_wether/pntwind_get_info__FP4cXyzP4cXyzPfUc.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8005B23C-8005B260 055B7C 0024+00 3/3 0/0 0/0 .text dKyw_pntwind_get_info__FP4cXyzP4cXyzPf */
|
||||
static void dKyw_pntwind_get_info(cXyz* param_0, cXyz* param_1, f32* param_2) {
|
||||
@@ -2118,20 +1591,10 @@ cXyz dKyw_pntwind_get_vecpow(cXyz* param_0) {
|
||||
return direction;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804521A8-804521B0 0007A8 0004+04 2/2 0/0 0/0 .sdata2 @5855 */
|
||||
SECTION_SDATA2 static f32 lit_5855[1 + 1 /* padding */] = {
|
||||
5.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
|
||||
/* 8005B2F8-8005B530 055C38 0238+00 0/0 3/3 13/13 .text dKyw_get_AllWind_vec__FP4cXyzP4cXyzPf */
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
void dKyw_get_AllWind_vec(cXyz* i_position, cXyz* i_direction, f32* i_power) {
|
||||
dScnKy_env_light_c* env_light = dKy_getEnvlight();
|
||||
dKyw_pntwind_get_info(param_0, i_direction, i_power);
|
||||
dKyw_pntwind_get_info(i_position, i_direction, i_power);
|
||||
|
||||
cXyz sp54;
|
||||
cXyz sp30;
|
||||
@@ -2153,20 +1616,8 @@ void dKyw_get_AllWind_vec(cXyz* i_position, cXyz* i_direction, f32* i_power) {
|
||||
i_direction->z = env_light->mWind.vec.z;
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dKyw_get_AllWind_vec(cXyz* param_0, cXyz* param_1, f32* param_2) {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo_wether/dKyw_get_AllWind_vec__FP4cXyzP4cXyzPf.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8005B530-8005B60C 055E70 00DC+00 0/0 0/0 5/5 .text dKyw_get_AllWind_vecpow__FP4cXyz */
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
cXyz dKyw_get_AllWind_vecpow(cXyz* param_0) {
|
||||
f32 sp8;
|
||||
cXyz spC;
|
||||
@@ -2181,16 +1632,6 @@ cXyz dKyw_get_AllWind_vecpow(cXyz* param_0) {
|
||||
|
||||
return spC;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dKyw_get_AllWind_vecpow(cXyz* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/kankyo/d_kankyo_wether/dKyw_get_AllWind_vecpow__FP4cXyz.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8005B60C-8005B61C 055F4C 0010+00 0/0 0/0 5/5 .text dKyw_custom_windpower__Ff */
|
||||
void dKyw_custom_windpower(f32 pow) {
|
||||
|
||||
+17
-19
@@ -1529,12 +1529,11 @@ void dSv_info_c::onSwitch(int i_no, int i_roomNo) {
|
||||
} else if (i_no < (MEMORY_SWITCH + DAN_SWITCH)) {
|
||||
mDan.onSwitch(i_no - MEMORY_SWITCH);
|
||||
} else {
|
||||
int zoneId = dStage_roomControl_c::getZoneNo(i_roomNo);
|
||||
int zoneId = dComIfGp_roomControl_getZoneNo(i_roomNo);
|
||||
if (i_no < (MEMORY_SWITCH + DAN_SWITCH + ZONE_SWITCH)) {
|
||||
mZone[zoneId].getZoneBit().onSwitch(i_no - (MEMORY_SWITCH + DAN_SWITCH));
|
||||
mZone[zoneId].getBit().onSwitch(i_no - (MEMORY_SWITCH + DAN_SWITCH));
|
||||
} else {
|
||||
mZone[zoneId].getZoneBit().onOneSwitch(i_no -
|
||||
(MEMORY_SWITCH + DAN_SWITCH + ZONE_SWITCH));
|
||||
mZone[zoneId].getBit().onOneSwitch(i_no - (MEMORY_SWITCH + DAN_SWITCH + ZONE_SWITCH));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1550,12 +1549,11 @@ void dSv_info_c::offSwitch(int i_no, int i_roomNo) {
|
||||
} else if (i_no < (MEMORY_SWITCH + DAN_SWITCH)) {
|
||||
mDan.offSwitch(i_no - MEMORY_SWITCH);
|
||||
} else {
|
||||
int zoneId = dStage_roomControl_c::getZoneNo(i_roomNo);
|
||||
int zoneId = dComIfGp_roomControl_getZoneNo(i_roomNo);
|
||||
if (i_no < (MEMORY_SWITCH + DAN_SWITCH + ZONE_SWITCH)) {
|
||||
mZone[zoneId].getZoneBit().offSwitch(i_no - (MEMORY_SWITCH + DAN_SWITCH));
|
||||
mZone[zoneId].getBit().offSwitch(i_no - (MEMORY_SWITCH + DAN_SWITCH));
|
||||
} else {
|
||||
mZone[zoneId].getZoneBit().offOneSwitch(i_no -
|
||||
(MEMORY_SWITCH + DAN_SWITCH + ZONE_SWITCH));
|
||||
mZone[zoneId].getBit().offOneSwitch(i_no - (MEMORY_SWITCH + DAN_SWITCH + ZONE_SWITCH));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1571,7 +1569,7 @@ BOOL dSv_info_c::isSwitch(int i_no, int i_roomNo) const {
|
||||
} else if (i_no < (MEMORY_SWITCH + DAN_SWITCH)) {
|
||||
return mDan.isSwitch(i_no - MEMORY_SWITCH);
|
||||
} else {
|
||||
int zoneId = dStage_roomControl_c::getZoneNo(i_roomNo);
|
||||
int zoneId = dComIfGp_roomControl_getZoneNo(i_roomNo);
|
||||
if (zoneId < 0 || zoneId >= ZONE_MAX) {
|
||||
return FALSE;
|
||||
} else {
|
||||
@@ -1596,11 +1594,11 @@ BOOL dSv_info_c::revSwitch(int i_no, int i_roomNo) {
|
||||
} else if (i_no < (MEMORY_SWITCH + DAN_SWITCH)) {
|
||||
return mDan.revSwitch(i_no - MEMORY_SWITCH);
|
||||
} else {
|
||||
int zoneNo = dStage_roomControl_c::getZoneNo(i_roomNo);
|
||||
int zoneNo = dComIfGp_roomControl_getZoneNo(i_roomNo);
|
||||
if (i_no < (MEMORY_SWITCH + DAN_SWITCH + ZONE_SWITCH)) {
|
||||
return mZone[zoneNo].getZoneBit().revSwitch(i_no - (MEMORY_SWITCH + DAN_SWITCH));
|
||||
return mZone[zoneNo].getBit().revSwitch(i_no - (MEMORY_SWITCH + DAN_SWITCH));
|
||||
} else {
|
||||
return mZone[zoneNo].getZoneBit().revOneSwitch(
|
||||
return mZone[zoneNo].getBit().revOneSwitch(
|
||||
i_no - (MEMORY_SWITCH + DAN_SWITCH + ZONE_SWITCH));
|
||||
}
|
||||
}
|
||||
@@ -1617,11 +1615,11 @@ void dSv_info_c::onItem(int i_no, int i_roomNo) {
|
||||
} else if (i_no < (MEMORY_ITEM + DAN_ITEM)) {
|
||||
mMemory.getBit().onItem(i_no - MEMORY_ITEM);
|
||||
} else {
|
||||
int zoneNo = dStage_roomControl_c::getZoneNo(i_roomNo);
|
||||
int zoneNo = dComIfGp_roomControl_getZoneNo(i_roomNo);
|
||||
if (i_no < (MEMORY_ITEM + DAN_ITEM + ZONE_ITEM)) {
|
||||
mZone[zoneNo].getZoneBit().onItem(i_no - (MEMORY_ITEM + DAN_ITEM));
|
||||
mZone[zoneNo].getBit().onItem(i_no - (MEMORY_ITEM + DAN_ITEM));
|
||||
} else {
|
||||
mZone[zoneNo].getZoneBit().onOneItem(i_no - (MEMORY_ITEM + DAN_ITEM + ZONE_ITEM));
|
||||
mZone[zoneNo].getBit().onOneItem(i_no - (MEMORY_ITEM + DAN_ITEM + ZONE_ITEM));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1637,7 +1635,7 @@ BOOL dSv_info_c::isItem(int i_no, int i_roomNo) const {
|
||||
} else if (i_no < (MEMORY_ITEM + DAN_ITEM)) {
|
||||
return mMemory.getBit().isItem(i_no - MEMORY_ITEM);
|
||||
} else {
|
||||
int zoneNo = dStage_roomControl_c::getZoneNo(i_roomNo);
|
||||
int zoneNo = dComIfGp_roomControl_getZoneNo(i_roomNo);
|
||||
if (i_no < (MEMORY_ITEM + DAN_ITEM + ZONE_ITEM)) {
|
||||
return mZone[zoneNo].getBit().isItem(i_no - (MEMORY_ITEM + DAN_ITEM));
|
||||
} else {
|
||||
@@ -1652,7 +1650,7 @@ void dSv_info_c::onActor(int i_id, int i_roomNo) {
|
||||
return;
|
||||
}
|
||||
|
||||
int zoneNo = dStage_roomControl_c::getZoneNo(i_roomNo);
|
||||
int zoneNo = dComIfGp_roomControl_getZoneNo(i_roomNo);
|
||||
mZone[zoneNo].getActor().on(i_id);
|
||||
}
|
||||
|
||||
@@ -1662,7 +1660,7 @@ void dSv_info_c::offActor(int i_id, int i_roomNo) {
|
||||
return;
|
||||
}
|
||||
|
||||
int zoneNo = dStage_roomControl_c::getZoneNo(i_roomNo);
|
||||
int zoneNo = dComIfGp_roomControl_getZoneNo(i_roomNo);
|
||||
mZone[zoneNo].getActor().off(i_id);
|
||||
}
|
||||
|
||||
@@ -1672,7 +1670,7 @@ BOOL dSv_info_c::isActor(int i_id, int i_roomNo) const {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
int zoneNo = dStage_roomControl_c::getZoneNo(i_roomNo);
|
||||
int zoneNo = dComIfGp_roomControl_getZoneNo(i_roomNo);
|
||||
return mZone[zoneNo].getActor().is(i_id);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user