don't click here

Sonic Generations Hacking (and More!)

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

  1. Dario FF

    Dario FF

    Tech Support Hotline Tech Member
    Apparently Adabat uses an object called WarpPoint, which when triggered by an Event, will teleport Sonic to the place.

    The problem is that object isn't in Generations. Adabat needs this before the last part because it teleports sonic when going through the trees to another part of the map(really far away) for the last section. I could probably use the Sky Sanctuary Warp thingy, but that's not an "instant" teleporter without animations. Does anyone have any ideas of any object that could do it that is in the game?
     
  2. Yarharhar

    Yarharhar

    Oldbie
    58
    0
    6
    Possibly modify the green-hill S-curve? Or really any object that moves sonic along a pre-animated path. If that path is something you can modify/parameterize, the different between teleporting and a path that transitions instantly is pretty small.
     
  3. Lobotomy

    Lobotomy

    35% Cognac Banned
    4,394
    1
    0
    Traverse City
    Project: Matter/Energy

    Is that why I hear some kind of sword unsheathing noise during the very last part of Jungle Joyride?

    4:33 in the video

     
  4. Chemical Heat

    Chemical Heat

    Being the new guy is hard... Member
    7
    0
    0
    Iceland
    None at the moment
    Well, I'm not an expert but couldn't you modify the Sky Sanctuary teleporters to work like an instant teleport? Maybe tweak the XML Files to a fitting time or something? Since some of the teleporters have a quicker charge than others (Like in the Classic Sky Sanctuary mission). But if the answer was really that obvious you would've done that by now, wouldn't you? XD
    Anyway Enough of my pointless babbling and hope too see some progress on that issue soon :P
     
  5. Yarharhar

    Yarharhar

    Oldbie
    58
    0
    6
    Oh, the Egg Dragoon Fight has a teleport - it goes to the sky-diving section. So does Perfect Chaos.
     
  6. Chemical Heat

    Chemical Heat

    Being the new guy is hard... Member
    7
    0
    0
    Iceland
    None at the moment
    Oh yeah, I completely forgot about that. Is that an object though? I always thought of it as an scripted event. As for perfect Chaos, I don't recall a teleport happening in that boss?
     
  7. 1stKirbyever

    1stKirbyever

    Member
    407
    0
    16
    Yeah, that warp was randomly placed there. (I have no idea why since it's the only stage to do so. I found this out during a 3D - 2D glitch.)

    Don't forget that Time Eater also has a Warp.

    EDIT: Chemical, Pretty sure they all are.
     
  8. DustArma

    DustArma

    Member
    1,337
    10
    18
    Santiago, Chile
    Learning Python.
    After every hit you get moved to a different part of the level.

    The Ark fight also has one to teleport Sonic and Shadow when either gets the 2/3 energy orbs.
     
  9. In there a way to edit shaders in Generations? I managed to unpack 31mb of something called "shaders", but in the end, after unpacking of ARs it's just a bunch of 1kb files with three lines that makes sense and everything else is garbage symbols.
     
  10. roxahris

    roxahris

    Everyone's a hypocrite. Take my word for it. Member
    1,224
    0
    0
    Doing anything at all
    Yep, those are the shaders. You'll need to decompile them and figure out what they are/what each one does.
     
  11. Chimera

    Chimera

    I'm not a furry. Tech Member
    1,272
    17
    18
    Castlevania prettyness
    I'm pretty sure the shaders are GPU code. If you can fully decipher/decode that you deserve tech member status for life.
     
  12. Dario FF

    Dario FF

    Tech Support Hotline Tech Member
    I'm afraid most of the objects you guys mentioned are boss scripted events, mostly hardcoded I think. Some of the warp events are called via LUA scripts, and well... they're just usable with boss stages and the actual boss there.

    I don't remember any warps in the time eater though. I've tried using the Sky Sanctuary warp thing, and it looks a bit jarring. I can't get it to stop at the right spot, and you can see Sonic traverse through the whole black level... I could try increasing the speed so it's almost instant, but then it would go so fast it would go past the warp end thing... I'm not sure how to do it yet. :(

    The problem with paths is that I don't think the game has the option of doing something like that... so I'm unsure on what else could be used.
     
  13. Gen

    Gen

    This is halloween! This is halloween! Member
    309
    0
    0
    The Mobius Engine
    It's possible the "garbage symbols" are pre-compiled HLSL/D3D shader byte code. It's common for some games to do this to increase runtime performance of shaders (where if you pass an uncompiled shader to the runtime, you'll generally have to wait for it to compile).
     
  14. I think it's possible to decompile these shaders into asm-like code, or even back into HLSL. The problem is to compile them back after editing, so the game can understand it.
    Well, anyway, I just want to disable bloom, blur and DOF. I found that #SystemCommon.ar.00/SceneEffects.prm.xml file, but noticed almost no changes in game after editing it. May be it affects console versions only.
     
  15. Dario FF

    Dario FF

    Tech Support Hotline Tech Member
    That's because the stages override the files with their own definitions. You should look at the same file SceneEffect.prm.xml for each stage.
     
  16. May have an obvious answer, but why not just move the level to where the teleport needs to happen so there doesn't need to be one? I've always wondered why that teleport happens :s
     
  17. SF94

    SF94

    Tech Member
    My guess would be performance. If you're far away enough that all the stuff in the first chunk of the level doesn't render, technically it should help (items and stage geometry) with the framerate... Except it manages to lag anyway, but maybe it lagged worse before.

    Although in terms of the PC port project, I guess it couldn't hurt, but it may not exactly fit together very well either. It's like trying to merge Emerald Coast 1 and 2 in Sonic Adventure, until you realize that the second half would be mostly under water, if the entrance of the second section was properly lined up with the exit of the first section. Or similarly, it's like trying to merge all the sections of Station Square... until—if I recall correctly—things start overlapping.
     
  18. Dario FF

    Dario FF

    Tech Support Hotline Tech Member
    Moving chunks is far more complicated than it sounds. In theory maybe I could move the terrain, but then I have to move all the objects, the object targets, the paths(and I don't really know how to read them correctly yet). Plus, performance would be a problem, although in theory chunk-loading / unloading should be able to solve that.

    Also for a shocker, Adabat has even bad performance on the PC version anyway. :v:(nearing the big chaser running part) It needs some serious optimization or material changes or something, I'm not sure yet.
     
  19. Starting from this http://forums.sonicretro.org/index.php?showtopic=25598&st=315 I can see there were succesful audio replacements.
    My issue is about repacking the ADX files into AAX;
    Basicaly, AAX files for main stages contain and ADX for the intro, and an ADX for the main loop.

    Having converted them and done all that needs to be done, I need to repack the ADXs into an AAX, but that part seems to be completely lost, and I think azu mentioned using adxenc, which is only to do WAV -> ADX.
    What should I do now? I'm a bit lost.
     
  20. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,735
    334
    63
    SonLVL
    Minor update to Generations Archive Editor: archive code is now in Ar00Lib.dll, there's now a separate command-line program Ar00Pack, any bugs with the /t argument have hopefully been fixed, and "split mode" is automatically enabled for filenames ending in ".ar.00". Also the source code is available.

    Edit: ARL bugfix.