Sonic Forces (PC/PS4/XB1/Switch) Hacking & Resources

Discussion in 'Engineering & Reverse Engineering' started by Dario FF, Nov 7, 2017.

  1. Overlord

    Overlord

    ...did we just switch realities? Moderator
    17,477
    38
    28
    Berkshire, England
    Learning Cymraeg
    Unicode, maybe? There's a few different types. Also worth reading up on Mojibake: https://en.wikipedia.org/wiki/Mojibake
     
  2. Windii

    Windii

    stan sakazaki mikoko ya coward Member
    Hm, I did try to convert the text file to Unicode, but it didn't seem to do the trick. Maybe there are certain Python scripts that can actually do the job (the closest thing I found is Chardet), but I'm currently too Python illiterate to try any of them myself. Who knows, maybe this text is Shift-JIS but insists on showing as mojibake for reasons I'm too dumb to understand. Chinese and Korean languages have their own encoding types, after all.
     
  3. AstroSeed-P

    AstroSeed-P

    Member
    41
    2
    8
    Not sure if this would work but... Try changing your computer's Locale to Japan.
     
  4. Windii

    Windii

    stan sakazaki mikoko ya coward Member
    Update: Turns out it is Unicode, and it can be decoded and put into a utf 16 converter. Unfortunately, it seems that the majority of the text that comes out is still really bugged because some of the Unicode numbers in the hex are written incorrectly, causing wrong symbols to appear in place of proper hiragana/katakana. Also it seems to completely lose its shit with kanji. Joy. :v:/>
    [​IMG]
    My text ventures with this game and Shadow may or may not have to be put on hold for now.
    EDIT: Of course, I can always repair these manually by listening to the Japanese voice line and replacing the bugged gibberish with proper kanji/kana myself, but this still means that searching through possible unused content in-text may take more time for me than usual.
     
  5. Radfordhound

    Radfordhound

    I dislike my profile picture more every day Member
    4
    0
    0
    Sonic Adventure Remastered, HedgeLib, and Forces Modding.
    I started a basic SCHG page on Sonic Forces listing out specifications for the BINA container format and the GEdit set data format.
    Feedback on it would be much appreciated! And of course if anyone has anything useful they'd like to add, please do so!

    Thanks! Yeah I was hoping to find some template stuff in the executable this time as well. Haven't found anything just yet, though being honest I haven't really looked much.
    That would speed things up quite a bit, though of course we'll still be able to make templates for every object type even if that stuff isn't there. It'll just take some time, haha.
     
  6. Moonight

    Moonight

    Member
    4
    0
    0
    Just saying, if you need some help, I can always try with a bit of Google Translator help (because Kanji is a bit too hard for me) and I also have a Japanese friend who is helping me a lot to learn Japanese who wouldn't mind helping me with the Kanji.

    I just wish to help somehow.
    Good luck!
     
  7. urlogic

    urlogic

    Member
    75
    0
    6
    http://youtu.be/z6Wuh-NM9II

    http://youtu.be/xw894L807XA

    I think anyone who wants to hack Forces should possibly try using Cheat Engine... So far this guy has made some interesting progress. Strange that he's a member here and doesn't post anything about what he does.
     
  8. MainMemory

    MainMemory

    Every day's the same old thing... Same place, diff Tech Member
    4,342
    32
    28
    SonLVL
    Video links need to be http, not https, in order for the embedding to work.
     
  9. urlogic

    urlogic

    Member
    75
    0
    6
    Thanks. Fixed my post.
     
  10. Twilightzoney

    Twilightzoney

    Tech Member
    353
    0
    16
    Elgin, IL And Hampshire
    Unleashed and Generations Stuff and Custom Works
    I spent my time wisely doing something productive with being able to use custom animation and skeletons in game.

     
  11. Retroman

    Retroman

    Member
    719
    1
    18
    GLORIOUS!
     
  12. Beltway

    Beltway

    Temptive Bongwater, Sealed in Can Member
    1,311
    3
    18
    Sega of Darkest Peru
    college courses / anime trash crusader
    There is also Lobotomy's Fixing Generations Forever mod (video is of RC1, there's been two additional RCs of the mod since). Improves Classic Sonic's rolling, momentum, and acceleration (for both his normal form and Super form), nerfs the spin dash, and fixes Super Sonic's ring consumption among several other things.

    Combine the FGF mod and No Automation mod together (as you can somewhat see in the video below) and you're at least 80% to having classic Sonic's core gameplay components correct. The only notable component I don't think I've seen anyone attempt fixing with Generations is giving classic Sonic his bouncing / vertical momentum properties.

     
  13. urlogic

    urlogic

    Member
    75
    0
    6
    Oh man, this is seriously cool as hell. I look forward to seeing what you do next.
     
  14. rata

    rata

    Member
    528
    5
    18
    Argentina
    Trying to be useful somehow.
    I'm literally crying out of laugh with this. Where does that thing come from?
     
  15. Amnimator

    Amnimator

    Member
    224
    0
    16
    Monokuma comes from a game called Danganronpa, where a teddy bear locks a bunch of people in a school and forces them to kill each other to escape. Zoney and Melpontro also did a mod including Monokuma for Unleashed, so I guess that's a bit of context.
    The other bit of context is that in one of the recent Danganronpa games, Monokuma has a voice line referencing Sonic. I just it's dumb-fun , it's not much deeper than that outside of a few spoilers :V

    Thanks for this Zoney, but the question remains: Pele when?
     
  16. Twilightzoney

    Twilightzoney

    Tech Member
    353
    0
    16
    Elgin, IL And Hampshire
    Unleashed and Generations Stuff and Custom Works
    Yep! All for the lore of it all.

    I made a new model of Pele from scratch purposely for this reason needs to have teeth and a tongue basically.

    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

    Sometime in the future. ;)/>/>


    Also we have Lost World/Forces model headers figured out since they use tags at the header part right before the model data to tell it to do certain things. Such and to make a model cast shadows or recieve shadows. We have a way of writing them but its a bit hacky at the moment would like to make it easier and not hardcoded to be completely honest. But at least its progress!

    [​IMG]

    Not having these would make models look out of place a bit like this.

    [​IMG]

    When it should be more so like this. Also with QTE parts like these if you don't have the animation be the same length as the original animation it doesn't finish the qte and everyone just freezes in place the game is still running but just acts like its paused since it can't find anymore frames.

    [​IMG]


    Also we got custom terrain loading for now. But we need to figure out the Probe files and SHLF files for terrain lighting and object lighting.

    [​IMG]

    Without those files and probes placed in the terrains area it causes everything to go pitch black for shading. As you can see its Windy Hill in the background. Also the Terrain Model Node limit is back again from Lost World. Since this game doesn't have proper terrain streaming they have a set limit of how many are drawn. Whic his 1024 nodes. Test it by forcing a terrain sector to load first but it still didn't fully load the rest of them since it drew in what was closest to sonic.

    [​IMG]

    As you can see at the top left it only drew a few models from Windy Hill while rest isn't being loaded in at all.

    Also finding out they did the mouth swapping the exact same way as Lost World. It doesn't hide it by the bone name instead they name the meshes in the export and in the model file looks for the string name of the mesh and hides it. Which in the case of Sonics mouths they are called Mesh_Mouth_R Mesh_Mouth_L.
    We also have this supported to have names added in when exporting out a model.


    [​IMG]

    So now we can technically can fix Super Sonic in Lost World now. haha since they reused the Generations Super Sonic model exactly without doing mesh name support.


    So for now we still need to look into more files before modding can really take off.
    1. Reading HKX 2016 TAG Format (We can export older versions of Havok TAG format but not for collision apparently unsure still what it needs)
    2. PROBE Files for stage lighting we need to figure out the format and way to generate them and bake the IBL maps for it.
    3. .SHLF which are basically the new LightFields for giving light to Sonic and game objects. Same thing will have to find a way to bake the SH maps for them.
    4. RFL files these contain basically parameters that control what the game is doing. They are binary files and contain no strings. They are used for Sonics Physics and Stage SceneEffect setups.
    5. CEMT Are the Particle files
    6. EFFDB which are particle locations
    7. ASM Files are used for telling what object uses what animation for what action basically. Haven't dug much further into it.

    Making fast progress thanks to Dario having all that LibGens stuff already set up and for Sonic Team for being lazy and not changing too much. Hard part is getting Set Data object templates from the EXE and figuring collision and lighting.
     
  17. Amnimator

    Amnimator

    Member
    224
    0
    16
    Pele is looking great. He's fighting to save his home town, Uncanny Valley Zone, and his fellow non-anthropomorphic dog bipeds :V

    Also, you guys have been figuring things out, fast, and a lot neat bits of info as well. With terrain streaming like that, that would mean we'd come across similar issues like Lost World in terms of larger stages, right? Is it possible that's part of what incentivised them with bite-size stages?
     
  18. Moonight

    Moonight

    Member
    4
    0
    0
    I don't really want to come with dumb questions, but is there any way so far to get the armature, and how then? After extracting the .pac files, I supposed it was the skl.hkx file, but I don't find anything else more than Skyrim related things, that If I use they give me an error saying basically that it's not compatible.

    Thanks in advance and sorry for disturbing.
     
  19. Skyth

    Skyth

    Member
    15
    0
    1
    You can rip the rigging and skeleton using modelfbx from my fork of LibGens.
    If you don't input a .skl.hkx file, the program is going to export the skeleton from model file itself.
    As for normals, it seems 3ds Max versions below 2016 cause normals not to import correctly. Other 3D programs (like Blender) seem to work fine, though.

    As for the PAC files, you can grab my PAC unpacker/repacker from here.
    You will need Python 2.7.14 to run the script.
     
  20. Dario FF

    Dario FF

    Tech Support Hotline Tech Member
    Oh hey, nice to see you're here.

    Added both of those to first post.