diff --git a/src/DivaGL/auth_2d.cpp b/src/DivaGL/auth_2d.cpp index fe3ca50..f9ffa9b 100644 --- a/src/DivaGL/auth_2d.cpp +++ b/src/DivaGL/auth_2d.cpp @@ -48,11 +48,11 @@ struct aet_layer { struct AetSet; struct AetSet_vtbl { - AetSet* (__fastcall* Dispose)(AetSet* _this, uint8_t flags); - void(__fastcall* ReadFile)(AetSet* _this, const char* file_path); - bool(__fastcall* LoadFile)(AetSet* _this); - void(__fastcall* Unload)(AetSet* _this); - bool(__fastcall* Load)(AetSet* _this); + AetSet* (__fastcall* Dispose)(AetSet* This, uint8_t flags); + void(__fastcall* ReadFile)(AetSet* This, const char* file_path); + bool(__fastcall* LoadFile)(AetSet* This); + void(__fastcall* Unload)(AetSet* This); + bool(__fastcall* Load)(AetSet* This); }; struct AetSet { @@ -69,39 +69,39 @@ struct AetSet { struct AetObj; struct AetObj_vtbl { - AetObj*(FASTCALL * Dispose)(AetObj* _this, uint8_t flags); - void(FASTCALL* Init)(AetObj* _this, AetArgs* init_data, aet_scene* scene, aet_comp* comp, + AetObj*(FASTCALL * Dispose)(AetObj* This, uint8_t flags); + void(FASTCALL* Init)(AetObj* This, AetArgs* init_data, aet_scene* scene, aet_comp* comp, aet_layer* layer, aet_marker* start_marker, aet_marker* end_marker, resolution_mode mode); - void(FASTCALL* Ctrl)(AetObj* _this); - void(FASTCALL* Disp)(AetObj* _this); - bool(FASTCALL* StepFrame)(AetObj* _this); - void(FASTCALL* SetPlay)(AetObj* _this, bool value); - void(FASTCALL* SetVisible)(AetObj* _this, bool value); - void(FASTCALL* SetPosition)(AetObj* _this, vec3* value); - void(FASTCALL* SetScale)(AetObj* _this, vec3* value); - void(FASTCALL* SetRotation)(AetObj* _this, vec3* value); - void(FASTCALL* SetAlpha)(AetObj* _this, float_t value); - void(FASTCALL* SetSpriteReplace)(AetObj* _this, prj::map& value); - void(FASTCALL* SetSpriteTexture)(AetObj* _this, prj::map& value); - void(FASTCALL* SetSpriteDiscard)(AetObj* _this, prj::map& value); - void(FASTCALL* SetColor)(AetObj* _this, vec4* value); - void(FASTCALL* SetEndTime)(AetObj* _this, float_t value); - void(FASTCALL* SetFrame)(AetObj* _this, float_t value); - void(FASTCALL* SetPrio)(AetObj* _this, spr::SprPrio value); - aet_info(FASTCALL* GetInfo)(AetObj* _this); - bool(FASTCALL* GetPlay)(AetObj* _this); - bool(FASTCALL* GetVisible)(AetObj* _this); - float_t(FASTCALL* GetFrame)(AetObj* _this); - bool(FASTCALL* GetEnd)(AetObj* _this); - void(FASTCALL* CtrlComp)(AetObj* _this, aet_comp* comp, float_t frame); - void(FASTCALL* DispComp)(AetObj* _this, mat4* mat, aet_comp* comp, float_t frame, float_t opacity); - void(FASTCALL* CtrlLayer)(AetObj* _this, aet_layer* layer, float_t frame); - void(FASTCALL* DispLayer)(AetObj* _this, mat4* mat, aet_layer* layer, float_t frame, float_t opacity); - void(FASTCALL* DispVideo)(AetObj* _this, mat4* mat, aet_layer* layer, float_t frame, float_t opacity); - void(FASTCALL* DispSprite)(AetObj* _this, mat4* mat, aet_layer* layer, float_t opacity); - void(FASTCALL* DispSpriteSource)(AetObj* _this, mat4* mat, + void(FASTCALL* Ctrl)(AetObj* This); + void(FASTCALL* Disp)(AetObj* This); + bool(FASTCALL* StepFrame)(AetObj* This); + void(FASTCALL* SetPlay)(AetObj* This, bool value); + void(FASTCALL* SetVisible)(AetObj* This, bool value); + void(FASTCALL* SetPosition)(AetObj* This, const vec3& value); + void(FASTCALL* SetScale)(AetObj* This, const vec3& value); + void(FASTCALL* SetRotation)(AetObj* This, const vec3& value); + void(FASTCALL* SetAlpha)(AetObj* This, float_t value); + void(FASTCALL* SetSpriteReplace)(AetObj* This, prj::map& value); + void(FASTCALL* SetSpriteTexture)(AetObj* This, prj::map& value); + void(FASTCALL* SetSpriteDiscard)(AetObj* This, prj::map& value); + void(FASTCALL* SetColor)(AetObj* This, const vec4& value); + void(FASTCALL* SetEndTime)(AetObj* This, float_t value); + void(FASTCALL* SetFrame)(AetObj* This, float_t value); + void(FASTCALL* SetPrio)(AetObj* This, spr::SprPrio value); + aet_info(FASTCALL* GetInfo)(AetObj* This); + bool(FASTCALL* GetPlay)(AetObj* This); + bool(FASTCALL* GetVisible)(AetObj* This); + float_t(FASTCALL* GetFrame)(AetObj* This); + bool(FASTCALL* GetEnd)(AetObj* This); + void(FASTCALL* CtrlComp)(AetObj* This, aet_comp* comp, float_t frame); + void(FASTCALL* DispComp)(AetObj* This, mat4* mat, aet_comp* comp, float_t frame, float_t opacity); + void(FASTCALL* CtrlLayer)(AetObj* This, aet_layer* layer, float_t frame); + void(FASTCALL* DispLayer)(AetObj* This, mat4* mat, aet_layer* layer, float_t frame, float_t opacity); + void(FASTCALL* DispVideo)(AetObj* This, mat4* mat, aet_layer* layer, float_t frame, float_t opacity); + void(FASTCALL* DispSprite)(AetObj* This, mat4* mat, aet_layer* layer, float_t opacity); + void(FASTCALL* DispSpriteSource)(AetObj* This, mat4* mat, aet_layer* layer, uint32_t source_index, float_t opacity); - void(FASTCALL* CalcMat)(AetObj* _this, mat4* mat, aet_layer* layer, float_t frame); + void(FASTCALL* CalcMat)(AetObj* This, mat4* mat, aet_layer* layer, float_t frame); }; struct AetObj { @@ -150,8 +150,8 @@ public: prj::list::iterator> free_objects; uint32_t load_counter; - AetObj* get_obj(uint32_t id); - void set_obj_frame_rate_control(uint32_t id, FrameRateControl* value); + AetObj* GetObj(uint32_t id); + void SetObjFrameRateControl(uint32_t id, FrameRateControl* value); }; void (FASTCALL* aet_manager_unload_set)(int32_t set_id) @@ -289,22 +289,22 @@ int32_t aet_database_get_aet_set_id_by_name(const prj::string& name) { } void aet_manager_set_obj_frame_rate_control(uint32_t id, FrameRateControl* value) { - aet_manager.set_obj_frame_rate_control(id, value); + aet_manager.SetObjFrameRateControl(id, value); } void AetObj::SetFrameRateControl(FrameRateControl* value) { frame_rate_control = value; } -AetObj* AetMgr::get_obj(uint32_t id) { +AetObj* AetMgr::GetObj(uint32_t id) { auto elem = objects.find(id); if (elem != objects.end()) return &elem->second; return 0; } -void AetMgr::set_obj_frame_rate_control(uint32_t id, FrameRateControl* value) { - AetObj* obj = get_obj(id); +void AetMgr::SetObjFrameRateControl(uint32_t id, FrameRateControl* value) { + AetObj* obj = GetObj(id); if (obj) obj->SetFrameRateControl(value); } diff --git a/src/DivaGL/auth_3d.cpp b/src/DivaGL/auth_3d.cpp index 65b1645..046a7df 100644 --- a/src/DivaGL/auth_3d.cpp +++ b/src/DivaGL/auth_3d.cpp @@ -607,11 +607,11 @@ static bool auth_3d_material_list_parse(auth_3d_material_list* ml, struc_8* a2, static void auth_3d_set_material_list(auth_3d* auth); auth_3d_id::auth_3d_id(int32_t uid) : id() { - ((auth_3d_id * (FASTCALL*)(auth_3d_id * _this, int32_t uid))0x00000001401CDC80)(this, uid); + ((auth_3d_id * (FASTCALL*)(auth_3d_id * This, int32_t uid))0x00000001401CDC80)(this, uid); } auth_3d_id::auth_3d_id(const char* name) : id() { - ((auth_3d_id * (FASTCALL*)(auth_3d_id * _this, int32_t uid))0x00000001401CDC80)( + ((auth_3d_id * (FASTCALL*)(auth_3d_id * This, int32_t uid))0x00000001401CDC80)( this, auth_3d_data_get_uid_by_name(name)); } @@ -773,7 +773,7 @@ int32_t auth_3d_id::get_uid() { } void auth_3d_id::read_file() { - ((void (FASTCALL*)(auth_3d_id * _this))0x00000001401E0F80)(this); + ((void (FASTCALL*)(auth_3d_id * This))0x00000001401E0F80)(this); } void auth_3d_id::set_alpha_obj_flags(float_t alpha, mdl::ObjFlags obj_flags) { @@ -922,7 +922,7 @@ void auth_3d_id::set_visibility(bool value) { } void auth_3d_id::unload() { - ((void (FASTCALL*)(auth_3d_id * _this))0x00000001401D0190)(this); + ((void (FASTCALL*)(auth_3d_id * This))0x00000001401D0190)(this); } int32_t auth_3d_data_get_auth_3d_id(uint32_t uid, object_info obj_info, diff --git a/src/DivaGL/canonical_properties.cpp b/src/DivaGL/canonical_properties.cpp index 4ed339e..5588054 100644 --- a/src/DivaGL/canonical_properties.cpp +++ b/src/DivaGL/canonical_properties.cpp @@ -21,8 +21,8 @@ void CanonicalProperties::Clear() { } prj::string_range* CanonicalProperties::GetValue(const prj::string_range& key) { - prj::string_range* (FASTCALL * CanonicalProperties__GetValueStringRange)(CanonicalProperties * _this, const prj::string_range * key) - = (prj::string_range * (FASTCALL*)(CanonicalProperties * _this, const prj::string_range * key))0x00000001400AE4F0; + prj::string_range* (FASTCALL * CanonicalProperties__GetValueStringRange)(CanonicalProperties * This, const prj::string_range * key) + = (prj::string_range * (FASTCALL*)(CanonicalProperties * This, const prj::string_range * key))0x00000001400AE4F0; return CanonicalProperties__GetValueStringRange(this, &key); } @@ -63,28 +63,28 @@ prj::string CanonicalProperties::GetValueString(const prj::string_range& key) { void CanonicalProperties::Parse(const char* str, size_t size) { void(FASTCALL * CanonicalProperties__ParseCharPtrLength)( - CanonicalProperties * _this, const char* str, size_t size) - = (void(FASTCALL*)(CanonicalProperties * _this, const char* str, size_t size))0x00000001400B52C0; + CanonicalProperties * This, const char* str, size_t size) + = (void(FASTCALL*)(CanonicalProperties * This, const char* str, size_t size))0x00000001400B52C0; CanonicalProperties__ParseCharPtrLength(this, str, size); } void CanonicalProperties::Parse(const prj::string_range& data) { void(FASTCALL * CanonicalProperties__ParseStringRange)( - CanonicalProperties * _this, const prj::string_range * data) - = (void(FASTCALL*)(CanonicalProperties * _this, const prj::string_range * data))0x000000014008E710; + CanonicalProperties * This, const prj::string_range * data) + = (void(FASTCALL*)(CanonicalProperties * This, const prj::string_range * data))0x000000014008E710; CanonicalProperties__ParseStringRange(this, &data); } void CanonicalProperties::ParseEscapeSeq(const char* str, size_t size) { void(FASTCALL * CanonicalProperties__ParseCharPtrLengthEscapeSeq)( - CanonicalProperties * _this, const char* str, size_t size) - = (void(FASTCALL*)(CanonicalProperties * _this, const char* str, size_t size))0x00000001400B5020; + CanonicalProperties * This, const char* str, size_t size) + = (void(FASTCALL*)(CanonicalProperties * This, const char* str, size_t size))0x00000001400B5020; CanonicalProperties__ParseCharPtrLengthEscapeSeq(this, str, size); } void CanonicalProperties::ParseEscapeSeq(const prj::string_range& data) { void(FASTCALL * CanonicalProperties__ParseStringRangeEscapeSeq)( - CanonicalProperties * _this, const prj::string_range * data) - = (void(FASTCALL*)(CanonicalProperties * _this, const prj::string_range * data))0x000000014008E5A0; + CanonicalProperties * This, const prj::string_range * data) + = (void(FASTCALL*)(CanonicalProperties * This, const prj::string_range * data))0x000000014008E5A0; CanonicalProperties__ParseStringRangeEscapeSeq(this, &data); } diff --git a/src/DivaGL/graphics/color_change_dw.cpp b/src/DivaGL/graphics/color_change_dw.cpp index 9c58a55..0c2e2e8 100644 --- a/src/DivaGL/graphics/color_change_dw.cpp +++ b/src/DivaGL/graphics/color_change_dw.cpp @@ -70,22 +70,22 @@ ColorChangeDw*& color_change_dw = *(ColorChangeDw**)0x000000014118FF00; prj::vector>* color_change_dw_textures; // Added -HOOK(void, FASTCALL, ColorChangeDw__ReloadData, 0x00000001402C20B0, ColorChangeDw* _this) { - _this->ReloadData(); +HOOK(void, FASTCALL, ColorChangeDw__ReloadData, 0x00000001402C20B0, ColorChangeDw* This) { + This->ReloadData(); } -HOOK(void, FASTCALL, ColorChangeDw__Draw, 0x00000001402C2170, ColorChangeDw* _this) { - _this->UpdateData(); +HOOK(void, FASTCALL, ColorChangeDw__Draw, 0x00000001402C2170, ColorChangeDw* This) { + This->UpdateData(); - void (FASTCALL * ColorChangeDw__UpdateTextureInfo)(ColorChangeDw * _this) - = (void (FASTCALL*)(ColorChangeDw * _this))0x00000001402C2C60; - ColorChangeDw__UpdateTextureInfo(_this); + void (FASTCALL * ColorChangeDw__UpdateTextureInfo)(ColorChangeDw * This) + = (void (FASTCALL*)(ColorChangeDw * This))0x00000001402C2C60; + ColorChangeDw__UpdateTextureInfo(This); - _this->GetSetColorTone(); + This->GetSetColorTone(); - ::texture* org_tex = _this->GetOrgTex(); - ::texture* chg_tex = _this->GetChgTex(); - ::color_tone* col_tone = _this->GetColorTone(); + ::texture* org_tex = This->GetOrgTex(); + ::texture* chg_tex = This->GetChgTex(); + ::color_tone* col_tone = This->GetColorTone(); //if (org_tex && chg_tex && col_tone) // texture_apply_color_tone(org_tex, chg_tex, col_tone); @@ -96,7 +96,7 @@ HOOK(void, FASTCALL, ColorChangeDw__Draw, 0x00000001402C2170, ColorChangeDw* _th && chg_tex->width == org_tex->width && chg_tex->height == org_tex->height && chg_tex->max_mipmap_level == org_tex->max_mipmap_level) { - prj::vector& vec_data = color_change_dw_textures->data()[_this->color_change_index]; + prj::vector& vec_data = color_change_dw_textures->data()[This->color_change_index]; for (int32_t i = 0; i <= org_tex->max_mipmap_level; i++) { int32_t size = org_tex->get_size_mip_level(i); @@ -139,11 +139,11 @@ HOOK(void, FASTCALL, ColorChangeDw__Draw, 0x00000001402C2170, ColorChangeDw* _th gl_state_bind_texture_2d(0); } - if (_this->show) { + if (This->show) { if (org_tex) { spr::SprArgs args; args.texture = org_tex; - if (_this->auto_resize) + if (This->auto_resize) args.SetSpriteSize({ 256.0f, 256.0f }); spr::put_sprite(&args); } @@ -152,7 +152,7 @@ HOOK(void, FASTCALL, ColorChangeDw__Draw, 0x00000001402C2170, ColorChangeDw* _th spr::SprArgs args; args.texture = chg_tex; args.trans.x = (float_t)chg_tex->width; - if (_this->auto_resize) { + if (This->auto_resize) { args.SetSpriteSize({ 256.0f, 256.0f }); args.trans.x = 266.0f; } @@ -160,11 +160,11 @@ HOOK(void, FASTCALL, ColorChangeDw__Draw, 0x00000001402C2170, ColorChangeDw* _th } } - _this->dw::Shell::Draw(); + This->dw::Shell::Draw(); } -HOOK(void, FASTCALL, ColorChangeDw__ResetData, 0x00000001402C4130, ColorChangeDw* _this) { - _this->ResetData(); +HOOK(void, FASTCALL, ColorChangeDw__ResetData, 0x00000001402C4130, ColorChangeDw* This) { + This->ResetData(); } void color_change_dw_patch() { diff --git a/src/DivaGL/print_work.cpp b/src/DivaGL/print_work.cpp index ed0c6c6..d947b9e 100644 --- a/src/DivaGL/print_work.cpp +++ b/src/DivaGL/print_work.cpp @@ -20,15 +20,15 @@ font_char::font_char() : glyph_offset(), glyph_width(), field_18() { font_info::font_info() : font_ptr(), type() { font_handler_index = -1; - static font_info* (FASTCALL * font_info__font_info)(font_info * _this) - = (font_info * (FASTCALL*)(font_info * _this))0x00000001401965C0; + static font_info* (FASTCALL * font_info__font_info)(font_info * This) + = (font_info * (FASTCALL*)(font_info * This))0x00000001401965C0; font_info__font_info(this); } font_info::font_info(int32_t font_handler_index) : font_ptr(), type() { this->font_handler_index = -1; - static font_info* (FASTCALL * font_info__font_info)(font_info * _this, int32_t font_handler_index) - = (font_info * (FASTCALL*)(font_info * _this, int32_t font_handler_index))0x0000000140196510; + static font_info* (FASTCALL * font_info__font_info)(font_info * This, int32_t font_handler_index) + = (font_info * (FASTCALL*)(font_info * This, int32_t font_handler_index))0x0000000140196510; font_info__font_info(this, font_handler_index); } @@ -254,8 +254,8 @@ vec2 PrintWork::GetStringSize(const wchar_t* str_begin, const wchar_t* str_end) } vec2 PrintWork::GetTextSize(const wchar_t* str, size_t length) { - vec2* (FASTCALL * PrintWork__GetTextSize)(PrintWork * _this, vec2 * size, const prj::wstring_range& str) - = (vec2 * (FASTCALL*)(PrintWork * _this, vec2 * size, const prj::wstring_range & str))0x000000014019A0A0; + vec2* (FASTCALL * PrintWork__GetTextSize)(PrintWork * This, vec2 * size, const prj::wstring_range& str) + = (vec2 * (FASTCALL*)(PrintWork * This, vec2 * size, const prj::wstring_range & str))0x000000014019A0A0; vec2 size; return *PrintWork__GetTextSize(this, &size, prj::wstring_range(str, length)); @@ -300,9 +300,9 @@ void PrintWork::PrintText(app::text_flags flags, const char* str, size_t length) } void PrintWork::PrintText(app::text_flags flags, const wchar_t* str_begin, const wchar_t* str_end) { - void (FASTCALL * PrintWork__PrintText)(PrintWork * _this, + void (FASTCALL * PrintWork__PrintText)(PrintWork * This, app::text_flags flags, const prj::wstring_range& str) - = (void (FASTCALL*)(PrintWork * _this, + = (void (FASTCALL*)(PrintWork * This, app::text_flags flags, const prj::wstring_range & str))0x0000000140198380; PrintWork__PrintText(this, flags, prj::wstring_range(str_begin, str_end)); } diff --git a/src/DivaGL/rob/rob.cpp b/src/DivaGL/rob/rob.cpp index 6781da7..91daadf 100644 --- a/src/DivaGL/rob/rob.cpp +++ b/src/DivaGL/rob/rob.cpp @@ -299,8 +299,8 @@ bone_node* rob_chara_item_equip_object::get_bone_node(const char* name) { } void rob_chara_item_equip_object::skp_load(void* can_prop) { - void (FASTCALL * rob_chara_item_equip_object__skp_load)(rob_chara_item_equip_object * _this, void* can_prop) - = (void (FASTCALL*)(rob_chara_item_equip_object * _this, void* can_prop))0x00000001405F43E0; + void (FASTCALL * rob_chara_item_equip_object__skp_load)(rob_chara_item_equip_object * This, void* can_prop) + = (void (FASTCALL*)(rob_chara_item_equip_object * This, void* can_prop))0x00000001405F43E0; rob_chara_item_equip_object__skp_load(this, can_prop); } diff --git a/src/DivaGL/rob/rob.hpp b/src/DivaGL/rob/rob.hpp index 28e838a..94a5ce9 100644 --- a/src/DivaGL/rob/rob.hpp +++ b/src/DivaGL/rob/rob.hpp @@ -883,18 +883,18 @@ struct rob_chara_item_equip_object; class ExNodeBlock; struct ExNodeBlock_vtbl { - ExNodeBlock* (FASTCALL* Dispose)(ExNodeBlock* _this, uint8_t); - void(FASTCALL* Field_8)(ExNodeBlock* _this); - void(FASTCALL* Field_10)(ExNodeBlock* _this); - void(FASTCALL* Field_18)(ExNodeBlock* _this, int32_t stage, bool disable_external_force); - void(FASTCALL* Field_20)(ExNodeBlock* _this); - void(FASTCALL* SetOsagePlayData)(ExNodeBlock* _this); - void(FASTCALL* Disp)(ExNodeBlock* _this); - void(FASTCALL* Reset)(ExNodeBlock* _this); - void(FASTCALL* Field_40)(ExNodeBlock* _this); - void(FASTCALL* Field_48)(ExNodeBlock* _this); - void(FASTCALL* Field_50)(ExNodeBlock* _this); - void(FASTCALL* Field_58)(ExNodeBlock* _this); + ExNodeBlock* (FASTCALL* Dispose)(ExNodeBlock* This, uint8_t); + void(FASTCALL* Field_8)(ExNodeBlock* This); + void(FASTCALL* Field_10)(ExNodeBlock* This); + void(FASTCALL* Field_18)(ExNodeBlock* This, int32_t stage, bool disable_external_force); + void(FASTCALL* Field_20)(ExNodeBlock* This); + void(FASTCALL* SetOsagePlayData)(ExNodeBlock* This); + void(FASTCALL* Disp)(ExNodeBlock* This); + void(FASTCALL* Reset)(ExNodeBlock* This); + void(FASTCALL* Field_40)(ExNodeBlock* This); + void(FASTCALL* Field_48)(ExNodeBlock* This); + void(FASTCALL* Field_50)(ExNodeBlock* This); + void(FASTCALL* Field_58)(ExNodeBlock* This); }; static_assert(sizeof(ExNodeBlock_vtbl) == 0x60, "\"ExNodeBlock_vtbl\" struct should have a size of 0x60"); @@ -1173,18 +1173,18 @@ static_assert(sizeof(struc_341) == 0x18, "\"struc_341\" struct should have a siz class CLOTH; struct CLOTH_vtbl { - CLOTH* (FASTCALL* Dispose)(CLOTH* _this, uint8_t); - void(FASTCALL* Field_8)(CLOTH* _this); - void(FASTCALL* Field_10)(CLOTH* _this); - void(FASTCALL* Field_18)(CLOTH* _this, int32_t stage, bool disable_external_force); - void(FASTCALL* Field_20)(CLOTH* _this); - void(FASTCALL* SetOsagePlayData)(CLOTH* _this); - void(FASTCALL* Disp)(CLOTH* _this); - void(FASTCALL* Reset)(CLOTH* _this); - void(FASTCALL* Field_40)(CLOTH* _this); - void(FASTCALL* Field_48)(CLOTH* _this); - void(FASTCALL* Field_50)(CLOTH* _this); - void(FASTCALL* Field_58)(CLOTH* _this); + CLOTH* (FASTCALL* Dispose)(CLOTH* This, uint8_t); + void(FASTCALL* Field_8)(CLOTH* This); + void(FASTCALL* Field_10)(CLOTH* This); + void(FASTCALL* Field_18)(CLOTH* This, int32_t stage, bool disable_external_force); + void(FASTCALL* Field_20)(CLOTH* This); + void(FASTCALL* SetOsagePlayData)(CLOTH* This); + void(FASTCALL* Disp)(CLOTH* This); + void(FASTCALL* Reset)(CLOTH* This); + void(FASTCALL* Field_40)(CLOTH* This); + void(FASTCALL* Field_48)(CLOTH* This); + void(FASTCALL* Field_50)(CLOTH* This); + void(FASTCALL* Field_58)(CLOTH* This); }; static_assert(sizeof(CLOTH_vtbl) == 0x60, "\"CLOTH_vtbl\" struct should have a size of 0x60");