From 57521520fd8378653d4bedb03afe576c57b62163 Mon Sep 17 00:00:00 2001 From: elijah-thomas774 Date: Thu, 20 Nov 2025 01:45:28 -0500 Subject: [PATCH] OK --- .../SOUE01/rels/d_a_npc_ce_friendNP/symbols.txt | 2 +- config/SOUE01/rels/d_a_npc_ce_ladyNP/symbols.txt | 2 +- config/SOUE01/rels/d_a_obj_barrelNP/symbols.txt | 12 ++++++------ config/SOUE01/symbols.txt | 4 ++-- configure.py | 2 +- src/REL/d/a/obj/d_a_obj_barrel.cpp | 15 ++++++++++++--- 6 files changed, 23 insertions(+), 14 deletions(-) diff --git a/config/SOUE01/rels/d_a_npc_ce_friendNP/symbols.txt b/config/SOUE01/rels/d_a_npc_ce_friendNP/symbols.txt index c89916cd..bd1e4fba 100644 --- a/config/SOUE01/rels/d_a_npc_ce_friendNP/symbols.txt +++ b/config/SOUE01/rels/d_a_npc_ce_friendNP/symbols.txt @@ -87,7 +87,7 @@ fn_11_27D0 = .text:0x000027D0; // type:function size:0xCC fn_11_28A0 = .text:0x000028A0; // type:function size:0x8 fn_11_28B0 = .text:0x000028B0; // type:function size:0xD4 fn_11_2990 = .text:0x00002990; // type:function size:0xB0 -fn_11_2A40 = .text:0x00002A40; // type:function size:0x4C +fn_11_2A40__16dAcNpcCeFriend_cFv = .text:0x00002A40; // type:function size:0x4C fn_11_2A90 = .text:0x00002A90; // type:function size:0x4B8 fn_11_2F50 = .text:0x00002F50; // type:function size:0x1C fn_11_2F70 = .text:0x00002F70; // type:function size:0x184 diff --git a/config/SOUE01/rels/d_a_npc_ce_ladyNP/symbols.txt b/config/SOUE01/rels/d_a_npc_ce_ladyNP/symbols.txt index 67fda575..77c83eca 100644 --- a/config/SOUE01/rels/d_a_npc_ce_ladyNP/symbols.txt +++ b/config/SOUE01/rels/d_a_npc_ce_ladyNP/symbols.txt @@ -77,7 +77,7 @@ fn_12_1A20 = .text:0x00001A20; // type:function size:0x1FC fn_12_1C20__14dAcNpcCeLady_cFP12dAcObjBase_c = .text:0x00001C20; // type:function size:0x68 fn_12_1C90 = .text:0x00001C90; // type:function size:0x164 fn_12_1E00__14dAcNpcCeLady_cFP12dAcObjBase_cPb = .text:0x00001E00; // type:function size:0x80 -fn_12_1E80 = .text:0x00001E80; // type:function size:0x9C +fn_12_1E80__14dAcNpcCeLady_cFP12dAcObjBase_cPb = .text:0x00001E80; // type:function size:0x9C fn_12_1F20 = .text:0x00001F20; // type:function size:0xF0 fn_12_2010 = .text:0x00002010; // type:function size:0x3C fn_12_2050 = .text:0x00002050; // type:function size:0xD4 diff --git a/config/SOUE01/rels/d_a_obj_barrelNP/symbols.txt b/config/SOUE01/rels/d_a_obj_barrelNP/symbols.txt index 4f507ddd..ed976671 100644 --- a/config/SOUE01/rels/d_a_obj_barrelNP/symbols.txt +++ b/config/SOUE01/rels/d_a_obj_barrelNP/symbols.txt @@ -30,7 +30,7 @@ executeState_Grab__12dAcOBarrel_cFv = .text:0x000018D0; // type:function size:0x finalizeState_Grab__12dAcOBarrel_cFv = .text:0x000019A0; // type:function size:0x74 initializeState_GrabUp__12dAcOBarrel_cFv = .text:0x00001A20; // type:function size:0x384 executeState_GrabUp__12dAcOBarrel_cFv = .text:0x00001DB0; // type:function size:0x1B4 -fn_293_1F70 = .text:0x00001F70; // type:function size:0x1C +calcTimer__4sLibFPUc_Uc = .text:0x00001F70; // type:function size:0x1C finalizeState_GrabUp__12dAcOBarrel_cFv = .text:0x00001F90; // type:function size:0x24 initializeState_GrabPut__12dAcOBarrel_cFv = .text:0x00001FC0; // type:function size:0x11C executeState_GrabPut__12dAcOBarrel_cFv = .text:0x000020E0; // type:function size:0xB0 @@ -64,17 +64,17 @@ fn_293_4200__12dAcOBarrel_cFv = .text:0x00004200; // type:function size:0x39C fn_293_45A0__12dAcOBarrel_cFv = .text:0x000045A0; // type:function size:0x4E4 fn_293_4A90__12dAcOBarrel_cFRC4mAng = .text:0x00004A90; // type:function size:0x12C fn_293_4BC0__12dAcOBarrel_cFv = .text:0x00004BC0; // type:function size:0x58 -fn_293_4C20 = .text:0x00004C20; // type:function size:0x40 +fn_293_4C20__12dAcOBarrel_cCFv = .text:0x00004C20; // type:function size:0x40 fn_293_4C60__12dAcOBarrel_cFv = .text:0x00004C60; // type:function size:0x78 -fn_293_4CE0 = .text:0x00004CE0; // type:function size:0x1C +fn_293_4CE0__12dAcOBarrel_cCFv = .text:0x00004CE0; // type:function size:0x1C fn_293_4D00__12dAcOBarrel_cFv = .text:0x00004D00; // type:function size:0x1C4 -fn_293_4ED0__12dAcOBarrel_cFv = .text:0x00004ED0; // type:function size:0xA8 +fn_293_4ED0__12dAcOBarrel_cCFv = .text:0x00004ED0; // type:function size:0xA8 fn_293_4F80__12dAcOBarrel_cFv = .text:0x00004F80; // type:function size:0x130 fn_293_50B0__12dAcOBarrel_cFv = .text:0x000050B0; // type:function size:0x98 fn_293_5150__12dAcOBarrel_cFv = .text:0x00005150; // type:function size:0x208 fn_293_5360__12dAcOBarrel_cFv = .text:0x00005360; // type:function size:0xDC -fn_293_5440 = .text:0x00005440; // type:function size:0x8C -fn_293_54D0 = .text:0x000054D0; // type:function size:0x380 +fn_293_5440__12dAcOBarrel_cFv = .text:0x00005440; // type:function size:0x8C +fn_293_54D0__12dAcOBarrel_cFv = .text:0x000054D0; // type:function size:0x380 fn_293_5850__12dAcOBarrel_cFPfb = .text:0x00005850; // type:function size:0x70 fn_293_58C0__12dAcOBarrel_cFv = .text:0x000058C0; // type:function size:0x50 fn_293_5910__12dAcOBarrel_cFv = .text:0x00005910; // type:function size:0xC0 diff --git a/config/SOUE01/symbols.txt b/config/SOUE01/symbols.txt index 4e0f2986..eb06c722 100644 --- a/config/SOUE01/symbols.txt +++ b/config/SOUE01/symbols.txt @@ -1141,7 +1141,7 @@ drawShadow__12dAcObjBase_cFRQ23m3d15mShadowCircle_cPvRC6mMtx_cPC7mQuat_clllllf = actorSpawnAtActor2 = .text:0x8002EF40; // type:function size:0x24 fn_8002EF70 = .text:0x8002EF70; // type:function size:0x28 fn_8002EFA0 = .text:0x8002EFA0; // type:function size:0x50 -fn_8002EFF0 = .text:0x8002EFF0; // type:function size:0x194 +fn_8002eff0__12dAcObjBase_cFRCfRCsP8cCcD_ObjRCfRCf = .text:0x8002EFF0; // type:function size:0x194 fn_8002F190 = .text:0x8002F190; // type:function size:0x24 createActorUnkGroup3__12dAcObjBase_cFQ28fProfile14PROFILE_NAME_eUlUlP7mVec3_cP7mAng3_cP7mVec3_cUl = .text:0x8002F1C0; // type:function size:0x98 createActorUnkGroup3__12dAcObjBase_cFPCcUlUlPC7mVec3_cPC7mAng3_cPC7mVec3_cUlUsSc = .text:0x8002F260; // type:function size:0xA0 @@ -3579,7 +3579,7 @@ fn_800A0290 = .text:0x800A0290; // type:function size:0x38 fn_800A02D0 = .text:0x800A02D0; // type:function size:0x4 processEventFlags = .text:0x800A02E0; // type:function size:0x268 fn_800A0550 = .text:0x800A0550; // type:function size:0x14 -fn_800A0570 = .text:0x800A0570; // type:function size:0x78 +FUN_800a0570__12EventManagerFPC9dAcBase_c = .text:0x800A0570; // type:function size:0x78 fn_800A05F0 = .text:0x800A05F0; // type:function size:0x50 fn_800A0640 = .text:0x800A0640; // type:function size:0x18 fn_800A0660 = .text:0x800A0660; // type:function size:0x18 diff --git a/configure.py b/configure.py index d27a75cf..8fb8fd60 100644 --- a/configure.py +++ b/configure.py @@ -2366,7 +2366,7 @@ config.libs = [ ), Rel(NonMatching, "d_a_obj_bamboo", "REL/d/a/obj/d_a_obj_bamboo.cpp"), Rel(Matching, "d_a_obj_bamboo_island", "REL/d/a/obj/d_a_obj_bamboo_island.cpp"), - Rel(NonMatching, "d_a_obj_barrel", "REL/d/a/obj/d_a_obj_barrel.cpp"), + Rel(Matching, "d_a_obj_barrel", "REL/d/a/obj/d_a_obj_barrel.cpp"), Rel(NonMatching, "d_a_obj_bblargebomb", "REL/d/a/obj/d_a_obj_bblargebomb.cpp"), Rel(NonMatching, "d_a_obj_bbstone", "REL/d/a/obj/d_a_obj_bbstone.cpp"), Rel(NonMatching, "d_a_obj_bb_bridge", "REL/d/a/obj/d_a_obj_bb_bridge.cpp"), diff --git a/src/REL/d/a/obj/d_a_obj_barrel.cpp b/src/REL/d/a/obj/d_a_obj_barrel.cpp index c93d7ca5..c93eb553 100644 --- a/src/REL/d/a/obj/d_a_obj_barrel.cpp +++ b/src/REL/d/a/obj/d_a_obj_barrel.cpp @@ -1065,7 +1065,7 @@ void dAcOBarrel_c::fn_293_4200() { dAcNpcCeLady_c *pCeLady = mCeLady.get(); bool b = true; if (pCeLady) { - pCeLady->fn_12_1E00(this, &b); + pCeLady->fn_12_1E80(this, &b); } if (!b) { return; @@ -1391,12 +1391,15 @@ void dAcOBarrel_c::fn_293_54D0() { } } +// FAKEMATCH ?? inline f32 some_calc(f32 acc, f32 gnd, f32 pos) { f32 a = (gnd - pos); return nw4r::math::FAbs(acc) * a; } void dAcOBarrel_c::fn_293_5850(f32 *pMult, bool reduceY) { - field_0xDE0 = some_calc(mAcceleration, mObjAcch.GetWtrGroundH(), mPosition.y) / 50.f; + f32 pos = mPosition.y; + f32 gnd = mObjAcch.GetWtrGroundH(); + field_0xDE0 = some_calc(mAcceleration, gnd, pos) / 50.f; mSpeed *= 0.93f; @@ -1413,7 +1416,7 @@ void dAcOBarrel_c::fn_293_58C0() { } void dAcOBarrel_c::fn_293_5910() { - static mVec3_c scale(1.f, 1.f, 1.f); + static mVec3_c scale(1.5f, 1.5f, 1.5f); if (fn_293_4C20()) { return; @@ -1422,3 +1425,9 @@ void dAcOBarrel_c::fn_293_5910() { mEmitter0.createContinuousEffect(PARTICLE_RESOURCE_ID_MAPPING_515_, mPosition, nullptr, &scale, nullptr, nullptr); mEmitter1.createContinuousEffect(PARTICLE_RESOURCE_ID_MAPPING_516_, mPosition, nullptr, &scale, nullptr, nullptr); } + +struct T { + f32 a, b, c, d, e, f, g, h, i; + static const T floats; +}; +const T T::floats = {50.f, 0.93f, 0.85f, 0.0f, 0.2f, -10000.f, 5.0f, -0.05f, 20.f};