|
Current news:
|
|
|
13.October.2011 :: Registration disabled from yahoo, gmail and hotmail |
|
|
Due to an infestation of SPAM on this site, I have had to disable creation of new user accounts with a yahoo, gmail or hotmail email address.
Please email jfwfreo@tpgi.com.au if you dont have any other email address other than those 3 and you wish to register on this site.
|
|
|
|
|
|
27.August.2010 :: Discoveries on PathMusic |
|
|
This is what I have found out about PathMusic as applied to RA3 and Uprising (C&C4 may be different).
PathMusic consists of the following asset types:
PathMusicMap
PathMusicTrack
PathMusicEvent
PathMusicEventSet
PathMusicGameDynamicState
PathMusicGameDynamicStateSet
PathMusicGameDynamicTransition
PathMusicEventSet, PathMusicGameDynamicState, PathMusicGameDynamicStateSet and PathMusicGameDynamicTransition are used to link PathMusic data into the scripts and are fully editable via the SDK so I wont go into those.
A PathMusicEvent is a single event in the PathMusic system that the game will trigger. Each PathMusicEvent references a unique hash (stored in a file RA3Music.h that we dont have). A PathMusicEvent chunk is designed to link a name to a hash. The hash seems to be used somehow in the rest of the PathMusic system.
A PathMusicMap is basically the data from a file (of type .mpf according to the SDK). Its purpose and format is unknown but it likely matches events to track data in the PathMusicTrack assets.
A PathMusicTrack holds a bunch of pieces of music (of various sizes/lengths). According to the SDK, the PathMusic data is the contents of a .mus file. The data from said .mus file goes into the .cdata file for the PathMusicTrack asset.
http://www.cncmods.net/files/mus.zip contains a tool that will take a .mus file (just take the .cdata file for the PathMusicTrack asset) and will produce information about the track file as well as outputting each individual piece of music into a .cdata file.
It also contains code for that tool as well as a dumped .mpf file from RA3:Uprising.
The .cdata files output by the tool can be converted to something playable by the tool located here
http://bitbucket.org/Zenchreal/ealayer3
If you just want to extract the music pieces from RA3 and dont care about all the technical stuff, do the following:
1.Download mus.zip
2.Download the ealayer3 tool
3.Extract the following files from the RA3 StaticStream.big file:
data\static\cdata\a70bc1d6.9f12cf33.240021e2.dca9eaab.cdata as ra3ram.mus
data\static\cdata\a70bc1d6.9f12cf33.2d97c0ca.6d02956b.cdata as ra3.mus
Or from Uprising StaticStream.big:
data\static\cdata\a70bc1d6.9f12cf33.240021e2.1f7e0ebc.cdata urram.mus
data\static\cdata\a70bc1d6.9f12cf33.2d97c0ca.a01921dd.cdata as ur.mus
Put the .mus files, mus.exe, ealayer3.exe and libmpg123-0.dll into a folder. Drag each of the .mus files into mus.exe in turn. This will create a bunch of files like ra3ram.mus.1.cdata and so on. Then drag each of those .cdata files onto ealayer3.exe. That will create a pile of MP3 files you can listen to. These files range from tiny fragments of music all the way up to full pieces of music.
|
|
|
|
|
|
26.August.2010 :: New version of my "SDK Extras" C&C3/RA3/C&C4 tools available with EALayer3 support |
|
|
I have just uploaded a new version of my "SDK Extras" C&C3/RA3/C&C4 tools available at www.cncmods.net
Changes in the new version:
binview will now extract AudioFile assets containing EALayer3 audio (BIG thankyou to Ben Moench for figuring out the inner secrets of this format). It will now handle uncompressed audio, EA XAS ADPCM audio and EALayer3 audio (in the 3 known variants). It handles both streamed and non-streamed data.
StreamGetCdataSize has been fixed to work for files stored locally on disk (as opposed to just files stored in a .big file)
Also, everything has been updated to use Visual C++ 2010.
Please let me know what you think. And if you find an AudioFile asset that my tools cant handle (crash, error, incorrect output etc) please let me know so I can fix the bug.
Next on my list is to figure out the format of .mus files. .mus files are created by a tool we dont have and used as input to the SDK asset compiler as part of a PathMusicTrack asset. (a compiled PathMusicTrack asset is essentially the contents of the .mus file stored in the .cdata file for the asset) They contain EALayer3 compressed audio plus other unknown data. Figuring out the format will allow people to replace music in RA3 (once someone writes an EALayer3 encoder that is which is not as simple as it sounds)
|
|
|
|
|
|
20.March.2010 :: New version of my "SDK Extras" C&C3/RA3/C&C4 tools available |
|
|
I have uploaded a new version of my C&C3/RA3/C&C4 tools to this site.
Changes since the last version:
Fixed binview to dump audio from C&C4 correctly (it should now be able to dump all sound effects from C&C4 same as from C&C3 and RA3). As with C&C3 and RA3, music and other audio compressed with EALayer3 codec is not able to be dumped.
Fixed bigextract so it can handle large refpack compressed files (such as static.bin from C&C4 staticstream.big) correctly. All .big files of C&C4 should extract properly with this new version.
binview can also view (and dump) any texture from C&C4.
|
|
|
|
|
|
19.March.2010 :: C&C4 data files and info on same |
|
|
Based on a preliminary analysis of C&C4 data files, I can state the following as far as my tools goes:
1.The big extractor program works on every .big file except staticstream.big (it crashes on staticstream.big for reasons I have yet to figure out)
2.Binview.exe can read every extracted manifest file just fine and can display (and extract) all texture files
3.Audio files will not extract properly for reasons I have yet to figure out (they extract but play as silence)
4.The format of the APT UI files has changed in C&C4. I dont know anything about the new format yet.
5.The movies (those that I have tested) and the movie audio files are the same format as RA3 and should to play with any video player that can play the RA3 video clips.
6.Unlike C&C3 and RA3, there is no copy protection on the exe file. This means those with assembly skills can disassemble it no problems. Note that I do NOT condone reverse engineering for the purposes of cheating, piracy or other bad things, merely for understanding data file formats.
7.The launcher application and the launcher.support.dll are compiled with .NET and can be reverse engineered with various .NET reverse engineering tools.
8.Loading the exe file (cnc4.game) directly does not seem to work for reasons I am still investigating. (likely you just need to pass the right command line)
9.The gamestrings.csf file, scripts.lua, scriptevents.*, map.xml and overrides.xml all seem to be the same as C&C3 and RA3.
10.Any data formats not mentioned here have not been analyzed or identified yet.
|
|
|
|
|
|
|