don't click here

Sonic Generations 3DS Hacking

Discussion in 'Engineering & Reverse Engineering' started by Kilo, Nov 19, 2024.

  1. Kilo

    Kilo

    The Scatterbrained Hacker Tech Member
    1,328
    1,265
    93
    Canada
    Sonic 1 Source Code Recration
    So I may have found some variable names?
    4ED9E4 in the IDA file has a bunch of names intertwined with file paths. For instance some variables could be related to the profile card:
    Code (Text):
    1. w_y_f
    2. yellow_b
    3. yellow_f
    4. w_y_f
    5. yellow_b
    6. orange_f
    7. w_o_f
    8. orange_b
    9. orange_f
    10. w_o_f
    11. orange_b
    12. red_f
    13. w_r_f
    14. red_b
    15. red_f
    16. w_r_f
    17. red_b
    18. blue_f
    19. w_b_f
    20. blue_b
    21. blue_f
    22. w_b_f
    23. blue_b
    24. silver_f
    25. w_s_f
    26. silver_b
    27. gold_f
    28. w_g_f
    29. gold_b
     
  2. shilz

    shilz

    Member
    1,416
    374
    63
    getting my daily allowance of vitamin kk
    Would kill for an Android version of this game... Hopefully it doesn't come to that.
     
  3. Kilo

    Kilo

    The Scatterbrained Hacker Tech Member
    1,328
    1,265
    93
    Canada
    Sonic 1 Source Code Recration
    It's definitely one of the platforms I would want to target should a portable decomp come of this. With the obvious PC port. I'd also think that a PSP and Wii port would be worthwhile too since Gens was meant to come to those platforms (Although I'd imagine the Wii version was moreso meant to be more in line with the HD version, but whatever)
     
  4. Generations Wii was definitely meant to be based on HD. It seems like assets planned for it were reused in Colors, as its models are appended with "_SD" while Generations has "_HD". This also makes sense, given both games started development in early-to-mid-2009 (Tropical Resort 1's LUA config dates it to May 2009).
     
  5. Kilo

    Kilo

    The Scatterbrained Hacker Tech Member
    1,328
    1,265
    93
    Canada
    Sonic 1 Source Code Recration
    Found another beta screenshot in the files LAYOUT_X/WHITEMAP_LYT.amb/WHITEMAP_L_00.ARC/timg/xx_ta_bg.bclim
    xx_ta_bg.png
    While you may notice that the times are maxed out that is the least interesting thing here.
    First of all, for some reason a shield icon is next to the times, this does not appear in the final game. I think it might have indicated that you used an item in the level? But you can't bring items into levels like the HD version, you can only get them via the stage. Now that's cool and all... But see that X button prompt? Also not there, and based on what Google Translate is telling me, this is a removed hard mode. I am geeking out so hard right now!!!
     
  6. Kinda hard to translate, with Google saying it roughly means "(it's) tough to do".
     
  7. shilz

    shilz

    Member
    1,416
    374
    63
    getting my daily allowance of vitamin kk
    That's interesting. Maybe it would have pretty much been what the Lost World 3ds hard mode is, recolors of the stages with harder layouts and only a single ring, but they scrapped it either in favor of missions or just for time reasons?
     
  8. Kilo

    Kilo

    The Scatterbrained Hacker Tech Member
    1,328
    1,265
    93
    Canada
    Sonic 1 Source Code Recration
    Dimps just seems to love leaving beta screenshots in this game, very nice of them. This time we got a bottom loading screen
    xx_help_b.png
    Like the HD version, it seems like it would have given general gameplay tips. This tutorial being on stomping.

    Also, NOW LORDING...

    Kind of disappointing that small things like this and the hard mode were cut. Seems like Gens 3DS was really rushed, even though seemingly it had the same amount of development time as the HD version given the PSP files were from November 2009. Did Sonic 4 really take that many resources away from Dimps?
     
    Last edited: Nov 22, 2024
  9. shilz

    shilz

    Member
    1,416
    374
    63
    getting my daily allowance of vitamin kk
    Pure speculation:
    With the understanding that Sonic Team probably had at a lot more involvement in all of the "dimps" games than usually assumed, it could be a case of them being stretched really thin on top of a division of their Dimps resources. working on Generations, working on Colors, working on a DS version of Colors, working on Sonic The Portable / Sonic 4, working on a portable Generations for who knows which hardware, and eventually Sonic 4 Episode 2. It's a ridiculously busy time for them in retrospect even though it doesn't seem like they had much to show for it. No wonder they were considering going to Christian Whitehead to get help for Sonic 4 Episode 3, and its cancellation probably saved Lost World 3ds from being as cut down as Generations 3ds.
     
  10. Kilo

    Kilo

    The Scatterbrained Hacker Tech Member
    1,328
    1,265
    93
    Canada
    Sonic 1 Source Code Recration
    By the way I just want to go back on this a little.
    It seems that bringing items into the stage is possible as seen in this video

    The player here brought a bomb item into the level, but didn't use it, so I'm still not sure if item use gets marked on your record, let alone how you even get items into levels. Maybe it's done by Streetpass... Or Spotpass? That would effectively leave it unused I suppose if you hadn't registered times before the Nintendo Network went down, or rather when Sega stopped delivering items via Spotpass.
    This is the thing that sucks about researching an inferior version of a game with since defunct online features, there's so many unknowns.
     
    Last edited: Nov 23, 2024
  11. shilz

    shilz

    Member
    1,416
    374
    63
    getting my daily allowance of vitamin kk
    Checked the virtual manual on the 3ds. First mention is in the Game Screen section, showing off the same bomb that's in that video.
    It's also on the next page.
    Seems like the Bonus Item could be either the explosion or Invincibility, since Invincibility appears in a screenshot of Big Arm with a big red X over it. The shields are also probably part of this.
    To earn them:
    No specific list of what you can get, but, yeah... I don't know why they didn't just have a shop where you could buy them with Play Coins or something, tying it to a separate online mode is very weird.
     
    • Like Like x 1
    • Informative Informative x 1
    • List
  12. Kilo

    Kilo

    The Scatterbrained Hacker Tech Member
    1,328
    1,265
    93
    Canada
    Sonic 1 Source Code Recration
    According to the graphics I got on hand, you can get a shield, 10 ring, magnet shield, bomb, and invincibility.

    While I'm here, got another unused graphic for you:
    LAYOUT_X/OPTION_LYT.amb/PROF_C_00.ARC/timg/prof_cara_01.bclim
    prof_cara_01.png
    It's purpose was simple enough, just a placeholder image for your selected favourite character on your profile card before they had the Uekawa graphics in (Which might I add they are surprisingly thorough, including Emerl, Wherehog, and Chip.)
    It doesn't follow the naming convention of the other, used character images though. They're chara_##.bclim instead of prof_cara_##.bclim
    upload_2024-11-23_16-48-21.png
     
  13. Kilo

    Kilo

    The Scatterbrained Hacker Tech Member
    1,328
    1,265
    93
    Canada
    Sonic 1 Source Code Recration
    Been a minute eh, the Mac lot that the recent Sonic CD 2011 prototypes were found on also coincidentally have Sonic 4's source code on them! And surprise surprise, a lot of the source code file names match up with the paths I found in November.
    How much of the actual code itself matches up is a question. But in theory if it's even remotely similar then it could make the process of reverse engineering Generation 3DS a whole ton easier.
    upload_2025-4-19_14-22-2.png upload_2025-4-19_14-23-10.png

    Edit:
    So while I'm here why not show off some new unused content I found. I found another model viewer (CTR Studio) which is in active development and doesn't explode the models when looking at animations, so that's helpful. Anyways
    Shadow and Silver both have grinding animations despite there being no rails in either of their boss fights:
    upload_2025-4-20_10-11-55.png upload_2025-4-20_10-12-8.png
    This can probably just be explained by them recycling Sonic's animations, but their animation list is pretty conservative and for the most part only contains what they need aside from these grinding animations. It makes me wonder if you were to put rails in their maps if they could use them.
     
    Last edited: Apr 20, 2025
    • Like Like x 2
    • Informative Informative x 2
    • Useful Useful x 1
    • List
  14. Kilo

    Kilo

    The Scatterbrained Hacker Tech Member
    1,328
    1,265
    93
    Canada
    Sonic 1 Source Code Recration
    Man it's already been a month since my last post? How time flies.
    I've decided to take decompiling a little more seriously. And while I am staunchly against AI in the creative fields as an artist, I'm cool with using it for coding aids. So with the help of ChatGPT I've gotten the first method somewhat decompiled. Which just clears the bss segment.
    upload_2025-5-12_20-25-20.png
    I'm still learning how to use Ghidra though and these undefined data types are annoying I can't rename them in the event that I do know what the data type is. And my own lack of knowledge on programming anything outside of 68k assembly is also a hinderence.
    There's also a bunch of SVC functions that I got done automatically since there are pre-existing Ghidra script for those which is nice.
    Just hoping I run into something I can surely recognize as being based on the Sonic 4 source code that leaked recently, but so far that just involves scrolling around functions randomly hoping I run into something with those path strings I found back in November.
    Edit: Potentially started work on some actual game code? Doesn't look much like Sonic 4's code... But I'm not sure if that's good or bad.
    upload_2025-5-12_22-42-4.png
     
    Last edited: May 13, 2025 at 4:42 AM