View Single Post
Old 18 June 2017, 10:58   #1
ross
Vae victis!

ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Posts: 492
Jurassic Park OCS/AGA files extractor

Hi, as requested i've made a little files extractor for Disk based (RawDIC imaged) version of Jurassic Park (OCS/AGA)
(like the Zool one, http://eab.abime.net/showpost.php?p=...3&postcount=26).

Usage: launch jurassic_extractor.exe from folder where reside the disks.

All files are compressed with ProPack (RNC) so you need xfdDecrunch to unpack.
The only exception is "textures.bin" that is a sub-indexed RNC file.

Code:
#include <stdio.h>
#include <stdlib.h>

unsigned char b[4][970752];
char n[]={"Jurassic.d1"};

int main(int argc, char *argv[])
{
    FILE *fi[4], *fo;
    for (int i=0; i<4; n[10]++, i++) fi[i]=fopen(n,"rb");

    if (fi[0]) {
        for (int i=0; i<4; i++) fread(b[i],1,970752,fi[i]);
        for(int pos=0; b[0][pos+8]; pos+=0x16) {
            if ((fo=fopen((char*)&b[0][pos+8],"wb"))) {
                int disk=(b[0][pos]>>4)-1;
                int strt=(((b[0][pos]&0xf)<<8)+b[0][pos+1]-0x18)*0x200;
                int len=__builtin_bswap32(*((int*)&b[0][pos+4]));
                fwrite(&b[disk][strt],1,len,fo);
                fclose(fo);
            };
        };
        for (int i=0; i<4; i++) fclose(fi[i]);
    };
    return 0;
}
Compile with GCC (-fno-strict-aliasing), attached a binary for Win64.

Bye
ross
Attached Files
File Type: zip jurassic_extractor.zip (7.2 KB, 16 views)
ross is offline  
AdSense AdSense  
 
Page generated in 0.06139 seconds with 10 queries