summaryrefslogtreecommitdiff
path: root/src/d/kankyo
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2022-07-04 12:21:57 -0700
committerGitHub <noreply@github.com>2022-07-04 21:21:57 +0200
commit929c5cfa5a18effef4ef76e61282dd774b3deb1b (patch)
tree902fba539d9a30cc7aae3761f4ba5d2c34af83e8 /src/d/kankyo
parentb68cfbc0e6a66e9ef46ab01264dbe9e92b65bf8e (diff)
d_menu_save / pane_class / rename some data (#205)
* work on fop actor / actor mng, daalink, d_a_obj_item * d_a_title mostly decompiled * daalink / d_event / JMessage / dmsg_out_font work * msg_scrn_base / msg_scrn_boss * some work on mDo machine, d_menu_save, d_tresure, and various * remove asm * progress * finish d_menu_save / d_pane_class_alpha / d_pane_class / rename some data * rename more data * remove asm / progress * match all of d_pane_class * fixes / some dKankyo doc
Diffstat (limited to 'src/d/kankyo')
-rw-r--r--src/d/kankyo/d_kankyo.cpp718
-rw-r--r--src/d/kankyo/d_kankyo_rain.cpp2
-rw-r--r--src/d/kankyo/d_kankyo_wether.cpp203
3 files changed, 616 insertions, 307 deletions
diff --git a/src/d/kankyo/d_kankyo.cpp b/src/d/kankyo/d_kankyo.cpp
index 087fc72ff1..4d8c3ffd6d 100644
--- a/src/d/kankyo/d_kankyo.cpp
+++ b/src/d/kankyo/d_kankyo.cpp
@@ -11,6 +11,8 @@
#include "dol2asm.h"
#include "dolphin/types.h"
#include "m_Do/m_Do_audio.h"
+#include "SSystem/SComponent/c_math.h"
+#include "SSystem/SComponent/c_counter.h"
//
// Types:
@@ -305,7 +307,6 @@ extern "C" void __as__12J3DLightInfoFRC12J3DLightInfo();
extern "C" void setEffectMtx__13J3DTexMtxInfoFPA4_f();
extern "C" void simpleCalcMaterial__12J3DModelDataFUsPA4_f();
extern "C" void init__12J3DFrameCtrlFs();
-extern "C" void GXInitLightAttn();
extern "C" void __register_global_object();
extern "C" void __destroy_arr();
extern "C" void __construct_array();
@@ -342,7 +343,6 @@ extern "C" extern void* g_fopKy_Method[5 + 1 /* padding */];
extern "C" u8 m_bloom__13mDoGph_gInf_c[20];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" u8 mStatus__20dStage_roomControl_c[65792];
-extern "C" extern u8 g_Counter[12 + 4 /* padding */];
extern "C" u8 sincosTable___5JMath[65536];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
@@ -545,7 +545,7 @@ SECTION_DATA static u8 lightStatusBase[232] = {
/* 803BBEAC-803BBEBC 018FCC 0010+00 4/4 0/0 0/0 .data lightMaskData */
SECTION_DATA static u16 lightMaskData[8] = {
- 0x0001, 0x0002, 0x0004, 0x0008, 0x0010, 0x0020, 0x0040, 0x0080,
+ GX_LIGHT0, GX_LIGHT1, GX_LIGHT2, GX_LIGHT3, GX_LIGHT4, GX_LIGHT5, GX_LIGHT6, GX_LIGHT7,
};
/* 8019CB0C-8019CCDC 19744C 01D0+00 3/2 0/0 0/0 .text dKy_WolfPowerup_BgAmbCol__FP11_GXColorS10 */
@@ -1049,7 +1049,7 @@ SECTION_SDATA2 static f32 lit_5077 = 99999.8984375f;
/* 8019E694-8019E708 198FD4 0074+00 2/2 0/0 0/0 .text plight_init__Fv */
static void plight_init() {
- g_env_light.field_0x38[0].mPow = lit_5077;
+ g_env_light.mLightInfluence[0].mPow = lit_5077;
for (int i = 0; i < 100; i++) {
g_env_light.mPointLight[i] = NULL;
@@ -1060,8 +1060,8 @@ static void plight_init() {
g_env_light.field_0x72c[i] = NULL;
}
- g_env_light.field_0x12a4 = -1;
- g_env_light.field_0x12a8 = -1;
+ g_env_light.mPlayerPLightIdx = -1;
+ g_env_light.mPlayerEfLightIdx = -1;
}
/* 8019E708-8019E734 199048 002C+00 1/1 0/0 0/0 .text darkmist_init__Fv */
@@ -1206,6 +1206,186 @@ SECTION_SDATA2 static f32 lit_5348 = 360.0f;
SECTION_SDATA2 static f32 lit_5349 = 0.012000000104308128f;
/* 8019EC98-8019F264 1995D8 05CC+00 1/1 0/0 0/0 .text envcolor_init__Fv */
+#ifdef NONMATCHING
+static void envcolor_init() {
+ stage_palette_info_class* palette = dComIfGp_getStagePaletteInfo();
+ stage_pselect_info_class* pselect = dComIfGp_getStagePselectInfo();
+ stage_envr_info_class* envr = dComIfGp_getStageEnvrInfo();
+ stage_vrbox_info_class* vrbox = dComIfGp_getStageVrboxcolInfo();
+
+ dKy_actor_addcol_set(0, 0, 0, 0.0f);
+ dKy_fog_startendz_set(0.0f, 0.0f, 0.0f);
+ dKy_vrbox_addcol_set(0, 0, 0, 0.0f);
+
+ g_env_light.field_0x1280 = 0;
+ g_env_light.mInitAnmTimer = 1;
+ g_env_light.mSchBit = 0;
+ g_env_light.mSchbitTimer = 0;
+
+ g_env_light.mVrboxInvisible = false;
+ g_env_light.mContrastFlag = 0;
+ g_env_light.mFogAdjEnable = true;
+ g_env_light.mFogAdjTableType = 0;
+ g_env_light.mFogAdjCenter = 0x140;
+ dKyd_xfog_table_set(0);
+
+ g_env_light.mColAllcolRatio = 1.0f;
+ g_env_light.mColActColRatio = 1.0f;
+ g_env_light.mColBgColRatio = 1.0f;
+ g_env_light.mColFogColRatio = 1.0f;
+ g_env_light.mColVrboxSoraColRatio = 1.0f;
+ g_env_light.mColVrboxKumocolRatio = 1.0f;
+ g_env_light.field_0x1210 = 1.0f;
+
+ g_env_light.mAllcolRatio = 1.0f;
+ g_env_light.mActcolRatio = 1.0f;
+ g_env_light.mBgcolRatio = 1.0f;
+ g_env_light.mFogcolRatio = 1.0f;
+ g_env_light.mVrboxSoracolRatio = 1.0f;
+ g_env_light.mVrboxKumocolRatio = 1.0f;
+ g_env_light.field_0x122c = 1.0f;
+
+ g_env_light.mItemGetCol_chg = 0;
+ g_env_light.field_0x1240 = 0.0f;
+ g_env_light.field_0x1230 = 0.0f;
+ g_env_light.field_0x1234 = 0.0f;
+
+ g_env_light.mThunderEff.mStateTimer = 0;
+ g_env_light.field_0x1238 = 0.0f;
+ g_env_light.field_0x123c = 0.0f;
+ g_env_light.field_0x12d6 = 0;
+ g_env_light.mShadowMode = 0;
+ g_env_light.mCameraInWater = 0;
+
+ g_env_light.field_0x1258 = 0.0f;
+ g_env_light.mActorLightEffect = 100;
+ g_env_light.mPaletteTerrainLightEffect = 1.0f;
+ g_env_light.field_0x1064 = 0.0f;
+ g_env_light.field_0x1068 = -1.0f;
+ g_env_light.field_0x106c = -1.0f;
+ g_env_light.mDemoAttentionPoint = 0.0f;
+
+ if (!strcmp(dComIfGp_getStartStageName(), "R_SP127")) {
+ g_env_light.mDemoAttentionPoint = 0.11f;
+ }
+
+ g_env_light.field_0x1308 = 0;
+ g_env_light.field_0x130b = 0;
+ g_env_light.field_0x1309 = 1;
+ dKy_light_size_get(dComIfGp_getStartStageName());
+ g_env_light.mGrassLightEffectRate = 1.0f;
+ g_env_light.field_0x12fc = -1;
+ g_env_light.field_0x1278 = 0.0f;
+ g_env_light.field_0x1264 = -255.0f;
+ g_env_light.field_0x1268 = 999999.0f;
+ g_env_light.field_0x126c = 999999.0f;
+ g_env_light.field_0x127c = 200.0f;
+
+ if (dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) == ST_BOSS_ROOM) {
+ g_env_light.mpSchedule = dKyd_schejule_boss_getp();
+ } else {
+ g_env_light.mpSchedule = dKyd_schejule_getp();
+ }
+
+ g_env_light.mNowRoom = dComIfGp_roomControl_getStayNo();
+ g_env_light.mEnvrIdxCurr = dComIfGp_roomControl_getStayNo();
+ g_env_light.mColPatBlend = 1.0f;
+ g_env_light.field_0x12b0 = 0;
+ g_env_light.mColpatWeather = 0;
+ g_env_light.field_0xecc = 0.0f;
+
+ if (!strcmp(dComIfGp_getStartStageName(), "F_SP127") || !strcmp(dComIfGp_getStartStageName(), "R_SP127")) {
+ if (g_env_light.field_0x12cc >= 7) {
+ g_env_light.mColpatWeather = 2;
+ } else if (g_env_light.field_0x12cc != 0) {
+ g_env_light.mColpatWeather = 1;
+ }
+ } else if (!strcmp(dComIfGp_getStartStageName(), "D_MN07A")) {
+ if (g_env_light.field_0x12cc == 1) {
+ g_env_light.mColpatWeather = 1;
+ } else if (g_env_light.field_0x12cc == 2) {
+ g_env_light.mColpatWeather = 2;
+ }
+ } else {
+ g_env_light.field_0x12cc = 0;
+ }
+
+ g_env_light.mRainCountOrig = 0;
+ g_env_light.field_0x12a0 = 0;
+ g_env_light.mDiceWeatherMode = 0;
+ g_env_light.mDiceWeatherChangeTime = dComIfGs_getTime() + (cM_rndF(g_Counter.mCounter0 & 0x1F) * 15.0f);
+ if (g_env_light.mDiceWeatherChangeTime >= 360.0f) {
+ g_env_light.mDiceWeatherChangeTime -= 360.0f;
+ }
+
+ g_env_light.mDiceWeatherState = 0;
+ g_env_light.mDiceWeatherCurrPattern = 0;
+ g_env_light.mDiceWeatherCounter = 0;
+ g_env_light.mDiceWeatherTime = 0.0f;
+
+ g_env_light.mColPatPrev = g_env_light.mColpatWeather;
+ g_env_light.mColPatCurr = g_env_light.mColpatWeather;
+ g_env_light.mColpatPrevGather = 0xFF;
+ g_env_light.mColpatCurrGather = 0xFF;
+ g_env_light.mColPatBlendGather = -1.0f;
+ g_env_light.mColPatMode = 0;
+ g_env_light.mColPatModeGather = 0;
+
+ if (envr != NULL) {
+ g_env_light.mpDmEnvr = envr;
+ } else {
+ g_env_light.mpDmEnvr = (stage_envr_info_class*)dKyd_dmenvr_getp();
+ }
+
+ if (palette != NULL) {
+ g_env_light.mpDmPalet = palette;
+ } else {
+ g_env_light.mpDmPalet = (stage_palette_info_class*)dKyd_dmpalet_getp();
+ }
+
+ if (pselect != NULL) {
+ g_env_light.mpDmPselect = pselect;
+ } else {
+ g_env_light.mpDmPselect = (stage_pselect_info_class*)dKyd_dmpselect_getp();
+ }
+
+ if (vrbox != NULL) {
+ g_env_light.mpDmVrbox = vrbox;
+ } else {
+ g_env_light.mpDmVrbox = (stage_vrbox_info_class*)dKyd_dmvrbox_getp();
+ }
+
+ plight_init();
+ plight_set();
+ darkmist_init();
+ bgparts_activelight_init();
+
+ g_env_light.field_0x11c8 = 1.0f;
+ g_env_light.field_0x11cc = 1.0f;
+ g_env_light.field_0x11d0 = 1.0f;
+ g_env_light.field_0xf2c = 0;
+ g_env_light.field_0xf30 = NULL;
+ g_env_light.field_0xf34 = 0.0f;
+ g_env_light.field_0xf38 = NULL;
+
+ undwater_init();
+ dComIfGs_PolyDamageOff_Set(0);
+ g_env_light.field_0x98c = dComIfGp_roomControl_getStayNo();
+ g_env_light.field_0x12fa = 0;
+ g_env_light.field_0x12fb = 0;
+ g_env_light.field_0x1300 = -1;
+ g_env_light.field_0x1302 = -1;
+ g_env_light.mWaterSurfaceShineRate = 1.0f;
+
+ int timeH = dStage_stagInfo_GetTimeH(i_dComIfGp_getStage()->getStagInfo());
+ if (timeH >= 0) {
+ dComIfGs_setTime(timeH * 15.0f);
+ }
+ g_env_light.mTimeSpeed = 0.012f;
+
+ memset(&g_env_light.mMoyaSE, 0, 0x10);
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1214,12 +1394,37 @@ static asm void envcolor_init() {
#include "asm/d/kankyo/d_kankyo/envcolor_init__Fv.s"
}
#pragma pop
+#endif
/* ############################################################################################## */
/* 80453CB8-80453CBC 0022B8 0004+00 3/3 0/0 0/0 .sdata2 @5365 */
SECTION_SDATA2 static f32 lit_5365 = 120.0f;
/* 8019F264-8019F2E8 199BA4 0084+00 1/1 1/1 0/0 .text dKy_clear_game_init__Fv */
+// matches with literals
+#ifdef NONMATCHING
+void dKy_clear_game_init() {
+ dKy_actor_addcol_set(0, 0, 0, 0.0f);
+
+ g_env_light.mSunPos.x = 1.0f;
+ g_env_light.mSunPos.y = 0.0f;
+ g_env_light.mSunPos.z = 0.0f;
+
+ g_env_light.mMoonPos.x = -1.0f;
+ g_env_light.mMoonPos.y = 0.0f;
+ g_env_light.mMoonPos.z = 0.0f;
+
+ g_env_light.mNexttime = -1.0f;
+ g_env_light.mTime = -1.0f;
+ g_env_light.mDarkDaytime = 120.0f;
+
+ g_env_light.mDarktimeWeek = 0;
+ g_env_light.field_0x12fe = 0;
+ g_env_light.field_0x130a = 0;
+ g_env_light.field_0x12cc = 0;
+ g_env_light.field_0x130c = 0;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1228,6 +1433,7 @@ asm void dKy_clear_game_init() {
#include "asm/d/kankyo/d_kankyo/dKy_clear_game_init__Fv.s"
}
#pragma pop
+#endif
/* ############################################################################################## */
/* 803BBFD0-803BBFF0 -00001 0020+00 1/1 0/0 0/0 .data @5842 */
@@ -1508,7 +1714,7 @@ WIND_INF_ENTITY::WIND_INF_ENTITY() {
}
/* 8019F4F8-8019F4FC 199E38 0004+00 1/1 0/0 0/0 .text __ct__15LIGHT_INFLUENCEFv */
-LIGHT_INFLUENCE::LIGHT_INFLUENCE() {
+extern "C" void __ct__15LIGHT_INFLUENCEFv() {
/* empty function */
}
@@ -1919,7 +2125,7 @@ asm void dScnKy_env_light_c::settingTevStruct_plightcol_plus(cXyz* param_0, dKy_
Z2EnvSeMgr g_mEnvSeMgr;
/* 8042E07C-8042E7BC 05AD9C 0740+00 5/4 0/0 0/0 .bss lightStatusData */
-static u8 lightStatusData[1856];
+static LightStatus lightStatusData[8];
/* 80453D4C-80453D50 00234C 0004+00 1/1 0/0 0/0 .sdata2 @7011 */
SECTION_SDATA2 static f32 lit_7011 = 30000.0f;
@@ -2214,14 +2420,70 @@ SECTION_DEAD static char const* const stringBase_80394E5E = "colordata_tbl.dat";
#pragma pop
/* 801A5C1C-801A5E54 1A055C 0238+00 1/0 0/0 0/0 .text dKy_Create__FPv */
+// matches with literals
+#ifdef NONMATCHING
+static int dKy_Create(void*) {
+ BOOL setNextTime = false;
+ stage_envr_info_class* envr = dComIfGp_getStageEnvrInfo();
+ if (envr != NULL && dComIfGp_getStartStageRoomNo() != -1) {
+ if (envr[dComIfGp_getStartStageRoomNo()].field_0x0[0x40] != 0) {
+ mDoGph_gInf_c::getBloom()->create();
+ }
+ }
+
+ envcolor_init();
+ g_env_light.field_0x12b0 = 0;
+ g_env_light.field_0x1254 = 1.0f;
+ g_env_light.mPLightNearPos.x = 0.0f;
+ g_env_light.mPLightNearPos.y = 0.0f;
+ g_env_light.mPLightNearPos.z = 0.0f;
+ g_env_light.field_0xf3c = 0;
+ g_env_light.field_0xf40 = 0.0f;
+ g_env_light.field_0xf3d = 0;
+
+ dKy_setLight_init();
+ dKy_Sound_init();
+ dKyw_wind_set();
+ dungeonlight_init();
+ dKy_setLight_nowroom(dComIfGp_roomControl_getStayNo());
+
+ g_env_light.mResPolEfftbl = (dKy_pol_efftbl_struct*)dComIfG_getStageRes("pol_efftbl.dat");
+ g_env_light.mResPolEffcol = (dKy_pol_effcol_struct*)dComIfG_getStageRes("pol_effcol.dat");
+ g_env_light.mResPolEfftbl2 = (dKy_pol_efftbl_struct*)dComIfG_getStageRes("pol_efftbl2.dat");
+ g_env_light.mResPolEffcol2 = (dKy_pol_effcol_struct*)dComIfG_getStageRes("pol_effcol2.dat");
+ g_env_light.mResPolSound = (dKy_pol_sound_struct*)dComIfG_getStageRes("pol_sound.dat");
+ g_env_light.mResPolArg = (dKy_pol_arg_struct*)dComIfG_getStageRes("pol_arg.dat");
+ g_env_light.mResColorDataTbl = (dKy_color_data_struct*)dComIfG_getStageRes("colordata_tbl.dat");
+
+ if (g_env_light.mNexttime != -1.0f) {
+ setNextTime = true;
+ dComIfGs_setTime(g_env_light.mNexttime);
+ }
+
+ if (dKy_darkworld_check()) {
+ if (g_env_light.mTime == -1.0f) {
+ g_env_light.mTime = dComIfGs_getTime();
+ }
+ } else if (g_env_light.mTime != -1.0f) {
+ if (!setNextTime) {
+ dComIfGs_setTime(g_env_light.mTime);
+ }
+ g_env_light.mTime = -1.0f;
+ }
+
+ g_env_light.mNexttime = -1.0f;
+ return 4;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-static asm void dKy_Create(void* param_0) {
+static asm int dKy_Create(void* param_0) {
nofralloc
#include "asm/d/kankyo/d_kankyo/dKy_Create__FPv.s"
}
#pragma pop
+#endif
/* 801A5E54-801A60BC 1A0794 0268+00 1/1 1/1 0/0 .text dKy_setLight_init__Fv */
#pragma push
@@ -2234,14 +2496,9 @@ asm void dKy_setLight_init() {
#pragma pop
/* 801A60BC-801A60E0 1A09FC 0024+00 0/0 1/1 0/0 .text dKy_setLight__Fv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dKy_setLight() {
- nofralloc
-#include "asm/d/kankyo/d_kankyo/dKy_setLight__Fv.s"
+void dKy_setLight() {
+ g_env_light.mSunPos2 = g_env_light.mSunPos;
}
-#pragma pop
/* 801A60E0-801A61F4 1A0A20 0114+00 2/2 0/0 0/0 .text dKy_GlobalLight_set__Fv */
#pragma push
@@ -2553,14 +2810,11 @@ asm void dKy_vrbox_addcol_kasumi_set(s16 param_0, s16 param_1, s16 param_2, f32
#pragma pop
/* 801A8060-801A80D0 1A29A0 0070+00 1/1 0/0 0/0 .text dKy_vrbox_addcol_set__Fsssf */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void dKy_vrbox_addcol_set(s16 param_0, s16 param_1, s16 param_2, f32 param_3) {
- nofralloc
-#include "asm/d/kankyo/d_kankyo/dKy_vrbox_addcol_set__Fsssf.s"
+static void dKy_vrbox_addcol_set(s16 param_0, s16 param_1, s16 param_2, f32 param_3) {
+ dKy_vrbox_addcol_sky0_set(param_0, param_1, param_2, param_3);
+ dKy_vrbox_addcol_kasumi_set(param_0, param_1, param_2, param_3);
+ dKy_addcol_fog_set(param_0, param_1, param_2, param_3);
}
-#pragma pop
/* ############################################################################################## */
/* 80394C6C-80394C6C 0212CC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
@@ -2581,24 +2835,24 @@ asm void dKy_fog_startendz_set(f32 param_0, f32 param_1, f32 param_2) {
#pragma pop
/* 801A8168-801A8190 1A2AA8 0028+00 0/0 1/1 0/0 .text dKy_Itemgetcol_chg_on__Fv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dKy_Itemgetcol_chg_on() {
- nofralloc
-#include "asm/d/kankyo/d_kankyo/dKy_Itemgetcol_chg_on__Fv.s"
+void dKy_Itemgetcol_chg_on() {
+ if (g_env_light.mItemGetCol_chg != 0 && g_env_light.mItemGetCol_chg != 6) {
+ return;
+ }
+
+ g_env_light.mItemGetCol_chg = 1;
}
-#pragma pop
/* 801A8190-801A81C0 1A2AD0 0030+00 2/2 0/0 0/0 .text dKy_Sound_init__Fv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void dKy_Sound_init() {
- nofralloc
-#include "asm/d/kankyo/d_kankyo/dKy_Sound_init__Fv.s"
+static void dKy_Sound_init() {
+ f32 tmp = lit_5346;
+ g_env_light.mSound.field_0x0.x = tmp;
+ g_env_light.mSound.field_0x0.y = tmp;
+ g_env_light.mSound.field_0x0.z = tmp;
+ g_env_light.mSound.field_0xc = 0;
+ g_env_light.mSound.field_0x14 = -1;
+ g_env_light.mSound.field_0x10 = 0;
}
-#pragma pop
/* 801A81C0-801A8474 1A2B00 02B4+00 0/0 5/5 27/27 .text dKy_Sound_set__F4cXyziUii */
#pragma push
@@ -2611,14 +2865,9 @@ asm void dKy_Sound_set(cXyz param_0, int param_1, unsigned int param_2, int para
#pragma pop
/* 801A8474-801A8484 1A2DB4 0010+00 0/0 1/1 8/8 .text dKy_Sound_get__Fv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm SND_INFLUENCE* dKy_Sound_get() {
- nofralloc
-#include "asm/d/kankyo/d_kankyo/dKy_Sound_get__Fv.s"
+SND_INFLUENCE* dKy_Sound_get() {
+ return &g_env_light.mSound;
}
-#pragma pop
/* 801A8484-801A8538 1A2DC4 00B4+00 0/0 2/2 0/0 .text dKy_SordFlush_set__F4cXyzi */
#pragma push
@@ -2695,37 +2944,96 @@ static asm void GxXFog_set() {
#pragma pop
/* 801A87E4-801A880C 1A3124 0028+00 0/0 0/0 52/52 .text dKy_change_colpat__FUc */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dKy_change_colpat(u8 param_0) {
- nofralloc
-#include "asm/d/kankyo/d_kankyo/dKy_change_colpat__FUc.s"
+void dKy_change_colpat(u8 colpat) {
+ g_env_light.mColpatCurrGather = colpat;
+ if (g_env_light.mColPatCurr == colpat) {
+ return;
+ }
+
+ g_env_light.mColPatBlendGather = FLOAT_LABEL(lit_4409);
}
-#pragma pop
/* 801A880C-801A8854 1A314C 0048+00 0/0 0/0 25/25 .text dKy_custom_colset__FUcUcf */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dKy_custom_colset(u8 param_0, u8 param_1, f32 param_2) {
- nofralloc
-#include "asm/d/kankyo/d_kankyo/dKy_custom_colset__FUcUcf.s"
+void dKy_custom_colset(u8 prevGather, u8 curGather, f32 blend) {
+ if (g_env_light.mInitAnmTimer != 1) {
+ if (blend < lit_4505) {
+ g_env_light.mColpatPrevGather = prevGather;
+ } else {
+ g_env_light.mColpatPrevGather = curGather;
+ }
+
+ g_env_light.mColpatCurrGather = curGather;
+ g_env_light.mColPatBlendGather = blend;
+ g_env_light.mColPatModeGather = 1;
+ }
}
-#pragma pop
/* 801A8854-801A88EC 1A3194 0098+00 0/0 0/0 2/2 .text dKy_setLight_mine__FP12dKy_tevstr_c
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dKy_setLight_mine(dKy_tevstr_c* param_0) {
- nofralloc
-#include "asm/d/kankyo/d_kankyo/dKy_setLight_mine__FP12dKy_tevstr_c.s"
+void dKy_setLight_mine(dKy_tevstr_c* p_tevstr) {
+ GXLightObj light;
+
+ GXInitLightPos(&light, p_tevstr->mLightObj.mInfo.mLightPosition.x,
+ p_tevstr->mLightObj.mInfo.mLightPosition.y,
+ p_tevstr->mLightObj.mInfo.mLightPosition.z);
+ GXInitLightDir(&light, p_tevstr->mLightObj.mInfo.mLightDirection.x,
+ p_tevstr->mLightObj.mInfo.mLightDirection.y,
+ p_tevstr->mLightObj.mInfo.mLightDirection.z);
+ GXInitLightColor(&light, p_tevstr->mLightObj.mInfo.mColor);
+ GXInitLightAttn(&light, p_tevstr->mLightObj.mInfo.mCosAtten.x,
+ p_tevstr->mLightObj.mInfo.mCosAtten.y, p_tevstr->mLightObj.mInfo.mCosAtten.z,
+ p_tevstr->mLightObj.mInfo.mDistAtten.x, p_tevstr->mLightObj.mInfo.mDistAtten.y,
+ p_tevstr->mLightObj.mInfo.mDistAtten.z);
+ GXLoadLightObjImm(&light, (GXLightID)*lightMaskData);
}
-#pragma pop
/* 801A88EC-801A8A34 1A322C 0148+00 2/2 5/5 11/11 .text dKy_tevstr_init__FP12dKy_tevstr_cScUc */
+// almost
+#ifdef NONMATCHING
+void dKy_tevstr_init(dKy_tevstr_c* p_tevstr, s8 roomNo, u8 param_2) {
+ memset(p_tevstr, 0, sizeof(dKy_tevstr_c));
+
+ if (roomNo == -1) {
+ p_tevstr->mRoomNo = dComIfGp_roomControl_getStayNo();
+ } else {
+ p_tevstr->mRoomNo = roomNo;
+ }
+
+ p_tevstr->mEnvrIdxCurr = p_tevstr->mRoomNo;
+ p_tevstr->mEnvrIdxPrev = p_tevstr->mRoomNo;
+ p_tevstr->mEnvrIdxOverride = param_2;
+ p_tevstr->mInitTimer = 1;
+ p_tevstr->mInitType = 0x7B;
+ p_tevstr->mColorC0.a = 0;
+ p_tevstr->mColorK0.a = 255;
+ p_tevstr->field_0x378 = 0;
+ p_tevstr->field_0x374 = 1.0f;
+ p_tevstr->field_0x384 = 0;
+
+ p_tevstr->mLightObj.mInfo.mColor.g = 0;
+ p_tevstr->mLightObj.mInfo.mColor.b = 0;
+ p_tevstr->mLightObj.mInfo.mColor.a = 255;
+ p_tevstr->mLightObj.mInfo.mCosAtten.x = 1.0f;
+ p_tevstr->mLightObj.mInfo.mCosAtten.y = 0.0f;
+ p_tevstr->mLightObj.mInfo.mCosAtten.z = 0.0f;
+ p_tevstr->mLightObj.mInfo.mDistAtten.x = 1.0f;
+ p_tevstr->mLightObj.mInfo.mDistAtten.y = 0.0f;
+ p_tevstr->mLightObj.mInfo.mDistAtten.z = 0.0f;
+
+ for (int i = 0; i < 6; i++) {
+ J3DLightObj* light = &p_tevstr->field_0x074[i];
+
+ lightStatusData[i].field_0x0 = light->mInfo.mLightPosition;
+ lightStatusData[i].field_0x18 = light->mInfo.mColor;
+ lightStatusData[i].field_0x1c.x = 1.0f;
+ lightStatusData[i].field_0x1c.y = 0.0f;
+ lightStatusData[i].field_0x1c.z = 0.0f;
+ lightStatusData[i].field_0x28.x = 1.0f;
+ lightStatusData[i].field_0x28.y = 0.0f;
+ lightStatusData[i].field_0x28.z = 0.0f;
+ }
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -2734,88 +3042,58 @@ asm void dKy_tevstr_init(dKy_tevstr_c* param_0, s8 param_1, u8 param_2) {
#include "asm/d/kankyo/d_kankyo/dKy_tevstr_init__FP12dKy_tevstr_cScUc.s"
}
#pragma pop
+#endif
/* 801A8A34-801A8A44 1A3374 0010+00 0/0 1/1 0/0 .text dKy_rain_check__Fv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dKy_rain_check() {
- nofralloc
-#include "asm/d/kankyo/d_kankyo/dKy_rain_check__Fv.s"
+int dKy_rain_check() {
+ return g_env_light.mRainCount;
}
-#pragma pop
/* 801A8A44-801A8A54 1A3384 0010+00 0/0 0/0 5/5 .text dKy_set_allcol_ratio__Ff */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dKy_set_allcol_ratio(f32 param_0) {
- nofralloc
-#include "asm/d/kankyo/d_kankyo/dKy_set_allcol_ratio__Ff.s"
+void dKy_set_allcol_ratio(f32 ratio) {
+ g_env_light.mAllcolRatio = ratio;
}
-#pragma pop
/* 801A8A54-801A8A64 1A3394 0010+00 0/0 1/1 1/1 .text dKy_set_actcol_ratio__Ff */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dKy_set_actcol_ratio(f32 param_0) {
- nofralloc
-#include "asm/d/kankyo/d_kankyo/dKy_set_actcol_ratio__Ff.s"
+void dKy_set_actcol_ratio(f32 ratio) {
+ g_env_light.mActcolRatio = ratio;
}
-#pragma pop
/* 801A8A64-801A8A74 1A33A4 0010+00 0/0 1/1 1/1 .text dKy_set_bgcol_ratio__Ff */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dKy_set_bgcol_ratio(f32 param_0) {
- nofralloc
-#include "asm/d/kankyo/d_kankyo/dKy_set_bgcol_ratio__Ff.s"
+void dKy_set_bgcol_ratio(f32 ratio) {
+ g_env_light.mBgcolRatio = ratio;
}
-#pragma pop
/* 801A8A74-801A8A84 1A33B4 0010+00 0/0 1/1 1/1 .text dKy_set_fogcol_ratio__Ff */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dKy_set_fogcol_ratio(f32 param_0) {
- nofralloc
-#include "asm/d/kankyo/d_kankyo/dKy_set_fogcol_ratio__Ff.s"
+void dKy_set_fogcol_ratio(f32 ratio) {
+ g_env_light.mFogcolRatio = ratio;
}
-#pragma pop
/* 801A8A84-801A8AB8 1A33C4 0034+00 0/0 1/1 0/0 .text dKy_set_vrboxcol_ratio__Ff */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dKy_set_vrboxcol_ratio(f32 param_0) {
- nofralloc
-#include "asm/d/kankyo/d_kankyo/dKy_set_vrboxcol_ratio__Ff.s"
+void dKy_set_vrboxcol_ratio(f32 ratio) {
+ dKy_set_vrboxsoracol_ratio(ratio);
+ dKy_set_vrboxkumocol_ratio(ratio);
}
-#pragma pop
/* 801A8AB8-801A8AC8 1A33F8 0010+00 1/1 0/0 0/0 .text dKy_set_vrboxsoracol_ratio__Ff */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void dKy_set_vrboxsoracol_ratio(f32 param_0) {
- nofralloc
-#include "asm/d/kankyo/d_kankyo/dKy_set_vrboxsoracol_ratio__Ff.s"
+static void dKy_set_vrboxsoracol_ratio(f32 ratio) {
+ g_env_light.mVrboxSoracolRatio = ratio;
}
-#pragma pop
/* 801A8AC8-801A8AD8 1A3408 0010+00 1/1 0/0 0/0 .text dKy_set_vrboxkumocol_ratio__Ff */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void dKy_set_vrboxkumocol_ratio(f32 param_0) {
- nofralloc
-#include "asm/d/kankyo/d_kankyo/dKy_set_vrboxkumocol_ratio__Ff.s"
+static void dKy_set_vrboxkumocol_ratio(f32 ratio) {
+ g_env_light.mVrboxKumocolRatio = ratio;
}
-#pragma pop
/* 801A8AD8-801A8B38 1A3418 0060+00 0/0 1/1 0/0 .text dKy_itudemo_se__Fv */
+// matches with literals
+#ifdef NONMATCHING
+void dKy_itudemo_se() {
+ if (g_env_light.mMoyaSE != 0) {
+ mDoAud_seStart(g_env_light.mMoyaSE, NULL, 0, 0);
+ }
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -2824,46 +3102,35 @@ asm void dKy_itudemo_se() {
#include "asm/d/kankyo/d_kankyo/dKy_itudemo_se__Fv.s"
}
#pragma pop
+#endif
/* 801A8B38-801A8B58 1A3478 0020+00 1/1 2/2 11/11 .text dKy_get_dayofweek__Fv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm s32 dKy_get_dayofweek() {
- nofralloc
-#include "asm/d/kankyo/d_kankyo/dKy_get_dayofweek__Fv.s"
+s32 dKy_get_dayofweek() {
+ return dComIfGs_getDate() % 7;
}
-#pragma pop
/* 801A8B58-801A8B68 1A3498 0010+00 0/0 3/3 0/0 .text dKy_set_nexttime__Ff */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dKy_set_nexttime(f32 param_0) {
- nofralloc
-#include "asm/d/kankyo/d_kankyo/dKy_set_nexttime__Ff.s"
+void dKy_set_nexttime(f32 nextTime) {
+ g_env_light.mNexttime = nextTime;
}
-#pragma pop
/* 801A8B68-801A8BC8 1A34A8 0060+00 0/0 1/1 0/0 .text dKy_instant_timechg__Ff */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dKy_instant_timechg(f32 param_0) {
- nofralloc
-#include "asm/d/kankyo/d_kankyo/dKy_instant_timechg__Ff.s"
+void dKy_instant_timechg(f32 time) {
+ if (time < g_env_light.getDaytime()) {
+ dComIfGs_setDate(dComIfGs_getDate() + 1);
+ dKankyo_DayProc();
+ }
+
+ dComIfGs_setTime(time);
}
-#pragma pop
/* 801A8BC8-801A8C04 1A3508 003C+00 0/0 1/1 0/0 .text dKy_instant_rainchg__Fv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dKy_instant_rainchg() {
- nofralloc
-#include "asm/d/kankyo/d_kankyo/dKy_instant_rainchg__Fv.s"
+void dKy_instant_rainchg() {
+ dKyw_rain_set(250);
+ g_env_light.mColpatWeather = 1;
+ g_env_light.mColPatPrev = 1;
+ g_env_light.mColPatCurr = 1;
}
-#pragma pop
/* 801A8C04-801A8E20 1A3544 021C+00 3/3 0/0 0/0 .text NewAmbColGet__FP11_GXColorS10 */
#pragma push
@@ -3051,24 +3318,14 @@ static asm void dKy_WaterIn_Light_set() {
/* 801AB270-801AB280 1A5BB0 0010+00 0/0 2/2 0/0 .text dKy_camera_water_in_status_set__FUc
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dKy_camera_water_in_status_set(u8 param_0) {
- nofralloc
-#include "asm/d/kankyo/d_kankyo/dKy_camera_water_in_status_set__FUc.s"
+void dKy_camera_water_in_status_set(u8 status) {
+ g_env_light.mCameraInWater = status;
}
-#pragma pop
/* 801AB280-801AB290 1A5BC0 0010+00 3/3 1/1 5/5 .text dKy_camera_water_in_status_check__Fv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm BOOL dKy_camera_water_in_status_check() {
- nofralloc
-#include "asm/d/kankyo/d_kankyo/dKy_camera_water_in_status_check__Fv.s"
+BOOL dKy_camera_water_in_status_check() {
+ return g_env_light.mCameraInWater;
}
-#pragma pop
/* ############################################################################################## */
/* 80394C6C-80394C6C 0212CC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
@@ -3108,14 +3365,26 @@ asm u8 dKy_pol_sound_get(cBgS_PolyInfo const* param_0) {
#pragma pop
/* 801AB59C-801AB668 1A5EDC 00CC+00 0/0 5/5 0/0 .text dKy_pol_argument_get__FPC13cBgS_PolyInfo */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dKy_pol_argument_get(cBgS_PolyInfo const* param_0) {
- nofralloc
-#include "asm/d/kankyo/d_kankyo/dKy_pol_argument_get__FPC13cBgS_PolyInfo.s"
+u8 dKy_pol_argument_get(cBgS_PolyInfo const* p_poly) {
+ dScnKy_env_light_c* envLight = &g_env_light;
+
+ if (p_poly == NULL || &dComIfG_Bgsp() == NULL) {
+ return 0;
+ }
+
+ int att0 = dComIfG_Bgsp().GetPolyAtt0(*p_poly);
+ if (!strcmp(dComIfGp_getStartStageName(), "F_SP127") && g_env_light.field_0x12fe == 4 &&
+ att0 == 4) {
+ att0 = 13;
+ }
+
+ int att1 = dComIfG_Bgsp().GetPolyAtt1(*p_poly);
+ if (envLight->mResPolArg != NULL) {
+ return envLight->mResPolArg[att0].data[att1];
+ }
+
+ return 0;
}
-#pragma pop
/* 801AB668-801AB7D0 1A5FA8 0168+00 0/0 1/1 2/2 .text
* dKy_pol_eff_prim_get__FPC13cBgS_PolyInfoP8_GXColor */
@@ -3128,6 +3397,33 @@ asm void dKy_pol_eff_prim_get(cBgS_PolyInfo const* param_0, _GXColor* param_1) {
}
#pragma pop
+/* u8 dKy_pol_eff_prim_get(cBgS_PolyInfo const* p_poly, GXColor* p_color) {
+ dScnKy_env_light_c* envLight = &g_env_light;
+
+ if (p_poly == NULL || p_color == NULL || &dComIfG_Bgsp() == NULL) {
+ return 0xFF;
+ }
+
+ int att0 = dComIfG_Bgsp().GetPolyAtt0(*p_poly);
+ if (!strcmp(dComIfGp_getStartStageName(), "F_SP127") && g_env_light.field_0x12fe == 4 && att0 ==
+4) { att0 = 13; } else if (!strcmp(dComIfGp_getStartStageName(), "D_MN05A") &&
+dComIfGs_isStageBossEnemy() && att0 == 11) { att0 = 7;
+ }
+
+ int att1 = dComIfG_Bgsp().GetPolyAtt1(*p_poly);
+ if (envLight->mResPolEffcol == NULL || ) {
+ u32 index = envLight->mResPolEffcol[att0].data[att1];
+
+ if (index >= 100) {
+ return 0xFF;
+ }
+
+ p_color->r = envLight->mResColorDataTbl[index].data[0];
+ p_color->g = envLight->mResColorDataTbl[index].data[1];
+ p_color->b = envLight->mResColorDataTbl[index].data[2];
+ }
+} */
+
/* 801AB7D0-801AB93C 1A6110 016C+00 0/0 1/1 2/2 .text
* dKy_pol_eff_env_get__FPC13cBgS_PolyInfoP8_GXColor */
#pragma push
@@ -3204,44 +3500,55 @@ asm void dKy_pol_eff2_ratio_get(cBgS_PolyInfo const* param_0) {
#pragma pop
/* 801AC140-801AC168 1A6A80 0028+00 0/0 2/2 0/0 .text dKy_TeachWind_existence_chk__Fv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dKy_TeachWind_existence_chk() {
- nofralloc
-#include "asm/d/kankyo/d_kankyo/dKy_TeachWind_existence_chk__Fv.s"
+BOOL dKy_TeachWind_existence_chk() {
+ if (g_env_light.mTeachWindExist == 0xFF) {
+ return -1;
+ }
+
+ return g_env_light.mTeachWindExist ? TRUE : FALSE;
}
-#pragma pop
/* 801AC168-801AC228 1A6AA8 00C0+00 4/4 0/0 2/2 .text dKy_SunMoon_Light_Check__Fv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dKy_SunMoon_Light_Check() {
- nofralloc
-#include "asm/d/kankyo/d_kankyo/dKy_SunMoon_Light_Check__Fv.s"
+bool dKy_SunMoon_Light_Check() {
+ bool check = false;
+ if (g_env_light.mSunInitialized && !dKy_darkworld_check()) {
+ // stage is not City in the Sky, Hyrule Castle, or Hidden Skill area
+ if (memcmp(dComIfGp_getStartStageName(), "D_MN07", 6) &&
+ memcmp(dComIfGp_getStartStageName(), "D_MN09", 6) &&
+ strcmp(dComIfGp_getStartStageName(), "F_SP200")) {
+ check = true;
+ }
+ }
+
+ return check;
}
-#pragma pop
/* 801AC228-801AC28C 1A6B68 0064+00 3/3 0/0 0/0 .text dKy_Outdoor_check__Fv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dKy_Outdoor_check() {
- nofralloc
-#include "asm/d/kankyo/d_kankyo/dKy_Outdoor_check__Fv.s"
+static int dKy_Outdoor_check() {
+ BOOL outdoors = false;
+ u32 type = ST_FIELD;
+
+ if (i_dComIfGp_getStage() != NULL) {
+ type = dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo());
+ }
+
+ if (type == ST_FIELD) {
+ outdoors = true;
+ }
+
+ return outdoors;
}
-#pragma pop
/* 801AC28C-801AC2E0 1A6BCC 0054+00 1/1 0/0 0/0 .text dKy_Indoor_check__Fv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void dKy_Indoor_check() {
- nofralloc
-#include "asm/d/kankyo/d_kankyo/dKy_Indoor_check__Fv.s"
+static int dKy_Indoor_check() {
+ BOOL indoors = false;
+
+ if (dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) != ST_FIELD) {
+ indoors = true;
+ }
+
+ return indoors;
}
-#pragma pop
/* 801AC2E0-801AC2E8 1A6C20 0008+00 0/0 1/1 0/0 .text dKy_withwarp_capture_check__Fv */
BOOL dKy_withwarp_capture_check() {
@@ -3266,14 +3573,15 @@ asm void dKy_depth_dist_set(void* param_0) {
#pragma pop
/* 801AC57C-801AC5BC 1A6EBC 0040+00 13/13 21/21 134/134 .text dKy_darkworld_check__Fv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm bool dKy_darkworld_check() {
- nofralloc
-#include "asm/d/kankyo/d_kankyo/dKy_darkworld_check__Fv.s"
+bool dKy_darkworld_check() {
+ bool check = false;
+
+ if (dComIfGp_world_dark_get() == 1) {
+ check = true;
+ }
+
+ return check;
}
-#pragma pop
/**
* @brief Returns the following info about a room: (1) if the room must not be in twilight and (2)
diff --git a/src/d/kankyo/d_kankyo_rain.cpp b/src/d/kankyo/d_kankyo_rain.cpp
index 4d051653b6..5fb82586ee 100644
--- a/src/d/kankyo/d_kankyo_rain.cpp
+++ b/src/d/kankyo/d_kankyo_rain.cpp
@@ -379,7 +379,7 @@ extern "C" extern u8 j3dSys[284];
extern "C" u8 sincosTable___5JMath[65536];
extern "C" extern u32 __float_nan;
extern "C" u8 mFrameBufferTimg__13mDoGph_gInf_c[4];
-extern "C" extern u8 struct_80450D64[4];
+extern "C" extern u8 mStayNo__20dStage_roomControl_c[4];
extern "C" u8 m_mode__7dDemo_c[4];
extern "C" u8 sOldVcdVatCmd__8J3DShape[4];
diff --git a/src/d/kankyo/d_kankyo_wether.cpp b/src/d/kankyo/d_kankyo_wether.cpp
index de47268357..cfce856920 100644
--- a/src/d/kankyo/d_kankyo_wether.cpp
+++ b/src/d/kankyo/d_kankyo_wether.cpp
@@ -129,6 +129,7 @@ extern "C" void dKyw_evt_wind_set_go__Fv();
extern "C" void dKyw_rain_set__Fi();
extern "C" extern char const* const d_kankyo_d_kankyo_wether__stringBase0;
+
//
// External References:
//
@@ -270,12 +271,12 @@ static J3DPacket* dKyw_setDrawPacketListXluBg(J3DPacket* p_packet, int type) {
/* 80056C60-80056C98 0515A0 0038+00 1/0 0/0 0/0 .text draw__18dKankyo_sun_PacketFv */
void dKankyo_sun_Packet::draw() {
- dKyr_drawSun(j3dSys.getViewMtx(), &field_0x10[0], mColor, &mpResMoon);
+ dKyr_drawSun(j3dSys.getViewMtx(), mPos, mColor, &mpResMoon);
}
/* 80056C98-80056CD0 0515D8 0038+00 1/0 0/0 0/0 .text draw__22dKankyo_sunlenz_PacketFv */
void dKankyo_sunlenz_Packet::draw() {
- dKyr_drawLenzflare(j3dSys.getViewMtx(), &field_0x24[0], field_0x10, &mpResBall);
+ dKyr_drawLenzflare(j3dSys.getViewMtx(), mPositions, mColor, &mpResBall);
}
/* 80056CD0-80056D0C 051610 003C+00 2/2 0/0 0/0 .text __dt__8RAIN_EFFFv */
@@ -288,8 +289,8 @@ RAIN_EFF::RAIN_EFF() {
/* 80056D10-80056D58 051650 0048+00 1/0 0/0 0/0 .text draw__19dKankyo_rain_PacketFv */
void dKankyo_rain_Packet::draw() {
- dKyr_drawSibuki(j3dSys.getViewMtx(), &field_0x10);
- dKyr_drawRain(j3dSys.getViewMtx(), &field_0x10);
+ dKyr_drawSibuki(j3dSys.getViewMtx(), &mpTex);
+ dKyr_drawRain(j3dSys.getViewMtx(), &mpTex);
}
/* 80056D58-80056D94 051698 003C+00 1/1 1/1 0/0 .text __dt__8SNOW_EFFFv */
@@ -302,7 +303,7 @@ SNOW_EFF::SNOW_EFF() {
/* 80056D98-80056DC8 0516D8 0030+00 1/0 0/0 0/0 .text draw__19dKankyo_snow_PacketFv */
void dKankyo_snow_Packet::draw() {
- dKyr_drawSnow(j3dSys.getViewMtx(), &field_0x10);
+ dKyr_drawSnow(j3dSys.getViewMtx(), &mpTex);
}
/* 80056DC8-80056E04 051708 003C+00 1/1 1/1 0/0 .text __dt__8STAR_EFFFv */
@@ -354,7 +355,7 @@ VRKUMO_EFF::VRKUMO_EFF() {
/* 80056F58-80056F8C 051898 0034+00 1/0 0/0 0/0 .text draw__21dKankyo_vrkumo_PacketFv */
void dKankyo_vrkumo_Packet::draw() {
- drawVrkumo(j3dSys.getViewMtx(), field_0x10, &mpResCloudtx_01);
+ drawVrkumo(j3dSys.getViewMtx(), mColor, &mpResCloudtx_01);
}
/* 80056F8C-80056FC8 0518CC 003C+00 2/2 0/0 0/0 .text __dt__12EF_ODOUR_EFFFv */
@@ -408,7 +409,7 @@ static void dKyw_Sun_Draw() {
/* 80057130-80057174 051A70 0044+00 1/1 0/0 0/0 .text dKyw_drawSunlenz__Fi */
static void dKyw_drawSunlenz(int type) {
- if (g_env_light.mpSunLenzPacket->field_0x9e == 0) {
+ if (g_env_light.mpSunLenzPacket->mDrawLenzInSky == false) {
dKyw_setDrawPacketListIndScreen(g_env_light.mpSunLenzPacket, type);
} else {
dKyw_setDrawPacketListSky(g_env_light.mpSunLenzPacket, type);
@@ -550,35 +551,35 @@ inline u32 tmp_dComIfGp_particle_set(u16 param_0, const cXyz* param_1, const csX
/* 800574E0-800579EC 051E20 050C+00 0/0 1/1 0/0 .text dKyw_wether_init__Fv */
void dKyw_wether_init() {
- g_env_light.mSunPacketEnabled = false;
- g_env_light.field_0xed4.field_0x0 = 0;
- g_env_light.field_0xed4.field_0x4 = 0;
- g_env_light.mRainPacketEnabled = 0;
+ g_env_light.mSunInitialized = false;
+ g_env_light.mThunderEff.mStatus = 0;
+ g_env_light.mThunderEff.mMode = 0;
+ g_env_light.mRainInitialized = false;
g_env_light.mRainCount = 0;
- g_env_light.mSnowPacketEnabled = 0;
+ g_env_light.mSnowInitialized = false;
g_env_light.field_0xe92 = 0;
g_env_light.mSnowCount = 0;
g_env_light.field_0xe90 = 0;
g_env_light.field_0xe91 = 0;
- g_env_light.mStarPacketEnabled = false;
+ g_env_light.mStarInitialized = false;
g_env_light.mStarCount = 0;
f32 tmp0 = FLOAT_LABEL(lit_4378);
g_env_light.mStarDensity = tmp0;
- g_env_light.mCloudPacketEnabled = 0;
- g_env_light.field_0xeb8 = 0;
+ g_env_light.mCloudInitialized = 0;
+ g_env_light.mMoyaCount = 0;
g_env_light.field_0xebc = tmp0;
- g_env_light.field_0xeb5 = 0;
- g_env_light.mHousiPacketEnabled = false;
- g_env_light.field_0xeac = 0;
+ g_env_light.mMoyaMode = 0;
+ g_env_light.mHousiInitialized = false;
+ g_env_light.mHousiCount = 0;
g_env_light.mOdourPacketStatus = 0;
g_env_light.field_0xf24 = 0;
g_env_light.field_0xf21 = 0;
g_env_light.mpOdourPacket = NULL;
g_env_light.field_0x1038 = 0;
g_env_light.field_0x103c = 0;
- g_env_light.mMudPacketEnabled = 0;
+ g_env_light.mMudInitialized = 0;
g_env_light.field_0x1048 = 0;
- g_env_light.mEvilPacketEnabled = 0;
+ g_env_light.mEvilInitialized = 0;
g_env_light.field_0x1054 = 0;
g_env_light.field_0x1051 = 0;
g_env_light.field_0xe60 = tmp0;
@@ -622,41 +623,41 @@ void dKyw_wether_init() {
/* 800579EC-80057A04 05232C 0018+00 0/0 1/1 0/0 .text dKyw_wether_init2__Fv */
void dKyw_wether_init2() {
- g_env_light.field_0xec4 = 0;
- g_env_light.field_0xec8 = 0;
+ g_env_light.mVrkumoStatus = 0;
+ g_env_light.mVrkumoCount = 0;
}
/* 80057A04-80057C84 052344 0280+00 0/0 1/1 0/0 .text dKyw_wether_delete__Fv */
void dKyw_wether_delete() {
- if (g_env_light.mSunPacketEnabled) {
+ if (g_env_light.mSunInitialized) {
delete g_env_light.mpSunPacket;
delete g_env_light.mpSunLenzPacket;
g_env_light.mpSunPacket = NULL;
g_env_light.mpSunLenzPacket = NULL;
}
- if (g_env_light.mRainPacketEnabled) {
+ if (g_env_light.mRainInitialized) {
delete g_env_light.mpRainPacket;
g_env_light.mpRainPacket = NULL;
}
- if (g_env_light.mSnowPacketEnabled) {
+ if (g_env_light.mSnowInitialized) {
delete g_env_light.mpSnowPacket;
g_env_light.mpSnowPacket = NULL;
g_env_light.field_0xe90 = 0;
}
- if (g_env_light.mStarPacketEnabled) {
+ if (g_env_light.mStarInitialized) {
delete g_env_light.mpStarPacket;
g_env_light.mpStarPacket = NULL;
}
- if (g_env_light.mHousiPacketEnabled) {
+ if (g_env_light.mHousiInitialized) {
delete g_env_light.mpHousiPacket;
g_env_light.mpHousiPacket = NULL;
}
- if (g_env_light.mCloudPacketEnabled) {
+ if (g_env_light.mCloudInitialized) {
delete g_env_light.mpCloudPacket;
g_env_light.mpCloudPacket = NULL;
}
@@ -666,12 +667,12 @@ void dKyw_wether_delete() {
g_env_light.mpOdourPacket = NULL;
}
- if (g_env_light.mMudPacketEnabled) {
+ if (g_env_light.mMudInitialized) {
delete g_env_light.mpMudPacket;
g_env_light.mpMudPacket = NULL;
}
- if (g_env_light.mEvilPacketEnabled) {
+ if (g_env_light.mEvilInitialized) {
delete g_env_light.mpEvilPacket;
g_env_light.mpEvilPacket = NULL;
}
@@ -739,7 +740,7 @@ dKankyo_sun_Packet::~dKankyo_sun_Packet() {}
/* 800581AC-8005820C 052AEC 0060+00 0/0 1/1 0/0 .text dKyw_wether_delete2__Fv */
void dKyw_wether_delete2() {
- if (g_env_light.field_0xec4 != 0) {
+ if (g_env_light.mVrkumoStatus != 0) {
delete g_env_light.mpVrkumoPacket;
g_env_light.mpVrkumoPacket = NULL;
}
@@ -750,11 +751,11 @@ dKankyo_vrkumo_Packet::~dKankyo_vrkumo_Packet() {}
/* 80058290-800582F8 052BD0 0068+00 1/1 0/0 0/0 .text wether_move_thunder__Fv */
static void wether_move_thunder() {
- switch (g_env_light.field_0xed4.field_0x0) {
+ switch (g_env_light.mThunderEff.mStatus) {
case 0:
- if (g_env_light.field_0xed4.field_0x4 != 0) {
+ if (g_env_light.mThunderEff.mMode != 0) {
dKyr_thunder_init();
- g_env_light.field_0xed4.field_0x0 = 1;
+ g_env_light.mThunderEff.mStatus = 1;
}
break;
case 1:
@@ -777,7 +778,7 @@ SECTION_SDATA2 static f32 lit_4611 = 1000000000.0f;
/* 80058318-80058894 052C58 057C+00 1/1 0/0 0/0 .text wether_move_sun__Fv */
static void wether_move_sun() {
s32 sunVisible = false;
- if (dComIfGp_checkStatus(1) && !g_env_light.field_0x12d4) {
+ if (dComIfGp_checkStatus(1) && !g_env_light.mVrboxInvisible) {
roomRead_class* room = dComIfGp_getStageRoom();
if (room != NULL && room->field_0x0 > dComIfGp_roomControl_getStayNo()) {
sunVisible = dStage_roomRead_dt_c_GetVrboxswitch(
@@ -793,7 +794,7 @@ static void wether_move_sun() {
sunVisible = false;
}
- switch (g_env_light.mSunPacketEnabled) {
+ switch (g_env_light.mSunInitialized) {
case FALSE:
if (sunVisible && dKy_darkworld_check() != true) {
g_env_light.mpSunPacket = new (0x20) dKankyo_sun_Packet();
@@ -854,16 +855,16 @@ static void wether_move_sun() {
f32 tmp0_2 = FLOAT_LABEL(lit_4378);
g_env_light.mpSunLenzPacket->field_0x90 = tmp0_2;
g_env_light.mpSunLenzPacket->field_0x98 = tmp0_2;
- g_env_light.mpSunLenzPacket->field_0x9e = 0;
+ g_env_light.mpSunLenzPacket->mDrawLenzInSky = false;
dKyr_sun_move();
dKyr_lenzflare_move();
- g_env_light.mSunPacketEnabled = true;
+ g_env_light.mSunInitialized = true;
}
}
break;
case TRUE:
if (!sunVisible) {
- g_env_light.mSunPacketEnabled = false;
+ g_env_light.mSunInitialized = false;
delete g_env_light.mpSunPacket;
delete g_env_light.mpSunLenzPacket;
g_env_light.mpSunPacket = NULL;
@@ -897,7 +898,7 @@ SECTION_SDATA2 static f64 lit_4671 = 4503601774854144.0 /* cast s32 to float */;
// matches with literals
#ifdef NONMATCHING
static void wether_move_rain() {
- switch (g_env_light.mRainPacketEnabled) {
+ switch (g_env_light.mRainInitialized) {
case FALSE:
if (g_env_light.mRainCount > 3) {
g_env_light.mpRainPacket = new (32) dKankyo_rain_Packet();
@@ -905,7 +906,7 @@ static void wether_move_rain() {
if (g_env_light.mpRainPacket != NULL) {
dKyr_rain_init();
dKyr_rain_move();
- g_env_light.mRainPacketEnabled = 1;
+ g_env_light.mRainInitialized = 1;
if (g_env_light.mRainCount != 250) {
mDoAud_seStart(JA_SE_ATM_RAIN_START, NULL, 0, 0);
@@ -929,7 +930,7 @@ static void wether_move_rain() {
}
if (g_env_light.mRainCount <= 3) {
- g_env_light.mRainPacketEnabled = 0;
+ g_env_light.mRainInitialized = 0;
mDoAud_seStart(JA_SE_ATM_RAIN_END, NULL, 0, 0);
delete g_env_light.mpRainPacket;
g_env_light.mpRainPacket = NULL;
@@ -950,13 +951,13 @@ static asm void wether_move_rain() {
/* 80058B00-80058B8C 053440 008C+00 1/1 0/0 0/0 .text wether_move_snow__Fv */
static void wether_move_snow() {
- switch (g_env_light.mSnowPacketEnabled) {
+ switch (g_env_light.mSnowInitialized) {
case FALSE:
if (g_env_light.mSnowCount != 0 || g_env_light.field_0xe90 != 0) {
dKyr_snow_init();
if (g_env_light.mpSnowPacket != NULL) {
dKyr_snow_move();
- g_env_light.mSnowPacketEnabled = 1;
+ g_env_light.mSnowInitialized = 1;
}
}
break;
@@ -1020,7 +1021,7 @@ static void wether_move_star() {
return;
} else {
// Stage is Hero Shade arena
- if ((dComIfGp_checkStatus(1) && !g_env_light.field_0x12d4) ||
+ if ((dComIfGp_checkStatus(1) && !g_env_light.mVrboxInvisible) ||
!strcmp(dComIfGp_getStartStageName(), "F_SP200")) {
roomRead_class* room = dComIfGp_getStageRoom();
if (room != NULL && room->field_0x0 > dComIfGp_roomControl_getStayNo()) {
@@ -1048,11 +1049,11 @@ static void wether_move_star() {
}
}
- if (g_env_light.field_0x12c8 != 0) {
+ if (g_env_light.mColpatWeather != 0) {
density = FLOAT_LABEL(lit_4378);
}
- if (g_env_light.field_0x12c3 != 0 && g_env_light.field_0x11dc > lit_4767) {
+ if (g_env_light.mColPatCurr != 0 && g_env_light.mColPatBlend > lit_4767) {
density = FLOAT_LABEL(lit_4378);
}
@@ -1071,7 +1072,7 @@ static void wether_move_star() {
g_env_light.mStarCount = (s16)(lit_4772 * g_env_light.mStarDensity);
}
- switch (g_env_light.mStarPacketEnabled) {
+ switch (g_env_light.mStarInitialized) {
case FALSE:
if (g_env_light.mStarCount != 0) {
dKyr_star_init();
@@ -1080,7 +1081,7 @@ static void wether_move_star() {
if (g_env_light.mpStarPacket != NULL) {
dKyr_star_move();
dKyr_shstar_move();
- g_env_light.mStarPacketEnabled = true;
+ g_env_light.mStarInitialized = true;
}
}
break;
@@ -1089,7 +1090,7 @@ static void wether_move_star() {
dKyr_shstar_move();
if (g_env_light.mStarCount == 0) {
- g_env_light.mStarPacketEnabled = false;
+ g_env_light.mStarInitialized = false;
delete g_env_light.mpStarPacket;
g_env_light.mpStarPacket = NULL;
@@ -1117,9 +1118,9 @@ static void wether_move_housi() {
if (dKy_darkworld_check() == true ||
(!strcmp(dComIfGp_getStartStageName(), "F_SP115") &&
dComIfGp_roomControl_getStayNo() == 1 && dComIfGp_getStartStageLayer() == 9)) {
- if (g_env_light.field_0x12d2 != 0) {
+ if (g_env_light.mInitAnmTimer != 0) {
g_env_light.field_0xea9 = 0;
- g_env_light.field_0xeac = 200;
+ g_env_light.mHousiCount = 200;
// Stage is Faron Woods and Room is Faron Spring or
// Stage is Castle Town and Room is Castle Town Center or
@@ -1133,14 +1134,14 @@ static void wether_move_housi() {
dComIfGp_getStartStageRoomNo() == 0 && dComIfGp_getStartStageLayer() == 9) ||
(!strcmp(dComIfGp_getStartStageName(), "F_SP115") &&
dComIfGp_getStartStageLayer() == 9)) {
- g_env_light.field_0xeac = 0;
+ g_env_light.mHousiCount = 0;
}
}
}
- switch (g_env_light.mHousiPacketEnabled) {
+ switch (g_env_light.mHousiInitialized) {
case FALSE:
- if (g_env_light.field_0xeac != 0) {
+ if (g_env_light.mHousiCount != 0) {
g_env_light.mpHousiPacket = new (32) dKankyo_housi_Packet();
if (g_env_light.mpHousiPacket != NULL) {
@@ -1173,23 +1174,23 @@ static void wether_move_housi() {
g_env_light.mpHousiPacket->field_0x5de8 = tmp0;
g_env_light.mpHousiPacket->field_0x10.set(tmp0, tmp0, tmp0);
for (int i = 0; i < 300; i++) {
- g_env_light.mpHousiPacket->field_0x18[i].field_0x0 = 0;
+ g_env_light.mpHousiPacket->mHousiEff[i].mStatus = 0;
}
dKyr_housi_move();
- g_env_light.mHousiPacketEnabled = true;
+ g_env_light.mHousiInitialized = true;
}
}
break;
case TRUE:
- if (g_env_light.field_0xeac == 0 &&
+ if (g_env_light.mHousiCount == 0 &&
g_env_light.mpHousiPacket->field_0x5de8 <= FLOAT_LABEL(lit_4378)) {
- g_env_light.mHousiPacketEnabled = false;
+ g_env_light.mHousiInitialized = false;
delete g_env_light.mpHousiPacket;
g_env_light.mpHousiPacket = NULL;
} else {
dKyr_housi_move();
if (!dKy_darkworld_check()) {
- g_env_light.field_0xeac = 0;
+ g_env_light.mHousiCount = 0;
}
}
break;
@@ -1233,32 +1234,32 @@ static void wether_move_odour() {
/* 80059580-80059728 053EC0 01A8+00 1/1 0/0 0/0 .text wether_move_moya__Fv */
static void wether_move_moya() {
- switch (g_env_light.mCloudPacketEnabled) {
+ switch (g_env_light.mCloudInitialized) {
case 0:
- if (g_env_light.field_0xeb8 != 0) {
+ if (g_env_light.mMoyaCount != 0) {
g_env_light.mpCloudPacket = new (32) dKankyo_cloud_Packet();
if (g_env_light.mpCloudPacket != NULL) {
g_env_light.mpCloudPacket->mpResTex = (u8*)dComIfG_getObjectRes("Always", 0x53);
for (int i = 0; i < 50; i++) {
- g_env_light.mpCloudPacket->field_0x18[i].field_0x0 = 0;
+ g_env_light.mpCloudPacket->mCloudEff[i].mStatus = 0;
}
- g_env_light.mpCloudPacket->field_0x14 = 0;
+ g_env_light.mpCloudPacket->mCount = 0;
cloud_shadow_move();
- g_env_light.mCloudPacketEnabled++;
+ g_env_light.mCloudInitialized++;
}
}
break;
case 1:
- if (g_env_light.field_0xeb5 == 0) {
+ if (g_env_light.mMoyaMode == 0) {
dKyw_get_wind_pow();
}
cloud_shadow_move();
- if (g_env_light.field_0xeb8 == 0 && g_env_light.mpCloudPacket->field_0x14 == 0) {
- g_env_light.mCloudPacketEnabled = 0;
+ if (g_env_light.mMoyaCount == 0 && g_env_light.mpCloudPacket->mCount == 0) {
+ g_env_light.mCloudInitialized = 0;
delete g_env_light.mpCloudPacket;
g_env_light.mpCloudPacket = NULL;
@@ -1336,7 +1337,7 @@ static asm void wether_move_vrkumo() {
/* 80059E38-80059F74 054778 013C+00 1/1 0/0 0/0 .text wether_move_mud__Fv */
static void wether_move_mud() {
- switch (g_env_light.mMudPacketEnabled) {
+ switch (g_env_light.mMudInitialized) {
case 0:
if (g_env_light.field_0x1048 != 0) {
g_env_light.mpMudPacket = new (32) dKankyo_mud_Packet();
@@ -1344,7 +1345,7 @@ static void wether_move_mud() {
if (g_env_light.mpMudPacket != NULL) {
dKyr_mud_init();
dKyr_mud_move();
- g_env_light.mMudPacketEnabled++;
+ g_env_light.mMudInitialized++;
}
}
break;
@@ -1352,7 +1353,7 @@ static void wether_move_mud() {
dKyr_mud_move();
if (g_env_light.field_0x1048 == 0 && g_env_light.mpMudPacket->field_0x10 == 0) {
- g_env_light.mMudPacketEnabled = 0;
+ g_env_light.mMudInitialized = 0;
delete g_env_light.mpMudPacket;
g_env_light.mpMudPacket = NULL;
@@ -1363,7 +1364,7 @@ static void wether_move_mud() {
/* 80059F74-8005A0B8 0548B4 0144+00 1/1 0/0 0/0 .text wether_move_evil__Fv */
static void wether_move_evil() {
- switch (g_env_light.mEvilPacketEnabled & 0xF) {
+ switch (g_env_light.mEvilInitialized & 0xF) {
case 0:
if (g_env_light.field_0x1054 != 0) {
g_env_light.mpEvilPacket = new (32) dKankyo_evil_Packet();
@@ -1371,7 +1372,7 @@ static void wether_move_evil() {
if (g_env_light.mpEvilPacket != NULL) {
dKyr_evil_init();
dKyr_evil_move();
- g_env_light.mEvilPacketEnabled++;
+ g_env_light.mEvilInitialized++;
}
}
break;
@@ -1379,7 +1380,7 @@ static void wether_move_evil() {
dKyr_evil_move();
if (g_env_light.field_0x1054 == 0 && g_env_light.mpEvilPacket->field_0x10 == 0) {
- g_env_light.mEvilPacketEnabled = 0;
+ g_env_light.mEvilInitialized = 0;
delete g_env_light.mpEvilPacket;
g_env_light.mpEvilPacket = NULL;
@@ -1390,7 +1391,7 @@ static void wether_move_evil() {
/* 8005A0B8-8005A154 0549F8 009C+00 0/0 1/1 0/0 .text dKyw_wether_move_draw__Fv */
void dKyw_wether_move_draw() {
- g_env_light.field_0x1288 = 0;
+ g_env_light.mMoyaSE = 0;
if (strcmp(dComIfGp_getStartStageName(), "Name")) {
wether_move_sun();
@@ -1415,11 +1416,11 @@ void dKyw_wether_move_draw2() {
/* 8005A174-8005A304 054AB4 0190+00 0/0 1/1 0/0 .text dKyw_wether_draw__Fv */
void dKyw_wether_draw() {
- if (strcmp(dComIfGp_getStartStageName(), "Name") && g_env_light.mCloudPacketEnabled != 0) {
+ if (strcmp(dComIfGp_getStartStageName(), "Name") && g_env_light.mCloudInitialized != 0) {
dKyw_Cloud_Draw();
}
- if (strcmp(dComIfGp_getStartStageName(), "Name") && g_env_light.mSunPacketEnabled) {
+ if (strcmp(dComIfGp_getStartStageName(), "Name") && g_env_light.mSunInitialized) {
stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo();
if (dStage_stagInfo_GetArg0(stag_info) != 0) {
@@ -1428,21 +1429,21 @@ void dKyw_wether_draw() {
}
}
- if (g_env_light.mStarPacketEnabled) {
+ if (g_env_light.mStarInitialized) {
dKyw_Star_Draw();
dKyw_shstar_Draw();
}
if (strcmp(dComIfGp_getStartStageName(), "Name")) {
- if (g_env_light.mRainPacketEnabled) {
+ if (g_env_light.mRainInitialized) {
dKyw_Rain_Draw();
}
- if (g_env_light.mSnowPacketEnabled) {
+ if (g_env_light.mSnowInitialized) {
dKyw_Snow_Draw();
}
- if (g_env_light.mHousiPacketEnabled) {
+ if (g_env_light.mHousiInitialized) {
dKyw_Housi_Draw();
}
@@ -1450,11 +1451,11 @@ void dKyw_wether_draw() {
dKyw_Odour_Draw();
}
- if (g_env_light.mMudPacketEnabled != 0) {
+ if (g_env_light.mMudInitialized != 0) {
dKyw_mud_Draw();
}
- if (g_env_light.mEvilPacketEnabled != 0) {
+ if (g_env_light.mEvilInitialized != 0) {
dKyw_evil_Draw();
}
@@ -1464,7 +1465,7 @@ void dKyw_wether_draw() {
/* 8005A304-8005A340 054C44 003C+00 0/0 1/1 0/0 .text dKyw_wether_draw2__Fv */
void dKyw_wether_draw2() {
- if (g_env_light.field_0xec4 != 0 && g_env_light.field_0xec4 < 99) {
+ if (g_env_light.mVrkumoStatus != 0 && g_env_light.mVrkumoStatus < 99) {
dKyw_Vrkumo_Draw();
}
}
@@ -1512,13 +1513,13 @@ void dKyw_wether_proc() {
g_env_light.field_0x12c9 >= 1 && g_env_light.field_0x12c9 < 6) {
dKy_get_dayofweek();
cLib_addCalc(&g_env_light.field_0xebc, lit_4379, lit_5362, lit_5363, lit_4770);
- g_env_light.field_0xeb5 = 7;
- g_env_light.field_0xeb8 = 49;
+ g_env_light.mMoyaMode = 7;
+ g_env_light.mMoyaCount = 49;
} else {
cLib_addCalc(&g_env_light.field_0xebc, FLOAT_LABEL(lit_4378), lit_5362,
lit_5363, lit_5364[0]);
- if (g_env_light.field_0xebc <= lit_4769 && g_env_light.field_0xeb8 == 49) {
- g_env_light.field_0xeb8 = 0;
+ if (g_env_light.field_0xebc <= lit_4769 && g_env_light.mMoyaCount == 49) {
+ g_env_light.mMoyaCount = 0;
}
}
}
@@ -1529,9 +1530,9 @@ void dKyw_wether_proc() {
if (!strcmp(dComIfGp_getStartStageName(), "F_SP127") &&
(g_env_light.field_0x12fe == 1 || g_env_light.field_0x12fe == 3)) {
if (g_env_light.field_0x12fe == 1) {
- g_env_light.field_0xeac = 35;
+ g_env_light.mHousiCount = 35;
} else {
- g_env_light.field_0xeac = 30;
+ g_env_light.mHousiCount = 30;
}
g_env_light.field_0xea9 = 2;
}
@@ -1560,8 +1561,8 @@ static void dKyw_wind_init() {
g_env_light.field_0xe66 = 0;
g_env_light.mWind.field_0xc = 0;
g_env_light.custom_windpower = tmp_0;
- g_env_light.field_0xe6d = 0;
- g_env_light.field_0xe6e = 0;
+ g_env_light.mEvtWindSet = 0;
+ g_env_light.mTeachWindExist = 0;
}
/* ############################################################################################## */
@@ -1649,7 +1650,7 @@ static void dKyw_pntwind_init() {
}
for (int i = 0; i < 5; i++) {
- g_env_light.field_0x848[i].field_0x0[0] = 0;
+ g_env_light.mWindInfluenceEntity[i].mInUse = 0;
}
}
@@ -1671,14 +1672,14 @@ static void pntwind_set(WIND_INFLUENCE* pntwind) {
/* 8005ADFC-8005AE28 05573C 002C+00 0/0 0/0 5/5 .text dKyw_pntwind_set__FP14WIND_INFLUENCE */
void dKyw_pntwind_set(WIND_INFLUENCE* pntwind) {
- pntwind->field_0x28 = 0;
+ pntwind->mConstant = 0;
pntwind->field_0x29 = 0;
pntwind_set(pntwind);
}
/* 8005AE28-8005AE58 055768 0030+00 1/1 0/0 0/0 .text dKyw_pntlight_set__FP14WIND_INFLUENCE */
static void dKyw_pntlight_set(WIND_INFLUENCE* pntwind) {
- pntwind->field_0x28 = 0;
+ pntwind->mConstant = 0;
pntwind->field_0x29 = 1;
pntwind_set(pntwind);
}
@@ -1786,21 +1787,21 @@ void dKyw_custom_windpower(f32 pow) {
}
/* 8005B61C-8005B638 055F5C 001C+00 0/0 0/0 6/6 .text dKyw_evt_wind_set__Fss */
-void dKyw_evt_wind_set(s16 param_0, s16 param_1) {
- g_env_light.field_0xe6d = 1;
- g_env_light.field_0xe68 = param_0;
- g_env_light.field_0xe6a = param_1;
+void dKyw_evt_wind_set(s16 angleX, s16 angleY) {
+ g_env_light.mEvtWindSet = 1;
+ g_env_light.mEvtWindAngleX = angleX;
+ g_env_light.mEvtWindAngleY = angleY;
}
/* 8005B638-8005B64C 055F78 0014+00 0/0 0/0 3/3 .text dKyw_evt_wind_set_go__Fv */
void dKyw_evt_wind_set_go() {
- g_env_light.field_0xe6d = 1;
+ g_env_light.mEvtWindSet = 1;
}
/* 8005B64C-8005B660 055F8C 0014+00 0/0 1/1 5/5 .text dKyw_rain_set__Fi */
void dKyw_rain_set(int count) {
g_env_light.mRainCount = count;
- g_env_light.field_0x129c = count;
+ g_env_light.mRainCountOrig = count;
}
/* 8037A368-8037A368 0069C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */