Sonic and Sega Retro Message Board: Sonic Battle Hacking - Sonic and Sega Retro Message Board

Jump to content

Hey there, Guest!  (Log In · Register) Help
  • 2 Pages +
  • 1
  • 2
    Locked
    Locked Forum

Sonic Battle Hacking Sonic Battle Hacking Tools (ayy we got sprite mods)

#16 User is offline n00neimp0rtant 

Posted 04 January 2016 - 11:51 AM

  • EYES ONLY
  • Posts: 262
  • Joined: 24-January 08
  • Gender:Male
  • Location:South Park, PA
  • Project:Creation Kit (Skyrim mods and patches)
  • Wiki edits:1
As far as hacking this game is concerned, I'm probably more interested in any unused assets/strings/stuff you might be able to uncover. Sonic Battle doesn't even have a "game secrets" page on the wiki yet.

#17 User is offline Phase 

Posted 22 January 2017 - 02:21 AM

  • Posts: 12
  • Joined: 02-August 15
  • Gender:Male
  • Project:Sonic Battle Hacking Suite
Posted Image

This is a gif by Nadyr that was created by writing the following spritesheet to the ROM.

Posted Image

You can rip the spritesheet from the ROM, edit the sprites and the palette, upload them, and write them to the ROM.

Posted Image

You can download the latest version on GitHub!

#18 User is offline Phase 

Posted 25 November 2017 - 07:34 AM

  • Posts: 12
  • Joined: 02-August 15
  • Gender:Male
  • Project:Sonic Battle Hacking Suite
It's been a while, but the editor has grown a lot! Every animation is editable. Here are some examples.

Posted Image

You can view these gifs on the website.

There's a Discord Server with a small community forming.

All the code is on GitHub as always.
This post has been edited by Phase: 15 January 2018 - 06:27 PM

#19 User is offline Aquaslash 

Posted 03 December 2017 - 06:41 AM

  • Emerald Dragoon
  • Posts: 2817
  • Joined: 17-November 04
  • Gender:Male
  • Location:Hampton, VA
  • Project:The S Factor: Sonia and Silver
  • Wiki edits:1,144
That's motivation to do some spritesheets if there ever was one. Though I'm only guessing the obligatory Metal Sonic hack is mod since he's really popular among moddrs

#20 User is offline Phase 

Posted 05 December 2017 - 07:48 PM

  • Posts: 12
  • Joined: 02-August 15
  • Gender:Male
  • Project:Sonic Battle Hacking Suite

View PostAquaslash, on 03 December 2017 - 06:41 AM, said:

That's motivation to do some spritesheets if there ever was one. Though I'm only guessing the obligatory Metal Sonic hack is mod since he's really popular among moddrs


No one has made a Metal Sonic mod yet, the ones that are showcased on the website and pinned in the Discord server are the only ones out there.

#21 User is offline Phase 

Posted 03 July 2018 - 06:22 PM

  • Posts: 12
  • Joined: 02-August 15
  • Gender:Male
  • Project:Sonic Battle Hacking Suite
Posted Image
Glimmericious just got this working. This isn't in the editor yet but inserting compressed sprites will be added soon.

Here are some more examples of mods created with the suite:

Posted Image
Posted Image

Here are some links:

Download the Sonic Battle Hack Suite
Join the Discord!


#22 User is offline Phase 

Posted 30 July 2018 - 07:03 PM

  • Posts: 12
  • Joined: 02-August 15
  • Gender:Male
  • Project:Sonic Battle Hacking Suite
It's been about a month. In that time, I've been working on a completely new editor for SB.

(prototype logo by Lavender The Great, our amazing artist)
Posted Image

sbrx is being written in Rust, and will not suffer from a lot of the problems that plague SBHS.

This SBHS codebase was written in Java circa 2015, and then was automatically converted to Kotlin years later.
It shows. SBHS is ungodly slow. SBHS takes around 14 seconds to start up while sbrx takes ~400 miliseconds.
I will also be focusing a lot more on the GUI to make sure the experience for modders is less of a pain.
It's a pain right now.
A big one.

sbrx can currently only write spritesheets to the game, in the same format as SBHS, but it does not require a palette to be added in the top left.
It became really apparent that users didn't understand the use of the palette so I just yanked it.
The palette is generated by choosing the first 15 colors in the image, and then it defaults to the first one if there is a color outside the range.
It'll soon show some clean error message once I get the GUI working.

Rust is a newer programming language, and as such there aren't many good libraries for it. I wanted to try it out because it declares that it is a lot safer than C & C++, and because it has a nice type system (I'm a PLT nerd).
I'm currently using GTK bindings for Rust, but GTK isn't an amazing interface. My main hurdle right now is getting everything to run smooth in a fresh Windows environment.
Packaging the 1000000 dlls is also going to be annoying because I don't know if Rust can statically link GTK.
As you can probably tell, I'm not a GUI programmer, nor a Rust programmer, so there has been a lot of trial and error.
It is absolutely worth it, though, as the code is a lot cleaner and is a billion times faster.

Posted Image



Glimmer also made this cool hack that changes the spritesheet depending on which way your facing. (I heard it might be used for an Infinite mod!)

Posted Image

Spoiler





I also spruced up the first page of this thread to maybe attract some modders. I'm not real good at managing threads, so hopefully people interested in hacking SB see the big Discord link.




View PostMainMemory, on 04 January 2016 - 11:38 AM, said:

I have to say, while I appreciate the work you've put in, I feel like it could be done better.
Correct me if I'm wrong, but it seems like you're just having the program just use specific groups of tiles to make sprites, rather than using whatever type of sprite mapping data exists that would say exactly how each sprite should be constructed. Then again, I myself was unsuccessful in locating that data, and my attempt with the Advance series isn't quite there yet.
Secondly, what is that palette interface? You really should consider something like SonLVL's palette editor:
Posted Image
It shows you the actual colors currently in the palette, to the left you can edit the raw values for each channel, and if you right click you can use the Windows color picker dialog or import from an image or file.

Also, Java sucks


Sorry I never got around to addressing these points.

Yes it absolutely could be done better, I am far from a GUI designer.
The sprite format is hardcoded into the editor(s). I don't have experience with hacking GBA (or any) sprites so I'm not sure if it's a standard, but it goes like this:

00 01 02 03 24 25
04 05 06 07 26 27
08 09 10 11 28 29
12 13 14 15 30 31
16 17 18 19 32 33
20 21 22 23 34 35

Essentially, the first for columns are in order and the final two columns are placed at the bottom. And I think the effect sprites are sorted differently, but I haven't had a chance to look at those yet.

The palette editor will be replaced with something like that super hot sexy GUI, but for now the spritesheet will handle palette modifications.
I just need to get it up to speed with the old editor.

And yes Java sucks but I'm fast in it, sadly.
This post has been edited by Phase: 30 July 2018 - 07:03 PM

  • 2 Pages +
  • 1
  • 2
    Locked
    Locked Forum

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users