Last active
December 19, 2024 21:02
-
-
Save MarkusMaal/cd636c0253b2206cbc572ca004e2e2e3 to your computer and use it in GitHub Desktop.
Ball teleportation hacks in Flipnic
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| *** 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