diff --git a/config/SOUE01/symbols.txt b/config/SOUE01/symbols.txt index bae8217b..623e463e 100644 --- a/config/SOUE01/symbols.txt +++ b/config/SOUE01/symbols.txt @@ -15065,10 +15065,10 @@ isSameName__28sFStateID_c<13dLytSaveMgr_c>CFPCc = .text:0x80286C00; // type:func __ct__18dLytDropLine_HIO_cFv = .text:0x80286C90; // type:function size:0x28 __dt__18dLytDropLine_HIO_cFv = .text:0x80286CC0; // type:function size:0x40 create__19dLytDropLineParts_cFP14dLytDropLine_c = .text:0x80286D00; // type:function size:0x58 -changeState__88sStateMgr_c<19dLytDropLineParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x80286D60; // type:function size:0x10 +changeState__88sStateMgr_c<19dLytDropLineParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x80286D60; // type:function size:0x10 scope:weak doDelete__19dLytDropLineParts_cFv = .text:0x80286D70; // type:function size:0x8 execute__19dLytDropLineParts_cFv = .text:0x80286D80; // type:function size:0x30 -executeState__88sStateMgr_c<19dLytDropLineParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80286DB0; // type:function size:0x10 +executeState__88sStateMgr_c<19dLytDropLineParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80286DB0; // type:function size:0x10 scope:weak draw__19dLytDropLineParts_cFv = .text:0x80286DC0; // type:function size:0x8 startPickup__19dLytDropLineParts_cF7mVec3_cl = .text:0x80286DD0; // type:function size:0x74 startChange__19dLytDropLineParts_cF7mVec3_clb = .text:0x80286E50; // type:function size:0x44 @@ -15080,12 +15080,12 @@ initializeState_Move__19dLytDropLineParts_cFv = .text:0x80286F40; // type:functi executeState_Move__19dLytDropLineParts_cFv = .text:0x802870A0; // type:function size:0x504 finalizeState_Move__19dLytDropLineParts_cFv = .text:0x802875B0; // type:function size:0x4 dLytDropLine_c_classInit__Fv = .text:0x802875C0; // type:function size:0x70 -__ct__19dLytDropLineParts_cFv = .text:0x80287630; // type:function size:0x94 -__dt__32sFState_c<19dLytDropLineParts_c>Fv = .text:0x802876D0; // type:function size:0x58 -__dt__35sFStateFct_c<19dLytDropLineParts_c>Fv = .text:0x80287730; // type:function size:0x6C -__dt__88sStateMgr_c<19dLytDropLineParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x802877A0; // type:function size:0xA0 -__dt__58sFStateMgr_c<19dLytDropLineParts_c,20sStateMethodUsr_FI_c>Fv = .text:0x80287840; // type:function size:0xA4 -__dt__19dLytDropLineParts_cFv = .text:0x802878F0; // type:function size:0xB8 +__ct__19dLytDropLineParts_cFv = .text:0x80287630; // type:function size:0x94 scope:weak +__dt__32sFState_c<19dLytDropLineParts_c>Fv = .text:0x802876D0; // type:function size:0x58 scope:weak +__dt__35sFStateFct_c<19dLytDropLineParts_c>Fv = .text:0x80287730; // type:function size:0x6C scope:weak +__dt__88sStateMgr_c<19dLytDropLineParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x802877A0; // type:function size:0xA0 scope:weak +__dt__58sFStateMgr_c<19dLytDropLineParts_c,20sStateMethodUsr_FI_c>Fv = .text:0x80287840; // type:function size:0xA4 scope:weak +__dt__19dLytDropLineParts_cFv = .text:0x802878F0; // type:function size:0xB8 scope:weak create__14dLytDropLine_cFv = .text:0x802879B0; // type:function size:0x28 doDelete__14dLytDropLine_cFv = .text:0x802879E0; // type:function size:0x28 execute__14dLytDropLine_cFv = .text:0x80287A10; // type:function size:0x30 @@ -15104,25 +15104,25 @@ startChangeInternal__14dLytDropLine_cFPQ34nw4r3lyt4PanePQ34nw4r3lyt4PaneQ29dAcIt finishPartInternal__14dLytDropLine_cFv = .text:0x80287E80; // type:function size:0x4C setPaneInternal__14dLytDropLine_cFPQ34nw4r3lyt4Pane = .text:0x80287ED0; // type:function size:0xBC getActivePaneInternal__14dLytDropLine_cFv = .text:0x80287F90; // type:function size:0x40 -__dt__14dLytDropLine_cFv = .text:0x80287FD0; // type:function size:0x84 -build__35sFStateFct_c<19dLytDropLineParts_c>FRC12sStateIDIf_c = .text:0x80288060; // type:function size:0x60 -dispose__35sFStateFct_c<19dLytDropLineParts_c>FRP10sStateIf_c = .text:0x802880C0; // type:function size:0xC -initialize__32sFState_c<19dLytDropLineParts_c>Fv = .text:0x802880D0; // type:function size:0x1C -execute__32sFState_c<19dLytDropLineParts_c>Fv = .text:0x802880F0; // type:function size:0x1C -finalize__32sFState_c<19dLytDropLineParts_c>Fv = .text:0x80288110; // type:function size:0x1C -initializeState__88sStateMgr_c<19dLytDropLineParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80288130; // type:function size:0x10 -finalizeState__88sStateMgr_c<19dLytDropLineParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80288140; // type:function size:0x10 -refreshState__88sStateMgr_c<19dLytDropLineParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80288150; // type:function size:0x10 -getState__88sStateMgr_c<19dLytDropLineParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80288160; // type:function size:0x10 -getNewStateID__88sStateMgr_c<19dLytDropLineParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80288170; // type:function size:0x10 -getStateID__88sStateMgr_c<19dLytDropLineParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80288180; // type:function size:0x10 -getOldStateID__88sStateMgr_c<19dLytDropLineParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80288190; // type:function size:0x10 -finalizeState__34sFStateID_c<19dLytDropLineParts_c>CFR19dLytDropLineParts_c = .text:0x802881A0; // type:function size:0x30 -executeState__34sFStateID_c<19dLytDropLineParts_c>CFR19dLytDropLineParts_c = .text:0x802881D0; // type:function size:0x30 -initializeState__34sFStateID_c<19dLytDropLineParts_c>CFR19dLytDropLineParts_c = .text:0x80288200; // type:function size:0x30 -__sinit_\d_lyt_drop_line_cpp = .text:0x80288230; // type:function size:0x1DC -__dt__34sFStateID_c<19dLytDropLineParts_c>Fv = .text:0x80288410; // type:function size:0x58 -isSameName__34sFStateID_c<19dLytDropLineParts_c>CFPCc = .text:0x80288470; // type:function size:0x88 +__dt__14dLytDropLine_cFv = .text:0x80287FD0; // type:function size:0x84 scope:weak +build__35sFStateFct_c<19dLytDropLineParts_c>FRC12sStateIDIf_c = .text:0x80288060; // type:function size:0x60 scope:weak +dispose__35sFStateFct_c<19dLytDropLineParts_c>FRP10sStateIf_c = .text:0x802880C0; // type:function size:0xC scope:weak +initialize__32sFState_c<19dLytDropLineParts_c>Fv = .text:0x802880D0; // type:function size:0x1C scope:weak +execute__32sFState_c<19dLytDropLineParts_c>Fv = .text:0x802880F0; // type:function size:0x1C scope:weak +finalize__32sFState_c<19dLytDropLineParts_c>Fv = .text:0x80288110; // type:function size:0x1C scope:weak +initializeState__88sStateMgr_c<19dLytDropLineParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80288130; // type:function size:0x10 scope:weak +finalizeState__88sStateMgr_c<19dLytDropLineParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80288140; // type:function size:0x10 scope:weak +refreshState__88sStateMgr_c<19dLytDropLineParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80288150; // type:function size:0x10 scope:weak +getState__88sStateMgr_c<19dLytDropLineParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80288160; // type:function size:0x10 scope:weak +getNewStateID__88sStateMgr_c<19dLytDropLineParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80288170; // type:function size:0x10 scope:weak +getStateID__88sStateMgr_c<19dLytDropLineParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80288180; // type:function size:0x10 scope:weak +getOldStateID__88sStateMgr_c<19dLytDropLineParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80288190; // type:function size:0x10 scope:weak +finalizeState__34sFStateID_c<19dLytDropLineParts_c>CFR19dLytDropLineParts_c = .text:0x802881A0; // type:function size:0x30 scope:weak +executeState__34sFStateID_c<19dLytDropLineParts_c>CFR19dLytDropLineParts_c = .text:0x802881D0; // type:function size:0x30 scope:weak +initializeState__34sFStateID_c<19dLytDropLineParts_c>CFR19dLytDropLineParts_c = .text:0x80288200; // type:function size:0x30 scope:weak +__sinit_\d_lyt_drop_line_cpp = .text:0x80288230; // type:function size:0x1DC scope:local +__dt__34sFStateID_c<19dLytDropLineParts_c>Fv = .text:0x80288410; // type:function size:0x58 scope:weak +isSameName__34sFStateID_c<19dLytDropLineParts_c>CFPCc = .text:0x80288470; // type:function size:0x88 scope:weak getNumTadtonesInGroup__Fl = .text:0x80288500; // type:function size:0x14 scope:local __ct__19dLytForceLine_HIO_cFv = .text:0x80288520; // type:function size:0x28 __dt__19dLytForceLine_HIO_cFv = .text:0x80288550; // type:function size:0x40 @@ -36652,14 +36652,22 @@ __vt__26sFState_c<13dLytSaveMgr_c> = .data:0x80538340; // type:object size:0x18 @27170 = .data:0x80538444; // type:object size:0x1E scope:local data:string __vt__28sFStateID_c<13dLytSaveMgr_c> = .data:0x80538464; // type:object size:0x34 scope:weak g_profile_LYT_DROP_LINE = .data:0x80538498; // type:object size:0xC -lbl_805384A4 = .data:0x805384A4; // type:object size:0xC -__vt__14dLytDropLine_c = .data:0x805384B0; // type:object size:0x50 -__vt__58sFStateMgr_c<19dLytDropLineParts_c,20sStateMethodUsr_FI_c> = .data:0x80538500; // type:object size:0x30 -__vt__88sStateMgr_c<19dLytDropLineParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x80538530; // type:object size:0x30 -__vt__35sFStateFct_c<19dLytDropLineParts_c> = .data:0x80538560; // type:object size:0x14 -__vt__32sFState_c<19dLytDropLineParts_c> = .data:0x80538578; // type:object size:0x18 -lbl_80538590 = .data:0x80538590; // type:object size:0x90 -__vt__34sFStateID_c<19dLytDropLineParts_c> = .data:0x80538620; // type:object size:0x34 +...data.0 = .data:0x80538498; // type:label scope:local +__vt__18dLytDropLine_HIO_c = .data:0x805384A4; // type:object size:0xC +__vt__14dLytDropLine_c = .data:0x805384B0; // type:object size:0x4C +__vt__58sFStateMgr_c<19dLytDropLineParts_c,20sStateMethodUsr_FI_c> = .data:0x80538500; // type:object size:0x30 scope:weak +__vt__88sStateMgr_c<19dLytDropLineParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x80538530; // type:object size:0x30 scope:weak +__vt__35sFStateFct_c<19dLytDropLineParts_c> = .data:0x80538560; // type:object size:0x14 scope:weak +__vt__32sFState_c<19dLytDropLineParts_c> = .data:0x80538578; // type:object size:0x18 scope:weak +@29381 = .data:0x80538590; // type:object size:0xC scope:local +@29382 = .data:0x8053859C; // type:object size:0xC scope:local +@29383 = .data:0x805385A8; // type:object size:0xC scope:local +@29384 = .data:0x805385B4; // type:object size:0xC scope:local +@29385 = .data:0x805385C0; // type:object size:0xC scope:local +@29386 = .data:0x805385CC; // type:object size:0xC scope:local +@29388 = .data:0x805385D8; // type:object size:0x22 scope:local data:string +@29389 = .data:0x805385FC; // type:object size:0x22 scope:local data:string +__vt__34sFStateID_c<19dLytDropLineParts_c> = .data:0x80538620; // type:object size:0x34 scope:weak g_profile_LYT_FORCE_LINE = .data:0x80538658; // type:object size:0xC ...data.0 = .data:0x80538658; // type:label scope:local @23145 = .data:0x80538664; // type:object size:0xC scope:local data:string @@ -42452,8 +42460,8 @@ sDisp00ArrowLength__14dLytPauseMgr_c = .sbss:0x8057593C; // type:object size:0x4 sInstance__14dLytPauseMgr_c = .sbss:0x80575940; // type:object size:0x4 data:4byte sInstance__17dLytGameOverMgr_c = .sbss:0x80575948; // type:object size:0x4 data:4byte sInstance__13dLytSaveMgr_c = .sbss:0x80575950; // type:object size:0x4 data:4byte -lbl_80575958 = .sbss:0x80575958; // type:object size:0x1 data:byte -lbl_80575959 = .sbss:0x80575959; // type:object size:0x1 data:byte +@GUARD@executeState_Move__19dLytDropLineParts_cFv@sColors1 = .sbss:0x80575958; // type:object size:0x1 scope:local data:byte +@GUARD@executeState_Move__19dLytDropLineParts_cFv@sColors2@0 = .sbss:0x80575959; // type:object size:0x1 scope:local data:byte sInstance__14dLytDropLine_c = .sbss:0x8057595C; // type:object size:0x4 data:4byte sInstance__15dLytForceLine_c = .sbss:0x80575960; // type:object size:0x4 data:4byte lbl_80575968 = .sbss:0x80575968; // type:object size:0x8 data:4byte @@ -42537,8 +42545,13 @@ l_allocator__3m2d = .sbss:0x80575BC8; // type:object size:0x4 data:4byte l_allocator_p__Q23m3d8internal = .sbss:0x80575BD0; // type:object size:0x4 data:4byte l_scnRoot_p__Q23m3d8internal = .sbss:0x80575BD4; // type:object size:0x4 data:4byte l_numLightMgr__Q23m3d8internal = .sbss:0x80575BD8; // type:object size:0x4 data:4byte +l_lightMgr_pp__Q23m3d8internal = .sbss:0x80575BDC; // type:object size:0x4 data:4byte l_numFogMgr__Q23m3d8internal = .sbss:0x80575BE0; // type:object size:0x4 data:4byte l_fogMgr_pp__Q23m3d8internal = .sbss:0x80575BE4; // type:object size:0x4 data:4byte +l_alignment__Q23m3d8internal = .sbss:0x80575BE8; // type:object size:0x4 data:4byte +lbl_80575BF0 = .sbss:0x80575BF0; // type:object size:0x4 data:4byte +lbl_80575BF4 = .sbss:0x80575BF4; // type:object size:0x4 data:4byte +lbl_80575BF8 = .sbss:0x80575BF8; // type:object size:0x4 data:4byte @GUARD@draw__Q23m3d15mCustomShadow_cFRC6mMtx_c@nullMat = .sbss:0x80575BFC; // type:object size:0x1 data:byte @LOCAL@draw__Q23m3d15mCustomShadow_cFRC6mMtx_c@nullMat = .sbss:0x80575C00; // type:object size:0x4 data:4byte Zero__7mAng3_c = .sbss:0x80575C08; // type:object size:0x6 data:2byte @@ -48381,10 +48394,10 @@ lbl_8057C698 = .sdata2:0x8057C698; // type:object size:0x4 align:4 data:float lbl_8057C6A0 = .sdata2:0x8057C6A0; // type:object size:0x4 align:4 data:float lbl_8057C6A4 = .sdata2:0x8057C6A4; // type:object size:0x4 align:4 data:float lbl_8057C6A8 = .sdata2:0x8057C6A8; // type:object size:0x4 align:4 data:float -lbl_8057C6B0 = .sdata2:0x8057C6B0; // type:object size:0x4 align:4 data:float -lbl_8057C6B4 = .sdata2:0x8057C6B4; // type:object size:0x4 align:4 data:float -lbl_8057C6B8 = .sdata2:0x8057C6B8; // type:object size:0x8 align:8 data:double -lbl_8057C6C0 = .sdata2:0x8057C6C0; // type:object size:0x4 align:4 data:float +@28933 = .sdata2:0x8057C6B0; // type:object size:0x4 scope:local align:4 data:float +@28953 = .sdata2:0x8057C6B4; // type:object size:0x4 scope:local align:4 data:float +@28992 = .sdata2:0x8057C6B8; // type:object size:0x8 scope:local align:8 data:double +@29289 = .sdata2:0x8057C6C0; // type:object size:0x4 scope:local align:4 data:float @26620 = .sdata2:0x8057C6C8; // type:object size:0x4 scope:local align:4 data:float @26639 = .sdata2:0x8057C6CC; // type:object size:0x4 scope:local align:4 data:float @26659 = .sdata2:0x8057C6D0; // type:object size:0x8 scope:local align:8 data:double @@ -52325,10 +52338,15 @@ StateID_FadeOut__13dLytSaveMgr_c = .bss:0x805B5F50; // type:object size:0x30 dat StateID_Select__13dLytSaveMgr_c = .bss:0x805B5F90; // type:object size:0x30 data:4byte @25088 = .bss:0x805B5FC0; // type:object size:0xC scope:local StateID_FadeIn__13dLytSaveMgr_c = .bss:0x805B5FD0; // type:object size:0x30 data:4byte -lbl_805B6000 = .bss:0x805B6000; // type:object size:0x10 -lbl_805B6010 = .bss:0x805B6010; // type:object size:0x20 -LytDropLineParts__STATE_WAIT = .bss:0x805B6030; // type:object size:0x40 data:4byte -LytDropLineParts__STATE_MOVE = .bss:0x805B6070; // type:object size:0x50 data:4byte +@25245 = .bss:0x805B6000; // type:object size:0xC scope:local +...bss.0 = .bss:0x805B6000; // type:label scope:local +sHio = .bss:0x805B6010; // type:object size:0x10 scope:local +@25260 = .bss:0x805B6020; // type:object size:0xC scope:local +StateID_Wait__19dLytDropLineParts_c = .bss:0x805B6030; // type:object size:0x30 data:4byte +@25264 = .bss:0x805B6060; // type:object size:0xC scope:local +StateID_Move__19dLytDropLineParts_c = .bss:0x805B6070; // type:object size:0x30 data:4byte +@LOCAL@executeState_Move__19dLytDropLineParts_cFv@sColors1 = .bss:0x805B60A0; // type:object size:0x10 scope:local +@LOCAL@executeState_Move__19dLytDropLineParts_cFv@sColors2@0 = .bss:0x805B60B0; // type:object size:0x10 scope:local @22922 = .bss:0x805B60C0; // type:object size:0xC scope:local ...bss.0 = .bss:0x805B60C0; // type:label scope:local sHio = .bss:0x805B60D0; // type:object size:0x10 scope:local diff --git a/configure.py b/configure.py index f910e7d0..fb1d0bf2 100644 --- a/configure.py +++ b/configure.py @@ -647,7 +647,7 @@ config.libs = [ Object(Matching, "d/lyt/d_lyt_pause.cpp"), Object(NonMatching, "d/lyt/d_lyt_game_over.cpp"), Object(Matching, "d/lyt/d_lyt_save_mgr.cpp"), - Object(NonMatching, "d/lyt/d_lyt_drop_line.cpp"), + Object(Matching, "d/lyt/d_lyt_drop_line.cpp"), Object(Matching, "d/lyt/d_lyt_force_line.cpp"), Object(NonMatching, "d/lyt/d_lyt_enemy_icon.cpp"), Object(NonMatching, "d/lyt/d_lyt_mini_game.cpp"), diff --git a/include/d/lyt/d_lyt_drop_line.h b/include/d/lyt/d_lyt_drop_line.h index 5cfc748e..1abded56 100644 --- a/include/d/lyt/d_lyt_drop_line.h +++ b/include/d/lyt/d_lyt_drop_line.h @@ -60,7 +60,7 @@ private: /* 0x40 */ dEmitter_c mEmitter; /* 0x74 */ mVec3_c mStartPos; /* 0x80 */ mVec3_c mEffectPos; - /* 0x8C */ mVec3_c field_0x8C; + /* 0x8C */ mVec3_c mMoveLinearCoeff; /* 0x98 */ s32 mTrial; /* 0x9C */ s32 mMoveTimer; /* 0xA0 */ bool mMoveRequest; diff --git a/src/d/lyt/d_lyt_drop_line.cpp b/src/d/lyt/d_lyt_drop_line.cpp index 6d42e07f..2e14d14f 100644 --- a/src/d/lyt/d_lyt_drop_line.cpp +++ b/src/d/lyt/d_lyt_drop_line.cpp @@ -80,7 +80,7 @@ void dLytDropLineParts_c::startChange(mVec3_c startPos, s32 trial, bool leftRigh void dLytDropLineParts_c::reset() { mStartPos.setZero(); mEffectPos.setZero(); - field_0x8C.setZero(); + mMoveLinearCoeff.setZero(); mMoveTimer = 0; mTrial = 4; mMoveRequest = false; @@ -104,13 +104,13 @@ void dLytDropLineParts_c::initializeState_Move() { if (mpTargetPane != nullptr) { nw4r::math::MTX34 mtx = mpTargetPane->GetGlobalMtx(); - // TODO - mVec2_c v1 = mVec2_c(mtx._03, mtx._13); - v1 -= mVec2_c(mStartPos.x, mStartPos.y); + // Set up the coefficients for the quadratic parabola below + mVec3_c v1 = mVec3_c(mtx._03, mtx._13, 0.0f); - field_0x8C.x = - (v1.x + ((f32)sHio.mMoveDuration * sHio.field_0x04 * (f32)sHio.mMoveDuration)) / (f32)sHio.mMoveDuration; - field_0x8C.y = v1.y / (f32)sHio.mMoveDuration; + mMoveLinearCoeff.x = + ((v1.x - mStartPos.x) + (sHio.field_0x04 * (f32)sHio.mMoveDuration * (f32)sHio.mMoveDuration)) / + (f32)sHio.mMoveDuration; + mMoveLinearCoeff.y = (v1.y - mStartPos.y) / (f32)sHio.mMoveDuration; if (!mIsChangeAnim) { dSndSmallEffectMgr_c::GetInstance()->playSound(SE_S_SIREN_SHIZUKU_GET_MOVE); @@ -137,14 +137,14 @@ void dLytDropLineParts_c::executeState_Move() { if (mMoveTimer < sHio.mMoveDuration) { // Quadratic parabola if (mLeftRight) { - mEffectPos.x = mStartPos.x - - (field_0x8C.x * (f32)mMoveTimer - sHio.field_0x04 * (f32)mMoveTimer * (f32)mMoveTimer); + mEffectPos.x = mStartPos.x - (mMoveLinearCoeff.x * (f32)mMoveTimer - + sHio.field_0x04 * (f32)mMoveTimer * (f32)mMoveTimer); } else { - mEffectPos.x = - mStartPos.x + field_0x8C.x * (f32)mMoveTimer - sHio.field_0x04 * (f32)mMoveTimer * (f32)mMoveTimer; + mEffectPos.x = mStartPos.x + mMoveLinearCoeff.x * (f32)mMoveTimer - + sHio.field_0x04 * (f32)mMoveTimer * (f32)mMoveTimer; } - mEffectPos.y = mStartPos.y + field_0x8C.y * (f32)mMoveTimer; + mEffectPos.y = mStartPos.y + mMoveLinearCoeff.y * (f32)mMoveTimer; mEffectPos.z = 0.0f; mMoveTimer++; } else {