News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Super Monkey Ball Hacking!  (Read 6716 times)

Yoshimaster96

  • Jr. Member
  • **
  • Posts: 26
    • View Profile
Super Monkey Ball Hacking!
« on: June 14, 2014, 01:58:30 pm »
I know I originally posted this in the screenshots/videos thread, but I thought I'd give it its own thread. Also, I'll explain in more detail.
This is my first attempt, where I found out that the collision wasn't quite right. I later found that the collision was in a separate file:


This is my attempt at vertex shading. Stages such as Master 2 use this:

This is my custom texture test. You can tell what it's a picture of:

I tried SMB2, the files were exactly the same:


I later edited the lz file (which is compressed). My first attempts crashed the game, but later attempts I placed some objects.

Note that none of these have the correct collision, or in the case of the last one, has no collision at all. And there you have it. Me hacking Super Monkey Ball! Seriously!
« Last Edit: June 14, 2014, 09:43:02 pm by Yoshimaster96 »

MrDonoB

  • Newbie
  • *
  • Posts: 1
    • View Profile
Re: Super Monkey Ball Hacking!
« Reply #1 on: June 16, 2014, 08:39:22 pm »
:D
I've waited so long for this day.

Yoshimaster96

  • Jr. Member
  • **
  • Posts: 26
    • View Profile
Re: Super Monkey Ball Hacking!
« Reply #2 on: June 18, 2014, 05:37:54 pm »
Test level collision (if anyone wants to help), stage is 10x10 units:
-5
0
-5
0
1
0
C0010000
C0010000
10
0
10
10
-1
0
0.71
-0.71

-5
0
-5
0
1
0
C0010000
E0010000
14.14
0
14.14
14.14
-0.71
-0.71
0.71
-0.71

Yoshimaster96

  • Jr. Member
  • **
  • Posts: 26
    • View Profile
Re: Super Monkey Ball Hacking!
« Reply #3 on: June 29, 2014, 07:11:27 pm »
Updated GMA/TPL specification can be found here.

IN NEED OF RECRUITS!
The following will be marked if taken:

Sketchup GMA/TPL exporter plugin
Blender GMA/TPL exporter plugin
LZ decoding/tying up loose ends (collision and moving platforms, SMB2)

PM me for any further questions.

Percy Mere

  • Newbie
  • *
  • Posts: 2
    • View Profile
Re: Super Monkey Ball Hacking!
« Reply #4 on: June 30, 2014, 08:19:17 pm »
F-Zero GX uses the same monkey ball engine, maybe you've also found a way to change those levels too  ;D

Also; have you tried importing the extra levels from Monkey Ball Deluxe into Super Monkey Ball 2?

Yoshimaster96

  • Jr. Member
  • **
  • Posts: 26
    • View Profile
Re: Super Monkey Ball Hacking!
« Reply #5 on: June 30, 2014, 10:07:38 pm »
F-Zero GX uses the same monkey ball engine, maybe you've also found a way to change those levels too  ;D

Also; have you tried importing the extra levels from Monkey Ball Deluxe into Super Monkey Ball 2?
As for F-Zero GX, I have not done anything with that game, although if anyone knows the collision format for that game, let me know. It could be similar to Super Monkey Ball's. As for SMBDX, I haven't investigated that game (and probably won't).

Percy Mere

  • Newbie
  • *
  • Posts: 2
    • View Profile
Re: Super Monkey Ball Hacking!
« Reply #6 on: July 01, 2014, 05:34:58 pm »
As for F-Zero GX, I have not done anything with that game, although if anyone knows the collision format for that game, let me know. It could be similar to Super Monkey Ball's. As for SMBDX, I haven't investigated that game (and probably won't).

F-Zero GX uses the same GMA and TPL format as Monkey Ball, but with an .lz appended to them (as in selst14.gma.lz) Super Monkey Ball Deluxe is just Monkey Ball 1 and 2 together plus extra levels for other consoles, uses the exact same format as monkey ball for gamecube but little endian opposed to big endian.

Yoshimaster96

  • Jr. Member
  • **
  • Posts: 26
    • View Profile
Re: Super Monkey Ball Hacking!
« Reply #7 on: July 19, 2014, 03:29:56 pm »
So, would anyone like to help me out with this encrypted collision?

Floats:

-6.05
-6.05
0.76
0.76

-5
0
-5
0
1
0
-2.01
-2.01
10
0
10
10
-1
0
0.71
-0.71

-5
0
-5
0
1
0
-2.01
-37181718523570814976
14.14
0
14.14
14.14
-0.71
-0.71
0.71
-0.71

Hex values:

C0C1999A
C0C1999A
3F41999A
3F41999A

C0A00000
00000000
C0A00000
00000000
3F800000
00000000
C0010000
C0010000
41200000
B58637BD
41200001
411FFFFF
BF800000
00000000
3F3504F7
BF3504F7

C0A00000
00000000
C0A00000
00000000
3F800000
00000000
C0010000
E0010000
4162462F
B58637BD
40E24630
40E2462E
BF3504F7
BF3504F7
3F3504F7
BF3504F7

Also, this site may be useful:

July 26, 2014, 11:56:48 am - (Auto Merged - Double Posts are not allowed before 7 days.)
F-Zero GX uses the same GMA and TPL format as Monkey Ball, but with an .lz appended to them (as in selst14.gma.lz) Super Monkey Ball Deluxe is just Monkey Ball 1 and 2 together plus extra levels for other consoles, uses the exact same format as monkey ball for gamecube but little endian opposed to big endian.
So is the collision retrieved from the gma, or from elsewhere? Is the format known?
« Last Edit: July 26, 2014, 11:56:48 am by Yoshimaster96 »

Yoshimaster96

  • Jr. Member
  • **
  • Posts: 26
    • View Profile
Re: Super Monkey Ball Hacking!
« Reply #8 on: July 31, 2014, 07:42:47 pm »
Here's a quick tutorial on how to decompress the game's lz files:

You'll need this program and a hex editor. Delete the first 4 bytes of the lz file to be compressed. Then, decompress the resulting file with LZSCDec.exe. And you're finished! To compress, load the file with LZSCDec.exe, compress, then with the hex editor, change the first 4 bytes to 8 bytes with the format:
4 byte little endian compressed size,
4 byte little endian decompressed size.

I'm still stumped on the collision :banghead: , so if you'd like to lend a hand, you know what to do.

Yoshimaster96

  • Jr. Member
  • **
  • Posts: 26
    • View Profile
Re: Super Monkey Ball Hacking!
« Reply #9 on: September 25, 2014, 06:26:54 pm »
Tried:

-1
-1
1
1

-1
0
-1
0
1
0
-1
-1
1
-1
1
1
-1
0
1
-1

and got:

(-1,0,1),(0,0,0),(-2,0,0).

Also, replacing -1,-1,1,1 with -2,-2,2,2 gives me the same results.

Yoshimaster96

  • Jr. Member
  • **
  • Posts: 26
    • View Profile
Re: Super Monkey Ball Hacking!
« Reply #10 on: November 16, 2014, 01:01:49 pm »
YAY! I FINALLY CRACKED THE COLLISION !!!1!!11!!11one
But it's so glitchy that the ball falls through the floor at random places :banghead: