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

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

  1. Dario FF

    Dario FF

    Tech Support Hotline Tech Member
    Just creating a quick topic so people can dump whatever they find here. Will try to update with more info as it comes.

    HedgeModManager for Sonic Forces by Radfordhound (& thesupersonic16's fork).

    Highlights:

     
  2. Dark Sonic

    Dark Sonic

    I'll find the old avatar eventually Member
    12,054
    4
    18
    Working on my art!
    Sonic Lost World 2 confirmed.

    It's funny, you'd think since they went back to the boost gameplay and Classic Sonic it would have been easier for them to back peddle and build the game off Generations, yet they decided to build it off Lost World.
     
  3. So...I guess this means we can't mod it as much as we could Generations?
     
  4. Spanner

    Spanner

    The Tool Member
    3,207
    0
    16
    United Kingdom
    Sonic Hacking Contest
    So, how long before someone gets Bubsy in? Starting the clock.
     
  5. Dario FF

    Dario FF

    Tech Support Hotline Tech Member
    The biggest barrier to Lost World was and still is Lost World itself. :v:

    (Not that I'm sure how much better this game will fare yet as I haven't played it yet)
     
  6. DustArma

    DustArma

    Member
    1,301
    0
    0
    Santiago, Chile
    Learning Python.
    PC version of Forces is broken to hell right now //forums.sonicretro.org/public/style_emoticons/default/specialed.png
     
  7. Twilightzoney

    Twilightzoney

    Tech Member
    353
    0
    16
    Elgin, IL And Hampshire
    Unleashed and Generations Stuff and Custom Works
    Well able to load other characters into the levels so thankfully that works the same. With editing the actstgmission.lua and putting it into the patch cpk to override it.

    https://youtu.be/g4C5Ssa3K7I
     
  8. As long as there's a low-end mod for Forces, that's all I want.
     
  9. Windii

    Windii

    stan sakazaki mikoko ya coward Member
    This game uses AWB/ACB/ACF formats to store audio just like in Lost World. Unfortunately, the current version of VGMToolbox does not seem to support them. This only applies to the main game files, because Episode Shadow DLC works just fine. It looks like this issue has been fixed in the latest commit of the tool but it hasn't been compiled into a proper release yet. I was wondering if it's actually possible to compile this version from a snapshot here, and if it is, that'd be amazing.

    Unless of course there are other tools that can extract those audio archives besides VGMToolbox that I'm not aware of. If there are, then I'm sorry.
     
  10. Radfordhound

    Radfordhound

    I dislike my profile picture more every day Member
    4
    0
    0
    Sonic Adventure Remastered, HedgeLib, and Forces Modding.
    Trying to figure out the new PAC format.
    Here's all I know so far:

    Code (Text):
    1.  
    2. // Forces PAC Format
    3. struct HEADER
    4. {
    5.     char[4] Signature = "PACx";
    6.     char[3] versionString = "301";
    7.     char bigEndianFlag; // If this value is 'B' the file is big-endian, otherwise it's in little-endian.
    8.     uint unknown1;
    9.     uint fileSize;
    10. }
    11.  
    12. class FileEntry
    13. {
    14.     uint unknown1;
    15.     uint fileSize;
    16.     uint unknown2 = 0;
    17.     uint unknown3 = 0;
    18.    
    19.     uint dataOffset;
    20.     uint unknown4 = 0;
    21.     uint unknown5 = 0;
    22.     uint unknown6 = 0;
    23.    
    24.     uint groupOffset; // Not sure lol
    25.     uint unknown7 = 0;
    26.     uint unknown8; // maybe compression type? Idk
    27.     uint unknown9 = 0;
    28. }
    29.  
    Yeah not much lol but it's something™
    The grouping is a major thing that obviously still has to be figured out

    EDIT:
    You're welcome/I'm sorry
    [​IMG]
     
  11. Ask and you shall receive, VGMToolbox-1045. I don't have the game files with me yet but I got someone else to test for me and it worked for them. Apparently the only issue is that the names get applied to the wrong files. Also a note to those who want to compile it manually, switch the compile settings to x86. For some reason, Any CPU doesn't work.
     
  12. Lanzer

    Lanzer

    The saber calls for its master... Member
    6,841
    0
    16
    Glendale, AZ
    Doing Stuff.
    So I'm guessing with the first few depressive posts that this game is pretty much hard coded like Lost World?

    Jeez, oh well guess we just got really lucky with Generations but I guess every future Sonic is going to be dead in the water modding wise. I'm still looking forward to the findings of this game at least.
     
  13. Twilightzoney

    Twilightzoney

    Tech Member
    353
    0
    16
    Elgin, IL And Hampshire
    Unleashed and Generations Stuff and Custom Works

    I think this game has more potential then lost world. The huge hurdle is figuring out how to tackle the HKX format since we don't have a free sdk to help us make the files now.

    Anyways end game spoilers.

    So in this game Avatar/Buddy has a wall jump and its only used in this one level in the entire game. Its pretty bizarre to have something in your skill set and not use it in the level design.

    The entire late levels seem to realize that you can use other moves in the game. With Modern Sonic being able to use his slide move.

    So I was curious and loaded Modern Sonic into the buddy level. Usually he'll crash depending when he tries to use the grapple.

    https://www.youtube.com/watch?v=jkg4w1UH6E0

    https://youtu.be/k0rPWsmZmOQ


    So I forced this level to load on another level slot. And I saw some info in the set data that called an object "TerrainBlock" made me think " Oh no this means they hand made terrain groups by pointing at things." No way they could do that right?

    Then I find in the actsgmission.lua these parts here.


    Code (Text):
    1.             -- w5:荒廃グリーンヒル stage11"
    2.             {[img]https://i.imgur.com/xZ90B1b.png[/img]
    3.                 name = "w5a02",
    4.                 dir = "w5a02",
    5.                 player_chara = "buddy",
    6.                 stage_no = 16,
    7.                 sequence_no = 20,
    8.                 amb = "obj_w5a02_env1",
    9.                 static_sectors = { 10, 50, },
    10.                 dynamic_sectors = { 11, 20, 21, 30, 31, 40, 99 },
    11.                 attrs = { "use_sos", "numberring", "yellowmoonring" },
    12.                 chunk_type = "after",
    13.             },
    T
    The Static_Sectors and Dynamic_Sectors. So when I loaded on another level slot it causes geometry to still pop in. Trying to load in quickly. So it seems the game has some basic form of terrain loading. Then I see here in the folder for the level these in the stage folder here.

    [​IMG]

    Some of those numbers match up with this here.

    [​IMG]

    Gives me a little bit of hope. And also frustrates me that they didn't just reuse terrain streaming from Unleashed/Generations as a base. Its so bad haha.
     
  14. Lanzer

    Lanzer

    The saber calls for its master... Member
    6,841
    0
    16
    Glendale, AZ
    Doing Stuff.
    Well, I still have faith that something will come along but I'm tempering my expectations for instant modding right away. if anything, Forces will be a slow burn ala SADX, which wasn't a right away success but eventually did come far enough to produce decent to excellent mods.

    At least it ain't Sonic 4! but fuck them for making Lost World the base for this game.
     
  15. Windii

    Windii

    stan sakazaki mikoko ya coward Member
    Oh man, it does seem to work now. This is amazing. I'm not currently sure if the file names are actually correct for each audio file, but I'm too happy at this point to get too deep into it. I hope snakemeat updates the tool soon.

    Also, if the updated pac format is figured out, I hope there will be a way to make mods that remove the HUD, subtitles and that widescreen cropping overlay thing that's put on cutscenes, whatever that may be. The game's cinematics (+ pre-rendered stuff) are actually fully 1920x1080 but are cropped to 1920x936 in-game for some reason. It's minor stuff, I know, but it'll still help maintain quality and consistency for videos I plan to make. And everybody likes HUDless gameplay.
     
  16. Amnimator

    Amnimator

    Member
    223
    0
    0
    Don't have access to the PC version, but any chance this is like Lost World where you can add stages through a lua file instead of replacing them?

    Granted Lost World glitched the overworld out a bit when attempting it, but still :V
     
  17. Well, it would be nice to have a Generations-esque engine without the restrictions on how many levels we're allowed to have. Now I'm kind of torn. I don't think that this game deserves a purchase as-is, but I'm sorely tempted to buy a copy anyways just for the potential mods.
     
  18. Dissident

    Dissident

    AKA Discoid Member
    Just wait for some quality mods to come out that you feel like playing, that's my plan. By that point the game will probably be like $5 anyway.
     
  19. RikohZX

    RikohZX

    Member
    363
    0
    16
    I'm curious as to whether the DLC handler could be hijacked in its own way for custom clothes or levels, seeing as Episode Shadow gives itself its own version of the world map and everything.
     
  20. TiMan

    TiMan

    OH NO Member
    5
    0
    0
    Israel
    Even though it seems the game is based on the Lost World engine, I hope we can manage editing the physics and the levels layout. I think this game needs some tweaks with the level design and physics, so it might be nice if we could do it ourselves [​IMG]. I have already few ideas in mind on tweaking certain areas/levels, but we'll see how it goes.