Files
tww/src/d/d_kyeff.cpp
T
2025-03-17 22:26:56 -04:00

191 lines
6.7 KiB
C++

//
// Generated by dtk
// Translation Unit: d_kyeff.cpp
//
#include "f_op/f_op_kankyo.h"
#include "f_op/f_op_camera.h"
#include "d/d_com_inf_game.h"
#include "d/d_kankyo.h"
#include "d/d_kankyo_data.h"
#include "d/d_kankyo_wether.h"
#include "d/d_procname.h"
#include "d/d_stage.h"
#include "m_Do/m_Do_audio.h"
#include "dolphin/os/OS.h"
class dKyeff_c : public kankyo_class {
public:
BOOL execute();
};
/* 80197FE4-80198008 .text dKyeff_Draw__FP8dKyeff_c */
static BOOL dKyeff_Draw(dKyeff_c* i_this) {
dKyw_wether_draw();
return TRUE;
}
/* 80198008-8019803C .text get_parcent__Ffff */
static f32 get_parcent(f32 param_0, f32 param_1, f32 param_2) {
f32 temp_f1;
f32 temp_f2;
f32 temp_f4 = param_0 - param_1;
if (0.0f != temp_f4) {
temp_f1 = 1.0f - (param_0 - param_2) / temp_f4;
if (!(temp_f1 >= 1.0f)) {
return temp_f1;
}
}
return 1.0f;
}
/* 8019803C-8019808C .text s16_data_ratio_set__Fssf */
static s16 s16_data_ratio_set(s16 param_0, s16 param_1, f32 param_2) {
return param_0 + (s16)(param_2 * (param_1 - param_0));
}
/* 8019808C-8019847C .text menu_vrbox_set__Fv */
void menu_vrbox_set() {
f32 blendPalAB, curTime;
stage_vrbox_info_class* vrbox;
stage_vrbox_info_class* vrbox0;
stage_vrbox_info_class* vrbox1;
camera_class * pCamera = dComIfGp_getCamera(0);
pCamera->mLookat.mEye.x = 9377.0f;
pCamera->mLookat.mEye.y = 0.0f;
pCamera->mLookat.mEye.z = 7644.0f;
pCamera->mLookat.mCenter.x = 4300.0f;
pCamera->mLookat.mCenter.y = 4200.0f;
pCamera->mLookat.mCenter.z = 1000.0f;
g_env_light.mWind.mWindPower = 0.7f;
curTime = g_env_light.mCurTime;
g_env_light.mCurTime += 0.03f;
if ((u32)g_env_light.mCurTime >= 360.0f)
g_env_light.mCurTime = 0.0f;
mDoAud_setHour(curTime / 15.0f);
mDoAud_setMinute(((s32)(curTime * 1000000.0f) % 15000000) / 1000000.0f);
g_env_light.mpSchejule = dKyd_schejule_menu_getp();
u8 palIdx0, palIdx1;
for (s32 i = 0; i < 11; i++) {
if (curTime >= g_env_light.mpSchejule[i].mTimeEnd && curTime <= g_env_light.mpSchejule[i].mTimeBegin) {
palIdx0 = g_env_light.mpSchejule[i].mPalIdx0;
palIdx1 = g_env_light.mpSchejule[i].mPalIdx1;
blendPalAB = get_parcent(g_env_light.mpSchejule[i].mTimeBegin, g_env_light.mpSchejule[i].mTimeEnd, curTime);
}
}
vrbox = dKyd_dmvrbox_getp();
g_env_light.mpVrboxInfo = vrbox;
vrbox0 = &vrbox[palIdx0];
vrbox1 = &vrbox[palIdx1];
g_env_light.mVrSkyColor.r = s16_data_ratio_set(vrbox0->mSkyColor.r, vrbox1->mSkyColor.r, blendPalAB);
g_env_light.mVrSkyColor.g = s16_data_ratio_set(vrbox0->mSkyColor.g, vrbox1->mSkyColor.g, blendPalAB);
g_env_light.mVrSkyColor.b = s16_data_ratio_set(vrbox0->mSkyColor.b, vrbox1->mSkyColor.b, blendPalAB);
g_env_light.mVrkumoColor.r = s16_data_ratio_set(vrbox0->mKumoColor.r, vrbox1->mKumoColor.r, blendPalAB);
g_env_light.mVrkumoColor.g = s16_data_ratio_set(vrbox0->mKumoColor.g, vrbox1->mKumoColor.g, blendPalAB);
g_env_light.mVrkumoColor.b = s16_data_ratio_set(vrbox0->mKumoColor.b, vrbox1->mKumoColor.b, blendPalAB);
g_env_light.mVrkumoCenterColor.r = s16_data_ratio_set(vrbox0->mKumoCenterColor.r, vrbox1->mKumoCenterColor.r, blendPalAB);
g_env_light.mVrkumoCenterColor.g = s16_data_ratio_set(vrbox0->mKumoCenterColor.g, vrbox1->mKumoCenterColor.g, blendPalAB);
g_env_light.mVrkumoCenterColor.b = s16_data_ratio_set(vrbox0->mKumoCenterColor.b, vrbox1->mKumoCenterColor.b, blendPalAB);
g_env_light.mVrKasumiMaeColor.r = (u8)(g_env_light.mVrkumoColor.r * 0.9f);
g_env_light.mVrKasumiMaeColor.g = (u8)(g_env_light.mVrkumoColor.g * 0.9f);
g_env_light.mVrKasumiMaeColor.b = (u8)(g_env_light.mVrkumoColor.b * 0.9f);
g_env_light.mVrUsoUmiColor.r = (u8)(g_env_light.mVrkumoColor.r * 0.9f);
g_env_light.mVrUsoUmiColor.g = (u8)(g_env_light.mVrkumoColor.g * 0.9f);
g_env_light.mVrUsoUmiColor.b = (u8)(g_env_light.mVrkumoColor.b * 0.9f);
g_env_light.mVrkumoColor.a = 0xFF;
}
/* 8019847C-801984CC .text execute__8dKyeff_cFv */
BOOL dKyeff_c::execute() {
if (strcmp(dComIfGp_getStartStageName(), "Name") == 0) {
menu_vrbox_set();
} else {
dKyw_wether_move();
}
dKyw_wether_move_draw();
return TRUE;
}
/* 801984CC-801984EC .text dKyeff_Execute__FP8dKyeff_c */
static BOOL dKyeff_Execute(dKyeff_c* i_this) {
return i_this->execute();
}
/* 801984EC-801984F4 .text dKyeff_IsDelete__FP8dKyeff_c */
static BOOL dKyeff_IsDelete(dKyeff_c* i_this) {
return TRUE;
}
/* 801984F4-80198518 .text dKyeff_Delete__FP8dKyeff_c */
static BOOL dKyeff_Delete(dKyeff_c* i_this) {
dKyw_wether_delete();
return TRUE;
}
/* 80198518-80198758 .text dKyeff_Create__FP12kankyo_class */
static cPhs_State dKyeff_Create(kankyo_class* i_ky) {
dKyw_wether_init();
if (strcmp(dComIfGp_getStartStageName(), "Name") == 0) {
OSCalendarTime cal;
OSTime curTime = OSGetTime();
OSTicksToCalendarTime(curTime, &cal);
g_env_light.mWind.mWindVec.set(1.0f, 0.0f, 0.0f);
g_env_light.mWind.mWindPower = 0.7f;
g_env_light.mCurTime = 15.0f * cal.hours;
} else if (dKy_checkEventNightStop()) {
u32 stType = dStage_stagInfo_GetSTType(dComIfGp_getStage().getStagInfo());
if (stType == dStageType_OUTDOORS_e || stType == dStageType_SEA_e) {
dKyw_rain_set(250);
g_env_light.mThunderEff.mMode = 1;
} else if (stType == dStageType_MISC_e) {
if (strcmp(dComIfGp_getStartStageName(), "Ocrogh") == 0 || strcmp(dComIfGp_getStartStageName(), "Omori") == 0 ||
strcmp(dComIfGp_getStartStageName(), "Orichh") == 0 || strcmp(dComIfGp_getStartStageName(), "Atorizk") == 0 ||
strcmp(dComIfGp_getStartStageName(), "LinkRM") == 0 || strcmp(dComIfGp_getStartStageName(), "Ojhous2") == 0 ||
strcmp(dComIfGp_getStartStageName(), "Onobuta") == 0 || strcmp(dComIfGp_getStartStageName(), "Omasao") == 0 ||
strcmp(dComIfGp_getStartStageName(), "Obombh") == 0 || strcmp(dComIfGp_getStartStageName(), "Opub") == 0) {
dKyw_rain_set(250);
g_env_light.mThunderEff.mMode = 10;
}
}
}
return cPhs_COMPLEATE_e;
}
kankyo_method_class l_dKyeff_Method = {
(process_method_func)dKyeff_Create,
(process_method_func)dKyeff_Delete,
(process_method_func)dKyeff_Execute,
(process_method_func)dKyeff_IsDelete,
(process_method_func)dKyeff_Draw,
};
kankyo_process_profile_definition g_profile_KYEFF = {
fpcLy_CURRENT_e,
12,
fpcPi_CURRENT_e,
PROC_KYEFF,
&g_fpcLf_Method.base,
sizeof(dKyeff_c),
0,
0,
&g_fopKy_Method,
0x005,
&l_dKyeff_Method,
};