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
|
||||
ShouldBypassInterpolationCamera__14CCameraManagerCFv = .text:0x8000A8CC; // type:function size:0x8 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
|
||||
GetGlobalCameraTranslation__14CCameraManagerCFRC13CStateManager = .text:0x8000A914; // type:function size:0x54 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__Q211CObjectList16SObjectListEntryFv = .text:0x8001012C; // type:function size:0x18 scope:weak
|
||||
__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
|
||||
IsTransparent__7CPlayerCFv = .text:0x80010A98; // type:function size:0x18 scope:global
|
||||
IsEnergyLow__7CPlayerCFRC13CStateManager = .text:0x80010AB0; // type:function size:0x7C scope:global
|
||||
FinishNewScan__7CPlayerFR13CStateManager = .text:0x80010B2C; // type:function size:0x12C scope:global
|
||||
GetAttachedActorStruggle__7CPlayerCFv = .text:0x80010C58; // type:function size:0x8 scope:global
|
||||
StartSamusVoiceSfx__7CPlayerFUssi = .text:0x80010C60; // type:function size:0xD0 scope:global
|
||||
PostUpdate__7CPlayerFfR13CStateManager = .text:0x80010D30; // type:function size:0x1D4 scope:global
|
||||
__ct__16CPlayerCameraBobFRC16CPlayerCameraBob = .text:0x80010F04; // type:function size:0x270 scope:global
|
||||
DoPostCameraStuff__7CPlayerFfR13CStateManager = .text:0x80010D30; // type:function size:0x1D4 scope:global
|
||||
__as__16CPlayerCameraBobFRC16CPlayerCameraBob = .text:0x80010F04; // type:function size:0x270 scope:global
|
||||
SetPlayerHitWallDuringMove__7CPlayerFv = .text:0x80011174; // type:function size:0x18 scope:global
|
||||
DoSfxEffects__7CPlayerF10CSfxHandle = .text:0x8001118C; // type:function size:0x48 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
|
||||
UpdatePhazonCameraShake__7CPlayerFfR13CStateManager = .text:0x800117F0; // type:function size:0x154 scope:global
|
||||
DecrementPhazon__7CPlayerFv = .text:0x80011944; // type:function size:0x18 scope:global
|
||||
IncrementPhazon__7CPlayerFv = .text:0x8001195C; // type:function size:0x24 scope:global
|
||||
DoPreThink__7CPlayerFfRC13CStateManager = .text:0x80011980; // type:function size:0x84 scope:global
|
||||
DoThink__7CPlayerFfRC13CStateManager = .text:0x80011A04; // type:function size:0x84 scope:global
|
||||
DecrementEnvironmentDamage__7CPlayerFv = .text:0x80011944; // type:function size:0x18 scope:global
|
||||
IncrementEnvironmentDamage__7CPlayerFv = .text:0x8001195C; // type:function size:0x24 scope:global
|
||||
DoPreThink__7CPlayerFfR13CStateManager = .text:0x80011980; // 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
|
||||
SetControlDirectionInterpolation__7CPlayerFf = .text:0x80011AA4; // type:function size:0x20 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
|
||||
Touch__7CPlayerFR6CActorR13CStateManager = .text:0x80013208; // type:function size:0x30 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
|
||||
GetExplorationMode__7CPlayerCFv = .text:0x80013810; // 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
|
||||
CalculateRenderBounds__7CPlayerFv = .text:0x800143E0; // type:function size:0xC0 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
|
||||
UpdateFreeLook__7CPlayerFf = .text:0x80014820; // type:function size:0x184 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
|
||||
__ct__16CCameraShakeDataFff = .text:0x8015D830; // 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
|
||||
__sinit_CCameraShakeData_cpp = .text:0x8015DCB4; // type:function size:0x1D4 scope:local
|
||||
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
|
||||
lbl_803D9660 = .data:0x803D9660; // type:object size:0x78
|
||||
__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_803D978C = .data:0x803D978C; // type:object size:0x58 scope:local
|
||||
__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
|
||||
testBox = .bss:0x804579B0; // type:object size:0x18 data:float
|
||||
skVisorToItemMapping = .bss:0x804579C8; // type:object size:0x20 data:4byte
|
||||
lbl_804579E8 = .bss:0x804579E8; // type:object size:0x10 data:float
|
||||
lbl_804579F8 = .bss:0x804579F8; // type:object size:0x18 data:4byte
|
||||
skDown$1100 = .bss:0x804579E8; // type:object size:0xC data:float
|
||||
matFilter$1103 = .bss:0x804579F8; // type:object size:0x18 data:4byte
|
||||
sAllocSpace$2944 = .bss:0x80457A10; // type:object size:0x838
|
||||
sAllocSpace$2964 = .bss:0x80458248; // type:object size:0x108
|
||||
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
|
||||
gUseSurfaceHack = .sbss:0x805A8C78; // type:object size:0x1 data:byte
|
||||
gSR_Hack = .sbss:0x805A8C7C; // type:object size:0x4 data:4byte
|
||||
lbl_805A8C80 = .sbss:0x805A8C80; // type:object size:0x1 data:byte
|
||||
lbl_805A8C81 = .sbss:0x805A8C81; // type:object size:0x1 data:byte
|
||||
lbl_805A8C84 = .sbss:0x805A8C84; // type:object size:0x4 data:float
|
||||
lbl_805A8C88 = .sbss:0x805A8C88; // type:object size:0x1 data:byte
|
||||
lbl_805A8C8C = .sbss:0x805A8C8C; // type:object size:0x4 data:4byte
|
||||
lbl_805A8C90 = .sbss:0x805A8C90; // type:object size:0x1 data:byte
|
||||
lbl_805A8C94 = .sbss:0x805A8C94; // type:object size:0x4 data:4byte
|
||||
lbl_805A8C98 = .sbss:0x805A8C98; // type:object size:0x1 data:byte
|
||||
lbl_805A8C9C = .sbss:0x805A8C9C; // type:object size:0x4 data:4byte
|
||||
lbl_805A8CA0 = .sbss:0x805A8CA0; // type:object size:0x1 data:byte
|
||||
lbl_805A8CA4 = .sbss:0x805A8CA4; // type:object size:0x4 data:4byte
|
||||
lbl_805A8CA8 = .sbss:0x805A8CA8; // type:object size:0x8 data:byte
|
||||
init$1101 = .sbss:0x805A8C80; // type:object size:0x1 data:byte
|
||||
init$1105 = .sbss:0x805A8C81; // type:object size:0x1 data:byte
|
||||
earHeight$1154 = .sbss:0x805A8C84; // type:object size:0x4 data:float
|
||||
init$1155 = .sbss:0x805A8C88; // type:object size:0x1 data:byte
|
||||
sReferenceCount$9741 = .sbss:0x805A8C8C; // type:object size:0x4 data:4byte
|
||||
init$9742 = .sbss:0x805A8C90; // type:object size:0x1 data:byte
|
||||
sReferenceCount$9761 = .sbss:0x805A8C94; // type:object size:0x4 data:4byte
|
||||
init$9762 = .sbss:0x805A8C98; // type:object size:0x1 data:byte
|
||||
sReferenceCount$9777 = .sbss:0x805A8C9C; // type:object size:0x4 data:4byte
|
||||
init$9778 = .sbss:0x805A8CA0; // type:object size:0x1 data:byte
|
||||
sReferenceCount$9788 = .sbss:0x805A8CA4; // type:object size:0x4 data:4byte
|
||||
init$9789 = .sbss:0x805A8CA8; // type:object size:0x1 data:byte
|
||||
lbl_805A8CB0 = .sbss:0x805A8CB0; // 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
|
||||
|
|
|
@ -139,7 +139,7 @@ SetupInterpolation__14CCameraManagerFRC12CTransform4f9TUniqueId9CVector3ffffbR13
|
|||
SetPlayerCamera__14CCameraManagerFR13CStateManager9TUniqueId = .text:0x8000A8C4; // type:function size:0x84 scope:global
|
||||
ShouldBypassInterpolationCamera__14CCameraManagerCFv = .text:0x8000A948; // type:function size:0x8 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
|
||||
GetGlobalCameraTranslation__14CCameraManagerCFRC13CStateManager = .text:0x8000A990; // type:function size:0x54 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__Q211CObjectList16SObjectListEntryFv = .text:0x800101A8; // type:function size:0x18 scope:weak
|
||||
__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
|
||||
IsTransparent__7CPlayerCFv = .text:0x80010B14; // type:function size:0x18 scope:global
|
||||
IsEnergyLow__7CPlayerCFRC13CStateManager = .text:0x80010B2C; // type:function size:0x7C scope:global
|
||||
FinishNewScan__7CPlayerFR13CStateManager = .text:0x80010BA8; // type:function size:0x12C scope:global
|
||||
GetAttachedActorStruggle__7CPlayerCFv = .text:0x80010CD4; // type:function size:0x8 scope:global
|
||||
StartSamusVoiceSfx__7CPlayerFUssi = .text:0x80010CDC; // type:function size:0xD0 scope:global
|
||||
PostUpdate__7CPlayerFfR13CStateManager = .text:0x80010DAC; // type:function size:0x1D4 scope:global
|
||||
__ct__16CPlayerCameraBobFRC16CPlayerCameraBob = .text:0x80010F80; // type:function size:0x270 scope:global
|
||||
DoPostCameraStuff__7CPlayerFfR13CStateManager = .text:0x80010DAC; // type:function size:0x1D4 scope:global
|
||||
__as__16CPlayerCameraBobFRC16CPlayerCameraBob = .text:0x80010F80; // type:function size:0x270 scope:global
|
||||
SetPlayerHitWallDuringMove__7CPlayerFv = .text:0x800111F0; // type:function size:0x18 scope:global
|
||||
DoSfxEffects__7CPlayerF10CSfxHandle = .text:0x80011208; // type:function size:0x48 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
|
||||
UpdatePhazonCameraShake__7CPlayerFfR13CStateManager = .text:0x8001186C; // type:function size:0x154 scope:global
|
||||
DecrementPhazon__7CPlayerFv = .text:0x800119C0; // type:function size:0x18 scope:global
|
||||
IncrementPhazon__7CPlayerFv = .text:0x800119D8; // type:function size:0x24 scope:global
|
||||
DoPreThink__7CPlayerFfRC13CStateManager = .text:0x800119FC; // type:function size:0x84 scope:global
|
||||
DoThink__7CPlayerFfRC13CStateManager = .text:0x80011A80; // type:function size:0x84 scope:global
|
||||
DecrementEnvironmentDamage__7CPlayerFv = .text:0x800119C0; // type:function size:0x18 scope:global
|
||||
IncrementEnvironmentDamage__7CPlayerFv = .text:0x800119D8; // type:function size:0x24 scope:global
|
||||
DoPreThink__7CPlayerFfR13CStateManager = .text:0x800119FC; // 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
|
||||
SetControlDirectionInterpolation__7CPlayerFf = .text:0x80011B20; // type:function size:0x20 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
|
||||
Touch__7CPlayerFR6CActorR13CStateManager = .text:0x80013284; // type:function size:0x30 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
|
||||
GetExplorationMode__7CPlayerCFv = .text:0x8001388C; // 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
|
||||
CalculateRenderBounds__7CPlayerFv = .text:0x8001445C; // type:function size:0xC0 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
|
||||
UpdateFreeLook__7CPlayerFf = .text:0x8001489C; // type:function size:0x184 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
|
||||
__ct__16CCameraShakeDataFff = .text:0x8015D8AC; // 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
|
||||
__sinit_CCameraShakeData_cpp = .text:0x8015DD30; // type:function size:0x1D4 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
|
||||
lbl_803D9660 = .data:0x803D9840; // type:object size:0x78 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_803D978C = .data:0x803D996C; // type:object size:0x58 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
|
||||
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_804579E8 = .bss:0x80457BC8; // type:object size:0x10 scope:local data:float
|
||||
lbl_804579F8 = .bss:0x80457BD8; // type:object size:0x18 scope:local data:4byte
|
||||
skDown$1100 = .bss:0x80457BC8; // type:object size:0xC scope:local data:float
|
||||
matFilter$1103 = .bss:0x80457BD8; // type:object size:0x18 scope:local data:4byte
|
||||
sAllocSpace$2944 = .bss:0x80457BF0; // type:object size:0x838 scope:local
|
||||
sAllocSpace$2964 = .bss:0x80458428; // type:object size:0x108 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_805A8C78 = .sbss:0x805A8E58; // type:object size:0x1 scope:global data:byte
|
||||
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_805A8C84 = .sbss:0x805A8E64; // type:object size:0x4 scope:global data:float
|
||||
lbl_805A8C88 = .sbss:0x805A8E68; // type:object size:0x1 scope:global data:byte
|
||||
|
|
|
@ -3,17 +3,18 @@
|
|||
|
||||
#include "types.h"
|
||||
|
||||
#include "Collision/CInternalCollisionStructure.hpp"
|
||||
#include "Collision/CMaterialList.hpp"
|
||||
|
||||
#include "Kyoto/IObjectStore.hpp"
|
||||
#include "Kyoto/Math/CAABox.hpp"
|
||||
#include "Kyoto/Math/CTransform4f.hpp"
|
||||
#include "Kyoto/SObjectTag.hpp"
|
||||
|
||||
#include "rstl/single_ptr.hpp"
|
||||
#include "rstl/vector.hpp"
|
||||
|
||||
class CRayCastResult;
|
||||
class CCollisionInfoList;
|
||||
class CInternalCollisionStructure;
|
||||
class CInternalRayCastStructure;
|
||||
class CCollisionInfo;
|
||||
|
||||
|
@ -44,7 +45,7 @@ public:
|
|||
|
||||
virtual uint GetTableIndex() const = 0;
|
||||
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 CalculateLocalAABox() const = 0;
|
||||
virtual FourCC GetPrimType() const = 0;
|
||||
|
@ -62,6 +63,15 @@ public:
|
|||
static void InitEndColliders();
|
||||
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:
|
||||
static int sNumTypes;
|
||||
static bool sInitComplete;
|
||||
|
|
|
@ -217,7 +217,7 @@ public:
|
|||
static void SfxVolume(CSfxHandle handle, uchar volume);
|
||||
static void SfxSpan(CSfxHandle, uchar);
|
||||
|
||||
static bool IsPlaying(const CSfxHandle& handle);
|
||||
static bool IsPlaying(CSfxHandle handle);
|
||||
static void StopSound(CSfxHandle handle);
|
||||
|
||||
static void SetChannel(ESfxChannels);
|
||||
|
|
|
@ -15,6 +15,7 @@ class CTransform4f;
|
|||
|
||||
class CFrustumPlanes {
|
||||
public:
|
||||
CFrustumPlanes() {}
|
||||
CFrustumPlanes(const CTransform4f&, float, float, float, bool, float);
|
||||
|
||||
bool BoxInFrustumPlanes(const CAABox& box) const;
|
||||
|
|
|
@ -17,6 +17,7 @@ public:
|
|||
}
|
||||
void AddValue(const T& value);
|
||||
rstl::optional_object< T > GetAverage() const;
|
||||
rstl::optional_object< T > GetEntry(int idx) const;
|
||||
};
|
||||
|
||||
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
|
||||
|
|
|
@ -3,12 +3,17 @@
|
|||
|
||||
#include "types.h"
|
||||
|
||||
#include "MetroidPrime/CStateManager.hpp"
|
||||
#include "MetroidPrime/CRippleManager.hpp"
|
||||
#include "MetroidPrime/TGameTypes.hpp"
|
||||
|
||||
#include "Kyoto/Math/CVector3f.hpp"
|
||||
|
||||
#include "rstl/reserved_vector.hpp"
|
||||
|
||||
class CScriptWater;
|
||||
class CStateManager;
|
||||
class CVector3f;
|
||||
|
||||
class CFluidPlaneManager {
|
||||
public:
|
||||
|
@ -18,6 +23,9 @@ public:
|
|||
void CreateSplash(TUniqueId splasher, CStateManager& mgr, const CScriptWater& water,
|
||||
const CVector3f& pos, float factor, bool sfx);
|
||||
|
||||
float GetLastSplashDeltaTime(TUniqueId uid) const;
|
||||
float GetLastRippleDeltaTime(TUniqueId uid) const;
|
||||
|
||||
private:
|
||||
class CSplashRecord {
|
||||
float x0_time;
|
||||
|
|
|
@ -93,6 +93,24 @@ public:
|
|||
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();
|
||||
const CTransform4f& IGetTM() const override;
|
||||
CAssetId IGetStringTableAssetId() const override;
|
||||
|
@ -119,13 +137,23 @@ public:
|
|||
|
||||
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:
|
||||
void AllocNewAreaData(int, int);
|
||||
void CullDeadAreaRequests();
|
||||
int VerifyHeader() const;
|
||||
int GetNumPartSizes() const;
|
||||
|
||||
|
||||
enum EPhase {
|
||||
kP_LoadHeader,
|
||||
kP_LoadSecSizes,
|
||||
|
@ -154,36 +182,7 @@ private:
|
|||
bool xf0_28_validated : 1;
|
||||
EPhase xf4_phase;
|
||||
rstl::list< rstl::rc_ptr< CDvdRequest > > xf8_loadTransactions;
|
||||
|
||||
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;
|
||||
rstl::vector< rstl::pair< rstl::auto_ptr< char >, int > > x110_mreaSecBufs;
|
||||
int x120_unk;
|
||||
int x124_secCount;
|
||||
int x128_mreaDataOffset;
|
||||
|
|
|
@ -22,6 +22,9 @@ public:
|
|||
static bool DetectDynamicCollisionBoolean(const CCollisionPrimitive&, const CTransform4f&,
|
||||
const TEntityList&, const CStateManager&);
|
||||
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,
|
||||
const CCollisionPrimitive& prim, const CTransform4f& xf,
|
||||
const CMaterialFilter& filter,
|
||||
|
|
|
@ -66,15 +66,7 @@ public:
|
|||
CModelData();
|
||||
CModelData(const CAnimRes&);
|
||||
CModelData(const CStaticRes&);
|
||||
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(const CModelData& other);
|
||||
~CModelData();
|
||||
|
||||
CAdvancementDeltas AdvanceAnimation(float dt, CStateManager& mgr, TAreaId aid, bool advTree);
|
||||
|
@ -127,9 +119,9 @@ private:
|
|||
bool x14_24_renderSorted : 1;
|
||||
bool x14_25_sortThermal : 1;
|
||||
CColor x18_ambientColor;
|
||||
rstl::optional_object< TCachedToken< CModel > > x1c_normalModel;
|
||||
rstl::optional_object< TCachedToken< CModel > > x2c_xrayModel;
|
||||
rstl::optional_object< TCachedToken< CModel > > x3c_infraModel;
|
||||
rstl::optional_object< TLockedToken< CModel > > x1c_normalModel;
|
||||
rstl::optional_object< TLockedToken< CModel > > x2c_xrayModel;
|
||||
rstl::optional_object< TLockedToken< CModel > > x3c_infraModel;
|
||||
};
|
||||
CHECK_SIZEOF(CModelData, 0x4c)
|
||||
|
||||
|
|
|
@ -3,11 +3,9 @@
|
|||
|
||||
#include "types.h"
|
||||
|
||||
#include "Kyoto/CObjectReference.hpp"
|
||||
#include "Kyoto/CRandom16.hpp"
|
||||
#include "Kyoto/Input/CFinalInput.hpp"
|
||||
#include "Kyoto/Math/CFrustumPlanes.hpp"
|
||||
#include "Kyoto/Math/CVector2f.hpp"
|
||||
#include "Kyoto/Math/CVector2i.hpp"
|
||||
#include "Kyoto/TOneStatic.hpp"
|
||||
#include "Kyoto/TToken.hpp"
|
||||
|
@ -138,6 +136,7 @@ public:
|
|||
const rstl::string& HashInstanceName(CInputStream& in);
|
||||
bool SwapOutAllPossibleMemory();
|
||||
void UpdateObjectInLists(CEntity&);
|
||||
rstl::pair< int, int > CalculateScanPair() const;
|
||||
|
||||
void BuildNearList(TEntityList& nearList, const CVector3f& pos, const CVector3f& dir, float mag,
|
||||
const CMaterialFilter&, const CActor*) const;
|
||||
|
@ -193,6 +192,7 @@ public:
|
|||
CWorldTransManager* WorldTransManager() { return x8c4_worldTransManager.GetPtr(); }
|
||||
const CWorldTransManager* GetWorldTransManager() const { return x8c4_worldTransManager.GetPtr(); }
|
||||
EGameState GetGameState() const { return x904_gameState; }
|
||||
void SetGameState(EGameState state);
|
||||
|
||||
CRandom16* Random() const { return x900_random; }
|
||||
uint GetUpdateFrameIndex() const { return x8d8_updateFrameIdx; }
|
||||
|
|
|
@ -19,6 +19,9 @@ public:
|
|||
const CVector3f& v1, const CVector3f& v2,
|
||||
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:
|
||||
float x0_;
|
||||
};
|
||||
|
|
|
@ -74,7 +74,7 @@ public:
|
|||
void RemoveCameraShaker(int id);
|
||||
CTransform4f GetCurrentCameraTransform(const CStateManager& mgr) const;
|
||||
CVector3f GetGlobalCameraTranslation(const CStateManager& mgr) const;
|
||||
bool IsInFirstPersonCamera() const;
|
||||
bool IsInFPCamera() const;
|
||||
bool IsInterpolationCameraActive() const;
|
||||
bool ShouldBypassInterpolationCamera() const;
|
||||
void SetupInterpolation(const CTransform4f& xf, TUniqueId camId, CVector3f lookPos,
|
||||
|
|
|
@ -162,13 +162,12 @@ public:
|
|||
void AddToRenderer(const CFrustumPlanes&, const CStateManager&) const override;
|
||||
void Render(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;
|
||||
CVector3f GetOrbitPosition(const CStateManager&) const override;
|
||||
CVector3f GetAimPosition(const CStateManager&, float) const override;
|
||||
EWeaponCollisionResponseTypes GetCollisionResponseType(const CVector3f&, const CVector3f&,
|
||||
const CWeaponMode&,
|
||||
int) const override;
|
||||
const CWeaponMode&, int) const override;
|
||||
void DoUserAnimEvent(CStateManager& mgr, const CInt32POINode& node, EUserEventType type,
|
||||
float dt) override;
|
||||
|
||||
|
|
|
@ -15,6 +15,9 @@ public:
|
|||
static const char* GetImagePaneName(uint pane);
|
||||
CScannableObjectInfo(CInputStream& in, uint version);
|
||||
|
||||
CAssetId GetScannableObjectId() const { return x0_scannableObjectId; }
|
||||
float GetTotalDownloadTime() const { return x8_totalDownloadTime; }
|
||||
|
||||
private:
|
||||
struct SBucket {
|
||||
CAssetId x0_texture;
|
||||
|
|
|
@ -40,11 +40,12 @@ public:
|
|||
void SetHelmetAlpha(int);
|
||||
void SetHUDLag(bool);
|
||||
void SetIsHintSystemEnabled(bool);
|
||||
void SetInvertYAxis(bool);
|
||||
void ToggleControls(bool);
|
||||
void ResetControllerAssets(int);
|
||||
void SetControls(int);
|
||||
|
||||
void SetInvertYAxis(bool invert);
|
||||
bool GetInvertYAxis() const { return x68_25_invertY; }
|
||||
void SetIsRumbleEnabled(bool rumble);
|
||||
bool GetIsRumbleEnabled() const { return x68_26_rumble; }
|
||||
|
||||
|
|
|
@ -36,10 +36,11 @@ public:
|
|||
void ReturnToDefault(CStateManager& mgr, float dt, bool setState);
|
||||
void EnterStruck(CStateManager&, float, bool, bool);
|
||||
void DisconnectGrappleBeam();
|
||||
void RenderGrappleBeam(const CStateManager&, const CVector3f&) const;
|
||||
|
||||
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 BeamActive() const { return x3b2_25_beamActive; }
|
||||
bool IsArmMoving() const { return x3b2_27_armMoving; }
|
||||
|
|
|
@ -1,18 +1,34 @@
|
|||
#ifndef _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/TReservedAverage.hpp"
|
||||
#include "Kyoto/TToken.hpp"
|
||||
|
||||
#include "Collision/CCollidableSphere.hpp"
|
||||
#include "Collision/CCollisionInfoList.hpp"
|
||||
|
||||
class CActor;
|
||||
class CActorLights;
|
||||
class CElementGen;
|
||||
class CFinalInput;
|
||||
class CFrustumPlanes;
|
||||
class CGenDescription;
|
||||
class CModelData;
|
||||
class CMorphBallShadow;
|
||||
class CParticleSwoosh;
|
||||
class CPlayer;
|
||||
class CQuaternion;
|
||||
class CRainSplashGenerator;
|
||||
class CStateManager;
|
||||
class CSwooshDescription;
|
||||
|
@ -28,8 +44,6 @@ public:
|
|||
CMorphBall(CPlayer&, float);
|
||||
~CMorphBall();
|
||||
|
||||
float GetBallRadius() const;
|
||||
|
||||
EBallBoostState GetBallBoostState() const;
|
||||
void SetBallBoostState(EBallBoostState state);
|
||||
EBombJumpState GetBombJumpState() const;
|
||||
|
@ -39,10 +53,10 @@ public:
|
|||
void StopSounds();
|
||||
void UpdateEffects(float dt, CStateManager& mgr);
|
||||
void SetBallLightActive(CStateManager& mgr, const bool active);
|
||||
// GetBallToWorld__10CMorphBallCFv global
|
||||
// GetBallRadius__10CMorphBallCFv global
|
||||
// TakeDamage__10CMorphBallFf global
|
||||
// IsProjectile__10CMorphBallCFv weak
|
||||
CTransform4f GetBallToWorld() const;
|
||||
float GetBallRadius() const;
|
||||
void TakeDamage(float damage);
|
||||
bool IsProjectile() const { return x1954_isProjectile; }
|
||||
// LeaveMorphBallState__10CMorphBallFR13CStateManager global
|
||||
// LeaveBoosting__10CMorphBallFv global
|
||||
// CancelBoosting__10CMorphBallFv global
|
||||
|
@ -53,22 +67,22 @@ public:
|
|||
bool GetIsInHalfPipeMode() const;
|
||||
// DampLinearAndAngularVelocities__10CMorphBallFff global
|
||||
// IsClimbable__10CMorphBallCFRC14CCollisionInfo global
|
||||
// FluidFXThink__10CMorphBallFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager global
|
||||
void FluidFXThink(CActor::EFluidState state, CScriptWater& water, CStateManager& mgr);
|
||||
// GetCollidableSphere__10CMorphBallCFv weak
|
||||
// DrawCollisionPrimitive__10CMorphBallCFv global
|
||||
// GetPrimitiveTransform__10CMorphBallCFv global
|
||||
// TouchModel__10CMorphBallCFRC13CStateManager global
|
||||
// Render__10CMorphBallCFRC13CStateManagerPC12CActorLights global
|
||||
void TouchModel(const CStateManager&) const;
|
||||
void Render(const CStateManager&, const CActorLights*) const;
|
||||
// RenderDamageEffects__10CMorphBallCFRC13CStateManagerRC12CTransform4f global
|
||||
// RenderSpiderBallElectricalEffects__10CMorphBallCFv global
|
||||
// RenderEnergyDrainEffects__10CMorphBallCFRC13CStateManager global
|
||||
// RenderMorphBallTransitionFlash__10CMorphBallCFRC13CStateManager global
|
||||
// GetModel__10CMorphBallCFv weak
|
||||
void RenderMorphBallTransitionFlash(const CStateManager&) const;
|
||||
const CModelData& GetModel() const { return *x58_ballModel.get(); }
|
||||
// GetBallContactSurfaceNormal__10CMorphBallCFv weak
|
||||
// PreRender__10CMorphBallFR13CStateManagerRC14CFrustumPlanes global
|
||||
// IsInFrustum__10CMorphBallCFRC14CFrustumPlanes global
|
||||
// GetBallTouchRadius__10CMorphBallCFv global
|
||||
// Touch__10CMorphBallFR6CActorR13CStateManager global
|
||||
void PreRender(CStateManager&, const CFrustumPlanes&);
|
||||
bool IsInFrustum(const CFrustumPlanes&) const;
|
||||
float GetBallTouchRadius() const;
|
||||
void Touch(CActor& actor, CStateManager& mgr);
|
||||
void AcceptScriptMsg(EScriptObjectMessage, TUniqueId, CStateManager&);
|
||||
// DeleteLight__10CMorphBallFR13CStateManager global
|
||||
// EnterMorphBallState__10CMorphBallFR13CStateManager
|
||||
|
@ -115,7 +129,7 @@ public:
|
|||
// GetTouchedHalfPipeRecently__10CMorphBallCFv global
|
||||
// ComputeLiftForces__10CMorphBallFRC9CVector3fRC9CVector3fRC13CStateManager global
|
||||
void UpdateBallDynamics(CStateManager&, float);
|
||||
// BallCloseToCollision__10CMorphBallCFRC13CStateManagerf global
|
||||
bool BallCloseToCollision(const CStateManager& mgr, float dist, const CMaterialFilter& filter) const;
|
||||
// UpdateHalfPipeStatus__10CMorphBallFR13CStateManagerf global
|
||||
// CalculateSurfaceToWorld__10CMorphBallCFRC9CVector3fRC9CVector3fRC9CVector3f global
|
||||
// UpdateMarbleDynamics__10CMorphBallFR13CStateManagerfRC9CVector3f global
|
||||
|
@ -128,6 +142,12 @@ public:
|
|||
void Land();
|
||||
void ResetMorphBallIceBreak();
|
||||
void StopParticleWakes();
|
||||
void EnableBallShadow();
|
||||
void DisableBallShadow();
|
||||
void PreRenderBallShadow(CStateManager&);
|
||||
void SetDisableSpiderBallTime(float time);
|
||||
|
||||
u32 GetMorphballModelShader() const { return x5c_ballModelShader; } // name?
|
||||
|
||||
private:
|
||||
struct CSpiderBallElectricityManager {
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
#include "MetroidPrime/Player/CPlayerState.hpp"
|
||||
|
||||
#include "Kyoto/TReservedAverage.hpp"
|
||||
#include "Kyoto/Math/CRelAngle.hpp"
|
||||
|
||||
#include "rstl/auto_ptr.hpp"
|
||||
#include "rstl/vector.hpp"
|
||||
|
@ -67,6 +66,7 @@ class CPlayer : public CPhysicsActor, public TOneStatic< CPlayer > {
|
|||
};
|
||||
|
||||
CPlayerStuckTracker();
|
||||
~CPlayerStuckTracker();
|
||||
void AddState(EPlayerState, const CVector3f&, const CVector3f&, const CVector2f&);
|
||||
bool IsPlayerStuck();
|
||||
void ResetStats();
|
||||
|
@ -168,7 +168,7 @@ public:
|
|||
const CMaterialList& ml);
|
||||
|
||||
// CEntity
|
||||
~CPlayer() override;
|
||||
// ~CPlayer() override;
|
||||
void Accept(IVisitor& visitor) override;
|
||||
void PreThink(float dt, CStateManager& mgr) override;
|
||||
void Think(float dt, CStateManager& mgr) override;
|
||||
|
@ -215,8 +215,8 @@ public:
|
|||
void SetHudDisable(float staticTimer, float outSpeed = skDefaultHudFadeOutSpeed,
|
||||
float inSpeed = skDefaultHudFadeInSpeed);
|
||||
|
||||
void IncrementPhazon();
|
||||
void DecrementPhazon();
|
||||
void IncrementEnvironmentDamage(); // name?
|
||||
void DecrementEnvironmentDamage(); // name?
|
||||
// GetMovementDirection2D__7CPlayerCFv ??
|
||||
void SetOrbitTargetId(TUniqueId id, CStateManager& mgr);
|
||||
void TryToBreakOrbit(TUniqueId id, EOrbitBrokenType type, CStateManager& mgr);
|
||||
|
@ -256,8 +256,8 @@ public:
|
|||
void UpdateVisorTransition(float dt, CStateManager& mgr);
|
||||
void UpdatePlayerSounds(float dt);
|
||||
bool ShouldSampleFailsafe(CStateManager& mgr) const;
|
||||
bool IsEnergyLow(CStateManager& mgr);
|
||||
bool StartSamusVoiceSfx(ushort sfx, short vol, int prio);
|
||||
bool IsEnergyLow(const CStateManager& mgr) const;
|
||||
const bool StartSamusVoiceSfx(ushort sfx, short vol, int prio);
|
||||
void UpdateVisorState(const CFinalInput& input, float dt, CStateManager& mgr);
|
||||
void UpdateCrosshairsState(const CFinalInput& input);
|
||||
ushort GetMaterialSoundUnderPlayer(CStateManager& mgr, const ushort* table, int length,
|
||||
|
@ -314,6 +314,34 @@ public:
|
|||
CVector3f CalculateLeftStickEdgePosition(float strafeInput, float forwardInput) const;
|
||||
bool AttachActorToPlayer(TUniqueId id, bool disableGun);
|
||||
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(); }
|
||||
const CPlayerGun* GetPlayerGun() const { return x490_gun.get(); }
|
||||
|
@ -356,7 +384,7 @@ public:
|
|||
float GetAverageSpeed() const;
|
||||
float GetGravity() const;
|
||||
|
||||
float GetAttachedActorStruggle() const { return xa28_attachedActorStruggle; }
|
||||
float GetAttachedActorStruggle() const;
|
||||
void SetAttachedActorStruggle(float struggle) { xa28_attachedActorStruggle = struggle; }
|
||||
|
||||
// PlayerHint
|
||||
|
@ -557,7 +585,7 @@ private:
|
|||
float xa04_preThinkDt;
|
||||
CAssetId xa08_steamTextureId;
|
||||
CAssetId xa0c_iceTextureId;
|
||||
uint xa10_envDmgCounter;
|
||||
int xa10_envDmgCounter;
|
||||
float xa14_envDmgCameraShakeTimer;
|
||||
float xa18_phazonDamageLag;
|
||||
float xa1c_threatOverride;
|
||||
|
|
|
@ -7,6 +7,8 @@
|
|||
|
||||
#include "rstl/vector.hpp"
|
||||
|
||||
class CStateManager;
|
||||
|
||||
class CEnergyDrainSource {
|
||||
public:
|
||||
CEnergyDrainSource(TUniqueId src, float intensity);
|
||||
|
@ -26,6 +28,7 @@ public:
|
|||
void AddEnergyDrainSource(TUniqueId id, float intensity);
|
||||
void RemoveEnergyDrainSource(TUniqueId id);
|
||||
float GetEnergyDrainIntensity() const;
|
||||
const rstl::vector< CEnergyDrainSource >& GetEnergyDrainSources() const { return x0_sources; }
|
||||
float GetEnergyDrainTime() const { return x10_energyDrainTime; }
|
||||
void ProcessEnergyDrain(const CStateManager& mgr, float dt);
|
||||
|
||||
|
|
|
@ -22,8 +22,6 @@
|
|||
#include "rstl/string.hpp"
|
||||
#include "rstl/vector.hpp"
|
||||
|
||||
#include "math.h"
|
||||
|
||||
enum EChargeState {
|
||||
kCS_Normal,
|
||||
kCS_Charged,
|
||||
|
@ -142,7 +140,7 @@ public:
|
|||
void UpdateWeaponFire(float, CPlayerState&, CStateManager&);
|
||||
void ResetIdle(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 StopChargeSound(CStateManager&);
|
||||
void CancelFiring(CStateManager&);
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef _CPLAYERSTATE
|
||||
#define _CPLAYERSTATE
|
||||
|
||||
#include "Kyoto/SObjectTag.hpp"
|
||||
#include "types.h"
|
||||
|
||||
#include "MetroidPrime/CHealthInfo.hpp"
|
||||
|
@ -117,7 +118,7 @@ public:
|
|||
void UpdateStaticInterference(CStateManager& stateMgr, const float& dt);
|
||||
void IncreaseScanTime(uint time, float val);
|
||||
void SetScanTime(CAssetId res, float time);
|
||||
float GetScanTime(CAssetId time) const;
|
||||
float GetScanTime(CAssetId res) const;
|
||||
bool GetIsVisorTransitioning() const;
|
||||
float GetVisorTransitionFactor() const;
|
||||
void UpdateVisorTransition(float dt);
|
||||
|
@ -140,6 +141,9 @@ public:
|
|||
float CalculateHealth();
|
||||
void InitializePowerUp(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();
|
||||
|
||||
|
@ -151,9 +155,10 @@ public:
|
|||
const rstl::vector< rstl::pair< CAssetId, float > >& GetScanTimes() const {
|
||||
return x170_scanTimes;
|
||||
}
|
||||
int GetLogScans() const { return x180_scanCompletionRateFirst; }
|
||||
int GetTotalLogScans() const { return x184_scanCompletionRateSecond; }
|
||||
|
||||
CHealthInfo* HealthInfo() { return &xc_health; }
|
||||
|
||||
const CHealthInfo& GetHealthInfo() const { return xc_health; }
|
||||
|
||||
private:
|
||||
|
@ -191,7 +196,7 @@ private:
|
|||
EPlayerSuit x20_currentSuit;
|
||||
rstl::reserved_vector< CPowerUp, 41 > x24_powerups;
|
||||
rstl::vector< rstl::pair< CAssetId, float > > x170_scanTimes;
|
||||
int x180_scanCompletionRateFirst;
|
||||
int x180_scanCompletionRateFirst; // pair?
|
||||
int x184_scanCompletionRateSecond;
|
||||
CStaticInterference x188_staticIntf;
|
||||
};
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
#include "MetroidPrime/CArchMsgParmReal32.hpp"
|
||||
#include "Kyoto/Alloc/CMemory.hpp"
|
||||
|
||||
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::IsInFirstPersonCamera() const {
|
||||
bool CCameraManager::IsInFPCamera() const {
|
||||
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,
|
||||
float maxTime, float positionSpeed, float rotationSpeed,
|
||||
bool sinusoidal, CStateManager& mgr) {
|
||||
if (IsInFirstPersonCamera()) {
|
||||
if (IsInFPCamera()) {
|
||||
return;
|
||||
}
|
||||
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) {
|
||||
const CPlayer& player = *mgr.GetPlayer();
|
||||
|
|
|
@ -514,7 +514,7 @@ void CScriptSpecialFunction::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId
|
|||
case kSF_AreaDamage: {
|
||||
if ((msg == kSM_Deleted || msg == kSM_Deactivate) && x1e4_31_inAreaDamage) {
|
||||
x1e4_31_inAreaDamage = false;
|
||||
mgr.Player()->DecrementPhazon();
|
||||
mgr.Player()->DecrementEnvironmentDamage();
|
||||
mgr.SetIsFullThreat(false);
|
||||
}
|
||||
break;
|
||||
|
@ -1037,7 +1037,7 @@ void CScriptSpecialFunction::ThinkAreaDamage(float dt, CStateManager& mgr) {
|
|||
if (x1e4_31_inAreaDamage) {
|
||||
if (!inArea || immune) {
|
||||
x1e4_31_inAreaDamage = false;
|
||||
mgr.Player()->DecrementPhazon();
|
||||
mgr.Player()->DecrementEnvironmentDamage();
|
||||
SendScriptMsgs(kSS_Exited, mgr, kSM_None);
|
||||
mgr.SetIsFullThreat(false);
|
||||
return;
|
||||
|
@ -1046,7 +1046,7 @@ void CScriptSpecialFunction::ThinkAreaDamage(float dt, CStateManager& mgr) {
|
|||
return;
|
||||
} else {
|
||||
x1e4_31_inAreaDamage = true;
|
||||
mgr.Player()->IncrementPhazon();
|
||||
mgr.Player()->IncrementEnvironmentDamage();
|
||||
SendScriptMsgs(kSS_Entered, mgr, kSM_None);
|
||||
mgr.SetIsFullThreat(true);
|
||||
}
|
||||
|
|
|
@ -49,10 +49,6 @@ void CScriptSteam::Think(float dt, CStateManager& mgr) {
|
|||
if (x148_28_playerTriggerProc && mgr.GetCameraManager()->GetFluidCounter() == 0) {
|
||||
CVector3f eyePos = mgr.GetPlayer()->GetEyePosition();
|
||||
const float mag = (GetTranslation() - eyePos).Magnitude();
|
||||
// const float distance =
|
||||
// (mag >= GetMaxDist()
|
||||
// ? 0.f
|
||||
// : CMath::FastCosR((mag * 1.5707964f /* 90 deg */) * GetOOMaxDist()) * GetStrength());
|
||||
float distance;
|
||||
if (mag >= GetMaxDist()) {
|
||||
distance = 0.f;
|
||||
|
|
|
@ -82,7 +82,7 @@ void CScriptTrigger::Touch(CActor& act, CStateManager& mgr) {
|
|||
|
||||
pl = mgr.Player();
|
||||
if (x148_29_didPhazonDamage) {
|
||||
pl->DecrementPhazon();
|
||||
pl->DecrementEnvironmentDamage();
|
||||
x148_29_didPhazonDamage = false;
|
||||
}
|
||||
if (!x100_damageInfo.HasNoDamage()) {
|
||||
|
@ -94,7 +94,7 @@ void CScriptTrigger::Touch(CActor& act, CStateManager& mgr) {
|
|||
}
|
||||
}
|
||||
if (phazonHurt) {
|
||||
pl->IncrementPhazon();
|
||||
pl->IncrementEnvironmentDamage();
|
||||
x148_29_didPhazonDamage = true;
|
||||
}
|
||||
}
|
||||
|
@ -156,7 +156,7 @@ void CScriptTrigger::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, CS
|
|||
|
||||
CPlayer* player = mgr.Player();
|
||||
if (x148_29_didPhazonDamage) {
|
||||
player->DecrementPhazon();
|
||||
player->DecrementEnvironmentDamage();
|
||||
x148_29_didPhazonDamage = false;
|
||||
}
|
||||
|
||||
|
@ -171,7 +171,7 @@ void CScriptTrigger::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, CS
|
|||
|
||||
CPlayer* player = mgr.Player();
|
||||
if (x148_29_didPhazonDamage) {
|
||||
player->DecrementPhazon();
|
||||
player->DecrementEnvironmentDamage();
|
||||
x148_29_didPhazonDamage = false;
|
||||
}
|
||||
|
||||
|
@ -215,7 +215,7 @@ void CScriptTrigger::UpdateInhabitants(float dt, CStateManager& mgr) {
|
|||
if (x148_28_playerTriggerProc) {
|
||||
x148_28_playerTriggerProc = false;
|
||||
if (x148_29_didPhazonDamage) {
|
||||
mgr.Player()->DecrementPhazon();
|
||||
mgr.Player()->DecrementEnvironmentDamage();
|
||||
x148_29_didPhazonDamage = false;
|
||||
}
|
||||
|
||||
|
@ -266,7 +266,7 @@ void CScriptTrigger::UpdateInhabitants(float dt, CStateManager& mgr) {
|
|||
if (mgr.GetPlayer()->GetUniqueId() == tmpId && x148_28_playerTriggerProc) {
|
||||
x148_28_playerTriggerProc = false;
|
||||
if (x148_29_didPhazonDamage) {
|
||||
mgr.Player()->DecrementPhazon();
|
||||
mgr.Player()->DecrementEnvironmentDamage();
|
||||
x148_29_didPhazonDamage = false;
|
||||
}
|
||||
|
||||
|
@ -282,7 +282,7 @@ void CScriptTrigger::UpdateInhabitants(float dt, CStateManager& mgr) {
|
|||
if (mgr.GetPlayer()->GetUniqueId() == tmpId && x148_28_playerTriggerProc) {
|
||||
x148_28_playerTriggerProc = false;
|
||||
if (x148_29_didPhazonDamage) {
|
||||
mgr.Player()->DecrementPhazon();
|
||||
mgr.Player()->DecrementEnvironmentDamage();
|
||||
x148_29_didPhazonDamage = false;
|
||||
}
|
||||
|
||||
|
|
|
@ -32,6 +32,7 @@ _LITERAL_REPLACEMENTS = [
|
|||
("char16_t", "wchar_t"),
|
||||
("std::min(", "rstl::min_val("),
|
||||
("std::max(", "rstl::max_val("),
|
||||
("constexpr ", "const "),
|
||||
|
||||
("DEFINE_ENTITY", ""),
|
||||
("visitor.Visit(this)", "visitor.Visit(*this)"),
|
||||
|
@ -94,11 +95,19 @@ _LITERAL_REPLACEMENTS = [
|
|||
("EProjectileAttrib::", "kPA_"),
|
||||
("ERumbleFxId::", "kRFX_"),
|
||||
("ERumblePriority::", "kRP_"),
|
||||
("EWhichModel::", "kWM_"),
|
||||
("EArmState::", "kAS_"),
|
||||
("EGameState::", "kGS_"),
|
||||
("EScanState::", "kSS_"),
|
||||
("EWeaponType::", "kWT_"),
|
||||
("EFluidState::", "kFS_"),
|
||||
("EPhazonType::", "kPT_"),
|
||||
|
||||
# CActor
|
||||
("x34_transform.origin", "GetTranslation()"),
|
||||
("x34_transform", "GetTransform()"),
|
||||
("xc4_fluidId", "InFluidId()"),
|
||||
("x90_actorLights.get()", "GetActorLights()"),
|
||||
|
||||
# CPhysicsActor
|
||||
("x138_velocity", "GetVelocityWR()"),
|
||||
|
@ -132,6 +141,8 @@ _RE_REPLACEMENTS = [
|
|||
(re.compile(r"\.([xyz])\(\)"), lambda m: f".Get{m.group(1).upper()}()"),
|
||||
# lhs.dot(rhs) -> CVector3f::Dot(lhs, rhs)
|
||||
(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 sys
|
||||
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 .ninja_syntax import serialize_path
|
||||
|
@ -81,6 +81,18 @@ class Object:
|
|||
set_default("shift_jis", config.shift_jis)
|
||||
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
|
||||
build_dir = config.out_path()
|
||||
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
|
||||
self.progress = True # Enable progress output
|
||||
self.progress = True # Enable CLI progress output
|
||||
self.progress_all: bool = True # Include combined "all" category
|
||||
self.progress_modules: bool = True # Include combined "modules" category
|
||||
self.progress_each_module: bool = (
|
||||
False # Include individual modules, disable for large numbers of modules
|
||||
)
|
||||
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
|
||||
self.progress_use_fancy: bool = False
|
||||
|
@ -1687,7 +1702,11 @@ def calculate_progress(config: ProjectConfig) -> None:
|
|||
|
||||
print_category("All", report_data["measures"])
|
||||
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:
|
||||
measures = report_data["measures"]
|
||||
|
|
Loading…
Reference in New Issue