Files
korenkonder_ReDIVA/src/ReDIVA/data_initialize.cpp
T
2023-06-29 04:11:40 +03:00

192 lines
5.7 KiB
C++

/*
by korenkonder
GitHub/GitLab: korenkonder
*/
#include "data_initialize.hpp"
#include "../CRE/rob/rob.hpp"
#include "../CRE/auth_2d.hpp"
#include "../CRE/customize_item_table.hpp"
#include "../CRE/data.hpp"
#include "../CRE/font.hpp"
#include "../CRE/hand_item.hpp"
#include "../CRE/item_table.hpp"
#include "../CRE/module_table.hpp"
#include "../CRE/object.hpp"
#include "../CRE/sound.hpp"
#include "../CRE/sprite.hpp"
#include "game_state.hpp"
extern uint32_t dbg_set_id;
TaskDataInit task_data_init;
TaskDataInit::TaskDataInit() : state(), field_6C() {
}
TaskDataInit::~TaskDataInit() {
}
bool TaskDataInit::Init() {
state = 0;
field_6C = !test_mode_get();
return true;
}
bool TaskDataInit::Ctrl() {
data_struct* aft_data = &data_list[DATA_AFT];
aet_database* aft_aet_db = &aft_data->data_ft.aet_db;
object_database* aft_obj_db = &aft_data->data_ft.obj_db;
sprite_database* aft_spr_db = &aft_data->data_ft.spr_db;
switch (state) {
case 0: {
// Fucks up scaling
//sprite_manager_reset_res_data();
sprite_manager_read_file(4, "", aft_data, aft_spr_db);
sprite_manager_read_file(472, "", aft_data, aft_spr_db);
sprite_manager_read_file(43, "", aft_data, aft_spr_db);
fontmap_data_read_file();
state = 1;
} break;
case 1:
if (!sprite_manager_load_file(4, aft_spr_db)
&& !sprite_manager_load_file(472, aft_spr_db)
&& !sprite_manager_load_file(43, aft_spr_db)
&& !fontmap_data_load_file())
state = field_6C ? 2 : 4;
break;
case 2:
//sub_140194800(10);
state = 3;
break;
case 3:
//if (sub_1401935C0()) // Measure FPS
state = 4;
break;
case 4: {
sprite_manager_read_file(32, "", aft_data, aft_spr_db);
aet_manager_read_file(26, "", aft_data, aft_aet_db);
sprite_manager_read_file(34, "", aft_data, aft_spr_db);
aet_manager_read_file(35, "", aft_data, aft_aet_db);
state = 5;
} break;
case 5:
if (sprite_manager_load_file(32, aft_spr_db)
|| aet_manager_load_file(26, aft_aet_db)
|| sprite_manager_load_file(34, aft_spr_db)
|| aet_manager_load_file(35, aft_aet_db))
break;
state = 6;
case 6:
//auth_3d_database_read_file();
//stage_database_read_file();
state = 7;
//break;
case 7:
//if (auth_3d_database_load_file() || stage_database_load_file())
// break;
state = 8;
case 8:
object_storage_load_set(aft_data, aft_obj_db, dbg_set_id);
//bone_database_read();
item_table_handler_array_read();
sound_work_read_farc("rom/sound/se.farc");
sound_work_read_farc("rom/sound/button.farc");
sound_work_read_farc("rom/sound/se_cmn.farc");
sound_work_read_farc("rom/sound/se_sel.farc");
sound_work_read_farc("rom/sound/se_aime.farc");
sound_work_read_farc("rom/sound/pvchange.farc");
sound_work_read_farc("rom/sound/slide_se.farc");
sound_work_read_farc("rom/sound/slide_long.farc");
module_table_handler_data_read();
customize_item_table_handler_data_read();
//sub_1403926C0();
//sub_1403928E0();
//sub_1403740D0();
//sub_140374360();
//sub_140390440();
//sub_1403906D0();
//sub_140375A90();
//sub_140375D20();
//sub_14038EF90();
//sub_14038F220();
//sub_140384580();
//sub_1403847B0();
//sub_1403882D0();
//sub_140388560();
hand_item_handler_data_read();
rob_sleeve_handler_data_read();
for (int32_t i = 0; i < ROB_CHARA_COUNT; i++)
rob_chara_age_age_array_reset(i);
state = 9;
break;
case 9:
if (!object_storage_load_obj_set_check_not_read(dbg_set_id)
//&& !bone_database_load()
&& !item_table_handler_array_load()
&& !sound_work_load_farc("rom/sound/se.farc")
&& !sound_work_load_farc("rom/sound/button.farc")
&& !sound_work_load_farc("rom/sound/se_cmn.farc")
&& !sound_work_load_farc("rom/sound/se_sel.farc")
&& !sound_work_load_farc("rom/sound/se_aime.farc")
&& !sound_work_load_farc("rom/sound/pvchange.farc")
&& !sound_work_load_farc("rom/sound/slide_se.farc")
&& !sound_work_load_farc("rom/sound/slide_long.farc")
&& !module_table_handler_data_load()
&& !customize_item_table_handler_data_load()
//&& !sub_1403933B0()
//&& !sub_1403747D0()
//&& !sub_140390AE0()
//&& !sub_140376130()
//&& !sub_14038F630()
//&& !sub_140385220()
//&& !sub_140388A50()
&& !hand_item_handler_data_load()
&& !rob_sleeve_handler_data_load()) {
module_data_handler_data_add_all_modules();
customize_item_data_handler_data_add_all_customize_items();
//sub_140392D10();
//sub_140226760()->sub_140226A80();
//sub_140374650();
//sub_140390960();
//sub_140375FB0();
//sub_14038F4B0();
//sub_140384C70();
//sub_140388830();
state = 10;
}
break;
case 10:
state = 11;
break;
case 11:
state = 12;
break;
}
return false;
}
bool TaskDataInit::Dest() {
return true;
}
void TaskDataInit::Disp() {
}
bool task_data_init_add_task() {
return app::TaskWork::AddTask(&task_data_init, "DATA_INITIALIZE");
}
bool task_data_init_check_state() {
return task_data_init.state == 12;
}
bool task_data_init_del_task() {
return task_data_init.DelTask();
}