#1
|
||||
|
||||
C# Decompressor
There has been some interest in the Decompressor but in C#, so that a popular modern language can be used. I've done it. It only supports Rare games and I will not be porting the rest of the compressions to C#. You are free to include this in your programs.
Oh and in my haste didn't do any exception handling, so add your own wrapping your calls. http://goldeneyevault.com/viewfile.php?id=229 Last edited by SubDrag; 16th March 2012 at 07:06 PM. |
#2
|
||||
|
||||
Quote:
|
#3
|
||||
|
||||
I ****ing LOVE you. I LOVE you. This is PERFECT for my latest project. Dude. You just made my ****ing DAY.
__________________
I took the hinges and put em in the ****boy's hands Formerly Galactic Mario || Call me Max if you want [: Nintendo Network ID: Zeroman :banjo |
#4
|
||||
|
||||
I made a small bugfix, that impacted some of the BK model files (and maybe more). Apparently in C++ it buffer overrun but didn't hurt for most part, although I will fix there too, but in C# it exceptions. Regrab the zip.
|
#5
|
||||
|
||||
Is there a chronological order of the compression formats used by Rare for the N64 games?
|
#6
|
||||
|
||||
They're pretty much all zlib, except for a couple unknown. Think whether header or uncompressed size there was just based on team.
|
#7
|
||||
|
||||
Some games went with gzip headers whereas most used 2-byte zlib-ish IDs. Despite the headers though all were compressed with gzip, and that results in much smaller filesizes. Here's some headers off the top of my head.
Blast Corps: Full gzip header DK + proto: gzip without names; proto uses temp.bin as a placeholder name Goldeneye, Killer Instict Gold: 0x1172, no filesize Banjo Kazooie: 0x1172, 4 byte filesize Banjo Tooie: 0x0015, no filesize Perfect Dark: 0x1173, 3 byte filesize Conker's Bad Fur Day: no identifier, 4 byte filesize Jet Force Gemini: 4 byte filesize (little-endian), 0x9 identifier Don't remember offhand what the racing game headers are. Maybe they're the same as JFG? I hate Conker though. One of the largest titles of them all, virtually the whole thing is compressed, and there's no clear identifier or single table. Beast of a game. Did same thing in python some time back, although I don't have filelists for all of Rare's titles yet. It's really just a perversion of the normal zlib decompressor. In general though most N64 games use zlib with funky headers. Second place goes to LZSS derivatives. Pretty much any compression scheme ever dreamt up by that point is represented to some degree in a random N64 game. Last edited by spoondiddly; 26th May 2012 at 03:22 PM. |
|
|