Merge pull request #252 from robojumper/more_cursor_stuff

Cursor Cleanup
This commit is contained in:
robojumper
2025-09-27 12:21:38 +02:00
committed by GitHub
25 changed files with 1476 additions and 487 deletions
+4 -1
View File
@@ -119,8 +119,10 @@ toBeSorted/d_emitter.cpp:
.sdata2 start:0x80576C18 end:0x80576C68
.bss start:0x80594FA0 end:0x80597020
toBeSorted/d_effects_2.cpp:
toBeSorted/d_emitter_callbacks.cpp:
.text start:0x8002B9A0 end:0x8002C128 align:16
.data start:0x805014C0 end:0x80501528
.sdata2 start:0x80576C68 end:0x80576C88
toBeSorted/sound_info.cpp:
.text start:0x8002C130 end:0x8002C3A0 align:16
@@ -1402,6 +1404,7 @@ d/d_cs_game.cpp:
.ctors start:0x804DB820 end:0x804DB824
.rodata start:0x804EAC38 end:0x804EACF0
.data start:0x8052E968 end:0x80530170
.sdata start:0x80573448 end:0x80573460
.sbss start:0x805757B0 end:0x805757B8
.sdata2 start:0x8057B5C0 end:0x8057B650
.bss start:0x805B38B8 end:0x805B4178
+118 -107
View File
@@ -1009,18 +1009,18 @@ __ct__18dParticleFogProc_cFv = .text:0x8002B8F0; // type:function size:0x44
__arraydtor$9502 = .text:0x8002B940; // type:function size:0x1C scope:local
__ct__11dEffect2D_cFv = .text:0x8002B960; // type:function size:0x18
__arraydtor$9504 = .text:0x8002B980; // type:function size:0x1C scope:local
fn_8002B9A0 = .text:0x8002B9A0; // type:function size:0x30
fn_8002B9D0 = .text:0x8002B9D0; // type:function size:0x10C
fn_8002BAE0 = .text:0x8002BAE0; // type:function size:0x228
fn_8002BD10 = .text:0x8002BD10; // type:function size:0x28
fn_8002BD40 = .text:0x8002BD40; // type:function size:0x34
__ct__29dEmitterCallbackCursorTrail_cFUlf = .text:0x8002B9A0; // type:function size:0x30
fn_8002B9D0__FR7mVec3_cRC7mVec3_cRC7mVec3_cRC7mVec3_cRC7mVec3_cf = .text:0x8002B9D0; // type:function size:0x10C
executeAfter__29dEmitterCallbackCursorTrail_cFP14JPABaseEmitter = .text:0x8002BAE0; // type:function size:0x228
create__29dEmitterCallbackCursorTrail_cFP14JPABaseEmitter = .text:0x8002BD10; // type:function size:0x28
vt_0x20__29dEmitterCallbackCursorTrail_cFff = .text:0x8002BD40; // type:function size:0x34
fn_8002BD80 = .text:0x8002BD80; // type:function size:0x1C4
fn_8002BF50 = .text:0x8002BF50; // type:function size:0x40
fn_8002BF90 = .text:0x8002BF90; // type:function size:0x1C
fn_8002BFB0 = .text:0x8002BFB0; // type:function size:0x54
fn_8002C010 = .text:0x8002C010; // type:function size:0x58
fn_8002C070 = .text:0x8002C070; // type:function size:0x58
fn_8002C0D0 = .text:0x8002C0D0; // type:function size:0x58
__dt__29dEmitterCallbackCursorTrail_cFv = .text:0x8002C0D0; // type:function size:0x58
__ct__9SoundInfoFP9dAcBase_c = .text:0x8002C130; // type:function size:0x24
__dt__16dSoundSourceIf_cFv = .text:0x8002C160; // type:function size:0x40 scope:weak
__dt__9SoundInfoFv = .text:0x8002C1A0; // type:function size:0xB0
@@ -3915,11 +3915,11 @@ setFramesLeftOnPause__15dTagProcessor_cFPQ34nw4r2ut4RectPQ34nw4r2ut15PrintContex
fn_800B5500__15dTagProcessor_cFUcPw = .text:0x800B5500; // type:function size:0x18
fn_800B5520__15dTagProcessor_cFPw = .text:0x800B5520; // type:function size:0x14
fn_800B5540__15dTagProcessor_cFPw = .text:0x800B5540; // type:function size:0x28
writeHeroname__15dTagProcessor_cFPwPll = .text:0x800B5570; // type:function size:0x110
writeItem__15dTagProcessor_cFPwPwPll = .text:0x800B5680; // type:function size:0x1DC
writeStringArg__15dTagProcessor_cFPwPwPll = .text:0x800B5860; // type:function size:0x1C0
writeNumericArg__15dTagProcessor_cFPwPwPll = .text:0x800B5A20; // type:function size:0x3AC
writeSingularOrPluralWord__15dTagProcessor_cFPwPwPll = .text:0x800B5DD0; // type:function size:0x1FC
writeHeroname__15dTagProcessor_cFPwPlb = .text:0x800B5570; // type:function size:0x110
writeItem__15dTagProcessor_cFPwPwPlb = .text:0x800B5680; // type:function size:0x1DC
writeStringArg__15dTagProcessor_cFPwPwPlb = .text:0x800B5860; // type:function size:0x1C0
writeNumericArg__15dTagProcessor_cFPwPwPlb = .text:0x800B5A20; // type:function size:0x3AC
writeSingularOrPluralWord__15dTagProcessor_cFPwPwPlb = .text:0x800B5DD0; // type:function size:0x1FC
writeSingleCharacter__15dTagProcessor_cFwPwPl = .text:0x800B5FD0; // type:function size:0x10C
fn_800B60E0__15dTagProcessor_cFUcPw = .text:0x800B60E0; // type:function size:0x24
fn_800B6110__15dTagProcessor_cFUcPw = .text:0x800B6110; // type:function size:0x24
@@ -3937,7 +3937,7 @@ calcRectIcon__15dTagProcessor_cFPQ34nw4r2ut4RectPQ34nw4r2ut15PrintContext<w>Pw =
configureWriterForIcon__15dTagProcessor_cFPQ34nw4r2ut17TextWriterBase<w>PQ34nw4r2ut15PrintContext<w>Usl = .text:0x800B70D0; // type:function size:0x3A4
somethingWithScrapperAndMusic__15dTagProcessor_cFPw = .text:0x800B7480; // type:function size:0xB8
restoreColor__15dTagProcessor_cFPQ34nw4r2ut15PrintContext<w>Uc = .text:0x800B7540; // type:function size:0x250
writeTextNormal__15dTagProcessor_cFPCwPwPlUcl = .text:0x800B7790; // type:function size:0xD8
writeTextNormal__15dTagProcessor_cFPCwPwPlUcb = .text:0x800B7790; // type:function size:0xD8
symbolToFontIdx__15dTagProcessor_cFl = .text:0x800B7870; // type:function size:0x10
getAnimatedIconReplacement__15dTagProcessor_cFUc = .text:0x800B7880; // type:function size:0x210
getAnimatedWiggleIconReplacement__15dTagProcessor_cFUc = .text:0x800B7A90; // type:function size:0x9C
@@ -11266,16 +11266,16 @@ dCsGame_c_classInit__Fv = .text:0x801BD250; // type:function size:0x30
__ct__13dCsGame_HIO_cFv = .text:0x801BD280; // type:function size:0x8C
__dt__13dCsGame_HIO_cFv = .text:0x801BD310; // type:function size:0x40
__ct__9dCsGame_cFv = .text:0x801BD350; // type:function size:0x4CC
fn_801BD820 = .text:0x801BD820; // type:function size:0x40
fn_801BD860 = .text:0x801BD860; // type:function size:0x40
__dt__17dCsGameLytBase1_cFv = .text:0x801BD820; // type:function size:0x40
__dt__17dCsGameLytBase2_cFv = .text:0x801BD860; // type:function size:0x40
__dt__13dCsGameLyt1_cFv = .text:0x801BD8A0; // type:function size:0x5C
__dt__13dCsGameLyt2_cFv = .text:0x801BD900; // type:function size:0x5C
__dt__40sFState_c<Q29dCsGame_c15lytItemCursor_c>Fv = .text:0x801BD960; // type:function size:0x58
__dt__43sFStateFct_c<Q29dCsGame_c15lytItemCursor_c>Fv = .text:0x801BD9C0; // type:function size:0x6C
__dt__96sStateMgr_c<Q29dCsGame_c15lytItemCursor_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801BDA30; // type:function size:0xA0
__dt__66sFStateMgr_c<Q29dCsGame_c15lytItemCursor_c,20sStateMethodUsr_FI_c>Fv = .text:0x801BDAD0; // type:function size:0xA4
fn_801BDB80 = .text:0x801BDB80; // type:function size:0x40
fn_801BDBC0 = .text:0x801BDBC0; // type:function size:0x6C
__dt__Q23d2d9AnmGroupsFv = .text:0x801BDB80; // type:function size:0x40
__dt__Q39dCsGame_c15lytItemCursor_c18dCsGameAnmGroups_cFv = .text:0x801BDBC0; // type:function size:0x6C
__dt__53sFState_c<Q39dCsGame_c15lytItemCursor_c11lytBowCsr_c>Fv = .text:0x801BDC30; // type:function size:0x58
__dt__56sFStateFct_c<Q39dCsGame_c15lytItemCursor_c11lytBowCsr_c>Fv = .text:0x801BDC90; // type:function size:0x6C
__dt__109sStateMgr_c<Q39dCsGame_c15lytItemCursor_c11lytBowCsr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801BDD00; // type:function size:0xA0
@@ -11302,41 +11302,41 @@ __dt__112sStateMgr_c<Q39dCsGame_c15lytItemCursor_c14lytVacuumCsr_c,20sStateMetho
__dt__82sFStateMgr_c<Q39dCsGame_c15lytItemCursor_c14lytVacuumCsr_c,20sStateMethodUsr_FI_c>Fv = .text:0x801BE930; // type:function size:0xA4
__dt__Q39dCsGame_c15lytItemCursor_c14lytVacuumCsr_cFv = .text:0x801BE9E0; // type:function size:0xB4
__dt__Q29dCsGame_c15lytItemCursor_cFv = .text:0x801BEAA0; // type:function size:0x2E4
fn_801BED90 = .text:0x801BED90; // type:function size:0x40
__dt__22dCursorInterfaceGame_cFv = .text:0x801BED90; // type:function size:0x40
__dt__9dCsGame_cFv = .text:0x801BEDD0; // type:function size:0x33C
create__9dCsGame_cFv = .text:0x801BF110; // type:function size:0xF4
doDelete__9dCsGame_cFv = .text:0x801BF210; // type:function size:0x84
CsGame__baseUpdate = .text:0x801BF2A0; // type:function size:0x25C
fn_801BF500 = .text:0x801BF500; // type:function size:0x14
CsGame__draw = .text:0x801BF520; // type:function size:0xBC
fn_801BF5E0__9dCsGame_cCFv = .text:0x801BF5E0; // type:function size:0x44
fn_801BF630 = .text:0x801BF630; // type:function size:0x288
setNextCursorType__9dCsGame_cFQ39dCsGame_c15lytItemCursor_c12CursorType_e = .text:0x801BF8C0; // type:function size:0x10
setCursorTypeNoneMaybe__9dCsGame_cFv = .text:0x801BF8D0; // type:function size:0x8
setCursorTypePointer__9dCsGame_cFv = .text:0x801BF8E0; // type:function size:0x18
fn_801BF900 = .text:0x801BF900; // type:function size:0x8
fn_801BF910 = .text:0x801BF910; // type:function size:0x58
CsGame__startDrawBow = .text:0x801BF970; // type:function size:0x58
CsGame__startBowAim = .text:0x801BF9D0; // type:function size:0x38
CsGame__startBowReady = .text:0x801BFA10; // type:function size:0x38
fn_801BFA50 = .text:0x801BFA50; // type:function size:0x68
fn_801BFAC0 = .text:0x801BFAC0; // type:function size:0x8
fn_801BFAD0 = .text:0x801BFAD0; // type:function size:0x54
fn_801BFB30 = .text:0x801BFB30; // type:function size:0x3C
fn_801BFB70 = .text:0x801BFB70; // type:function size:0x48
fn_801BFBC0 = .text:0x801BFBC0; // type:function size:0x8
fn_801BFBD0 = .text:0x801BFBD0; // type:function size:0x178
fn_801BFD50 = .text:0x801BFD50; // type:function size:0x50
fn_801BFDA0 = .text:0x801BFDA0; // type:function size:0x88
fn_801BFE30 = .text:0x801BFE30; // type:function size:0x34
fn_801BFE70 = .text:0x801BFE70; // type:function size:0xC
fn_801BFE80 = .text:0x801BFE80; // type:function size:0x20
fn_801BFEA0 = .text:0x801BFEA0; // type:function size:0x4C
fn_801BFEF0 = .text:0x801BFEF0; // type:function size:0x8
fn_801BFF00 = .text:0x801BFF00; // type:function size:0xC
fn_801BFF10 = .text:0x801BFF10; // type:function size:0x20
fn_801BFF30 = .text:0x801BFF30; // type:function size:0x4C
fn_801BFF80 = .text:0x801BFF80; // type:function size:0x8
execute__9dCsGame_cFv = .text:0x801BF2A0; // type:function size:0x25C
setPosition__17dCsGameLytBase1_cFRC7mVec2_c = .text:0x801BF500; // type:function size:0x14
draw__9dCsGame_cFv = .text:0x801BF520; // type:function size:0xBC
shouldDraw__9dCsGame_cCFv = .text:0x801BF5E0; // type:function size:0x44
isForcedHidden__9dCsGame_cCFv = .text:0x801BF630; // type:function size:0x288
setNextCursorType__9dCsGame_cFQ29dCsGame_c12CursorType_e = .text:0x801BF8C0; // type:function size:0x10
noneSet__9dCsGame_cFv = .text:0x801BF8D0; // type:function size:0x8
pointerDefSet__9dCsGame_cFv = .text:0x801BF8E0; // type:function size:0x18
pointerCatSet__9dCsGame_cFv = .text:0x801BF900; // type:function size:0x8
pachinkoSetCharging__9dCsGame_cFbf = .text:0x801BF910; // type:function size:0x58
bowStartDrawOrCharge__9dCsGame_cFff = .text:0x801BF970; // type:function size:0x58
bowAimStart__9dCsGame_cFv = .text:0x801BF9D0; // type:function size:0x38
bowReady__9dCsGame_cFv = .text:0x801BFA10; // type:function size:0x38
dowsingSetParams__9dCsGame_cFRC4mAngff = .text:0x801BFA50; // type:function size:0x68
dowsingSetUnkWord__9dCsGame_cFi = .text:0x801BFAC0; // type:function size:0x8
vacuumSetNotLocked__9dCsGame_cFf = .text:0x801BFAD0; // type:function size:0x54
vacuumSetLocked__9dCsGame_cFv = .text:0x801BFB30; // type:function size:0x3C
clawshotsSetLocked__9dCsGame_cFb = .text:0x801BFB70; // type:function size:0x48
setCursorTypePlayerCam__9dCsGame_cFv = .text:0x801BFBC0; // type:function size:0x8
getCursorPos__22dCursorInterfaceGame_cFv = .text:0x801BFBD0; // type:function size:0x178
init__17dCsGameLytBase2_cFv = .text:0x801BFD50; // type:function size:0x50
execute__17dCsGameLytBase2_cFv = .text:0x801BFDA0; // type:function size:0x88
draw__17dCsGameLytBase2_cFv = .text:0x801BFE30; // type:function size:0x34
loadResAcc__13dCsGameLyt1_cFv = .text:0x801BFE70; // type:function size:0xC
build__13dCsGameLyt1_cFv = .text:0x801BFE80; // type:function size:0x20
init__13dCsGameLyt1_cFv = .text:0x801BFEA0; // type:function size:0x4C
remove__13dCsGameLyt1_cFv = .text:0x801BFEF0; // type:function size:0x8
loadResAcc__13dCsGameLyt2_cFv = .text:0x801BFF00; // type:function size:0xC
build__13dCsGameLyt2_cFv = .text:0x801BFF10; // type:function size:0x20
init__13dCsGameLyt2_cFv = .text:0x801BFF30; // type:function size:0x4C
remove__13dCsGameLyt2_cFv = .text:0x801BFF80; // type:function size:0x8
initializeState_Invisible__Q29dCsGame_c15lytItemCursor_cFv = .text:0x801BFF90; // type:function size:0x4
executeState_Invisible__Q29dCsGame_c15lytItemCursor_cFv = .text:0x801BFFA0; // type:function size:0x4
finalizeState_Invisible__Q29dCsGame_c15lytItemCursor_cFv = .text:0x801BFFB0; // type:function size:0x4
@@ -11361,20 +11361,20 @@ executeState_PlayerCam__Q29dCsGame_c15lytItemCursor_cFv = .text:0x801C0110; // t
finalizeState_PlayerCam__Q29dCsGame_c15lytItemCursor_cFv = .text:0x801C0150; // type:function size:0x4
changeState__Q29dCsGame_c15lytItemCursor_cFRC42sFStateID_c<Q29dCsGame_c15lytItemCursor_c> = .text:0x801C0160; // type:function size:0x10
changeState__96sStateMgr_c<Q29dCsGame_c15lytItemCursor_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x801C0170; // type:function size:0x10
CsGame__lytItemCursor__startBowDrawOrChargeState = .text:0x801C0180; // type:function size:0x8
CsGame__lytItemCursor__startBowAim = .text:0x801C0190; // type:function size:0x8
CsGame__lytItemCursor__startBowReady = .text:0x801C01A0; // type:function size:0x8
fn_801C01B0 = .text:0x801C01B0; // type:function size:0x8
fn_801C01C0 = .text:0x801C01C0; // type:function size:0x8
fn_801C01D0 = .text:0x801C01D0; // type:function size:0x8
fn_801C01E0 = .text:0x801C01E0; // type:function size:0x8
fn_801C01F0 = .text:0x801C01F0; // type:function size:0x8
fn_801C0200 = .text:0x801C0200; // type:function size:0x8
fn_801C0210 = .text:0x801C0210; // type:function size:0xC
fn_801C0220 = .text:0x801C0220; // type:function size:0x20
doInit__Q29dCsGame_c15lytItemCursor_cFv = .text:0x801C0240; // type:function size:0x19C
fn_801C03E0 = .text:0x801C03E0; // type:function size:0x28
fn_801C0410 = .text:0x801C0410; // type:function size:0x108
bowStartDrawOrCharge__Q29dCsGame_c15lytItemCursor_cFff = .text:0x801C0180; // type:function size:0x8
bowAimStart__Q29dCsGame_c15lytItemCursor_cFv = .text:0x801C0190; // type:function size:0x8
bowReady__Q29dCsGame_c15lytItemCursor_cFv = .text:0x801C01A0; // type:function size:0x8
pachinkoSetCharging__Q29dCsGame_c15lytItemCursor_cFbf = .text:0x801C01B0; // type:function size:0x8
dowsingSetParams__Q29dCsGame_c15lytItemCursor_cFRC4mAngff = .text:0x801C01C0; // type:function size:0x8
dowsingSetUnkWord__Q29dCsGame_c15lytItemCursor_cFi = .text:0x801C01D0; // type:function size:0x8
vacuumSetUnkFloat__Q29dCsGame_c15lytItemCursor_cFf = .text:0x801C01E0; // type:function size:0x8
vacuumSetLocked__Q29dCsGame_c15lytItemCursor_cFb = .text:0x801C01F0; // type:function size:0x8
clawshotsSetLocked__Q29dCsGame_c15lytItemCursor_cFb = .text:0x801C0200; // type:function size:0x8
loadResAcc__Q29dCsGame_c15lytItemCursor_cFv = .text:0x801C0210; // type:function size:0xC
build__Q29dCsGame_c15lytItemCursor_cFv = .text:0x801C0220; // type:function size:0x20
init__Q29dCsGame_c15lytItemCursor_cFv = .text:0x801C0240; // type:function size:0x19C
remove__Q29dCsGame_c15lytItemCursor_cFv = .text:0x801C03E0; // type:function size:0x28
execute__Q29dCsGame_c15lytItemCursor_cFv = .text:0x801C0410; // type:function size:0x108
executeState__96sStateMgr_c<Q29dCsGame_c15lytItemCursor_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801C0520; // type:function size:0x10
initializeState_NotFind__Q39dCsGame_c15lytItemCursor_c15lytDowsingCsr_cFv = .text:0x801C0530; // type:function size:0x4
executeState_NotFind__Q39dCsGame_c15lytItemCursor_c15lytDowsingCsr_cFv = .text:0x801C0540; // type:function size:0x70
@@ -11393,11 +11393,11 @@ initializeState_ToNotFind__Q39dCsGame_c15lytItemCursor_c15lytDowsingCsr_cFv = .t
executeState_ToNotFind__Q39dCsGame_c15lytItemCursor_c15lytDowsingCsr_cFv = .text:0x801C0930; // type:function size:0x98
finalizeState_ToNotFind__Q39dCsGame_c15lytItemCursor_c15lytDowsingCsr_cFv = .text:0x801C09D0; // type:function size:0x4
enter__Q39dCsGame_c15lytItemCursor_c15lytDowsingCsr_cFv = .text:0x801C09E0; // type:function size:0x108
fn_801C0AF0 = .text:0x801C0AF0; // type:function size:0x74
fn_801C0B70 = .text:0x801C0B70; // type:function size:0x8
fn_801C0B80 = .text:0x801C0B80; // type:function size:0x24
fn_801C0BB0 = .text:0x801C0BB0; // type:function size:0x1C
fn_801C0BD0 = .text:0x801C0BD0; // type:function size:0x140
setParams__Q39dCsGame_c15lytItemCursor_c15lytDowsingCsr_cFRC4mAngff = .text:0x801C0AF0; // type:function size:0x74
setUnkWord__Q39dCsGame_c15lytItemCursor_c15lytDowsingCsr_cFi = .text:0x801C0B70; // type:function size:0x8
moveEffectsIn__Q39dCsGame_c15lytItemCursor_c15lytDowsingCsr_cFv = .text:0x801C0B80; // type:function size:0x24
moveEffectsOut__Q39dCsGame_c15lytItemCursor_c15lytDowsingCsr_cFv = .text:0x801C0BB0; // type:function size:0x1C
updateEffects__Q39dCsGame_c15lytItemCursor_c15lytDowsingCsr_cFv = .text:0x801C0BD0; // type:function size:0x140
init__Q39dCsGame_c15lytItemCursor_c15lytDowsingCsr_cFv = .text:0x801C0D10; // type:function size:0x8C
execute__Q39dCsGame_c15lytItemCursor_c15lytDowsingCsr_cFv = .text:0x801C0DA0; // type:function size:0x2B0
executeState__113sStateMgr_c<Q39dCsGame_c15lytItemCursor_c15lytDowsingCsr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801C1050; // type:function size:0x10
@@ -11425,12 +11425,12 @@ executeState_Charge__Q39dCsGame_c15lytItemCursor_c11lytBowCsr_cFv = .text:0x801C
finalizeState_Charge__Q39dCsGame_c15lytItemCursor_c11lytBowCsr_cFv = .text:0x801C1660; // type:function size:0x4
enter__Q39dCsGame_c15lytItemCursor_c11lytBowCsr_cFv = .text:0x801C1670; // type:function size:0x1F4
init__Q39dCsGame_c15lytItemCursor_c11lytBowCsr_cFv = .text:0x801C1870; // type:function size:0x170
fn_801C19E0 = .text:0x801C19E0; // type:function size:0x170
execute__Q39dCsGame_c15lytItemCursor_c11lytBowCsr_cFv = .text:0x801C19E0; // type:function size:0x170
executeState__109sStateMgr_c<Q39dCsGame_c15lytItemCursor_c11lytBowCsr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801C1B50; // type:function size:0x10
CsGame__lytItemCursor__lytBowCsr__startDrawOrCharge = .text:0x801C1B60; // type:function size:0xB0
startDrawOrCharge__Q39dCsGame_c15lytItemCursor_c11lytBowCsr_cFff = .text:0x801C1B60; // type:function size:0xB0
getStateID__109sStateMgr_c<Q39dCsGame_c15lytItemCursor_c11lytBowCsr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x801C1C10; // type:function size:0x10
CsGame__lytItemCursor__lytBowCsr__startAimStart = .text:0x801C1C20; // type:function size:0x84
fn_801C1CB0 = .text:0x801C1CB0; // type:function size:0x84
aimStart__Q39dCsGame_c15lytItemCursor_c11lytBowCsr_cFv = .text:0x801C1C20; // type:function size:0x84
ready__Q39dCsGame_c15lytItemCursor_c11lytBowCsr_cFv = .text:0x801C1CB0; // type:function size:0x84
initializeState_Invisible__Q39dCsGame_c15lytItemCursor_c16lytPachinkoCsr_cFv = .text:0x801C1D40; // type:function size:0x4
executeState_Invisible__Q39dCsGame_c15lytItemCursor_c16lytPachinkoCsr_cFv = .text:0x801C1D50; // type:function size:0x4
finalizeState_Invisible__Q39dCsGame_c15lytItemCursor_c16lytPachinkoCsr_cFv = .text:0x801C1D60; // type:function size:0x4
@@ -11456,12 +11456,12 @@ finalizeState_ChargeFull__Q39dCsGame_c15lytItemCursor_c16lytPachinkoCsr_cFv = .t
init__Q39dCsGame_c15lytItemCursor_c16lytPachinkoCsr_cFv = .text:0x801C2420; // type:function size:0x150
execute__Q39dCsGame_c15lytItemCursor_c16lytPachinkoCsr_cFv = .text:0x801C2570; // type:function size:0xFC
executeState__114sStateMgr_c<Q39dCsGame_c15lytItemCursor_c16lytPachinkoCsr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801C2670; // type:function size:0x10
fn_801C2680 = .text:0x801C2680; // type:function size:0xC
setCharging__Q39dCsGame_c15lytItemCursor_c16lytPachinkoCsr_cFbf = .text:0x801C2680; // type:function size:0xC
initializeState_Normal__Q39dCsGame_c15lytItemCursor_c16lytCrawShotCsr_cFv = .text:0x801C2690; // type:function size:0x10
executeState_Normal__Q39dCsGame_c15lytItemCursor_c16lytCrawShotCsr_cFv = .text:0x801C26A0; // type:function size:0xC8
changeState__114sStateMgr_c<Q39dCsGame_c15lytItemCursor_c16lytCrawShotCsr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x801C2770; // type:function size:0x10
finalizeState_Normal__Q39dCsGame_c15lytItemCursor_c16lytCrawShotCsr_cFv = .text:0x801C2780; // type:function size:0x4
fn_801C2790 = .text:0x801C2790; // type:function size:0x60
setRotate__Q39dCsGame_c15lytItemCursor_c16lytCrawShotCsr_cFf = .text:0x801C2790; // type:function size:0x60
initializeState_ToLock__Q39dCsGame_c15lytItemCursor_c16lytCrawShotCsr_cFv = .text:0x801C27F0; // type:function size:0x8
executeState_ToLock__Q39dCsGame_c15lytItemCursor_c16lytCrawShotCsr_cFv = .text:0x801C2800; // type:function size:0xDC
finalizeState_ToLock__Q39dCsGame_c15lytItemCursor_c16lytCrawShotCsr_cFv = .text:0x801C28E0; // type:function size:0x4
@@ -11472,7 +11472,7 @@ initializeState_ToNormal__Q39dCsGame_c15lytItemCursor_c16lytCrawShotCsr_cFv = .t
executeState_ToNormal__Q39dCsGame_c15lytItemCursor_c16lytCrawShotCsr_cFv = .text:0x801C2A00; // type:function size:0xFC
finalizeState_ToNormal__Q39dCsGame_c15lytItemCursor_c16lytCrawShotCsr_cFv = .text:0x801C2B00; // type:function size:0x4
enter__Q39dCsGame_c15lytItemCursor_c16lytCrawShotCsr_cFv = .text:0x801C2B10; // type:function size:0xDC
fn_801C2BF0 = .text:0x801C2BF0; // type:function size:0x8
setLocked__Q39dCsGame_c15lytItemCursor_c16lytCrawShotCsr_cFb = .text:0x801C2BF0; // type:function size:0x8
init__Q39dCsGame_c15lytItemCursor_c16lytCrawShotCsr_cFv = .text:0x801C2C00; // type:function size:0xA4
execute__Q39dCsGame_c15lytItemCursor_c16lytCrawShotCsr_cFv = .text:0x801C2CB0; // type:function size:0x10
executeState__114sStateMgr_c<Q39dCsGame_c15lytItemCursor_c16lytCrawShotCsr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801C2CC0; // type:function size:0x10
@@ -11490,14 +11490,14 @@ initializeState_ToNormal__Q39dCsGame_c15lytItemCursor_c14lytVacuumCsr_cFv = .tex
executeState_ToNormal__Q39dCsGame_c15lytItemCursor_c14lytVacuumCsr_cFv = .text:0x801C2FD0; // type:function size:0x98
finalizeState_ToNormal__Q39dCsGame_c15lytItemCursor_c14lytVacuumCsr_cFv = .text:0x801C3070; // type:function size:0x4
enter__Q39dCsGame_c15lytItemCursor_c14lytVacuumCsr_cFv = .text:0x801C3080; // type:function size:0xD8
fn_801C3160 = .text:0x801C3160; // type:function size:0x2C
fn_801C3190 = .text:0x801C3190; // type:function size:0x8
setUnkFloat__Q39dCsGame_c15lytItemCursor_c14lytVacuumCsr_cFf = .text:0x801C3160; // type:function size:0x2C
setLocked__Q39dCsGame_c15lytItemCursor_c14lytVacuumCsr_cFb = .text:0x801C3190; // type:function size:0x8
init__Q39dCsGame_c15lytItemCursor_c14lytVacuumCsr_cFv = .text:0x801C31A0; // type:function size:0x50
execute__Q39dCsGame_c15lytItemCursor_c14lytVacuumCsr_cFv = .text:0x801C31F0; // type:function size:0x10
executeState__112sStateMgr_c<Q39dCsGame_c15lytItemCursor_c14lytVacuumCsr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801C3200; // type:function size:0x10
fn_801C3210 = .text:0x801C3210; // type:function size:0x8
fn_801C3220 = .text:0x801C3220; // type:function size:0x8
fn_801C3230 = .text:0x801C3230; // type:function size:0x8
getLyt__Q29dCsGame_c15lytItemCursor_cFv = .text:0x801C3210; // type:function size:0x8
getLyt__13dCsGameLyt2_cFv = .text:0x801C3220; // type:function size:0x8
getLyt__13dCsGameLyt1_cFv = .text:0x801C3230; // type:function size:0x8
build__43sFStateFct_c<Q29dCsGame_c15lytItemCursor_c>FRC12sStateIDIf_c = .text:0x801C3240; // type:function size:0x60
dispose__43sFStateFct_c<Q29dCsGame_c15lytItemCursor_c>FRP10sStateIf_c = .text:0x801C32A0; // type:function size:0xC
build__59sFStateFct_c<Q39dCsGame_c15lytItemCursor_c14lytVacuumCsr_c>FRC12sStateIDIf_c = .text:0x801C32B0; // type:function size:0x60
@@ -30003,7 +30003,7 @@ __vt__14dEmitterBase_c = .data:0x80501400; // type:object size:0xC
lbl_8050140C = .data:0x8050140C; // type:object size:0xB4
lbl_805014C0 = .data:0x805014C0; // type:object size:0x28
lbl_805014E8 = .data:0x805014E8; // type:object size:0x18
lbl_80501500 = .data:0x80501500; // type:object size:0x28
__vt__29dEmitterCallbackCursorTrail_c = .data:0x80501500; // type:object size:0x28
__vt__9SoundInfo = .data:0x80501528; // type:object size:0xC
@19465 = .data:0x80501538; // type:object size:0xC data:string
__vt__9dAcBase_c = .data:0x80501544; // type:object size:0x74
@@ -35798,8 +35798,8 @@ __vt__86sStateMgr_c<17dLytCursorStick_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13
__vt__33sFStateFct_c<17dLytCursorStick_c> = .data:0x8052E938; // type:object size:0x14 scope:weak
__vt__30sFState_c<17dLytCursorStick_c> = .data:0x8052E950; // type:object size:0x18 scope:weak
g_profile_C_GAME = .data:0x8052E968; // type:object size:0xC
lbl_8052E974 = .data:0x8052E974; // type:object size:0x10
lbl_8052E984 = .data:0x8052E984; // type:object size:0x10
lbl_8052E974 = .data:0x8052E974; // type:object size:0xD data:string
lbl_8052E984 = .data:0x8052E984; // type:object size:0xD data:string
lbl_8052E994 = .data:0x8052E994; // type:object size:0x14 data:string
lbl_8052E9A8 = .data:0x8052E9A8; // type:object size:0x1C
lbl_8052E9C4 = .data:0x8052E9C4; // type:object size:0xC data:string
@@ -35843,45 +35843,56 @@ lbl_8052ED54 = .data:0x8052ED54; // type:object size:0x1C data:string
lbl_8052ED70 = .data:0x8052ED70; // type:object size:0x10
lbl_8052ED80 = .data:0x8052ED80; // type:object size:0x20
lbl_8052EDA0 = .data:0x8052EDA0; // type:object size:0x10
lbl_8052EDB0 = .data:0x8052EDB0; // type:object size:0x10
lbl_8052EDC0 = .data:0x8052EDC0; // type:object size:0x84
lbl_8052EE44 = .data:0x8052EE44; // type:object size:0xC
lbl_8052EDB0 = .data:0x8052EDB0; // type:object size:0xD data:string
lbl_8052EDC0 = .data:0x8052EDC0; // type:object size:0xD data:string
lbl_8052EDD0 = .data:0x8052EDD0; // type:object size:0xF data:string
lbl_8052EDE0 = .data:0x8052EDE0; // type:object size:0x10 data:string
lbl_8052EDF0 = .data:0x8052EDF0; // type:object size:0xF data:string
lbl_8052EE00 = .data:0x8052EE00; // type:object size:0x10 data:string
lbl_8052EE10 = .data:0x8052EE10; // type:object size:0xD data:string
lbl_8052EE20 = .data:0x8052EE20; // type:object size:0xA data:string
lbl_8052EE2C = .data:0x8052EE2C; // type:object size:0xA data:string
lbl_8052EE38 = .data:0x8052EE38; // type:object size:0xA data:string
__vt__13dCsGame_HIO_c = .data:0x8052EE44; // type:object size:0xC
__vt__9dCsGame_c = .data:0x8052EE50; // type:object size:0x4C
CsGame__lytItemCursor__vtable = .data:0x8052EE9C; // type:object size:0x2C
lbl_8052EEC8 = .data:0x8052EEC8; // type:object size:0x10
__vt__Q29dCsGame_c15lytItemCursor_c = .data:0x8052EE9C; // type:object size:0x2C
__vt__Q39dCsGame_c15lytItemCursor_c18dCsGameAnmGroups_c = .data:0x8052EEC8; // type:object size:0xC
__vt__66sFStateMgr_c<Q29dCsGame_c15lytItemCursor_c,20sStateMethodUsr_FI_c> = .data:0x8052EED8; // type:object size:0x30
__vt__96sStateMgr_c<Q29dCsGame_c15lytItemCursor_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x8052EF08; // type:object size:0x30
__vt__43sFStateFct_c<Q29dCsGame_c15lytItemCursor_c> = .data:0x8052EF38; // type:object size:0x18
__vt__43sFStateFct_c<Q29dCsGame_c15lytItemCursor_c> = .data:0x8052EF38; // type:object size:0x14
__vt__40sFState_c<Q29dCsGame_c15lytItemCursor_c> = .data:0x8052EF50; // type:object size:0x18
__vt__Q39dCsGame_c15lytItemCursor_c14lytVacuumCsr_c = .data:0x8052EF68; // type:object size:0x10
__vt__Q39dCsGame_c15lytItemCursor_c14lytVacuumCsr_c = .data:0x8052EF68; // type:object size:0xC
__vt__82sFStateMgr_c<Q39dCsGame_c15lytItemCursor_c14lytVacuumCsr_c,20sStateMethodUsr_FI_c> = .data:0x8052EF78; // type:object size:0x30
__vt__112sStateMgr_c<Q39dCsGame_c15lytItemCursor_c14lytVacuumCsr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x8052EFA8; // type:object size:0x30
__vt__59sFStateFct_c<Q39dCsGame_c15lytItemCursor_c14lytVacuumCsr_c> = .data:0x8052EFD8; // type:object size:0x18
__vt__59sFStateFct_c<Q39dCsGame_c15lytItemCursor_c14lytVacuumCsr_c> = .data:0x8052EFD8; // type:object size:0x14
__vt__56sFState_c<Q39dCsGame_c15lytItemCursor_c14lytVacuumCsr_c> = .data:0x8052EFF0; // type:object size:0x18
__vt__Q39dCsGame_c15lytItemCursor_c16lytCrawShotCsr_c = .data:0x8052F008; // type:object size:0x10
__vt__Q39dCsGame_c15lytItemCursor_c16lytCrawShotCsr_c = .data:0x8052F008; // type:object size:0xC
__vt__84sFStateMgr_c<Q39dCsGame_c15lytItemCursor_c16lytCrawShotCsr_c,20sStateMethodUsr_FI_c> = .data:0x8052F018; // type:object size:0x30
__vt__114sStateMgr_c<Q39dCsGame_c15lytItemCursor_c16lytCrawShotCsr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x8052F048; // type:object size:0x30
__vt__61sFStateFct_c<Q39dCsGame_c15lytItemCursor_c16lytCrawShotCsr_c> = .data:0x8052F078; // type:object size:0x18
__vt__61sFStateFct_c<Q39dCsGame_c15lytItemCursor_c16lytCrawShotCsr_c> = .data:0x8052F078; // type:object size:0x14
__vt__58sFState_c<Q39dCsGame_c15lytItemCursor_c16lytCrawShotCsr_c> = .data:0x8052F090; // type:object size:0x18
__vt__Q39dCsGame_c15lytItemCursor_c16lytPachinkoCsr_c = .data:0x8052F0A8; // type:object size:0x10
__vt__Q39dCsGame_c15lytItemCursor_c16lytPachinkoCsr_c = .data:0x8052F0A8; // type:object size:0xC
__vt__84sFStateMgr_c<Q39dCsGame_c15lytItemCursor_c16lytPachinkoCsr_c,20sStateMethodUsr_FI_c> = .data:0x8052F0B8; // type:object size:0x30
__vt__114sStateMgr_c<Q39dCsGame_c15lytItemCursor_c16lytPachinkoCsr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x8052F0E8; // type:object size:0x30
__vt__61sFStateFct_c<Q39dCsGame_c15lytItemCursor_c16lytPachinkoCsr_c> = .data:0x8052F118; // type:object size:0x18
__vt__61sFStateFct_c<Q39dCsGame_c15lytItemCursor_c16lytPachinkoCsr_c> = .data:0x8052F118; // type:object size:0x14
__vt__58sFState_c<Q39dCsGame_c15lytItemCursor_c16lytPachinkoCsr_c> = .data:0x8052F130; // type:object size:0x18
__vt__Q39dCsGame_c15lytItemCursor_c15lytDowsingCsr_c = .data:0x8052F148; // type:object size:0x10
__vt__Q39dCsGame_c15lytItemCursor_c15lytDowsingCsr_c = .data:0x8052F148; // type:object size:0xC
__vt__83sFStateMgr_c<Q39dCsGame_c15lytItemCursor_c15lytDowsingCsr_c,20sStateMethodUsr_FI_c> = .data:0x8052F158; // type:object size:0x30
__vt__113sStateMgr_c<Q39dCsGame_c15lytItemCursor_c15lytDowsingCsr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x8052F188; // type:object size:0x30
__vt__60sFStateFct_c<Q39dCsGame_c15lytItemCursor_c15lytDowsingCsr_c> = .data:0x8052F1B8; // type:object size:0x18
__vt__60sFStateFct_c<Q39dCsGame_c15lytItemCursor_c15lytDowsingCsr_c> = .data:0x8052F1B8; // type:object size:0x14
__vt__57sFState_c<Q39dCsGame_c15lytItemCursor_c15lytDowsingCsr_c> = .data:0x8052F1D0; // type:object size:0x18
__vt__Q39dCsGame_c15lytItemCursor_c11lytBowCsr_c = .data:0x8052F1E8; // type:object size:0x10
__vt__Q39dCsGame_c15lytItemCursor_c11lytBowCsr_c = .data:0x8052F1E8; // type:object size:0xC
__vt__79sFStateMgr_c<Q39dCsGame_c15lytItemCursor_c11lytBowCsr_c,20sStateMethodUsr_FI_c> = .data:0x8052F1F8; // type:object size:0x30
__vt__109sStateMgr_c<Q39dCsGame_c15lytItemCursor_c11lytBowCsr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x8052F228; // type:object size:0x30
__vt__56sFStateFct_c<Q39dCsGame_c15lytItemCursor_c11lytBowCsr_c> = .data:0x8052F258; // type:object size:0x18
__vt__56sFStateFct_c<Q39dCsGame_c15lytItemCursor_c11lytBowCsr_c> = .data:0x8052F258; // type:object size:0x14
__vt__53sFState_c<Q39dCsGame_c15lytItemCursor_c11lytBowCsr_c> = .data:0x8052F270; // type:object size:0x18
lbl_8052F288 = .data:0x8052F288; // type:object size:0x2C
lbl_8052F2B4 = .data:0x8052F2B4; // type:object size:0x7C
__vt__13dCsGameLyt2_c = .data:0x8052F288; // type:object size:0x2C
__vt__13dCsGameLyt1_c = .data:0x8052F2B4; // type:object size:0x2C
__vt__17dCsGameLytBase2_c = .data:0x8052F2E0; // type:object size:0x2C
__vt__17dCsGameLytBase1_c = .data:0x8052F310; // type:object size:0x20
__vt__22dCursorInterfaceGame_c = .data:0x8052F330; // type:object size:0x10
lbl_8052F340 = .data:0x8052F340; // type:object size:0xCF4
__vt__Q23d2d9AnmGroups = .data:0x8052F340; // type:object size:0xC
lbl_8052F34C = .data:0x8052F34C; // type:object size:0xCE8
__vt__58sFStateID_c<Q39dCsGame_c15lytItemCursor_c14lytVacuumCsr_c> = .data:0x80530034; // type:object size:0x34
__vt__60sFStateID_c<Q39dCsGame_c15lytItemCursor_c16lytCrawShotCsr_c> = .data:0x80530068; // type:object size:0x34
__vt__60sFStateID_c<Q39dCsGame_c15lytItemCursor_c16lytPachinkoCsr_c> = .data:0x8053009C; // type:object size:0x34
@@ -40507,10 +40518,10 @@ sLytNames = .sdata:0x80573430; // type:object size:0x8 scope:local data:4byte
@13276 = .sdata:0x80573438; // type:object size:0x4 scope:local data:4byte
@13956 = .sdata:0x8057343C; // type:object size:0x7 scope:local data:string
@13957 = .sdata:0x80573444; // type:object size:0x4 scope:local data:string
lbl_80573448 = .sdata:0x80573448; // type:object size:0x8
lbl_80573448 = .sdata:0x80573448; // type:object size:0x7 data:string
lbl_80573450 = .sdata:0x80573450; // type:object size:0x4 data:string
lbl_80573454 = .sdata:0x80573454; // type:object size:0x8
lbl_8057345C = .sdata:0x8057345C; // type:object size:0x4
lbl_80573454 = .sdata:0x80573454; // type:object size:0x7 data:string
lbl_8057345C = .sdata:0x8057345C; // type:object size:0x1
lbl_80573460 = .sdata:0x80573460; // type:object size:0x4 data:4byte
lbl_80573464 = .sdata:0x80573464; // type:object size:0x4 align:4 data:float
lbl_80573468 = .sdata:0x80573468; // type:object size:0x4 align:4 data:float
@@ -42207,10 +42218,10 @@ lbl_80575998 = .sbss:0x80575998; // type:object size:0x8 data:4byte
BOSS_CAPTION_PTR = .sbss:0x805759A0; // type:object size:0x8 data:4byte
sInstance__17dLytDemoDowsing_c = .sbss:0x805759A8; // type:object size:0x8 data:4byte
lbl_805759B0 = .sbss:0x805759B0; // type:object size:0x2 data:2byte
LYT_SHOP = .sbss:0x805759B4; // type:object size:0x4 data:4byte
sInstance__10dLytShop_c = .sbss:0x805759B4; // type:object size:0x4 data:4byte
lbl_805759B8 = .sbss:0x805759B8; // type:object size:0x8
lbl_805759C0 = .sbss:0x805759C0; // type:object size:0x8
lbl_805759C8 = .sbss:0x805759C8; // type:object size:0x8 data:4byte
sInstance__13dLytDeposit_c = .sbss:0x805759C8; // type:object size:0x8 data:4byte
lbl_805759D0 = .sbss:0x805759D0; // type:object size:0x8 data:4byte
LYT_END_ROLL_PTR = .sbss:0x805759D8; // type:object size:0x8 data:4byte
GLOBAL_FI_POINTER = .sbss:0x805759E0; // type:object size:0x4 data:4byte
@@ -51814,7 +51825,7 @@ StateID_Stanby__9dScGame_c = .bss:0x805B37EC; // type:object size:0x34 data:4byt
StateID_Action__9dScGame_c = .bss:0x805B382C; // type:object size:0x34 data:4byte
currentSpawnInfo__9dScGame_c = .bss:0x805B3860; // type:object size:0x2A
nextSpawnInfo__9dScGame_c = .bss:0x805B388C; // type:object size:0x2A data:byte
lbl_805B38B8 = .bss:0x805B38B8; // type:object size:0x50
sHio = .bss:0x805B38B8; // type:object size:0x50 scope:local
CsGame__lytItemCursor__STATE_INVISIBLE = .bss:0x805B3908; // type:object size:0x40 data:4byte
CsGame__lytItemCursor__STATE_BOW = .bss:0x805B3948; // type:object size:0x40 data:4byte
CsGame__lytItemCursor__STATE_DOWSING = .bss:0x805B3988; // type:object size:0x40 data:4byte
+1 -1
View File
@@ -410,7 +410,7 @@ config.libs = [
Object(NonMatching, "toBeSorted/d_unk_mdl_stuff_2.cpp"),
Object(Matching, "d/d_light_env.cpp"),
Object(NonMatching, "toBeSorted/d_emitter.cpp"),
Object(NonMatching, "toBeSorted/d_effects_2.cpp"),
Object(NonMatching, "toBeSorted/d_emitter_callbacks.cpp"),
Object(Matching, "toBeSorted/sound_info.cpp"),
Object(NonMatching, "d/a/d_a_base.cpp"),
Object(NonMatching, "d/a/obj/d_a_obj_base.cpp"),
+7
View File
@@ -19,6 +19,13 @@ public:
BASE_PROP_0x40 = (1 << 6),
BASE_PROP_0x80 = (1 << 7),
BASE_PROP_0x100 = (1 << 8),
BASE_PROP_0x200 = (1 << 9),
BASE_PROP_0x400 = (1 << 10),
BASE_PROP_UNK_PARTICLE_1 = BASE_PROP_0x400 | BASE_PROP_0x200 | BASE_PROP_0x80 | BASE_PROP_0x40 |
BASE_PROP_0x20 | BASE_PROP_0x10 | BASE_PROP_0x8 | BASE_PROP_0x1,
BASE_PROP_UNK_PARTICLE_2 = BASE_PROP_0x400 | BASE_PROP_0x200 | BASE_PROP_0x80 | BASE_PROP_0x40 |
BASE_PROP_0x20 | BASE_PROP_0x10 | BASE_PROP_0x8 | BASE_PROP_0x2 | BASE_PROP_0x1,
};
// field from profile init
+215 -148
View File
@@ -6,75 +6,70 @@
#include "d/d_cursor_hit_check.h"
#include "d/lyt/d2d.h"
#include "m/m2d.h"
#include "m/m_vec.h"
#include "nw4r/lyt/lyt_pane.h"
#include "s/s_FStateID.hpp"
#include "s/s_State.hpp"
#include "s/s_StateID.hpp"
#include "toBeSorted/d_emitter.h"
#include "toBeSorted/d_emitter_callbacks.h"
struct dCsGame_HIO_c {
dCsGame_HIO_c();
virtual ~dCsGame_HIO_c() {}
/** A variant of the cursor position getter for dCsGame_c */
class dCursorInterfaceGame_c : public dCursorInterface_c {
public:
dCursorInterfaceGame_c() {}
virtual ~dCursorInterfaceGame_c() {}
virtual mVec2_c &getCursorPos();
/* 0x04 */ f32 field_0x04;
/* 0x08 */ f32 field_0x08;
/* 0x0C */ f32 field_0x0C;
/* 0x10 */ f32 field_0x10;
/* 0x14 */ f32 field_0x14;
/* 0x18 */ f32 field_0x18;
/* 0x1C */ f32 field_0x1C;
/* 0x20 */ f32 field_0x20;
/* 0x24 */ f32 field_0x24;
/* 0x28 */ f32 field_0x28;
/* 0x2C */ f32 field_0x2C;
/* 0x30 */ s32 field_0x30;
/* 0x34 */ f32 field_0x34;
/* 0x38 */ f32 field_0x38;
/* 0x3C */ f32 field_0x3C;
/* 0x40 */ u8 field_0x40;
/* 0x41 */ u8 field_0x41;
/* 0x42 */ u8 field_0x42;
private:
/* 0x14 */ mVec2_c field_0x14;
};
class EffectRelatedTmp {
// TODO - these could also be in the dCsGame_c namespace
// TODO - rename these
class dCsGameLytBase1_c {
public:
EffectRelatedTmp();
virtual ~EffectRelatedTmp();
virtual ~dCsGameLytBase1_c() {}
/* 0x0C */ virtual void setPosition(const mVec2_c &pos) {
mPosition = pos;
}
void doSomething(EffectsStruct *s);
};
class EffectRelated : public EffectRelatedTmp {
public:
EffectRelated(u32 x = 0x28, f32 y = 3.5f);
virtual ~EffectRelated() {}
};
class dCsGameLytBase_c {
public:
dCsGameLytBase_c() {}
virtual ~dCsGameLytBase_c() {}
virtual void dCsGameLytBase_0x0C() {} // not overridden
virtual void dCsGameLytBase_0x10() {} // overridden by both
virtual void dCsGameLytBase_0x14() = 0;
virtual void dCsGameLytBase_0x18() {} // not overridden
virtual void dCsGameLytBase_0x1C() {} // not overridden
virtual void dCsGameLytBase_0x20() = 0;
virtual void dCsGameLytBase_0x24() = 0;
virtual void dCsGameLytBase_0x28() = 0;
/* 0x10 */ virtual bool init() = 0;
/* 0x14 */ virtual bool remove() = 0;
/* 0x18 */ virtual bool execute() = 0;
/* 0x1C */ virtual bool draw() = 0;
protected:
/* 0x04 */ u8 field_0x04[0x0C - 0x04];
/* 0x04 */ mVec2_c mPosition;
};
class dCsGameLyt1_c : public dCsGameLytBase_c {
class dCsGameLytBase2_c : public dCsGameLytBase1_c {
public:
virtual ~dCsGameLytBase2_c() {}
/* 0x10 */ virtual bool init();
/* 0x14 */ virtual bool remove() = 0;
/* 0x18 */ virtual bool execute();
/* 0x1C */ virtual bool draw();
/* 0x20 */ virtual void loadResAcc() = 0;
/* 0x24 */ virtual void build() = 0;
/* 0x28 */ virtual d2d::LytBase_c *getLyt() = 0;
protected:
};
class dCsGameLyt1_c : public dCsGameLytBase2_c {
public:
dCsGameLyt1_c() : mpResAcc(nullptr) {}
virtual ~dCsGameLyt1_c() {}
virtual void dCsGameLytBase_0x10() override;
virtual void dCsGameLytBase_0x14() override;
virtual void dCsGameLytBase_0x20() override;
virtual void dCsGameLytBase_0x24() override;
virtual void dCsGameLytBase_0x28() override;
virtual bool init() override;
virtual bool remove() override;
virtual void loadResAcc() override;
virtual void build() override;
virtual d2d::LytBase_c *getLyt() override {
return &mLyt;
}
void setResAcc(m2d::ResAccIf_c *resAcc) {
mpResAcc = resAcc;
@@ -85,15 +80,17 @@ private:
/* 0x10 */ d2d::LytBase_c mLyt;
};
class dCsGameLyt2_c : public dCsGameLytBase_c {
class dCsGameLyt2_c : public dCsGameLytBase2_c {
public:
dCsGameLyt2_c() : mpResAcc(nullptr) {}
virtual ~dCsGameLyt2_c() {}
virtual void dCsGameLytBase_0x10() override;
virtual void dCsGameLytBase_0x14() override;
virtual void dCsGameLytBase_0x20() override;
virtual void dCsGameLytBase_0x24() override;
virtual void dCsGameLytBase_0x28() override;
virtual bool init() override;
virtual bool remove() override;
virtual void loadResAcc() override;
virtual void build() override;
virtual d2d::LytBase_c *getLyt() override {
return &mLyt;
}
void setResAcc(m2d::ResAccIf_c *resAcc) {
mpResAcc = resAcc;
@@ -104,61 +101,62 @@ private:
/* 0x10 */ d2d::LytBase_c mLyt;
};
class Tmp {
public:
d2d::AnmGroup_c mAnmGroups[0x17];
};
class dCsGameAnmGroups_c {
public:
dCsGameAnmGroups_c() {}
virtual ~dCsGameAnmGroups_c() {}
Tmp tmp;
};
/// @brief Game cursor.
class dCsGame_c : public dCs_c {
public:
enum CursorType_e {
CS_NONE = 0,
/** Default pointer */
CS_POINTER_DEF = 1,
/** Grab pointer */
CS_POINTER_CAT = 2,
CS_BOW = 6,
CS_DOWSING = 7,
CS_VACUUM = 8,
CS_PACHINKO = 9,
CS_HOOKSHOT = 10,
CS_PLAYERCAM = 14,
};
dCsGame_c();
virtual ~dCsGame_c();
virtual int create() override;
virtual int doDelete() override;
virtual int execute() override;
virtual int draw() override;
static dCsGame_c *GetInstance() {
return sInstance;
}
void setSomething(int);
bool fn_801BF5E0() const;
bool fn_801BF630() const;
bool shouldDraw() const;
/// @brief Item cursor.
class lytItemCursor_c {
class lytItemCursor_c : public dCsGameLytBase2_c {
friend class dCsGame_c;
public:
enum CursorType_e {
BOW = 6,
};
/// @brief Bow cursor.
class lytBowCsr_c {
public:
lytBowCsr_c(dCsGameAnmGroups_c &g, d2d::LytBase_c *lyt)
: mAnm(g.tmp.mAnmGroups, 0x17), mpLyt(lyt), mStateMgr(*this, sStateID::null) {}
lytBowCsr_c(d2d::AnmGroups g, d2d::LytBase_c *lyt)
: mAnm(g), mpLyt(lyt), mStateMgr(*this, sStateID::null), field_0x50(0.0f), field_0x54(0.0f) {}
virtual ~lytBowCsr_c() {}
void init();
void enter();
inline void select() {
// TODO this function might be breaking vtable order
mStateMgr.changeState(StateID_Select);
}
void execute();
void startDrawOrCharge(f32 f1, f32 f2);
void aimStart();
void ready();
private:
STATE_FUNC_DECLARE(lytBowCsr_c, Invisible);
STATE_FUNC_DECLARE(lytBowCsr_c, Select);
@@ -173,14 +171,24 @@ public:
/* 0x4C */ d2d::LytBase_c *mpLyt;
/* 0x50 */ f32 field_0x50;
/* 0x54 */ f32 field_0x54;
/* 0x58 */ u8 field_0x58[0x68 - 0x58]; // idk
/* 0x58 */ nw4r::lyt::Pane *mpPanesArrowRing[4];
};
/// @brief Dowsing cursor.
class lytDowsingCsr_c {
public:
lytDowsingCsr_c(dCsGameAnmGroups_c &g, d2d::LytBase_c *lyt)
: mAnm(g.tmp.mAnmGroups, 0x17), mpLyt(lyt), mStateMgr(*this, sStateID::null) {}
lytDowsingCsr_c(d2d::AnmGroups g, d2d::LytBase_c *lyt)
: mAnm(g),
mpLyt(lyt),
mStateMgr(*this, sStateID::null),
mpRingAllPane(nullptr),
mpDowsingPane(nullptr),
field_0xC0(0.0f),
field_0xC4(0),
mRotZ(0),
field_0xCC(0.0f),
field_0xD0(0.0f),
mAlpha(0) {}
virtual ~lytDowsingCsr_c() {}
void init();
@@ -188,6 +196,13 @@ public:
void enter();
void execute();
void setParams(const mAng &rot, f32 v1, f32 v2);
void setUnkWord(UNKWORD v);
void moveEffectsIn();
void moveEffectsOut();
void updateEffects();
private:
STATE_FUNC_DECLARE(lytDowsingCsr_c, NotFind);
STATE_FUNC_DECLARE(lytDowsingCsr_c, ToFind);
@@ -200,29 +215,34 @@ public:
/* 0x4C */ d2d::LytBase_c *mpLyt;
/* 0x50 */ EffectsStruct mEffects1;
/* 0x84 */ EffectsStruct mEffects2;
/* 0xB8 */ f32 field_0xB8;
/* 0xBC */ f32 field_0xBC;
/* 0xB8 */ nw4r::lyt::Pane *mpRingAllPane;
/* 0xBC */ nw4r::lyt::Pane *mpDowsingPane;
/* 0xC0 */ f32 field_0xC0;
/* 0xC4 */ u8 field_0xC4[0xD8 - 0xC4];
/* 0xC4 */ UNKWORD field_0xC4;
/* 0xC8 */ mAng mRotZ;
/* 0xCC */ f32 field_0xCC;
/* 0xD0 */ f32 field_0xD0;
/* 0xD4 */ u32 mAlpha;
};
/// @brief Slingshot cursor.
class lytPachinkoCsr_c {
public:
lytPachinkoCsr_c(dCsGameAnmGroups_c &g, d2d::LytBase_c *lyt)
: mAnm(g.tmp.mAnmGroups, 0x17),
lytPachinkoCsr_c(d2d::AnmGroups g, d2d::LytBase_c *lyt)
: mAnm(g),
mpLyt(lyt),
mStateMgr(*this, sStateID::null),
field_0x50(0),
field_0x54(0.0f),
field_0x58(0.0f) {}
mIsCharging(false),
mDrawProgress(0.0f),
mSavedOnProgress(0.0f) {}
virtual ~lytPachinkoCsr_c() {}
void init();
// void enter();
void execute();
void setCharging(bool charging, f32 progress);
private:
STATE_FUNC_DECLARE(lytPachinkoCsr_c, Invisible);
STATE_FUNC_DECLARE(lytPachinkoCsr_c, Select);
@@ -235,16 +255,16 @@ public:
/* 0x04 */ UI_STATE_MGR_DECLARE(lytPachinkoCsr_c);
/* 0x40 */ d2d::AnmGroups mAnm;
/* 0x4C */ d2d::LytBase_c *mpLyt;
/* 0x50 */ u8 field_0x50;
/* 0x54 */ f32 field_0x54;
/* 0x58 */ f32 field_0x58;
/* 0x50 */ bool mIsCharging;
/* 0x54 */ f32 mDrawProgress;
/* 0x58 */ f32 mSavedOnProgress;
};
/// @brief Clawshots cursor.
class lytCrawShotCsr_c {
public:
lytCrawShotCsr_c(dCsGameAnmGroups_c &g, d2d::LytBase_c *lyt)
: mAnm(g.tmp.mAnmGroups, 0x17), mpLyt(lyt), mStateMgr(*this, sStateID::null) {}
lytCrawShotCsr_c(d2d::AnmGroups g, d2d::LytBase_c *lyt)
: mAnm(g), mpLyt(lyt), mStateMgr(*this, sStateID::null), mLocked(false) {}
virtual ~lytCrawShotCsr_c() {}
void init();
@@ -252,6 +272,9 @@ public:
void enter();
void execute();
void setLocked(bool locked);
void setRotate(f32 rot);
private:
STATE_FUNC_DECLARE(lytCrawShotCsr_c, Normal);
STATE_FUNC_DECLARE(lytCrawShotCsr_c, ToLock);
@@ -261,14 +284,18 @@ public:
/* 0x04 */ UI_STATE_MGR_DECLARE(lytCrawShotCsr_c);
/* 0x40 */ d2d::AnmGroups mAnm;
/* 0x4C */ d2d::LytBase_c *mpLyt;
/* 0x50 */ u8 field_0x50[0x6C - 0x50];
/* 0x50 */ u8 field_0x50[0x54 - 0x50];
/* 0x54 */ bool mLocked;
/* 0x58 */ nw4r::lyt::Pane *mpPaneCrawFix;
/* 0x5C */ nw4r::lyt::Pane *mpPaneCraws[3];
/* 0x68 */ f32 field_0x68;
};
/// @brief Gust Bellows cursor.
class lytVacuumCsr_c {
public:
lytVacuumCsr_c(dCsGameAnmGroups_c &g, d2d::LytBase_c *lyt)
: mAnm(g.tmp.mAnmGroups, 0x17), mpLyt(lyt), mStateMgr(*this, sStateID::null) {}
lytVacuumCsr_c(d2d::AnmGroups g, d2d::LytBase_c *lyt)
: mAnm(g), mpLyt(lyt), mStateMgr(*this, sStateID::null), mLocked(false) {}
virtual ~lytVacuumCsr_c() {}
void init();
@@ -276,6 +303,9 @@ public:
void enter();
void execute();
void setUnkFloat(f32 f);
void setLocked(bool locked);
private:
STATE_FUNC_DECLARE(lytVacuumCsr_c, Normal);
STATE_FUNC_DECLARE(lytVacuumCsr_c, ToLock);
@@ -285,49 +315,47 @@ public:
/* 0x04 */ UI_STATE_MGR_DECLARE(lytVacuumCsr_c);
/* 0x40 */ d2d::AnmGroups mAnm;
/* 0x4C */ d2d::LytBase_c *mpLyt;
/* 0x50 */ u8 field_0x50[0x5C - 0x50];
/* 0x5C */ u8 field_0x5C;
/* 0x50 */ u8 field_0x50[0x54 - 0x50];
/* 0x54 */ f32 field_0x54;
/* 0x58 */ u8 field_0x58[0x5C - 0x58];
/* 0x5C */ bool mLocked;
};
public:
lytItemCursor_c()
: mStateMgr(*this, sStateID::null),
mAnm(mAnmGroups.tmp.mAnmGroups, 0x17),
mBow(mAnmGroups, &mLyt),
mDowsing(mAnmGroups, &mLyt),
mPachinko(mAnmGroups, &mLyt),
mCrawShot(mAnmGroups, &mLyt),
mVacuum(mAnmGroups, &mLyt) {}
mBow(mAnm, &mLyt),
mDowsing(mAnm, &mLyt),
mPachinko(mAnm, &mLyt),
mCrawShot(mAnm, &mLyt),
mVacuum(mAnm, &mLyt) {}
virtual ~lytItemCursor_c() {}
virtual void lytItemCursor0x0C();
virtual bool init();
virtual bool remove();
bool preInit();
bool doInit();
virtual bool init() override;
virtual bool remove() override;
virtual bool execute() override;
virtual void loadResAcc() override;
virtual void build() override;
virtual d2d::LytBase_c *getLyt() override {
return &mLyt;
}
void setResAcc(m2d::ResAccIf_c *resAcc) {
mpResAcc = resAcc;
}
bool isCursorActive() const {
return mCursorActive;
}
void setField0x9A0(u8 val) {
mCursorActive = val;
}
// TODO - maybe a system for overriding cursor type
void setNextCursorType(CursorType_e cs) {
mNextCursor = true;
mNextCursorType = cs;
}
void offNextCursor() {
mNextCursor = false;
}
void changeState(const sFStateID_c<lytItemCursor_c> &newState);
void pachinkoSetCharging(bool charging, f32 progress);
void dowsingSetParams(const mAng &rot, f32 v1, f32 v2);
void dowsingSetUnkWord(UNKWORD v);
void vacuumSetUnkFloat(f32 v);
void vacuumSetLocked(bool locked);
void clawshotsSetLocked(bool locked);
void bowStartDrawOrCharge(f32 f1, f32 f2);
void bowAimStart();
void bowReady();
private:
STATE_FUNC_DECLARE(lytItemCursor_c, Invisible);
STATE_FUNC_DECLARE(lytItemCursor_c, Bow);
@@ -337,13 +365,30 @@ public:
STATE_FUNC_DECLARE(lytItemCursor_c, HookShot);
STATE_FUNC_DECLARE(lytItemCursor_c, PlayerCam);
/* 0x004 */ f32 field_0x004;
/* 0x008 */ f32 field_0x008;
/* 0x00C */ UI_STATE_MGR_DECLARE(lytItemCursor_c);
template <int N>
class Tmp {
public:
d2d::AnmGroup_c mAnmGroups[N];
};
class dCsGameAnmGroups_c {
public:
dCsGameAnmGroups_c() {}
virtual ~dCsGameAnmGroups_c() {}
d2d::AnmGroup_c &operator[](int idx) {
return tmp.mAnmGroups[idx];
}
Tmp<0x17> tmp;
};
/* 0x048 */ EffectsStruct mEffects;
/* 0x07C */ EffectRelated mEffectRelated;
/* 0x080 */ u8 field_0x80[0xC8 - 0x80];
/* 0x07C */ dEmitterCallbackCursorTrail_c mTrailCb;
/* 0x0B0 */ mVec3_c mPositionThisFrame;
/* 0x0BC */ mVec3_c mPositionLastFrame;
/* 0x0C8 */ m2d::ResAccIf_c *mpResAcc;
/* 0x0CC */ d2d::LytBase_c mLyt;
/* 0x15C */ dCsGameAnmGroups_c mAnmGroups;
@@ -354,33 +399,55 @@ public:
/* 0x8C8 */ lytCrawShotCsr_c mCrawShot;
/* 0x934 */ lytVacuumCsr_c mVacuum;
/* 0x994 */ u8 field_0x994[0x99C - 0x994]; // seemingly not used
/* 0x99C */ bool mCursorTrail;
/* 0x99C */ bool mDrawCursorTrailThisFrame;
/* 0x99D */ u8 field_0x99D[0x9A0 - 0x99D]; // Havent seen this range be set
/* 0x9A0 */ bool mCursorActive;
/* 0x9A1 */ bool field_0x9A1; // Compares to mCursorActive to change state
/* 0x9A2 */ bool field_0x9A2; // A way of signalling Lyt non-normal state.
/* 0x9A4 */ CursorType_e mActiveCursorType;
/* 0x9A8 */ bool mNextCursor;
/* 0x9AC */ CursorType_e mNextCursorType;
};
void setNextCursorType(lytItemCursor_c::CursorType_e);
void setCursorTypeNoneMaybe();
void setCursorTypePointer();
void setNextCursorType(CursorType_e);
void noneSet();
void pointerDefSet();
void pointerCatSet();
void offNextCursor() {
mCursor.offNextCursor();
void pachinkoSetCharging(bool charging, f32 progress);
void dowsingSetParams(const mAng &rot, f32 v1, f32 v2);
void dowsingSetUnkWord(UNKWORD v);
void vacuumSetNotLocked(f32 v);
void vacuumSetLocked();
void clawshotsSetLocked(bool locked);
void bowStartDrawOrCharge(f32 f1, f32 f2);
void bowAimStart();
void bowReady();
void setCursorTypePlayerCam();
bool isCursorActive() const {
return mCursorActive;
}
void setField0x9A0(u8 val) {
mCursorActive = val;
}
void offNextCursor() {
mNextCursorActive = false;
}
private:
static dCsGame_c *sInstance;
bool isForcedHidden() const;
/* 0x068 */ m2d::ResAccIf_c mCursorResAcc;
/* 0x11C */ m2d::ResAccIf_c mMain2DResAcc;
/* 0x1D0 */ dCursorInterfaceGame_c mCursorIf;
/* 0x1EC */ s32 mCursorType;
/* 0x1EC */ CursorType_e mCursorType;
/* 0x1F0 */ dCsGameLyt1_c mLyt1;
/* 0x290 */ dCsGameLyt2_c mLyt2;
/* 0x330 */ lytItemCursor_c mCursor;
/* 0xCD0 */ bool mCursorActive;
/* 0xCD1 */ bool field_0x9A1; // Compares to mCursorActive to change state
/* 0xCD2 */ bool field_0x9A2; // A way of signalling Lyt non-normal state.
/* 0xCD4 */ CursorType_e mActiveCursorType;
/* 0xCD8 */ bool mNextCursorActive;
/* 0xCDC */ CursorType_e mNextCursorType;
};
#endif
-11
View File
@@ -130,17 +130,6 @@ private:
/* 0x10 */ dCursorHitCheck_c *mpHit;
};
/** A variant of the cursor position getter for dCsGame_c */
class dCursorInterfaceGame_c : public dCursorInterface_c {
public:
dCursorInterfaceGame_c() {}
virtual ~dCursorInterfaceGame_c() {}
virtual mVec2_c &getCursorPos();
private:
/* 0x14 */ u8 _0x14[8];
};
/**
* The cursor manager. Cursors and hit targets are registered here,
* and this manager will track the target of each pointer.
+4 -10
View File
@@ -227,6 +227,10 @@ struct AnmGroupBase_c {
return mpFrameCtrl->getAnimDuration();
}
inline f32 getLastFrame() const {
return mpFrameCtrl->getAnimDuration() - 1.0f;
}
inline f32 getFrame() const {
return mpFrameCtrl->getFrame();
}
@@ -292,20 +296,10 @@ struct AnmGroupBase_c {
syncAnmFrame();
}
inline void setRatio(f32 ratio) {
mpFrameCtrl->setRatio(ratio);
syncAnmFrame();
}
inline f32 getRatio() const {
return mpFrameCtrl->getRatio();
}
inline void setBackwardsRatio(f32 ratio) {
mpFrameCtrl->setBackwardsRatio(ratio);
syncAnmFrame();
}
inline f32 getNextFrame() const {
return mpFrameCtrl->getNextFrame();
}
+14
View File
@@ -0,0 +1,14 @@
#ifndef D_LYT_DEPOSIT_H
#define D_LYT_DEPOSIT_H
class dLytDeposit_c {
public:
static dLytDeposit_c *GetInstance() {
return sInstance;
}
private:
static dLytDeposit_c *sInstance;
};
#endif
+8 -10
View File
@@ -268,6 +268,7 @@ private:
class dLytMapMain_c : public m2d::Base_c {
friend class dLytMap_c;
public:
dLytMapMain_c();
virtual ~dLytMapMain_c();
@@ -342,7 +343,7 @@ private:
/* 0x8904 */ mVec3_c field_0x8904;
/* 0x8910 */ mVec3_c field_0x8910;
/* 0x891C */ mVec3_c field_0x891C;
/* 0x8928 */ u8 _0x8928[0x8930 - 0x8928];
/* 0x8930 */ mVec3_c field_0x8930;
@@ -350,7 +351,7 @@ private:
/* 0x8948 */ u8 idkfixmelater[0x4BC0];
/* 0x8C94 */ s32 field_0x8C94;
// ...
/* 0x8CC4 */ mVec3_c field_0x8CC4;
@@ -411,16 +412,13 @@ public:
void build();
static bool isValid(s32 val) {
if (val >= 2 && val < 7) {
return true;
}
return false;
bool isSomeMapFieldEq2Or4Or5Or6() const {
return mMapMain.field_0x8C94 == 2 || mMapMain.field_0x8C94 == 4 || mMapMain.field_0x8C94 == 5 ||
mMapMain.field_0x8C94 == 6;
}
bool unkMeterCheck() const {
s32 val = mMapMain.field_0x8C94;
return isValid(val) && ((1 << (val - 2)) & 0x1D);
bool isSomeMapFieldEq10() const {
return mMapMain.field_0x8C94 == 10;
}
void lightPillarRelated(s32 p1, s32 p2, s32 p3) {
+14
View File
@@ -0,0 +1,14 @@
#ifndef D_LYT_SHOP_H
#define D_LYT_SHOP_H
class dLytShop_c {
public:
static dLytShop_c *GetInstance() {
return sInstance;
}
private:
static dLytShop_c *sInstance;
};
#endif
-10
View File
@@ -97,21 +97,11 @@ public:
mFlags = mFlags | FLAG_BACKWARDS;
}
inline void setRatio(f32 ratio) {
f32 actualEnd = mEndFrame - 1.0f;
setFrame(actualEnd * ratio);
}
inline f32 getRatio() const {
f32 actualEnd = mEndFrame - 1.0f;
return mCurrFrame / actualEnd;
}
inline void setBackwardsRatio(f32 ratio) {
f32 actualEnd = mEndFrame - 1.0f;
setFrame(actualEnd - (ratio * actualEnd));
}
inline f32 getNextFrame() const {
f32 end = mEndFrame;
f32 f = mCurrFrame + 1.0f;
+4
View File
@@ -71,6 +71,10 @@ public:
mTranslate = value;
}
const math::VEC3 &GetRotate() const {
return mRotate;
}
void SetRotate(const nw4r::math::VEC3 &value) {
mRotate = value;
}
+3 -3
View File
@@ -43,15 +43,15 @@ public:
return mpEmitterCallback;
}
void setEmitterCallback(dEmitterCallback_c *cb);
void setParticleCallback(dParticleCallback_c *cb);
protected:
void deactivateEmitters();
void stopCalcEmitters();
void playCalcEmitters();
static void loadColors(JPABaseEmitter *emitter, const GXColor *c1, const GXColor *c2, s32 idx1, s32 idx2);
void setEmitterCallback(dEmitterCallback_c *cb);
void setParticleCallback(dParticleCallback_c *cb);
void setImmortal();
static JPABaseEmitter *GetNextEmitter(JPABaseEmitter *head);
+28
View File
@@ -0,0 +1,28 @@
#ifndef D_EMITTER_CALLBACKS_H
#define D_EMITTER_CALLBACKS_H
#include "m/m_vec.h"
#include "toBeSorted/d_emitter.h"
/**
* A callback responsible for emitting the trail left by the red item cursor dot.
* Used by Bow, Gust Bellows, Clawshots, Slingshot.
*/
class dEmitterCallbackCursorTrail_c : public dEmitterCallback_c {
public:
dEmitterCallbackCursorTrail_c(u32 x = 0x28, f32 y = 3.5f);
virtual ~dEmitterCallbackCursorTrail_c() {}
virtual void executeAfter(JPABaseEmitter *) override;
virtual void create(JPABaseEmitter *) override;
virtual void vt_0x20(f32, f32) override;
private:
/* 0x10 */ f32 field_0x10;
/* 0x14 */ u16 field_0x14;
/* 0x16 */ u8 _0x16[0x1C - 0x16];
/* 0x1C */ mVec3_c posNMinus1;
/* 0x28 */ mVec3_c posNMinus2;
};
#endif
+1 -3
View File
@@ -1,14 +1,13 @@
#ifndef EVENT_MANAGER_H
#define EVENT_MANAGER_H
#include "common.h"
#include "d/a/obj/d_a_obj_base.h"
#include "f/f_base.h"
#include "sized_string.h"
#include "toBeSorted/event.h"
class dAcBase_c;
class dAcObjBase_c;
class EventManager {
public:
@@ -53,7 +52,6 @@ public:
static bool FUN_800a0ba0();
private:
/* 0x000 */ u8 _000[0x084 - 0x000];
/* 0x084 */ Event mCurrentEvent;
/* 0x0C4 */ u8 _0C4[0x184 - 0x0C4];
+46
View File
@@ -0,0 +1,46 @@
#ifndef EVENT_MANAGER_UTIL_H
#define EVENT_MANAGER_UTIL_H
#include "d/d_base.h"
#include "d/d_message.h"
#include "d/lyt/d_lyt_deposit.h"
#include "d/lyt/d_lyt_map.h"
#include "d/lyt/d_lyt_shop.h"
#include "toBeSorted/event_manager.h"
#include "toBeSorted/misc_actor.h"
// Pulling these functions out into a separate file to avoid circular dependencies
inline bool EventManagerNotDrawControl0x80() {
return EventManager::isInEvent() && (dBase_c::s_DrawControlFlags & 0x80) == 0;
}
inline bool EventManagerNotSkyKeepPuzzle() {
return EventManager::isInEvent() && !checkIsInSkykeepPuzzle();
}
inline bool EventManagerNotInShop() {
return EventManager::isInEvent() && dLytShop_c::GetInstance() == nullptr;
}
inline bool EventManagerNotInDeposit() {
return EventManager::isInEvent() && dLytDeposit_c::GetInstance() == nullptr;
}
inline bool EventManagerIsInMap() {
return EventManager::isInEvent() && dLytMap_c::GetInstance() != nullptr;
}
inline bool EventManagerIsMapOpen() {
return EventManagerIsInMap() && dLytMap_c::GetInstance()->isOpenMaybe();
}
inline bool EventManagerIsMapOpenAndMessage() {
return EventManagerIsMapOpen() && !dMessage_c::getInstance()->getField_0x328();
}
inline bool EventManagerIsMapOpenAnd0x9008Eq10() {
return EventManagerIsMapOpen() && dLytMap_c::GetInstance()->isSomeMapFieldEq10();
}
#endif
+919 -153
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -39,7 +39,7 @@ void dCsMgr_c::execute() {
u32 mask = it->mCursorMask;
if (mask) {
for (HitCheckList::Iterator chkIt = mList2.GetBeginIter(); chkIt != mList2.GetEndIter(); ++it) {
for (HitCheckList::Iterator chkIt = mList2.GetBeginIter(); chkIt != mList2.GetEndIter(); ++chkIt) {
if ((chkIt->mMask & mask) != 0) {
bool hit = chkIt->checkHit(x, y);
if (chkIt->checkOverrideCallback(hit)) {
+3 -3
View File
@@ -7,8 +7,8 @@
#include "d/d_cs_game.h"
#include "d/d_gfx.h"
#include "d/d_hbm.h"
#include "d/d_pad_nav.h"
#include "d/d_pad_manager.h"
#include "d/d_pad_nav.h"
#include "d/d_reset.h"
#include "d/d_sc_game.h"
#include "d/lyt/d_lyt_control_game.h"
@@ -222,8 +222,8 @@ void beginPad_BR() {
KPADEnableMplsAccRevise(0);
KPADSetMplsAccReviseParam(0, 0.03f, 0.4f);
if ((dCsGame_c::GetInstance() && dCsGame_c::GetInstance()->fn_801BF5E0() && !ex.field_0x22D0) ||
(dAcPy_c::GetLink() &&
if ((dCsGame_c::GetInstance() != nullptr && dCsGame_c::GetInstance()->shouldDraw() && !ex.field_0x22D0) ||
(dAcPy_c::GetLink() != nullptr &&
dAcPy_c::GetLink()->checkActionFlagsCont(0x400 | 0x100 | 0x80 | 0x40 | 0x10 | 0x4 | 0x2 | 0x1) &&
!dAcPy_c::GetLink()->vt_0x1C0() && !dLytMeter_c::GetMain()->getField_0x1377F()) ||
ex.field_0x22CF) {
+3 -3
View File
@@ -236,7 +236,7 @@ void dStageMgr_c::initializeState_SceneChangeSave() {
if (LYT_SAVE_MGR != nullptr) {
fn_80285600(LYT_SAVE_MGR, 3, 0);
}
dBase_c::s_NextExecuteControlFlags |= 1;
dBase_c::s_NextExecuteControlFlags |= BASE_PROP_0x1;
dSys_c::setFrameRate(2);
}
@@ -252,8 +252,8 @@ void dStageMgr_c::executeState_SceneChangeSave() {
}
void dStageMgr_c::finalizeState_SceneChangeSave() {
dBase_c::s_NextExecuteControlFlags &= ~1;
dBase_c::s_DrawControlFlags &= ~1;
dBase_c::s_NextExecuteControlFlags &= ~BASE_PROP_0x1;
dBase_c::s_DrawControlFlags &= ~BASE_PROP_0x1;
}
void dStageMgr_c::initializeState_RestartSceneWait() {
+8 -8
View File
@@ -163,8 +163,8 @@ bool dLytGameOver_c::remove() {
mResAcc2.detach();
mResAcc1.detach();
dBase_c::s_NextExecuteControlFlags &= ~0x200;
dBase_c::s_DrawControlFlags &= ~0x200;
dBase_c::s_NextExecuteControlFlags &= ~dBase_c::BASE_PROP_0x200;
dBase_c::s_DrawControlFlags &= ~dBase_c::BASE_PROP_0x200;
return true;
}
@@ -435,8 +435,8 @@ void dLytGameOverMgr_c::executeState_Select() {
if (mTimer < 20) {
mTimer++;
if (mTimer == 20) {
dBase_c::s_NextExecuteControlFlags |= 1;
dBase_c::s_DrawControlFlags |= 1;
dBase_c::s_NextExecuteControlFlags |= dBase_c::BASE_PROP_0x1;
dBase_c::s_DrawControlFlags |= dBase_c::BASE_PROP_0x1;
}
}
if (mMain.isChangingState() == true) {
@@ -563,11 +563,11 @@ void dLytGameOverMgr_c::executeState_Select() {
break;
}
case 100: {
dBase_c::s_NextExecuteControlFlags &= ~0x1;
dBase_c::s_DrawControlFlags &= ~0x1;
dBase_c::s_NextExecuteControlFlags &= ~dBase_c::BASE_PROP_0x1;
dBase_c::s_DrawControlFlags &= ~dBase_c::BASE_PROP_0x1;
dBase_c::s_NextExecuteControlFlags |= 0x200;
dBase_c::s_DrawControlFlags |= 0x200;
dBase_c::s_NextExecuteControlFlags |= dBase_c::BASE_PROP_0x200;
dBase_c::s_DrawControlFlags |= dBase_c::BASE_PROP_0x200;
mStep++;
break;
+11 -11
View File
@@ -112,8 +112,8 @@ bool dLytPauseMain_c::remove() {
mpPauseBack = nullptr;
}
dBase_c::s_NextExecuteControlFlags &= ~0x1;
dBase_c::s_DrawControlFlags &= ~0x1;
dBase_c::s_NextExecuteControlFlags &= ~dBase_c::BASE_PROP_0x1;
dBase_c::s_DrawControlFlags &= ~dBase_c::BASE_PROP_0x1;
return true;
}
@@ -260,7 +260,7 @@ void dLytPauseMain_c::executeState_In() {
}
}
void dLytPauseMain_c::finalizeState_In() {
dBase_c::s_DrawControlFlags |= 0x1;
dBase_c::s_DrawControlFlags |= dBase_c::BASE_PROP_0x1;
}
void dLytPauseMain_c::initializeState_Wait() {
@@ -462,7 +462,7 @@ void dLytPauseMain_c::finalizeState_GetDemo() {}
void dLytPauseMain_c::initializeState_Out() {
mPartStateChangeFlags = 0;
mStep = 0;
dBase_c::s_DrawControlFlags &= ~0x1;
dBase_c::s_DrawControlFlags &= ~dBase_c::BASE_PROP_0x1;
mpArrow->requestOut();
}
void dLytPauseMain_c::executeState_Out() {
@@ -580,7 +580,7 @@ void dLytPauseMgr_c::executeState_None() {
field_0x083A = true;
mMain.requestIn();
mStateMgr.changeState(StateID_In);
dBase_c::s_NextExecuteControlFlags |= 0x1;
dBase_c::s_NextExecuteControlFlags |= BASE_PROP_0x1;
dLytMeter_c::GetInstance()->setMeterField_0x13750(3);
dLytControlGame_c *lytControl = dLytControlGame_c::getInstance();
if (lytControl->isPauseDemo()) {
@@ -600,7 +600,7 @@ void dLytPauseMgr_c::executeState_In() {
mStateMgr.changeState(StateID_GetDemo);
} else {
mStateMgr.changeState(StateID_Wait);
dCsGame_c::GetInstance()->setCursorTypePointer();
dCsGame_c::GetInstance()->pointerDefSet();
}
}
}
@@ -629,7 +629,7 @@ void dLytPauseMgr_c::executeState_Wait() {
dPad::ex_c::getInstance()->centerCursor(mPad::getCurrentCoreID(), true);
}
dCsGame_c::GetInstance()->setCursorTypePointer();
dCsGame_c::GetInstance()->pointerDefSet();
if (dPad::getDownTrig1() ||
(dLytControlGame_c::getInstance()->getCurrentPauseDisp() != dLytPauseMgr_c::DISP_00_INVENTORY &&
@@ -685,7 +685,7 @@ void dLytPauseMgr_c::executeState_Wait() {
if (checkRing()) {
if (mTimer >= 10) {
mTimer = 0;
dCsGame_c::GetInstance()->setCursorTypeNoneMaybe();
dCsGame_c::GetInstance()->noneSet();
mStateMgr.changeState(StateID_Ring);
} else {
mTimer++;
@@ -715,7 +715,7 @@ void dLytPauseMgr_c::initializeState_Change() {
}
void dLytPauseMgr_c::executeState_Change() {
if (!sInstance->getField_0x083E()) {
dCsGame_c::GetInstance()->setCursorTypePointer();
dCsGame_c::GetInstance()->pointerDefSet();
}
if (mMain.isChangingState() == true) {
@@ -817,8 +817,8 @@ void dLytPauseMgr_c::initializeState_Out() {
}
void dLytPauseMgr_c::executeState_Out() {
if (mMain.isChangingState() == true) {
dBase_c::s_NextExecuteControlFlags &= ~0x1;
dBase_c::s_DrawControlFlags &= ~0x1;
dBase_c::s_NextExecuteControlFlags &= ~dBase_c::BASE_PROP_0x1;
dBase_c::s_DrawControlFlags &= ~dBase_c::BASE_PROP_0x1;
mStateMgr.changeState(StateID_None);
}
}
+1 -1
View File
@@ -996,7 +996,7 @@ bool dLytMeterMain_c::remove() {
void dLytMeterMain_c::fn_800D5290() {
dLytMeter_c *meter = dLytMeter_c::GetInstance();
if (dLytMap_c::GetInstance() != nullptr && !dLytMap_c::GetInstance()->unkMeterCheck()) {
if (dLytMap_c::GetInstance() != nullptr && !dLytMap_c::GetInstance()->isSomeMapFieldEq2Or4Or5Or6()) {
meter->setFlags(METER_BTN_PLUS);
}
+2 -3
View File
@@ -856,7 +856,7 @@ void dJEffManager_c::execute() {
sMassObjEmitters[i].execute();
}
if ((dBase_c::s_ExecuteControlFlags & 0x6F9) == 0) {
if ((dBase_c::s_ExecuteControlFlags & (dBase_c::BASE_PROP_UNK_PARTICLE_1)) == 0) {
for (int i = 0; i < 12; i++) {
dParticle::mgr_c::GetInstance()->calc(i);
}
@@ -886,8 +886,7 @@ void dJEffManager_c::draw() {
bool dJEffManager_c::shouldBePaused(dBase_c *owner) {
return owner != nullptr && !owner->checkBaseProperty(dBase_c::BASE_PROP_0x4) &&
(EventManager::isInEvent() || owner->checkProcControl(fBase_c::DISABLE_EXECUTE) ||
// TODO execute control flags
(owner->s_ExecuteControlFlags & 0x6fb));
(owner->s_ExecuteControlFlags & dBase_c::BASE_PROP_UNK_PARTICLE_2));
}
void dJEffManager_c::draw(const JPADrawInfo *info, u32 groupId) {
+61
View File
@@ -0,0 +1,61 @@
#include "toBeSorted/d_emitter_callbacks.h"
#include "JSystem/JParticle/JPAEmitter.h"
#include "common.h"
#include "m/m_vec.h"
dEmitterCallbackCursorTrail_c::dEmitterCallbackCursorTrail_c(u32 a, f32 b) : field_0x10(b), field_0x14(a) {
// TODO - TList
}
static void fn_8002B9D0(mVec3_c &newPos, const mVec3_c&, const mVec3_c&, const mVec3_c&, const mVec3_c&, f32) {
// TODO - ...
// Probably cubic B-Spline interpolation?
}
void dEmitterCallbackCursorTrail_c::executeAfter(JPABaseEmitter *emitter) {
mVec3_c newPos;
mVec3_c pos;
mVec3_c v2;
mVec3_c v1;
emitter->getGlobalTranslation(pos);
if (!emitter->checkStatus(JPAEmtrStts_StopCalc) && emitter->mMaxFrame == 0) {
v1 = (pos - posNMinus1) * 0.5f;
v2 = (posNMinus1 - posNMinus2) * 0.5f;
f32 dist = pos.distance(posNMinus1);
dist = dist * 0.1f * field_0x10;
if (field_0x14 != 0 && dist > field_0x14) {
dist = field_0x14;
}
if (dist > 1.0f) {
f32 f, step;
step = 1.0f / dist;
for (f = step; f < 1.0f; f += step) {
fn_8002B9D0(newPos, posNMinus1, v2, v1, pos, f);
JPABaseParticle *ptc = emitter->createParticle();
if (ptc != nullptr) {
ptc->setOffsetPosition(newPos);
}
}
}
}
if (emitter->getUserWork() == 0) {
posNMinus2 = posNMinus1;
posNMinus1 = pos;
}
}
void dEmitterCallbackCursorTrail_c::create(JPABaseEmitter *emitter) {
emitter->getGlobalTranslation(posNMinus1);
posNMinus2 = posNMinus1;
}
void dEmitterCallbackCursorTrail_c::vt_0x20(f32 x, f32 y) {
posNMinus2.x += x;
posNMinus2.z += y;
posNMinus1.x += x;
posNMinus1.z += y;
}