diff --git a/src/CRE/effect.cpp b/src/CRE/effect.cpp index b78cc962..4895e8ac 100644 --- a/src/CRE/effect.cpp +++ b/src/CRE/effect.cpp @@ -3237,7 +3237,7 @@ void EffectRipple::clear_tex() { glClearColor(clear_color.x, clear_color.y, clear_color.z, clear_color.w); } -// 0x00000001403584A0 +// 0x1403584A0 void EffectRipple::copy_to_ripple_tex(render_data_context& rend_data_ctx, RenderTexture* rt) { if (ripple_tex_id == -1) return; @@ -6749,7 +6749,7 @@ static void water_particle_free() { water_particle_scene_ubo.Destroy(); } -// 0x00000001403B6ED0 +// 0x1403B6ED0 static void ripple_propagate(render_data_context& rend_data_ctx, RenderTexture* dst, RenderTexture* curr, RenderTexture* prev, const EffectRipple::Params& params) { dst->Bind(rend_data_ctx.state); @@ -6762,7 +6762,7 @@ static void ripple_propagate(render_data_context& rend_data_ctx, rend_data_ctx.state.bind_framebuffer(0); } -// 0x00000001403B6F60 +// 0x1403B6F60 static void ripple_propagate_sub(render_data_context& rend_data_ctx, texture* dst_tex, texture* curr_tex, texture* prev_tex, const EffectRipple::Params& params) { if (!dst_tex || !dst_tex->glid || !curr_tex || !curr_tex->glid || !prev_tex || !prev_tex->glid) diff --git a/src/CRE/rob/ex_block.cpp b/src/CRE/rob/ex_block.cpp index 525d4f1c..a697d0bf 100644 --- a/src/CRE/rob/ex_block.cpp +++ b/src/CRE/rob/ex_block.cpp @@ -1119,7 +1119,7 @@ void CLOTH::SetSkinParamWindAfc(float_t value) { skin_param_ptr->wind_afc = value; } -void CLOTH::SetWindDirection(vec3& value) { +void CLOTH::SetWindDirection(const vec3& value) { this->wind_direction = value; } @@ -1883,6 +1883,11 @@ void RobCloth::SetMotionResetData(uint32_t motion_id, float_t frame) { } } +// 0x14021EF50 +void RobCloth::SetMoveCancel(const float_t& value) { + move_cancel = value; +} + const float_t* RobCloth::SetOsagePlayDataInit(const float_t* opdi_data) { CLOTHNode* i_begin = nodes.data() + root_count; CLOTHNode* i_end = nodes.data() + nodes.size(); @@ -2215,6 +2220,11 @@ void ExClothBlock::SetMotionResetData(uint32_t motion_id, float_t frame) { rob.SetMotionResetData(motion_id, frame); } +// 0x1405F9280 +void ExClothBlock::SetMoveCancel(const float_t& value) { + rob.SetMoveCancel(value); +} + const float_t* ExClothBlock::SetOsagePlayDataInit(const float_t* opdi_data) { return rob.SetOsagePlayDataInit(opdi_data); } @@ -2231,7 +2241,7 @@ void ExClothBlock::SetSkinParam(skin_param_file_data* skp) { rob.SetSkinParam(skp); } -void ExClothBlock::SetSkinParamOsageRoot(skin_param_osage_root* skp_root) { +void ExClothBlock::SetSkinParamOsageRoot(const skin_param_osage_root* skp_root) { if (!skp_root) return; @@ -2379,7 +2389,7 @@ void RobOsage::BeginCalc(const mat4& root_matrix, const vec3& parent_scale, bool } } -bool RobOsage::CheckPartsBits(rob_osage_parts_bit parts_bits) { +bool RobOsage::CheckPartsBits(const rob_osage_parts_bit& parts_bits) { if (osage_setting.parts != ROB_OSAGE_PARTS_NONE) return !!(parts_bits & (1 << osage_setting.parts)); return false; @@ -2933,6 +2943,11 @@ void RobOsage::SetColiR(float_t coli_r) { i->data_ptr->skp_osg_node.coli_r = coli_r; } +// 0x140481090 +void RobOsage::SetDisableCollision(const bool& value) { + disable_collision = value; +} + void RobOsage::SetForce(float_t force, float_t force_gain) { skin_param_ptr->force = force; skin_param_ptr->force_gain = force_gain; @@ -2972,8 +2987,13 @@ void RobOsage::SetMotionResetData(uint32_t motion_id, float_t frame) { reset_data_list = &elem->second; } +// 0x1404810D0 +void RobOsage::SetMoveCancel(const float_t& value) { + move_cancel = value; +} + // 0x140480F40 -void RobOsage::SetNodesExternalForce(vec3* external_force, float_t strength) { +void RobOsage::SetNodesExternalForce(const vec3* external_force, const float_t& strength) { if (!external_force) { RobOsageNode* i_begin = nodes.data() + 1; RobOsageNode* i_end = nodes.data() + nodes.size(); @@ -2982,30 +3002,20 @@ void RobOsage::SetNodesExternalForce(vec3* external_force, float_t strength) { return; } - vec3 v4 = *external_force; - size_t exf = osage_setting.exf; - size_t v8 = 0; - if (exf >= 4) { - float_t strength4 = strength * strength * strength * strength; - v8 = ((exf - 4) / 4 + 1) * 4; - for (size_t v10 = v8 / 4; v10; v10--) - v4 *= strength4; - } - - if (v8 < exf) - for (size_t v12 = exf - v8; v12; v12--) - v4 *= strength; + vec3 _external_force = *external_force; + for (size_t i = osage_setting.exf; i; i--) + _external_force *= strength; RobOsageNode* i_begin = nodes.data() + 1; RobOsageNode* i_end = nodes.data() + nodes.size(); for (RobOsageNode* i = i_begin; i != i_end; i++) { - i->external_force = v4; - v4 *= strength; + i->external_force = _external_force; + _external_force *= strength; } } // 0x140481540 -void RobOsage::SetNodesForce(float_t force) { +void RobOsage::SetNodesForce(const float_t& force) { RobOsageNode* i_begin = nodes.data() + 1; RobOsageNode* i_end = nodes.data() + nodes.size(); for (RobOsageNode* i = i_begin; i != i_end; i++) @@ -3027,6 +3037,11 @@ const float_t* RobOsage::SetOsagePlayDataInit(const float_t* opdi_data) { return opdi_data; } +// 0x1405F9A90, but it's combined with ExOsageBlock::SetOsageReset +void RobOsage::SetOsageReset() { + osage_reset = true; +} + void RobOsage::SetRing(const osage_ring_data& ring) { this->ring = ring; } @@ -3088,7 +3103,7 @@ void RobOsage::SetSkpOsgNodes(std::vector* skp_osg_nodes) } } -void RobOsage::SetWindDirection(vec3* value) { +void RobOsage::SetWindDirection(const vec3* value) { if (value) wind_direction = *value; else @@ -3246,8 +3261,9 @@ const float_t* ExOsageBlock::LoadOpdData(size_t node_index, const float_t* opd_d return rob.LoadOpdData(node_index, opd_data, opd_count); } -void ExOsageBlock::SetDisableCollision(bool value) { - rob.disable_collision = value; +// 0x1405F9510 +void ExOsageBlock::SetDisableCollision(const bool& value) { + rob.SetDisableCollision(value); } void ExOsageBlock::SetMotionResetData(uint32_t motion_id, float_t frame) { @@ -3258,8 +3274,14 @@ const float_t* ExOsageBlock::SetOsagePlayDataInit(const float_t* opdi_data) { return rob.SetOsagePlayDataInit(opdi_data); } +// 0x1405F9290 +void ExOsageBlock::SetMoveCancel(const float_t& value) { + rob.SetMoveCancel(value); +} + +// 0x1405F9A90, but it's combined with RobOsage::SetOsageReset void ExOsageBlock::SetOsageReset() { - rob.osage_reset = true; + rob.SetOsageReset(); } void ExOsageBlock::SetRing(const osage_ring_data& ring) { diff --git a/src/CRE/rob/rob.cpp b/src/CRE/rob/rob.cpp index ee7a27a2..337e1e5d 100644 --- a/src/CRE/rob/rob.cpp +++ b/src/CRE/rob/rob.cpp @@ -193,7 +193,7 @@ struct opd_chara_data { bool init; uint32_t frame_index; uint32_t frame_count; - int32_t motion_id; + uint32_t motion_id; uint64_t field_18; std::vector> opd_data[ITEM_OSAGE_COUNT]; p_opd_farc opd[ITEM_OSAGE_COUNT]; @@ -289,16 +289,16 @@ struct rob_osage_mothead { uint32_t motion_id; float_t frame; float_t last_frame; - rob_osage_mothead_data* type_62; - const mothead_data* type_62_data; - rob_osage_mothead_data* type_75; - const mothead_data* type_75_data; - rob_osage_mothead_data* type_67; - const mothead_data* type_67_data; - rob_osage_mothead_data* type_74; - const mothead_data* type_74_data; - rob_osage_mothead_data* type_79; - const mothead_data* type_79_data; + rob_osage_mothead_data* rob_parts_adjust; + const mothead_data* rob_parts_adjust_data; + rob_osage_mothead_data* rob_adjust_global; + const mothead_data* rob_adjust_global_data; + rob_osage_mothead_data* sleeve_adjust; + const mothead_data* sleeve_adjust_data; + rob_osage_mothead_data* disable_collision; + const mothead_data* disable_collision_data; + rob_osage_mothead_data* rob_chara_coli_ring; + const mothead_data* rob_chara_coli_ring_data; int32_t field_68; #if OPD_PLAY @@ -1325,10 +1325,10 @@ static void rob_cmn_mottbl_read(void* a1, const void* data, size_t size); static void opd_chara_data_array_add_frame_data(int32_t chara_id); static void opd_chara_data_array_encode_data(int32_t chara_id); -static void opd_chara_data_array_encode_init_data(int32_t chara_id, int32_t motion_id); +static void opd_chara_data_array_encode_init_data(int32_t chara_id, uint32_t motion_id); static void opd_chara_data_array_fs_copy_file(int32_t chara_id); static opd_chara_data* opd_chara_data_array_get(int32_t chara_id); -static void opd_chara_data_array_init_data(int32_t chara_id, int32_t motion_id); +static void opd_chara_data_array_init_data(int32_t chara_id, uint32_t motion_id); static void opd_chara_data_array_open_opd_file(int32_t chara_id); static void opd_chara_data_array_open_opdi_file(int32_t chara_id); static void opd_chara_data_array_write_file(int32_t chara_id); @@ -2957,19 +2957,19 @@ static void rob_chara_data_adjust_ctrl(rob_chara* rob_chr, } static void rob_chara_item_equip_object_set_parts_external_force( - rob_chara_item_equip_object* itm_eq_obj, rob_osage_parts_bit parts_bits, - vec3* weight, float_t force, float_t strength) { + rob_chara_item_equip_object* itm_eq_obj, const rob_osage_parts_bit& parts_bits, + const vec3* external_force, const float_t& force, const float_t& strength) { for (ExOsageBlock*& i : itm_eq_obj->osage_blocks) { RobOsage* rob_osg = &i->rob; if (rob_osg->CheckPartsBits(parts_bits)) { - rob_osg->SetNodesExternalForce(weight, strength); + rob_osg->SetNodesExternalForce(external_force, strength); rob_osg->SetNodesForce(force); } } } static void rob_chara_item_equip_set_parts_external_force(rob_chara_item_equip* rob_itm_eq, - int32_t parts, vec3* external_force, float_t force, float_t strength) { + const rob_osage_parts& parts, const vec3* external_force, const float_t& force, const float_t& strength) { item_id id = (item_id)(parts == ROB_OSAGE_PARTS_MUFFLER ? ITEM_OUTER : ITEM_KAMI); if (!osage_setting_data_obj_has_key(rob_itm_eq->item_equip_object[id].obj_info)) return; @@ -3011,7 +3011,7 @@ static void rob_chara_item_equip_set_parts_external_force(rob_chara_item_equip* } static void rob_chara_item_equip_object_set_external_force( - rob_chara_item_equip_object* itm_eq_obj, vec3* external_force) { + rob_chara_item_equip_object* itm_eq_obj, const vec3* external_force) { for (ExOsageBlock*& i : itm_eq_obj->osage_blocks) { i->rob.set_external_force = true; i->rob.external_force = *external_force; @@ -3024,7 +3024,7 @@ static void rob_chara_item_equip_object_set_external_force( } static void rob_chara_item_equip_set_external_force( - rob_chara_item_equip* rob_itm_eq, vec3* external_force) { + rob_chara_item_equip* rob_itm_eq, const vec3* external_force) { for (int32_t i = rob_itm_eq->first_item_equip_object; i < rob_itm_eq->max_item_equip_object; i++) rob_chara_item_equip_object_set_external_force(&rob_itm_eq->item_equip_object[i], external_force); } @@ -3036,7 +3036,8 @@ void rob_chara::adjust_ctrl() { rob_chara_data_adjust* parts_adjust = &data.motion.parts_adjust[i]; if (parts_adjust->enable) { rob_chara_data_adjust_ctrl(this, parts_adjust, &data.motion.parts_adjust_prev[i]); - rob_chara_item_equip_set_parts_external_force(rob_itm_equip, i, + rob_osage_parts parts = (rob_osage_parts)i; + rob_chara_item_equip_set_parts_external_force(rob_itm_equip, parts, &parts_adjust->curr_external_force, parts_adjust->curr_force, parts_adjust->curr_strength); } } @@ -12006,7 +12007,7 @@ static void opd_chara_data_array_encode_data(int32_t chara_id) { opd_chara_data_array_get(chara_id)->encode_data(); } -static void opd_chara_data_array_encode_init_data(int32_t chara_id, int32_t motion_id) { +static void opd_chara_data_array_encode_init_data(int32_t chara_id, uint32_t motion_id) { opd_chara_data_array_get(chara_id)->encode_init_data(motion_id); } @@ -12020,7 +12021,7 @@ static opd_chara_data* opd_chara_data_array_get(int32_t chara_id) { return &opd_chara_data_array[chara_id]; } -static void opd_chara_data_array_init_data(int32_t chara_id, int32_t motion_id) { +static void opd_chara_data_array_init_data(int32_t chara_id, uint32_t motion_id) { opd_chara_data_array_get(chara_id)->init_data(motion_id); } @@ -14379,11 +14380,12 @@ void rob_chara_item_equip_object::set_osage_reset() { i->SetOsageReset(); } -void rob_chara_item_equip_object::set_osage_move_cancel(float_t value) { +void rob_chara_item_equip_object::set_osage_move_cancel(const float_t& value) { for (ExOsageBlock*& i : osage_blocks) - i->rob.move_cancel = value; + i->SetMoveCancel(value); + for (ExClothBlock*& i : cloth_blocks) - i->rob.move_cancel = value; + i->SetMoveCancel(value); } void rob_chara_item_equip_object::set_texture_pattern(texture_pattern_struct* tex_pat, size_t count) { @@ -14815,7 +14817,7 @@ void rob_chara_item_equip::set_osage_step(float_t value) { osage_step = value; } -void rob_chara_item_equip::set_osage_move_cancel(uint8_t id, float_t value) { +void rob_chara_item_equip::set_osage_move_cancel(uint8_t id, const float_t& value) { switch (id) { case 0: for (int32_t i = first_item_equip_object; i < max_item_equip_object; i++) @@ -17730,8 +17732,8 @@ bool OsagePlayDataManager::ctrl() { if (_frame > frame) break; - rob_chr->set_motion_reset_data(motion_id, _frame); rob_chr->set_motion_skin_param(motion_id, _frame); + rob_chr->set_motion_reset_data(motion_id, _frame); set_motion_index++; } @@ -18053,13 +18055,15 @@ rob_osage_mothead::rob_osage_mothead(rob_chara* rob_chr, int32_t stage_index, ui rob_osage_mothead::rob_osage_mothead(rob_chara* rob_chr, int32_t stage_index, uint32_t motion_id, float_t frame, const bone_database* bone_data, const motion_database* mot_db) : rob_chr(), #endif - motion_id(), frame(), last_frame(), type_62(), type_62_data(), type_75(), type_75_data(), - type_67(), type_67_data(), type_74(), type_74_data(), type_79(), type_79_data(), field_68() { - type_62 = 0; - type_75 = 0; - type_67 = 0; - type_74 = 0; - type_79 = 0; + motion_id(), frame(), last_frame(), + rob_parts_adjust(), rob_parts_adjust_data(), rob_adjust_global(), rob_adjust_global_data(), + sleeve_adjust(), sleeve_adjust_data(), disable_collision(), disable_collision_data(), + rob_chara_coli_ring(), rob_chara_coli_ring_data(), field_68() { + rob_parts_adjust = 0; + rob_adjust_global = 0; + sleeve_adjust = 0; + disable_collision = 0; + rob_chara_coli_ring = 0; this->rob_chr = rob_chr; if (rob_chr) { #if OPD_PLAY @@ -18088,6 +18092,7 @@ rob_osage_mothead::~rob_osage_mothead() { reset(); } +// 0x14053D360 void rob_osage_mothead::ctrl() { rob_chara* rob_chr = this->rob_chr; if (!rob_chr) @@ -18100,6 +18105,7 @@ void rob_osage_mothead::ctrl() { rob_disp_rob_chara_ctrl_thread_main(rob_chr); } +// 0x14053D3E0 void rob_osage_mothead::reset() { rob_chr = 0; motion_id = -1; @@ -18108,116 +18114,123 @@ void rob_osage_mothead::reset() { reset_data(); } +// 0x14053D6C0 void rob_osage_mothead::init_data(const motion_database* mot_db) { reset_data(); - type_62 = new rob_osage_mothead_data(MOTHEAD_DATA_ROB_PARTS_ADJUST, motion_id, mot_db); - type_62_data = type_62->find_next_data(); + rob_parts_adjust = new rob_osage_mothead_data(MOTHEAD_DATA_ROB_PARTS_ADJUST, motion_id, mot_db); + rob_parts_adjust_data = rob_parts_adjust->find_next_data(); - type_75 = new rob_osage_mothead_data(MOTHEAD_DATA_ROB_ADJUST_GLOBAL, motion_id, mot_db); - type_75_data = type_75->find_next_data(); + rob_adjust_global = new rob_osage_mothead_data(MOTHEAD_DATA_ROB_ADJUST_GLOBAL, motion_id, mot_db); + rob_adjust_global_data = rob_adjust_global->find_next_data(); - type_67 = new rob_osage_mothead_data(MOTHEAD_DATA_SLEEVE_ADJUST, motion_id, mot_db); - type_67_data = type_67->find_next_data(); + sleeve_adjust = new rob_osage_mothead_data(MOTHEAD_DATA_SLEEVE_ADJUST, motion_id, mot_db); + sleeve_adjust_data = sleeve_adjust->find_next_data(); - type_74 = new rob_osage_mothead_data(MOTHEAD_DATA_DISABLE_COLLISION, motion_id, mot_db); - type_74_data = type_74->find_next_data(); + disable_collision = new rob_osage_mothead_data(MOTHEAD_DATA_DISABLE_COLLISION, motion_id, mot_db); + disable_collision_data = disable_collision->find_next_data(); - type_79 = new rob_osage_mothead_data(MOTHEAD_DATA_ROB_CHARA_COLI_RING, motion_id, mot_db); - type_79_data = type_79->find_next_data(); + rob_chara_coli_ring = new rob_osage_mothead_data(MOTHEAD_DATA_ROB_CHARA_COLI_RING, motion_id, mot_db); + rob_chara_coli_ring_data = rob_chara_coli_ring->find_next_data(); } +// 0x14053D450 void rob_osage_mothead::reset_data() { - if (type_62) - delete type_62; - type_62 = 0; - type_62_data = 0; + if (rob_parts_adjust) + delete rob_parts_adjust; + rob_parts_adjust = 0; + rob_parts_adjust_data = 0; - if (type_75) - delete type_75; - type_75 = 0; - type_75_data = 0; + if (rob_adjust_global) + delete rob_adjust_global; + rob_adjust_global = 0; + rob_adjust_global_data = 0; - if (type_67) - delete type_67; - type_67 = 0; - type_67_data = 0; + if (sleeve_adjust) + delete sleeve_adjust; + sleeve_adjust = 0; + sleeve_adjust_data = 0; - if (type_74) - delete type_74; - type_74 = 0; - type_74_data = 0; + if (disable_collision) + delete disable_collision; + disable_collision = 0; + disable_collision_data = 0; - if (type_79) - delete type_79; - type_79_data = 0; - type_79 = 0; + if (rob_chara_coli_ring) + delete rob_chara_coli_ring; + rob_chara_coli_ring_data = 0; + rob_chara_coli_ring = 0; } +// 0x14053EC90 void rob_osage_mothead::set_coli_ring(const mothead_data* mhd_data) { const void* data = mhd_data->data; rob_chara_set_coli_ring(rob_chr, ((int8_t*)data)[0]); } +// 0x14053E7B0 void rob_osage_mothead::set_frame(float_t value) { if (last_frame > value) frame = value; } +// 0x14053E7C0 void rob_osage_mothead::set_disable_collision(const mothead_data* mhd_data) { const void* data = mhd_data->data; rob_chr->set_disable_collision((rob_osage_parts)((uint8_t*)data)[0], !!((uint8_t*)data)[1]); } +// 0x14053E170 void rob_osage_mothead::set_mothead_frame() { - while (type_62_data) { - if ((float_t)type_62_data->frame > frame) + while (rob_parts_adjust_data) { + if ((float_t)rob_parts_adjust_data->frame > frame) break; - set_rob_parts_adjust(type_62_data); + set_rob_parts_adjust(rob_parts_adjust_data); - type_62_data = type_62->find_next_data(); + rob_parts_adjust_data = rob_parts_adjust->find_next_data(); } - while (type_75_data) { - if ((float_t)type_75_data->frame > frame) + while (rob_adjust_global_data) { + if ((float_t)rob_adjust_global_data->frame > frame) break; - set_rob_adjust_global(type_75_data); + set_rob_adjust_global(rob_adjust_global_data); - type_75_data = type_75->find_next_data(); + rob_adjust_global_data = rob_adjust_global->find_next_data(); } - while (type_67_data) { - if ((float_t)type_67_data->frame > frame) + while (sleeve_adjust_data) { + if ((float_t)sleeve_adjust_data->frame > frame) break; - set_sleeve_adjust(type_67_data); + set_sleeve_adjust(sleeve_adjust_data); - type_67_data = type_67->find_next_data(); + sleeve_adjust_data = sleeve_adjust->find_next_data(); } - while (type_74_data) { - if ((float_t)type_74_data->frame > frame) + while (disable_collision_data) { + if ((float_t)disable_collision_data->frame > frame) break; - set_disable_collision(type_74_data); + set_disable_collision(disable_collision_data); - type_74_data = type_74->find_next_data(); + disable_collision_data = disable_collision->find_next_data(); } - while (type_79_data) { - if ((float_t)type_79_data->frame > frame) + while (rob_chara_coli_ring_data) { + if ((float_t)rob_chara_coli_ring_data->frame > frame) break; - set_coli_ring(type_79_data); + set_coli_ring(rob_chara_coli_ring_data); - type_79_data = type_79->find_next_data(); + rob_chara_coli_ring_data = rob_chara_coli_ring->find_next_data(); } } +// 0x14053EA00 void rob_osage_mothead::set_rob_adjust_global(const mothead_data* mhd_data) { const void* data = mhd_data->data; @@ -18250,6 +18263,7 @@ void rob_osage_mothead::set_rob_adjust_global(const mothead_data* mhd_data) { rob_chara_set_adjust_global(rob_chr, &v14); } +// 0x14053E810 void rob_osage_mothead::set_rob_parts_adjust(const mothead_data* mhd_data) { const void* data = mhd_data->data; @@ -18289,6 +18303,7 @@ void rob_osage_mothead::set_rob_parts_adjust(const mothead_data* mhd_data) { rob_chara_set_parts_adjust_by_index(rob_chr, (rob_osage_parts)((uint8_t*)data)[4], &v16); } +// 0x14053EBE0 void rob_osage_mothead::set_sleeve_adjust(const mothead_data* mhd_data) { const void* data = mhd_data->data; diff --git a/src/CRE/rob/rob.hpp b/src/CRE/rob/rob.hpp index cf82c264..76fb7e21 100644 --- a/src/CRE/rob/rob.hpp +++ b/src/CRE/rob/rob.hpp @@ -1964,7 +1964,7 @@ struct CLOTH { virtual void SetSkinParamColiR(float_t value); virtual void SetSkinParamFriction(float_t value); virtual void SetSkinParamWindAfc(float_t value); - virtual void SetWindDirection(vec3& value); + virtual void SetWindDirection(const vec3& value); virtual void SetInertia(float_t value); virtual void SetSkinParamHinge(float_t hinge_y, float_t hinge_z); virtual CLOTHNode* GetNodes(); @@ -2033,6 +2033,7 @@ struct RobCloth : public CLOTH { void ResetExtrenalForce(); void SetForceAirRes(float_t force, float_t force_gain, float_t air_res); void SetMotionResetData(uint32_t motion_id, float_t frame); + void SetMoveCancel(const float_t& value); const float_t* SetOsagePlayDataInit(const float_t* opdi_data); void SetOsageReset(); void SetRing(const osage_ring_data& ring); @@ -2072,11 +2073,12 @@ public: skin_param_osage_root* skp_root, const bone_database* bone_data); const float_t* LoadOpdData(size_t node_index, const float_t* opd_data, size_t opd_count); void SetMotionResetData(uint32_t motion_id, float_t frame); + void SetMoveCancel(const float_t& value); const float_t* SetOsagePlayDataInit(const float_t* opdi_data); void SetOsageReset(); void SetRing(const osage_ring_data& ring); void SetSkinParam(skin_param_file_data* skp); - void SetSkinParamOsageRoot(skin_param_osage_root* skp_root); + void SetSkinParamOsageRoot(const skin_param_osage_root* skp_root); }; struct skin_param_file_data { @@ -2132,7 +2134,7 @@ struct RobOsage { const float_t step, bool disable_external_force, bool ring_coli, bool has_children_node); void ApplyResetData(const mat4& mat); void BeginCalc(const mat4& root_matrix, const vec3& parent_scale, bool has_children_node); - bool CheckPartsBits(rob_osage_parts_bit parts_bits); + bool CheckPartsBits(const rob_osage_parts_bit& parts_bits); void ColiSet(const mat4* mats); void CollideNodes(const float_t step); void CollideNodesTargetOsage(const mat4& root_matrix, @@ -2158,19 +2160,22 @@ struct RobOsage { void RotateMat(mat4& mat, const vec3& parent_scale, bool init_rot = false); void SetAirRes(float_t air_res); void SetColiR(float_t coli_r); + void SetDisableCollision(const bool& value); void SetForce(float_t force, float_t force_gain); void SetHinge(float_t hinge_y, float_t hinge_z); void SetInitRot(float_t init_rot_y, float_t init_rot_z); void SetMotionResetData(uint32_t motion_id, float_t frame); - void SetNodesExternalForce(vec3* external_force, float_t strength); - void SetNodesForce(float_t force); + void SetMoveCancel(const float_t& value); + void SetNodesExternalForce(const vec3* external_force, const float_t& strength); + void SetNodesForce(const float_t& force); const float_t* SetOsagePlayDataInit(const float_t* opdi_data); + void SetOsageReset(); void SetRing(const osage_ring_data& ring); void SetRot(float_t rot_y, float_t rot_z); void SetSkinParam(skin_param_file_data* skp); void SetSkinParamOsageRoot(const skin_param_osage_root& skp_root); void SetSkpOsgNodes(std::vector* skp_osg_nodes); - void SetWindDirection(vec3* value); + void SetWindDirection(const vec3* value); void SetYZOrder(int32_t yz_order); }; @@ -2202,8 +2207,9 @@ public: const char* osg_data_name, obj_skin_osage_node* osg_nodes, bone_node* bone_nodes, bone_node* ex_data_bone_nodes, obj_skin* skin); const float_t* LoadOpdData(size_t node_index, const float_t* opd_data, size_t opd_count); - void SetDisableCollision(bool value); + void SetDisableCollision(const bool& value); void SetMotionResetData(uint32_t motion_id, float_t frame); + void SetMoveCancel(const float_t& value); const float_t* SetOsagePlayDataInit(const float_t* opdi_data); void SetOsageReset(); void SetRing(const osage_ring_data& ring); @@ -2386,7 +2392,7 @@ struct rob_chara_item_equip_object { void set_null_blocks_expression_data(const vec3& position, const vec3& rotation, const vec3& scale); void set_osage_play_data_init(const float_t* opdi_data); void set_osage_reset(); - void set_osage_move_cancel(float_t value); + void set_osage_move_cancel(const float_t& value); void set_texture_pattern(texture_pattern_struct* tex_pat, size_t count); void skp_load(void* kv, const bone_database* bone_data); void skp_load(const skin_param_osage_root& skp_root, std::vector& vec, @@ -2482,7 +2488,7 @@ struct rob_chara_item_equip { void set_osage_play_data_init(item_id id, const float_t* opdi_data); void set_osage_reset(); void set_osage_step(float_t value); - void set_osage_move_cancel(uint8_t id, float_t value); + void set_osage_move_cancel(uint8_t id, const float_t& value); void set_shadow_type(int32_t chara_id); void set_texture_pattern(texture_pattern_struct* tex_pat, size_t count); void skp_load(item_id id, const skin_param_osage_root& skp_root, std::vector& vec, diff --git a/src/CRE/rob/skin_param.cpp b/src/CRE/rob/skin_param.cpp index 3bcbeb08..47935f52 100644 --- a/src/CRE/rob/skin_param.cpp +++ b/src/CRE/rob/skin_param.cpp @@ -312,7 +312,7 @@ void skin_param_manager_reset(int32_t chara_id) { } void skin_param_osage_node_parse(void* kv, const char* name, - std::vector* vec, skin_param_osage_root& skp_root) { + std::vector* vec, const skin_param_osage_root& skp_root) { key_val* _kv = (key_val*)kv; if (!_kv->open_scope(name)) return; diff --git a/src/CRE/rob/skin_param.hpp b/src/CRE/rob/skin_param.hpp index 7f89dd1a..dde51010 100644 --- a/src/CRE/rob/skin_param.hpp +++ b/src/CRE/rob/skin_param.hpp @@ -28,7 +28,7 @@ extern std::vector* skin_param_manager_get_skin_param_file extern void skin_param_manager_reset(int32_t chara_id); extern void skin_param_osage_node_parse(void* kv, const char* name, - std::vector* a3, skin_param_osage_root& skp_root); + std::vector* a3, const skin_param_osage_root& skp_root); extern void skin_param_osage_root_parse(void* kv, const char* name, skin_param_osage_root& skp_root, const bone_database* bone_data); diff --git a/src/CRE/shadow.cpp b/src/CRE/shadow.cpp index 676b6f1f..215b83b5 100644 --- a/src/CRE/shadow.cpp +++ b/src/CRE/shadow.cpp @@ -180,7 +180,7 @@ void Shadow::reset() { z_half_range = (z_far - z_near) * 0.5f; } -// 0x00000001405E5A90 +// 0x1405E5A90 void Shadow::set_curr_render_textures(int32_t index[2]) { if (index) { index[0] = this->index[0]; diff --git a/src/CRE/sss.cpp b/src/CRE/sss.cpp index 336e9f7b..c14f4aa5 100644 --- a/src/CRE/sss.cpp +++ b/src/CRE/sss.cpp @@ -35,7 +35,7 @@ sss_data::~sss_data() { } -// 0x00000001406411E0 +// 0x1406411E0 void sss_data::apply_filter(struct render_data_context& rend_data_ctx) { render_context* rctx = rctx_ptr; @@ -91,14 +91,14 @@ void sss_data::apply_filter(struct render_data_context& rend_data_ctx) { rend_data_ctx.state.bind_texture_2d(0); } -// 0x0000000140641920 +// 0x140641920 void sss_data::free() { if (init_data) for (RenderTexture& i : textures) i.Free(); } -// 0x0000000140641890 +// 0x140641890 void sss_data::init() { if (init_data) return; @@ -165,13 +165,13 @@ void sss_data::pre_proc(const struct cam_data& cam) { } } -// 0x0000000140641B40 +// 0x140641B40 void sss_data::reset(struct render_data_context& rend_data_ctx) { if (init_data) rend_data_ctx.state.bind_framebuffer(0); } -// 0x0000000140641060 +// 0x140641060 bool sss_data::set(struct render_data_context& rend_data_ctx) { if (!init_data) return false; @@ -233,13 +233,13 @@ bool sss_data::set(struct render_data_context& rend_data_ctx, RenderTexture& rt) return true; } -// 0x0000000140641190 +// 0x140641190 void sss_data::set_texture(p_gl_rend_state& p_gl_rend_st, int32_t texture_index) { p_gl_rend_st.active_bind_texture_2d(16, textures[texture_index].GetColorTex()); p_gl_rend_st.active_texture(0); } -// 0x0000000140641B80 +// 0x140641B80 static void sss_calc_coef(const double_t step, const int32_t size, const double_t inverse_scale, const int32_t iterations, const double_t* weights, const double_t* r_radius, const double_t* g_radius, const double_t* b_radius, vec4 coef[64]) { @@ -276,7 +276,7 @@ static void sss_calc_coef(const double_t step, const int32_t size, } } -// 0x0000000140641960 +// 0x140641960 static void sss_draw_quad(render_data_context& rend_data_ctx, int32_t width, int32_t height, float_t s, float_t t, float_t param_x, float_t param_y, float_t param_z, float_t param_w) {