Tweaks (Metroid Prime)

Revision as of 13:18, 7 October 2021 by Encounter (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The tweaks system allows for easy modification of different game values that would normally be hardcoded. In Metroid Prime, this is handled by the CTWK files located in Tweaks.Pak. The tweaks are loaded on startup. Things that can be modified through the tweaks includes:

  • The amount and type of damage done by each weapon
  • The Hard Mode damage multiplier
  • The field of view
  • The world pak prefix

...and a lot more.

CTWK List

These are all the CTWK files:

File Name
1d180d7c.CTWK Particle
264a4972.CTWK Player
33b3323a.CTWK GunRes
39ad28d3.CTWK CameraBob
3faec012.CTWK PlayerControls2
5ed56350.CTWK Ball
5f24eff8.CTWK SlideShow
6907a32d.CTWK PlayerGun
85ca11e9.CTWK PlayerRes
94c76ecd.CTWK Targeting
953a7c63.CTWK Game
c9954e56.CTWK GuiColors
e66a4f86.CTWK AutoMapper
ed2e48a9.CTWK Gui
f1ed8fd7.CTWK PlayerControls

Game

Offset Type Description Value
0x0 string World pak prefix "Metroid"
0x8 string Unknown "ruin_area22"
0x14 float Field of View 55.0
0x18 bool Unknown true
0x19 bool Unknown false
0x1A bool Unknown true
0x1B bool Disable Splash Screens; Game hard codes this value to false. true
0x1C float Unknown 25.0
0x20 float Press Start Delay 1.0
0x24 float Normal Water Wavecap Intensity 450.0
0x28 float Poison Water Wavecap Intensity 400.0
0x2C float Lava Wavecap Intensity 1750.0
0x30 float Normal Water Ripple Intensity 1.0
0x34 float Poison Water Ripple Intensity 1.2
0x38 float Lava Ripple Intensity 0.5
0x3C float Fluid Environment Bump Scale 0.25
0x40 float Unknown 30.0
0x44 float Unknown 125.0
0x48 float Unknown 150.0
0x4C float Unknown 300.0
0x50 float Hard Mode damage multiplier 1.53
0x54 float Hard Mode weapons multiplier 0.5


Player

Offset Type Description Value
0x0 float MaxTranslationalAcceleration0 35000.0
0x4 float MaxTranslationalAcceleration1 8000.0
0x8 float MaxTranslationalAcceleration2 35000.0
0xC float MaxTranslationalAcceleration3 35000.0
0x10 float MaxTranslationalAcceleration4 20000.0
0x14 float MaxTranslationalAcceleration5 20000.0
0x18 float MaxTranslationalAcceleration6 20000.0
0x1C float MaxTranslationalAcceleration7 20000.0
0x20 float MaxRotationalAcceleration0 14000.0
0x24 float MaxRotationalAcceleration1 14000.0
0x28 float MaxRotationalAcceleration2 14000.0
0x2C float MaxRotationalAcceleration3 14000.0
0x30 float MaxRotationalAcceleration4 14000.0
0x34 float MaxRotationalAcceleration5 14000.0
0x38 float MaxRotationalAcceleration6 14000.0
0x3C float MaxRotationalAcceleration7 14000.0
0x40 float TranslationFriction0; Ground Translation Friction 1.0
0x44 float TranslationFriction1; Air Translation Friction 0.75
0x48 float TranslationFriction2 1.0
0x4C float TranslationFriction3 1.0
0x50 float TranslationFriction4 1.0
0x54 float TranslationFriction5 1.0
0x58 float TranslationFriction6 1.0
0x5C float TranslationFriction7 1.0
0x60 float RotationFriction0; Ground Rotation Friction 0.44999999
0x64 float RotationFriction1; Air Rotation Friction 0.44999999
0x68 float RotationFriction2 0.44999999
0x6C float RotationFriction3 0.44999999
0x70 float RotationFriction4 0.44999999
0x74 float RotationFriction5 0.44999999
0x78 float RotationFriction6 0.44999999
0x7C float RotationFriction7 0.44999999
0x80 float RotationMaxSpeed0; Ground Rotation Max Speed 2.5
0x84 float RotationMaxSpeed1; Air Rotation Max Speed 2.5
0x88 float RotationMaxSpeed2 2.5
0x8C float RotationMaxSpeed3 2.5
0x90 float RotationMaxSpeed4 2.5
0x94 float RotationMaxSpeed5 2.5
0x98 float RotationMaxSpeed6 2.5
0x9C float RotationMaxSpeed7 2.5
0xA0 float TranslationMaxSpeed0 16.5
0xA4 float TranslationMaxSpeed1 16.5
0xA8 float TranslationMaxSpeed2 16.5
0xAC float TranslationMaxSpeed3 16.5
0xB0 float TranslationMaxSpeed4 12.5
0xB4 float TranslationMaxSpeed5 12.5
0xB8 float TranslationMaxSpeed6 12.5
0xBC float TranslationMaxSpeed7 12.5
0xC0 float NormalGravityAccel -35.0
0xC4 float FluidGravityAccel -10.0
0xC8 float VerticalJumpAccel 50.0
0xCC float HorizontalJumpAccel 50.0
0xD0 float VerticalDoubleJumpAccel 60.0
0xD4 float HorizontalDoubleJumpAccel 60.0
0xD8 float WaterJumpFactor 0.37
0xDC float WaterBallJumpFactor 0.37
0xE0 float LavaJumpFactor 0.37
0xE4 float LavaBallJumpFactor 0.37
0xE8 float PhazonJumpFactor 0.37
0xEC float PhazonBallJumpFactor 0.37
0xF0 float AllowedJumpTime 0.235
0xF4 float AllowedDoubleJumpTime 0.1
0xF8 float MinDoubleJumpWindow 0.0
0xFC float MaxDoubleJumpWindow 2.0
0x100 float Unknown 0.0
0x104 float MinJumpTime 0.235
0x108 float MinDoubleJumpTime 0.1
0x10C float AllowedLedgeTime 0.050000001
0x110 float DoubleJumpImpulse 8.0
0x114 float BackwardsForceMultiplier 1.0
0x118 float BombJumpRadius 7.9000001
0x11C float BombJumpHeight 1.5
0x120 float EyeOffset 0.2
0x124 float TurnSpeedMultiplier 1.0
0x128 float FreeLookTurnSpeedMultiplier 1.0
0x12C float HorizontalFreeLookAngleVel 100.0
0x130 float VerticalFreeLookAngleVel 70.0
0x134 float FreeLookSpeed 100.0
0x138 float FreeLookSnapSpeed 200.0
0x13C float Unknown 5.0
0x140 float FreeLookCenteredThresholdAngle 0.1
0x144 float FreeLookCenteredTime 0.25
0x148 float FreeLookDampenFactor 80.0
0x14C float LeftDiv 1.0
0x150 float RightDiv 1.0
0x154 bool FreeLookTurnsPlayer true
0x155 bool Unknown true
0x156 bool Unknown false
0x157 bool MoveDuringFreeLook false
0x158 bool HoldButtonsForFreeLook true
0x159 bool TwoButtonsForFreeLook false
0x15A bool Unknown false
0x15B bool Unknown false
0x15C bool Unknown true
0x15D bool AimWhenOrbitingPoint true
0x15E bool StayInFreeLookWhileFiring true
0x15F bool Unknown true
0x160 bool Unknown false
0x161 bool OrbitFixedOffset false
0x162 bool GunButtonTogglesHolster false
0x163 bool GunNotFiringTogglesHolster true
0x164 bool FallingDoubleJump false
0x165 bool ImpulseDoubleJump true
0x166 bool FiringCancelsCameraPitch true
0x167 bool AssistedAimingIgnoreHorizontal true
0x168 bool AssistedAimingIgnoreVertical true
0x169 float Unknown 0.1
0x16D float Unknown 0.25
0x171 float AimMaxDistance 100.0
0x175 float Unknown 30.0
0x179 float Unknown 30.0
0x17D float Unknown 50.0
0x181 float Unknown 60.0
0x185 float Unknown 110.0
0x189 float AimThresholdDistance 5.0
0x18D float Unknown 360.0
0x191 float Unknown 10.0
0x195 float AimBoxWidth 20.0
0x199 float AimBoxHeight 10.0
0x19D float AimTargetTimer 0.0099999998
0x1A1 float AimAssistHorizontalAngle 5.0
0x1A5 float AimAssistVerticalAngle 5.0
0x1A9 float OrbitMinDistance0 27.0
0x1AD float OrbitNormalDistance0 75.0
0x1B1 float OrbitMaxDistance0 100.0
0x1B5 float OrbitMinDistance1 27.0
0x1B9 float OrbitNormalDistance1 75.0
0x1BD float OrbitMaxDistance1 100.0
0x1C1 float OrbitMinDistance2 2.5
0x1C5 float OrbitNormalDistance2 75.0
0x1C9 float OrbitMaxDistance2 100.0
0x1CD float Unknown 360.0
0x1D1 float OrbitModeTimer 0.2
0x1D5 float OrbitCameraSpeed 360.0
0x1D9 float OrbitUpperAngle 70.0
0x1DD float OrbitLowerAngle 70.0
0x1E1 float OrbitHorizAngle 45.0
0x1E5 float Unknown 25.0
0x1E9 float Unknown 25.0
0x1ED float OrbitMaxTargetDistance 100.0
0x1F1 float OrbitMaxLockDistance 100.0
0x1F5 float OrbitDistanceThreshold 2.0
0x1F9 int OrbitScreenBoxHalfExtentX0 180
0x1FD int OrbitScreenBoxHalfExtentY0 180
0x201 int OrbitScreenBoxCenterX0 320
0x205 int OrbitScreenBoxCenterY0 224
0x209 int OrbitZoneIdealX0 320
0x20D int OrbitZoneIdealY0 224
0x211 int OrbitScreenBoxHalfExtentX1 126
0x215 int OrbitScreenBoxHalfExtentY1 44
0x219 int OrbitScreenBoxCenterX1 320
0x21D int OrbitScreenBoxCenterY1 224
0x221 int OrbitZoneIdealX1 320
0x225 int OrbitZoneIdealY1 224
0x229 float OrbitNearX 20.0
0x22D float OrbitNearZ 10.0
0x231 float Unknown 3.0
0x235 float Unknown 6.0
0x239 float OrbitFixedOffsetZDiff 0.2
0x23D float OrbitZRange 0.2
0x241 float Unknown 5.0
0x245 float Unknown 90.0
0x249 float Unknown 2.0
0x24D float OrbitPreventionTime 2.0
0x251 bool DashEnabled true
0x252 bool DashOnButtonRelease true
0x253 float DashButtonHoldCancelTime 0.30000001
0x257 float DashStrafeInputThreshold 0.40000001
0x25B float SidewaysDoubleJumpImpulse 8.0
0x25F float SidewaysVerticalDoubleJumpAccel 5.0
0x263 float SidewaysHorizontalDoubleJumpAccel 50.0
0x267 float ScanningRange 50.0
0x26B bool ScanRetention true
0x26C bool ScanFreezesGame true
0x26D bool OrbitWhileScanning true
0x26E float ScanMaxTargetDistance 100.0
0x272 float ScanMaxLockDistance 100.0
0x276 float OrbitDistanceMax 25.0
0x27A float GrappleSwingLength 10.0
0x27E float GrappleSwingPeriod 3.3
0x282 float GrapplePullSpeedMin 23.0
0x286 float GrappleCameraSpeed 90.0
0x28A float MaxGrappleLockedTurnAlignDistance 0.5
0x28E float GrapplePullSpeedProportion 2.0
0x292 float GrapplePullSpeedMax 30.0
0x296 float GrappleLookCenterSpeed 90.0
0x29A float MaxGrappleTurnSpeed 35.0
0x29E float GrappleJumpForce 13.0
0x2A2 float GrappleReleaseTime 1.0
0x2A6 int GrappleJumpMode 2
0x2AA bool OrbitReleaseBreaksGrapple true
0x2AB bool InvertGrappleTurn true
0x2AC float GrappleBeamSpeed 30.0
0x2B0 float GrappleBeamXWaveAmplitude 0.25
0x2B4 float GrappleBeamZWaveAmplitude 0.125
0x2B8 float GrappleBeamAnglePhaseDelta 0.875
0x2BC float PlayerHeight 2.7
0x2C0 float PlayerXYHalfExtent 0.5
0x2C4 float StepUpHeight 1.0
0x2C8 float StepDownHeight 0.80000001
0x2CC float PlayerBallHalfExtent 0.69999999
0x2D0 float FirstPersonCameraSpeed 60.0
0x2D4 float Unknown 0.0
0x2D8 float JumpCameraPitchDownStart 0.1
0x2DC float JumpCameraPitchDownFull 4.0
0x2E0 float JumpCameraPitchDownAngle 73.0
0x2E4 float FallCameraPitchDownStart 0.30000001
0x2E8 float FallCameraPitchDownFull 4.0
0x2EC float FallCameraPitchDownAngle 73.0
0x2F0 float Unknown 2.0
0x2F4 float Unknown 1.5
0x2F8 float Unknown 0.5
0x2FC bool Unknown true
0x2FD float FrozenTimeout 18.0
0x301 int IceBreakJumpCount 4
0x305 float VariaDamageReduction 0.1
0x309 float GravityDamageReduction 0.2
0x30D float PhazonDamageReduction 0.5