// // Generated by dtk // Translation Unit: d_kankyo_wether.cpp // #include "d/d_kankyo_wether.h" #include "JSystem/JKernel/JKRHeap.h" #include "d/d_com_inf_game.h" #include "d/d_kankyo.h" #include "d/d_kankyo_rain.h" #include "f_op/f_op_camera_mng.h" #include "m_Do/m_Do_audio.h" /* 80086F74-80086FC4 .text dKyw_setDrawPacketList__FP9J3DPacketi */ J3DPacket* dKyw_setDrawPacketList(J3DPacket* i_packet, int) { if (i_packet == NULL) { return NULL; } else { dComIfGd_getListFilter()->entryImm(i_packet, 0); return i_packet; } } /* 80086FC4-80087054 .text dKyw_setDrawPacketListSky__FP9J3DPacketi */ J3DPacket* dKyw_setDrawPacketListSky(J3DPacket* i_packet, int i_type) { if (i_packet == NULL) { return NULL; } else { dComIfGd_setListSky(); j3dSys.getDrawBuffer(i_type)->entryImm(i_packet, 0); dComIfGd_setList(); return i_packet; } } /* 80087054-800870DC .text dKyw_setDrawPacketListXluBg__FP9J3DPacketi */ J3DPacket* dKyw_setDrawPacketListXluBg(J3DPacket* i_packet, int i_type) { if (i_packet == NULL) { return NULL; } else { dComIfGd_setXluListBG(); j3dSys.getDrawBuffer(i_type)->entryImm(i_packet, 0); dComIfGd_setList(); return i_packet; } } /* 800870DC-80087130 .text dKyw_setDrawPacketListXluZPos__FP9J3DPacketP4cXyz */ J3DPacket* dKyw_setDrawPacketListXluZPos(J3DPacket* i_packet, cXyz* param_1) { if (i_packet == NULL) { return NULL; } else { dComIfGd_entryZSortXluList(i_packet, *param_1); return i_packet; } } /* 80087130-80087168 .text draw__18dKankyo_sun_PacketFv */ void dKankyo_sun_Packet::draw() { dKyr_drawSun(j3dSys.getViewMtx(), mPos, mColor, mpTextureData); } /* 80087168-800871A0 .text draw__22dKankyo_sunlenz_PacketFv */ void dKankyo_sunlenz_Packet::draw() { dKyr_drawLenzflare(j3dSys.getViewMtx(), mPositions, mColorTmp, &mpTexSnow01); } /* 800871A0-800871DC .text __dt__8RAIN_EFFFv */ RAIN_EFF::~RAIN_EFF() {} /* 800871DC-800871E0 .text __ct__8RAIN_EFFFv */ RAIN_EFF::RAIN_EFF() {} /* 800871E0-80087228 .text draw__19dKankyo_rain_PacketFv */ void dKankyo_rain_Packet::draw() { dKyr_drawSibuki(j3dSys.getViewMtx(), &mpTxSnow01); dKyr_drawRain(j3dSys.getViewMtx(), &mpTxSnow01); } /* 80087228-80087264 .text __dt__8SNOW_EFFFv */ SNOW_EFF::~SNOW_EFF() {} /* 80087264-80087268 .text __ct__8SNOW_EFFFv */ SNOW_EFF::SNOW_EFF() {} /* 80087268-80087298 .text draw__19dKankyo_snow_PacketFv */ void dKankyo_snow_Packet::draw() { dKyr_drawSnow(j3dSys.getViewMtx(), &mpTexture); } /* 80087298-800872D4 .text __dt__8STAR_EFFFv */ STAR_EFF::~STAR_EFF() {} /* 800872D4-800872D8 .text __ct__8STAR_EFFFv */ STAR_EFF::STAR_EFF() {} /* 800872D8-80087308 .text draw__19dKankyo_star_PacketFv */ void dKankyo_star_Packet::draw() { dKyr_drawStar(j3dSys.getViewMtx(), &mpTexture); } /* 80087308-80087344 .text __dt__10POISON_EFFFv */ POISON_EFF::~POISON_EFF() {} /* 80087344-80087348 .text __ct__10POISON_EFFFv */ POISON_EFF::POISON_EFF() {} /* 80087348-8008737C .text draw__21dKankyo_poison_PacketFv */ void dKankyo_poison_Packet::draw() { drawPoison(j3dSys.getViewMtx(), &mpTexture); } /* 8008737C-800873B8 .text __dt__9CLOUD_EFFFv */ CLOUD_EFF::~CLOUD_EFF() {} /* 800873B8-800873BC .text __ct__9CLOUD_EFFFv */ CLOUD_EFF::CLOUD_EFF() {} /* 800873BC-800873EC .text draw__20dKankyo_cloud_PacketFv */ void dKankyo_cloud_Packet::draw() { drawCloudShadow(j3dSys.getViewMtx(), &mpTexture); } /* 800873EC-80087428 .text __dt__9HOUSI_EFFFv */ HOUSI_EFF::~HOUSI_EFF() {} /* 80087428-8008742C .text __ct__9HOUSI_EFFFv */ HOUSI_EFF::HOUSI_EFF() {} /* 8008742C-8008745C .text draw__20dKankyo_housi_PacketFv */ void dKankyo_housi_Packet::draw() { dKyr_drawHousi(j3dSys.getViewMtx(), &mpTex); } /* 8008745C-80087498 .text __dt__10VRKUMO_EFFFv */ VRKUMO_EFF::~VRKUMO_EFF() {} /* 80087498-8008749C .text __ct__10VRKUMO_EFFFv */ VRKUMO_EFF::VRKUMO_EFF() {} /* 8008749C-800874D0 .text draw__21dKankyo_vrkumo_PacketFv */ void dKankyo_vrkumo_Packet::draw() { drawVrkumo(j3dSys.getViewMtx(), mColorTmp, &mpCloudTx1); } /* 800874D0-8008750C .text __dt__8WAVE_EFFFv */ WAVE_EFF::~WAVE_EFF() {} /* 8008750C-80087510 .text __ct__8WAVE_EFFFv */ WAVE_EFF::WAVE_EFF() {} /* 80087510-80087540 .text draw__19dKankyo_wave_PacketFv */ void dKankyo_wave_Packet::draw() { drawWave(j3dSys.getViewMtx(), &mpTexUsonami); } /* 80087540-80087570 .text dKyw_drawSun__Fi */ void dKyw_drawSun(int i_type) { dKyw_setDrawPacketListSky(g_env_light.mpSunPacket, i_type); } /* 80087570-80087594 .text dKyw_Sun_Draw__Fv */ void dKyw_Sun_Draw() { dKyw_drawSun(1); } /* 80087594-800875D8 .text dKyw_drawSunlenz__Fi */ void dKyw_drawSunlenz(int i_type) { if (!g_env_light.mpSunlenzPacket->mbDrawLenzInSky) { dKyw_setDrawPacketList(g_env_light.mpSunlenzPacket, i_type); } else { dKyw_setDrawPacketListSky(g_env_light.mpSunlenzPacket, i_type); } } /* 800875D8-800875FC .text dKyw_Sunlenz_Draw__Fv */ void dKyw_Sunlenz_Draw() { dKyw_drawSunlenz(1); } /* 800875FC-8008762C .text dKyw_drawRain__Fi */ void dKyw_drawRain(int i_type) { dKyw_setDrawPacketList(g_env_light.mpRainPacket, i_type); } /* 8008762C-80087650 .text dKyw_Rain_Draw__Fv */ void dKyw_Rain_Draw() { dKyw_drawRain(1); } /* 80087650-80087680 .text dKyw_drawSnow__Fi */ void dKyw_drawSnow(int i_type) { dKyw_setDrawPacketList(g_env_light.mpSnowPacket, i_type); } /* 80087680-800876A4 .text dKyw_Snow_Draw__Fv */ void dKyw_Snow_Draw() { dKyw_drawSnow(1); } /* 800876A4-800876D4 .text dKyw_drawStar__Fi */ void dKyw_drawStar(int i_type) { dKyw_setDrawPacketListSky(g_env_light.mpStarPacket, i_type); } /* 800876D4-800876F8 .text dKyw_Star_Draw__Fv */ void dKyw_Star_Draw() { dKyw_drawStar(1); } /* 800876F8-8008772C .text dKyw_drawPoison__Fi */ void dKyw_drawPoison(int i_type) { dKyw_setDrawPacketListXluZPos(g_env_light.mpPoisonPacket, &g_env_light.mpPoisonPacket->field_0xbb9c); } /* 8008772C-80087750 .text dKyw_Poison_Draw__Fv */ void dKyw_Poison_Draw() { dKyw_drawPoison(1); } /* 80087750-80087780 .text dKyw_drawHousi__Fi */ void dKyw_drawHousi(int i_type) { dKyw_setDrawPacketList(g_env_light.mpHousiPacket, i_type); } /* 80087780-800877A4 .text dKyw_Housi_Draw__Fv */ void dKyw_Housi_Draw() { dKyw_drawHousi(1); } /* 800877A4-800877D4 .text dKyw_drawCloud__Fi */ void dKyw_drawCloud(int i_type) { dKyw_setDrawPacketList(g_env_light.mpMoyaPacket, i_type); } /* 800877D4-800877F8 .text dKyw_Cloud_Draw__Fv */ void dKyw_Cloud_Draw() { dKyw_drawCloud(1); } /* 800877F8-80087828 .text dKyw_drawVrkumo__Fi */ void dKyw_drawVrkumo(int i_type) { dKyw_setDrawPacketListSky(g_env_light.mpVrkumoPacket, i_type); } /* 80087828-8008784C .text dKyw_Vrkumo_Draw__Fv */ void dKyw_Vrkumo_Draw() { dKyw_drawVrkumo(1); } /* 8008784C-8008787C .text dKyw_drawWave__Fi */ void dKyw_drawWave(int i_type) { dKyw_setDrawPacketListXluBg(g_env_light.mpWavePacket, i_type); } /* 8008787C-800878A0 .text dKyw_Wave_Draw__Fv */ void dKyw_Wave_Draw() { dKyw_drawWave(1); } /* 800878A0-8008792C .text dKyw_wether_init__Fv */ void dKyw_wether_init() { g_env_light.mbSunInitialized = false; g_env_light.mThunderEff.mStatus = 0; g_env_light.mThunderEff.mMode = 0; g_env_light.mbRainInitialized = false; g_env_light.mRainCount = 0; g_env_light.mbSnowInitialized = false; g_env_light.mSnowCount = 0; g_env_light.mbStarInitialized = false; g_env_light.mStarCount = 0; g_env_light.mStarCountTarget = 0.0f; g_env_light.mMoyaInitialized = false; g_env_light.mMoyaCount = 0; g_env_light.mMoyaMode = 0; g_env_light.mbHousiInitialized = false; g_env_light.mHousiCount = 0; g_env_light.mbPoisonInitialized = false; g_env_light.mPoisonCount = 0; g_env_light.mWind.mCustomWindPower = 0.0f; g_env_light.mWaveInitialized = false; g_env_light.field_0xa1c = 0; g_env_light.mbWindlineInitialized = false; g_env_light.mWindlineCount = 0; dKyw_wind_init(); dKyw_pntwind_init(); } /* 8008792C-80087944 .text dKyw_wether_init2__Fv */ void dKyw_wether_init2() { g_env_light.mVrkumoStatus = 0; g_env_light.mVrkumoCount = 0; } /* 80087944-80087C28 .text dKyw_wether_delete__Fv */ void dKyw_wether_delete() { if (g_env_light.mbSunInitialized) { delete g_env_light.mpSunPacket; delete g_env_light.mpSunlenzPacket; } if (g_env_light.mbRainInitialized) { delete g_env_light.mpRainPacket; } if (g_env_light.mbSnowInitialized) { delete g_env_light.mpSnowPacket; } if (g_env_light.mbStarInitialized) { delete g_env_light.mpStarPacket; } if (g_env_light.mbPoisonInitialized) { delete g_env_light.mpPoisonPacket; } if (g_env_light.mbHousiInitialized) { delete g_env_light.mpHousiPacket; } if (g_env_light.mMoyaInitialized) { delete g_env_light.mpMoyaPacket; } if (g_env_light.mWaveInitialized) { delete g_env_light.mpWavePacket; } if (g_env_light.mbWindlineInitialized) { WINDEFF_SET* wind_p = g_env_light.mpWind; for (int i = 0; i < 30; i++) { if (wind_p->mWindEff[i].mpEmitter != NULL) { wind_p->mWindEff[i].mpEmitter->deleteAllParticle(); wind_p->mWindEff[i].mpEmitter->becomeInvalidEmitter(); wind_p->mWindEff[i].mpEmitter = NULL; } } for (int i = 0; i < 2; i++) { if (wind_p->mKamomeEff[i].mpEmitter != NULL) { wind_p->mKamomeEff[i].mpEmitter->deleteAllParticle(); wind_p->mKamomeEff[i].mpEmitter->becomeInvalidEmitter(); wind_p->mKamomeEff[i].mpEmitter = NULL; } } delete g_env_light.mpWind; } } /* 80087C28-80087C64 .text __dt__8WIND_EFFFv */ WIND_EFF::~WIND_EFF() {} /* 80087C64-80087CA0 .text __dt__10KAMOME_EFFFv */ KAMOME_EFF::~KAMOME_EFF() {} /* 80087CA0-80087D24 .text __dt__19dKankyo_wave_PacketFv */ dKankyo_wave_Packet::~dKankyo_wave_Packet() {} /* 80087D24-80087DA8 .text __dt__20dKankyo_cloud_PacketFv */ dKankyo_cloud_Packet::~dKankyo_cloud_Packet() {} /* 80087DA8-80087E2C .text __dt__20dKankyo_housi_PacketFv */ dKankyo_housi_Packet::~dKankyo_housi_Packet() {} /* 80087E2C-80087EB0 .text __dt__21dKankyo_poison_PacketFv */ dKankyo_poison_Packet::~dKankyo_poison_Packet() {} /* 80087EB0-80087F34 .text __dt__19dKankyo_star_PacketFv */ dKankyo_star_Packet::~dKankyo_star_Packet() {} /* 80087F34-80087FB8 .text __dt__19dKankyo_snow_PacketFv */ dKankyo_snow_Packet::~dKankyo_snow_Packet() {} /* 80087FB8-8008803C .text __dt__19dKankyo_rain_PacketFv */ dKankyo_rain_Packet::~dKankyo_rain_Packet() {} /* 8008803C-800880C0 .text __dt__22dKankyo_sunlenz_PacketFv */ dKankyo_sunlenz_Packet::~dKankyo_sunlenz_Packet() {} /* 800880C0-80088144 .text __dt__18dKankyo_sun_PacketFv */ dKankyo_sun_Packet::~dKankyo_sun_Packet() {} /* 80088144-80088194 .text dKyw_wether_delete2__Fv */ void dKyw_wether_delete2() { if (g_env_light.mVrkumoStatus != 0) { delete g_env_light.mpVrkumoPacket; } } /* 80088194-80088218 .text __dt__21dKankyo_vrkumo_PacketFv */ dKankyo_vrkumo_Packet::~dKankyo_vrkumo_Packet() {} /* 80088218-800883D4 .text wether_move_windline__Fv */ void wether_move_windline() { dStage_FileList_dt_c* fili_p = NULL; int roomNo = dComIfGp_roomControl_getStayNo(); if (roomNo >= 0) { fili_p = dComIfGp_roomControl_getStatusRoomDt(roomNo)->getFileListInfo(); } g_env_light.mWindlineCount = 0; if (fili_p != NULL && dStage_FileList_dt_ChkPathWindEffect(fili_p) && strcmp(dComIfGp_getStartStageName(), "GTower") != 0) { g_env_light.mWindlineCount = dKyw_get_wind_pow() * 10.0f; } if (g_env_light.mWind.field_0x8.y < 10000000.0f) { g_env_light.mWindlineCount = 0; g_env_light.mWind.field_0x8.y = 10000000.0f; } switch (g_env_light.mbWindlineInitialized) { case 0: if (g_env_light.mWindlineCount != 0) { g_env_light.mpWind = new (0x20) WINDEFF_SET(); if (g_env_light.mpWind == NULL) { return; } for (int i = 0; i < 30; i++) { g_env_light.mpWind->mWindEff[i].mState = 0; g_env_light.mpWind->mWindEff[i].mpEmitter = NULL; } dKyr_wind_init(); dKyr_wind_move(); g_env_light.mbWindlineInitialized = true; } break; case 1: dKyr_wind_move(); break; } } /* 800883D4-800883D8 .text __ct__10KAMOME_EFFFv */ KAMOME_EFF::KAMOME_EFF() {} /* 800883D8-800883DC .text __ct__8WIND_EFFFv */ WIND_EFF::WIND_EFF() {} /* 800883DC-80088444 .text wether_move_thunder__Fv */ void wether_move_thunder() { switch (g_env_light.mThunderEff.mStatus) { case 0: if (g_env_light.mThunderEff.mMode != 0) { dKyr_thunder_init(); g_env_light.mThunderEff.mStatus = true; } break; case 1: dKyr_thunder_move(); break; } } /* 80088444-80088468 .text dKyw_wether_move__Fv */ void dKyw_wether_move() { wether_move_thunder(); wether_move_windline(); } /* 80088468-8008878C .text wether_move_sun__Fv */ void wether_move_sun() { if (dComIfGp_checkStatus(1) && !g_env_light.mbVrboxInvisible) { switch (g_env_light.mbSunInitialized) { case 0: g_env_light.mpSunPacket = new (0x20) dKankyo_sun_Packet(); g_env_light.mpSunlenzPacket = new (0x20) dKankyo_sunlenz_Packet(); if (g_env_light.mpSunPacket != NULL && g_env_light.mpSunlenzPacket != NULL) { g_env_light.mpSunPacket->mpTextureData[0] = (u8*)dComIfG_getObjectRes("Always", ALWAYS_BTI_TXA_TUKI_AS); g_env_light.mpSunPacket->mpTextureData[1] = (u8*)dComIfG_getObjectRes("Always", ALWAYS_BTI_TXA_TUKI_BS); g_env_light.mpSunPacket->mpTextureData[2] = (u8*)dComIfG_getObjectRes("Always", ALWAYS_BTI_TXA_TUKI_CS); g_env_light.mpSunPacket->mpTextureData[3] = (u8*)dComIfG_getObjectRes("Always", ALWAYS_BTI_TXA_TUKI_DS); g_env_light.mpSunPacket->mpTextureData[4] = (u8*)dComIfG_getObjectRes("Always", ALWAYS_BTI_TXA_TAIYO); g_env_light.mpSunPacket->field_0x3c = 0; g_env_light.mpSunPacket->field_0x3d = 0; g_env_light.mpSunPacket->mVisibility = 0.0f; g_env_light.mpSunPacket->mSunAlpha = 0.0f; g_env_light.mpSunPacket->mMoonAlpha = 0.0f; g_env_light.mpSunPacket->mVizChkData[0] = 0; g_env_light.mpSunPacket->mVizChkData[1] = 0; g_env_light.mpSunPacket->mVizChkData[2] = 0; g_env_light.mpSunPacket->mVizChkData[3] = 0; g_env_light.mpSunlenzPacket->mpTexSnow01 = (u8*)dComIfG_getObjectRes("Always", ALWAYS_I8_TX_SNOW01); g_env_light.mpSunlenzPacket->mpTexLensHalf = (u8*)dComIfG_getObjectRes("Always", ALWAYS_BTI_TXA_LENS_32HALF); g_env_light.mpSunlenzPacket->mpTexRingHalf = (u8*)dComIfG_getObjectRes("Always", ALWAYS_BTI_TXA_RING_A_32HAFE); g_env_light.mpSunlenzPacket->field_0x88 = 1000000000.0f; g_env_light.mpSunlenzPacket->field_0x8c = 0.0f; g_env_light.mpSunlenzPacket->mDistFalloff = 0.0f; g_env_light.mpSunlenzPacket->mbDrawLenzInSky = false; dKyr_sun_move(); dKyr_lenzflare_move(); g_env_light.mbSunInitialized = true; } break; case 1: dKyr_sun_move(); dKyr_lenzflare_move(); break; } } } /* 8008878C-80088978 .text wether_move_rain__Fv */ void wether_move_rain() { switch (g_env_light.mbRainInitialized) { case 0: if (g_env_light.mRainCount != 0) { g_env_light.mpRainPacket = new (0x20) dKankyo_rain_Packet(); if (g_env_light.mpRainPacket == NULL) { return; } dKyr_rain_init(); dKyr_rain_move(); g_env_light.mbRainInitialized = true; if (g_env_light.mRainCount != 250) { mDoAud_seStart(JA_SE_ATM_RAIN_START); } } break; case 1: dKyr_rain_move(); if (g_env_light.mSnowCount == 0) { if (g_env_light.mRainCount < 125.0f) { mDoAud_rainPlay(0); } else { mDoAud_rainPlay(1); } } if (g_env_light.mRainCount == 0) { g_env_light.mbRainInitialized = false; mDoAud_seStart(JA_SE_ATM_RAIN_END); delete g_env_light.mpRainPacket; } break; } } /* 80088978-80088A50 .text wether_move_snow__Fv */ void wether_move_snow() { switch (g_env_light.mbSnowInitialized) { case 0: if (g_env_light.mSnowCount != 0) { dKyr_snow_init(); if (g_env_light.mpSnowPacket == NULL) { return; } if (strcmp(dComIfGp_getStartStageName(), "Adanmae") != 0) { dKyr_snow_move(); } else { dKyr_kazanbai_move(); } g_env_light.mbSnowInitialized = true; } break; case 1: if (strcmp(dComIfGp_getStartStageName(), "Adanmae") != 0) { dKyr_snow_move(); } else { dKyr_kazanbai_move(); } break; } } /* 80088A50-80088D08 .text wether_move_star__Fv */ void wether_move_star() { if (dComIfGp_checkStatus(1) && (!g_env_light.mbVrboxInvisible && strcmp(dComIfGp_getStartStageName(), "M_DragB") != 0) || strcmp(dComIfGp_getStartStageName(), "Name") == 0) { f32 time = g_env_light.getDaytime(); f32 target; if (strcmp(dComIfGp_getStartStageName(), "Name") == 0) { if (time >= 315.0f || time < 60.0f) { target = 1.0f; } else if (time > 270.0f) { target = 1.0f - (315.0f - time) * (1 / 45.0f); } else if (time < 75.0f) { target = (75.0f - time) * (1 / 15.0f); } else { target = 0.0f; } } else if (time >= 330.0f || time < 90.0f) { target = 1.0f; } else if (time > 300.0f) { target = 1.0f - (330.0f - time) * (1 / 30.0f); } else if (time < 105.0f) { target = (105.0f - time) * (1 / 15.0f); } else { target = 0.0f; } if (g_env_light.mColpatWeather != 0) { target = 0.0f; } if (g_env_light.mColpatCurr != 0 && g_env_light.mColPatBlend > 0.5f) { target = 0.0f; } cLib_addCalc(&g_env_light.mStarCountTarget, target, 0.1f, 0.01f, 0.000001f); g_env_light.mStarCount = (s16)(g_env_light.mStarCountTarget * 1000.0f); switch (g_env_light.mbStarInitialized) { case 0: if (g_env_light.mStarCount != 0) { dKyr_star_init(); if (g_env_light.mpStarPacket == NULL) { return; } dKyr_star_move(); g_env_light.mbStarInitialized = true; } break; case 1: dKyr_star_move(); if (g_env_light.mStarCount == 0) { g_env_light.mbStarInitialized = false; delete g_env_light.mpStarPacket; } break; } } } /* 80088D08-80088DA4 .text wether_move_poison__Fv */ void wether_move_poison() { if (strcmp(dComIfGp_getStartStageName(), "M_Dai") == 0) { g_env_light.mPoisonCount = 500; } switch (g_env_light.mbPoisonInitialized) { case 0: if (g_env_light.mPoisonCount != 0) { poison_init(); g_env_light.mbPoisonInitialized = true; } break; case 1: poison_move(); break; } } /* 80088DA4-80088F3C .text wether_move_housi__Fv */ void wether_move_housi() { switch (g_env_light.mbHousiInitialized) { case 0: if (g_env_light.mHousiCount != 0) { g_env_light.mpHousiPacket = new (0x20) dKankyo_housi_Packet(); if (g_env_light.mpHousiPacket == NULL) { return; } g_env_light.mpHousiPacket->mpTex = (u8*)dComIfG_getObjectRes("Always", ALWAYS_BTI_AK_HOUSHI00); g_env_light.mpHousiPacket->field_0x5ddc = 0.0f; for (int i = 0; i < 300; i++) { g_env_light.mpHousiPacket->mEff[i].mState = 0; } dKyr_housi_move(); g_env_light.mbHousiInitialized = true; } break; case 1: if (g_env_light.mHousiCount == 0 && g_env_light.mpHousiPacket->field_0x5ddc <= 0.0f) { g_env_light.mbHousiInitialized = false; delete g_env_light.mpHousiPacket; } else { dKyr_housi_move(); g_env_light.mHousiCount = 0; } break; } } /* 80088F3C-800891A8 .text wether_move_moya__Fv */ void wether_move_moya() { switch (g_env_light.mMoyaInitialized) { case 0: if (g_env_light.mMoyaCount != 0) { g_env_light.mpMoyaPacket = new (0x20) dKankyo_cloud_Packet(); if (g_env_light.mpMoyaPacket == NULL) { return; } g_env_light.mpMoyaPacket->mpTexture = (u8*)dComIfG_getObjectRes("Always", ALWAYS_BTI_TXA_MOYA_B_64); for (int i = 0; i < 100; i++) { g_env_light.mpMoyaPacket->mEff[i].mStatus = 0; } g_env_light.mpMoyaPacket->mCount = 0; cloud_shadow_move(); g_env_light.mMoyaInitialized++; } break; case 1: if (g_env_light.mMoyaMode == 0 && dKyw_get_wind_pow() > 0.2f && g_env_light.mMoyaCount != 0) { if (strcmp(dComIfGp_getStartStageName(), "M_NewD2") == 0) { if (g_env_light.mbVrboxInvisible) { g_env_light.mMoyaSE = JA_SE_ATM_WIND_HOT; } else { g_env_light.mMoyaSE = JA_SE_ATM_WIND_1; } } } else if (g_env_light.mMoyaMode == 1) { g_env_light.mMoyaSE = JA_SE_ATM_WIND_HOT; } else if (g_env_light.mMoyaMode == 2 && strcmp(dComIfGp_getStartStageName(), "A_mori") == 0) { g_env_light.mMoyaSE = JA_SE_ATM_WIND_GRASS; } cloud_shadow_move(); if (g_env_light.mMoyaCount == 0 && g_env_light.mpMoyaPacket->mCount == 0) { g_env_light.mMoyaInitialized = false; delete g_env_light.mpMoyaPacket; } break; } } /* 800891A8-80089698 .text wether_move_vrkumo__Fv */ void wether_move_vrkumo() { camera_process_class* camera_p = dComIfGp_getCamera(0); static cXyz r09o(-180000.0f, 750.0f, -200000.0f); if (strcmp(dComIfGp_getStartStageName(), "Name") != 0) { if (dComIfGp_checkStatus(1) && !g_env_light.mbVrboxInvisible) { g_env_light.mVrkumoCount = 50; if ((g_env_light.mColpatCurr == 1 && g_env_light.mColPatBlend > 0.0f) || (g_env_light.mColpatPrev == 1 && g_env_light.mColPatBlend < 1.0f) || (g_env_light.mColpatCurr == 2 && g_env_light.mColPatBlend > 0.0f) || (g_env_light.mColpatPrev == 2 && g_env_light.mColPatBlend < 1.0f)) { cLib_addCalc(&g_env_light.mVrkumoStrength, 1.0f, 0.1f, 0.003f, 0.0000001f); } else { cLib_addCalc(&g_env_light.mVrkumoStrength, 0.0f, 0.08f, 0.002f, 0.00000001f); } if (strcmp(dComIfGp_getStartStageName(), "sea") == 0 && dComIfGp_roomControl_getStayNo() == 9) { if (camera_p->mLookat.mEye.abs(r09o) < 2500.0f) { g_env_light.mVrkumoStrength = 1.0f; } } g_env_light.mVrkumoCount = (s16)(g_env_light.mVrkumoStrength * 50.0f + 50.0f); if (strcmp(dComIfGp_getStartStageName(), "GTower") == 0) { g_env_light.mVrkumoCount = 0; } } else { g_env_light.mVrkumoCount = 0; } } else { g_env_light.mVrkumoCount = 70; } switch (g_env_light.mVrkumoStatus) { case 0: if (g_env_light.mVrkumoCount != 0) { g_env_light.mpVrkumoPacket = new (0x20) dKankyo_vrkumo_Packet(); if (g_env_light.mpVrkumoPacket == NULL) { return; } if (dComIfG_getStageRes("Stage", "vr_box.bmd") != NULL || dComIfG_getStageRes("Stage", "vr_box.bdl")) { g_env_light.mpVrkumoPacket->mpCloudTx1 = (u8*)dComIfG_getStageRes("Stage", "cloud_01.bti"); g_env_light.mpVrkumoPacket->mpCloudTx2 = (u8*)dComIfG_getStageRes("Stage", "cloud_02.bti"); g_env_light.mpVrkumoPacket->mpCloudTx3 = (u8*)dComIfG_getStageRes("Stage", "cloud_03.bti"); } else { g_env_light.mpVrkumoPacket->mpCloudTx1 = (u8*)dComIfG_getStageRes("Stage", "cloudtx_01.bti"); g_env_light.mpVrkumoPacket->mpCloudTx2 = (u8*)dComIfG_getStageRes("Stage", "cloudtx_02.bti"); g_env_light.mpVrkumoPacket->mpCloudTx3 = (u8*)dComIfG_getStageRes("Stage", "cloudtx_03.bti"); } if (g_env_light.mpVrkumoPacket->mpCloudTx1 == NULL) { g_env_light.mVrkumoStatus = 99; } for (int i = 0; i < 100; i++) { g_env_light.mpVrkumoPacket->mInst[i].mStatus = 0; } vrkumo_move(); g_env_light.mVrkumoStatus++; } break; case 1: vrkumo_move(); break; } } /* 80089698-8008982C .text wether_move_wave__Fv */ void wether_move_wave() { switch (g_env_light.mWaveInitialized) { case 0: if (g_env_light.mWaveChan.mWaveCount != 0) { g_env_light.mpWavePacket = new (0x20) dKankyo_wave_Packet(); if (g_env_light.mpWavePacket == NULL) { return; } g_env_light.mpWavePacket->mpTexUsonami = (u8*)dComIfG_getObjectRes("Always", ALWAYS_BTI_TXA_USONAMI_256_64MIP); g_env_light.mpWavePacket->mpTexUsonamiM = (u8*)dComIfG_getObjectRes("Always", ALWAYS_BTI_TXA_USONAMI_M_256_64MIP); for (int i = 0; i < 300; i++) { g_env_light.mpWavePacket->mEff[i].mStatus = 0; } wave_move(); g_env_light.mWaveInitialized = true; } break; case 1: if (g_env_light.mWaveChan.mWaveCount == 0) { g_env_light.mWaveInitialized = false; delete g_env_light.mpWavePacket; } wave_move(); break; } } /* 8008982C-800898E0 .text dKyw_wether_move_draw__Fv */ void dKyw_wether_move_draw() { g_env_light.mMoyaSE = 0; if (strcmp(dComIfGp_getStartStageName(), "Name") != 0) { wether_move_sun(); wether_move_rain(); wether_move_snow(); } wether_move_star(); if (strcmp(dComIfGp_getStartStageName(), "Name") != 0) { wether_move_poison(); wether_move_housi(); wether_move_moya(); } if (strcmp(dComIfGp_getStartStageName(), "Name") != 0) { wether_move_wave(); } } /* 800898E0-80089900 .text dKyw_wether_move_draw2__Fv */ void dKyw_wether_move_draw2() { wether_move_vrkumo(); } /* 80089900-80089A48 .text dKyw_wether_draw__Fv */ void dKyw_wether_draw() { if (strcmp(dComIfGp_getStartStageName(), "Name") != 0) { if (g_env_light.mbPoisonInitialized) { dKyw_Poison_Draw(); } if (g_env_light.mWaveInitialized) { dKyw_Wave_Draw(); } if (g_env_light.mMoyaInitialized) { dKyw_Cloud_Draw(); } } if (strcmp(dComIfGp_getStartStageName(), "Name") != 0 && g_env_light.mbSunInitialized) { dKyw_Sun_Draw(); dKyw_Sunlenz_Draw(); } if (g_env_light.mbStarInitialized) { dKyw_Star_Draw(); } if (strcmp(dComIfGp_getStartStageName(), "Name") != 0) { if (g_env_light.mbRainInitialized) { dKyw_Rain_Draw(); } if (g_env_light.mbSnowInitialized) { dKyw_Snow_Draw(); } if (g_env_light.mbHousiInitialized) { dKyw_Housi_Draw(); } } } /* 80089A48-80089A84 .text dKyw_wether_draw2__Fv */ void dKyw_wether_draw2() { if (g_env_light.mVrkumoStatus != 0 && g_env_light.mVrkumoStatus < 99) { dKyw_Vrkumo_Draw(); } } /* 80089A84-80089AA4 .text dKyw_wether_proc__Fv */ void dKyw_wether_proc() { squal_proc(); } /* 80089AA4-80089B48 .text dKyw_wind_init__Fv */ void dKyw_wind_init() { g_env_light.mWind.mWindVec.x = -1.0f; g_env_light.mWind.mWindVec.y = 0.0f; g_env_light.mWind.mWindVec.z = 0.0f; g_env_light.mWind.mWindPower = 0.0f; if (dComIfGs_getWindX() == -1 && dComIfGs_getWindY() == -1) { g_env_light.mWind.mTactWindAngleFlags = 0; g_env_light.mWind.mTactWindAngleX = 0; g_env_light.mWind.mTactWindAngleY = 0; } else { g_env_light.mWind.mTactWindAngleFlags = 1; g_env_light.mWind.mTactWindAngleX = dComIfGs_getWindX(); g_env_light.mWind.mTactWindAngleY = dComIfGs_getWindY(); } g_env_light.mWind.mpWindVecOverride = NULL; g_env_light.mWind.mWindStrengthOverride = 0.0f; g_env_light.mWind.mEvtWindSet = 0; g_env_light.mWind.field_0x8.x = 10000000.0f; g_env_light.mWind.field_0x8.y = 10000000.0f; g_env_light.mWind.field_0x8.z = 10000000.0f; } /* 80089B48-80089E50 .text dKyw_wind_set__Fv */ void dKyw_wind_set() { cXyz wind_vec; f32 strength; if (g_env_light.mWind.mpWindVecOverride != NULL) { wind_vec = *g_env_light.mWind.mpWindVecOverride; strength = g_env_light.mWind.mWindStrengthOverride; cM_atan2s(wind_vec.x, wind_vec.z); cM_atan2s(wind_vec.absXZ(), wind_vec.y); } else { dStage_FileList_dt_c* fili_p = NULL; int wind_level = 0; s32 roomNo = dComIfGp_roomControl_getStayNo(); if (roomNo >= 0) { fili_p = dComIfGp_roomControl_getStatusRoomDt(roomNo)->getFileListInfo(); } s16 tact_wind_x; s16 tact_wind_y; if (g_env_light.mWind.mEvtWindSet != 0 && g_env_light.mWind.mEvtWindSet != 0xFF) { tact_wind_x = g_env_light.mWind.mEvtWindAngleX; tact_wind_y = g_env_light.mWind.mEvtWindAngleY; } else if (g_env_light.mWind.mTactWindAngleFlags != 0) { tact_wind_x = g_env_light.mWind.mTactWindAngleX; tact_wind_y = g_env_light.mWind.mTactWindAngleY; } else { tact_wind_x = 0; tact_wind_y = 0; } wind_vec.x = cM_scos(tact_wind_x) * cM_scos(tact_wind_y); wind_vec.y = cM_ssin(tact_wind_x); wind_vec.z = cM_scos(tact_wind_x) * cM_ssin(tact_wind_y); if (fili_p != NULL) { wind_level = dStage_FileList_dt_GlobalWindLevel(fili_p); } switch (wind_level) { case 0: strength = 0.3f; break; case 1: strength = 0.6f; break; case 2: strength = 0.9f; break; default: strength = 0.0f; break; } } if (g_env_light.mWind.mCustomWindPower > 0.0f) { strength = g_env_light.mWind.mCustomWindPower; g_env_light.mWind.mWindPower = g_env_light.mWind.mCustomWindPower; } if (g_env_light.mWind.mEvtWindSet == 2) { strength = 0.0f; } if (strength > 1.0f) { strength = 1.0f; } if (g_env_light.mInitAnimTimer != 0) { g_env_light.mWind.mWindVec = wind_vec; g_env_light.mWind.mWindPower = strength; } else { cLib_addCalc(&g_env_light.mWind.mWindVec.x, wind_vec.x, 0.1f, 2.0f, 0.001f); cLib_addCalc(&g_env_light.mWind.mWindVec.y, wind_vec.y, 0.1f, 2.0f, 0.001f); cLib_addCalc(&g_env_light.mWind.mWindVec.z, wind_vec.z, 0.1f, 2.0f, 0.001f); cLib_addCalc(&g_env_light.mWind.mWindPower, strength, 0.1f, 1.0f, 0.005f); } } /* 80089E50-80089E60 .text dKyw_get_wind_vec__Fv */ cXyz* dKyw_get_wind_vec() { return &g_env_light.mWind.mWindVec; } /* 80089E60-80089E70 .text dKyw_get_wind_pow__Fv */ f32 dKyw_get_wind_pow() { return g_env_light.mWind.mWindPower; } /* 80089E70-80089E80 .text dKyw_get_wind_power__Fv */ f32* dKyw_get_wind_power() { return &g_env_light.mWind.mWindPower; } /* 80089E80-80089EE4 .text dKyw_get_wind_vecpow__Fv */ cXyz dKyw_get_wind_vecpow() { cXyz vecpow = g_env_light.mWind.mWindVec * g_env_light.mWind.mWindPower; return vecpow; } /* 80089EE4-80089FDC .text dKyw_squal_set__FP4cXyzssfffff */ void dKyw_squal_set(cXyz* i_pos, s16 i_x, s16 i_y, f32 i_radius, f32 i_minRadius, f32 i_strength, f32 i_speed, f32 i_maxStrength) { dScnKy_env_light_c& env_light = dKy_getEnvlight(); for (int i = 0; i < 5; i++) { if (!env_light.mWindInfluenceEntity[i].mbInUse) { env_light.mWindInfluenceEntity[i].mbInUse = true; env_light.mWindInfluenceEntity[i].mMinRadius = i_minRadius; env_light.mWindInfluenceEntity[i].mSpeed = i_speed; env_light.mWindInfluenceEntity[i].mStrengthMaxVel = i_maxStrength; WIND_INFLUENCE* influence = &env_light.mWindInfluenceEntity[i].mInfluence; influence->mPos = *i_pos; influence->mDir.x = cM_scos(i_x) * cM_ssin(i_y); influence->mDir.y = cM_ssin(i_x); influence->mDir.z = cM_scos(i_x) * cM_scos(i_y); influence->mRadius = i_radius; influence->field_0x20 = influence->mRadius; influence->mStrength = i_strength; dKyw_pntwind_set(influence); return; } } } /* 80089FDC-8008A0F0 .text squal_proc__Fv */ void squal_proc() { dScnKy_env_light_c& env_light = dKy_getEnvlight(); WIND_INFLUENCE* influence; for (int i = 0; i < 5; i++) { influence = &env_light.mWindInfluenceEntity[i].mInfluence; switch (env_light.mWindInfluenceEntity[i].mbInUse) { case 0: break; case 1: influence->mPos.x += influence->mDir.x * env_light.mWindInfluenceEntity[i].mSpeed; influence->mPos.y += influence->mDir.y * env_light.mWindInfluenceEntity[i].mSpeed; influence->mPos.z += influence->mDir.z * env_light.mWindInfluenceEntity[i].mSpeed; cLib_addCalc(&influence->mStrength, 0.0f, 0.2f, env_light.mWindInfluenceEntity[i].mStrengthMaxVel, 0.001f); f32 speed = 1.0f - influence->mStrength; f32 target = env_light.mWindInfluenceEntity[i].mMinRadius; cLib_addCalc(&influence->mRadius, target, speed, speed * target * 0.05f, 0.01f); if (influence->mStrength < 0.01f) { dKyw_pntwind_cut(influence); env_light.mWindInfluenceEntity[i].mbInUse = false; } break; } } } /* 8008A0F0-8008A144 .text dKyw_pntwind_init__Fv */ void dKyw_pntwind_init() { for (int i = 0; i < 30; i++) { g_env_light.mpWindInfluence[i] = NULL; } for (int i = 0; i < 5; i++) { g_env_light.mWindInfluenceEntity[i].mbInUse = false; } } /* 8008A144-8008A1A8 .text pntwind_set__FP14WIND_INFLUENCE */ void pntwind_set(WIND_INFLUENCE* i_influence) { int i = 0; for (; i < ARRAY_SIZE(g_env_light.mpWindInfluence); i++) { if (g_env_light.mpWindInfluence[i] == NULL) { g_env_light.mpWindInfluence[i] = i_influence; g_env_light.mpWindInfluence[i]->mRegistIdx = i; break; } } if (i >= 30) { i_influence->mRegistIdx = 9999; } } /* 8008A1A8-8008A1D0 .text dKyw_pntwind_set__FP14WIND_INFLUENCE */ void dKyw_pntwind_set(WIND_INFLUENCE* i_influence) { i_influence->mbConstant = 0; pntwind_set(i_influence); } /* 8008A1D0-8008A1F8 .text dKyw_pwind_cylinder_set__FP14WIND_INFLUENCE */ void dKyw_pwind_cylinder_set(WIND_INFLUENCE* i_influence) { i_influence->mbConstant = 0; pntwind_set(i_influence); } /* 8008A1F8-8008A230 .text dKyw_pntwind_cut__FP14WIND_INFLUENCE */ void dKyw_pntwind_cut(WIND_INFLUENCE* i_influence) { if (i_influence != NULL) { if (i_influence->mRegistIdx >= 0 && i_influence->mRegistIdx < 30) { g_env_light.mpWindInfluence[i_influence->mRegistIdx] = NULL; } } } /* 8008A230-8008A4C8 .text dKyw_pntwind_get_info__FP4cXyzP4cXyzPf */ void dKyw_pntwind_get_info(cXyz* param_0, cXyz* i_dir, f32* i_power) { i_dir->x = 0.0f; i_dir->y = 0.0f; i_dir->z = 0.0f; *i_power = 0.0f; WIND_INFLUENCE* influence; s32 influence_count = ARRAY_SIZE(g_env_light.mpWindInfluence); for (int i = 0; i < influence_count; i++) { influence = g_env_light.mpWindInfluence[i]; if (influence != NULL) { f32 dist = param_0->abs(influence->mPos); if (influence->mbConstant == 0) { if (dist < influence->mRadius && influence->mStrength > 0.0f && dist != 0.0f) { f32 temp_f0; if (influence->mRadius > 0.0f) { f32 temp_f0_4 = (dist / influence->mRadius); temp_f0 = 1.0f - (temp_f0_4 * temp_f0_4); } else { temp_f0 = 1.0f; } *i_power = influence->mStrength * temp_f0; cXyz sp10; sp10.x = influence->mPos.x + -(influence->mDir.x) * influence->mRadius; sp10.y = influence->mPos.y + -(influence->mDir.y) * influence->mRadius; sp10.z = influence->mPos.z + -(influence->mDir.z) * influence->mRadius; dKyr_get_vectle_calc(&sp10, param_0, i_dir); if (param_0->abs(sp10) < influence->mRadius) { i_dir->x = 0.0f; i_dir->y = 0.0f; i_dir->z = 0.0f; } return; } } else { if (dist < influence->mRadius && influence->mStrength > 0.0f && dist != 0.0f) { f32 temp_f0; if (influence->mRadius > 0.0f) { temp_f0 = 1.0f - (dist / influence->mRadius); } else { temp_f0 = 1.0f; } i_dir->x = influence->mDir.x; i_dir->y = influence->mDir.y; i_dir->z = influence->mDir.z; *i_power = influence->mStrength * temp_f0; return; } } } } } /* 8008A4C8-8008A53C .text dKyw_pntwind_get_vecpow__FP4cXyz */ cXyz dKyw_pntwind_get_vecpow(cXyz* param_0) { cXyz direction; f32 power; dKyw_pntwind_get_info(param_0, &direction, &power); direction = direction * power; return direction; } /* 8008A53C-8008A6F4 .text dKyw_get_AllWind_vec__FP4cXyzP4cXyzPf */ void dKyw_get_AllWind_vec(cXyz* param_0, cXyz* i_direction, f32* i_power) { dScnKy_env_light_c& env_light = dKy_getEnvlight(); dKyw_pntwind_get_info(param_0, i_direction, i_power); cXyz sp54; cXyz sp30; cXyz sp24; sp30 = env_light.mWind.mWindVec * (env_light.mWind.mWindPower * (1.0f - *i_power)); sp24 = *i_direction * (*i_power * 5.0f); sp54 = sp30 + sp24; *i_power = sp54.abs(); sp54 = sp54.normZP(); if (sp54 != cXyz::Zero) { i_direction->x = sp54.x; i_direction->y = sp54.y; i_direction->z = sp54.z; } else { i_direction->x = env_light.mWind.mWindVec.x; i_direction->y = env_light.mWind.mWindVec.y; i_direction->z = env_light.mWind.mWindVec.z; } } /* 8008A6F4-8008A7D0 .text dKyw_get_AllWind_vecpow__FP4cXyz */ cXyz dKyw_get_AllWind_vecpow(cXyz* param_0) { cXyz vecpow; cXyz sp24; cXyz sp18; cXyz direction; f32 power; dKyw_pntwind_get_info(param_0, &direction, &power); sp24 = g_env_light.mWind.mWindVec * (g_env_light.mWind.mWindPower * (1.0f - power)); sp18 = direction * (power * 5.0f); vecpow = sp24 + sp18; return vecpow; } /* 8008A7D0-8008A870 .text dKyw_tact_wind_set__Fss */ void dKyw_tact_wind_set(s16 i_windX, s16 i_windY) { dScnKy_env_light_c& env_light = dKy_getEnvlight(); cXyz* wind_vec = dKyw_get_wind_vec(); env_light.mWind.mTactWindAngleX = i_windX; env_light.mWind.mTactWindAngleY = i_windY; dComIfGs_setWindX(i_windX); dComIfGs_setWindY(i_windY); i_windY = -(cM_atan2s(wind_vec->x, wind_vec->z) + 0x4000); env_light.mWind.mTactWindAngleFlags = 1; if ((s16)(i_windY - env_light.mWind.mTactWindAngleY) < 0) { env_light.mWind.mTactWindAngleFlags |= 0x80; } } /* 8008A870-8008A890 .text dKyw_tact_wind_set_go__Fv */ void dKyw_tact_wind_set_go() { g_env_light.mWind.mTactWindAngleFlags |= 1; g_env_light.mWind.mEvtWindSet = 0xFF; } /* 8008A890-8008A8B0 .text dKyw_get_tactwind_dir__Fv */ int dKyw_get_tactwind_dir() { int ret = 0; if ((g_env_light.mWind.mTactWindAngleFlags & 0x80) != 0) { ret = 1; } return ret; } /* 8008A8B0-8008A8C0 .text dKyw_custom_windpower__Ff */ void dKyw_custom_windpower(f32 i_windpower) { g_env_light.mWind.mCustomWindPower = i_windpower; } /* 8008A8C0-8008A944 .text dKyw_get_windsdir__Fv */ int dKyw_get_windsdir() { struct wind_tbl { u16 min_angle; u16 max_angle; int direction; }; static const wind_tbl wind_table[] = { {0x0000, 0x1000, 0}, {0x1000, 0x3000, 1}, {0x3000, 0x5000, 2}, {0x5000, 0x7000, 3}, {0x7000, 0x9000, 4}, {0x9000, 0xB000, 5}, {0xB000, 0xD000, 6}, {0xD000, 0xF000, 7}, {0xF000, 0xFFFF, 0}, }; cXyz* wind_vec = dKyw_get_wind_vec(); u16 t = -(cM_atan2s(wind_vec->x, wind_vec->z) + 0x4000); int dir; for (int i = 0; i < 9; i++) { if (t >= wind_table[i].min_angle && t < wind_table[i].max_angle) { dir = wind_table[i].direction; } } return dir; } /* 8008A944-8008A958 .text dKyw_evt_wind_set__Fss */ void dKyw_evt_wind_set(s16 i_windX, s16 i_windY) { g_env_light.mWind.mEvtWindAngleX = i_windX; g_env_light.mWind.mEvtWindAngleY = i_windY; } /* 8008A958-8008A96C .text dKyw_evt_wind_set_go__Fv */ void dKyw_evt_wind_set_go() { g_env_light.mWind.mEvtWindSet = 1; } /* 8008A96C-8008A9F8 .text dKyw_gbwind_use_check__Fv */ BOOL dKyw_gbwind_use_check() { dStage_FileList_dt_c* fili_p = NULL; int rt = 0; if (g_env_light.mWind.mpWindVecOverride == NULL) { s32 roomNo = dComIfGp_roomControl_getStayNo(); if (roomNo >= 0) { fili_p = dComIfGp_roomControl_getStatusRoomDt(roomNo)->getFileListInfo(); } if (fili_p != NULL && dStage_FileList_dt_GlobalWindLevel(fili_p) <= 2) { rt = 1; } } return rt; } /* 8008A9F8-8008AA1C .text dKyw_tornado_Notice__FP4cXyz */ void dKyw_tornado_Notice(cXyz* param_0) { g_env_light.mWind.field_0x8 = *param_0; } /* 8008AA1C-8008AA30 .text dKyw_rain_set__Fi */ void dKyw_rain_set(int i_count) { g_env_light.mRainCount = i_count; g_env_light.mRainCountOrig = i_count; }