don't click here

Sonic Generations Hacking (and More!)

Discussion in 'Engineering & Reverse Engineering' started by Andrew75, Jun 23, 2011.

  1. Iggy for Short

    Iggy for Short

    Member
    818
    182
    43
    JoeTE actually wrote the guide (forgot to mention that in the last post), so if you can contact him, he'll probably have any answers you need.

    Sadly, I can't find the old download that originally included the instructions, as well as the files necessary to make skills properly compatible across Sonics (Classic skills for Modern and vice versa). I have my own setup of a Cross-Compatible Skills mod, and even a "Sonic Streetboarding" variant that makes use of the Classic Sonic Adventures layouts to prevent crashing due to trick objects, but I don't want to release what abouts to recompilations of others' work without proper permission.
     
  2. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,742
    338
    63
    SonLVL
    It's done: http://mm.reimuhakurei.net/misc/GenerationsSkillEdit.7z
    Usage should be rather straightforward.
     
  3. Dark Sonic

    Dark Sonic

    Member
    14,631
    1,611
    93
    Working on my art!
    Oh this is perfect. Thank you for being the one to finally make this.
     
  4. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,742
    338
    63
    SonLVL
    Minor update, it now displays and edits the skill set names.
     
  5. Andrew75

    Andrew75

    Technical Artist Member
    2,030
    107
    43
    Project AXSX(Sonic Xtreme) + Misc Projects
    Has anyone started hacking Lost world demo to port to generations yet ?
     
  6. Dario FF

    Dario FF

    Tech Support Hotline Tech Member
    Not likely. We'll have to wait for anything Lost World related until the Wii U gets cracked.
     
  7. Joe T.E.

    Joe T.E.

    All life form data, successfully copied! Member
    142
    0
    0
    At my home in Florida
    Big the Cat in Sonic Generations, High-Res HUD for Sonic Lost World, Metal Sonic Lost World (Version 1.0,) Sonic Generations: Episode Metal (Version 3.0.)
    That's incorrect. I only did that one really old cheat engine guide (which, as of now, is completely inferior to the hex editing method.)

    http://forums.sonicr...19
    As shown in that nearly 16-month-old post (in this very thread, mind you,) DinnerSonic was the one who wrote the save file hex edit guide.

    P.S. - Nice job with that skill editor, Mainmemory. I'll definitely be using that instead of manually hexing everything from now on.
     
  8. Lanzer

    Lanzer

    The saber calls for its master... Member
    6,845
    3
    18
    Glendale, AZ
    Living life.
    Just to back up what Dario said, we can't do anything yet with Lost World until the Wii-U itself gets cracked open, which is hopefully soon considering SSB4 is coming and I'm sure the brawl hackers want to crack that puppy open.
     
  9. DustArma

    DustArma

    Member
    1,338
    10
    18
    Santiago, Chile
    Learning Python.
    Even then, it would take a lot of knowledge to get the lost world levels even playable on Generations.
     
  10. Lanzer

    Lanzer

    The saber calls for its master... Member
    6,845
    3
    18
    Glendale, AZ
    Living life.
    Well maybe not 10/10 perfection but I think we could get a doable lost world level.
     
  11. Dario FF

    Dario FF

    Tech Support Hotline Tech Member
    I wouldn't bother. There's no way to translate the gravity mechanic in the same way Lost World does, not to mention the huge amount of other new gimmicks introduced in the later stages. The levels are fine in the game it currently is and would require an immense amount of reworking into completely new levels. Not worth it IMO. Only thing I would want the models for is just to take pretty screenshots. :v:

    However, if Wii U modding becomes possible, we could try some interesting stuff on it as long as the model/level formats remain the same/get updated a bit. When even resource ripping is possible, we'll have another thread about it I guess and see what happens from there.
     
  12. Well, certain models could be used to make a Classic Badnik mod for Generations, I guess.
     
  13. Faseeh

    Faseeh

    Member
    I'd like to see a Lost World reworked like a remake but eh.

    Anyways.

    http://youtu.be/4fCZiWKUIpA

    Some more progress.
     
  14. That looks pretty good, and even though you said the cameras weren't finished, I think the only spot where it looked bad was that final leap to the Goal Ring.

    Anyways, regarding Lost World, I think the only thing I'd be really interested in once it gets cracked open would be the textures. Well, that and maybe seeing if there was a way to port Sonic's animations. I've seen the mod that swaps the models around so you get Modern Sonic running like Classic does, but the size difference just bugs me. So yeah, I'd just want the models and textures to play with. (by then, I might FINALLY have my new computer so I can actually play around with them.)
     
  15. Jason

    Jason

    *Results not lab tested. Member
    Faseeh in what way did you mean the original skybox looks bad?
     
  16. Faseeh

    Faseeh

    Member
    It doesn't look as good as of now and really clashes. I have a back up idea now so I should be able to go through with this.


    Hopefully.
     
  17. Dario FF

    Dario FF

    Tech Support Hotline Tech Member
    I hijacked the shadow resolution on FxPipeline. (Dynamic Objects, not baked GI)
    Before: (1024x1024)
    [​IMG]

    After: (8096x8096)
    [​IMG]
    <3

    Could go higher but not enough vram. Doing a video later along with instructions/addresses on what to change (Integrating it into GMI as well). It's a simple exe patch.
     
  18. Covarr

    Covarr

    Sentient Cash Register Member
    4,233
    3
    18
    Trapped in my own thoughts.
    Two stageplays, a screenplay, and an album
    Am I blind, or is the fence shadow the same?
     
  19. Dario FF

    Dario FF

    Tech Support Hotline Tech Member
    That's baked, only the dynamic ones are changed. (Objects, Enemies, Sonic)

    EDIT: Uh I guess I'm saving the vid for tomorrow after Youtube's done with the processing. It's been at that for a few hours already.
     
  20. Dario FF

    Dario FF

    Tech Support Hotline Tech Member
    Here's a video first:

    Link

    Notes
    • Needs a manual hex edit to the exe. You're gonna have to use a Hex Editor. (HxD, XVI32, etc.)
    • Needs FxPipeline. The edit will be done to SonicGenerations.fxpipeline.exe.
    • Will probably be added to a GMI update later on as an option when creating the exe.
    • Obviously needs latest version of Sonic Generations.
    • This is only for the shadows casted by dynamic objects, and the terrain casting shadows onto said objects. The pre-baked shadows into the GI are not affected by this, and require re-rendering to look better.
    Instructions
    • Open up SonicGenerations.fxpipeline.exe in your preferred Hex Editor. You should have this exe from creating it with SonicGMI.
    • Go to the CC5439 address. You'll see 00 04 00 00 (dec: 1024) in there. That's one of the used ShadowMap resolutions.
    • Replace these 4 bytes with any power of two value you want. Here's some presets: 00 08 00 00 (2048) 00 10 00 00 (4096) 00 20 00 00 (8192, used in the video). You can go higher if you want, but only if your GPU supports it.
    • Save and play.
    • If you screwed up something and made your game unplayable, just revert by creating the exe again in SonicGMI.

    The game uses an XML variable from the last stage it loaded called ShadowMapSize. This bug is because the game creates the ShadowMap BEFORE it actually loads the XML of the stage it's loading, so the last value gets used. The ShadowMapSize value can be 0, 1, or 2, and the game chooses the value in the three following addresses depending on which number is selected:
    CC542B (ShadowMapSize = 0)
    CC5439 (ShadowMapSize = 1)
    CC5432 (ShadowMapSize = 2)

    Since the entire game uses ShadowMapSize = 1, it's only necessary to modify the one in that address. You can modify the others if you feel that it's necessary though.

    Lots of thanks to Durante from NeoGAF for teaching me how to use Dsfix as the main D3D9 hook that I used to inspect the behaviour of the game, which made tracking this value very trivial with the debugger and detecting at the right frame the ShadowMap buffer is created. :)

    Have some more screenshots:
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]

    Pros: They look beautiful. Cons: They'll make the baked shadows look like shit in comparison. :specialed: