diff --git a/src/CRE/rob/rob.cpp b/src/CRE/rob/rob.cpp index 18b6a74c..8a7672bf 100644 --- a/src/CRE/rob/rob.cpp +++ b/src/CRE/rob/rob.cpp @@ -11330,6 +11330,10 @@ void rob_chara_array_free_chara_id(int32_t chara_id) { rob_chara_pv_data_array[chara_id].type = ROB_CHARA_TYPE_NONE; } +void rob_chara_array_reset_pv_data(int32_t chara_id) { + rob_chara_pv_data_array[chara_id].type = ROB_CHARA_TYPE_NONE; +} + void rob_chara_array_reset_bone_data_item_equip(int32_t chara_id) { rob_chara_item_equip* rob_itm_equip = rob_chara_array[chara_id].item_equip; rob_itm_equip->reset_init_data(rob_chara_bone_data_get_node( @@ -11388,11 +11392,6 @@ void pv_osage_manager_array_set_pv_set_motion( pv_osage_manager_array_get(chara_id)->SetPvSetMotion(set_motion); } -int32_t rob_chara_array_reset_pv_data(int32_t chara_id) { - rob_chara_pv_data_array[chara_id].type = ROB_CHARA_TYPE_NONE; - return chara_id; -} - bool rob_chara_check_for_ageageagain_module(chara_index chara_index, int32_t cos_id) { return chara_index == CHARA_MIKU && cos_id == 148; } @@ -12746,7 +12745,6 @@ rob_chara_pv_data::rob_chara_pv_data() : type(), field_4(), field_5(), field_6(), rot_y_int16(), field_16(), sleeve_l(), sleeve_r(), field_70(), motion_face_ids(), chara_size_index(), height_adjust(), item() { reset(); - type = ROB_CHARA_TYPE_NONE; } void rob_chara_pv_data::reset() { diff --git a/src/CRE/rob/rob.hpp b/src/CRE/rob/rob.hpp index 9b3d2a40..9e7a5d83 100644 --- a/src/CRE/rob/rob.hpp +++ b/src/CRE/rob/rob.hpp @@ -3625,6 +3625,7 @@ extern rob_chara_item_equip* rob_chara_array_get_item_equip(int32_t chara_id); extern int32_t rob_chara_array_init_chara_index(chara_index chara_index, const rob_chara_pv_data& pv_data, int32_t cos_id, bool can_set_default); extern void rob_chara_array_free_chara_id(int32_t chara_id); +extern void rob_chara_array_reset_pv_data(int32_t chara_id); extern void rob_chara_array_reset_bone_data_item_equip(int32_t chara_id); extern void rob_chara_array_set_alpha_obj_flags(int32_t chara_id, float_t alpha, mdl::ObjFlags flags); extern void rob_chara_array_set_visibility(int32_t chara_id, bool value); diff --git a/src/ReDIVA/render.cpp b/src/ReDIVA/render.cpp index 8f1ba814..805fc5e3 100644 --- a/src/ReDIVA/render.cpp +++ b/src/ReDIVA/render.cpp @@ -935,6 +935,9 @@ static render_context* render_context_load() { Glitter::glt_particle_manager_add_task(); + for (int32_t i = 0; i < ROB_CHARA_COUNT; i++) + rob_chara_array_reset_pv_data(i); + light_param_data_storage::load(aft_data); auth_3d_data_load_auth_3d_db(aft_auth_3d_db);