Sonic and Sega Retro Message Board: Sonic Heroes Hacking/Modding - Sonic and Sega Retro Message Board

Jump to content

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

Sonic Heroes Hacking/Modding I promise it's the last one

#1 User is offline igorseabra4 

Posted 26 March 2017 - 12:57 AM

  • Posts: 16
  • Joined: 24-May 09
  • Gender:Male
  • Location:Brazil
  • Project:Heroes SCHG, Heroes Power Plant
  • Wiki edits:2
So, Sonic Heroes has turned 14 years old recently and the hacking community is finally giving the game the attention it deserves. Silver is already in the game, Emerald Coast too, the game had its first Hacking Contest entry and we have a Discord server where we are discussing what we have; that's why I think Heroes finally deserves a general hacking topic, so we can put together everything we have about it in one place. Let's get to the links:

Heroes Mod Loader by sewer56lol.

SCHG for Sonic Heroes. Everything I know about this game is there.

Heroes Power Plant is my level editor.

My tutorial on creating custom levels with Heroes Power Plant

SH Memory Editor by Link. You probably know this one. It's old but certainly not outdated.

HeroesONE by MainMemory. Opens and edits ONE files.

Magic.TXD can open and edit TXD files.

DFF importer and exporter for 3DS Max

Here you can get the 10.8 and 11.18 GC protos released by drx.

Tutorial by Maxx Light on creating custom characters

This will rip stage models from BSP files which Power Plant can't yet handle. There's already a topic on it, actually.

SETIDTBL Editor.

HeroesTweaker for Tsonic_win.exe, shouldn't really be used as we have a mod loader now.
This post has been edited by igorseabra4: 06 December 2017 - 10:13 PM

#2 User is offline MainMemory 

Posted 26 March 2017 - 01:32 AM

  • Every day's the same old thing... Same place, different day...
  • Posts: 4178
  • Joined: 14-August 09
  • Gender:Not Telling
  • Project:SonLVL
  • Wiki edits:1,339
This topic was kind of meant to be a general Heroes hacking topic, though I understand if you don't want your stuff shoved behind three pages of Team Super stuff.

I've seen some of what you guys have been doing, it's pretty neat. I think Heroes modding could get to the same level as SADX someday.

#3 User is offline Aquaslash 

Posted 29 May 2017 - 07:58 AM

  • Emerald Dragoon
  • Posts: 2816
  • Joined: 17-November 04
  • Gender:Male
  • Location:Hampton, VA
  • Project:The S Factor: Sonia and Silver
  • Wiki edits:1,144
Late to the party as always, but I gotta say, I'm really really REALLY glad to see Heroes getting blown apart. Already seeing some fantastic stuff on Youtube. Keep up the good work folks

#4 User is offline igorseabra4 

Posted 01 July 2017 - 05:55 PM

  • Posts: 16
  • Joined: 24-May 09
  • Gender:Male
  • Location:Brazil
  • Project:Heroes SCHG, Heroes Power Plant
  • Wiki edits:2
Just to let everyone who hasn't been keeping up know, me and a small group of people have been working on uncovering the most we can about this game and writing tools to work with it. We should be getting close to playable custom levels soon.

Posted Image

#5 User is offline Lanzer 

Posted 01 July 2017 - 06:06 PM

  • The saber calls for its master...
  • Posts: 6820
  • Joined: 27-February 09
  • Gender:Male
  • Location:Glendale, AZ
  • Project:Doing Stuff.
  • Wiki edits:1
Damn its about time, this is the kind of stuff I wanted to see when the PC version first released ages ago. Glad to see progression on Heroes hacking after all these years.

#6 User is offline igorseabra4 

Posted 02 December 2017 - 09:49 PM

  • Posts: 16
  • Joined: 24-May 09
  • Gender:Male
  • Location:Brazil
  • Project:Heroes SCHG, Heroes Power Plant
  • Wiki edits:2
Bumping this thread a bit due to the release of the Heroes Power Plant level editor. Showcase video here.
This post has been edited by igorseabra4: 02 December 2017 - 09:50 PM

#7 User is offline Azu 

Posted 03 December 2017 - 05:52 AM

  • I must be stupid.
  • Posts: 1527
  • Joined: 23-February 08
  • Gender:Male
  • Location:Home
Time to find my Sonic Heroes disc

#8 User is offline Herm the Germ 

Posted 03 December 2017 - 09:23 AM

  • Hmm, not bad. Well done, doctor!
  • Posts: 1482
  • Joined: 22-April 09
  • Gender:Male
  • Location:Dresden, Saxony, Germany
  • Project:MIDI-to-SMPS-conversions, mostly. Takin' requests, too.
  • Wiki edits:5
Holy crap. My inner 15-year-old is thanking you for this. : O Perhaps now we can make it so each team has their own iterations of levels <.<

#9 User is offline Irixion 

Posted 04 December 2017 - 01:27 PM

  • Posts: 1515
  • Joined: 30-December 04
  • Gender:Male
  • Location:Ontario, Canada
  • Project:Life
  • Wiki edits:152
We have fully customization levels in Heroes now and people are still going on about Forces? Psh. Nicely done.

#10 User is online Dark Sonic 

Posted 04 December 2017 - 07:56 PM

  • Posts: 11498
  • Joined: 21-April 06
  • Gender:Male
  • Project:Working on my art!
  • Wiki edits:10

View PostIrixion, on 04 December 2017 - 01:27 PM, said:

We have fully customization levels in Heroes now and people are still going on about Forces? Psh. Nicely done.

Yup, because Heroes was garbage :v:

#11 User is offline Strife 

Posted 04 December 2017 - 10:48 PM

  • Posts: 1834
  • Joined: 19-October 11
  • Gender:Male
  • Location:United States
  • Project:Freedom Planet 2
With the release of a bona fide level editor, how much more work would it take to create an actual "Solo Sonic/character" mod? I imagine it's now possible to alter vanilla stages to make them beatable without switching characters, but what about preventing the game from crashing when activating certain objects or events when no other team members are present?

#12 User is offline sewer56lol 

Posted 05 December 2017 - 01:00 AM

  • I eat Sonic Heroes for breakfast.
  • Posts: 22
  • Joined: 04-June 12
  • Gender:Male
  • Location:United Kingdom
  • Project:[Reloaded] Mod Loader

View PostStrife, on 04 December 2017 - 10:48 PM, said:

With the release of a bona fide level editor, how much more work would it take to create an actual "Solo Sonic/character" mod? I imagine it's now possible to alter vanilla stages to make them beatable without switching characters, but what about preventing the game from crashing when activating certain objects or events when no other team members are present?


This is a slightly more complex question to answer, something that hasn't actually really been looked into.

The real questions are rather what functions do I need to track down and what do I need to nop, how many places? Is it feasibly easy to do so?
How many set pieces will I have to fix? (bobsleds, pulleys for flight type solo etc.)

As far as I can tell what the game is programmed to only act in a "special" way on the non-leader characters when making use of an object which requires multiple characters, respective of who the characters are.
How many different pieces of game will I have to force to forget the second and third character?

I know this is a roundabout way of answering but given that it hasn't been looked into, seems the most appropriate regarding properly disabling the other characters.

-----------------------

There's also the roundabout way of potentially doing things. Say I tell the game that the other two characters are always missing, they got captured or fell off of a pinball table, etc. Then such that they don't wait on the next checkpoint, warp them somewhere far off-screen where no sane human would visit (around max float?). you're more less-done.

Disable TeamBlast and use Minimal HUD from Tweakbox (since those team member & TeamBlast UI elements are now redundant), a hacky solution like this could work aswell and might in fact be more preferable to implement.

It's not something that has been looked at but it's a matter of approach. I think it could probably be done without too much hassle.

On a related note, fun fact:
Nobody has yet bothered or had the time to check how Link's ages old Memory Editor does character replacements. It's not a simple integer swap (surprisingly given how Heroes handles team stuff), thus it must be a simple pointer swap somewhere.
I've plainly just never had the time to investigate it.

(There are nearly zero documented or labeled game functions at this time, not even an up to date or even somewhat even close complete with what is known disassembly despite many addresses especially for variables being known. Despite huge, rapid development, there is only so much you could do in 8 1/2 months since Heroes started kicking off once again :/).
This post has been edited by sewer56lol: 05 December 2017 - 01:02 AM

#13 User is offline Aquaslash 

Posted 05 December 2017 - 03:07 AM

  • Emerald Dragoon
  • Posts: 2816
  • Joined: 17-November 04
  • Gender:Male
  • Location:Hampton, VA
  • Project:The S Factor: Sonia and Silver
  • Wiki edits:1,144
Random question, but are windows 8 users boned as far as the tweakbox goes? The highest windows 8 will take is NET 4.6. You can't even install anything higher if you have the files because the installer just quits on you

#14 User is offline sewer56lol 

Posted 05 December 2017 - 03:13 AM

  • I eat Sonic Heroes for breakfast.
  • Posts: 22
  • Joined: 04-June 12
  • Gender:Male
  • Location:United Kingdom
  • Project:[Reloaded] Mod Loader
Originally planned as an edit and I'm not sure if I should really speak about this (since it potentially discredits or could ignore whom have been doing own research outside of any circles, etc.), but I suppose I should say it given that I've wrote the final point in brackets at the post above.
This could also bring up an insight of the state of Heroes right now I suppose.

For a good while, I and Igor have been the only ones that were actively reversing game data structures and/or writing any tools for the game actively.
Relatively often, plenty of fun ASM Codes and variable addresses would also ship from one named Muzzarino (whom you might know for bad comprehension, sometimes - and me holding back from asking unnecessary questions in e.g. SHC Discord), but for a long, long time that was about it for Heroes.

TGE/TGEnigma, for a few months now, while he/she doesn't do Heroes (instead Persona modding) is also a good bit of help sometimes, specifically with guidance on RenderWare things, libraries and general extra programming tips (if necessary). Also just a nice person to speak to. (PS. Also the first person to have ever originally done a "perfect" model swap).

In terms of new research, pretty much everyone else interested has mainly done lurking (for various reasons from no technical experience to low interest), although there have been occasional contributions from outside of the small set of people,
Maxx Light for instance (along with later towards the end of investigation also Sonikku A?) have dug into and successfully delved into exporting of rigged character models being a possibility, prior to the formation of the hacking central using a more recent 3DS DFF Plugin created by 'The Hero', originally targeted for GTA. The process was then adapted and played around with since for enabling possibilities for exporting models into Shadow the Hedgehog as well as fixing proper character blending in own exports for both of the games.

Recently, there has been a pickup of new members in, some contributing good bits of research in small chunks and in new ways, namely for Shadow The Hedgehog which is what you normally wouldn't expect.

--------------

A part of the secret in how Heroes has advanced so far with such a small group within the past few months is close communication since the formation of the Heroes Discord, but also for better or worse, a complete split of work between everyone actively involved. Igor would branch off and focus on stage related work such as level editing and custom levels, I would delve into research of advanced game code modifications from scratch and properly learning up a bit on x86 (which resulted in a pre-Beta of HeroesModLoader as seen in the contest) + anything miscellaneous regarding file formats, etc.
Muzzarino would do what he's always done dig around memory and do some fun stuff with ASM.

As for some weird reason, I do not have write permissions for the Wiki (or rather more accurately can't sign in to an account that exists but doesn't exist?), I would also get the others to append or change a few minor things around the Heroes SCHG for me (which is also not complete either with close to everything known).

In terms of mods, occasionally we would see a few test mods from new members and various people which would put a smile on our faces that someone is interested enough or could bear using in development tools and very, very rarely some extra information and/or general hacking knowledge.

General workflow over the past has been that I'd be fed addresses and ASM injections, various stuff to test and poke around with during loader development and general experimentation. I'd help out Igor with general programming and optimization as he only started out around the end of last year, and sometimes poke around whatever is currently being worked on in that end of the spectrum... this cycle would repeat.

--------------

If you are searching for development, prereleases, tool prototypes and/or quick contact then practically all of that happens in the Heroes Hacking Central Discord, a somewhat rough equivalent of Adventure's #x-hax.
The server is 100% public and nowadays hosts practically everything and everyone related or interested in Heroes and/or Shadow development, many of which are not, cannot be or choose not to be part of Retro for various reasons whether it'd be the great wall of Overlord, laziness or more personal reasons of why they would want to avoid the bounds of Retro. That is a topic for another day however.

There is even a Riders group which sees some development and digging around both the GC and more recently the PC version, it's slightly smaller than Heroes in terms of Research & Development and the game is full of spaghetti code and structs making it harder to crack. Various interesting things have been happening there. I might soon start transferring what's known onto SCHG. Here's a small extract from in-development Netplay for the PC version of Riders ("soon" to begin porting onto the Heroes Mod Loader):
Spoiler


In this case, for various reasons none of the active contributors I know of for Riders are members/active members of Retro.

Heroes-wise, to quote back to the first of July:

Quote

me and a small group of people have been working on uncovering the most we can about this game

This is what has really been happening with Sonic Heroes over the past few months.
This post has been edited by sewer56lol: 05 December 2017 - 03:41 AM

#15 User is offline sewer56lol 

Posted 05 December 2017 - 03:31 AM

  • I eat Sonic Heroes for breakfast.
  • Posts: 22
  • Joined: 04-June 12
  • Gender:Male
  • Location:United Kingdom
  • Project:[Reloaded] Mod Loader

View PostAquaslash, on 05 December 2017 - 03:07 AM, said:

Random question, but are windows 8 users boned as far as the tweakbox goes? The highest windows 8 will take is NET 4.6. You can't even install anything higher if you have the files because the installer just quits on you


I actually got a comment about this on YouTube (unless it was from you) when writing the last post.

It is practically the first time I hear that .NET 4.7 is not supported under Windows 8 but is under Windows 8.1, that's perhaps a bad assumption to have made that all versions newer than Win 7 would support .NET 4.7.
The only feature that the loader uses from .NET 4.7 is built-in C#7 style ValueTuple in two locations, which if necessary I could happily quickly rewrite to instead use structs and knock the requirement down to .NET 4.5.

Apparently there's also a NuGet package to handle those in earlier .NET versions which means there is a chance I'd practically need to not do much/nothing at all.
I'll be very busy this week and I'm doing a lot of rework on the loader internally but I'll see what I can do, chances are I'd be fine posting a quick recompile with only .NET 4.5 as the requirement later once I finish the lectures for the day.
This post has been edited by sewer56lol: 05 December 2017 - 03:51 AM

  • 2 Pages +
  • 1
  • 2
    Locked
    Locked Forum

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