I’ve updated the Steam conversion part of SADX Mod Installer with a new UI that tells you what it’s doing and reports all errors right away. If the program crashes while trying to do anything (for example, if there’s an access error because SADX is running or some files in its folder are open in another program), it will let you try again. It also saves logs for both the installer and the Steam conversion tool in SADX folder.
This update is mainly for those who have trouble getting the conversion to succeed and end up with the game missing videos and sounds. The tool should now be able to tell you what’s wrong, though you might still have to reinstall the game from scratch and run the installer again for it to work properly.
This is likely the last feature update for the mod installer. There may be language and maintenance updates in the future, but I won’t be adding any new features or mods to it.
The new version of the Dreamcast DLC mod is now out! You can use this mod to play SA1 DC downloadable content in SADX PC, as well as develop your own custom downloads that will work both in the mod and even in the Dreamcast version provided that you convert it using SA Tools first. Also, this version includes Tikal’s challenge, a custom DLC created previously for the Dreamcast version.
Get the mod here or simply update the previous version through the Mod Loader. If you get a “directory not empty” error while updating the mod, just hit cancel and it’ll work fine. I don’t know why it happens.
Here’s an excerpt from readme/release notes: ==CREDITS== -SonicFreak94 for the code to play the SEGA/Sonic Team voice -Darksecond for figuring out SA1 DLC and rank data encryption and posting it on ASSEMbler -Sappharad for providing C# code to decrypt SA1 DLCs and for cracking the integrity check -Daguar for giving me a hint on where to look for DLC item table -Exant for making a lightweight “sitting Chao” model for the Tikal DLC -Moopthehedgehog for the rediscovered Kadomatsu DLC -TheLegendOfXela for high quality music and sound rips -LastBreath for beta testing
==CHANGES FROM THE OLD DREAMCAST DLCS MOD== -The mod has been rewritten from scratch to work more like the original game’s DLC system -Text strings in all languages used in original DLC content have been preserved -DLC content can now load in Adventure, Trial or Mission Mode -Added Tikal’s challenge -Lighting accuracy updates -Custom codepage support: add system\dlc\codepage.ini with “FrenchCodepage=….” etc. to make French, Spanish or German strings use a codepage other than 1252 -Famitsu and QUO challenges no longer replace Station Square camera files with their counterparts from the original 1998 release of SA1 -Twinkle Circuit options for characters have been removed – you can now use the “Mercury GP” menu to go to any course with any character -The “Alternative challenge timer GUI” option has been removed in favor of a more accurate SA1-like timer -Seasonal DLC options have been rearranged -Workarounds from the old mod to prevent DLC content from interfering with story progression have not been reimplemented
I’ve added my DLC tool to the SA Tools suite, you can find it in the SA1 folder. It’s a simple command line tool that unpacks VMS files and rebuilds them from source assets and metadata. I want to make a GUI version of it someday, but for now I want to work on something else. The tool and the data should be self explanatory for the most part, and there’s also plenty of documentation in the readme file.
For those who want some juicy details, here’s the layout of SA1 DLC files:
* VMU HEADER
* OFFSET SIZE TYPE DESCRIPTION
* 0 16 string DLC title
* 10 32 string DLC description
* 30 16 string Application title
* 40 2 ushort Number of icons
* 42 2 ushort Animation speed
* 44 2 ushort Eyecatch type (unused)
* 46 2 ushort CRC (unused)
* 48 4 uint32 Size without the header
* 4C 20 null Reserved
* 60 32 ushort Icon palette, 16 colors
* 80 512 byte Icon graphics
*
* SECTIONS HEADER (SIZE 64 BYTES)
* 280 4 uint32 Pointer to item layout table
* 284 4 uint32 Item count
* 288 4 uint32 Pointer to string table
* 28C 4 uint32 String item count
* 290 4 uint32 Pointer to PVM
* 294 4 uint32 Number of PVMs (always 1)
* 298 4 uint32 Number of textures in the PVM
* 29C 4 uint32 Pointer to MLT
* 2A0 4 uint32 Number of MLTs (either 0 or 1)
* 2A4 4 uint32 Pointer to PRS
* 2A8 4 uint32 Number of PRSes (always 1)
* 2AC 4 uint32 Checksum
* 2B0 16 null Unused
*
* ITEM LAYOUT TABLE HEADER (SIZE 12 BYTES)
* 2C0 4 uint32 DLC ID (e.g. 504 in SONICADV_504)
* 2C4 1 byte Enable Sonic / Enable Tails
* 2C5 1 byte Enable Knuckles / Enable Gamma
* 2C6 1 byte Enable Amy / Enable Big
* 2C7 1 byte Unknown, probably unused
* 2C8 4 uint32 Regional lock
*
* ITEM LAYOUT TABLE (ARRAY BEGINS AT 0x2CC, ITEM SIZE 30 BYTES)
* 0 1 uint8 Level ID
* 1 1 uint8 Act ID
* 2 1 uint8 Scale X multiplied by 10
* 3 1 uint8 Scale Y multiplied by 10
* 4 1 uint8 Scale Z multiplied by 10
* 5 1 uint8 Rotation speed X
* 6 1 uint8 Rotation speed Y
* 7 1 uint8 Rotation speed Z
* 8 1 sint8 Item type (0: model, -128: sprite, -1: invisible)
* 9 1 uint8 Texture ID
* A 2 ushort Flags
* C 1 uint8 Object ID for collectibles or the number of objects to collect
* D 1 byte Unknown
* E 1 uint8 Message ID to show when touching the object
* F 1 uint8 Trigger distance
* 10 1 uint8 Level ID to warp or soundbank ID (8 for MLT, 15 for ADX music)
* 11 1 uint8 Act ID to warp to or sound/music ID to play
* 12 2 ushort Rotation X
* 14 2 ushort Rotation Y
* 16 2 ushort Rotation Z
* 18 2 short Position X
* 1A 2 short Position Y
* 1C 2 short Position Z
*
* DLC OBJECT FLAGS
* BIT_0 Unknown
* BIT_4 Unknown
* BIT_8 Solid
* BIT_9 Play sound
* BIT_10 Show message
* BIT_11 Hide object and disable everything except collision
* BIT_12 Warp
* BIT_13 Collectible item
* BIT_14 Timer item
* BIT_15 Starts the challenge
*
* REGIONAL LOCK BITS
* -1 Disable regional lock
* 1 Japan
* 3 US
* 4 Europe
* 7 All regions
This release is for the original Dreamcast game, not SADX PC. A PC version of the challenge will be available at a later date.
Today I’m releasing something a bit special. This is the first fully custom* Dreamcast Sonic Adventure DLC that adds a new challenge without hacking the base game. It’s built like the official SA1 DLCs, and it makes use of SA1’s internal system to add objects and challenges to the game.
To stay true to the spirit of official SA1 DLCs I’d like to make this a contest with a “real” (though merely symbolic) prize. To participate, simply record your playthrough of this challenge and share the video. You can play it on an emulator or on a real Dreamcast. The fastest player who beats the challenge in the shortest amount of time will get a free Sonic Adventure DX Steam key from me.
The contest will run until September 23rd, 0:00 (UTC). The deadline may be extended depending on the number of entries. Submit your results here
To get started, you need to import the file SONICADV_515.VMS or SONICADV_515.DCI to your memory card. On PC you can use a memory card editor (such as redream’s save manager). To play it on hardware you could burn the file to a CD together with Dream Explorer, or use an SD card adapter with DreamShell. If your Dreamcast is connected to the Internet, you can download it from the revived official webpage directly from Sonic Adventure!
This DLC was made using a tool that I’ve been developing during the last several days. Once the tool is released you will be able to make your own DLCs for Sonic Adventure from scratch (within the limits of the game’s DLC system of course)!
*Technically it’s not the first edit of a DLC, but it is the first DLC that adds custom objectives and makes extensive use of the DLC system rather than edits object properties. Huge thanks to Sappharad for figuring out the integrity check for the DLCs, which made this whole thing possible.
Credits: -Darksecond for figuring out SA1 DLC and rank data encryption and posting it on ASSEMbler -Sappharad for providing C# code to decrypt SA1 DLCs and for cracking the integrity check -Daguar for giving me a hint on where to look for DLC item table -Exant for making a lightweight “sitting Chao” model -The graphics are based on Sonic Adventure (+DX) assets