SADX/SA1 Hacking/Modding

Discussion in 'Engineering & Reverse Engineering' started by MainMemory, Aug 15, 2009.

  1. PkR

    PkR

    Member
    188
    18
    18
    SADX Dreamcast Conversion, The Emeralds' Awakening
    I'm working on an update for the HD GUI mod to add support for HD subtitles. It looks like this:
    [​IMG]
    It supports all languages in the vanilla game except Japanese. You can also make your own font by editing the font texture and character width/offset data. In theory it's also possible to add Russian, Arabic etc. by replacing the second half of the texture with characters from the corresponding codepage.
    The update supports ingame subtitles, the pause menu (redefine controls, exit confirmation prompt) and the character recap screen. Chao stuff, such as the text used in Black Market or Chao Race Entry, is not supported.

    EDIT: The update has been released!
     
  2. Jason

    Jason

    *Results not lab tested. Member
    Cool stuff. Continually polishing this janky but significant game is appreciated.

    I did notice that light shafts are missing from the Master Emerald being restored, and Knuckles witnessing Chaos 6's transformation with the Onion Skin mod installed. Is this just me, or is this known?
     
  3. SF94

    SF94

    Tech Member
    776
    2
    18
    Utah
    SA1/2 hax
  4. PkR

    PkR

    Member
    188
    18
    18
    SADX Dreamcast Conversion, The Emeralds' Awakening
    Here's an alternative version of the Onion Blur mod that works around the issue.

    To elaborate on SF94's comment: this issue is an unfortunate side effect of a wider-scale fix that was originally required to get Tails' tails blur working in the first place.

    Before this fix was implemented, Tails' model had strange flickering, which we later found out was caused by rapidly changing lighting. SADX uses a queue system to render models that have transparent polygons. However, when a model is queued, the game disregards the light type the model was supposed to be using. As a result, if you queue any model with a specific light type (e.g. characters), it will have random parts that have the wrong light type. This is what was happening to Tails.

    There are several ways to work around this: for example, using the API provided by the Lantern Engine mod, we can force all character models to use a specific light type, which we did for both SA1 and SADX models. However, that wouldn't fix Tails when the Lantern Engine mod isn't enabled, and it still doesn't address the overall problem with wrong light types assigned to queued models. So SF94 made a fix that actually stores the correct light type when a model is queued. This fix required some changes to the queue system in SADX, and those disappearing effects are caused by some specific effects in the game not accounting for those changes.

    Now the light type problem shouldn't affect the game in any noticeable way if you're playing SADX with Lantern Engine and Dreamcast Conversion. Before SF94 found out what the issue with the queue system was, I went through the whole game multiple times and forced every model with "wrong" lighting to use the correct light type using SF94's Lantern API. I also submitted similar fixes for the Dreamcast Characters mod. So at the moment the presence of this fix is less critical than it was originally (again, assuming you play the game with DC mods).

    Before SF94 developed the light type fix, I made a fork of his Onion Skin Blur mod and reworked the way Tails' tails were rendered to avoid flickering. The workaround is extremely primitive: it just renders Tails twice, first rendering his model without the tails (and thus without the queue), and then rendering the tails separately. It's very clunky but it works.

    Since there hasn't been a fix for the missing effects for a while, and because the issue's been brought up a few times recently, after consulting with SF94 I decided to release my old fork of his mod as an alternative to the original mod. If the Onion Blur mod is updated to address the issue, this alternative mod will self-update to it. As a bonus, my version includes Knuckles' running blur. This one doesn't seem to work even in the Japanese version of SA1, so I took some liberties to make it look the way I think it works best.
     
  5. Jason

    Jason

    *Results not lab tested. Member
    Downloaded. Can't seem to get Knuckles' feet to blur. Everything else seems to work appropriately now, though. As for the text mod, only one thing doesn't have the upgrade: deleting save files.
    [​IMG]
     
  6. PkR

    PkR

    Member
    188
    18
    18
    SADX Dreamcast Conversion, The Emeralds' Awakening
    I guess I lazied out on Knuckles' running thing thinking it looked good enough :v: Please redownload using the same link, it should work the same way as Sonic's now.
    I also figured out the "Deleted" text and updated the HD GUI mod to include it too.
    Happy New Year!

    EDIT: I may have spoken too soon about Knuckles. It looks like you have to be running really fast for the blur to kick in, but Knuckles almost never reaches the necessary speed. Looks like this is the case in all versions of the game, even Japanese SA1. I updated the mod again to make the blur trigger with the "slower" running animation.
     
  7. MainMemory

    MainMemory

    Have no fear...Amy Rose is here! Tech Member
    4,445
    79
    28
    SonLVL

    This is the initial stage of a mod that hijacks Sonic's code to render the SA2 model in its original format with its original animations. As you can see, it's got a few bugs to work out yet. I hope to have it finished by the end of the year.
     
    Last edited: Jul 22, 2019
  8. SuperSnoopy

    SuperSnoopy

    I like Sonic Advance Member
    1,004
    106
    43
    France
    Learning how to draw, studying Japanese
    I don't want to sound greedy, but would it be possible to have the adventure 1 animations with the adventure 2 model, or are they just not compatible with each other ?
     
  9. MainMemory

    MainMemory

    Have no fear...Amy Rose is here! Tech Member
    4,445
    79
    28
    SonLVL
    They aren't compatible, but you could take the SA2 model, cut it into pieces, and import the pieces over the SA1 model.
     
  10. MainMemory

    MainMemory

    Have no fear...Amy Rose is here! Tech Member
    4,445
    79
    28
    SonLVL
    Last edited: Jul 22, 2019
  11. MainMemory

    MainMemory

    Have no fear...Amy Rose is here! Tech Member
    4,445
    79
    28
    SonLVL
    Hey it's been a while. The SA2 Sonic Mod has been out for a while, and I've even gotten the full animation set filled out, thanks to End User.


    I also tried making cutscenes run at 60fps. It doesn't fully work yet, but it might be able to eventually.
     
    Last edited: Jul 22, 2019
  12. MainMemory

    MainMemory

    Have no fear...Amy Rose is here! Tech Member
    4,445
    79
    28
    SonLVL
    I've updated the SA2 Sonic Mod with an outfit selector.
     
  13. Lostgame

    Lostgame

    resident geek girl + record label manager Oldbie
    4,084
    19
    18
    Toronto, ON
    The O.I.C.
    Ahaha, perfect still frame for that video... XD
     
  14. Rhythm Raccoon

    Rhythm Raccoon

    Misfit
    41
    0
    6
    Hey, not really sure if anyone has elaborated on this, but is it at all possible to install SADX PC mods on the Gamecube version? My brother knows a good chunk about these things but is working on other projects right now. He's taken mods and hacks people have created for games and injected them directly into the originals (even creating literal ISO's that can be burned to a real disc, if I'm remembering correctly). I've always wondered if it was possible for something like that to be done, considering they're all just ports of each other.
     
  15. MainMemory

    MainMemory

    Have no fear...Amy Rose is here! Tech Member
    4,445
    79
    28
    SonLVL
    No. Not in the sense that you can just swap out some files and call it a day, anyway. Nearly all of the models in the game (including levels) are compiled directly into the game's code, so you would have to find where that data is in the GC version and figure out a way to replace it. Plus, most mods use at least some custom coding, so you would have to find all the equivalent code, translate the code in the mod to PowerPC ASM (you may be able to just compile it, I don't know) and figure out how to interface it into the game's code. Something like Lantern Engine would need to be completely remade for the GameCube's TEV system instead of Direct3D9 shaders.
     
  16. Rhythm Raccoon

    Rhythm Raccoon

    Misfit
    41
    0
    6
    Not so much Lantern Engine (though it would be cool to install), but things like stage mods and character model/ physics swaps. It all sounds like things my brother is handy with. He's already created a moon jump code, a code to use any character in any area of the game (by holding a button when loading a stage (e.g. Sonic in Hot Shelter, Big in Sonic's Emerald Coast, etc.), and others. I'll need to ask him to see if he can make it work.
     
  17. MainMemory

    MainMemory

    Have no fear...Amy Rose is here! Tech Member
    4,445
    79
    28
    SonLVL
    Oh have I mentioned that SADX on GC stores its stages in .rel files that are compressed? So you'll need to reverse engineer that, or find some way to inject data at runtime.
     
  18. Shaddy the guy

    Shaddy the guy

    Astolfo will never be your BF Member
    410
    28
    28
    Beaverton OR
    Thinga Comic
    Hey speaking of things that are a total pain at best and impossible at worst, what about ability swapping? Giving Gamma's gun to Knuckles, or Amy's hammer to Sonic? Playing Tails's SA2 levels as his mech-less self while still able to shoot stuff has always been something I've wanted.
     
  19. MainMemory

    MainMemory

    Have no fear...Amy Rose is here! Tech Member
    4,445
    79
    28
    SonLVL
    Well Benji managed to do something like that, by swapping out the character, but actually getting Knuckles to shoot would require completely reverse engineering Knuckles' code in order to rebuild it and reverse engineering all of the shooting-related code for Gamma. In short, an enormous amount of work that nobody is going to want to do. Same for anything else like that.
     
  20. Rhythm Raccoon

    Rhythm Raccoon

    Misfit
    41
    0
    6
    Just talked to my brother. Yeah, he said it's not gonna happen. He'd need to write his own .rel decompression program in order to tweak the files inside, and then compress them all over again to get the game back into a working state (anyone here who knows how to do this?). Seriously though, it's kinda sad in retrospect how few Sonic Games actually have good mods/hacks/programs/etc. I've always wanted games like Sonic Riders, Sonic Chaos, and Sonic and the Secret Rings (just to name a few) to get more attention from the community, but for now, we'll just keep moving forward one game at a time.

    (Suddenly realized as I was finishing this up) What platform is Sonic Heroes being modded on? SA1 and SA2 are on PC, but Heroes isn't, right? Or am I really that out of the loop? Is it possible to port the Radical Highway mod to Gamecube? (Sorry about the obsession, we do a lot of homebrewing...)