mirror of
https://github.com/zeldaret/ss
synced 2026-08-06 01:48:32 -04:00
Player checkpoint
This commit is contained in:
+162
-162
@@ -2072,7 +2072,7 @@ fn_80050010 = .text:0x80050010; // type:function size:0x4
|
||||
fn_80050020 = .text:0x80050020; // type:function size:0x8
|
||||
fn_80050030 = .text:0x80050030; // type:function size:0x1A8
|
||||
fn_800501E0 = .text:0x800501E0; // type:function size:0x40
|
||||
fn_80050220 = .text:0x80050220; // type:function size:0x40
|
||||
__dt__14UnkPlayerClassFv = .text:0x80050220; // type:function size:0x40
|
||||
AcNpcKyuiBase__initStates = .text:0x80050260; // type:function size:0x1E0
|
||||
fn_80050440 = .text:0x80050440; // type:function size:0x58
|
||||
AcNpcKyuiBase__dtor = .text:0x800504A0; // type:function size:0x5C
|
||||
@@ -2439,24 +2439,24 @@ fn_8005B4B0 = .text:0x8005B4B0; // type:function size:0xDC
|
||||
fn_8005B590 = .text:0x8005B590; // type:function size:0xB0
|
||||
fn_8005B640 = .text:0x8005B640; // type:function size:0x2C
|
||||
fn_8005B670 = .text:0x8005B670; // type:function size:0x64
|
||||
ActorLink__preExecute = .text:0x8005B6E0; // type:function size:0x4C
|
||||
fn_8005B730 = .text:0x8005B730; // type:function size:0x18
|
||||
isInAnyEvent = .text:0x8005B750; // type:function size:0x24
|
||||
isAttackingLeft = .text:0x8005B780; // type:function size:0x20
|
||||
isAttackingRight = .text:0x8005B7A0; // type:function size:0x20
|
||||
fn_8005B7C0 = .text:0x8005B7C0; // type:function size:0x30
|
||||
isAttackingUpwards = .text:0x8005B7F0; // type:function size:0x20
|
||||
isStabbing = .text:0x8005B810; // type:function size:0x14
|
||||
isSpinAttackingHorizontally = .text:0x8005B830; // type:function size:0x20
|
||||
isSpinAttackingVertically = .text:0x8005B850; // type:function size:0x20
|
||||
fn_8005B870 = .text:0x8005B870; // type:function size:0x28
|
||||
fn_8005B8A0 = .text:0x8005B8A0; // type:function size:0xC0
|
||||
setPosYRot__7dAcPy_cFRC7mVec3_c4mAngiii = .text:0x8005B960; // type:function size:0x44
|
||||
setTransform__7dAcPy_cFRC6mMtx_ciii = .text:0x8005B9B0; // type:function size:0x98
|
||||
fn_8005BA50 = .text:0x8005BA50; // type:function size:0x30
|
||||
fn_8005BA80 = .text:0x8005BA80; // type:function size:0x8
|
||||
fn_8005BA90 = .text:0x8005BA90; // type:function size:0x8
|
||||
fn_8005BAA0 = .text:0x8005BAA0; // type:function size:0x8
|
||||
preExecute__17daPlayerActBase_cFv = .text:0x8005B6E0; // type:function size:0x4C
|
||||
postExecute__17daPlayerActBase_cFQ27fBase_c12MAIN_STATE_e = .text:0x8005B730; // type:function size:0x18
|
||||
isInEvent__17daPlayerActBase_cFv = .text:0x8005B750; // type:function size:0x24
|
||||
isAttackingLeft__17daPlayerActBase_cCFv = .text:0x8005B780; // type:function size:0x20
|
||||
isAttackingRight__17daPlayerActBase_cCFv = .text:0x8005B7A0; // type:function size:0x20
|
||||
isAttackingDown__17daPlayerActBase_cCFv = .text:0x8005B7C0; // type:function size:0x30
|
||||
isAttackingUp__17daPlayerActBase_cCFv = .text:0x8005B7F0; // type:function size:0x20
|
||||
isAttackingStab__17daPlayerActBase_cCFv = .text:0x8005B810; // type:function size:0x14
|
||||
isAttackingSpinHorizontal__17daPlayerActBase_cCFv = .text:0x8005B830; // type:function size:0x20
|
||||
isAttackingSpinVertical__17daPlayerActBase_cCFv = .text:0x8005B850; // type:function size:0x20
|
||||
setBonkRelatedAnimFlag__17daPlayerActBase_cFb = .text:0x8005B870; // type:function size:0x28
|
||||
setPosRot__17daPlayerActBase_cFPC7mVec3_cPC7mAng3_cbii = .text:0x8005B8A0; // type:function size:0xC0
|
||||
setPosYRot__17daPlayerActBase_cFRC7mVec3_c4mAngbii = .text:0x8005B960; // type:function size:0x44
|
||||
setTransform__17daPlayerActBase_cFRC6mMtx_cbii = .text:0x8005B9B0; // type:function size:0x98
|
||||
someTargetedActorCheck__17daPlayerActBase_cCFv = .text:0x8005BA50; // type:function size:0x30
|
||||
getTargetedActor1__17daPlayerActBase_cCFv = .text:0x8005BA80; // type:function size:0x8
|
||||
fn_8005BA90__17daPlayerActBase_cFv = .text:0x8005BA90; // type:function size:0x8
|
||||
fn_8005BAA0__17daPlayerActBase_cFv = .text:0x8005BAA0; // type:function size:0x8
|
||||
restoreLinksStamina = .text:0x8005BAB0; // type:function size:0x8
|
||||
fn_8005BAC0 = .text:0x8005BAC0; // type:function size:0x10
|
||||
fn_8005BAD0 = .text:0x8005BAD0; // type:function size:0x10
|
||||
@@ -2464,7 +2464,7 @@ fn_8005BAE0 = .text:0x8005BAE0; // type:function size:0xC
|
||||
IsLinkOutOfStamina = .text:0x8005BAF0; // type:function size:0x14
|
||||
fn_8005BB10 = .text:0x8005BB10; // type:function size:0x8
|
||||
getBoatActorIfRiding = .text:0x8005BB20; // type:function size:0x24
|
||||
fn_8005BB50 = .text:0x8005BB50; // type:function size:0x8
|
||||
getRidingActor__17daPlayerActBase_cFv = .text:0x8005BB50; // type:function size:0x8
|
||||
AcNpcTke__setRefInLinkToCall = .text:0x8005BB60; // type:function size:0xC
|
||||
setObtainedItemID = .text:0x8005BB70; // type:function size:0x3C
|
||||
fn_8005BBB0 = .text:0x8005BBB0; // type:function size:0xC
|
||||
@@ -2483,7 +2483,7 @@ fn_8005BD90 = .text:0x8005BD90; // type:function size:0xC
|
||||
getLinkSoundRelated = .text:0x8005BDA0; // type:function size:0xC
|
||||
fn_8005BDB0 = .text:0x8005BDB0; // type:function size:0xE8
|
||||
unsetRegionBasedFlagsMaybe = .text:0x8005BEA0; // type:function size:0x100
|
||||
ActorLink__getEarringColor = .text:0x8005BFA0; // type:function size:0xB0
|
||||
getEarringsColor__17daPlayerActBase_cFv = .text:0x8005BFA0; // type:function size:0xB0
|
||||
getLinkTunicSubtype = .text:0x8005C050; // type:function size:0xC
|
||||
getCurrentSwordType = .text:0x8005C060; // type:function size:0xAC
|
||||
updateCurrentSword = .text:0x8005C110; // type:function size:0x24
|
||||
@@ -2501,132 +2501,132 @@ isItemRestrictedByBokoBase__7dAcPy_cF7ITEM_ID = .text:0x8005C430; // type:functi
|
||||
isItemRestricted = .text:0x8005C4F0; // type:function size:0xE0
|
||||
fn_8005C5D0 = .text:0x8005C5D0; // type:function size:0x34
|
||||
getLinkPtr__Fv = .text:0x8005C610; // type:function size:0x8
|
||||
fn_8005C620 = .text:0x8005C620; // type:function size:0x8
|
||||
fn_8005C630 = .text:0x8005C630; // type:function size:0x8
|
||||
fn_8005C640 = .text:0x8005C640; // type:function size:0x8
|
||||
fn_8005C650 = .text:0x8005C650; // type:function size:0x8
|
||||
fn_8005C660 = .text:0x8005C660; // type:function size:0x8
|
||||
fn_8005C670 = .text:0x8005C670; // type:function size:0x8
|
||||
fn_8005C680 = .text:0x8005C680; // type:function size:0x4
|
||||
fn_8005C690 = .text:0x8005C690; // type:function size:0x8
|
||||
fn_8005C6A0 = .text:0x8005C6A0; // type:function size:0x4
|
||||
fn_8005C6B0 = .text:0x8005C6B0; // type:function size:0x8
|
||||
fn_8005C6C0 = .text:0x8005C6C0; // type:function size:0x8
|
||||
fn_8005C6D0 = .text:0x8005C6D0; // type:function size:0xC
|
||||
fn_8005C6E0 = .text:0x8005C6E0; // type:function size:0x8
|
||||
fn_8005C6F0 = .text:0x8005C6F0; // type:function size:0x8
|
||||
fn_8005C700 = .text:0x8005C700; // type:function size:0x8
|
||||
fn_8005C710 = .text:0x8005C710; // type:function size:0x8
|
||||
fn_8005C720 = .text:0x8005C720; // type:function size:0x8
|
||||
fn_8005C730 = .text:0x8005C730; // type:function size:0x8
|
||||
fn_8005C740 = .text:0x8005C740; // type:function size:0x8
|
||||
fn_8005C750 = .text:0x8005C750; // type:function size:0xC
|
||||
fn_8005C760 = .text:0x8005C760; // type:function size:0x4
|
||||
fn_8005C770 = .text:0x8005C770; // type:function size:0x8
|
||||
fn_8005C780 = .text:0x8005C780; // type:function size:0x4
|
||||
fn_8005C790 = .text:0x8005C790; // type:function size:0x8
|
||||
fn_8005C7A0 = .text:0x8005C7A0; // type:function size:0x8
|
||||
fn_8005C7B0 = .text:0x8005C7B0; // type:function size:0x8
|
||||
fn_8005C7C0 = .text:0x8005C7C0; // type:function size:0xC
|
||||
fn_8005C7D0 = .text:0x8005C7D0; // type:function size:0x8
|
||||
fn_8005C7E0 = .text:0x8005C7E0; // type:function size:0x8
|
||||
fn_8005C7F0 = .text:0x8005C7F0; // type:function size:0x8
|
||||
fn_8005C800 = .text:0x8005C800; // type:function size:0x8
|
||||
fn_8005C810 = .text:0x8005C810; // type:function size:0x8
|
||||
fn_8005C820 = .text:0x8005C820; // type:function size:0x8
|
||||
fn_8005C830 = .text:0x8005C830; // type:function size:0x4
|
||||
fn_8005C840 = .text:0x8005C840; // type:function size:0x4
|
||||
fn_8005C850 = .text:0x8005C850; // type:function size:0x8
|
||||
fn_8005C860 = .text:0x8005C860; // type:function size:0x8
|
||||
fn_8005C870 = .text:0x8005C870; // type:function size:0x8
|
||||
fn_8005C880 = .text:0x8005C880; // type:function size:0x8
|
||||
fn_8005C890 = .text:0x8005C890; // type:function size:0x8
|
||||
fn_8005C8A0 = .text:0x8005C8A0; // type:function size:0x8
|
||||
fn_8005C8B0 = .text:0x8005C8B0; // type:function size:0x8
|
||||
fn_8005C8C0 = .text:0x8005C8C0; // type:function size:0x8
|
||||
fn_8005C8D0 = .text:0x8005C8D0; // type:function size:0x8
|
||||
fn_8005C8E0 = .text:0x8005C8E0; // type:function size:0x8
|
||||
fn_8005C8F0 = .text:0x8005C8F0; // type:function size:0x8
|
||||
fn_8005C900 = .text:0x8005C900; // type:function size:0x8
|
||||
fn_8005C910 = .text:0x8005C910; // type:function size:0x8
|
||||
fn_8005C920 = .text:0x8005C920; // type:function size:0x8
|
||||
fn_8005C930 = .text:0x8005C930; // type:function size:0x8
|
||||
fn_8005C940 = .text:0x8005C940; // type:function size:0x8
|
||||
fn_8005C950 = .text:0x8005C950; // type:function size:0x8
|
||||
fn_8005C960 = .text:0x8005C960; // type:function size:0x8
|
||||
fn_8005C970 = .text:0x8005C970; // type:function size:0x8
|
||||
fn_8005C980 = .text:0x8005C980; // type:function size:0x8
|
||||
fn_8005C990 = .text:0x8005C990; // type:function size:0x8
|
||||
fn_8005C9A0 = .text:0x8005C9A0; // type:function size:0x8
|
||||
fn_8005C9B0 = .text:0x8005C9B0; // type:function size:0x4
|
||||
fn_8005C9C0 = .text:0x8005C9C0; // type:function size:0x8
|
||||
fn_8005C9D0 = .text:0x8005C9D0; // type:function size:0x8
|
||||
fn_8005C9E0 = .text:0x8005C9E0; // type:function size:0x8
|
||||
fn_8005C9F0 = .text:0x8005C9F0; // type:function size:0x4
|
||||
fn_8005CA00 = .text:0x8005CA00; // type:function size:0x8
|
||||
fn_8005CA10 = .text:0x8005CA10; // type:function size:0x8
|
||||
fn_8005CA20 = .text:0x8005CA20; // type:function size:0x8
|
||||
fn_8005CA30 = .text:0x8005CA30; // type:function size:0x8
|
||||
fn_8005CA40 = .text:0x8005CA40; // type:function size:0x8
|
||||
fn_8005CA50 = .text:0x8005CA50; // type:function size:0x8
|
||||
fn_8005CA60 = .text:0x8005CA60; // type:function size:0xC
|
||||
fn_8005CA70 = .text:0x8005CA70; // type:function size:0x8
|
||||
fn_8005CA80 = .text:0x8005CA80; // type:function size:0x4
|
||||
fn_8005CA90 = .text:0x8005CA90; // type:function size:0x8
|
||||
fn_8005CAA0 = .text:0x8005CAA0; // type:function size:0x8
|
||||
fn_8005CAB0 = .text:0x8005CAB0; // type:function size:0x8
|
||||
fn_8005CAC0 = .text:0x8005CAC0; // type:function size:0x8
|
||||
fn_8005CAD0 = .text:0x8005CAD0; // type:function size:0x8
|
||||
fn_8005CAE0 = .text:0x8005CAE0; // type:function size:0x8
|
||||
fn_8005CAF0 = .text:0x8005CAF0; // type:function size:0x8
|
||||
fn_8005CB00 = .text:0x8005CB00; // type:function size:0x8
|
||||
fn_8005CB10 = .text:0x8005CB10; // type:function size:0x8
|
||||
fn_8005CB20 = .text:0x8005CB20; // type:function size:0x8
|
||||
fn_8005CB30 = .text:0x8005CB30; // type:function size:0x8
|
||||
fn_8005CB40 = .text:0x8005CB40; // type:function size:0x8
|
||||
fn_8005CB50 = .text:0x8005CB50; // type:function size:0x4
|
||||
fn_8005CB60 = .text:0x8005CB60; // type:function size:0x4
|
||||
fn_8005CB70 = .text:0x8005CB70; // type:function size:0x8
|
||||
fn_8005CB80 = .text:0x8005CB80; // type:function size:0x4
|
||||
fn_8005CB90 = .text:0x8005CB90; // type:function size:0x8
|
||||
fn_8005CBA0 = .text:0x8005CBA0; // type:function size:0x8
|
||||
fn_8005CBB0 = .text:0x8005CBB0; // type:function size:0x8
|
||||
fn_8005CBC0 = .text:0x8005CBC0; // type:function size:0x8
|
||||
fn_8005CBD0 = .text:0x8005CBD0; // type:function size:0x8
|
||||
fn_8005CBE0 = .text:0x8005CBE0; // type:function size:0x8
|
||||
fn_8005CBF0 = .text:0x8005CBF0; // type:function size:0x8
|
||||
fn_8005CC00 = .text:0x8005CC00; // type:function size:0x8
|
||||
fn_8005CC10 = .text:0x8005CC10; // type:function size:0x8
|
||||
fn_8005CC20 = .text:0x8005CC20; // type:function size:0x8
|
||||
fn_8005CC30 = .text:0x8005CC30; // type:function size:0x8
|
||||
fn_8005CC40 = .text:0x8005CC40; // type:function size:0xC
|
||||
fn_8005CC50 = .text:0x8005CC50; // type:function size:0xC
|
||||
fn_8005CC60 = .text:0x8005CC60; // type:function size:0x8
|
||||
fn_8005CC70 = .text:0x8005CC70; // type:function size:0x8
|
||||
fn_8005CC80 = .text:0x8005CC80; // type:function size:0x8
|
||||
fn_8005CC90 = .text:0x8005CC90; // type:function size:0x8
|
||||
fn_8005CCA0 = .text:0x8005CCA0; // type:function size:0x8
|
||||
fn_8005CCB0 = .text:0x8005CCB0; // type:function size:0x8
|
||||
fn_8005CCC0 = .text:0x8005CCC0; // type:function size:0x8
|
||||
fn_8005CCD0 = .text:0x8005CCD0; // type:function size:0x8
|
||||
fn_8005CCE0 = .text:0x8005CCE0; // type:function size:0x8
|
||||
fn_8005CCF0 = .text:0x8005CCF0; // type:function size:0x4
|
||||
fn_8005CD00 = .text:0x8005CD00; // type:function size:0x8
|
||||
fn_8005CD10 = .text:0x8005CD10; // type:function size:0x8
|
||||
fn_8005CD20 = .text:0x8005CD20; // type:function size:0x8
|
||||
fn_8005CD30 = .text:0x8005CD30; // type:function size:0x8
|
||||
fn_8005CD40 = .text:0x8005CD40; // type:function size:0x8
|
||||
fn_8005CD50 = .text:0x8005CD50; // type:function size:0x8
|
||||
fn_8005CD60 = .text:0x8005CD60; // type:function size:0x8
|
||||
fn_8005CD70 = .text:0x8005CD70; // type:function size:0x8
|
||||
fn_8005CD80 = .text:0x8005CD80; // type:function size:0x4
|
||||
fn_8005CD90 = .text:0x8005CD90; // type:function size:0x58
|
||||
fn_8005CDF0 = .text:0x8005CDF0; // type:function size:0x8
|
||||
fn_8005CE00 = .text:0x8005CE00; // type:function size:0x4
|
||||
fn_8005CE10 = .text:0x8005CE10; // type:function size:0x4
|
||||
fn_8005CE20 = .text:0x8005CE20; // type:function size:0x8
|
||||
fn_8005CE30 = .text:0x8005CE30; // type:function size:0x8
|
||||
ActorLink__initPos = .text:0x8005CE40; // type:function size:0x4C
|
||||
getShieldRegenProgressMaybe__17daPlayerActBase_cFv = .text:0x8005C620; // type:function size:0x8
|
||||
isUsingBottle__17daPlayerActBase_cFv = .text:0x8005C630; // type:function size:0x8
|
||||
isBottleOut__17daPlayerActBase_cFv = .text:0x8005C640; // type:function size:0x8
|
||||
isHealingShield__17daPlayerActBase_cFv = .text:0x8005C650; // type:function size:0x8
|
||||
isDrinkingPotion__17daPlayerActBase_cFv = .text:0x8005C660; // type:function size:0x8
|
||||
isRecovering__17daPlayerActBase_cCFv = .text:0x8005C670; // type:function size:0x8
|
||||
lookTowardItem__17daPlayerActBase_cFv = .text:0x8005C680; // type:function size:0x4
|
||||
isRunningUpWall__17daPlayerActBase_cFv = .text:0x8005C690; // type:function size:0x8
|
||||
doGameOver__17daPlayerActBase_cFv = .text:0x8005C6A0; // type:function size:0x4
|
||||
getDieLargeDamageDir__17daPlayerActBase_cFv = .text:0x8005C6B0; // type:function size:0x8
|
||||
vt_0x298__17daPlayerActBase_cFv = .text:0x8005C6C0; // type:function size:0x8
|
||||
somethingSwitchDials__17daPlayerActBase_cFv = .text:0x8005C6D0; // type:function size:0xC
|
||||
bugNetCollectTreasure__17daPlayerActBase_cFUl = .text:0x8005C6E0; // type:function size:0x8
|
||||
isUsingBugnet1__17daPlayerActBase_cFv = .text:0x8005C6F0; // type:function size:0x8
|
||||
getBugNetPos__17daPlayerActBase_cCFv = .text:0x8005C700; // type:function size:0x8
|
||||
isUsingBugnet__17daPlayerActBase_cCFv = .text:0x8005C710; // type:function size:0x8
|
||||
vt_0x280__17daPlayerActBase_cFv = .text:0x8005C720; // type:function size:0x8
|
||||
getSwordPos__17daPlayerActBase_cCFv = .text:0x8005C730; // type:function size:0x8
|
||||
vt_0x278__17daPlayerActBase_cCFv = .text:0x8005C740; // type:function size:0x8
|
||||
vt_0x274__17daPlayerActBase_cFv = .text:0x8005C750; // type:function size:0xC
|
||||
triggerExitRelated__17daPlayerActBase_cFv = .text:0x8005C760; // type:function size:0x4
|
||||
doesGameOver__17daPlayerActBase_cFv = .text:0x8005C770; // type:function size:0x8
|
||||
setActorRef11__17daPlayerActBase_cFv = .text:0x8005C780; // type:function size:0x4
|
||||
getGroosenatorIfIn__17daPlayerActBase_cFv = .text:0x8005C790; // type:function size:0x8
|
||||
vt_0x260__17daPlayerActBase_cCFv = .text:0x8005C7A0; // type:function size:0x8
|
||||
vt_0x25C__17daPlayerActBase_cFv = .text:0x8005C7B0; // type:function size:0x8
|
||||
vt_0x258__17daPlayerActBase_cCFv = .text:0x8005C7C0; // type:function size:0xC
|
||||
isAttackingUnderground__17daPlayerActBase_cFv = .text:0x8005C7D0; // type:function size:0x8
|
||||
vt_0x250__17daPlayerActBase_cFv = .text:0x8005C7E0; // type:function size:0x8
|
||||
vt_0x24C__17daPlayerActBase_cFv = .text:0x8005C7F0; // type:function size:0x8
|
||||
vt_0x248__17daPlayerActBase_cFv = .text:0x8005C800; // type:function size:0x8
|
||||
vt_0x244__17daPlayerActBase_cFv = .text:0x8005C810; // type:function size:0x8
|
||||
vt_0x240__17daPlayerActBase_cFv = .text:0x8005C820; // type:function size:0x8
|
||||
setActorRef10__17daPlayerActBase_cFv = .text:0x8005C830; // type:function size:0x4
|
||||
setVecIfInFreeFall__17daPlayerActBase_cFv = .text:0x8005C840; // type:function size:0x4
|
||||
vt_0x234__17daPlayerActBase_cFv = .text:0x8005C850; // type:function size:0x8
|
||||
vt_0x230__17daPlayerActBase_cFv = .text:0x8005C860; // type:function size:0x8
|
||||
getTurnableSwitch__17daPlayerActBase_cFv = .text:0x8005C870; // type:function size:0x8
|
||||
getRidingMinecartActor__17daPlayerActBase_cCFv = .text:0x8005C880; // type:function size:0x8
|
||||
isRidingBall__17daPlayerActBase_cCFv = .text:0x8005C890; // type:function size:0x8
|
||||
isPushingBlock__17daPlayerActBase_cFv = .text:0x8005C8A0; // type:function size:0x8
|
||||
isinMpPosePower__17daPlayerActBase_cFv = .text:0x8005C8B0; // type:function size:0x8
|
||||
vt_0x214__17daPlayerActBase_cFv = .text:0x8005C8C0; // type:function size:0x8
|
||||
isSlding2__17daPlayerActBase_cFv = .text:0x8005C8D0; // type:function size:0x8
|
||||
isSliding__17daPlayerActBase_cFv = .text:0x8005C8E0; // type:function size:0x8
|
||||
isBeingPulledByLeftClawshot__17daPlayerActBase_cFv = .text:0x8005C8F0; // type:function size:0x8
|
||||
isBeingPulledFromRightClawshot__17daPlayerActBase_cFv = .text:0x8005C900; // type:function size:0x8
|
||||
isLandingFromSailcloth__17daPlayerActBase_cFv = .text:0x8005C910; // type:function size:0x8
|
||||
didDiveSky_andNotOther__17daPlayerActBase_cFv = .text:0x8005C920; // type:function size:0x8
|
||||
didDiveSky_and_other__17daPlayerActBase_cFv = .text:0x8005C930; // type:function size:0x8
|
||||
vt_0x1F0__17daPlayerActBase_cFv = .text:0x8005C940; // type:function size:0x8
|
||||
vt_0x1EC__17daPlayerActBase_cFv = .text:0x8005C950; // type:function size:0x8
|
||||
vt_0x1E0__17daPlayerActBase_cFv = .text:0x8005C960; // type:function size:0x8
|
||||
didShootBow__17daPlayerActBase_cFv = .text:0x8005C970; // type:function size:0x8
|
||||
isWeaponChargedFully__17daPlayerActBase_cFv = .text:0x8005C980; // type:function size:0x8
|
||||
isChargingWeapon__17daPlayerActBase_cFv = .text:0x8005C990; // type:function size:0x8
|
||||
ifHasHealthAndSomethingElse__17daPlayerActBase_cFv = .text:0x8005C9A0; // type:function size:0x8
|
||||
unlinkActorRef1__17daPlayerActBase_cFv = .text:0x8005C9B0; // type:function size:0x4
|
||||
doesActorRef1Exist__17daPlayerActBase_cFv = .text:0x8005C9C0; // type:function size:0x8
|
||||
getActorInActorRef1__17daPlayerActBase_cFv = .text:0x8005C9D0; // type:function size:0x8
|
||||
vt_0x1BC__17daPlayerActBase_cFv = .text:0x8005C9E0; // type:function size:0x8
|
||||
canHandleGameOver__17daPlayerActBase_cFv = .text:0x8005C9F0; // type:function size:0x4
|
||||
isByte0x434eEqual7__17daPlayerActBase_cFv = .text:0x8005CA00; // type:function size:0x8
|
||||
isItemFairyFromBugnet__17daPlayerActBase_cFv = .text:0x8005CA10; // type:function size:0x8
|
||||
vt_0x1AC__17daPlayerActBase_cFv = .text:0x8005CA20; // type:function size:0x8
|
||||
vt_0x1A8__17daPlayerActBase_cFv = .text:0x8005CA30; // type:function size:0x8
|
||||
vt_0x1A4__17daPlayerActBase_cFv = .text:0x8005CA40; // type:function size:0x8
|
||||
vt_0x1A0__17daPlayerActBase_cFv = .text:0x8005CA50; // type:function size:0x8
|
||||
getVec3F_Z__17daPlayerActBase_cCFv = .text:0x8005CA60; // type:function size:0xC
|
||||
isOffeset0x435eEqual0x20__17daPlayerActBase_cFv = .text:0x8005CA70; // type:function size:0x8
|
||||
setWindMillPos__17daPlayerActBase_cFv = .text:0x8005CA80; // type:function size:0x4
|
||||
getBellowsPosOrOtherVec3F__17daPlayerActBase_cCFv = .text:0x8005CA90; // type:function size:0x8
|
||||
getPointedAngle__17daPlayerActBase_cCFv = .text:0x8005CAA0; // type:function size:0x8
|
||||
isGustBellowsBeingBlown__17daPlayerActBase_cFv = .text:0x8005CAB0; // type:function size:0x8
|
||||
isSwimming__17daPlayerActBase_cFv = .text:0x8005CAC0; // type:function size:0x8
|
||||
getFloatIfStruggling__17daPlayerActBase_cFv = .text:0x8005CAD0; // type:function size:0x8
|
||||
getCurrentAnimFrame__17daPlayerActBase_cCFv = .text:0x8005CAE0; // type:function size:0x8
|
||||
vt_0x164__17daPlayerActBase_cFv = .text:0x8005CAF0; // type:function size:0x8
|
||||
getYPos__17daPlayerActBase_cFv = .text:0x8005CB00; // type:function size:0x8
|
||||
vt_0x15C__17daPlayerActBase_cFv = .text:0x8005CB10; // type:function size:0x8
|
||||
vt_0x158__17daPlayerActBase_cFv = .text:0x8005CB20; // type:function size:0x8
|
||||
vt_0x154__17daPlayerActBase_cFv = .text:0x8005CB30; // type:function size:0x8
|
||||
hasLessThanQuarterHealth__17daPlayerActBase_cFb = .text:0x8005CB40; // type:function size:0x8
|
||||
vt_0x14C__17daPlayerActBase_cFv = .text:0x8005CB50; // type:function size:0x4
|
||||
applyDamageWithIFrames__17daPlayerActBase_cFv = .text:0x8005CB60; // type:function size:0x4
|
||||
setActorLinkToSomething__17daPlayerActBase_cFv = .text:0x8005CB70; // type:function size:0x8
|
||||
store2Floats0x4500__17daPlayerActBase_cFv = .text:0x8005CB80; // type:function size:0x4
|
||||
isSmelly__17daPlayerActBase_cFv = .text:0x8005CB90; // type:function size:0x8
|
||||
isCursed__17daPlayerActBase_cFv = .text:0x8005CBA0; // type:function size:0x8
|
||||
isShocked__17daPlayerActBase_cFv = .text:0x8005CBB0; // type:function size:0x8
|
||||
isBurning__17daPlayerActBase_cFv = .text:0x8005CBC0; // type:function size:0x8
|
||||
vt_0x12C__17daPlayerActBase_cFv = .text:0x8005CBD0; // type:function size:0x8
|
||||
vt_0x128__17daPlayerActBase_cFv = .text:0x8005CBE0; // type:function size:0x8
|
||||
vt_0x124__17daPlayerActBase_cFv = .text:0x8005CBF0; // type:function size:0x8
|
||||
isUsingShield__17daPlayerActBase_cFv = .text:0x8005CC00; // type:function size:0x8
|
||||
isUsingMitts__17daPlayerActBase_cFv = .text:0x8005CC10; // type:function size:0x8
|
||||
isUsingSword__17daPlayerActBase_cFv = .text:0x8005CC20; // type:function size:0x8
|
||||
isCrawling__17daPlayerActBase_cFv = .text:0x8005CC30; // type:function size:0x8
|
||||
vt_0x0FC__17daPlayerActBase_cFv = .text:0x8005CC40; // type:function size:0xC
|
||||
vt_0x0F8__17daPlayerActBase_cFv = .text:0x8005CC50; // type:function size:0xC
|
||||
isUsingBomb__17daPlayerActBase_cFv = .text:0x8005CC60; // type:function size:0x8
|
||||
vt_0x0DC__17daPlayerActBase_cFP9dAcBase_cR7mVec3_c = .text:0x8005CC70; // type:function size:0x8
|
||||
getItemFromClawshotsMaybe__17daPlayerActBase_cFv = .text:0x8005CC80; // type:function size:0x8
|
||||
someFloatWithWhip__17daPlayerActBase_cFv = .text:0x8005CC90; // type:function size:0x8
|
||||
tryGrabItemWithWhip__17daPlayerActBase_cFv = .text:0x8005CCA0; // type:function size:0x8
|
||||
isWhipOnObject__17daPlayerActBase_cFv = .text:0x8005CCB0; // type:function size:0x8
|
||||
somethingWithWHip__17daPlayerActBase_cFv = .text:0x8005CCC0; // type:function size:0x8
|
||||
anotherThingWithWhip__17daPlayerActBase_cFv = .text:0x8005CCD0; // type:function size:0x8
|
||||
isUsingWhip__17daPlayerActBase_cFv = .text:0x8005CCE0; // type:function size:0x8
|
||||
finishPlayingHarp__17daPlayerActBase_cFv = .text:0x8005CCF0; // type:function size:0x4
|
||||
isUsingHarp__17daPlayerActBase_cFv = .text:0x8005CD00; // type:function size:0x8
|
||||
isPullingOutBomb__17daPlayerActBase_cFv = .text:0x8005CD10; // type:function size:0x8
|
||||
isCarryingBomb__17daPlayerActBase_cFv = .text:0x8005CD20; // type:function size:0x8
|
||||
vt_0x0AC__17daPlayerActBase_cFv = .text:0x8005CD30; // type:function size:0x8
|
||||
canRollObject__17daPlayerActBase_cFv = .text:0x8005CD40; // type:function size:0x8
|
||||
canThrowObject__17daPlayerActBase_cFv = .text:0x8005CD50; // type:function size:0x8
|
||||
isThrowingOrRollingItem__17daPlayerActBase_cFv = .text:0x8005CD60; // type:function size:0x8
|
||||
isLiftingObject__17daPlayerActBase_cFv = .text:0x8005CD70; // type:function size:0x8
|
||||
relatedToUsingItem0x11__17daPlayerActBase_cFv = .text:0x8005CD80; // type:function size:0x4
|
||||
__dt__10daPlBase_cFv = .text:0x8005CD90; // type:function size:0x58
|
||||
vt_0x090__17daPlayerActBase_cFv = .text:0x8005CDF0; // type:function size:0x8
|
||||
set0x43DE__17daPlayerActBase_cFv = .text:0x8005CE00; // type:function size:0x4
|
||||
set0x439F__17daPlayerActBase_cFP9dAcBase_ci = .text:0x8005CE10; // type:function size:0x4
|
||||
vt_0x084__17daPlayerActBase_cFP9dAcBase_ci = .text:0x8005CE20; // type:function size:0x8
|
||||
IfCurrentActionToActor__17daPlayerActBase_cFP9dAcBase_ci = .text:0x8005CE30; // type:function size:0x8
|
||||
__sinit_\d_player_act_cpp = .text:0x8005CE40; // type:function size:0x4C
|
||||
fn_8005CE90 = .text:0x8005CE90; // type:function size:0x134
|
||||
fn_8005CFD0 = .text:0x8005CFD0; // type:function size:0x10
|
||||
fn_8005CFE0 = .text:0x8005CFE0; // type:function size:0x134
|
||||
@@ -2726,8 +2726,8 @@ ActorLink__getHeadTranslation = .text:0x80061540; // type:function size:0x8
|
||||
fn_80061550 = .text:0x80061550; // type:function size:0x8
|
||||
ActorLink__getCenterTranslation = .text:0x80061560; // type:function size:0x8
|
||||
fn_80061570 = .text:0x80061570; // type:function size:0x8
|
||||
fn_80061580 = .text:0x80061580; // type:function size:0x254
|
||||
fn_800617E0 = .text:0x800617E0; // type:function size:0x58
|
||||
__dt__19daPlayerModelBase_cFv = .text:0x80061580; // type:function size:0x254
|
||||
__dt__16daPlBaseAnmChr_cFv = .text:0x800617E0; // type:function size:0x58
|
||||
fn_80061840 = .text:0x80061840; // type:function size:0x40
|
||||
fn_80061880 = .text:0x80061880; // type:function size:0x40
|
||||
fn_800618C0 = .text:0x800618C0; // type:function size:0x40
|
||||
@@ -11891,7 +11891,7 @@ fn_801D8290 = .text:0x801D8290; // type:function size:0x46C
|
||||
fn_801D8700 = .text:0x801D8700; // type:function size:0x134
|
||||
fn_801D8840 = .text:0x801D8840; // type:function size:0x2B8
|
||||
fn_801D8B00 = .text:0x801D8B00; // type:function size:0x230
|
||||
fn_801D8D30 = .text:0x801D8D30; // type:function size:0x4
|
||||
__ct__14UnkPlayerClassFv = .text:0x801D8D30; // type:function size:0x4
|
||||
fn_801D8D40 = .text:0x801D8D40; // type:function size:0xB90
|
||||
fn_801D98D0 = .text:0x801D98D0; // type:function size:0x37C
|
||||
fn_801D9C50 = .text:0x801D9C50; // type:function size:0x4
|
||||
@@ -13078,9 +13078,9 @@ playHarpMaybe = .text:0x80236B20; // type:function size:0x1CC
|
||||
ActorLink__finishPlayingHarp = .text:0x80236CF0; // type:function size:0x20
|
||||
ActorLink__doHarpPlayAnim = .text:0x80236D10; // type:function size:0xE0
|
||||
fn_80236DF0 = .text:0x80236DF0; // type:function size:0x22C
|
||||
ActorLink__ctorCont = .text:0x80237020; // type:function size:0xAC8
|
||||
ActorLink__ctorContCont = .text:0x80237AF0; // type:function size:0x34C
|
||||
fn_80237E40 = .text:0x80237E40; // type:function size:0x48
|
||||
__ct__7dAcPy_cFv = .text:0x80237020; // type:function size:0xAC8
|
||||
__ct__10daPlBase_cFv = .text:0x80237AF0; // type:function size:0x34C
|
||||
__ct__16daPlBaseAnmChr_cFv = .text:0x80237E40; // type:function size:0x48
|
||||
ActorLink__create16EmptyActorReferences = .text:0x80237E90; // type:function size:0x48
|
||||
fn_80237EE0 = .text:0x80237EE0; // type:function size:0x80
|
||||
fn_80237F60 = .text:0x80237F60; // type:function size:0x8
|
||||
@@ -13113,7 +13113,7 @@ fn_802385A0 = .text:0x802385A0; // type:function size:0x9C
|
||||
fn_80238640 = .text:0x80238640; // type:function size:0x38
|
||||
fn_80238680 = .text:0x80238680; // type:function size:0x68
|
||||
fn_802386F0 = .text:0x802386F0; // type:function size:0x8
|
||||
ActorLink__destroyModels = .text:0x80238700; // type:function size:0xBB0
|
||||
__dt__7dAcPy_cFv = .text:0x80238700; // type:function size:0xBB0
|
||||
ActorLink__initModels = .text:0x802392B0; // type:function size:0x2EC
|
||||
ActorLink__init1 = .text:0x802395A0; // type:function size:0xD8
|
||||
ActorLink__init2 = .text:0x80239680; // type:function size:0x20C
|
||||
@@ -30811,14 +30811,14 @@ jumptable_8050D9AC = .data:0x8050D9AC; // type:object size:0x28 scope:local
|
||||
lbl_8050D9D4 = .data:0x8050D9D4; // type:object size:0x10
|
||||
lbl_8050D9E4 = .data:0x8050D9E4; // type:object size:0xC
|
||||
lbl_8050D9F0 = .data:0x8050D9F0; // type:object size:0x10
|
||||
lbl_8050DA00 = .data:0x8050DA00; // type:object size:0x310
|
||||
lbl_8050DD10 = .data:0x8050DD10; // type:object size:0x18
|
||||
lbl_8050DD28 = .data:0x8050DD28; // type:object size:0x18
|
||||
ActorLink__animation_vtable = .data:0x8050DD40; // type:object size:0x18
|
||||
lbl_8050DD58 = .data:0x8050DD58; // type:object size:0x18
|
||||
ActorLink__mainBodyModelVtable = .data:0x8050DD70; // type:object size:0x30
|
||||
ActorLink__mainBodyModelCallbackVtable = .data:0x8050DDA0; // type:object size:0x18
|
||||
lbl_8050DDB8 = .data:0x8050DDB8; // type:object size:0x20
|
||||
__vt__10daPlBase_c = .data:0x8050DA00; // type:object size:0x310
|
||||
__vt__19daPlBaseCallback2_c = .data:0x8050DD10; // type:object size:0x18
|
||||
__vt__27daPlBaseCalcWorldCallback_c = .data:0x8050DD28; // type:object size:0x18
|
||||
__vt__16daPlBaseAnmChr_c = .data:0x8050DD40; // type:object size:0x18
|
||||
__vt__19daPlBaseCallback1_c = .data:0x8050DD58; // type:object size:0x18
|
||||
__vt__13daPlBaseMdl_c = .data:0x8050DD70; // type:object size:0x30
|
||||
__vt__21daPlBaseMdlCallback_c = .data:0x8050DDA0; // type:object size:0x18
|
||||
__vt__24daPlBaseScnObjCallback_c = .data:0x8050DDB8; // type:object size:0x20
|
||||
@4669 = .data:0x8050DDD8; // type:object size:0xE scope:local data:string
|
||||
@4670 = .data:0x8050DDE8; // type:object size:0xB scope:local data:string
|
||||
__vt__8dScene_c = .data:0x8050DDF8; // type:object size:0x4C
|
||||
|
||||
@@ -47,6 +47,9 @@ public:
|
||||
static void spawnItem(u16 item, u32 room, const mVec3_c &pos, const mAng3_c &rot, u32 params, u32 arg);
|
||||
static void spawnDrop(u16 item, u32 room, const mVec3_c &pos, const mAng3_c &rot);
|
||||
static u32 checkFlag(u32 flag);
|
||||
static bool hasItem(u32 flag) {
|
||||
return checkFlag(flag);
|
||||
}
|
||||
static void setFlag(s32 id);
|
||||
|
||||
void setItemPosition(const mVec3_c &);
|
||||
|
||||
+683
-190
@@ -5,18 +5,615 @@
|
||||
#include "d/a/d_a_base.h"
|
||||
#include "d/a/d_a_itembase.h"
|
||||
#include "d/a/obj/d_a_obj_base.h"
|
||||
#include "d/col/cc/d_cc_d.h"
|
||||
#include "d/a/e/d_a_en_base.h"
|
||||
#include "m/m3d/m_anmchr.h"
|
||||
#include "m/m3d/m_anmchrblend.h"
|
||||
#include "m/m3d/m_anmmatclr.h"
|
||||
#include "m/m3d/m_anmtexpat.h"
|
||||
#include "m/m3d/m_anmtexsrt.h"
|
||||
#include "m/m3d/m_mdl.h"
|
||||
#include "m/m3d/m_smdl.h"
|
||||
#include "m/m_allocator.h"
|
||||
#include "m/m_angle.h"
|
||||
#include "m/m_mtx.h"
|
||||
#include "m/m_quat.h"
|
||||
#include "m/m_vec.h"
|
||||
#include "nw4r/g3d/g3d_calcworld.h"
|
||||
#include "nw4r/g3d/g3d_scnobj.h"
|
||||
#include "nw4r/g3d/res/g3d_resanmchr.h"
|
||||
#include "nw4r/g3d/res/g3d_resfile.h"
|
||||
#include "nw4r/g3d/res/g3d_resmdl.h"
|
||||
#include "toBeSorted/file_manager.h"
|
||||
#include "toBeSorted/stage_render_stuff.h"
|
||||
|
||||
class dAcPy_c : public dAcObjBase_c {
|
||||
// See Below for some info
|
||||
// https://github.com/lepelog/skywardsword-tools/wiki/Player-Actor
|
||||
// See Below for some info
|
||||
// https://github.com/lepelog/skywardsword-tools/wiki/Player-Actor
|
||||
|
||||
/*
|
||||
* The inheritance chain goes something like:
|
||||
* dAcObjBase_c straightfoward
|
||||
* v
|
||||
* daPlBase_c only has a dtor, vtable (80533128) pooled into d_a_player at the end
|
||||
* v
|
||||
* daPlayerActBase_c has a few strong and many weak functions, vtable stripped
|
||||
* v
|
||||
* daPlayerModelBase_c has the actual implementation of many functions, vtable at 8050da00, size 0x310
|
||||
* v
|
||||
* dAcPy_c "ActorLink", vtable at 80532cb0
|
||||
*/
|
||||
|
||||
// Vtable at 80533128, no differences to dAcObjBase_c?
|
||||
class daPlBase_c : public dAcObjBase_c {
|
||||
public:
|
||||
virtual ~daPlBase_c() {}
|
||||
};
|
||||
|
||||
class daPlBaseCallback1_c : m3d::callback_c {};
|
||||
class daPlBaseCallback2_c : m3d::callback_c {};
|
||||
|
||||
class daPlBaseMdlCallback_c : m3d::mdl_c::mdlCallback_c {};
|
||||
|
||||
class daPlBaseAnmChr_c : m3d::anmChr_c {
|
||||
public:
|
||||
daPlBaseAnmChr_c() : field_0x35(0), field_0x36(0) {}
|
||||
|
||||
private:
|
||||
/* 0x35 */ u8 field_0x35;
|
||||
/* 0x36 */ u8 field_0x36;
|
||||
};
|
||||
|
||||
class daPlBaseMdl_c : m3d::mdl_c {
|
||||
public:
|
||||
daPlBaseMdl_c() : field_0x5C(0) {}
|
||||
|
||||
private:
|
||||
/* 0x24 */ daPlBaseMdlCallback_c mCallback;
|
||||
/* 0x5C */ UNKWORD field_0x5C;
|
||||
};
|
||||
|
||||
class daPlBaseCalcWorldCallback_c : public nw4r::g3d::ICalcWorldCallback {
|
||||
public:
|
||||
virtual void ExecCallbackA(
|
||||
nw4r::g3d::ChrAnmResult *pResult, nw4r::g3d::ResMdl mdl,
|
||||
nw4r::g3d::FuncObjCalcWorld *pFuncObj
|
||||
) override; // at 0xC
|
||||
|
||||
virtual void ExecCallbackB(
|
||||
nw4r::g3d::WorldMtxManip *pManip, nw4r::g3d::ResMdl mdl,
|
||||
nw4r::g3d::FuncObjCalcWorld *pFuncObj
|
||||
) override; // at 0x10
|
||||
|
||||
virtual void ExecCallbackC(
|
||||
nw4r::math::MTX34 *pMtxArray, nw4r::g3d::ResMdl mdl,
|
||||
nw4r::g3d::FuncObjCalcWorld *pFuncObj
|
||||
) override; // at 0x14
|
||||
};
|
||||
class daPlBaseScnObjCallback_c : public nw4r::g3d::IScnObjCallback {};
|
||||
|
||||
class UnkPlayerClass {
|
||||
public:
|
||||
UnkPlayerClass() {}
|
||||
~UnkPlayerClass() {}
|
||||
|
||||
private:
|
||||
/* 0x00 */ u8 _0x00[0x10 - 0x00];
|
||||
};
|
||||
|
||||
// Does this one have a vtable?
|
||||
class daPlayerActBase_c : public daPlBase_c {
|
||||
public:
|
||||
daPlayerActBase_c() : field_0x334(120.0f), mCurrentAction(187) {}
|
||||
virtual ~daPlayerActBase_c() {}
|
||||
|
||||
int preExecute() override;
|
||||
void postExecute(MAIN_STATE_e state) override;
|
||||
|
||||
/* vt 0x080 */ virtual UNKWORD IfCurrentActionToActor(dAcBase_c *ac, UNKWORD) {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x084 */ virtual UNKWORD vt_0x084(dAcBase_c *ac, UNKWORD) {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x088 */ virtual void set0x439F(dAcBase_c *ac, UNKWORD) {}
|
||||
/* vt 0x08C */ virtual void set0x43DE() {}
|
||||
/* vt 0x090 */ virtual f32 vt_0x090() {
|
||||
return 0.0f;
|
||||
}
|
||||
/* vt 0x094 */ virtual void relatedToUsingItem0x11() {
|
||||
}
|
||||
/* vt 0x098 */ virtual void setPosRot(const mVec3_c *pos, const mAng3_c *ang, bool force, UNKWORD, UNKWORD);
|
||||
/* vt 0x09C */ virtual bool isLiftingObject() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x0A0 */ virtual bool isThrowingOrRollingItem() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x0A4 */ virtual bool canThrowObject() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x0A8 */ virtual bool canRollObject() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x0AC */ virtual UNKWORD vt_0x0AC() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x0B0 */ virtual bool isCarryingBomb() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x0B4 */ virtual bool isPullingOutBomb() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x0B8 */ virtual bool isUsingHarp() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x0BC */ virtual void finishPlayingHarp() {}
|
||||
/* vt 0x0C0 */ virtual bool isUsingWhip() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x0C4 */ virtual bool anotherThingWithWhip() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x0C8 */ virtual bool somethingWithWHip() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x0CC */ virtual bool isWhipOnObject() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x0D0 */ virtual bool tryGrabItemWithWhip() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x0D4 */ virtual f32 someFloatWithWhip() {
|
||||
return 0.0f;
|
||||
}
|
||||
/* vt 0x0D8 */ virtual UNKWORD getItemFromClawshotsMaybe() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x0DC */ virtual UNKWORD vt_0x0DC(dAcBase_c *, mVec3_c &) {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x0E0 */ virtual bool isUsingBomb() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x0E4 */ virtual const mVec3_c &getCenterTranslation() const {
|
||||
// unused; overridden by daPlayerModelBase_c
|
||||
return mVec3_c::Zero;
|
||||
}
|
||||
/* vt 0x0E8 */ virtual const mVec3_c &vt_0x0E8() const {
|
||||
// unused; overridden by daPlayerModelBase_c
|
||||
return mVec3_c::Zero;
|
||||
}
|
||||
/* vt 0x0EC */ virtual const mVec3_c &vt_0x0EC() const {
|
||||
// unused; overridden by daPlayerModelBase_c
|
||||
return mVec3_c::Zero;
|
||||
}
|
||||
/* vt 0x0F0 */ virtual const mVec3_c &vt_0x0F0() const {
|
||||
// unused; overridden by daPlayerModelBase_c
|
||||
return mVec3_c::Zero;
|
||||
}
|
||||
/* vt 0x0F4 */ virtual const mVec3_c &vt_0x0F4() const {
|
||||
// unused; overridden by daPlayerModelBase_c
|
||||
return mVec3_c::Zero;
|
||||
}
|
||||
/* vt 0x0F8 */ virtual mAng vt_0x0F8() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x0FC */ virtual mAng vt_0x0FC() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x100 */ virtual bool isCrawling() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x104 */ virtual bool isUsingSword() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x108 */ virtual bool isUsingMitts() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x10C */ virtual bool isUsingShield() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x110 */ virtual dAcEnBase_c *getTargetedActor1() const {
|
||||
return nullptr;
|
||||
}
|
||||
/* vt 0x114 */ virtual void somethingWithCarriedActorFlags() {
|
||||
// unused; overridden by daPlayerModelBase_c
|
||||
}
|
||||
/* vt 0x118 */ virtual dAcObjBase_c *getCurrentCarriedActor() {
|
||||
// unused; overridden by daPlayerModelBase_c
|
||||
return nullptr;
|
||||
}
|
||||
/* vt 0x11C */ virtual UNKWORD checkBeetleActorReferences() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x120 */ virtual UNKWORD getBeetleActorReferencesSize() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x124 */ virtual UNKWORD vt_0x124() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x128 */ virtual UNKWORD vt_0x128() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x12C */ virtual UNKWORD vt_0x12C() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x130 */ virtual bool isBurning() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x134 */ virtual bool isShocked() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x138 */ virtual bool isCursed() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x13C */ virtual bool isSmelly() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x140 */ virtual void store2Floats0x4500() {}
|
||||
/* vt 0x144 */ virtual bool setActorLinkToSomething() {
|
||||
return true;
|
||||
}
|
||||
/* vt 0x148 */ virtual void applyDamageWithIFrames() {}
|
||||
/* vt 0x14C */ virtual void vt_0x14C() {}
|
||||
/* vt 0x150 */ virtual bool hasLessThanQuarterHealth(bool) {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x154 */ virtual UNKWORD vt_0x154() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x158 */ virtual UNKWORD vt_0x158() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x15C */ virtual UNKWORD vt_0x15C() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x160 */ virtual f32 getYPos() {
|
||||
return position.y;
|
||||
}
|
||||
/* vt 0x164 */ virtual f32 vt_0x164() {
|
||||
return position.y;
|
||||
}
|
||||
/* vt 0x168 */ virtual f32 getCurrentAnimFrame() const {
|
||||
return 0.0f;
|
||||
}
|
||||
/* vt 0x16C */ virtual f32 getFloatIfStruggling() {
|
||||
return 0.0f;
|
||||
}
|
||||
/* vt 0x170 */ virtual bool isSwimming() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x174 */ virtual bool isGustBellowsBeingBlown() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x178 */ virtual const mAng3_c &getPointedAngle() const {
|
||||
return rotation;
|
||||
}
|
||||
/* vt 0x17C */ virtual const mVec3_c &getBellowsPosOrOtherVec3F() const {
|
||||
return position;
|
||||
}
|
||||
/* vt 0x180 */ virtual void setWindMillPos() {}
|
||||
/* vt 0x184 */ virtual bool isOffeset0x435eEqual0x20() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x188 */ virtual const mVec3_c &getVec3F_Z() const {
|
||||
return mVec3_c::Ez;
|
||||
}
|
||||
/* vt 0x18C */ virtual void getBodyMtx(mMtx_c *out_mtx, int boneIdx) {
|
||||
// unused; overridden by daPlayerModelBase_c
|
||||
}
|
||||
/* vt 0x190 */ virtual void getSheathModelMatrix() {
|
||||
// unused; overridden by daPlayerModelBase_c
|
||||
}
|
||||
/* vt 0x194 */ virtual void getSwordModelMatrix() {
|
||||
// unused; overridden by daPlayerModelBase_c
|
||||
}
|
||||
/* vt 0x198 */ virtual void vt_0x198() {
|
||||
// unused; overridden by daPlayerModelBase_c
|
||||
}
|
||||
/* vt 0x19C */ virtual void vt_0x19C() {
|
||||
// unused; overridden by daPlayerModelBase_c
|
||||
}
|
||||
/* vt 0x1A0 */ virtual f32 vt_0x1A0() {
|
||||
return 0.0f;
|
||||
}
|
||||
/* vt 0x1A4 */ virtual const mVec3_c &vt_0x1A4() {
|
||||
return poscopy3;
|
||||
}
|
||||
/* vt 0x1A8 */ virtual f32 vt_0x1A8() {
|
||||
return yoffset;
|
||||
}
|
||||
/* vt 0x1AC */ virtual f32 vt_0x1AC() {
|
||||
return 0.0f;
|
||||
}
|
||||
/* vt 0x1B0 */ virtual bool isItemFairyFromBugnet() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x1B4 */ virtual bool isByte0x434eEqual7() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x1B8 */ virtual void canHandleGameOver() {}
|
||||
/* vt 0x1BC */ virtual UNKWORD vt_0x1BC() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x1C0 */ virtual void *vt_0x1C0() const {
|
||||
return nullptr;
|
||||
}
|
||||
/* vt 0x1C4 */ virtual UNKWORD getActorInActorRef1() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x1C8 */ virtual bool doesActorRef1Exist() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x1CC */ virtual void unlinkActorRef1() {}
|
||||
/* vt 0x1D0 */ virtual bool ifHasHealthAndSomethingElse() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x1D4 */ virtual bool isChargingWeapon() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x1D8 */ virtual bool isWeaponChargedFully() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x1DC */ virtual bool didShootBow() {
|
||||
return true;
|
||||
}
|
||||
/* vt 0x1E0 */ virtual UNKWORD vt_0x1E0() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x1E4 */ virtual dAcObjBase_c *checkRefArrayAtIndex() {
|
||||
return nullptr;
|
||||
}
|
||||
/* vt 0x1E8 */ virtual s32 sizeOfActorRefs_16() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x1EC */ virtual bool vt_0x1EC() {
|
||||
return true;
|
||||
}
|
||||
/* vt 0x1F0 */ virtual UNKWORD vt_0x1F0() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x1F4 */ virtual UNKWORD didDiveSky_and_other() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x1F8 */ virtual UNKWORD didDiveSky_andNotOther() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x1FC */ virtual UNKWORD isLandingFromSailcloth() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x200 */ virtual bool isBeingPulledFromRightClawshot() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x204 */ virtual bool isBeingPulledByLeftClawshot() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x208 */ virtual bool isDashing() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x20C */ virtual bool isSliding() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x210 */ virtual bool isSlding2() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x214 */ virtual UNKWORD vt_0x214() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x218 */ virtual bool isinMpPosePower() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x21C */ virtual bool isPushingBlock() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x220 */ virtual dAcObjBase_c *getRidingActor() {
|
||||
return nullptr;
|
||||
}
|
||||
/* vt 0x224 */ virtual bool isRidingBall() const {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x228 */ virtual dAcObjBase_c *getRidingMinecartActor() const {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x22C */ virtual UNKWORD getTurnableSwitch() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x230 */ virtual UNKWORD vt_0x230() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x234 */ virtual UNKWORD vt_0x234() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x238 */ virtual void setVecIfInFreeFall() {}
|
||||
/* vt 0x23C */ virtual void setActorRef10() {
|
||||
|
||||
}
|
||||
/* vt 0x240 */ virtual f32 vt_0x240() {
|
||||
return 0.0f;
|
||||
}
|
||||
/* vt 0x244 */ virtual UNKWORD vt_0x244() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x248 */ virtual UNKWORD vt_0x248() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x24C */ virtual UNKWORD vt_0x24C() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x250 */ virtual f32 vt_0x250() {
|
||||
return 1.0f;
|
||||
}
|
||||
/* vt 0x254 */ virtual bool isAttackingUnderground() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x258 */ virtual mAng vt_0x258() const {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x25C */ virtual UNKWORD vt_0x25C() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x260 */ virtual f32 vt_0x260() const {
|
||||
return 1.0f;
|
||||
}
|
||||
/* vt 0x264 */ virtual UNKWORD getGroosenatorIfIn() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x268 */ virtual void setActorRef11() {}
|
||||
/* vt 0x26C */ virtual bool doesGameOver() {
|
||||
return true;
|
||||
}
|
||||
/* vt 0x270 */ virtual void triggerExitRelated() {}
|
||||
/* vt 0x274 */ virtual mAng vt_0x274() {
|
||||
return rotation.y;
|
||||
}
|
||||
/* vt 0x278 */ virtual const mVec3_c &vt_0x278() const {
|
||||
return position;
|
||||
}
|
||||
/* vt 0x27C */ virtual const mVec3_c &getSwordPos() const {
|
||||
return position;
|
||||
}
|
||||
/* vt 0x280 */ virtual UNKWORD vt_0x280() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x284 */ virtual bool isUsingBugnet() const {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x288 */ virtual const mVec3_c &getBugNetPos() const {
|
||||
return position;
|
||||
}
|
||||
/* vt 0x28C */ virtual bool isUsingBugnet1() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x290 */ virtual UNKWORD bugNetCollectTreasure(u32 itemId) {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x294 */ virtual mAng somethingSwitchDials() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x298 */ virtual UNKWORD vt_0x298() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x29C */ virtual UNKWORD getDieLargeDamageDir() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x2A0 */ virtual void doGameOver() {}
|
||||
/* vt 0x2A4 */ virtual bool isRunningUpWall() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x2A8 */ virtual void lookTowardItem() {}
|
||||
/* vt 0x2AC */ virtual void vt_0x2AC() {}
|
||||
/* vt 0x2B0 */ virtual void vt_0x2B0() {}
|
||||
/* vt 0x2B4 */ virtual void triggerMoveEventMaybe() {}
|
||||
/* vt 0x2B8 */ virtual void setActorRef9() {}
|
||||
/* vt 0x2BC */ virtual void unlinkActorRef9() {}
|
||||
/* vt 0x2C0 */ virtual bool vt_0x2C0() {
|
||||
return true;
|
||||
}
|
||||
/* vt 0x2C4 */ virtual bool vt_0x2C4() {
|
||||
return true;
|
||||
}
|
||||
/* vt 0x2C8 */ virtual bool isRecovering() const {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x2CC */ virtual bool isDrinkingPotion() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x2D0 */ virtual bool isHealingShield() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x2D4 */ virtual bool isBottleOut() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x2D8 */ virtual bool isUsingBottle() {
|
||||
return false;
|
||||
}
|
||||
/* vt 0x2DC */ virtual f32 getShieldRegenProgressMaybe() {
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
enum dAcPy_RidingActor {
|
||||
RIDING_NONE = 0,
|
||||
RIDING_TRUCK_MINECART = 1,
|
||||
RIDING_LOFTWING = 2,
|
||||
RIDING_BOAT = 3,
|
||||
};
|
||||
|
||||
enum PlayerAttackDirection_e {
|
||||
ATTACK_NONE = 0,
|
||||
ATTACK_SWING_LEFT = 1,
|
||||
ATTACK_SWING_RIGHT = 2,
|
||||
ATTACK_SWING_DOWN = 3,
|
||||
ATTACK_SWING_UP = 4,
|
||||
ATTACK_STAB = 5,
|
||||
ATTACK_SPIN_RIGHT = 6,
|
||||
ATTACK_SPIN_LEFT = 7,
|
||||
ATTACK_SPIN_DOWN = 8,
|
||||
ATTACK_SPIN_UP = 9,
|
||||
ATTACK_JUMP_SLASH = 10,
|
||||
ATTACK_FINAL_BLOW = 11,
|
||||
};
|
||||
|
||||
static bool isInEvent();
|
||||
bool isAttackingLeft() const;
|
||||
bool isAttackingRight() const;
|
||||
bool isAttackingDown() const;
|
||||
bool isAttackingUp() const;
|
||||
bool isAttackingStab() const;
|
||||
bool isAttackingSpinHorizontal() const;
|
||||
bool isAttackingSpinVertical() const;
|
||||
void setBonkRelatedAnimFlag(bool b);
|
||||
void setPosYRot(const mVec3_c &pos, mAng rot, bool force, UNKWORD, UNKWORD);
|
||||
void setTransform(const mMtx_c &mtx, bool force, UNKWORD, UNKWORD);
|
||||
bool someTargetedActorCheck() const;
|
||||
static mAng fn_8005BA90();
|
||||
static mAng fn_8005BAA0();
|
||||
|
||||
static const mColor &getEarringsColor();
|
||||
|
||||
static mVec3_c sPos1;
|
||||
static mVec3_c sPos2;
|
||||
static mAng sRot1;
|
||||
static mAng sRot2;
|
||||
static const f32 sPushRelatedConstant;
|
||||
|
||||
protected:
|
||||
/* 0x330 */ u8 unk_0x330[0x334 - 0x330];
|
||||
/* 0x334 */ f32 field_0x334;
|
||||
/* 0x338 */ u8 mAttackDirection;
|
||||
/* 0x339 */ u8 mRidingActorType;
|
||||
/* 0x33A */ u8 unk_0x33A[0x340 - 0x33A];
|
||||
/* 0x340 */ u32 someFlags_0x340;
|
||||
/* 0x344 */ u8 unk_0x344[0x348 - 0x344];
|
||||
/* 0x348 */ u32 mSwordAndMoreStates;
|
||||
/* 0x34C */ u8 unk_0x34C[0x350 - 0x34C];
|
||||
/* 0x350 */ u32 someFlags_0x350;
|
||||
/* 0x354 */ u32 someFlags_0x354;
|
||||
/* 0x358 */ u32 someFlags_0x358;
|
||||
/* 0x35C */ u32 mForceOrPreventActionFlags;
|
||||
/* 0x360 */ u32 field_0x360;
|
||||
/* 0x364 */ u32 mActionFlags;
|
||||
/* 0x368 */ u32 mActionFlagsCont;
|
||||
/* 0x36C */ int mCurrentAction; // TODO (Document Enum)
|
||||
};
|
||||
|
||||
// Vtable at 8050da00, dtor reveals two superclasses
|
||||
// until dAcObjBase_c
|
||||
class daPlayerModelBase_c : public daPlayerActBase_c {
|
||||
public:
|
||||
daPlayerModelBase_c()
|
||||
: mSwordRes(nullptr),
|
||||
mAlinkRes(nullptr),
|
||||
mPlCommonAnimeRes(nullptr),
|
||||
mPlCommonSoundRes(nullptr),
|
||||
mCurrentRes(nullptr),
|
||||
mAlink2Res(nullptr),
|
||||
mScnCallback1(this),
|
||||
mScnCallback2(this),
|
||||
mScnCallback3(this),
|
||||
mScnCallback4(this),
|
||||
mScnCallback5(this) {}
|
||||
virtual ~daPlayerModelBase_c() {}
|
||||
|
||||
// These Flags are named under general guesses. Very likely may need some changes
|
||||
// Correspond to mActionFlags
|
||||
enum dAcPy_FLG0 {
|
||||
@@ -57,174 +654,7 @@ public:
|
||||
FLG0_HANGING_ITEM | FLG0_HANGING_LEDGE | FLG0_UNK_0x10 | FLG0_IN_AIR,
|
||||
};
|
||||
|
||||
enum dAcPy_RidingActor {
|
||||
RIDING_NONE = 0,
|
||||
RIDING_TRUCK_MINECART = 1,
|
||||
RIDING_LOFTWING = 2,
|
||||
RIDING_BOAT = 3,
|
||||
};
|
||||
|
||||
dAcPy_c();
|
||||
virtual ~dAcPy_c();
|
||||
|
||||
void setTransform(const mMtx_c &mtx, UNKWORD, UNKWORD, UNKWORD);
|
||||
void setPosYRot(const mVec3_c &pos, mAng rot, UNKWORD, UNKWORD, UNKWORD);
|
||||
// argument is always false in existing code, true doesn't seem to make a difference
|
||||
void bonk(bool unk = false);
|
||||
bool fn_80202D90(bool);
|
||||
|
||||
/* vt 0x080 */ virtual UNKWORD IfCurrentActionToActor(dAcBase_c *ac, UNKWORD);
|
||||
/* vt 0x084 */ virtual void vt_0x084(dAcBase_c *ac, UNKWORD);
|
||||
/* vt 0x088 */ virtual void set0x439F(dAcBase_c *ac, UNKWORD);
|
||||
/* vt 0x08C */ virtual void set0x43DE();
|
||||
/* vt 0x090 */ virtual f32 vt_0x090();
|
||||
/* vt 0x094 */ virtual void relatedToUsingItem0x11();
|
||||
/* vt 0x098 */ virtual void setPosRot(const mVec3_c &pos, const mAng3_c &ang, UNKWORD, UNKWORD, UNKWORD);
|
||||
/* vt 0x09C */ virtual void isLiftingObject();
|
||||
/* vt 0x0A0 */ virtual void isThrowingOrRollingItem();
|
||||
/* vt 0x0A4 */ virtual void canThrowObject();
|
||||
/* vt 0x0A8 */ virtual void canRollObject();
|
||||
/* vt 0x0AC */ virtual void vt_0x0AC();
|
||||
/* vt 0x0B0 */ virtual void isCarryingBomb();
|
||||
/* vt 0x0B4 */ virtual void isPullingOutBomb();
|
||||
/* vt 0x0B8 */ virtual void isUsingHarp();
|
||||
/* vt 0x0BC */ virtual void isFinishedPlayingHarp();
|
||||
/* vt 0x0C0 */ virtual void isUsingWhip();
|
||||
/* vt 0x0C4 */ virtual void anotherThingWithWhip();
|
||||
/* vt 0x0C8 */ virtual void somethingWithWHip();
|
||||
/* vt 0x0CC */ virtual void isWhipOnObject();
|
||||
/* vt 0x0D0 */ virtual void tryGrabItemWithWhip();
|
||||
/* vt 0x0D4 */ virtual void someFloatWithWhip();
|
||||
/* vt 0x0D8 */ virtual void getItemFromClawshotsMaybe();
|
||||
/* vt 0x0DC */ virtual void vt_0x0DC(dAcBase_c *, mVec3_c &);
|
||||
/* vt 0x0E0 */ virtual void isUsingBomb();
|
||||
/* vt 0x0E4 */ virtual mVec3_c &getCenterTranslation() const;
|
||||
/* vt 0x0E8 */ virtual void vt_0x0E8();
|
||||
/* vt 0x0EC */ virtual void vt_0x0EC();
|
||||
/* vt 0x0F0 */ virtual void vt_0x0F0();
|
||||
/* vt 0x0F4 */ virtual void vt_0x0F4();
|
||||
/* vt 0x0F8 */ virtual void vt_0x0F8();
|
||||
/* vt 0x0FC */ virtual void vt_0x0FC();
|
||||
/* vt 0x100 */ virtual void isCrawling();
|
||||
/* vt 0x104 */ virtual void isUsingSword();
|
||||
/* vt 0x108 */ virtual void isUsingMitts();
|
||||
/* vt 0x10C */ virtual void isUsingShield();
|
||||
/* vt 0x110 */ virtual void getTargetedActor1();
|
||||
/* vt 0x114 */ virtual void somethingWithCarriedActorFlags();
|
||||
/* vt 0x118 */ virtual dAcObjBase_c *getCurrentCarriedActor();
|
||||
/* vt 0x11C */ virtual void checkBeetleActorReferences();
|
||||
/* vt 0x120 */ virtual void getBeetleActorReferencesSize();
|
||||
/* vt 0x124 */ virtual void vt_0x124();
|
||||
/* vt 0x128 */ virtual void vt_0x128();
|
||||
/* vt 0x12C */ virtual void vt_0x12C();
|
||||
/* vt 0x130 */ virtual void isBurning();
|
||||
/* vt 0x134 */ virtual void isShocked();
|
||||
/* vt 0x138 */ virtual void isCursed();
|
||||
/* vt 0x13C */ virtual void isSmelly();
|
||||
/* vt 0x140 */ virtual void store2Floats0x4500();
|
||||
/* vt 0x144 */ virtual void setActorLinkToSomething();
|
||||
/* vt 0x148 */ virtual void applyDamageWithIFrames();
|
||||
/* vt 0x14C */ virtual void vt_0x14C();
|
||||
/* vt 0x150 */ virtual bool hasLessThanQuarterHealth(bool);
|
||||
/* vt 0x154 */ virtual void vt_0x154();
|
||||
/* vt 0x158 */ virtual void vt_0x158();
|
||||
/* vt 0x15C */ virtual void vt_0x15C();
|
||||
/* vt 0x160 */ virtual void vt_0x160();
|
||||
/* vt 0x164 */ virtual void vt_0x164();
|
||||
/* vt 0x168 */ virtual f32 getCurrentAnimFrame() const;
|
||||
/* vt 0x16C */ virtual void getFloatIfStruggling();
|
||||
/* vt 0x170 */ virtual void isSwimming();
|
||||
/* vt 0x174 */ virtual void isGustBellowsBeingBlown();
|
||||
/* vt 0x178 */ virtual void getPointedAngle();
|
||||
/* vt 0x17C */ virtual void getBellowsPosOrOtherVec3F();
|
||||
/* vt 0x180 */ virtual void setWindMillPos();
|
||||
/* vt 0x184 */ virtual void isOffeset0x435eEqual0x20();
|
||||
/* vt 0x188 */ virtual void getVec3F_Z();
|
||||
/* vt 0x18C */ virtual void getBodyMtx(mMtx_c *out_mtx, int boneIdx);
|
||||
/* vt 0x190 */ virtual void getSheathModelMatrix();
|
||||
/* vt 0x194 */ virtual void getSwordModelMatrix();
|
||||
/* vt 0x198 */ virtual void vt_0x198();
|
||||
/* vt 0x19C */ virtual void vt_0x19C();
|
||||
/* vt 0x1A0 */ virtual void vt_0x1A0();
|
||||
/* vt 0x1A4 */ virtual void vt_0x1A4();
|
||||
/* vt 0x1A8 */ virtual void vt_0x1A8();
|
||||
/* vt 0x1AC */ virtual void vt_0x1AC();
|
||||
/* vt 0x1B0 */ virtual bool isItemFairyFromBugnet();
|
||||
/* vt 0x1B4 */ virtual void isByte0x434eEqual7();
|
||||
/* vt 0x1B8 */ virtual void canHandleGameOver();
|
||||
/* vt 0x1BC */ virtual void vt_0x1BC();
|
||||
/* vt 0x1C0 */ virtual void *vt_0x1C0() const;
|
||||
/* vt 0x1C4 */ virtual void getActorInActorRef1();
|
||||
/* vt 0x1C8 */ virtual void doesActorRef1Exist();
|
||||
/* vt 0x1CC */ virtual void unlinkActorRef1();
|
||||
/* vt 0x1D0 */ virtual void ifHasHealthAndSomethingElse();
|
||||
/* vt 0x1D4 */ virtual void isChargingWeapon();
|
||||
/* vt 0x1D8 */ virtual void isWeaponChargedFully();
|
||||
/* vt 0x1DC */ virtual void didShootBow();
|
||||
/* vt 0x1E0 */ virtual void vt_0x1E0();
|
||||
/* vt 0x1E4 */ virtual void checkRefArrayAtIndex();
|
||||
/* vt 0x1E8 */ virtual void sizeOfActorRefs_16();
|
||||
/* vt 0x1EC */ virtual void vt_0x1EC();
|
||||
/* vt 0x1F0 */ virtual void vt_0x1F0();
|
||||
/* vt 0x1F4 */ virtual void didDiveSky_and_other();
|
||||
/* vt 0x1F8 */ virtual void didDiveSky_andNotOther();
|
||||
/* vt 0x1FC */ virtual void isLandingFromSailcloth();
|
||||
/* vt 0x200 */ virtual void isBeingPulledFromRightClawshot();
|
||||
/* vt 0x204 */ virtual void isBeingPulledByLeftClawshot();
|
||||
/* vt 0x208 */ virtual void isDashing();
|
||||
/* vt 0x20C */ virtual void isSliding();
|
||||
/* vt 0x210 */ virtual void isSlding2();
|
||||
/* vt 0x214 */ virtual void vt_0x214();
|
||||
/* vt 0x218 */ virtual void isinMpPosePower();
|
||||
/* vt 0x21C */ virtual void isPushingBlock();
|
||||
/* vt 0x220 */ virtual void getRidingActor();
|
||||
/* vt 0x224 */ virtual bool isRidingBall() const;
|
||||
/* vt 0x228 */ virtual dAcObjBase_c *getRidingMinecartActor() const;
|
||||
/* vt 0x22C */ virtual void getTurnableSwitch();
|
||||
/* vt 0x230 */ virtual void vt_0x230();
|
||||
/* vt 0x234 */ virtual void vt_0x234();
|
||||
/* vt 0x238 */ virtual void setVecIfInFreeFall();
|
||||
/* vt 0x23C */ virtual void setActorRef10();
|
||||
/* vt 0x240 */ virtual void vt_0x240();
|
||||
/* vt 0x244 */ virtual void vt_0x244();
|
||||
/* vt 0x248 */ virtual void vt_0x248();
|
||||
/* vt 0x24C */ virtual void vt_0x24C();
|
||||
/* vt 0x250 */ virtual void vt_0x250();
|
||||
/* vt 0x254 */ virtual void isAttackingUnderground();
|
||||
/* vt 0x258 */ virtual mAng vt_0x258() const;
|
||||
/* vt 0x25C */ virtual void vt_0x25C();
|
||||
/* vt 0x260 */ virtual f32 vt_0x260() const;
|
||||
/* vt 0x264 */ virtual void getGroosenatorIfIn();
|
||||
/* vt 0x268 */ virtual void setActorRef11();
|
||||
/* vt 0x26C */ virtual void doesGameOver();
|
||||
/* vt 0x270 */ virtual void triggerExitRelated();
|
||||
/* vt 0x274 */ virtual void vt_0x274();
|
||||
/* vt 0x278 */ virtual void vt_0x278();
|
||||
/* vt 0x27C */ virtual void getSwordPos();
|
||||
/* vt 0x280 */ virtual void vt_0x280();
|
||||
/* vt 0x284 */ virtual bool isUsingBugnet() const;
|
||||
/* vt 0x288 */ virtual const mVec3_c &getBugNetPos() const;
|
||||
/* vt 0x28C */ virtual bool isUsingBugnet1();
|
||||
/* vt 0x290 */ virtual void bugNetCollectTreasure(u32 itemId);
|
||||
/* vt 0x294 */ virtual void somethingSwitchDials();
|
||||
/* vt 0x298 */ virtual void vt_0x298();
|
||||
/* vt 0x29C */ virtual void getDieLargeDamageDir();
|
||||
/* vt 0x2A0 */ virtual void doGameOver();
|
||||
/* vt 0x2A4 */ virtual void isRunningUpWall();
|
||||
/* vt 0x2A8 */ virtual void lookTowardItem();
|
||||
/* vt 0x2AC */ virtual void vt_0x2AC();
|
||||
/* vt 0x2B0 */ virtual void vt_0x2B0();
|
||||
/* vt 0x2B4 */ virtual void triggerMoveEventMaybe();
|
||||
/* vt 0x2B8 */ virtual void setActorRef9();
|
||||
/* vt 0x2BC */ virtual void unlinkActorRef9();
|
||||
/* vt 0x2C0 */ virtual void vt_0x2C0();
|
||||
/* vt 0x2C4 */ virtual void vt_0x2C4();
|
||||
/* vt 0x2C8 */ virtual bool isRecovering() const;
|
||||
/* vt 0x2CC */ virtual void isDrinkingPotion();
|
||||
/* vt 0x2D0 */ virtual void isHealingShield();
|
||||
/* vt 0x2D4 */ virtual void isBottleOut();
|
||||
/* vt 0x2D8 */ virtual void isUsingBottle();
|
||||
/* vt 0x2DC */ virtual void getShieldRegenProgressMaybe();
|
||||
// overriddes omitted
|
||||
/* vt 0x2E0 */ virtual void vt_0x2E0();
|
||||
/* vt 0x2E4 */ virtual void someDivingHrabbingStuff();
|
||||
/* vt 0x2E8 */ virtual void vt_0x2E8();
|
||||
@@ -237,31 +667,79 @@ public:
|
||||
/* vt 0x304 */ virtual void vt_0x304();
|
||||
/* vt 0x308 */ virtual void vt_0x308();
|
||||
/* vt 0x30C */ virtual void vt_0x30C();
|
||||
|
||||
protected:
|
||||
/* 0x370 */ mHeapAllocator_c mModelAllocator;
|
||||
/* 0x38C */ mHeapAllocator_c mSwordAllocator;
|
||||
/* 0x3A8 */ mHeapAllocator_c mShieldAllocator;
|
||||
/* 0x3C4 */ u32 mModelUpdateFlags;
|
||||
/* 0x3C8 */ nw4r::g3d::ResFile mSwordRes;
|
||||
/* 0x3CC */ nw4r::g3d::ResFile mAlinkRes;
|
||||
/* 0x3D0 */ nw4r::g3d::ResFile mPlCommonAnimeRes;
|
||||
/* 0x3D4 */ nw4r::g3d::ResFile mPlCommonSoundRes;
|
||||
/* 0x3D8 */ nw4r::g3d::ResFile mCurrentRes;
|
||||
/* 0x3DC */ nw4r::g3d::ResFile mAlink2Res;
|
||||
/* 0x3E0 */ daPlBaseMdl_c mMainMdl;
|
||||
/* 0x440 */ daPlBaseCallback1_c mCallback1;
|
||||
/* 0x448 */ m3d::mdl_c mHeadMdl;
|
||||
/* 0x46C */ daPlBaseCallback2_c mCallback2;
|
||||
/* 0x474 */ m3d::smdl_c mFaceMdl;
|
||||
/* 0x490 */ m3d::anmChr_c mFaceAnmChr;
|
||||
/* 0x4CC */ m3d::anmTexPat_c mFaceTexPat;
|
||||
/* 0x4FC */ m3d::anmTexSrt_c mFaceTexSrt;
|
||||
/* 0x52C */ m3d::anmChr_c mHeadAnmChr;
|
||||
/* 0x564 */ m3d::smdl_c mHandsMdl;
|
||||
/* 0x580 */ daPlBaseCalcWorldCallback_c mCalcWorldCallback;
|
||||
/* 0x588 */ daPlBaseScnObjCallback_c mScnObjCallback;
|
||||
/* 0x598 */ m3d::smdl_c mSwordMdl;
|
||||
/* 0x5B4 */ m3d::anmMatClr_c mAnmMatClr;
|
||||
/* 0x5E0 */ m3d::smdl_c mShieldMdl;
|
||||
/* 0x5FC */ m3d::anmTexPat_c mUnkAnmTextPat1;
|
||||
/* 0x628 */ m3d::anmTexPat_c mUnkAnmTextPat2;
|
||||
/* 0x654 */ m3d::smdl_c mSheathMdl;
|
||||
/* 0x670 */ m3d::smdl_c mUnkMdl1;
|
||||
/* 0x68C */ m3d::anmChr_c mAnmChr;
|
||||
/* 0x6C4 */ m3d::anmChrBlend_c mAnmChrBlend;
|
||||
/* 0x6EC */ dScnCallback_c mScnCallback1;
|
||||
/* 0x6F8 */ dScnCallback_c mScnCallback2;
|
||||
/* 0x704 */ dScnCallback_c mScnCallback3;
|
||||
/* 0x610 */ dScnCallback_c mScnCallback4;
|
||||
/* 0x61C */ dScnCallback_c mScnCallback5;
|
||||
/* 0x728 */ daPlBaseAnmChr_c mAnmChrs[6];
|
||||
/* 0x878 */ dCcD_Cyl mCcCyls[3];
|
||||
/* 0xC68 */ dCcD_Cps mCcCpss[3];
|
||||
/* 0x10B8 */ dCcD_Cyl mCcCyl;
|
||||
/* 0x12AC */ mVec3_c mTranslationHand[2];
|
||||
/* 0x12C4 */ mVec3_c mTranslationWeapon[2];
|
||||
/* 0x12DC */ mVec3_c mToeTranslation[2];
|
||||
/* 0x1300 */ UnkPlayerClass mUnk_0x1300[4];
|
||||
/* 0x1340 */ mQuat_c mQuat1;
|
||||
/* 0x1350 */ mQuat_c mQuat2;
|
||||
/* 0x1360 */ dAcRef_c<dAcObjBase_c> mRef; // not sure about the class
|
||||
};
|
||||
|
||||
// The split between daPlBase_c and dAcPy_c is somewhere after
|
||||
// member offset 0x1368 and before 0x137C
|
||||
|
||||
class dAcPy_c : public daPlayerModelBase_c {
|
||||
public:
|
||||
dAcPy_c();
|
||||
virtual ~dAcPy_c();
|
||||
|
||||
// argument is always false in existing code, true doesn't seem to make a difference
|
||||
void bonk(bool unk = false);
|
||||
bool fn_80202D90(bool);
|
||||
|
||||
/* overrides omitted */
|
||||
/* vt 0x310 */ virtual void vt_0x310();
|
||||
/* vt 0x314 */ virtual void vt_0x314();
|
||||
/* vt 0x318 */ virtual void vt_0x318();
|
||||
|
||||
/* 0x330 */ u8 unk_0x330[0x339 - 0x330];
|
||||
/* 0x339 */ u8 mRidingActorType;
|
||||
/* 0x33A */ u8 unk_0x33A[0x340 - 0x33A];
|
||||
/* 0x340 */ u32 someFlags_0x340;
|
||||
/* 0x344 */ u8 unk_0x344[0x348 - 0x344];
|
||||
/* 0x348 */ u32 mSwordAndMoreStates;
|
||||
/* 0x34C */ u8 unk_0x34C[0x350 - 0x34C];
|
||||
/* 0x350 */ u32 someFlags_0x350;
|
||||
u8 UNK_0x354[0x35C - 0x354];
|
||||
/* 0x35C */ u32 mForceOrPreventActionFlags;
|
||||
/* 0x360 */ UNKWORD field_0x360;
|
||||
/* 0x364 */ u32 mActionFlags;
|
||||
/* 0x368 */ u32 mActionFlagsCont;
|
||||
/* 0x36C */ int mCurrentAction; // TODO (Document Enum)
|
||||
/* 0x370 */ u8 _370[0x3C8 - 0x370];
|
||||
/* 0x3C8 */ nw4r::g3d::ResFile mSwordRes;
|
||||
/* 0x3CC */ u8 _0x3CC[0x5B4 - 0x3CC];
|
||||
/* 0x5B4 */ m3d::anmMatClr_c mAnmMatClr;
|
||||
/* 0x5E0 */ u8 _0x5E0[0x4564 - 0x5E0];
|
||||
protected:
|
||||
/* 0x136C */ u8 _0x136C[0x4564 - 0x136C];
|
||||
/* 0x4564 */ f32 field_0x4564;
|
||||
|
||||
public:
|
||||
f32 getField_0x4564() const {
|
||||
return field_0x4564;
|
||||
}
|
||||
@@ -270,6 +748,10 @@ public:
|
||||
return mAnmMatClr.getFrame(0);
|
||||
}
|
||||
|
||||
nw4r::g3d::ResFile getSwordResFile() const {
|
||||
return mSwordRes;
|
||||
}
|
||||
|
||||
inline bool checkFlags0x340(u32 mask) const {
|
||||
return (someFlags_0x340 & mask) != 0;
|
||||
}
|
||||
@@ -278,6 +760,14 @@ public:
|
||||
return (someFlags_0x350 & mask) != 0;
|
||||
}
|
||||
|
||||
inline void onFlags_0x360(u32 mask) {
|
||||
field_0x360 |= mask;
|
||||
}
|
||||
|
||||
inline void onForceOrPreventActionFlags(u32 mask) {
|
||||
mForceOrPreventActionFlags |= mask;
|
||||
}
|
||||
|
||||
bool CheckPlayerFly() const {
|
||||
return mActionFlags & FLG0_FLY;
|
||||
}
|
||||
@@ -347,6 +837,9 @@ public:
|
||||
static u32 getCurrentHealthCapacity();
|
||||
|
||||
bool canDowseProbably() const;
|
||||
|
||||
mAng fn_8023B520() const;
|
||||
mAng fn_8023B590() const;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -28,9 +28,9 @@ public:
|
||||
}
|
||||
|
||||
protected:
|
||||
nw4r::g3d::AnmObj *mpAnmObj;
|
||||
EGG::FrmHeap *mpFrameHeap;
|
||||
mAllocator_c mAllocator;
|
||||
/* 0x04 */ nw4r::g3d::AnmObj *mpAnmObj;
|
||||
/* 0x08 */ EGG::FrmHeap *mpFrameHeap;
|
||||
/* 0x0C */ mAllocator_c mAllocator;
|
||||
};
|
||||
|
||||
} // namespace m3d
|
||||
|
||||
@@ -47,10 +47,10 @@ public:
|
||||
}
|
||||
|
||||
private:
|
||||
f32 mEndFrame;
|
||||
f32 mStartFrame;
|
||||
f32 mCurrentFrame;
|
||||
u8 mPlayState;
|
||||
/* 0x28 */ f32 mEndFrame;
|
||||
/* 0x2C */ f32 mStartFrame;
|
||||
/* 0x30 */ f32 mCurrentFrame;
|
||||
/* 0x34 */ u8 mPlayState;
|
||||
};
|
||||
|
||||
} // namespace m3d
|
||||
|
||||
@@ -133,7 +133,7 @@ int dAcBombf_c::actorExecute() {
|
||||
}
|
||||
|
||||
int dAcBombf_c::draw() {
|
||||
if (field_0x3D0 != 0 && (dAcPy_c::LINK->mActionFlagsCont & 0x400000) == 0) {
|
||||
if (field_0x3D0 != 0 && !dAcPy_c::LINK->checkActionFlagsCont(0x400000)) {
|
||||
return SUCCEEDED;
|
||||
}
|
||||
drawModelType1(&mModel);
|
||||
@@ -170,7 +170,6 @@ void dAcBombf_c::initializeState_Wait() {}
|
||||
extern "C" u16 lbl_8057A750;
|
||||
|
||||
void dAcBombf_c::executeState_Wait() {
|
||||
// Stack problems
|
||||
if (SceneflagManager::sInstance->checkBoolFlag(roomid, mDespawnSceneFlag)) {
|
||||
deleteRequest();
|
||||
dAcBomb_c *bomb = mBombRef.get();
|
||||
@@ -184,12 +183,12 @@ void dAcBombf_c::executeState_Wait() {
|
||||
|
||||
f32 scaleFactor = mScale.x;
|
||||
if (field_0x3D2 == 0 || field_0x3D2 == 2) {
|
||||
mVec3_c m;
|
||||
PSMTXMultVecSR(mWorldMtx, mVec3_c::Ey, m);
|
||||
mVec3_c up;
|
||||
PSMTXMultVecSR(mWorldMtx, mVec3_c::Ey, up);
|
||||
mVec3_c upScaled = up * 30.0f;
|
||||
mVec3_c checkPos = position + upScaled;
|
||||
|
||||
mVec3_c m3 = position + (m * 30.0f);
|
||||
|
||||
if (mTimeAreaStruct.check(roomid, m3, 0, 30.0f, 0.1f) && field_0x3D4 != 1) {
|
||||
if (mTimeAreaStruct.check(roomid, checkPos, 0, 30.0f, 0.1f) && field_0x3D4 != 1) {
|
||||
if (mTimeAreaStruct.field_0x04 == 1) {
|
||||
playSound(SE_TIMESLIP_TIMESLIP);
|
||||
} else {
|
||||
|
||||
@@ -55,7 +55,7 @@ extern const u16 PARTICLE_RESOURCE_ID_MAPPING_8_;
|
||||
void dAcTWoodArea_c::initializeState_Wait() {}
|
||||
|
||||
void dAcTWoodArea_c::executeState_Wait() {
|
||||
if (dAcPy_c::LINK != nullptr && (dAcPy_c::LINK->someFlags_0x350 & 0x2000)) {
|
||||
if (dAcPy_c::LINK != nullptr && dAcPy_c::LINK->checkFlags0x350(0x2000)) {
|
||||
// This is a bit messed up
|
||||
mVec3_c dist = position - dAcPy_c::LINK->position;
|
||||
f32 attachRadius = getAttachRadius();
|
||||
|
||||
@@ -50,7 +50,7 @@ bool dAcOSeatSword_c::createHeap() {
|
||||
mRes = dAcPy_c::getItemResFile(goddess_sword, heap_allocator);
|
||||
TRY_CREATE(mSwordMdl.create(mRes.GetResMdl(goddess_sword), &heap_allocator, 0x120, 1, nullptr));
|
||||
} else if (mSubtype == 1) {
|
||||
mRes = dAcPy_c::LINK->mSwordRes;
|
||||
mRes = dAcPy_c::GetLink()->getSwordResFile();
|
||||
const char *sword_name = getSwordName(EQUIPPED_SWORD);
|
||||
TRY_CREATE(mSwordMdl.create(mRes.GetResMdl(sword_name), &heap_allocator, 0x120, 1, nullptr));
|
||||
}
|
||||
@@ -173,7 +173,7 @@ void dAcOSeatSword_c::registerInEvent() {
|
||||
ang.y += someAng;
|
||||
vec.rotY(rotation.y);
|
||||
vec += position;
|
||||
player->setPosRot(vec, ang, 0, 1, 0);
|
||||
player->setPosRot(&vec, &ang, 0, 1, 0);
|
||||
mField_0x7E8.set(0);
|
||||
updateSwordMdl();
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ int dTgHolyWater_c::actorExecute() {
|
||||
mDowsingTarget.doUnregister();
|
||||
}
|
||||
if (isLinkNearby()) {
|
||||
dAcPy_c::LINK->mForceOrPreventActionFlags |= 0x10000000;
|
||||
dAcPy_c::LINK->onForceOrPreventActionFlags(0x10000000);
|
||||
}
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
#include "d/a/d_a_player.h"
|
||||
|
||||
dAcPy_c *dAcPy_c::LINK;
|
||||
|
||||
// TODO: Disable this pragma when the ctors are matching
|
||||
#pragma dont_inline on
|
||||
dAcPy_c::dAcPy_c() {}
|
||||
#pragma dont_inline reset
|
||||
|
||||
dAcPy_c::~dAcPy_c() {}
|
||||
|
||||
@@ -43,20 +43,20 @@ void dAcOsw_c::rideCallback(dBgW *unknown, dAcObjBase_c *actor, dAcObjBase_c *in
|
||||
dAcOsw_c *sw = static_cast<dAcOsw_c *>(actor);
|
||||
|
||||
// halp
|
||||
if (!(link == nullptr || ((link->mActionFlags & 0x40000) == 0 &&
|
||||
(((link->someFlags_0x340 & 0x800000) == 0 ||
|
||||
if (!(link == nullptr || (!link->checkActionFlags(dAcPy_c::FLG0_IN_WATER) &&
|
||||
((!link->checkFlags0x340(0x800000) ||
|
||||
((link->getCurrentCarriedActor() != nullptr &&
|
||||
link->getCurrentCarriedActor()->mActorCarryInfo.testCarryFlag(0x04)))))))) {
|
||||
return;
|
||||
}
|
||||
if (interactor->mActorCarryInfo.isCarried != 1) {
|
||||
if (link == nullptr || (link->mActionFlags & 0xC70852) == 0) {
|
||||
if (link == nullptr || (link->checkActionFlags(0xC70852)) == 0) {
|
||||
if (!sw->someInteractCheck(link != nullptr)) {
|
||||
bool needsOnFlag = sw->mOnSceneFlag < 0xFF &&
|
||||
!SceneflagManager::sInstance->checkBoolFlag(sw->roomid, sw->mOnSceneFlag);
|
||||
if (!needsOnFlag && sw->mObjRef.get() == nullptr && link != nullptr && sw->field_0x5F1 == 0 &&
|
||||
sw->mStateMgr.isState(StateID_On)) {
|
||||
link->field_0x360 |= 0x8000;
|
||||
link->onFlags_0x360(0x8000);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -136,7 +136,7 @@ int dAcOsw_c::actorPostCreate() {
|
||||
int dAcOsw_c::doDelete() {
|
||||
dAcPy_c *link = dAcPy_c::LINK;
|
||||
if (mSwitchType != 1 && field_0x5F2 == 0) {
|
||||
if ((link == nullptr || (link->someFlags_0x340 & 0x200) != 0) && (link == nullptr || link->roomid == roomid)) {
|
||||
if ((link == nullptr || link->checkFlags0x340(0x200)) && (link == nullptr || link->roomid == roomid)) {
|
||||
if (mOffSceneFlag < 0xFF && SceneflagManager::sInstance->checkBoolFlag(roomid, mOffSceneFlag)) {
|
||||
SceneflagManager::sInstance->unsetFlag(roomid, mOffSceneFlag);
|
||||
}
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
#include "d/d_player.h"
|
||||
@@ -0,0 +1,129 @@
|
||||
#include "d/a/d_a_item.h"
|
||||
#include "d/a/d_a_itembase.h"
|
||||
#include "d/d_player.h"
|
||||
|
||||
#include "common.h"
|
||||
#include "d/a/d_a_player.h"
|
||||
#include "d/a/obj/d_a_obj_base.h"
|
||||
#include "m/m_angle.h"
|
||||
#include "m/m_color.h"
|
||||
#include "m/m_vec.h"
|
||||
#include "toBeSorted/event_manager.h"
|
||||
|
||||
mVec3_c daPlayerActBase_c::sPos1(mVec3_c::Zero);
|
||||
mVec3_c daPlayerActBase_c::sPos2(mVec3_c::Zero);
|
||||
mAng daPlayerActBase_c::sRot1(0);
|
||||
mAng daPlayerActBase_c::sRot2(0);
|
||||
const f32 daPlayerActBase_c::sPushRelatedConstant = 75.0f;
|
||||
|
||||
int daPlayerActBase_c::preExecute() {
|
||||
if (dAcObjBase_c::preExecute() == NOT_READY) {
|
||||
return NOT_READY;
|
||||
}
|
||||
someFlags_0x350 = 0;
|
||||
someFlags_0x354 = 0;
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
void daPlayerActBase_c::postExecute(MAIN_STATE_e state) {
|
||||
if (state != CANCELED) {
|
||||
someFlags_0x358 = 0;
|
||||
mForceOrPreventActionFlags = 0;
|
||||
}
|
||||
dAcObjBase_c::postExecute(state);
|
||||
}
|
||||
|
||||
bool daPlayerActBase_c::isInEvent() {
|
||||
return EventManager::isInEvent();
|
||||
}
|
||||
|
||||
bool daPlayerActBase_c::isAttackingLeft() const {
|
||||
return mAttackDirection == ATTACK_SPIN_LEFT || mAttackDirection == ATTACK_SWING_LEFT;
|
||||
}
|
||||
|
||||
bool daPlayerActBase_c::isAttackingRight() const {
|
||||
return mAttackDirection == ATTACK_SPIN_RIGHT || mAttackDirection == ATTACK_SWING_RIGHT;
|
||||
}
|
||||
|
||||
bool daPlayerActBase_c::isAttackingDown() const {
|
||||
return mAttackDirection == ATTACK_SWING_DOWN || mAttackDirection == ATTACK_SPIN_DOWN ||
|
||||
mAttackDirection == ATTACK_JUMP_SLASH;
|
||||
}
|
||||
|
||||
bool daPlayerActBase_c::isAttackingUp() const {
|
||||
return mAttackDirection == ATTACK_SPIN_UP || mAttackDirection == ATTACK_SWING_UP;
|
||||
}
|
||||
|
||||
bool daPlayerActBase_c::isAttackingStab() const {
|
||||
return mAttackDirection == ATTACK_STAB;
|
||||
}
|
||||
|
||||
bool daPlayerActBase_c::isAttackingSpinHorizontal() const {
|
||||
return mAttackDirection == ATTACK_SPIN_LEFT || mAttackDirection == ATTACK_SPIN_RIGHT;
|
||||
}
|
||||
|
||||
bool daPlayerActBase_c::isAttackingSpinVertical() const {
|
||||
return mAttackDirection == ATTACK_SPIN_DOWN || mAttackDirection == ATTACK_SPIN_UP;
|
||||
}
|
||||
|
||||
void daPlayerActBase_c::setBonkRelatedAnimFlag(bool b) {
|
||||
if (b) {
|
||||
field_0x360 |= 2;
|
||||
} else {
|
||||
field_0x360 |= 1;
|
||||
}
|
||||
}
|
||||
|
||||
void daPlayerActBase_c::setPosRot(const mVec3_c *pos, const mAng3_c *rot, bool force, UNKWORD, UNKWORD) {
|
||||
if (isInEvent() || force) {
|
||||
mStts.ClrCcMove();
|
||||
if (pos != nullptr) {
|
||||
position = *pos;
|
||||
mOldPosition = position;
|
||||
velocity.y = 0.0f;
|
||||
}
|
||||
if (rot != nullptr) {
|
||||
rotation = *rot;
|
||||
angle.y = rotation.y;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void daPlayerActBase_c::setPosYRot(const mVec3_c &pos, mAng rot, bool force, UNKWORD a4, UNKWORD a5) {
|
||||
mAng3_c ang(0, rot, 0);
|
||||
setPosRot(&pos, &ang, force, a4, a5);
|
||||
}
|
||||
|
||||
void daPlayerActBase_c::setTransform(const mMtx_c &mtx, bool force, UNKWORD a4, UNKWORD a5) {
|
||||
mVec3_c translate;
|
||||
translate.x = mtx.m[0][3];
|
||||
translate.y = mtx.m[1][3];
|
||||
translate.z = mtx.m[2][3];
|
||||
mAng3_c rot;
|
||||
mtx.toRot(rot);
|
||||
setPosRot(&translate, &rot, force, a4, a5);
|
||||
}
|
||||
|
||||
extern "C" bool fn_80213090(dAcEnBase_c *);
|
||||
|
||||
bool daPlayerActBase_c::someTargetedActorCheck() const {
|
||||
return fn_80213090(getTargetedActor1());
|
||||
}
|
||||
|
||||
mAng daPlayerActBase_c::fn_8005BA90() {
|
||||
return dAcPy_c::LINK2->fn_8023B520();
|
||||
}
|
||||
|
||||
mAng daPlayerActBase_c::fn_8005BAA0() {
|
||||
return dAcPy_c::LINK2->fn_8023B590();
|
||||
}
|
||||
|
||||
const mColor &daPlayerActBase_c::getEarringsColor() {
|
||||
static const mColor sNoFireshieldEarrings = mColor(45, 80, 127, 255);
|
||||
static const mColor sFireshieldEarrings = mColor(222, 57, 20, 255);
|
||||
if (dAcItem_c::hasItem(ITEM_FIRESHIELD_EARRINGS)) {
|
||||
return sFireshieldEarrings;
|
||||
} else {
|
||||
return sNoFireshieldEarrings;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
#include "d/a/d_a_player.h"
|
||||
|
||||
void dummy_triggerDtor(daPlayerModelBase_c *pl) {
|
||||
delete pl;
|
||||
}
|
||||
Reference in New Issue
Block a user