mirror of https://github.com/PrimeDecomp/prime.git
All CPlayer implemented (w/ some nonmatchings)
This commit is contained in:
parent
f9ed07d33c
commit
cddd01c7a8
|
@ -139,7 +139,7 @@ SetupInterpolation__14CCameraManagerFRC12CTransform4f9TUniqueId9CVector3ffffbR13
|
||||||
SetPlayerCamera__14CCameraManagerFR13CStateManager9TUniqueId = .text:0x8000A848; // type:function size:0x84 scope:global
|
SetPlayerCamera__14CCameraManagerFR13CStateManager9TUniqueId = .text:0x8000A848; // type:function size:0x84 scope:global
|
||||||
ShouldBypassInterpolationCamera__14CCameraManagerCFv = .text:0x8000A8CC; // type:function size:0x8 scope:global
|
ShouldBypassInterpolationCamera__14CCameraManagerCFv = .text:0x8000A8CC; // type:function size:0x8 scope:global
|
||||||
IsInterpolationCameraActive__14CCameraManagerCFv = .text:0x8000A8D4; // type:function size:0x10 scope:global
|
IsInterpolationCameraActive__14CCameraManagerCFv = .text:0x8000A8D4; // type:function size:0x10 scope:global
|
||||||
IsInFirstPersonCamera__14CCameraManagerCFv = .text:0x8000A8E4; // type:function size:0x1C scope:global
|
IsInFPCamera__14CCameraManagerCFv = .text:0x8000A8E4; // type:function size:0x1C scope:global
|
||||||
IsInCinematicCamera__14CCameraManagerCFv = .text:0x8000A900; // type:function size:0x14 scope:global
|
IsInCinematicCamera__14CCameraManagerCFv = .text:0x8000A900; // type:function size:0x14 scope:global
|
||||||
GetGlobalCameraTranslation__14CCameraManagerCFRC13CStateManager = .text:0x8000A914; // type:function size:0x54 scope:global
|
GetGlobalCameraTranslation__14CCameraManagerCFRC13CStateManager = .text:0x8000A914; // type:function size:0x54 scope:global
|
||||||
GetCurrentCameraTransform__14CCameraManagerCFRC13CStateManager = .text:0x8000A968; // type:function size:0x68 scope:global
|
GetCurrentCameraTransform__14CCameraManagerCFRC13CStateManager = .text:0x8000A968; // type:function size:0x68 scope:global
|
||||||
|
@ -288,25 +288,25 @@ IsQualified__11CObjectListFRC7CEntity = .text:0x80010030; // type:function size:
|
||||||
__ct__11CObjectListF15EGameObjectList = .text:0x80010038; // type:function size:0xF4 scope:global
|
__ct__11CObjectListF15EGameObjectList = .text:0x80010038; // type:function size:0xF4 scope:global
|
||||||
__ct__Q211CObjectList16SObjectListEntryFv = .text:0x8001012C; // type:function size:0x18 scope:weak
|
__ct__Q211CObjectList16SObjectListEntryFv = .text:0x8001012C; // type:function size:0x18 scope:weak
|
||||||
__dt__7CPlayerFv = .text:0x80010144; // type:function size:0x730 scope:global
|
__dt__7CPlayerFv = .text:0x80010144; // type:function size:0x730 scope:global
|
||||||
fn_80010874 = .text:0x80010874; // type:function size:0x58
|
__dt__Q24rstl43single_ptr<Q27CPlayer19CPlayerStuckTracker>Fv = .text:0x80010874; // type:function size:0x58
|
||||||
__dt__Q27CPlayer19CPlayerStuckTrackerFv = .text:0x800108CC; // type:function size:0x1CC scope:global
|
__dt__Q27CPlayer19CPlayerStuckTrackerFv = .text:0x800108CC; // type:function size:0x1CC scope:global
|
||||||
IsTransparent__7CPlayerCFv = .text:0x80010A98; // type:function size:0x18 scope:global
|
IsTransparent__7CPlayerCFv = .text:0x80010A98; // type:function size:0x18 scope:global
|
||||||
IsEnergyLow__7CPlayerCFRC13CStateManager = .text:0x80010AB0; // type:function size:0x7C scope:global
|
IsEnergyLow__7CPlayerCFRC13CStateManager = .text:0x80010AB0; // type:function size:0x7C scope:global
|
||||||
FinishNewScan__7CPlayerFR13CStateManager = .text:0x80010B2C; // type:function size:0x12C scope:global
|
FinishNewScan__7CPlayerFR13CStateManager = .text:0x80010B2C; // type:function size:0x12C scope:global
|
||||||
GetAttachedActorStruggle__7CPlayerCFv = .text:0x80010C58; // type:function size:0x8 scope:global
|
GetAttachedActorStruggle__7CPlayerCFv = .text:0x80010C58; // type:function size:0x8 scope:global
|
||||||
StartSamusVoiceSfx__7CPlayerFUssi = .text:0x80010C60; // type:function size:0xD0 scope:global
|
StartSamusVoiceSfx__7CPlayerFUssi = .text:0x80010C60; // type:function size:0xD0 scope:global
|
||||||
PostUpdate__7CPlayerFfR13CStateManager = .text:0x80010D30; // type:function size:0x1D4 scope:global
|
DoPostCameraStuff__7CPlayerFfR13CStateManager = .text:0x80010D30; // type:function size:0x1D4 scope:global
|
||||||
__ct__16CPlayerCameraBobFRC16CPlayerCameraBob = .text:0x80010F04; // type:function size:0x270 scope:global
|
__as__16CPlayerCameraBobFRC16CPlayerCameraBob = .text:0x80010F04; // type:function size:0x270 scope:global
|
||||||
SetPlayerHitWallDuringMove__7CPlayerFv = .text:0x80011174; // type:function size:0x18 scope:global
|
SetPlayerHitWallDuringMove__7CPlayerFv = .text:0x80011174; // type:function size:0x18 scope:global
|
||||||
DoSfxEffects__7CPlayerF10CSfxHandle = .text:0x8001118C; // type:function size:0x48 scope:global
|
DoSfxEffects__7CPlayerF10CSfxHandle = .text:0x8001118C; // type:function size:0x48 scope:global
|
||||||
UpdatePhazonDamage__7CPlayerFfR13CStateManager = .text:0x800111D4; // type:function size:0x578 scope:global
|
UpdatePhazonDamage__7CPlayerFfR13CStateManager = .text:0x800111D4; // type:function size:0x578 scope:global
|
||||||
__dt__17CCollidableSphere = .text:0x8001174C; // type:function size:0x5C scope:global
|
__dt__17CCollidableSphereFv = .text:0x8001174C; // type:function size:0x5C scope:global
|
||||||
__dt__19CCollisionPrimitiveFv = .text:0x800117A8; // type:function size:0x48 scope:global
|
__dt__19CCollisionPrimitiveFv = .text:0x800117A8; // type:function size:0x48 scope:global
|
||||||
UpdatePhazonCameraShake__7CPlayerFfR13CStateManager = .text:0x800117F0; // type:function size:0x154 scope:global
|
UpdatePhazonCameraShake__7CPlayerFfR13CStateManager = .text:0x800117F0; // type:function size:0x154 scope:global
|
||||||
DecrementPhazon__7CPlayerFv = .text:0x80011944; // type:function size:0x18 scope:global
|
DecrementEnvironmentDamage__7CPlayerFv = .text:0x80011944; // type:function size:0x18 scope:global
|
||||||
IncrementPhazon__7CPlayerFv = .text:0x8001195C; // type:function size:0x24 scope:global
|
IncrementEnvironmentDamage__7CPlayerFv = .text:0x8001195C; // type:function size:0x24 scope:global
|
||||||
DoPreThink__7CPlayerFfRC13CStateManager = .text:0x80011980; // type:function size:0x84 scope:global
|
DoPreThink__7CPlayerFfR13CStateManager = .text:0x80011980; // type:function size:0x84 scope:global
|
||||||
DoThink__7CPlayerFfRC13CStateManager = .text:0x80011A04; // type:function size:0x84 scope:global
|
DoThink__7CPlayerFfR13CStateManager = .text:0x80011A04; // type:function size:0x84 scope:global
|
||||||
ResetControlDirectionInterpolation__7CPlayerFv = .text:0x80011A88; // type:function size:0x1C scope:global
|
ResetControlDirectionInterpolation__7CPlayerFv = .text:0x80011A88; // type:function size:0x1C scope:global
|
||||||
SetControlDirectionInterpolation__7CPlayerFf = .text:0x80011AA4; // type:function size:0x20 scope:global
|
SetControlDirectionInterpolation__7CPlayerFf = .text:0x80011AA4; // type:function size:0x20 scope:global
|
||||||
IsPlayerDeadEnough__7CPlayerCFv = .text:0x80011AC4; // type:function size:0x68 scope:global
|
IsPlayerDeadEnough__7CPlayerCFv = .text:0x80011AC4; // type:function size:0x68 scope:global
|
||||||
|
@ -336,7 +336,7 @@ SetHudDisable__7CPlayerFfff = .text:0x8001306C; // type:function size:0x3C scope
|
||||||
GetTouchBounds__7CPlayerCFv = .text:0x800130A8; // type:function size:0x160 scope:global
|
GetTouchBounds__7CPlayerCFv = .text:0x800130A8; // type:function size:0x160 scope:global
|
||||||
Touch__7CPlayerFR6CActorR13CStateManager = .text:0x80013208; // type:function size:0x30 scope:global
|
Touch__7CPlayerFR6CActorR13CStateManager = .text:0x80013208; // type:function size:0x30 scope:global
|
||||||
UpdateScanningState__7CPlayerFRC11CFinalInputR13CStateManagerf = .text:0x80013238; // type:function size:0x2CC scope:global
|
UpdateScanningState__7CPlayerFRC11CFinalInputR13CStateManagerf = .text:0x80013238; // type:function size:0x2CC scope:global
|
||||||
ValidateScanning__7CPlayerFRC11CFinalInputR13CStateManager = .text:0x80013504; // type:function size:0x11C scope:global
|
ValidateScanning__7CPlayerCFRC11CFinalInputR13CStateManager = .text:0x80013504; // type:function size:0x11C scope:global
|
||||||
SetScanningState__7CPlayerFQ27CPlayer16EPlayerScanStateR13CStateManager = .text:0x80013620; // type:function size:0x1F0 scope:global
|
SetScanningState__7CPlayerFQ27CPlayer16EPlayerScanStateR13CStateManager = .text:0x80013620; // type:function size:0x1F0 scope:global
|
||||||
GetExplorationMode__7CPlayerCFv = .text:0x80013810; // type:function size:0x38 scope:global
|
GetExplorationMode__7CPlayerCFv = .text:0x80013810; // type:function size:0x38 scope:global
|
||||||
GetCombatMode__7CPlayerCFv = .text:0x80013848; // type:function size:0x38 scope:global
|
GetCombatMode__7CPlayerCFv = .text:0x80013848; // type:function size:0x38 scope:global
|
||||||
|
@ -348,7 +348,7 @@ RenderReflectedPlayer__7CPlayerFR13CStateManager = .text:0x80014174; // type:fun
|
||||||
PreRender__7CPlayerFR13CStateManagerRC14CFrustumPlanes = .text:0x800142C0; // type:function size:0x120 scope:global
|
PreRender__7CPlayerFR13CStateManagerRC14CFrustumPlanes = .text:0x800142C0; // type:function size:0x120 scope:global
|
||||||
CalculateRenderBounds__7CPlayerFv = .text:0x800143E0; // type:function size:0xC0 scope:global
|
CalculateRenderBounds__7CPlayerFv = .text:0x800143E0; // type:function size:0xC0 scope:global
|
||||||
AddToRenderer__7CPlayerCFRC14CFrustumPlanesRC13CStateManager = .text:0x800144A0; // type:function size:0xAC scope:global
|
AddToRenderer__7CPlayerCFRC14CFrustumPlanesRC13CStateManager = .text:0x800144A0; // type:function size:0xAC scope:global
|
||||||
UpdateGunAlpha__7CPlayerFRC13CStateManager = .text:0x8001454C; // type:function size:0xCC scope:global
|
UpdateGunAlpha__7CPlayerFv = .text:0x8001454C; // type:function size:0xCC scope:global
|
||||||
ComputeFreeLook__7CPlayerFRC11CFinalInput = .text:0x80014618; // type:function size:0x208 scope:global
|
ComputeFreeLook__7CPlayerFRC11CFinalInput = .text:0x80014618; // type:function size:0x208 scope:global
|
||||||
UpdateFreeLook__7CPlayerFf = .text:0x80014820; // type:function size:0x184 scope:global
|
UpdateFreeLook__7CPlayerFf = .text:0x80014820; // type:function size:0x184 scope:global
|
||||||
DetachActorFromPlayer__7CPlayerFv = .text:0x800149A4; // type:function size:0x2C scope:global
|
DetachActorFromPlayer__7CPlayerFv = .text:0x800149A4; // type:function size:0x2C scope:global
|
||||||
|
@ -7667,7 +7667,7 @@ BuildPatternedExplodeShakeData__16CCameraShakeDataFRC9CVector3ffff = .text:0x801
|
||||||
BuildLandingCameraShake__16CCameraShakeDataFff = .text:0x8015D6C4; // type:function size:0x16C scope:global
|
BuildLandingCameraShake__16CCameraShakeDataFff = .text:0x8015D6C4; // type:function size:0x16C scope:global
|
||||||
__ct__16CCameraShakeDataFff = .text:0x8015D830; // type:function size:0x108 scope:global
|
__ct__16CCameraShakeDataFff = .text:0x8015D830; // type:function size:0x108 scope:global
|
||||||
BuildPatternedExplodeShakeData__16CCameraShakeDataFff = .text:0x8015D938; // type:function size:0x108 scope:global
|
BuildPatternedExplodeShakeData__16CCameraShakeDataFff = .text:0x8015D938; // type:function size:0x108 scope:global
|
||||||
BuildPhazonCameraShakeData__16CCameraShakeDataFff = .text:0x8015DA40; // type:function size:0x174 scope:global
|
SoftBothAxesShake__16CCameraShakeDataFff = .text:0x8015DA40; // type:function size:0x174 scope:global
|
||||||
BuildProjectileCameraShake__16CCameraShakeDataFff = .text:0x8015DBB4; // type:function size:0x100 scope:global
|
BuildProjectileCameraShake__16CCameraShakeDataFff = .text:0x8015DBB4; // type:function size:0x100 scope:global
|
||||||
__sinit_CCameraShakeData_cpp = .text:0x8015DCB4; // type:function size:0x1D4 scope:local
|
__sinit_CCameraShakeData_cpp = .text:0x8015DCB4; // type:function size:0x1D4 scope:local
|
||||||
Accept__22CScriptPickupGeneratorFR8IVisitor = .text:0x8015DE88; // type:function size:0x38 scope:global
|
Accept__22CScriptPickupGeneratorFR8IVisitor = .text:0x8015DE88; // type:function size:0x38 scope:global
|
||||||
|
@ -18006,7 +18006,7 @@ gPressInputs__13ControlMapper = .data:0x803D93F8; // type:object size:0x114 scop
|
||||||
@336 = .data:0x803D9600; // type:object size:0x5C scope:local
|
@336 = .data:0x803D9600; // type:object size:0x5C scope:local
|
||||||
lbl_803D9660 = .data:0x803D9660; // type:object size:0x78
|
lbl_803D9660 = .data:0x803D9660; // type:object size:0x78
|
||||||
__vt__11CObjectList = .data:0x803D96D8; // type:object size:0xC scope:global
|
__vt__11CObjectList = .data:0x803D96D8; // type:object size:0xC scope:global
|
||||||
lbl_803D96E8 = .data:0x803D96E8; // type:object size:0x88
|
__vt__7CPlayer = .data:0x803D96E8; // type:object size:0x88
|
||||||
jumptable_803D9770 = .data:0x803D9770; // type:object size:0x1C scope:local
|
jumptable_803D9770 = .data:0x803D9770; // type:object size:0x1C scope:local
|
||||||
jumptable_803D978C = .data:0x803D978C; // type:object size:0x58 scope:local
|
jumptable_803D978C = .data:0x803D978C; // type:object size:0x58 scope:local
|
||||||
__vt__19CCollisionPrimitive = .data:0x803D97E4; // type:object size:0x2C scope:global
|
__vt__19CCollisionPrimitive = .data:0x803D97E4; // type:object size:0x2C scope:global
|
||||||
|
@ -19126,8 +19126,8 @@ testRayResult = .bss:0x80457920; // type:object size:0x30
|
||||||
testBoxResult = .bss:0x80457950; // type:object size:0x60
|
testBoxResult = .bss:0x80457950; // type:object size:0x60
|
||||||
testBox = .bss:0x804579B0; // type:object size:0x18 data:float
|
testBox = .bss:0x804579B0; // type:object size:0x18 data:float
|
||||||
skVisorToItemMapping = .bss:0x804579C8; // type:object size:0x20 data:4byte
|
skVisorToItemMapping = .bss:0x804579C8; // type:object size:0x20 data:4byte
|
||||||
lbl_804579E8 = .bss:0x804579E8; // type:object size:0x10 data:float
|
skDown$1100 = .bss:0x804579E8; // type:object size:0xC data:float
|
||||||
lbl_804579F8 = .bss:0x804579F8; // type:object size:0x18 data:4byte
|
matFilter$1103 = .bss:0x804579F8; // type:object size:0x18 data:4byte
|
||||||
sAllocSpace$2944 = .bss:0x80457A10; // type:object size:0x838
|
sAllocSpace$2944 = .bss:0x80457A10; // type:object size:0x838
|
||||||
sAllocSpace$2964 = .bss:0x80458248; // type:object size:0x108
|
sAllocSpace$2964 = .bss:0x80458248; // type:object size:0x108
|
||||||
sAllocSpace$2980 = .bss:0x80458350; // type:object size:0x1E58
|
sAllocSpace$2980 = .bss:0x80458350; // type:object size:0x1E58
|
||||||
|
@ -21498,18 +21498,18 @@ lbl_805A8C70 = .sbss:0x805A8C70; // type:object size:0x4 data:4byte
|
||||||
lbl_805A8C74 = .sbss:0x805A8C74; // type:object size:0x1 data:byte
|
lbl_805A8C74 = .sbss:0x805A8C74; // type:object size:0x1 data:byte
|
||||||
gUseSurfaceHack = .sbss:0x805A8C78; // type:object size:0x1 data:byte
|
gUseSurfaceHack = .sbss:0x805A8C78; // type:object size:0x1 data:byte
|
||||||
gSR_Hack = .sbss:0x805A8C7C; // type:object size:0x4 data:4byte
|
gSR_Hack = .sbss:0x805A8C7C; // type:object size:0x4 data:4byte
|
||||||
lbl_805A8C80 = .sbss:0x805A8C80; // type:object size:0x1 data:byte
|
init$1101 = .sbss:0x805A8C80; // type:object size:0x1 data:byte
|
||||||
lbl_805A8C81 = .sbss:0x805A8C81; // type:object size:0x1 data:byte
|
init$1105 = .sbss:0x805A8C81; // type:object size:0x1 data:byte
|
||||||
lbl_805A8C84 = .sbss:0x805A8C84; // type:object size:0x4 data:float
|
earHeight$1154 = .sbss:0x805A8C84; // type:object size:0x4 data:float
|
||||||
lbl_805A8C88 = .sbss:0x805A8C88; // type:object size:0x1 data:byte
|
init$1155 = .sbss:0x805A8C88; // type:object size:0x1 data:byte
|
||||||
lbl_805A8C8C = .sbss:0x805A8C8C; // type:object size:0x4 data:4byte
|
sReferenceCount$9741 = .sbss:0x805A8C8C; // type:object size:0x4 data:4byte
|
||||||
lbl_805A8C90 = .sbss:0x805A8C90; // type:object size:0x1 data:byte
|
init$9742 = .sbss:0x805A8C90; // type:object size:0x1 data:byte
|
||||||
lbl_805A8C94 = .sbss:0x805A8C94; // type:object size:0x4 data:4byte
|
sReferenceCount$9761 = .sbss:0x805A8C94; // type:object size:0x4 data:4byte
|
||||||
lbl_805A8C98 = .sbss:0x805A8C98; // type:object size:0x1 data:byte
|
init$9762 = .sbss:0x805A8C98; // type:object size:0x1 data:byte
|
||||||
lbl_805A8C9C = .sbss:0x805A8C9C; // type:object size:0x4 data:4byte
|
sReferenceCount$9777 = .sbss:0x805A8C9C; // type:object size:0x4 data:4byte
|
||||||
lbl_805A8CA0 = .sbss:0x805A8CA0; // type:object size:0x1 data:byte
|
init$9778 = .sbss:0x805A8CA0; // type:object size:0x1 data:byte
|
||||||
lbl_805A8CA4 = .sbss:0x805A8CA4; // type:object size:0x4 data:4byte
|
sReferenceCount$9788 = .sbss:0x805A8CA4; // type:object size:0x4 data:4byte
|
||||||
lbl_805A8CA8 = .sbss:0x805A8CA8; // type:object size:0x8 data:byte
|
init$9789 = .sbss:0x805A8CA8; // type:object size:0x1 data:byte
|
||||||
lbl_805A8CB0 = .sbss:0x805A8CB0; // type:object size:0x8 data:4byte
|
lbl_805A8CB0 = .sbss:0x805A8CB0; // type:object size:0x8 data:4byte
|
||||||
lbl_805A8CB8 = .sbss:0x805A8CB8; // type:object size:0x8 data:4byte
|
lbl_805A8CB8 = .sbss:0x805A8CB8; // type:object size:0x8 data:4byte
|
||||||
lbl_805A8CC0 = .sbss:0x805A8CC0; // type:object size:0x4 data:4byte
|
lbl_805A8CC0 = .sbss:0x805A8CC0; // type:object size:0x4 data:4byte
|
||||||
|
|
|
@ -139,7 +139,7 @@ SetupInterpolation__14CCameraManagerFRC12CTransform4f9TUniqueId9CVector3ffffbR13
|
||||||
SetPlayerCamera__14CCameraManagerFR13CStateManager9TUniqueId = .text:0x8000A8C4; // type:function size:0x84 scope:global
|
SetPlayerCamera__14CCameraManagerFR13CStateManager9TUniqueId = .text:0x8000A8C4; // type:function size:0x84 scope:global
|
||||||
ShouldBypassInterpolationCamera__14CCameraManagerCFv = .text:0x8000A948; // type:function size:0x8 scope:global
|
ShouldBypassInterpolationCamera__14CCameraManagerCFv = .text:0x8000A948; // type:function size:0x8 scope:global
|
||||||
IsInterpolationCameraActive__14CCameraManagerCFv = .text:0x8000A950; // type:function size:0x10 scope:global
|
IsInterpolationCameraActive__14CCameraManagerCFv = .text:0x8000A950; // type:function size:0x10 scope:global
|
||||||
IsInFirstPersonCamera__14CCameraManagerCFv = .text:0x8000A960; // type:function size:0x1C scope:global
|
IsInFPCamera__14CCameraManagerCFv = .text:0x8000A960; // type:function size:0x1C scope:global
|
||||||
IsInCinematicCamera__14CCameraManagerCFv = .text:0x8000A97C; // type:function size:0x14 scope:global
|
IsInCinematicCamera__14CCameraManagerCFv = .text:0x8000A97C; // type:function size:0x14 scope:global
|
||||||
GetGlobalCameraTranslation__14CCameraManagerCFRC13CStateManager = .text:0x8000A990; // type:function size:0x54 scope:global
|
GetGlobalCameraTranslation__14CCameraManagerCFRC13CStateManager = .text:0x8000A990; // type:function size:0x54 scope:global
|
||||||
GetCurrentCameraTransform__14CCameraManagerCFRC13CStateManager = .text:0x8000A9E4; // type:function size:0x68 scope:global
|
GetCurrentCameraTransform__14CCameraManagerCFRC13CStateManager = .text:0x8000A9E4; // type:function size:0x68 scope:global
|
||||||
|
@ -288,25 +288,25 @@ IsQualified__11CObjectListFRC7CEntity = .text:0x800100AC; // type:function size:
|
||||||
__ct__11CObjectListF15EGameObjectList = .text:0x800100B4; // type:function size:0xF4 scope:global
|
__ct__11CObjectListF15EGameObjectList = .text:0x800100B4; // type:function size:0xF4 scope:global
|
||||||
__ct__Q211CObjectList16SObjectListEntryFv = .text:0x800101A8; // type:function size:0x18 scope:weak
|
__ct__Q211CObjectList16SObjectListEntryFv = .text:0x800101A8; // type:function size:0x18 scope:weak
|
||||||
__dt__7CPlayerFv = .text:0x800101C0; // type:function size:0x730 scope:global
|
__dt__7CPlayerFv = .text:0x800101C0; // type:function size:0x730 scope:global
|
||||||
fn_80010874 = .text:0x800108F0; // type:function size:0x58 scope:global
|
__dt__Q24rstl43single_ptr<Q27CPlayer19CPlayerStuckTracker>Fv = .text:0x800108F0; // type:function size:0x58 scope:global
|
||||||
__dt__Q27CPlayer19CPlayerStuckTrackerFv = .text:0x80010948; // type:function size:0x1CC scope:global
|
__dt__Q27CPlayer19CPlayerStuckTrackerFv = .text:0x80010948; // type:function size:0x1CC scope:global
|
||||||
IsTransparent__7CPlayerCFv = .text:0x80010B14; // type:function size:0x18 scope:global
|
IsTransparent__7CPlayerCFv = .text:0x80010B14; // type:function size:0x18 scope:global
|
||||||
IsEnergyLow__7CPlayerCFRC13CStateManager = .text:0x80010B2C; // type:function size:0x7C scope:global
|
IsEnergyLow__7CPlayerCFRC13CStateManager = .text:0x80010B2C; // type:function size:0x7C scope:global
|
||||||
FinishNewScan__7CPlayerFR13CStateManager = .text:0x80010BA8; // type:function size:0x12C scope:global
|
FinishNewScan__7CPlayerFR13CStateManager = .text:0x80010BA8; // type:function size:0x12C scope:global
|
||||||
GetAttachedActorStruggle__7CPlayerCFv = .text:0x80010CD4; // type:function size:0x8 scope:global
|
GetAttachedActorStruggle__7CPlayerCFv = .text:0x80010CD4; // type:function size:0x8 scope:global
|
||||||
StartSamusVoiceSfx__7CPlayerFUssi = .text:0x80010CDC; // type:function size:0xD0 scope:global
|
StartSamusVoiceSfx__7CPlayerFUssi = .text:0x80010CDC; // type:function size:0xD0 scope:global
|
||||||
PostUpdate__7CPlayerFfR13CStateManager = .text:0x80010DAC; // type:function size:0x1D4 scope:global
|
DoPostCameraStuff__7CPlayerFfR13CStateManager = .text:0x80010DAC; // type:function size:0x1D4 scope:global
|
||||||
__ct__16CPlayerCameraBobFRC16CPlayerCameraBob = .text:0x80010F80; // type:function size:0x270 scope:global
|
__as__16CPlayerCameraBobFRC16CPlayerCameraBob = .text:0x80010F80; // type:function size:0x270 scope:global
|
||||||
SetPlayerHitWallDuringMove__7CPlayerFv = .text:0x800111F0; // type:function size:0x18 scope:global
|
SetPlayerHitWallDuringMove__7CPlayerFv = .text:0x800111F0; // type:function size:0x18 scope:global
|
||||||
DoSfxEffects__7CPlayerF10CSfxHandle = .text:0x80011208; // type:function size:0x48 scope:global
|
DoSfxEffects__7CPlayerF10CSfxHandle = .text:0x80011208; // type:function size:0x48 scope:global
|
||||||
UpdatePhazonDamage__7CPlayerFfR13CStateManager = .text:0x80011250; // type:function size:0x578 scope:global
|
UpdatePhazonDamage__7CPlayerFfR13CStateManager = .text:0x80011250; // type:function size:0x578 scope:global
|
||||||
__dt__17CCollidableSphere = .text:0x800117C8; // type:function size:0x5C scope:global
|
__dt__17CCollidableSphereFv = .text:0x800117C8; // type:function size:0x5C scope:global
|
||||||
__dt__19CCollisionPrimitiveFv = .text:0x80011824; // type:function size:0x48 scope:global
|
__dt__19CCollisionPrimitiveFv = .text:0x80011824; // type:function size:0x48 scope:global
|
||||||
UpdatePhazonCameraShake__7CPlayerFfR13CStateManager = .text:0x8001186C; // type:function size:0x154 scope:global
|
UpdatePhazonCameraShake__7CPlayerFfR13CStateManager = .text:0x8001186C; // type:function size:0x154 scope:global
|
||||||
DecrementPhazon__7CPlayerFv = .text:0x800119C0; // type:function size:0x18 scope:global
|
DecrementEnvironmentDamage__7CPlayerFv = .text:0x800119C0; // type:function size:0x18 scope:global
|
||||||
IncrementPhazon__7CPlayerFv = .text:0x800119D8; // type:function size:0x24 scope:global
|
IncrementEnvironmentDamage__7CPlayerFv = .text:0x800119D8; // type:function size:0x24 scope:global
|
||||||
DoPreThink__7CPlayerFfRC13CStateManager = .text:0x800119FC; // type:function size:0x84 scope:global
|
DoPreThink__7CPlayerFfR13CStateManager = .text:0x800119FC; // type:function size:0x84 scope:global
|
||||||
DoThink__7CPlayerFfRC13CStateManager = .text:0x80011A80; // type:function size:0x84 scope:global
|
DoThink__7CPlayerFfR13CStateManager = .text:0x80011A80; // type:function size:0x84 scope:global
|
||||||
ResetControlDirectionInterpolation__7CPlayerFv = .text:0x80011B04; // type:function size:0x1C scope:global
|
ResetControlDirectionInterpolation__7CPlayerFv = .text:0x80011B04; // type:function size:0x1C scope:global
|
||||||
SetControlDirectionInterpolation__7CPlayerFf = .text:0x80011B20; // type:function size:0x20 scope:global
|
SetControlDirectionInterpolation__7CPlayerFf = .text:0x80011B20; // type:function size:0x20 scope:global
|
||||||
IsPlayerDeadEnough__7CPlayerCFv = .text:0x80011B40; // type:function size:0x68 scope:global
|
IsPlayerDeadEnough__7CPlayerCFv = .text:0x80011B40; // type:function size:0x68 scope:global
|
||||||
|
@ -336,7 +336,7 @@ SetHudDisable__7CPlayerFfff = .text:0x800130E8; // type:function size:0x3C scope
|
||||||
GetTouchBounds__7CPlayerCFv = .text:0x80013124; // type:function size:0x160 scope:global
|
GetTouchBounds__7CPlayerCFv = .text:0x80013124; // type:function size:0x160 scope:global
|
||||||
Touch__7CPlayerFR6CActorR13CStateManager = .text:0x80013284; // type:function size:0x30 scope:global
|
Touch__7CPlayerFR6CActorR13CStateManager = .text:0x80013284; // type:function size:0x30 scope:global
|
||||||
UpdateScanningState__7CPlayerFRC11CFinalInputR13CStateManagerf = .text:0x800132B4; // type:function size:0x2CC scope:global
|
UpdateScanningState__7CPlayerFRC11CFinalInputR13CStateManagerf = .text:0x800132B4; // type:function size:0x2CC scope:global
|
||||||
ValidateScanning__7CPlayerFRC11CFinalInputR13CStateManager = .text:0x80013580; // type:function size:0x11C scope:global
|
ValidateScanning__7CPlayerCFRC11CFinalInputR13CStateManager = .text:0x80013580; // type:function size:0x11C scope:global
|
||||||
SetScanningState__7CPlayerFQ27CPlayer16EPlayerScanStateR13CStateManager = .text:0x8001369C; // type:function size:0x1F0 scope:global
|
SetScanningState__7CPlayerFQ27CPlayer16EPlayerScanStateR13CStateManager = .text:0x8001369C; // type:function size:0x1F0 scope:global
|
||||||
GetExplorationMode__7CPlayerCFv = .text:0x8001388C; // type:function size:0x38 scope:global
|
GetExplorationMode__7CPlayerCFv = .text:0x8001388C; // type:function size:0x38 scope:global
|
||||||
GetCombatMode__7CPlayerCFv = .text:0x800138C4; // type:function size:0x38 scope:global
|
GetCombatMode__7CPlayerCFv = .text:0x800138C4; // type:function size:0x38 scope:global
|
||||||
|
@ -348,7 +348,7 @@ RenderReflectedPlayer__7CPlayerFR13CStateManager = .text:0x800141F0; // type:fun
|
||||||
PreRender__7CPlayerFR13CStateManagerRC14CFrustumPlanes = .text:0x8001433C; // type:function size:0x120 scope:global
|
PreRender__7CPlayerFR13CStateManagerRC14CFrustumPlanes = .text:0x8001433C; // type:function size:0x120 scope:global
|
||||||
CalculateRenderBounds__7CPlayerFv = .text:0x8001445C; // type:function size:0xC0 scope:global
|
CalculateRenderBounds__7CPlayerFv = .text:0x8001445C; // type:function size:0xC0 scope:global
|
||||||
AddToRenderer__7CPlayerCFRC14CFrustumPlanesRC13CStateManager = .text:0x8001451C; // type:function size:0xAC scope:global
|
AddToRenderer__7CPlayerCFRC14CFrustumPlanesRC13CStateManager = .text:0x8001451C; // type:function size:0xAC scope:global
|
||||||
UpdateGunAlpha__7CPlayerFRC13CStateManager = .text:0x800145C8; // type:function size:0xCC scope:global
|
UpdateGunAlpha__7CPlayerFv = .text:0x800145C8; // type:function size:0xCC scope:global
|
||||||
ComputeFreeLook__7CPlayerFRC11CFinalInput = .text:0x80014694; // type:function size:0x208 scope:global
|
ComputeFreeLook__7CPlayerFRC11CFinalInput = .text:0x80014694; // type:function size:0x208 scope:global
|
||||||
UpdateFreeLook__7CPlayerFf = .text:0x8001489C; // type:function size:0x184 scope:global
|
UpdateFreeLook__7CPlayerFf = .text:0x8001489C; // type:function size:0x184 scope:global
|
||||||
DetachActorFromPlayer__7CPlayerFv = .text:0x80014A20; // type:function size:0x2C scope:global
|
DetachActorFromPlayer__7CPlayerFv = .text:0x80014A20; // type:function size:0x2C scope:global
|
||||||
|
@ -7670,7 +7670,7 @@ BuildPatternedExplodeShakeData__16CCameraShakeDataFRC9CVector3ffff = .text:0x801
|
||||||
BuildLandingCameraShake__16CCameraShakeDataFff = .text:0x8015D740; // type:function size:0x16C scope:global
|
BuildLandingCameraShake__16CCameraShakeDataFff = .text:0x8015D740; // type:function size:0x16C scope:global
|
||||||
__ct__16CCameraShakeDataFff = .text:0x8015D8AC; // type:function size:0x108 scope:global
|
__ct__16CCameraShakeDataFff = .text:0x8015D8AC; // type:function size:0x108 scope:global
|
||||||
BuildPatternedExplodeShakeData__16CCameraShakeDataFff = .text:0x8015D9B4; // type:function size:0x108 scope:global
|
BuildPatternedExplodeShakeData__16CCameraShakeDataFff = .text:0x8015D9B4; // type:function size:0x108 scope:global
|
||||||
BuildPhazonCameraShakeData__16CCameraShakeDataFff = .text:0x8015DABC; // type:function size:0x174 scope:global
|
SoftBothAxesShake__16CCameraShakeDataFff = .text:0x8015DABC; // type:function size:0x174 scope:global
|
||||||
BuildProjectileCameraShake__16CCameraShakeDataFff = .text:0x8015DC30; // type:function size:0x100 scope:global
|
BuildProjectileCameraShake__16CCameraShakeDataFff = .text:0x8015DC30; // type:function size:0x100 scope:global
|
||||||
__sinit_CCameraShakeData_cpp = .text:0x8015DD30; // type:function size:0x1D4 scope:global
|
__sinit_CCameraShakeData_cpp = .text:0x8015DD30; // type:function size:0x1D4 scope:global
|
||||||
Accept__22CScriptPickupGeneratorFR8IVisitor = .text:0x8015DF04; // type:function size:0x38 scope:global
|
Accept__22CScriptPickupGeneratorFR8IVisitor = .text:0x8015DF04; // type:function size:0x38 scope:global
|
||||||
|
@ -18059,7 +18059,7 @@ gPressInputs__13ControlMapper = .data:0x803D95D8; // type:object size:0x114 scop
|
||||||
@336 = .data:0x803D97E0; // type:object size:0x60 scope:local
|
@336 = .data:0x803D97E0; // type:object size:0x60 scope:local
|
||||||
lbl_803D9660 = .data:0x803D9840; // type:object size:0x78 scope:global
|
lbl_803D9660 = .data:0x803D9840; // type:object size:0x78 scope:global
|
||||||
__vt__11CObjectList = .data:0x803D98B8; // type:object size:0x10 scope:global
|
__vt__11CObjectList = .data:0x803D98B8; // type:object size:0x10 scope:global
|
||||||
lbl_803D96E8 = .data:0x803D98C8; // type:object size:0x88 scope:global
|
__vt__7CPlayer = .data:0x803D98C8; // type:object size:0x88 scope:global
|
||||||
lbl_803D9770 = .data:0x803D9950; // type:object size:0x1C scope:global
|
lbl_803D9770 = .data:0x803D9950; // type:object size:0x1C scope:global
|
||||||
lbl_803D978C = .data:0x803D996C; // type:object size:0x58 scope:global
|
lbl_803D978C = .data:0x803D996C; // type:object size:0x58 scope:global
|
||||||
__vt__19CCollisionPrimitive = .data:0x803D99C4; // type:object size:0x2C scope:global
|
__vt__19CCollisionPrimitive = .data:0x803D99C4; // type:object size:0x2C scope:global
|
||||||
|
@ -19150,8 +19150,8 @@ lbl_80457798 = .bss:0x80457978; // type:object size:0x160 scope:local
|
||||||
@27 = .bss:0x80457AD8; // type:object size:0xC scope:local
|
@27 = .bss:0x80457AD8; // type:object size:0xC scope:local
|
||||||
lbl_80457908 = .bss:0x80457AE8; // type:object size:0xC0 scope:local data:float
|
lbl_80457908 = .bss:0x80457AE8; // type:object size:0xC0 scope:local data:float
|
||||||
lbl_804579C8 = .bss:0x80457BA8; // type:object size:0x20 scope:local data:4byte
|
lbl_804579C8 = .bss:0x80457BA8; // type:object size:0x20 scope:local data:4byte
|
||||||
lbl_804579E8 = .bss:0x80457BC8; // type:object size:0x10 scope:local data:float
|
skDown$1100 = .bss:0x80457BC8; // type:object size:0xC scope:local data:float
|
||||||
lbl_804579F8 = .bss:0x80457BD8; // type:object size:0x18 scope:local data:4byte
|
matFilter$1103 = .bss:0x80457BD8; // type:object size:0x18 scope:local data:4byte
|
||||||
sAllocSpace$2944 = .bss:0x80457BF0; // type:object size:0x838 scope:local
|
sAllocSpace$2944 = .bss:0x80457BF0; // type:object size:0x838 scope:local
|
||||||
sAllocSpace$2964 = .bss:0x80458428; // type:object size:0x108 scope:local
|
sAllocSpace$2964 = .bss:0x80458428; // type:object size:0x108 scope:local
|
||||||
sAllocSpace$2980 = .bss:0x80458530; // type:object size:0x1E58 scope:local
|
sAllocSpace$2980 = .bss:0x80458530; // type:object size:0x1E58 scope:local
|
||||||
|
@ -21538,7 +21538,7 @@ lbl_805A8C70 = .sbss:0x805A8E50; // type:object size:0x4 scope:global data:4byte
|
||||||
lbl_805A8C74 = .sbss:0x805A8E54; // type:object size:0x1 scope:global data:byte
|
lbl_805A8C74 = .sbss:0x805A8E54; // type:object size:0x1 scope:global data:byte
|
||||||
lbl_805A8C78 = .sbss:0x805A8E58; // type:object size:0x1 scope:global data:byte
|
lbl_805A8C78 = .sbss:0x805A8E58; // type:object size:0x1 scope:global data:byte
|
||||||
lbl_805A8C7C = .sbss:0x805A8E5C; // type:object size:0x4 scope:global data:4byte
|
lbl_805A8C7C = .sbss:0x805A8E5C; // type:object size:0x4 scope:global data:4byte
|
||||||
lbl_805A8C80 = .sbss:0x805A8E60; // type:object size:0x1 scope:global data:byte
|
init$1101 = .sbss:0x805A8E60; // type:object size:0x1 scope:global data:byte
|
||||||
lbl_805A8C81 = .sbss:0x805A8E61; // type:object size:0x1 scope:global data:byte
|
lbl_805A8C81 = .sbss:0x805A8E61; // type:object size:0x1 scope:global data:byte
|
||||||
lbl_805A8C84 = .sbss:0x805A8E64; // type:object size:0x4 scope:global data:float
|
lbl_805A8C84 = .sbss:0x805A8E64; // type:object size:0x4 scope:global data:float
|
||||||
lbl_805A8C88 = .sbss:0x805A8E68; // type:object size:0x1 scope:global data:byte
|
lbl_805A8C88 = .sbss:0x805A8E68; // type:object size:0x1 scope:global data:byte
|
||||||
|
|
|
@ -3,17 +3,18 @@
|
||||||
|
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
|
|
||||||
|
#include "Collision/CInternalCollisionStructure.hpp"
|
||||||
#include "Collision/CMaterialList.hpp"
|
#include "Collision/CMaterialList.hpp"
|
||||||
|
|
||||||
#include "Kyoto/IObjectStore.hpp"
|
|
||||||
#include "Kyoto/Math/CAABox.hpp"
|
#include "Kyoto/Math/CAABox.hpp"
|
||||||
#include "Kyoto/Math/CTransform4f.hpp"
|
#include "Kyoto/Math/CTransform4f.hpp"
|
||||||
|
#include "Kyoto/SObjectTag.hpp"
|
||||||
|
|
||||||
#include "rstl/single_ptr.hpp"
|
#include "rstl/single_ptr.hpp"
|
||||||
#include "rstl/vector.hpp"
|
#include "rstl/vector.hpp"
|
||||||
|
|
||||||
class CRayCastResult;
|
class CRayCastResult;
|
||||||
class CCollisionInfoList;
|
class CCollisionInfoList;
|
||||||
class CInternalCollisionStructure;
|
|
||||||
class CInternalRayCastStructure;
|
class CInternalRayCastStructure;
|
||||||
class CCollisionInfo;
|
class CCollisionInfo;
|
||||||
|
|
||||||
|
@ -44,7 +45,7 @@ public:
|
||||||
|
|
||||||
virtual uint GetTableIndex() const = 0;
|
virtual uint GetTableIndex() const = 0;
|
||||||
virtual void SetMaterial(const CMaterialList& other) { x8_material = other; }
|
virtual void SetMaterial(const CMaterialList& other) { x8_material = other; }
|
||||||
virtual const CMaterialList& GetMaterial() const;
|
virtual const CMaterialList& GetMaterial() const { return x8_material; }
|
||||||
virtual CAABox CalculateAABox(const CTransform4f&) const = 0;
|
virtual CAABox CalculateAABox(const CTransform4f&) const = 0;
|
||||||
virtual CAABox CalculateLocalAABox() const = 0;
|
virtual CAABox CalculateLocalAABox() const = 0;
|
||||||
virtual FourCC GetPrimType() const = 0;
|
virtual FourCC GetPrimType() const = 0;
|
||||||
|
@ -62,6 +63,15 @@ public:
|
||||||
static void InitEndColliders();
|
static void InitEndColliders();
|
||||||
static void Uninitialize();
|
static void Uninitialize();
|
||||||
|
|
||||||
|
static bool Collide(const CInternalCollisionStructure::CPrimDesc& prim0,
|
||||||
|
const CInternalCollisionStructure::CPrimDesc& prim1,
|
||||||
|
CCollisionInfoList& list);
|
||||||
|
static bool CollideBoolean(const CInternalCollisionStructure::CPrimDesc& prim0,
|
||||||
|
const CInternalCollisionStructure::CPrimDesc& prim1);
|
||||||
|
static bool CollideMoving(const CInternalCollisionStructure::CPrimDesc& prim0,
|
||||||
|
const CInternalCollisionStructure::CPrimDesc& prim1,
|
||||||
|
const CVector3f& dir, double& dOut, CCollisionInfo& infoOut);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static int sNumTypes;
|
static int sNumTypes;
|
||||||
static bool sInitComplete;
|
static bool sInitComplete;
|
||||||
|
|
|
@ -217,7 +217,7 @@ public:
|
||||||
static void SfxVolume(CSfxHandle handle, uchar volume);
|
static void SfxVolume(CSfxHandle handle, uchar volume);
|
||||||
static void SfxSpan(CSfxHandle, uchar);
|
static void SfxSpan(CSfxHandle, uchar);
|
||||||
|
|
||||||
static bool IsPlaying(const CSfxHandle& handle);
|
static bool IsPlaying(CSfxHandle handle);
|
||||||
static void StopSound(CSfxHandle handle);
|
static void StopSound(CSfxHandle handle);
|
||||||
|
|
||||||
static void SetChannel(ESfxChannels);
|
static void SetChannel(ESfxChannels);
|
||||||
|
|
|
@ -15,6 +15,7 @@ class CTransform4f;
|
||||||
|
|
||||||
class CFrustumPlanes {
|
class CFrustumPlanes {
|
||||||
public:
|
public:
|
||||||
|
CFrustumPlanes() {}
|
||||||
CFrustumPlanes(const CTransform4f&, float, float, float, bool, float);
|
CFrustumPlanes(const CTransform4f&, float, float, float, bool, float);
|
||||||
|
|
||||||
bool BoxInFrustumPlanes(const CAABox& box) const;
|
bool BoxInFrustumPlanes(const CAABox& box) const;
|
||||||
|
|
|
@ -17,6 +17,7 @@ public:
|
||||||
}
|
}
|
||||||
void AddValue(const T& value);
|
void AddValue(const T& value);
|
||||||
rstl::optional_object< T > GetAverage() const;
|
rstl::optional_object< T > GetAverage() const;
|
||||||
|
rstl::optional_object< T > GetEntry(int idx) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
template < typename T, int N >
|
template < typename T, int N >
|
||||||
|
@ -39,4 +40,13 @@ rstl::optional_object< T > TReservedAverage< T, N >::GetAverage() const {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template < typename T, int N >
|
||||||
|
inline rstl::optional_object< T > TReservedAverage< T, N >::GetEntry(int idx) const {
|
||||||
|
if (idx >= this->size()) {
|
||||||
|
return rstl::optional_object_null();
|
||||||
|
} else {
|
||||||
|
return rstl::optional_object< T >(this->operator[](idx));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#endif // _TRESERVEDAVERAGE
|
#endif // _TRESERVEDAVERAGE
|
||||||
|
|
|
@ -3,12 +3,17 @@
|
||||||
|
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
|
|
||||||
|
#include "MetroidPrime/CStateManager.hpp"
|
||||||
#include "MetroidPrime/CRippleManager.hpp"
|
#include "MetroidPrime/CRippleManager.hpp"
|
||||||
#include "MetroidPrime/TGameTypes.hpp"
|
#include "MetroidPrime/TGameTypes.hpp"
|
||||||
|
|
||||||
|
#include "Kyoto/Math/CVector3f.hpp"
|
||||||
|
|
||||||
#include "rstl/reserved_vector.hpp"
|
#include "rstl/reserved_vector.hpp"
|
||||||
|
|
||||||
class CScriptWater;
|
class CScriptWater;
|
||||||
|
class CStateManager;
|
||||||
|
class CVector3f;
|
||||||
|
|
||||||
class CFluidPlaneManager {
|
class CFluidPlaneManager {
|
||||||
public:
|
public:
|
||||||
|
@ -18,6 +23,9 @@ public:
|
||||||
void CreateSplash(TUniqueId splasher, CStateManager& mgr, const CScriptWater& water,
|
void CreateSplash(TUniqueId splasher, CStateManager& mgr, const CScriptWater& water,
|
||||||
const CVector3f& pos, float factor, bool sfx);
|
const CVector3f& pos, float factor, bool sfx);
|
||||||
|
|
||||||
|
float GetLastSplashDeltaTime(TUniqueId uid) const;
|
||||||
|
float GetLastRippleDeltaTime(TUniqueId uid) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
class CSplashRecord {
|
class CSplashRecord {
|
||||||
float x0_time;
|
float x0_time;
|
||||||
|
|
|
@ -93,6 +93,24 @@ public:
|
||||||
bool operator==(const CConstChainIterator& other) const { return m_area == other.m_area; }
|
bool operator==(const CConstChainIterator& other) const { return m_area == other.m_area; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum EOcclusionState { kOS_Occluded, kOS_Visible };
|
||||||
|
|
||||||
|
struct CPostConstructed {
|
||||||
|
uchar x0_pad[0xa0];
|
||||||
|
CPVSAreaSet* xa0_pvs;
|
||||||
|
uchar xa4_pad[0x1020];
|
||||||
|
rstl::single_ptr< CAreaFog > x10c4_areaFog;
|
||||||
|
rstl::optional_object< void* > x10c8_sclyBuf;
|
||||||
|
u32 x10d0_sclySize;
|
||||||
|
const u8* x10d4_firstMatPtr;
|
||||||
|
const CScriptAreaAttributes* x10d8_areaAttributes;
|
||||||
|
EOcclusionState x10dc_occlusionState;
|
||||||
|
uchar x10e0_pad[0x60];
|
||||||
|
|
||||||
|
CPostConstructed();
|
||||||
|
~CPostConstructed();
|
||||||
|
};
|
||||||
|
|
||||||
~CGameArea();
|
~CGameArea();
|
||||||
const CTransform4f& IGetTM() const override;
|
const CTransform4f& IGetTM() const override;
|
||||||
CAssetId IGetStringTableAssetId() const override;
|
CAssetId IGetStringTableAssetId() const override;
|
||||||
|
@ -119,13 +137,23 @@ public:
|
||||||
|
|
||||||
bool StartStreamingMainArea();
|
bool StartStreamingMainArea();
|
||||||
|
|
||||||
|
CAssetId GetAreaAssetId() const { return x84_mrea; }
|
||||||
|
const CAreaFog* GetAreaFog() const { return x12c_postConstructed->x10c4_areaFog.get(); }
|
||||||
|
CAreaFog* AreaFog() { return x12c_postConstructed->x10c4_areaFog.get(); }
|
||||||
|
EOcclusionState GetOcclusionState() const { return x12c_postConstructed->x10dc_occlusionState; }
|
||||||
|
const rstl::vector< CWorldLight >& GetLightsA() const;
|
||||||
|
const rstl::vector< CWorldLight >& GetLightsB() const;
|
||||||
|
const CPVSAreaSet* GetAreaVisSet() const { return x12c_postConstructed->xa0_pvs; }
|
||||||
|
bool IsPostConstructed() const { return xf0_24_postConstructed; } // name?
|
||||||
|
CPostConstructed* GetPostConstructed() { return x12c_postConstructed.get(); } // name?
|
||||||
|
const CPostConstructed* GetPostConstructed() const { return x12c_postConstructed.get(); } // name?
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void AllocNewAreaData(int, int);
|
void AllocNewAreaData(int, int);
|
||||||
void CullDeadAreaRequests();
|
void CullDeadAreaRequests();
|
||||||
int VerifyHeader() const;
|
int VerifyHeader() const;
|
||||||
int GetNumPartSizes() const;
|
int GetNumPartSizes() const;
|
||||||
|
|
||||||
|
|
||||||
enum EPhase {
|
enum EPhase {
|
||||||
kP_LoadHeader,
|
kP_LoadHeader,
|
||||||
kP_LoadSecSizes,
|
kP_LoadSecSizes,
|
||||||
|
@ -154,36 +182,7 @@ private:
|
||||||
bool xf0_28_validated : 1;
|
bool xf0_28_validated : 1;
|
||||||
EPhase xf4_phase;
|
EPhase xf4_phase;
|
||||||
rstl::list< rstl::rc_ptr< CDvdRequest > > xf8_loadTransactions;
|
rstl::list< rstl::rc_ptr< CDvdRequest > > xf8_loadTransactions;
|
||||||
|
rstl::vector< rstl::pair< rstl::auto_ptr< char >, int > > x110_mreaSecBufs;
|
||||||
public:
|
|
||||||
enum EOcclusionState { kOS_Occluded, kOS_Visible };
|
|
||||||
|
|
||||||
struct CPostConstructed {
|
|
||||||
uchar x0_pad[0xa0];
|
|
||||||
CPVSAreaSet* xa0_pvs;
|
|
||||||
uchar xa4_pad[0x1020];
|
|
||||||
rstl::single_ptr< CAreaFog > x10c4_areaFog;
|
|
||||||
rstl::optional_object< void* > x10c8_sclyBuf;
|
|
||||||
u32 x10d0_sclySize;
|
|
||||||
const u8* x10d4_firstMatPtr;
|
|
||||||
const CScriptAreaAttributes* x10d8_areaAttributes;
|
|
||||||
EOcclusionState x10dc_occlusionState;
|
|
||||||
uchar x10e0_pad[0x60];
|
|
||||||
|
|
||||||
CPostConstructed();
|
|
||||||
~CPostConstructed();
|
|
||||||
};
|
|
||||||
|
|
||||||
CAssetId GetAreaAssetId() const { return x84_mrea; }
|
|
||||||
const CAreaFog* GetAreaFog() const { return x12c_postConstructed->x10c4_areaFog.get(); }
|
|
||||||
CAreaFog* AreaFog() { return x12c_postConstructed->x10c4_areaFog.get(); }
|
|
||||||
EOcclusionState GetOcclusionState() const { return x12c_postConstructed->x10dc_occlusionState; }
|
|
||||||
const rstl::vector<CWorldLight>& GetLightsA() const;
|
|
||||||
const rstl::vector<CWorldLight>& GetLightsB() const;
|
|
||||||
const CPVSAreaSet* GetAreaVisSet() const { return x12c_postConstructed->xa0_pvs; }
|
|
||||||
|
|
||||||
private:
|
|
||||||
rstl::vector< rstl::pair< rstl::auto_ptr<char>, int> > x110_mreaSecBufs;
|
|
||||||
int x120_unk;
|
int x120_unk;
|
||||||
int x124_secCount;
|
int x124_secCount;
|
||||||
int x128_mreaDataOffset;
|
int x128_mreaDataOffset;
|
||||||
|
|
|
@ -22,6 +22,9 @@ public:
|
||||||
static bool DetectDynamicCollisionBoolean(const CCollisionPrimitive&, const CTransform4f&,
|
static bool DetectDynamicCollisionBoolean(const CCollisionPrimitive&, const CTransform4f&,
|
||||||
const TEntityList&, const CStateManager&);
|
const TEntityList&, const CStateManager&);
|
||||||
static void BuildAreaCollisionCache(const CStateManager& mgr, CAreaCollisionCache& cache);
|
static void BuildAreaCollisionCache(const CStateManager& mgr, CAreaCollisionCache& cache);
|
||||||
|
static bool DetectCollisionBoolean(const CStateManager& mgr, const CCollisionPrimitive& prim,
|
||||||
|
const CTransform4f& xf, const CMaterialFilter& filter,
|
||||||
|
const TEntityList& nearList);
|
||||||
static bool DetectCollisionBoolean_Cached(const CStateManager& mgr, CAreaCollisionCache& cache,
|
static bool DetectCollisionBoolean_Cached(const CStateManager& mgr, CAreaCollisionCache& cache,
|
||||||
const CCollisionPrimitive& prim, const CTransform4f& xf,
|
const CCollisionPrimitive& prim, const CTransform4f& xf,
|
||||||
const CMaterialFilter& filter,
|
const CMaterialFilter& filter,
|
||||||
|
|
|
@ -66,15 +66,7 @@ public:
|
||||||
CModelData();
|
CModelData();
|
||||||
CModelData(const CAnimRes&);
|
CModelData(const CAnimRes&);
|
||||||
CModelData(const CStaticRes&);
|
CModelData(const CStaticRes&);
|
||||||
CModelData(const CModelData& other)
|
// CModelData(const CModelData& other);
|
||||||
: x0_scale(other.x0_scale)
|
|
||||||
, xc_animData(other.xc_animData)
|
|
||||||
, x14_24_renderSorted(other.x14_24_renderSorted)
|
|
||||||
, x14_25_sortThermal(other.x14_25_sortThermal)
|
|
||||||
, x18_ambientColor(other.x18_ambientColor)
|
|
||||||
, x1c_normalModel(other.x1c_normalModel)
|
|
||||||
, x2c_xrayModel(other.x2c_xrayModel)
|
|
||||||
, x3c_infraModel(other.x3c_infraModel) {}
|
|
||||||
~CModelData();
|
~CModelData();
|
||||||
|
|
||||||
CAdvancementDeltas AdvanceAnimation(float dt, CStateManager& mgr, TAreaId aid, bool advTree);
|
CAdvancementDeltas AdvanceAnimation(float dt, CStateManager& mgr, TAreaId aid, bool advTree);
|
||||||
|
@ -127,9 +119,9 @@ private:
|
||||||
bool x14_24_renderSorted : 1;
|
bool x14_24_renderSorted : 1;
|
||||||
bool x14_25_sortThermal : 1;
|
bool x14_25_sortThermal : 1;
|
||||||
CColor x18_ambientColor;
|
CColor x18_ambientColor;
|
||||||
rstl::optional_object< TCachedToken< CModel > > x1c_normalModel;
|
rstl::optional_object< TLockedToken< CModel > > x1c_normalModel;
|
||||||
rstl::optional_object< TCachedToken< CModel > > x2c_xrayModel;
|
rstl::optional_object< TLockedToken< CModel > > x2c_xrayModel;
|
||||||
rstl::optional_object< TCachedToken< CModel > > x3c_infraModel;
|
rstl::optional_object< TLockedToken< CModel > > x3c_infraModel;
|
||||||
};
|
};
|
||||||
CHECK_SIZEOF(CModelData, 0x4c)
|
CHECK_SIZEOF(CModelData, 0x4c)
|
||||||
|
|
||||||
|
|
|
@ -3,11 +3,9 @@
|
||||||
|
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
|
|
||||||
#include "Kyoto/CObjectReference.hpp"
|
|
||||||
#include "Kyoto/CRandom16.hpp"
|
#include "Kyoto/CRandom16.hpp"
|
||||||
#include "Kyoto/Input/CFinalInput.hpp"
|
#include "Kyoto/Input/CFinalInput.hpp"
|
||||||
#include "Kyoto/Math/CFrustumPlanes.hpp"
|
#include "Kyoto/Math/CFrustumPlanes.hpp"
|
||||||
#include "Kyoto/Math/CVector2f.hpp"
|
|
||||||
#include "Kyoto/Math/CVector2i.hpp"
|
#include "Kyoto/Math/CVector2i.hpp"
|
||||||
#include "Kyoto/TOneStatic.hpp"
|
#include "Kyoto/TOneStatic.hpp"
|
||||||
#include "Kyoto/TToken.hpp"
|
#include "Kyoto/TToken.hpp"
|
||||||
|
@ -138,6 +136,7 @@ public:
|
||||||
const rstl::string& HashInstanceName(CInputStream& in);
|
const rstl::string& HashInstanceName(CInputStream& in);
|
||||||
bool SwapOutAllPossibleMemory();
|
bool SwapOutAllPossibleMemory();
|
||||||
void UpdateObjectInLists(CEntity&);
|
void UpdateObjectInLists(CEntity&);
|
||||||
|
rstl::pair< int, int > CalculateScanPair() const;
|
||||||
|
|
||||||
void BuildNearList(TEntityList& nearList, const CVector3f& pos, const CVector3f& dir, float mag,
|
void BuildNearList(TEntityList& nearList, const CVector3f& pos, const CVector3f& dir, float mag,
|
||||||
const CMaterialFilter&, const CActor*) const;
|
const CMaterialFilter&, const CActor*) const;
|
||||||
|
@ -193,6 +192,7 @@ public:
|
||||||
CWorldTransManager* WorldTransManager() { return x8c4_worldTransManager.GetPtr(); }
|
CWorldTransManager* WorldTransManager() { return x8c4_worldTransManager.GetPtr(); }
|
||||||
const CWorldTransManager* GetWorldTransManager() const { return x8c4_worldTransManager.GetPtr(); }
|
const CWorldTransManager* GetWorldTransManager() const { return x8c4_worldTransManager.GetPtr(); }
|
||||||
EGameState GetGameState() const { return x904_gameState; }
|
EGameState GetGameState() const { return x904_gameState; }
|
||||||
|
void SetGameState(EGameState state);
|
||||||
|
|
||||||
CRandom16* Random() const { return x900_random; }
|
CRandom16* Random() const { return x900_random; }
|
||||||
uint GetUpdateFrameIndex() const { return x8d8_updateFrameIdx; }
|
uint GetUpdateFrameIndex() const { return x8d8_updateFrameIdx; }
|
||||||
|
|
|
@ -19,6 +19,9 @@ public:
|
||||||
const CVector3f& v1, const CVector3f& v2,
|
const CVector3f& v1, const CVector3f& v2,
|
||||||
const CVector3f& v3, const CVector3f& v4, CVector3f& v5);
|
const CVector3f& v3, const CVector3f& v4, CVector3f& v5);
|
||||||
|
|
||||||
|
static CVector3f ProjectOrbitalPosition(const CVector3f& pos, const CVector3f& vel,
|
||||||
|
const CVector3f& orbitPoint, float dt, float preThinkDt);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
float x0_;
|
float x0_;
|
||||||
};
|
};
|
||||||
|
|
|
@ -74,7 +74,7 @@ public:
|
||||||
void RemoveCameraShaker(int id);
|
void RemoveCameraShaker(int id);
|
||||||
CTransform4f GetCurrentCameraTransform(const CStateManager& mgr) const;
|
CTransform4f GetCurrentCameraTransform(const CStateManager& mgr) const;
|
||||||
CVector3f GetGlobalCameraTranslation(const CStateManager& mgr) const;
|
CVector3f GetGlobalCameraTranslation(const CStateManager& mgr) const;
|
||||||
bool IsInFirstPersonCamera() const;
|
bool IsInFPCamera() const;
|
||||||
bool IsInterpolationCameraActive() const;
|
bool IsInterpolationCameraActive() const;
|
||||||
bool ShouldBypassInterpolationCamera() const;
|
bool ShouldBypassInterpolationCamera() const;
|
||||||
void SetupInterpolation(const CTransform4f& xf, TUniqueId camId, CVector3f lookPos,
|
void SetupInterpolation(const CTransform4f& xf, TUniqueId camId, CVector3f lookPos,
|
||||||
|
|
|
@ -162,13 +162,12 @@ public:
|
||||||
void AddToRenderer(const CFrustumPlanes&, const CStateManager&) const override;
|
void AddToRenderer(const CFrustumPlanes&, const CStateManager&) const override;
|
||||||
void Render(const CStateManager&) const override;
|
void Render(const CStateManager&) const override;
|
||||||
bool CanRenderUnsorted(const CStateManager&) const override;
|
bool CanRenderUnsorted(const CStateManager&) const override;
|
||||||
const rstl::optional_object< CAABox > GetTouchBounds() const override;
|
rstl::optional_object< CAABox > GetTouchBounds() const override;
|
||||||
void Touch(CActor&, CStateManager&) override;
|
void Touch(CActor&, CStateManager&) override;
|
||||||
CVector3f GetOrbitPosition(const CStateManager&) const override;
|
CVector3f GetOrbitPosition(const CStateManager&) const override;
|
||||||
CVector3f GetAimPosition(const CStateManager&, float) const override;
|
CVector3f GetAimPosition(const CStateManager&, float) const override;
|
||||||
EWeaponCollisionResponseTypes GetCollisionResponseType(const CVector3f&, const CVector3f&,
|
EWeaponCollisionResponseTypes GetCollisionResponseType(const CVector3f&, const CVector3f&,
|
||||||
const CWeaponMode&,
|
const CWeaponMode&, int) const override;
|
||||||
int) const override;
|
|
||||||
void DoUserAnimEvent(CStateManager& mgr, const CInt32POINode& node, EUserEventType type,
|
void DoUserAnimEvent(CStateManager& mgr, const CInt32POINode& node, EUserEventType type,
|
||||||
float dt) override;
|
float dt) override;
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,9 @@ public:
|
||||||
static const char* GetImagePaneName(uint pane);
|
static const char* GetImagePaneName(uint pane);
|
||||||
CScannableObjectInfo(CInputStream& in, uint version);
|
CScannableObjectInfo(CInputStream& in, uint version);
|
||||||
|
|
||||||
|
CAssetId GetScannableObjectId() const { return x0_scannableObjectId; }
|
||||||
|
float GetTotalDownloadTime() const { return x8_totalDownloadTime; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
struct SBucket {
|
struct SBucket {
|
||||||
CAssetId x0_texture;
|
CAssetId x0_texture;
|
||||||
|
|
|
@ -40,11 +40,12 @@ public:
|
||||||
void SetHelmetAlpha(int);
|
void SetHelmetAlpha(int);
|
||||||
void SetHUDLag(bool);
|
void SetHUDLag(bool);
|
||||||
void SetIsHintSystemEnabled(bool);
|
void SetIsHintSystemEnabled(bool);
|
||||||
void SetInvertYAxis(bool);
|
|
||||||
void ToggleControls(bool);
|
void ToggleControls(bool);
|
||||||
void ResetControllerAssets(int);
|
void ResetControllerAssets(int);
|
||||||
void SetControls(int);
|
void SetControls(int);
|
||||||
|
|
||||||
|
void SetInvertYAxis(bool invert);
|
||||||
|
bool GetInvertYAxis() const { return x68_25_invertY; }
|
||||||
void SetIsRumbleEnabled(bool rumble);
|
void SetIsRumbleEnabled(bool rumble);
|
||||||
bool GetIsRumbleEnabled() const { return x68_26_rumble; }
|
bool GetIsRumbleEnabled() const { return x68_26_rumble; }
|
||||||
|
|
||||||
|
|
|
@ -36,10 +36,11 @@ public:
|
||||||
void ReturnToDefault(CStateManager& mgr, float dt, bool setState);
|
void ReturnToDefault(CStateManager& mgr, float dt, bool setState);
|
||||||
void EnterStruck(CStateManager&, float, bool, bool);
|
void EnterStruck(CStateManager&, float, bool, bool);
|
||||||
void DisconnectGrappleBeam();
|
void DisconnectGrappleBeam();
|
||||||
|
void RenderGrappleBeam(const CStateManager&, const CVector3f&) const;
|
||||||
|
|
||||||
void SetTransform(const CTransform4f& xf) { *(CTransform4f*)(&x0_pad[0x220]) = xf; }
|
void SetTransform(const CTransform4f& xf) { *(CTransform4f*)(&x0_pad[0x220]) = xf; }
|
||||||
|
|
||||||
// EArmState GetAnimState() const { return x334_animState; }
|
EArmState GetAnimState() const { return x334_animState; }
|
||||||
bool GetActive() const { return x3b2_24_active; }
|
bool GetActive() const { return x3b2_24_active; }
|
||||||
bool BeamActive() const { return x3b2_25_beamActive; }
|
bool BeamActive() const { return x3b2_25_beamActive; }
|
||||||
bool IsArmMoving() const { return x3b2_27_armMoving; }
|
bool IsArmMoving() const { return x3b2_27_armMoving; }
|
||||||
|
|
|
@ -1,18 +1,34 @@
|
||||||
#ifndef _CMORPHBALL
|
#ifndef _CMORPHBALL
|
||||||
#define _CMORPHBALL
|
#define _CMORPHBALL
|
||||||
|
|
||||||
|
#include "Kyoto/Audio/CSfxHandle.hpp"
|
||||||
|
#include "Kyoto/CRandom16.hpp"
|
||||||
|
#include "Kyoto/Math/CQuaternion.hpp"
|
||||||
|
#include "Kyoto/Math/CTransform4f.hpp"
|
||||||
|
#include "Kyoto/Math/CVector3f.hpp"
|
||||||
|
#include "MetroidPrime/CActor.hpp"
|
||||||
|
#include "MetroidPrime/CEntityInfo.hpp"
|
||||||
|
#include "MetroidPrime/TGameTypes.hpp"
|
||||||
|
|
||||||
|
#include "Kyoto/Math/CFrustumPlanes.hpp"
|
||||||
#include "Kyoto/TOneStatic.hpp"
|
#include "Kyoto/TOneStatic.hpp"
|
||||||
#include "Kyoto/TReservedAverage.hpp"
|
#include "Kyoto/TReservedAverage.hpp"
|
||||||
|
#include "Kyoto/TToken.hpp"
|
||||||
|
|
||||||
#include "Collision/CCollidableSphere.hpp"
|
#include "Collision/CCollidableSphere.hpp"
|
||||||
#include "Collision/CCollisionInfoList.hpp"
|
#include "Collision/CCollisionInfoList.hpp"
|
||||||
|
|
||||||
|
class CActor;
|
||||||
|
class CActorLights;
|
||||||
class CElementGen;
|
class CElementGen;
|
||||||
|
class CFinalInput;
|
||||||
|
class CFrustumPlanes;
|
||||||
class CGenDescription;
|
class CGenDescription;
|
||||||
class CModelData;
|
class CModelData;
|
||||||
class CMorphBallShadow;
|
class CMorphBallShadow;
|
||||||
class CParticleSwoosh;
|
class CParticleSwoosh;
|
||||||
class CPlayer;
|
class CPlayer;
|
||||||
|
class CQuaternion;
|
||||||
class CRainSplashGenerator;
|
class CRainSplashGenerator;
|
||||||
class CStateManager;
|
class CStateManager;
|
||||||
class CSwooshDescription;
|
class CSwooshDescription;
|
||||||
|
@ -28,8 +44,6 @@ public:
|
||||||
CMorphBall(CPlayer&, float);
|
CMorphBall(CPlayer&, float);
|
||||||
~CMorphBall();
|
~CMorphBall();
|
||||||
|
|
||||||
float GetBallRadius() const;
|
|
||||||
|
|
||||||
EBallBoostState GetBallBoostState() const;
|
EBallBoostState GetBallBoostState() const;
|
||||||
void SetBallBoostState(EBallBoostState state);
|
void SetBallBoostState(EBallBoostState state);
|
||||||
EBombJumpState GetBombJumpState() const;
|
EBombJumpState GetBombJumpState() const;
|
||||||
|
@ -39,10 +53,10 @@ public:
|
||||||
void StopSounds();
|
void StopSounds();
|
||||||
void UpdateEffects(float dt, CStateManager& mgr);
|
void UpdateEffects(float dt, CStateManager& mgr);
|
||||||
void SetBallLightActive(CStateManager& mgr, const bool active);
|
void SetBallLightActive(CStateManager& mgr, const bool active);
|
||||||
// GetBallToWorld__10CMorphBallCFv global
|
CTransform4f GetBallToWorld() const;
|
||||||
// GetBallRadius__10CMorphBallCFv global
|
float GetBallRadius() const;
|
||||||
// TakeDamage__10CMorphBallFf global
|
void TakeDamage(float damage);
|
||||||
// IsProjectile__10CMorphBallCFv weak
|
bool IsProjectile() const { return x1954_isProjectile; }
|
||||||
// LeaveMorphBallState__10CMorphBallFR13CStateManager global
|
// LeaveMorphBallState__10CMorphBallFR13CStateManager global
|
||||||
// LeaveBoosting__10CMorphBallFv global
|
// LeaveBoosting__10CMorphBallFv global
|
||||||
// CancelBoosting__10CMorphBallFv global
|
// CancelBoosting__10CMorphBallFv global
|
||||||
|
@ -53,22 +67,22 @@ public:
|
||||||
bool GetIsInHalfPipeMode() const;
|
bool GetIsInHalfPipeMode() const;
|
||||||
// DampLinearAndAngularVelocities__10CMorphBallFff global
|
// DampLinearAndAngularVelocities__10CMorphBallFff global
|
||||||
// IsClimbable__10CMorphBallCFRC14CCollisionInfo global
|
// IsClimbable__10CMorphBallCFRC14CCollisionInfo global
|
||||||
// FluidFXThink__10CMorphBallFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager global
|
void FluidFXThink(CActor::EFluidState state, CScriptWater& water, CStateManager& mgr);
|
||||||
// GetCollidableSphere__10CMorphBallCFv weak
|
// GetCollidableSphere__10CMorphBallCFv weak
|
||||||
// DrawCollisionPrimitive__10CMorphBallCFv global
|
// DrawCollisionPrimitive__10CMorphBallCFv global
|
||||||
// GetPrimitiveTransform__10CMorphBallCFv global
|
// GetPrimitiveTransform__10CMorphBallCFv global
|
||||||
// TouchModel__10CMorphBallCFRC13CStateManager global
|
void TouchModel(const CStateManager&) const;
|
||||||
// Render__10CMorphBallCFRC13CStateManagerPC12CActorLights global
|
void Render(const CStateManager&, const CActorLights*) const;
|
||||||
// RenderDamageEffects__10CMorphBallCFRC13CStateManagerRC12CTransform4f global
|
// RenderDamageEffects__10CMorphBallCFRC13CStateManagerRC12CTransform4f global
|
||||||
// RenderSpiderBallElectricalEffects__10CMorphBallCFv global
|
// RenderSpiderBallElectricalEffects__10CMorphBallCFv global
|
||||||
// RenderEnergyDrainEffects__10CMorphBallCFRC13CStateManager global
|
// RenderEnergyDrainEffects__10CMorphBallCFRC13CStateManager global
|
||||||
// RenderMorphBallTransitionFlash__10CMorphBallCFRC13CStateManager global
|
void RenderMorphBallTransitionFlash(const CStateManager&) const;
|
||||||
// GetModel__10CMorphBallCFv weak
|
const CModelData& GetModel() const { return *x58_ballModel.get(); }
|
||||||
// GetBallContactSurfaceNormal__10CMorphBallCFv weak
|
// GetBallContactSurfaceNormal__10CMorphBallCFv weak
|
||||||
// PreRender__10CMorphBallFR13CStateManagerRC14CFrustumPlanes global
|
void PreRender(CStateManager&, const CFrustumPlanes&);
|
||||||
// IsInFrustum__10CMorphBallCFRC14CFrustumPlanes global
|
bool IsInFrustum(const CFrustumPlanes&) const;
|
||||||
// GetBallTouchRadius__10CMorphBallCFv global
|
float GetBallTouchRadius() const;
|
||||||
// Touch__10CMorphBallFR6CActorR13CStateManager global
|
void Touch(CActor& actor, CStateManager& mgr);
|
||||||
void AcceptScriptMsg(EScriptObjectMessage, TUniqueId, CStateManager&);
|
void AcceptScriptMsg(EScriptObjectMessage, TUniqueId, CStateManager&);
|
||||||
// DeleteLight__10CMorphBallFR13CStateManager global
|
// DeleteLight__10CMorphBallFR13CStateManager global
|
||||||
// EnterMorphBallState__10CMorphBallFR13CStateManager
|
// EnterMorphBallState__10CMorphBallFR13CStateManager
|
||||||
|
@ -115,7 +129,7 @@ public:
|
||||||
// GetTouchedHalfPipeRecently__10CMorphBallCFv global
|
// GetTouchedHalfPipeRecently__10CMorphBallCFv global
|
||||||
// ComputeLiftForces__10CMorphBallFRC9CVector3fRC9CVector3fRC13CStateManager global
|
// ComputeLiftForces__10CMorphBallFRC9CVector3fRC9CVector3fRC13CStateManager global
|
||||||
void UpdateBallDynamics(CStateManager&, float);
|
void UpdateBallDynamics(CStateManager&, float);
|
||||||
// BallCloseToCollision__10CMorphBallCFRC13CStateManagerf global
|
bool BallCloseToCollision(const CStateManager& mgr, float dist, const CMaterialFilter& filter) const;
|
||||||
// UpdateHalfPipeStatus__10CMorphBallFR13CStateManagerf global
|
// UpdateHalfPipeStatus__10CMorphBallFR13CStateManagerf global
|
||||||
// CalculateSurfaceToWorld__10CMorphBallCFRC9CVector3fRC9CVector3fRC9CVector3f global
|
// CalculateSurfaceToWorld__10CMorphBallCFRC9CVector3fRC9CVector3fRC9CVector3f global
|
||||||
// UpdateMarbleDynamics__10CMorphBallFR13CStateManagerfRC9CVector3f global
|
// UpdateMarbleDynamics__10CMorphBallFR13CStateManagerfRC9CVector3f global
|
||||||
|
@ -128,6 +142,12 @@ public:
|
||||||
void Land();
|
void Land();
|
||||||
void ResetMorphBallIceBreak();
|
void ResetMorphBallIceBreak();
|
||||||
void StopParticleWakes();
|
void StopParticleWakes();
|
||||||
|
void EnableBallShadow();
|
||||||
|
void DisableBallShadow();
|
||||||
|
void PreRenderBallShadow(CStateManager&);
|
||||||
|
void SetDisableSpiderBallTime(float time);
|
||||||
|
|
||||||
|
u32 GetMorphballModelShader() const { return x5c_ballModelShader; } // name?
|
||||||
|
|
||||||
private:
|
private:
|
||||||
struct CSpiderBallElectricityManager {
|
struct CSpiderBallElectricityManager {
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
#include "MetroidPrime/Player/CPlayerState.hpp"
|
#include "MetroidPrime/Player/CPlayerState.hpp"
|
||||||
|
|
||||||
#include "Kyoto/TReservedAverage.hpp"
|
#include "Kyoto/TReservedAverage.hpp"
|
||||||
#include "Kyoto/Math/CRelAngle.hpp"
|
|
||||||
|
|
||||||
#include "rstl/auto_ptr.hpp"
|
#include "rstl/auto_ptr.hpp"
|
||||||
#include "rstl/vector.hpp"
|
#include "rstl/vector.hpp"
|
||||||
|
@ -67,6 +66,7 @@ class CPlayer : public CPhysicsActor, public TOneStatic< CPlayer > {
|
||||||
};
|
};
|
||||||
|
|
||||||
CPlayerStuckTracker();
|
CPlayerStuckTracker();
|
||||||
|
~CPlayerStuckTracker();
|
||||||
void AddState(EPlayerState, const CVector3f&, const CVector3f&, const CVector2f&);
|
void AddState(EPlayerState, const CVector3f&, const CVector3f&, const CVector2f&);
|
||||||
bool IsPlayerStuck();
|
bool IsPlayerStuck();
|
||||||
void ResetStats();
|
void ResetStats();
|
||||||
|
@ -168,7 +168,7 @@ public:
|
||||||
const CMaterialList& ml);
|
const CMaterialList& ml);
|
||||||
|
|
||||||
// CEntity
|
// CEntity
|
||||||
~CPlayer() override;
|
// ~CPlayer() override;
|
||||||
void Accept(IVisitor& visitor) override;
|
void Accept(IVisitor& visitor) override;
|
||||||
void PreThink(float dt, CStateManager& mgr) override;
|
void PreThink(float dt, CStateManager& mgr) override;
|
||||||
void Think(float dt, CStateManager& mgr) override;
|
void Think(float dt, CStateManager& mgr) override;
|
||||||
|
@ -215,8 +215,8 @@ public:
|
||||||
void SetHudDisable(float staticTimer, float outSpeed = skDefaultHudFadeOutSpeed,
|
void SetHudDisable(float staticTimer, float outSpeed = skDefaultHudFadeOutSpeed,
|
||||||
float inSpeed = skDefaultHudFadeInSpeed);
|
float inSpeed = skDefaultHudFadeInSpeed);
|
||||||
|
|
||||||
void IncrementPhazon();
|
void IncrementEnvironmentDamage(); // name?
|
||||||
void DecrementPhazon();
|
void DecrementEnvironmentDamage(); // name?
|
||||||
// GetMovementDirection2D__7CPlayerCFv ??
|
// GetMovementDirection2D__7CPlayerCFv ??
|
||||||
void SetOrbitTargetId(TUniqueId id, CStateManager& mgr);
|
void SetOrbitTargetId(TUniqueId id, CStateManager& mgr);
|
||||||
void TryToBreakOrbit(TUniqueId id, EOrbitBrokenType type, CStateManager& mgr);
|
void TryToBreakOrbit(TUniqueId id, EOrbitBrokenType type, CStateManager& mgr);
|
||||||
|
@ -256,8 +256,8 @@ public:
|
||||||
void UpdateVisorTransition(float dt, CStateManager& mgr);
|
void UpdateVisorTransition(float dt, CStateManager& mgr);
|
||||||
void UpdatePlayerSounds(float dt);
|
void UpdatePlayerSounds(float dt);
|
||||||
bool ShouldSampleFailsafe(CStateManager& mgr) const;
|
bool ShouldSampleFailsafe(CStateManager& mgr) const;
|
||||||
bool IsEnergyLow(CStateManager& mgr);
|
bool IsEnergyLow(const CStateManager& mgr) const;
|
||||||
bool StartSamusVoiceSfx(ushort sfx, short vol, int prio);
|
const bool StartSamusVoiceSfx(ushort sfx, short vol, int prio);
|
||||||
void UpdateVisorState(const CFinalInput& input, float dt, CStateManager& mgr);
|
void UpdateVisorState(const CFinalInput& input, float dt, CStateManager& mgr);
|
||||||
void UpdateCrosshairsState(const CFinalInput& input);
|
void UpdateCrosshairsState(const CFinalInput& input);
|
||||||
ushort GetMaterialSoundUnderPlayer(CStateManager& mgr, const ushort* table, int length,
|
ushort GetMaterialSoundUnderPlayer(CStateManager& mgr, const ushort* table, int length,
|
||||||
|
@ -314,6 +314,34 @@ public:
|
||||||
CVector3f CalculateLeftStickEdgePosition(float strafeInput, float forwardInput) const;
|
CVector3f CalculateLeftStickEdgePosition(float strafeInput, float forwardInput) const;
|
||||||
bool AttachActorToPlayer(TUniqueId id, bool disableGun);
|
bool AttachActorToPlayer(TUniqueId id, bool disableGun);
|
||||||
void DetachActorFromPlayer();
|
void DetachActorFromPlayer();
|
||||||
|
void RenderReflectedPlayer(CStateManager& mgr);
|
||||||
|
bool HasTransitionBeamModel() const;
|
||||||
|
void RenderGun(const CStateManager& mgr, const CVector3f& pos) const;
|
||||||
|
bool GetCombatMode() const;
|
||||||
|
bool GetExplorationMode() const;
|
||||||
|
void SetScanningState(EPlayerScanState state, CStateManager& mgr);
|
||||||
|
void UpdateSlideShowUnlocking(CStateManager& mgr); // name?
|
||||||
|
bool ValidateScanning(const CFinalInput& input, CStateManager& mgr) const;
|
||||||
|
float GetTransitionAlpha(const CVector3f& camPos, float zNear) const;
|
||||||
|
void TakeDamage(bool significant, const CVector3f& location, float damage, EWeaponType type,
|
||||||
|
CStateManager& mgr);
|
||||||
|
bool WasDamaged() const;
|
||||||
|
CVector3f GetDamageLocationWR() const;
|
||||||
|
float GetPrevDamageAmount() const;
|
||||||
|
float GetDamageAmount() const;
|
||||||
|
bool ObjectInScanningRange(TUniqueId id, const CStateManager& mgr);
|
||||||
|
void AsyncLoadSuit(CStateManager& mgr);
|
||||||
|
bool IsPlayerDeadEnough() const;
|
||||||
|
void SetControlDirectionInterpolation(float time);
|
||||||
|
void ResetControlDirectionInterpolation();
|
||||||
|
void DoThink(float dt, CStateManager& mgr); // name?
|
||||||
|
void DoPreThink(float dt, CStateManager& mgr); // name?
|
||||||
|
void SetPlayerHitWallDuringMove();
|
||||||
|
void DoPostCameraStuff(float dt, CStateManager& mgr); // name?
|
||||||
|
float UpdateCameraBob(float dt, CStateManager& mgr);
|
||||||
|
void UpdateOrbitTarget(CStateManager& mgr);
|
||||||
|
void UpdateOrbitOrientation(CStateManager& mgr);
|
||||||
|
bool IsTransparent() const;
|
||||||
|
|
||||||
CPlayerGun* PlayerGun() { return x490_gun.get(); }
|
CPlayerGun* PlayerGun() { return x490_gun.get(); }
|
||||||
const CPlayerGun* GetPlayerGun() const { return x490_gun.get(); }
|
const CPlayerGun* GetPlayerGun() const { return x490_gun.get(); }
|
||||||
|
@ -356,7 +384,7 @@ public:
|
||||||
float GetAverageSpeed() const;
|
float GetAverageSpeed() const;
|
||||||
float GetGravity() const;
|
float GetGravity() const;
|
||||||
|
|
||||||
float GetAttachedActorStruggle() const { return xa28_attachedActorStruggle; }
|
float GetAttachedActorStruggle() const;
|
||||||
void SetAttachedActorStruggle(float struggle) { xa28_attachedActorStruggle = struggle; }
|
void SetAttachedActorStruggle(float struggle) { xa28_attachedActorStruggle = struggle; }
|
||||||
|
|
||||||
// PlayerHint
|
// PlayerHint
|
||||||
|
@ -557,7 +585,7 @@ private:
|
||||||
float xa04_preThinkDt;
|
float xa04_preThinkDt;
|
||||||
CAssetId xa08_steamTextureId;
|
CAssetId xa08_steamTextureId;
|
||||||
CAssetId xa0c_iceTextureId;
|
CAssetId xa0c_iceTextureId;
|
||||||
uint xa10_envDmgCounter;
|
int xa10_envDmgCounter;
|
||||||
float xa14_envDmgCameraShakeTimer;
|
float xa14_envDmgCameraShakeTimer;
|
||||||
float xa18_phazonDamageLag;
|
float xa18_phazonDamageLag;
|
||||||
float xa1c_threatOverride;
|
float xa1c_threatOverride;
|
||||||
|
|
|
@ -7,6 +7,8 @@
|
||||||
|
|
||||||
#include "rstl/vector.hpp"
|
#include "rstl/vector.hpp"
|
||||||
|
|
||||||
|
class CStateManager;
|
||||||
|
|
||||||
class CEnergyDrainSource {
|
class CEnergyDrainSource {
|
||||||
public:
|
public:
|
||||||
CEnergyDrainSource(TUniqueId src, float intensity);
|
CEnergyDrainSource(TUniqueId src, float intensity);
|
||||||
|
@ -26,6 +28,7 @@ public:
|
||||||
void AddEnergyDrainSource(TUniqueId id, float intensity);
|
void AddEnergyDrainSource(TUniqueId id, float intensity);
|
||||||
void RemoveEnergyDrainSource(TUniqueId id);
|
void RemoveEnergyDrainSource(TUniqueId id);
|
||||||
float GetEnergyDrainIntensity() const;
|
float GetEnergyDrainIntensity() const;
|
||||||
|
const rstl::vector< CEnergyDrainSource >& GetEnergyDrainSources() const { return x0_sources; }
|
||||||
float GetEnergyDrainTime() const { return x10_energyDrainTime; }
|
float GetEnergyDrainTime() const { return x10_energyDrainTime; }
|
||||||
void ProcessEnergyDrain(const CStateManager& mgr, float dt);
|
void ProcessEnergyDrain(const CStateManager& mgr, float dt);
|
||||||
|
|
||||||
|
|
|
@ -22,8 +22,6 @@
|
||||||
#include "rstl/string.hpp"
|
#include "rstl/string.hpp"
|
||||||
#include "rstl/vector.hpp"
|
#include "rstl/vector.hpp"
|
||||||
|
|
||||||
#include "math.h"
|
|
||||||
|
|
||||||
enum EChargeState {
|
enum EChargeState {
|
||||||
kCS_Normal,
|
kCS_Normal,
|
||||||
kCS_Charged,
|
kCS_Charged,
|
||||||
|
@ -142,7 +140,7 @@ public:
|
||||||
void UpdateWeaponFire(float, CPlayerState&, CStateManager&);
|
void UpdateWeaponFire(float, CPlayerState&, CStateManager&);
|
||||||
void ResetIdle(CStateManager&);
|
void ResetIdle(CStateManager&);
|
||||||
void UpdateGunIdle(bool, float, float, CStateManager&);
|
void UpdateGunIdle(bool, float, float, CStateManager&);
|
||||||
void DamageRumble(const CVector3f&, const CStateManager&);
|
void DamageRumble(const CVector3f&, float damage, const CStateManager&);
|
||||||
void TakeDamage(bool, bool, CStateManager&);
|
void TakeDamage(bool, bool, CStateManager&);
|
||||||
void StopChargeSound(CStateManager&);
|
void StopChargeSound(CStateManager&);
|
||||||
void CancelFiring(CStateManager&);
|
void CancelFiring(CStateManager&);
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#ifndef _CPLAYERSTATE
|
#ifndef _CPLAYERSTATE
|
||||||
#define _CPLAYERSTATE
|
#define _CPLAYERSTATE
|
||||||
|
|
||||||
|
#include "Kyoto/SObjectTag.hpp"
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
|
|
||||||
#include "MetroidPrime/CHealthInfo.hpp"
|
#include "MetroidPrime/CHealthInfo.hpp"
|
||||||
|
@ -117,7 +118,7 @@ public:
|
||||||
void UpdateStaticInterference(CStateManager& stateMgr, const float& dt);
|
void UpdateStaticInterference(CStateManager& stateMgr, const float& dt);
|
||||||
void IncreaseScanTime(uint time, float val);
|
void IncreaseScanTime(uint time, float val);
|
||||||
void SetScanTime(CAssetId res, float time);
|
void SetScanTime(CAssetId res, float time);
|
||||||
float GetScanTime(CAssetId time) const;
|
float GetScanTime(CAssetId res) const;
|
||||||
bool GetIsVisorTransitioning() const;
|
bool GetIsVisorTransitioning() const;
|
||||||
float GetVisorTransitionFactor() const;
|
float GetVisorTransitionFactor() const;
|
||||||
void UpdateVisorTransition(float dt);
|
void UpdateVisorTransition(float dt);
|
||||||
|
@ -140,6 +141,9 @@ public:
|
||||||
float CalculateHealth();
|
float CalculateHealth();
|
||||||
void InitializePowerUp(CPlayerState::EItemType type, int capacity);
|
void InitializePowerUp(CPlayerState::EItemType type, int capacity);
|
||||||
void SetPowerUp(CPlayerState::EItemType type, int capacity);
|
void SetPowerUp(CPlayerState::EItemType type, int capacity);
|
||||||
|
static bool IsValidScan(CAssetId res);
|
||||||
|
void SetScanCompletionRateFirst(int rate) { x180_scanCompletionRateFirst = rate; } // name?
|
||||||
|
void SetScanCompletionRateSecond(int rate) { x184_scanCompletionRateSecond = rate; } // name?
|
||||||
|
|
||||||
void InitializeScanTimes();
|
void InitializeScanTimes();
|
||||||
|
|
||||||
|
@ -151,9 +155,10 @@ public:
|
||||||
const rstl::vector< rstl::pair< CAssetId, float > >& GetScanTimes() const {
|
const rstl::vector< rstl::pair< CAssetId, float > >& GetScanTimes() const {
|
||||||
return x170_scanTimes;
|
return x170_scanTimes;
|
||||||
}
|
}
|
||||||
|
int GetLogScans() const { return x180_scanCompletionRateFirst; }
|
||||||
|
int GetTotalLogScans() const { return x184_scanCompletionRateSecond; }
|
||||||
|
|
||||||
CHealthInfo* HealthInfo() { return &xc_health; }
|
CHealthInfo* HealthInfo() { return &xc_health; }
|
||||||
|
|
||||||
const CHealthInfo& GetHealthInfo() const { return xc_health; }
|
const CHealthInfo& GetHealthInfo() const { return xc_health; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -191,7 +196,7 @@ private:
|
||||||
EPlayerSuit x20_currentSuit;
|
EPlayerSuit x20_currentSuit;
|
||||||
rstl::reserved_vector< CPowerUp, 41 > x24_powerups;
|
rstl::reserved_vector< CPowerUp, 41 > x24_powerups;
|
||||||
rstl::vector< rstl::pair< CAssetId, float > > x170_scanTimes;
|
rstl::vector< rstl::pair< CAssetId, float > > x170_scanTimes;
|
||||||
int x180_scanCompletionRateFirst;
|
int x180_scanCompletionRateFirst; // pair?
|
||||||
int x184_scanCompletionRateSecond;
|
int x184_scanCompletionRateSecond;
|
||||||
CStaticInterference x188_staticIntf;
|
CStaticInterference x188_staticIntf;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
#include "MetroidPrime/CArchMsgParmReal32.hpp"
|
#include "MetroidPrime/CArchMsgParmReal32.hpp"
|
||||||
#include "Kyoto/Alloc/CMemory.hpp"
|
|
||||||
|
|
||||||
CArchMsgParmReal32::CArchMsgParmReal32(float val) : mVal(val) {}
|
CArchMsgParmReal32::CArchMsgParmReal32(float val) : mVal(val) {}
|
||||||
|
|
||||||
|
|
|
@ -419,7 +419,7 @@ CVector3f CCameraManager::GetGlobalCameraTranslation(const CStateManager& mgr) c
|
||||||
|
|
||||||
bool CCameraManager::IsInCinematicCamera() const { return !x4_cineCameras.empty(); }
|
bool CCameraManager::IsInCinematicCamera() const { return !x4_cineCameras.empty(); }
|
||||||
|
|
||||||
bool CCameraManager::IsInFirstPersonCamera() const {
|
bool CCameraManager::IsInFPCamera() const {
|
||||||
return x0_curCameraId == x7c_fpCamera->GetUniqueId();
|
return x0_curCameraId == x7c_fpCamera->GetUniqueId();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -441,7 +441,7 @@ void CCameraManager::SetPlayerCamera(CStateManager& mgr, TUniqueId uid) {
|
||||||
void CCameraManager::SetupInterpolation(const CTransform4f& xf, TUniqueId camId, CVector3f lookPos,
|
void CCameraManager::SetupInterpolation(const CTransform4f& xf, TUniqueId camId, CVector3f lookPos,
|
||||||
float maxTime, float positionSpeed, float rotationSpeed,
|
float maxTime, float positionSpeed, float rotationSpeed,
|
||||||
bool sinusoidal, CStateManager& mgr) {
|
bool sinusoidal, CStateManager& mgr) {
|
||||||
if (IsInFirstPersonCamera()) {
|
if (IsInFPCamera()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
x88_interpCamera->SetInterpolation(xf, lookPos, maxTime, positionSpeed, rotationSpeed, camId,
|
x88_interpCamera->SetInterpolation(xf, lookPos, maxTime, positionSpeed, rotationSpeed, camId,
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1013,7 +1013,7 @@ void CPlayerGun::CMotionState::Update(bool firing, float dt, CTransform4f& xf, C
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CPlayerGun::DamageRumble(const CVector3f&, const CStateManager&) {}
|
void CPlayerGun::DamageRumble(const CVector3f&, float damage, const CStateManager&) {}
|
||||||
|
|
||||||
void CPlayerGun::TakeDamage(bool bigStrike, bool notFromMetroid, CStateManager& mgr) {
|
void CPlayerGun::TakeDamage(bool bigStrike, bool notFromMetroid, CStateManager& mgr) {
|
||||||
const CPlayer& player = *mgr.GetPlayer();
|
const CPlayer& player = *mgr.GetPlayer();
|
||||||
|
|
|
@ -514,7 +514,7 @@ void CScriptSpecialFunction::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId
|
||||||
case kSF_AreaDamage: {
|
case kSF_AreaDamage: {
|
||||||
if ((msg == kSM_Deleted || msg == kSM_Deactivate) && x1e4_31_inAreaDamage) {
|
if ((msg == kSM_Deleted || msg == kSM_Deactivate) && x1e4_31_inAreaDamage) {
|
||||||
x1e4_31_inAreaDamage = false;
|
x1e4_31_inAreaDamage = false;
|
||||||
mgr.Player()->DecrementPhazon();
|
mgr.Player()->DecrementEnvironmentDamage();
|
||||||
mgr.SetIsFullThreat(false);
|
mgr.SetIsFullThreat(false);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -1037,7 +1037,7 @@ void CScriptSpecialFunction::ThinkAreaDamage(float dt, CStateManager& mgr) {
|
||||||
if (x1e4_31_inAreaDamage) {
|
if (x1e4_31_inAreaDamage) {
|
||||||
if (!inArea || immune) {
|
if (!inArea || immune) {
|
||||||
x1e4_31_inAreaDamage = false;
|
x1e4_31_inAreaDamage = false;
|
||||||
mgr.Player()->DecrementPhazon();
|
mgr.Player()->DecrementEnvironmentDamage();
|
||||||
SendScriptMsgs(kSS_Exited, mgr, kSM_None);
|
SendScriptMsgs(kSS_Exited, mgr, kSM_None);
|
||||||
mgr.SetIsFullThreat(false);
|
mgr.SetIsFullThreat(false);
|
||||||
return;
|
return;
|
||||||
|
@ -1046,7 +1046,7 @@ void CScriptSpecialFunction::ThinkAreaDamage(float dt, CStateManager& mgr) {
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
x1e4_31_inAreaDamage = true;
|
x1e4_31_inAreaDamage = true;
|
||||||
mgr.Player()->IncrementPhazon();
|
mgr.Player()->IncrementEnvironmentDamage();
|
||||||
SendScriptMsgs(kSS_Entered, mgr, kSM_None);
|
SendScriptMsgs(kSS_Entered, mgr, kSM_None);
|
||||||
mgr.SetIsFullThreat(true);
|
mgr.SetIsFullThreat(true);
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,10 +49,6 @@ void CScriptSteam::Think(float dt, CStateManager& mgr) {
|
||||||
if (x148_28_playerTriggerProc && mgr.GetCameraManager()->GetFluidCounter() == 0) {
|
if (x148_28_playerTriggerProc && mgr.GetCameraManager()->GetFluidCounter() == 0) {
|
||||||
CVector3f eyePos = mgr.GetPlayer()->GetEyePosition();
|
CVector3f eyePos = mgr.GetPlayer()->GetEyePosition();
|
||||||
const float mag = (GetTranslation() - eyePos).Magnitude();
|
const float mag = (GetTranslation() - eyePos).Magnitude();
|
||||||
// const float distance =
|
|
||||||
// (mag >= GetMaxDist()
|
|
||||||
// ? 0.f
|
|
||||||
// : CMath::FastCosR((mag * 1.5707964f /* 90 deg */) * GetOOMaxDist()) * GetStrength());
|
|
||||||
float distance;
|
float distance;
|
||||||
if (mag >= GetMaxDist()) {
|
if (mag >= GetMaxDist()) {
|
||||||
distance = 0.f;
|
distance = 0.f;
|
||||||
|
|
|
@ -82,7 +82,7 @@ void CScriptTrigger::Touch(CActor& act, CStateManager& mgr) {
|
||||||
|
|
||||||
pl = mgr.Player();
|
pl = mgr.Player();
|
||||||
if (x148_29_didPhazonDamage) {
|
if (x148_29_didPhazonDamage) {
|
||||||
pl->DecrementPhazon();
|
pl->DecrementEnvironmentDamage();
|
||||||
x148_29_didPhazonDamage = false;
|
x148_29_didPhazonDamage = false;
|
||||||
}
|
}
|
||||||
if (!x100_damageInfo.HasNoDamage()) {
|
if (!x100_damageInfo.HasNoDamage()) {
|
||||||
|
@ -94,7 +94,7 @@ void CScriptTrigger::Touch(CActor& act, CStateManager& mgr) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (phazonHurt) {
|
if (phazonHurt) {
|
||||||
pl->IncrementPhazon();
|
pl->IncrementEnvironmentDamage();
|
||||||
x148_29_didPhazonDamage = true;
|
x148_29_didPhazonDamage = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -156,7 +156,7 @@ void CScriptTrigger::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, CS
|
||||||
|
|
||||||
CPlayer* player = mgr.Player();
|
CPlayer* player = mgr.Player();
|
||||||
if (x148_29_didPhazonDamage) {
|
if (x148_29_didPhazonDamage) {
|
||||||
player->DecrementPhazon();
|
player->DecrementEnvironmentDamage();
|
||||||
x148_29_didPhazonDamage = false;
|
x148_29_didPhazonDamage = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -171,7 +171,7 @@ void CScriptTrigger::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, CS
|
||||||
|
|
||||||
CPlayer* player = mgr.Player();
|
CPlayer* player = mgr.Player();
|
||||||
if (x148_29_didPhazonDamage) {
|
if (x148_29_didPhazonDamage) {
|
||||||
player->DecrementPhazon();
|
player->DecrementEnvironmentDamage();
|
||||||
x148_29_didPhazonDamage = false;
|
x148_29_didPhazonDamage = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -215,7 +215,7 @@ void CScriptTrigger::UpdateInhabitants(float dt, CStateManager& mgr) {
|
||||||
if (x148_28_playerTriggerProc) {
|
if (x148_28_playerTriggerProc) {
|
||||||
x148_28_playerTriggerProc = false;
|
x148_28_playerTriggerProc = false;
|
||||||
if (x148_29_didPhazonDamage) {
|
if (x148_29_didPhazonDamage) {
|
||||||
mgr.Player()->DecrementPhazon();
|
mgr.Player()->DecrementEnvironmentDamage();
|
||||||
x148_29_didPhazonDamage = false;
|
x148_29_didPhazonDamage = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -266,7 +266,7 @@ void CScriptTrigger::UpdateInhabitants(float dt, CStateManager& mgr) {
|
||||||
if (mgr.GetPlayer()->GetUniqueId() == tmpId && x148_28_playerTriggerProc) {
|
if (mgr.GetPlayer()->GetUniqueId() == tmpId && x148_28_playerTriggerProc) {
|
||||||
x148_28_playerTriggerProc = false;
|
x148_28_playerTriggerProc = false;
|
||||||
if (x148_29_didPhazonDamage) {
|
if (x148_29_didPhazonDamage) {
|
||||||
mgr.Player()->DecrementPhazon();
|
mgr.Player()->DecrementEnvironmentDamage();
|
||||||
x148_29_didPhazonDamage = false;
|
x148_29_didPhazonDamage = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -282,7 +282,7 @@ void CScriptTrigger::UpdateInhabitants(float dt, CStateManager& mgr) {
|
||||||
if (mgr.GetPlayer()->GetUniqueId() == tmpId && x148_28_playerTriggerProc) {
|
if (mgr.GetPlayer()->GetUniqueId() == tmpId && x148_28_playerTriggerProc) {
|
||||||
x148_28_playerTriggerProc = false;
|
x148_28_playerTriggerProc = false;
|
||||||
if (x148_29_didPhazonDamage) {
|
if (x148_29_didPhazonDamage) {
|
||||||
mgr.Player()->DecrementPhazon();
|
mgr.Player()->DecrementEnvironmentDamage();
|
||||||
x148_29_didPhazonDamage = false;
|
x148_29_didPhazonDamage = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,7 @@ _LITERAL_REPLACEMENTS = [
|
||||||
("char16_t", "wchar_t"),
|
("char16_t", "wchar_t"),
|
||||||
("std::min(", "rstl::min_val("),
|
("std::min(", "rstl::min_val("),
|
||||||
("std::max(", "rstl::max_val("),
|
("std::max(", "rstl::max_val("),
|
||||||
|
("constexpr ", "const "),
|
||||||
|
|
||||||
("DEFINE_ENTITY", ""),
|
("DEFINE_ENTITY", ""),
|
||||||
("visitor.Visit(this)", "visitor.Visit(*this)"),
|
("visitor.Visit(this)", "visitor.Visit(*this)"),
|
||||||
|
@ -94,11 +95,19 @@ _LITERAL_REPLACEMENTS = [
|
||||||
("EProjectileAttrib::", "kPA_"),
|
("EProjectileAttrib::", "kPA_"),
|
||||||
("ERumbleFxId::", "kRFX_"),
|
("ERumbleFxId::", "kRFX_"),
|
||||||
("ERumblePriority::", "kRP_"),
|
("ERumblePriority::", "kRP_"),
|
||||||
|
("EWhichModel::", "kWM_"),
|
||||||
|
("EArmState::", "kAS_"),
|
||||||
|
("EGameState::", "kGS_"),
|
||||||
|
("EScanState::", "kSS_"),
|
||||||
|
("EWeaponType::", "kWT_"),
|
||||||
|
("EFluidState::", "kFS_"),
|
||||||
|
("EPhazonType::", "kPT_"),
|
||||||
|
|
||||||
# CActor
|
# CActor
|
||||||
("x34_transform.origin", "GetTranslation()"),
|
("x34_transform.origin", "GetTranslation()"),
|
||||||
("x34_transform", "GetTransform()"),
|
("x34_transform", "GetTransform()"),
|
||||||
("xc4_fluidId", "InFluidId()"),
|
("xc4_fluidId", "InFluidId()"),
|
||||||
|
("x90_actorLights.get()", "GetActorLights()"),
|
||||||
|
|
||||||
# CPhysicsActor
|
# CPhysicsActor
|
||||||
("x138_velocity", "GetVelocityWR()"),
|
("x138_velocity", "GetVelocityWR()"),
|
||||||
|
@ -132,6 +141,8 @@ _RE_REPLACEMENTS = [
|
||||||
(re.compile(r"\.([xyz])\(\)"), lambda m: f".Get{m.group(1).upper()}()"),
|
(re.compile(r"\.([xyz])\(\)"), lambda m: f".Get{m.group(1).upper()}()"),
|
||||||
# lhs.dot(rhs) -> CVector3f::Dot(lhs, rhs)
|
# lhs.dot(rhs) -> CVector3f::Dot(lhs, rhs)
|
||||||
(re.compile(r"([A-z0-9]+)\.dot\(([A-z0-9]+)\)([,;])"), r"CVector3f::Dot(\1, \2)\3"),
|
(re.compile(r"([A-z0-9]+)\.dot\(([A-z0-9]+)\)([,;])"), r"CVector3f::Dot(\1, \2)\3"),
|
||||||
|
# std::make_unique<T> -> rs_new T
|
||||||
|
(re.compile(r"std::make_unique<([A-z0-9]+)>"), r"rs_new \1"),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@ import os
|
||||||
import platform
|
import platform
|
||||||
import sys
|
import sys
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import IO, Any, Dict, Iterable, List, Optional, Set, Tuple, cast
|
from typing import IO, Any, Dict, Iterable, List, Optional, Set, Tuple, Union, cast
|
||||||
|
|
||||||
from . import ninja_syntax
|
from . import ninja_syntax
|
||||||
from .ninja_syntax import serialize_path
|
from .ninja_syntax import serialize_path
|
||||||
|
@ -81,6 +81,18 @@ class Object:
|
||||||
set_default("shift_jis", config.shift_jis)
|
set_default("shift_jis", config.shift_jis)
|
||||||
set_default("src_dir", config.src_dir)
|
set_default("src_dir", config.src_dir)
|
||||||
|
|
||||||
|
# Validate progress categories
|
||||||
|
def check_category(category: str):
|
||||||
|
if not any(category == c.id for c in config.progress_categories):
|
||||||
|
sys.exit(f"Progress category '{category}' missing from config.progress_categories")
|
||||||
|
|
||||||
|
progress_category = obj.options["progress_category"]
|
||||||
|
if isinstance(progress_category, list):
|
||||||
|
for category in progress_category:
|
||||||
|
check_category(category)
|
||||||
|
elif progress_category is not None:
|
||||||
|
check_category(progress_category)
|
||||||
|
|
||||||
# Resolve paths
|
# Resolve paths
|
||||||
build_dir = config.out_path()
|
build_dir = config.out_path()
|
||||||
obj.src_path = Path(obj.options["src_dir"]) / obj.options["source"]
|
obj.src_path = Path(obj.options["src_dir"]) / obj.options["source"]
|
||||||
|
@ -160,13 +172,16 @@ class ProjectConfig:
|
||||||
)
|
)
|
||||||
|
|
||||||
# Progress output, progress.json and report.json config
|
# Progress output, progress.json and report.json config
|
||||||
self.progress = True # Enable progress output
|
self.progress = True # Enable CLI progress output
|
||||||
self.progress_all: bool = True # Include combined "all" category
|
self.progress_all: bool = True # Include combined "all" category
|
||||||
self.progress_modules: bool = True # Include combined "modules" category
|
self.progress_modules: bool = True # Include combined "modules" category
|
||||||
self.progress_each_module: bool = (
|
self.progress_each_module: bool = (
|
||||||
False # Include individual modules, disable for large numbers of modules
|
False # Include individual modules, disable for large numbers of modules
|
||||||
)
|
)
|
||||||
self.progress_categories: List[ProgressCategory] = [] # Additional categories
|
self.progress_categories: List[ProgressCategory] = [] # Additional categories
|
||||||
|
self.print_progress_categories: Union[bool, List[str]] = (
|
||||||
|
True # Print additional progress categories in the CLI progress output
|
||||||
|
)
|
||||||
|
|
||||||
# Progress fancy printing
|
# Progress fancy printing
|
||||||
self.progress_use_fancy: bool = False
|
self.progress_use_fancy: bool = False
|
||||||
|
@ -1687,7 +1702,11 @@ def calculate_progress(config: ProjectConfig) -> None:
|
||||||
|
|
||||||
print_category("All", report_data["measures"])
|
print_category("All", report_data["measures"])
|
||||||
for category in report_data["categories"]:
|
for category in report_data["categories"]:
|
||||||
print_category(category["name"], category["measures"])
|
if config.print_progress_categories is True or (
|
||||||
|
isinstance(config.print_progress_categories, list)
|
||||||
|
and category["id"] in config.print_progress_categories
|
||||||
|
):
|
||||||
|
print_category(category["name"], category["measures"])
|
||||||
|
|
||||||
if config.progress_use_fancy:
|
if config.progress_use_fancy:
|
||||||
measures = report_data["measures"]
|
measures = report_data["measures"]
|
||||||
|
|
Loading…
Reference in New Issue