mirror of
https://github.com/Ultra-NX/UltraNX.git
synced 2024-12-28 03:21:54 +00:00
259 lines
5.4 KiB
YAML
259 lines
5.4 KiB
YAML
# Penny's Big Breakaway 1.1.0
|
|
# BID: 70BD4BC32C10BFFE
|
|
# Game is using double buffer, setting anything between 30 and 60 FPS is unsupported. nvnTextures are stored inside struct with hardcoded size, so adding third entry corrupts struct.
|
|
# For anything else than 30 and 60 FPS we lack Game speed multiplier for 3D objects without skeletons (like coins)
|
|
# Thanks to Hazerou for finding addresses of first two entries
|
|
# Reference nnMain to find function with argument w0 = 0x3C
|
|
|
|
unsafeCheck: true
|
|
|
|
15FPS:
|
|
# bool changing game speed to match 30 FPS
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x1F]
|
|
value_type: uint8
|
|
value: 1
|
|
# FPS Target (dunno what it's used for)
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x1C]
|
|
value_type: uint16
|
|
value: 15
|
|
# Game Speed multiplier #1
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x28]
|
|
value_type: float
|
|
value: 2
|
|
# Game Speed multiplier #2
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x30]
|
|
value_type: float
|
|
value: 2
|
|
20FPS:
|
|
# bool changing game speed to match 30 FPS
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x1F]
|
|
value_type: uint8
|
|
value: 1
|
|
# FPS Target
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x1C]
|
|
value_type: uint16
|
|
value: 20
|
|
# Game Speed multiplier #1
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x28]
|
|
value_type: float
|
|
value: 1.5
|
|
# Game Speed multiplier #2
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x30]
|
|
value_type: float
|
|
value: 1.5
|
|
25FPS:
|
|
# bool changing game speed to match 30 FPS
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x1F]
|
|
value_type: uint8
|
|
value: 1
|
|
# FPS Target
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x1C]
|
|
value_type: uint16
|
|
value: 25
|
|
# Game Speed multiplier #1
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x28]
|
|
value_type: float
|
|
value: 1.2
|
|
# Game Speed multiplier #2
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x30]
|
|
value_type: float
|
|
value: 1.2
|
|
30FPS:
|
|
# bool changing game speed to match 30 FPS (default value)
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x1F]
|
|
value_type: uint8
|
|
value: 1
|
|
# FPS Target (default value)
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x1C]
|
|
value_type: uint16
|
|
value: 30
|
|
# Game Speed multiplier #1 (default value)
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x28]
|
|
value_type: float
|
|
value: 1
|
|
# Game Speed multiplier #2 (default value)
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x30]
|
|
value_type: float
|
|
value: 1
|
|
35FPS:
|
|
# bool changing game speed to match 30 FPS
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x1F]
|
|
value_type: uint8
|
|
value: 0
|
|
# FPS Target
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x1C]
|
|
value_type: uint16
|
|
value: 35
|
|
# Game Speed multiplier #1
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x28]
|
|
value_type: float
|
|
value: 1.7142
|
|
# Game Speed multiplier #2
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x30]
|
|
value_type: float
|
|
value: 1.7142
|
|
40FPS:
|
|
# bool changing game speed to match 30 FPS
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x1F]
|
|
value_type: uint8
|
|
value: 0
|
|
# FPS Target
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x1C]
|
|
value_type: uint16
|
|
value: 40
|
|
# Game Speed multiplier #1
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x28]
|
|
value_type: float
|
|
value: 1.5
|
|
# Game Speed multiplier #2
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x30]
|
|
value_type: float
|
|
value: 1.5
|
|
45FPS:
|
|
# bool changing game speed to match 30 FPS
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x1F]
|
|
value_type: uint8
|
|
value: 0
|
|
# FPS Target
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x1C]
|
|
value_type: uint16
|
|
value: 45
|
|
# Game Speed multiplier #1
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x28]
|
|
value_type: float
|
|
value: 1.3333333333
|
|
# Game Speed multiplier #2
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x30]
|
|
value_type: float
|
|
value: 1.3333333333
|
|
50FPS:
|
|
# bool changing game speed to match 30 FPS
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x1F]
|
|
value_type: uint8
|
|
value: 0
|
|
# FPS Target
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x1C]
|
|
value_type: uint16
|
|
value: 50
|
|
# Game Speed multiplier #1
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x28]
|
|
value_type: float
|
|
value: 1.2
|
|
# Game Speed multiplier #2
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x30]
|
|
value_type: float
|
|
value: 1.2
|
|
55FPS:
|
|
# bool changing game speed to match 30 FPS
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x1F]
|
|
value_type: uint8
|
|
value: 0
|
|
# FPS Target
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x1C]
|
|
value_type: uint16
|
|
value: 55
|
|
# Game Speed multiplier #1
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x28]
|
|
value_type: float
|
|
value: 1.0909090909
|
|
# Game Speed multiplier #2
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x30]
|
|
value_type: float
|
|
value: 1.0909090909
|
|
60FPS:
|
|
# bool changing game speed to match 30 FPS
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x1F]
|
|
value_type: uint8
|
|
value: 0
|
|
# FPS Target
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x1C]
|
|
value_type: uint16
|
|
value: 60
|
|
# Game Speed multiplier #1
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x28]
|
|
value_type: float
|
|
value: 1
|
|
# Game Speed multiplier #2
|
|
-
|
|
type: write
|
|
address: [MAIN, 0xFE5B20, 0x30]
|
|
value_type: float
|
|
value: 1 |