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

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

  1. JaxTH


    Pudding Deity Oldbie
    Los Angeles
    Jack shit.
    That was the entire point of the HE in the first place.

    No one bit.
  2. TheBdude


    One thousand game breaking bugs on the wall... Member
    I remember them saying they'd put it up for licensing, but did they actually ever do it?
  3. Dr. Mecha

    Dr. Mecha

    Dallas, TX
    3d Models
    So there's no way to Fix Classic Sonic?
  4. urlogic


    Well, nobody fixed him in Generations. I don't see why anyone would want to fix him in Forces.
  5. Why would anyone want to use HE/HE2? It's not very "good". There's plenty of other engines that are much, much better. Hell, Sonic 06's engine was pretty robust for its time.
  6. Covarr


    Sentient Cash Register Member
    Trapped in my own thoughts.
    Two stageplays, a screenplay, and an album
    I assume the level designs rely on Classic's crappy physics. Fixed Sonic would mean a broken game.
  7. Dissident


    AKA Discoid Member
    Unleashed is quite beautiful if you're looking at it rebuilt in Generations PC as accurately as possible but... yeah, their big showcase game getting middling reviews and running like utter dogshit on console probably didn't help them lol.
  8. Mastered Realm

    Mastered Realm

    A green crystal Member
    They actually got close.
  9. Dr. Mecha

    Dr. Mecha

    Dallas, TX
    3d Models
    Look, seeing that this build off of the Lost world's engine, I would love to see at least the gravity getting a makeover; It's like you're controlling Heavy the Mechanic.
  10. Radfordhound


    I dislike my profile picture more every day Member
    Sonic Adventure Remastered, HedgeLib, and Forces Modding.
    So I cracked the set data format (with the exception of object rotation).
    It's VERY similar to the SOBJ stuff from LW and Colors, but it has a lot of changes that honestly make no sense in my opinion.

    For one thing they, for some reason, went back to using names for each object in addition to the object type and ID, just like what '06 does.
    (So if you have 5 rings, you have an object called "ObjRing01", "ObjRing02", "ObjRing03", etc.)

    Beyond this, I don't seem to see any form of the MultiSetTransform stuff from SU/Colors/Gens/LW? As a result, this means that, for example, 15 rings in a row must be defined via 15 completely separate ring objects all of which contain the exact same parameters, therefore wasting tons of space by unnecessarily repeating data throughout the file.

    The other negative just comes from the fact that we'll have to create templates for Forces sets just like we had to with Colors and LW, as the type-specific parameters are hard-coded.
    But yeah other than ALL of this, set data wooooo


    Here's the source I wrote to read/write Forces sets, and here's the templates I've written so far (HUGE WIP). If anyone's interested, feel free to screw around with it! I'm planning on incorporating this into HedgeEdit (my WIP sonic level editor) once I get more templates made and get the rotation stuff figured out. But for now at least you can read/write sets via calling this.

    Huge thanks to SuperSonic16 for cracking some of post-BINA header and sharing it with me (which kick-started the effort to crack the sets).
  11. Dario FF

    Dario FF

    Tech Support Hotline Tech Member
    As if that was anything but par for the course. :v:

    Nice work on the sets BTW. If we're lucky we could find the debug information like Aruki did for Lost World on one of the other version's executables, making the creation of those templates much easier.
  12. Windii


    Shadow Mahjong Fighter Member
    Oh, dang. Now I wish you would tell me that before I uploaded my Sonic Forces vid. Thanks, though. This is really cool. I previously tried using Cheat Engine in hopes to remove subtitles from the Riders games' cutscenes, but I got nothing. Even if I can remove the text, those gray textboxes just won't go away. They are definitely not textures, that's for sure.

    EDIT: Cheat Engine doesn't seem to like that address, saying it's invalid. Weird. Do you think you could make a table? This could prove really useful.
  13. Here you go. Just set the HUD Width Scale to 0 and set it to Active. It should work. You can also change the aspect ratio if you want, since it's simply a float, just divide width by height of the current game size (2560/1080 for 1080p/2160p UW).

    Edit: Oh yeah, game accepts Generations model format, just like Lost World. Here's Generations model with several bones renamed to work with Forces, UVs haven't been modified yet to work with the current limitations of PAC repacking.

    Edit 2: Updated the cheat table for the latest version of the game.
  14. Windii


    Shadow Mahjong Fighter Member
    Oh! Yeah, that definitely works. Thanks a ton!! It definitely makes recording a little easier because I can pick the stage/cutscene I need beforehand. Only problem is that it seems to remove all fade-outs as well, so you get stuff like this sometimes. It's nothing that some video editing can't fix, though.
    Now I just wish I knew games like Shadow/Black Knight well enough to completely remove HUD from those, as well as the text box in Zero Gravity.
  15. urlogic


    Are people actually that into hacking Forces? Lost World mods could have made that game wildly better since it barely used the parkour system in it's regular levels. But the modding scene for LW was pretty much dead on arrival.
  16. RikohZX


    Mostly because almost every facet of Lost World was hardcoded into the executable; you could do new levels and model/animation/sound swaps, but nothing much beyond that without going to extensive pains to literally hack the program.
    Folks are trying right now to figure out if Forces is much the same, which could be a death kneel for it.
  17. MainMemory


    Kate the Wolf Tech Member
    Stuff being hardcoded hasn't stopped people from modding SADX, SA2, S&KC, Heroes, Mania, Sonic R, or for that matter any of the classic games that this community was built on. It requires a different approach, and a different set of skills, but it's still possible that something could be made out of Forces no matter how much of it is hardcoded. Of course, if you do have to go digging into the game's code to accomplish things, updates will quickly throw a wrench into that.

    For my part, I don't even have the game yet (lack of funds), and I haven't really tried disassembling/decompiling a modern game written in C++ with all the Lua scripting and physics engines and such.
  18. Chimpo


    Atomic Sonic Part II
    If lack of funds is stopping anyone from touching the game, then I do not mind throwing 40 dollars into the fire just for the attempt.
  19. Lanzer


    The saber calls for its master... Member
    Glendale, AZ
    Living life.
    Same here, Give us a paypal and I'm sure some of us will be happy to donate for hacking research.
  20. Windii


    Shadow Mahjong Fighter Member
    It seems that this game's text files--which are cnvrs-text files inside the .pac archives--seem to work the same way as most of the .fnt files in Shadow the Hedgehog do. That is, non-Japanese text files appear just fine when viewed in Notepad/Notepad++/HxD and whatnot (despite being separated by null spaces between every letter, no pun intended), but Japanese appears to be completely garbled. This also happens to Korean and Chinese languages in Forces.
    That screenshot is taken from HxD and I did try to convert the hex numbers to Shift-JIS, but they still came out garbled. So whatever the text is encoded in, it's definitely not Shift-JIS. My head hurts trying to figure this out. :psyduck:

    I'm mentioning this because the Japanese text could have some really neat hidden stuff that the English text may have glossed over and I like translating it. Not to mention this may save me hours of playing each stage just to capture every single spoken line. If anyone happens to know anything about how wacky Japanese character encoding works, that would be absolutely amazing. This could also potentially save me from playing every single stage in Shadow the Hedgehog too.