Page 1 of 5

Crash Bandicoot 1/2/3 (PSX) - NSF/NSD File Archives

Posted: Fri Jan 21, 2011 8:27 am
by Friedslick6
Hello. This is a revised topic, the subject of which is reading/extracting the contents of the Crash Bandicoot series' archive files.
Each game in the series uses archives with the file extension .NSF (not to be confused with NES Sound Format files.) for each .NSF archive, a .NSD file of the same name can be found within the same folder. Inside these archives are all game elements (excluding Crash Bandicoot 3's "Spyro the Dragon" demo, found under *\DRAGON.) These extensions have been found within the archives of the 2nd and 3rd games (EDIT: last updated 1:56 PM 8/06/2013:)
  • .c - Code
    .SVTX Object Animation(?), "Shape Vertex"(?)
    .TGEO Object Model(?), "Thing Geometry"(?)
    .WGEO Scenery Model(?), "World Geometry"(?)
    .SLST Precomputed Scenery Occlusion Data(?), "Scenery List"(?)
    .TPAG Texture Page
    .LDAT Link Data(?)
    .ZDAT Level Section (objects, collision)
    .CPAT*
    .BINF*
    .OPAT*
    .GOOL - Game Oriented Object Lisp
    .ADIO - Audio
    .MIDI - Musical Instrument Digital Interface
    .INST - Instruments
    .VCOL - Vertical Collision(?), Virtual Collision(?)
    .LINK*
    .MDAT*
    .RAWD
    .IPAL - Palette(?)
    .PBAK - Playback (i.e. Demos)
    .SDIO - Speech Audio
    .VIDO
    *Not present in any NSF file
    Reply if you can identify any of the other file extensions in this list.

    Objects within the .NSF files are referenced with names (some with numbering, presumably for animation.) (EDIT: Incorrect, read topic for details.)
    For example, some of the objects from Crash Bandicoot 3:
    • obj_title
      obj_elevator
      obj_button_s3
      obj_button_s4
      obj_button_s2
      obj_button_s1
      obj_button_s5
      obj_button_s6
      obj_warp_level_stats
      obj_warp_effect
      ...
      obj_snow_ending#6
      obj_snow_ending#4
      obj_snow_ending#8
      obj_snow_ending#7
      obj_snow_ending#5
      obj_snow_ending#9
      obj_ending_steam#10
      obj_cortex_baby
      obj_ending_steam#11
      obj_ending_steam#12
Below are the largest and smallest .NSF and .NSD files found within Crash Bandicoot 3's folders:
*\S3\S000003A.NSF - The largest .NSF archive found within Crash Bandicoot 3's */S3 folder. (U)
*\S3\S000003B.NSF - The smallest .NSF archive found within Crash Bandicoot 3's */S3 folder. (U)
*\S2\S0000020.NSD - The largest .NSD archive found within Crash Bandicoot 3's */S2 folder. (U)
*\S3\S000003B.NSD - The smallest .NSD archive found within Crash Bandicoot 3's */S3 folder. (U)
I own a copy of this game. My E-mail address is accessible from my profile on this forum.

Re: Crash Bandicoot 1/2/3 (PSX) - NSF/NSD File Archives

Posted: Wed Feb 02, 2011 4:13 pm
by Friedslick6
I'm just going to politely push this up a page...

I was wondering if these archives, or anything similar to these archives, have been inspected before?
Also, is there anything else I can do to contribute? That is, aside from cracking the archive format.
I can't read anything past strings of text right now.

Re: Crash Bandicoot 1/2/3 (PSX) - NSF/NSD File Archives

Posted: Sat Nov 12, 2011 12:06 am
by Kasjan Dubiel
Hello. I want to make a polish translation to this game. How can i open this NSF files? I must open them and find video files inside. Please help me guys ; )

It is very important for me.

Re: Crash Bandicoot 1/2/3 (PSX) - NSF/NSD File Archives

Posted: Sat Jul 07, 2012 9:44 pm
by FurryFan
The most important thing you should know about NSF files is that each subfile with an NSF file, can only begin at an offset
that is a multiple of 0x10000
And each file can not be bigger then 0x10000 in size.
So the first step will be to cut a file out from 0x0 to 0x10000 -1, then from 0x10000 to 0x20000 -1
ect. Then we can use the headers to give extensions to files, and also trim the null zeros, as a file does not have to use the entire 0x10000 section.

Excellent observations about the named extensions that appear in the .exe file crash.exe these will help me give names to different types of files.

Hex Header 34 12 00 00
Are archives of models or textures which we will spend most of the work, don't know what extension that is but we can figure it out.

Hex Header 34 12 01 00
Are textures for sure.

Hex Header 34 12 03 00
Are sound archives, though if I recall correctly.

Hex Header 34 12 04 00
Are also sound archives. Maybe one is for music one for sound effects?

Re: Crash Bandicoot 1/2/3 (PSX) - NSF/NSD File Archives

Posted: Sat Jul 14, 2012 1:33 am
by Friedslick6
Awesome, a little bit more info and we should be good to start cutting files out then. Thanks for the reply FurryFan.

Re: Crash Bandicoot 1/2/3 (PSX) - NSF/NSD File Archives

Posted: Sat Jul 21, 2012 10:13 pm
by chekwob
I'm working on a utility for working with the NSF files right now.

Image

As far as I've seen, there's no filenames in these things, and all of this stuff seems to be custom formats.

Re: Crash Bandicoot 1/2/3 (PSX) - NSF/NSD File Archives

Posted: Sun Jul 22, 2012 5:56 am
by Friedslick6
chekwob wrote:As far as I've seen, there's no filenames in these things, and all of this stuff seems to be custom formats.
Great stuff. But what of the names listed in the archives such as obj_title, obj_elevator, etc? Surely they would have some attachment to the files.

Re: Crash Bandicoot 1/2/3 (PSX) - NSF/NSD File Archives

Posted: Sun Jul 22, 2012 6:16 am
by chekwob
Friedslick6 wrote:But what of the names listed in the archives such as obj_title, obj_elevator, etc? Surely they would have some attachment to the files.
Those are just for the game objects placed in the levels, such as boxes, gems, lives, and enemies. They don't really apply to the overall structure of the files. Plus, some objects don't appear to be named (probably the display lists mrbean35000vr refers to).

Re: Crash Bandicoot 1/2/3 (PSX) - NSF/NSD File Archives

Posted: Sun Jul 22, 2012 7:28 am
by Friedslick6
chekwob wrote:
Friedslick6 wrote:But what of the names listed in the archives such as obj_title, obj_elevator, etc? Surely they would have some attachment to the files.
Those are just for the game objects placed in the levels, such as boxes, gems, lives, and enemies. They don't really apply to the overall structure of the files. Plus, some objects don't appear to be named (probably the display lists mrbean35000vr refers to).
What a shame. Oh well, at least there is a list of names. I would just have to apply them manually. As for formats, I have knowledge that the models were made with PowerAnimator. I can't recall the exact version, but I know that the model must have most likely been a conversion from one of the formats that PowerAnimator exports to. And given the models are vertex animated, it would most likely still be a wavefront object.

EDIT: Andy Gavin wrote an article containing details about the model's production on his blog, linked here

Re: Crash Bandicoot 1/2/3 (PSX) - NSF/NSD File Archives

Posted: Tue Jul 24, 2012 6:03 pm
by chekwob
I've documented most of what I know here: https://gist.github.com/3170834
If any of it is confusing, let me know.

Re: Crash Bandicoot 1/2/3 (PSX) - NSF/NSD File Archives

Posted: Thu Jul 26, 2012 5:12 pm
by ikskoks
chekwob wrote:I'm working on a utility for working with the NSF files right now.
I'm waiting for your utility! It is the gratest news i've ever heard. I want to get to this files since last year. I hope you can make it!

Let us know in this topic when you finish your utility ;)

EDIT: @ ckeckwob, do you know something about this?
http://crash2masterquest.blogspot.com/
Image

Will be "extract STR files" and "Import STR files" options in your utility?
It could be very helpful for me.

Re: Crash Bandicoot 1/2/3 (PSX) - NSF/NSD File Archives

Posted: Thu Jul 26, 2012 6:49 pm
by chekwob
ikskoks wrote:EDIT: @ ckeckwob, do you know something about this?
http://crash2masterquest.blogspot.com/
Yes. That is what got me interested in modding crash 2.
ikskoks wrote:Will be "extract STR files" and "Import STR files" options in your utility?
It could be very helpful for me.
STR files?

Re: Crash Bandicoot 1/2/3 (PSX) - NSF/NSD File Archives

Posted: Thu Jul 26, 2012 7:38 pm
by ikskoks
chekwob wrote:STR files?
STR files often contains movies in psx games (or music and voices of the characters). I thought the same is with crash bandicoot cutscenes (http://www.youtube.com/watch?v=nOsTziwPrmU) I have to extract this movies from iso image, add subtitles and import them to the image. I have good utilities for converting STR to AVI and AVI to STR, but i need for this STR file extracted and decompressed from game.

For example MediEvil has not compressed STR files in main directory of the iso image.

I think STR files are compressed somewhere in NSF/NSD archives and i will be very grateful when i could extract this files by your utility. Can you do that?

Re: Crash Bandicoot 1/2/3 (PSX) - NSF/NSD File Archives

Posted: Thu Jul 26, 2012 7:44 pm
by Friedslick6
ikskoks wrote:
chekwob wrote:STR files?
I think STR files are compressed somewhere in NSF/NSD archives and i will be very grateful when i could extract this files by your utility. Can you do that?
The Japanese version of the Crash Bandicoot PSX series use STR video, but it isn't held within the NSF/NSD archives. Are you sure that there are STR files within the other versions?

Re: Crash Bandicoot 1/2/3 (PSX) - NSF/NSD File Archives

Posted: Thu Jul 26, 2012 7:57 pm
by ikskoks
I suppose so, but i'm not sure...

If i am right, it will be great opportunity to make a good translation for me. I'm good at editing STR files.

EDIT: @ chekwob, are you able to do working extractor/importer?