Skip to content

Instantly share code, notes, and snippets.

@MarkusMaal
Last active December 19, 2024 21:02
Show Gist options
  • Select an option

  • Save MarkusMaal/cd636c0253b2206cbc572ca004e2e2e3 to your computer and use it in GitHub Desktop.

Select an option

Save MarkusMaal/cd636c0253b2206cbc572ca004e2e2e3 to your computer and use it in GitHub Desktop.
Ball teleportation hacks in Flipnic
*** Flipnic research : Ball teleportation ***
The ball can be teleported to a specific area by changing the value at specified offset to something else. This offset is different depending on the stage and its variant.
You can use these offsets and values by doing the following:
1. Locate the stage you are currently trying to play
2. Copy its offset
3. Open PCSX2 Debugger while the game is running and stage has loaded
4. Press Ctrl+G to go to an offset
5. Paste the copied offset and press Enter
6. Copy a value for one of the areas and paste it at the offset
7. Your ball will be forcibly teleported to that area
Note: These values are for PAL version only. NTSC versions will have different offsets, however you can search for array of byte using PCSX2 developer tools and specify value of 5F00464F30, then double click on the last result, see what offset it's found at and add 0x95 to it. The position value should be 16 bytes and last four bytes should be 00 00 80 3F. And while looking at PCSX2 debugger memory view, 0x20 bytes earlier, the first 2-4 bytes should be constantly changing. Generally speaking, if you find one offset for your version of the game, you can find the delta between my offset and your offset and that should be the difference at least for that particular stage.
*** FAQ ***
Q: What do these values store?
A: XYZ coordinates and rotation.
Q: What happens if you put wrong value to wrong stage?
A: Most likely the ball will fall to the void and respawn at a random area.
Q: Can I teleport while a mission event is active?
A: Yes. The teleportation will work.
Q: Can I teleport during multiball mode?
A: Sort of. The "primary ball" will teleport, while the rest will not change their position.
Q: Does the game store these values in file somewhere?
A: Yes, it does! Positions of all objects are stored in .LAY files. For ball spawn points with a ring plunger, look for "ROT_BALLSET" sections.
*** Biology : 12F19C0 (A) / 1341DD0 (B) ***
// Spawn 1
FFFFF243000040C00000F443
// Initial spawn
C1D0D94300005442DC271944
// Upside down bumpers
A740DC43FFFF1F41A7C60944
// Bumper village
1454E043FFFF5342EA640444
// Multiball (tree)
C6A71D44A1E9DB4066740744
// Multiball (area)
61232944FFFF7F3F32BF0C44
// Junction
8CD215440000E041270F2044
// Butterfly area
00800A440000A0C000800244
// Ramp trigger
B8B1F2439CC50641492C0644
// Mountain
AE35F443361B524122A10944
// ZeroG trigger
FF7FF143C9C7A242A8991144
// ZeroG spawn
004035440000803F0000C743
// Alligators
80F4F343F9BAC8C1A06BC443
// Hungry Monkey/Color Puzzle spawn
B38CF243000040C02B5FFF43
*** Metallurgy : 15131E0 (A) / 1536BF0 (B) ***
// Shaft area spawn 1
F1303A44000000424F131C44
// Shaft area spawn 2
FEAA2B4400008042BFC43244
// Shoot down the shafts 1
459329440500004200CF2344
// Shoot down the shafts 2
2D803D440500004289A93744
// Main area spawn (magenta)
2D6748440000C0A53E020A44
// Main area spawn (green)
C2FD53440000C0A52D670C44
// Main area spawn (blue)
D39851440000C0A5C2FD1744
// Main area spawn (towers)
3E0246440000C0A5D3981544
// UFO area spawn 1
006071440000803FD52C2A44
// UFO area spawn 2
D52C52440000803F00A03C44
// Show Time
6DF268441E95514091923444
// Teleport spawn (green)
34B35044CDCC4C3E9A590F44
// Spider crab area
A4F93B44BF00803FFFBFFE43
// Crab baby area 1
34D32844B6FFC7410140DA43
// Crab baby area 2
A51929441B005041FF3FFF43
// Exit spider crab area
4DE12F44A2A0683F2C6DFF43
// ZeroG trigger
235A4B4420CF7D3F85AB1544
// ZeroG trigger 2
4B714B440278CF3F110E1544
// Zero Gravity
00405D44000024C20000EF43
*** Optics : 10F2DE0 (A) / 10E65E0 (B) ***
// Main spawn
9699FF430000803FD80CF043
// The area between non-stop area and loop the loop
69A6DB430000803F71860E44
// Loop the loop
FDFFF043000080C000401944
// South-west of main spawn
00C0F2430000803FAAD9DD43
// The area between loop the loop and crab babies
FF9F0444BF00803F60C61144
// Crab baby area
00C00D44BF00803F00001B44
// South-east of main spawn, south-west of bumper village
00600D440000803FAAD9DD43
// Bumper Area (drop)
7A8B13444273D340CD76F343
// Bumper Area (respawn)
680616440000803FAC59F343
// Bumper Area exit (drop)
C2DC0E442914CD40A83B1A44
// West of main spawn
00C0F2430000803FD5EC0244
// Non-stop area (drop)
D4D0CD430100004133330944
// Non-stop area (re-spawn)
00C0D7430000A0C0AAD9EE43
// Non-stop area (top)
F16FCB430100803F81621744
// Non-stop area (danger pit)
4549CA4311263AC08486EF43
// Non-stop area (trick shot)
F32EDC43CF86CDBFA25A0344
// Multiball (bumpers)
403405440100803F968B0144
// Zero Gravity
00402B440000803F00801A44
*** Geometry : B90660 (A) ***
// Spawn 1
00002C440000803F00400E44
// Spawn 2
000038440000803F00400544
// Spawn 3
00402D440000803F0080F743
// Spawn 4
004034440000803F0080F743
// Area 74 (Spawn 1)
00C026440000803F00004744
// Area 74 (Spawn 2)
00C037440000803F00004744
// Galaxy Tennis
0000F0430000803F00000744
** Evolution : EE03D0 (A) / 124B370 (B) / C58370 (C) / 1229370 (D) **
// Locator pattern (for finding offsets on non-PAL regions): 00 00 A8 42 00 00 80 3F 00 00 B4 42 00 00 80 3F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 3F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 3F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 3F 00 00 00 00
// Spawn
0000A8420000803F0000B442
** Biology 2P : 81F1B0 **
// Locator pattern (for finding offset on non-PAL region, same method for other 2P modes, except replace the spawn point at the beginning): 02 00 C8 42 00 00 80 3F 07 00 34 43 00 00 80 3F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 3F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 3F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 3F 00 00 00 00
// Spawn
0200C8420000803F07003443
** Metallurgy 2P : 843490 **
// Spawn
000082430000803FC4192943
** Optics 2P : 81AC90 **
// Spawn
0800C8420000803F0300A443
** Geometry 2P : 6D7230 **
// Spawn
000096430000803F00009643
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment