SADX/SA1 Hacking/Modding

Discussion in 'Engineering & Reverse Engineering' started by MainMemory, Aug 15, 2009.

  1. Irixion

    Irixion

    Member Member
    So really, custom models without it looking like limbs were chopped up and taped together with hinges isn't coming any time soon? :v
     
  2. PkR

    PkR

    Member Member
    181
    0
    16
    SADX Dreamcast Conversion, The Emeralds' Awakening
    I was comparing SA1 and SADX textures and found out that the PVMs for Zero and E101R boss fights were missing in SA1. It turns out that textures for these two bosses are loaded from .PB files, EROBO.PB and E101R.PB in the Dreamcast version. I was able to figure out the format and put together a tool that extracts PVR textures from those .PB files.
    Byte 0x04 is the number of textures. The textures inside .PB files are PVR but without headers. The most essential data (pixel format, dimensions etc.) is stored at the beginning of the .PB file for all textures at once. The header data starts at 0x08. Each structure is 16 bytes and contains the following information:

    Code (Text):
    1. Offset in the NB file where PVR texture data starts (long)
    2. PVR Pixel format (char)
    3. PVR Data format (char)
    4. 2 zeroes (2 chars)
    5. PVR texture global index (long)
    6. PVR texture width (short)
    7. PVR texture height (short)
    After those structures it's just PVR texture data without the 32-byte header. The tool reconstructs a PVR file header from the essential data and calculates the size of the PVR chunk by subtracting offsets from each other.
    Here are the PVR textures extracted from both .PB files.
    SADX doesn't use .PB files, although it does use .NB files, which contain models for Zero and E101R. The textures are loaded from simple PVMs, however - EROBO.PVM and E101R.PVM.
    I gotta say I was really surprised (for the 9999th time) at how much better the textures in the .PB files are in comparison to their PVM counterparts in SADX. It looks like the SADX textures were reworked to make them usable without additive blending, though it's hard to say for sure.
     
  3. Dude

    Dude

    Tech Members Tech Member
    3,137
    0
    0
    Southbridge, MA
    Random VR/AR trash
    So I'm doing an overhaul of the toolkit. I'm looking for input. Specifically, which of the workflows would you like to see optimized first? Level editing, or character creation?
     
  4. Strife

    Strife

    Member Member
    1,887
    0
    16
    United States
    Freedom Planet 2
    At face value, I'd say that I would feel more interested in streamlined level editing due to the sheer number of stages that could be imported from other games and/or built from the ground up, but I think it depends on the scope of character editing.

    I'd love it if one day, modding reached a point where all characters have universal compatibility with gimmicks that only Sonic can normally interact with including custom animations for those who are missing them, which combined with physics mods would make it possible to not only complete any stage as any character but allow for increased gimmick variety in custom stages. Therefore, if support for things like custom animations and actions is something that could be implemented, then I'd say to go for character creation. If the plan is to just make life easier with model importing, then I think I'd prefer level editing first.
     
  5. MainMemory

    MainMemory

    Every day's the same old thing... Same place, diff Tech Member
    4,269
    0
    16
    SonLVL
    Yeah no, we're not going that deep. Just model editing.
     
  6. Dude

    Dude

    Tech Members Tech Member
    3,137
    0
    0
    Southbridge, MA
    Random VR/AR trash
    During the character workflow update there will (probably) be animation editing but there's a good chance it will just be per-frame FK with a slightly inaccurate rotation handle tool.
     
  7. Xinus

    Xinus

    New Member
    Okay. so i heard that SADX actually supports russian letters by default. so as a test i just in wrote the whole russian alphabet into the After Gamma Fight cutscene aand..

    [​IMG]

    Looks like since those letters weren't supposed to be used by default nobody bothered to add proper spacing between the letters. so they are the same that the japanese language uses. is there any way to fix this? because this just looks ugly and lowers the amount of text you can put into a single text box (also it's hard to read).
     
  8. MainMemory

    MainMemory

    Every day's the same old thing... Same place, diff Tech Member
    4,269
    0
    16
    SonLVL
    I'm pretty sure people in the past who have done Russian translation mods have swapped out the Spanish/French/German font with a Russian one, and switched the encoding in the tools from Windows-1252 (Western European) to Windows-1251 (Cyrillic).
     
  9. Xinus

    Xinus

    New Member
    I have a bootleg translation made in 2006 by who knows who (it's REALLY bad) and it seems like they just edited the FONTDATA01.BIN instead FONTDATA00. and since English alphabet has less letters than Russian they did some dumb stuff such as using 6 for letter Б and 3 for з and so on. also they didn't touch the lowercase letters at all. so all text just screams in CAPS
    just as an example of how bad it is

    Original: "Tails: What the heck is he talking about, anyway?"

    Literally what That Translation says: "WHAT THE HELL HE TALKING ABOUT, HE ISN'T A NEGRO ISN'T HE?"

    But in reality. i start to think that this translation was made as a joke. considering it's just filled with all sorts of gems like this.
     
  10. MainMemory

    MainMemory

    Every day's the same old thing... Same place, diff Tech Member
    4,269
    0
    16
    SonLVL
    I don't know about that one, but I've definitely seen at least one attempt to make a Russian translation since I started doing stuff in 2009. I even built a special version of the tools for one guy. I think someone was working on one not too long ago, but I can't tell you who it was or what happened to it.
     
  11. sikopath

    sikopath

    New Member
    11
    0
    0
    Xinus, you should make a compilation of all the weird shit the Russian version says! That would be hilarious.
     
  12. Xinus

    Xinus

    New Member
    Also i think that it's kind of unfortunate that the game fully supports russian letters and we can't use them because of this minor yet very important problem.

    Edit: and now when i noticed Sikopath's message. wouldn't it be funny to retranslate that crappy Russian translation back in English and release as a mod?
     
  13. sikopath

    sikopath

    New Member
    11
    0
    0
    I would play it lol

    edit: it would be better if we could get one guy to voice act the entire game with the new awful script. I would be open to that.
     
  14. PkR

    PkR

    Member Member
    181
    0
    16
    SADX Dreamcast Conversion, The Emeralds' Awakening
    I think it's a bit of an overstatement to say the game "fully supports Russian letters" because the Russian letters are just a side effect of FONTDATA0 being a Japanese font. The SHIFT-JIS codepage includes Russian and Greek letters in its 2-byte (full width) area. You could say it supports Greek too since there are Greek letters in there as well, but it's just because it's a standard SHIFT-JIS layout. The reason there is huge spacing between Russian letters is because they were set up as full width characters - as opposed to English or katakana, which have both 1-byte (half width) and 2-byte (full width) variations. But that doesn't mean you can't change it.
    To improve the spacing, you could edit FONTDATA0 and move all Russian letters to the left (or better yet, replace them with something better).
    I did some research on SA1/SADX fonts a couple pages earlier, hope this helps.
     
  15. Xinus

    Xinus

    New Member
    It seems like there is a Russian version of Impress font. i'll try to use it and move it to the left and see how it looks.
     
  16. Strife

    Strife

    Member Member
    1,887
    0
    16
    United States
    Freedom Planet 2
    So it looks like Beta Windy Valley has now been fully restored based on additional data from the Autodemo. Compared to the old version of the restoration, the camera is much better, additional objects have been ported, and the textures look more like the early screenshots where the level is seen.

    Combined with the Dreamcast Conversion mod (Windy Valley should be disabled via the Configuration menu before doing so), it feels like taking a trip back in time to the height of the Saturn era. Kudos to everyone who worked on it!
     
  17. S0LV0

    S0LV0

    Sonic Generations Helpdesk Tech Member
    586
    0
    0
    Spagonia
    Abusing SMPS
    I'm briefly logging in to heap praise on the Windy Valley release, because it blew me away. The spacious design and branching paths, especially in the third section, call back to the strengths of the classic games very well. Makes me wish the final game had been more designed this way, or even any other 3D game in the series. Anyway, great job with the restoration!
     
  18. Saturnine Sable

    Saturnine Sable

    Nectar Hime Member
    45
    0
    0
    SEGA Carnival
    Anyone have experience with SASave? Trying to edit some Metal Sonic times and it doesn't seem like they're sticking. As soon as I leave the tab, they reset back to the original value.
    For reference, my save is NTSC-J GameCube.
     
  19. MainMemory

    MainMemory

    Every day's the same old thing... Same place, diff Tech Member
    4,269
    0
    16
    SonLVL
    It seems to work for me.
     
  20. Saturnine Sable

    Saturnine Sable

    Nectar Hime Member
    45
    0
    0
    SEGA Carnival
    I never got it working, but I ended up just hex editing what I needed to using the save format resources on the wiki :specialed:

    More relevant - I decided to make credits images for ItsEasyActually's AutoDemo Windy Valley mod, based on PkR's HD GUI 2.

    [​IMG]
    [​IMG]

    Download - It's fine by me if the people behind either mod want to use these for anything ^^