Sonic Adventure 2 PC Version - Printable Version +- The VG Resource (https://www.vg-resource.com) +-- Forum: The Resources (https://www.vg-resource.com/forum-109.html) +--- Forum: The Models Resource (https://www.vg-resource.com/forum-111.html) +---- Forum: Ripping Help (https://www.vg-resource.com/forum-115.html) +---- Thread: Sonic Adventure 2 PC Version (/thread-35272.html) |
Sonic Adventure 2 PC Version - FallenLogic - 03-19-2019 THE GOAL OF THIS RESEARCH : https://www.vg-resource.com/thread-29688.html BASIC INFO : Originally for the Dreamcast. Developed by Sonic Team, published by SEGA. Ported to GC and PC in 2001 and 2012. KNOWN (FILE FORMATS) : Uncompressed (not in an archive, anyway): ADX : Dreamcast audio (songs) MLT : Dreamcast audio (sfx) SFD : Video file M1V : Technically a video file, but often used for particle effects (Chaos Control) Compressed files: PAK: Compressed (various) files. PRS: Compressed (various) files. Files contained in PRS/PAK: DDS (Direct Draw Surface): Textures (Microsoft's format, interestingly) Ninja Chunk: Model format (characters, objects, and stages) HOW DATA IS STRUCTURED : Folders: root (Sonic Adventure 2)/resource/gd_PC/ in gd_PC: ADX: ADX audio files Debug: Debug Font DLL: DLLs event: Cutscene/event files Font: font (which isn't actually used for most things, as text is usually prerendered) Message: Messages with button icons MessageK: Messages with key icons MLT (Manatee Library): Sound effects MPB: More sound effects PRS: Texture/Stage/Model/Main Menu and Stage Map Files (in the PAK format) SAVEDATA: Save data SOC: 2P and Menu Textures PRS files in root: particle and effect textures, PRS may have been used on DC. SET/BIN files: Stage layouts Objects are included in the archive for every instance they're used (so stages that use the same items have duplicates in their folder). This is likely what resulted in some cutscenes using Dreamcast models and others using higher-poly ones. From vg-resource: "Sound Effect files are stored in the files with SE in beginning of the filename. The files with EH are for the Emerald Hunt hints that come from the monitors. The MH files, if memory serves, are for Omochao and monitor hints in levels. All of the SET files are files that place objects in a level. If you're familiar with SADX modding, they're the same thing. SA2 just happens to use them for a lot more stuff than just objects. All stage data is stored in STG file names with just the stage ID attached. The _FOG, etc, files are for handling other aspects of the stage. All character data is stored inside any files with a character name in it and MDL also in the filename. Here's a list of all of the character files. sonicmdl Sonic teriosmdl Shadow knuckmdl Knuckles rougemdl Rouge twalkmdl Tails Mech ewalkmdl Eggman Mech eggmdl Eggman milesmdl Tails ssonicmdl Super Sonic sshadowmdl Super Shadow ==Alt Costumes== psosonicmdl PSO Sonic Costume psoshadowmdl PSO Shadow Costume bknuckmdl Black Knuckles Costume brougemdl Black Rouge Costume twalk1mdl Tornado 1 Costume ewalk1mdl Camo Costume ==Alt Characters== amymdl Amy metalsonicmdl Metal Sonic ticalmdl Tikal chaos0mdl Chaos 0 cwalkmdl Chao Walker bwalkmdl Big the Cat Walker ==Halloween Costumes== hsonicmdl Sonic with Pumpkin hshadowmdl Shadow with Bones hknuckmdl Knuckles with Bones hrougemdl Rouge the Witch htwalkmdl Tails Pumpkin Colors hewalkmdl Eggman Pumpkin Colors ==Christmas Costumes== xsonicmdl Sonic as Santa xshadowmdl Shadow as Santa xknuckmdl Knuckles with Ornaments xrougemdl Rouge Christmas Colors xtwalkmdl Tails Christmas Colors xewalkmdl Eggman Christmas Colors " Stage files/data addresses: http://info.sonicretro.org/SCHG:Sonic_Adventure_2/Level_Data_Locations RIPPING STAGE DATA : MainMemory's SALVL can rip level geometry. The issue is with things like enemies that store data making use of the Ninja format's cache. Animated objects do not read properly: https://www.vg-resource.com/archive/index.php/thread-29688.html I suspect that some enemies like the Artificial Chaos Units may actually not use skeletal animations. Current code used to load model vertices: https://github.com/sonicretro/sa_tools/blob/master/SAModel/ChunkAttach.cs#L200 Video tutorial (this is for the Dreamcast version): https://www.youtube.com/watch?v=oB1ZYNp9bEc EVERYTHING BELOW THIS POINT IS MISCELLANEOUS, PERSONAL RESEARCH, AND/OR SPECULATION Sonic Adventure 2's shadows on Dreamcast do not use the same LANTERN engine as Sonic Adventure 1. Certain areas have prerendered shadows (trees in City Escape, and the bridge in the limo cutscene). The Dreamcast was the only console to support Order-Independent-Transparency on the hardware level. This means that it could load a series of transparent items without much problem. The GameCube did not, so places requiring transparency (for the most part) had to have textures edited or changed. Texture fighting can be seen on Super Sonic's body and when Dr.Eggman shines the flashlight (the windshield appears over the light). Character lighting is duller and less detailed that the Dreamcast version, likely because of hardware differences that could make the same shading difficult to implement. In the file resource/SHADER/win32/obj.pak, there are several WPU/WVU files. According to YouTuber Darío, the same file format is used in Generations for the same purpose, and can be read using the Windows SDK. "Done by carefully implementing the WPU/WVU files from the game. I had to crack all the related shader files to get the right indices for knowing which registers to pass the parameters to and what shader to use in the correct occasion. There's quite a lot of inaccuracies and non-working shaders due to not having implemented most of the buffers / parameters it needs just yet, but this is what can be previewed so far. The WPU/WVU files were disassembled to HLSL ASM with the Windows SDK." Video of SonicGLVL here: https://www.youtube.com/watch?v=1OorZ6Sjfmg I believe that it is actually a very similar format, not just the same extension, because the PC version actually repackages Windows DirectX (graphics) libraries. The (Generations) shaders say "Generated by Microsoft ® HLSL Shader Compiler 9.29.952.3111" SonicGLvl source code can be found here: https://github.com/DarioSamo/libgens-sonicglvl/blob/master/database/shaders/AlternativeDOF_NoLight_NoGI.wpu.asm Looking up HLSL Shader Compiler returns only source code for converting HLSL to .DIRECTX shaders. THE WINDOWS SDK: I saw no mention of shaders, HLSL, or the WVU/WPU format on Wikipedia, but here's the SDK: https://developer.microsoft.com/en-us/windows/downloads POSSIBLE METHOD FOR OPENING MODELS: Programmer Rich Whitehouse has created a program called Noesis (I think the name means something like 'enlightenment' in Greek, not sure) that apparently supports the Ninja Chunk format. It is open source, but I have yet to test it. Note: Not direct download: http://www.richwhitehouse.com/index.php?content=inc_projects.php&filemirror=noesisv4395.zip NOTE: I have been informed (see reply) that there is no connection between the RenderWare Engine and Sonic Adventure 2. The RenderWare Engine was used for Sonic Heroes: https://gta.fandom.com/wiki/RenderWare Shaders (not model shaders, just overall ?Framebuffer? (applied after everything else is rendered) shaders) copied from GTA: San Andreas (which also uses the RenderWare engine) work in SA2:B (see video) https://youtu.be/Yrjm-fRYpIM Note: to fix the bug that he refers to in the description, open the DLLs in a Hex Editor and then remove/edit the text lines that match the ones that appear at the top left (In Resource Hacker, which isn't a hex editor, I know, if it asks to recompile the code, select yes). ANY INFO ON THE NINJA CHUNK MODEL FORMAT IS WELCOME RE: Sonic Adventure 2 PC Version - Shadowth117 - 03-20-2019 So, given this is one of my favorite games, I thought I'd at least pop in to comment; first of all, we now CAN get every model from the game essentially. TGE went ahead and made a tool for it. Getting some things is more annoying than others are there are some quirks such as needing to apply textures manually, but thankfully obtaining textures isn't an issue and with some elbow grease you can get around the rest. https://www.vg-resource.com/thread-33758.html Most models, though not all, are in the EXE on the pc version. A predumped set of these in .dae format can be found here: https://1drv.ms/u/s!AmsmLjy_fwAMgdJ2IUg3__-AZIw4pQ Some, though not all, of them have swapped red and blue vertex colors. This script will fix that in 3ds Max: https://1drv.ms/u/s!AmsmLjy_fwAMgdJ3kuAlhTm-mc6pMg Textures can be dumped using PVMEditSharp in SATools: http://info.sonicretro.org/SA_Tools I'd advise trying to do final export for them with vertex coloring intact as it adds a lot of detail. This means exporting the resulting import to .dae/.fbx for example. .obj does NOT retain vertex coloring. Second, levels are currently not exported in a nice way from SALVL. While it will work, vertex coloring loss will result in a lot of detail loss. If you're willing to accept this though, then yes it is a method of getting them. TGE's tool would be the better option here. Third, SA2 has zero ties to Renderware. The shaders you're looking at are not what you're probably thinking they are. As a trivia fact though, Heroes and Shadow the Hedgehog do build on what SA2 had as a base for logic systems. It's also worth noting that yes, noesis does support ninja chunk to a degree and ItsEasyActually found a simple way to make files using that format readable to noesis. His work can be found here: https://mega.nz/#!adAXRYSR!Jj6EBOyrXq3sziFybixv8_JVOLAaXVa8Rt19_O3jpKY Using that, you can also use my script along with SA Tools's animation conversion to bring the animations into 3ds Max: https://gamebanana.com/tools/6545 Anyways, I frequent the X-Hax discord and am in a good few other discords including the DYKG/VG Resource one. Feel free to hit me up there I suppose if you'd like more help with this. I don't check here especially often these days admittedly though I try to look every now and then. |