don't click here

Sonic Generations Hacking (and More!)

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

  1. ArtFenix

    ArtFenix

    20
    0
    0
    Russia
    New Sonic related Game Music Video
    Can't recall that, but I have the files xD. I'll just upload them for you cause I'm awesome =^_^=" xD.
    http://depositfiles.com/files/vpzmx4lvj
     
  2. BrigadierBaz

    BrigadierBaz

    Member
    10
    0
    1
    Poole, Dorset, UK
    Generations Music Replacement and Editing
    Thank you good sir! I had very nearly cracked it too, but no matter!

    Will be sure to post the resulting trailer being made.
     
  3. Dario FF

    Dario FF

    Tech Support Hotline Tech Member
    Thanks to Darkspines' info on terrain-model files and terrain-instance-info files I'm trying to load it up on SonicGlvl. It's really unstable yet because there's lot of root node types and meshes I still got to figure out, but it's shaping up. And I still got to figure out materials.

    [​IMG]

    The purpose of this would be that you would be able to import your own models and export the stage geometry to be compatible with the game. At least that's my goal... and it will be quite a hard one.

    The other purpose is that I can just click and delete shit and make my life 9000000 easier for doing collision meshes since I wouldn't have to deal with 1.5 gb max memory meshes and wouldn't have to deal with deleting by materials only. The terrain is just lots of little models easily detachable. :)

    And yet the other purpose would be previewing geometry inside sonicglvl and being able to use chunk streaming for making it easier to edit.

    EDIT: Note, there's no exporting yet. I'm just showing that I'm trying to read the game data directly to see what I can do. There's no way we will be able to import custom geometry until a shitload more of formats are reverse engineered.
     
  4. Aquaslash

    Aquaslash

    <The Has-been Legend> Moderator
    Random question, but does Shadow have his own jumping aura textures? I never did get to get a hold of the final texture pack
     
  5. Dario FF

    Dario FF

    Tech Support Hotline Tech Member
    [​IMG]

    *evil laughter*

    Now hoping to be able to load up materials. But at least now I can remove these meshes and make a proper collision mesh without having to deal with Max and Link's single mesh import. :v: Also this whole thing makes my program just use up to 300 mb of ram including objects as well.

    (Also the SSA x8 is killing my FPS, but I didn't do any sort of streaming/instancing optimization yet)

    EDIT: If you didn't notice the improvement to my previous pic, they are:
    1 - It's smooth stable now, hence I can load up my objects and edit them around
    2 - Everything is loading up now
     
  6. Portalboat

    Portalboat

    Member
    20
    0
    0
    Hey, about the whole object thing...

    I was playing around with the new Skyrim workshop (spaaaaaaaaaaaaaaaaaaaaaace) and I remembered the SkyUI mod. That mod, however, said that it needed a 'script extender'- an additional .exe as well as a couple .dlls that added additional script functionally for the game.

    So I got to thinking...could we do the same type of thing for custom object loading? I'd contact the people who made the script loader and ask how they did it, but they only want support requests and I probably wouldn't understand what they reply with :v:
     
  7. Dario FF

    Dario FF

    Tech Support Hotline Tech Member
    Kinda like the GTA IV script loaded I guess(Think it was called ALICE, and I recall the source code being there). I have no technical knowledge on that either, but it sounds plausible.

    I also finally nailed down the stage geometry loading. Now I just need materials and it'll look boss. :)
    [​IMG]

    Working on importing geometry to the game is another story though. There's a weird bunch of numbers at the end of each file(typically denoted by the filename being there), which Darkspines hasn't been able to find a pattern to it at all.

    Loading up the geometry without any materials takes about 10 to 30 seconds on my system, depends on the stage mostly(already uncompressed mind you). Pretty sweet I guess. Generations' stages work as well. :)
    [​IMG]
     
  8. Azu

    Azu

    I must be stupid. Member
    There's was about 3 for GTA. One that use LUA, which was ALICE, one as a .NetScript Hook, and the other was a C# ScriptHook. Might be wrong on that last one though.
     
  9. KuroBit

    KuroBit

    Member
    38
    0
    0
    What are these silly character mods I'm seeing? Only one or two changed animations and it's slapped into a video? Let's put some effort into these at least :v:!


    Anyway, quite incredible work you guys are doing here, I ended up being pretty busy so I kind of disappeared off the face of the earth when I said I'd help out here.

    Now I think you all are way over my modding/hacking skill level, hahah. Maybe something will come up that I can help with though...
     
  10. Chimera

    Chimera

    I'm not a furry. Tech Member
    1,272
    17
    18
    Castlevania prettyness
    I like this one. I like this one very much.

    Also people are aware we can make custom animations, yes? Since Metal doesn't have any parts about him that can sway, I feel like I should make my own animations for him.. But first I need to know where Modern's animations are :V though I'm sure the tutorial on how to swap characters explains that and more...

    Be back in a week :E
     
  11. Dario FF

    Dario FF

    Tech Support Hotline Tech Member
    Agreed, nice to see yours has some thought into it. But I'm looking forward to anyone who does custom animations actually, which is possible at the moment.

    Anyway, loading up the stage data and textures directly from the game files into my editor.
    [​IMG]

    I gotta figure out how to read the UV mapping and normals(they must be in the vertex data), and I'm only reading the diffuse maps at the moment because I'm not exactly sure what determines how many maps a material has. Perhaps the "common_dpn", "common_dn" thing?(diffuse, pow, normals). And I'm not sure about displacement maps. :V There's also geometry that really shouldn't be there because it's supposed to be stuff you see far away, but is unloaded as you travel through the level. Here I'm just loading all the terrain chunks, and I look forward to do streaming of the terrain data to keep performance nice and tight.

    The editor also caches the unpacked files into its folder to avoid the 1-2 minutes of unpacking everything and just load it up if the PFD hash hasn't changed. Otherwise, it unpacks it all over again.

    In theory all I could try exporting now into the game is just changing the position of the geometry(and they're individual objects so it's not much of a problem). Not delete nor create stuff since the full file formats haven't been figured out yet. (The biggest problem in particular is the weird "signature" after the end of file which is identified by the filename as a string without extension)
     
  12. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,796
    383
    63
    SonLVL
    This looks so much better than SADXLVL(2) and it only took you a fraction of the time. Maybe you should be the one working on a new SADX level editor.
     
  13. Felik

    Felik

    Member
    1,931
    114
    43
    Why would he spend time on making a level editor for a game that is inferior to Sonic generations (engine wise and graphical wise)?
    Sure it's just my opinion but the only thing that's better in SA (gameplay wise) is level design (well, ok, and no boost) and changing level design is the very goal of the level editor.
     
  14. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,796
    383
    63
    SonLVL
    I guess I can just quit SADX hacking then. Nobody cares anyway.
     
  15. Lobotomy

    Lobotomy

    35% Cognac Banned
    4,394
    1
    0
    Traverse City
    Project: Matter/Energy
    Not if your hacks can be easily ported to the Dreamcast version of Adventure. If you can do that, I totally care.
     
  16. Aerosol

    Aerosol

    Not here. Moderator
    11,200
    601
    93
    Not where I want to be.
    Sonic (?): Coming summer of 2055...?
    Holy shit Felik you must be high.
     
  17. Dario FF

    Dario FF

    Tech Support Hotline Tech Member
    Of course not. I'm mostly lazy when it comes to adding needed features which I haven't got to adding(undo/redo, object locking, better controls, etc.), and you always answer to requests pretty quickly. (Plus you got an auto-updating server IIRC). I can't even figure out this crappy windows focus issue that's been bugging me for almost a month.

    Besides, most of the figuring-data out was done by darkspines here anyway, not me. :v:

    On-topic, do you mind if I include your archive editor in the separate tools folder? I mostly call it in my program to unpack/repack everything I need, and it works great most of the time. I would include any readme/license/credits you want in the folder.

    I don't like the Adventure games. :X I do admire the hacking work on it though.
     
  18. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,796
    383
    63
    SonLVL
    You're describing SonLVL. SADXLVL2 on the other hand has been sitting for three months with no updates and only occasional work.

    Go right ahead.
     
  19. KuroBit

    KuroBit

    Member
    38
    0
    0
    Woah woah wait, what?? Where can I find information on this?
     
  20. Dario FF

    Dario FF

    Tech Support Hotline Tech Member
    In theory, using a popular 3D editor with the plugins from the Havok content tools(latest version will work fine, but make sure you get the right 32bit or 64bit for your 3D editor). Exporting an animated skeleton should work, although I'm not sure if they have to be named with some specific names. We're pretty much doing the same for collision level meshes.

    Perhaps try to import a model using darkspines script? They come with skeletons too.

    Mind you the exported format should be a Win32 Packfile.