Conduit gcs/gcm files by pietastesgood at 8:34 PM EDT on June 24, 2009
The Conduit just came out today, and from the samples i've heard the score is going to be great. However, the game is divided into many small archives with the extensions gcs and gcm. I can see riff headers but the archives somehow seem to be compressed.

Here is a gcs file:

http://www.megaupload.com/?d=4GV7TBEL

Gcm file:

http://www.megaupload.com/?d=NO998ORQ

Seems like the gcm's don't have music though.

Can someone tell me if this can be decompressed?

Thanks in advance!
by hcs at 9:14 PM EDT on June 24, 2009
I agree that it looks compressed. The stream data, however, is uncompressed (I see plain DSP at the end of the gcs). This isn't going to do much good, however, as it appears that the headers are in the compressed section (as there are no headers in evidence with the raw DSP and the RIFFs seem to be in there).
by pietastesgood at 9:18 PM EDT on June 24, 2009
Darn. Is there a way we can decompress the riff headers?

edited 9:19 PM EDT June 24, 2009
by hcs at 9:21 PM EDT on June 24, 2009
There is a way, but compression really isn't a specialty of mine and nothing blatant jumps out at me.
by pietastesgood at 9:26 PM EDT on June 24, 2009
Ok, thanks anyways. Hopefully someone can still help me out with this compression issue. :)

Edit:

Or, is there a way I can reverse engineer the header, so I can manually extract the uncompressed audio data out from the archive and add it on to the header?

edited 12:01 AM EDT June 25, 2009
by pietastesgood at 11:31 PM EDT on June 25, 2009
Can someone maybe brief me on the structure of a DSP header? Perhaps I can manually add it to the raw dsp.
by hcs at 11:28 AM EDT on June 26, 2009
The standard header is documented on the vgmstream wiki.
The major thing missing is the table of decode coefficients. It suppose might be possible to work this out backwards from the sample data, but I wouldn't know how to go about it if it was.
Consider the format used in MadWorld, where I had to work out an encryption scheme before I could read the header.
This seems to be a similar situation, and it might be possible to work it out from the game executable also.
by pietastesgood at 1:03 PM EDT on June 26, 2009
Ok. Hope you can do something about it.

Do you need me to supply the game executable? If you do, I unfortunately do not have it anymore, I only have the gcm/gcs files. =|

edited 1:08 PM EDT June 26, 2009
by hcs at 2:33 PM EDT on June 26, 2009
Considering that I'm unlikely to do it myself, yeah that'd be helpful.
If you could post all of the gcs files, that might work, too. It might be more obvious with more samples to work from.
by pietastesgood at 6:37 PM EDT on June 26, 2009
Ok, well here's most of the gcm's and gcs's.

http://www.megaupload.com/?d=SAFPBWVX

I'm getting the executable, hopefully I can get it to you in a few days. :)
by pietastesgood at 10:55 PM EDT on July 4, 2009
What does a Wii executable look like? Like what extension and filename and all.
by bxaimc at 1:00 AM EDT on July 5, 2009
.dol iirc and I don't think the executable will help but I could be wrong.
by hcs at 3:50 AM EDT on July 5, 2009
I seem to recall that it wasn't in the filesystem proper. The extractor I was using had a specific menu item for it, wherein it was called main.dol.
by pietastesgood at 3:24 PM EDT on July 6, 2009
So you want me to provide the .dol as the executable?

Also, how will the executable help you fix the compression? Just curious. ;)
by hcs at 5:42 PM EDT on July 6, 2009
If the compression is simple and I get lucky, yeah, it'll help.
by pietastesgood at 8:10 PM EDT on July 7, 2009
It seems that there are no .dol files in the iso. Any other files that could be the executable?
by hcs at 10:40 PM EDT on July 7, 2009
I told you, it isn't in the filesystem. Use another extractor.
by pietastesgood at 10:51 PM EDT on July 7, 2009
Whoops, missed that. Is there a certain extractor I should use? Will Wiiscrubber work?
by hcs at 11:49 PM EDT on July 7, 2009
I used wiibrowse, Extract->Extract Systemfiles->main.dol
by pietastesgood at 12:25 AM EDT on July 8, 2009
Alrighty, thanks for the help, here is the main.dol.

http://www.megaupload.com/?d=Z0R4ITE6
by pietastesgood at 6:44 PM EDT on July 11, 2009
Have you achieved any progress on the compression? Not trying to rush you, I just want to stay informed. ;)
by hcs at 11:08 PM EDT on July 11, 2009
I haven't looked at it. When I do, this is exactly where I will talk about it.

edited 11:08 PM EDT July 11, 2009
by pietastesgood at 1:47 AM EDT on July 12, 2009
Okay, thanks for the information. :)
by Black_Knight at 4:47 PM EDT on July 26, 2009
Are you going to continue with this project? Because me and my compatriots would like it greatly.
Progress by OrangeC at 9:09 AM EDT on August 2, 2009
Hope someone has any progress with this.
by hcs at 7:01 AM EDT on August 23, 2009
Worked out the compression, but that turned out to be the easy part. Now trying to figure out how to match up the data with the headers.

---

The layout is continuing to frustrate me. If someone else wants to take a look, here's the stuff I have on hand right now:

weconduit 0.0 does the decompression. dump00.bin contains headers, dump01.bin is a map of what's in dump00.bin. weconduit identifies the end of the last compressed segment; the first uncompressed segment is soon thereafter (seems to be aligned by 0x800). I've been unsuccessful in trying to match the DSP data in the uncompressed segment with the headers in dump00.bin.

The audio headers in dump00.bin are approximately RIFF WAVE, and I wrote cnd_dmp2genh 0.0 to parse those and generate GENHs from it. Each RIFF has a strm chunk that specifies the size and offset of the stream data in the uncompressed segment, but there are several (possibly three) uncompressed segments and I've failed at locating any but the first. I didn't provide a compiled version because as it stands it produces mostly junk.

edited 4:03 PM EDT August 23, 2009
by pietastesgood at 9:00 PM EDT on August 23, 2009
THANKS!!
by hcs at 11:33 AM EDT on September 6, 2009
Made a wee bit more progress today
weconduit 0.1, cnd_dmp2genh 0.1. Run weconduit on a .gcs (like 99_98.gcs), then run cnd_dmp2genh on the dumped stuff:
cnd_dmpgenh dump01.bin dump00.bin dumpUC00.bin dumpUCmstr.bin dumpUC01.bin

The ordering of the various uncompressed dumps is still a matter of some confusion. I'm getting a lot of really weird files as well (MultiPlayer-Song1.wav.genh at 5khz or so), so there may yet be bugs to work out of the decompression. Having a whole lot of trouble finding any actual interesting music so got discouraged.

edited 11:33 AM EDT September 6, 2009
by pietastesgood at 2:12 PM EDT on September 6, 2009
Great! Will try this new build out.
Any updates? by pepper at 8:52 PM EDT on September 23, 2010
I can't seem to use the tool, everytime i try the second step, it processes two genh files, and then tells me "Unexpected EOF" this is on 99_98.gcs also, the two genh files consist of the whole of the sounds, but speeded up very heavily.
by hcs at 9:08 PM EDT on September 23, 2010
manakoAT has recently started work on this as well so hopefully he will succeed where I gave up.
by hcs at 10:34 PM EDT on August 3, 2016
Back from the dead!

Check it out, if you run it with this order instead:

cnd_dmp2genh dump01.bin dump00.bin dumpUC01.bin dumpUCmstr.bin dumpUC00.bin

then things work better! Flipping the uncompressed segments seems to be necessary.

But I'm not sure if this is good, still.


Go to Page 0

Search this thread

Show all threads

Reply to this thread:

User Name Tags:

bold: [b]bold[/b]
italics: [i]italics[/i]
emphasis: [em]emphasis[/em]
underline: [u]underline[/u]
small: [small]small[/small]
Link: [url=http://www.google.com]Link[/url]

[img=https://www.hcs64.com/images/mm1.png]
Password
Subject
Message

HCS Forum Index
Halley's Comet Software
forum source