The VG Resource

Full Version: How to make a program that can open models?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
I, TheAmazingSnivy, have decided to attempt to open a FSYS file. (They're used in PBR, PC, XVery SadGales of Darkness.) I am doing this because I wanted to get a couple of bone structures. Anyone have any notes on the format? I don't think there is a program that can open them currently... Any help is appreciated. I was going to start by making a program that can open DAEs, so you can help me with that....
Edit: I think this is the right place to put this... right?
All I could really find was this page, scroll down to gcfsysd. It says that it can extract files from .fsys files from XVery Sad Gale of Darkness. It seems to focus on sound data, although it may extract some kind of models from it, too. (Through pure coincidence, this is from the same site that I quite recently got an audio decoding library from. Funny.)

This thread might also help somewhat, although it's more about ripping .fsys files than opening them.
Do you know anyone who is good at programming? I would still like to make the program. My idea is to make modding tools for the games.
Plus, if they make another game with the same file extension, all you would have to do is open them with my program. (In theory, of course.) Right now I want to start small, just a program that can open DAEs.
I'd consider myself "good" with programming, but that's only with Flash, which I don't think will be much help here. I'm sure there are lots of other people at here at tSR that are more experienced with languages like C++ though, which would be more suitable for this sort of stuff. You can check in the Game Development section, if you see someone who might be able to help you can PM them and see if they're up for it.
Ok. (One question, is tSR The Spriter's Resource?)
Yeah it is, sorry if I made that unclear. Even thought it isn't really needed, I've edited my post now so that it's clearer.

By the way, I'd like to test some stuff with gcfsysd. Would you be able to supply me with the file you want to open, or give me a link to a similar file?
(05-16-2012, 03:46 PM)puggsoy Wrote: [ -> ]Yeah it is, sorry if I made that unclear. Even thought it isn't really needed, I've edited my post now so that it's clearer.

By the way, I'd like to test some stuff with gcfsysd. Would you be able to supply me with the file you want to open, or give me a link to a similar file?
Allow me one minute.
Edit: Here you go.
(http://www.mediafire.com/download.php?1kgwuyjo2r4tyox) It's Absol.
Well, I've checked it out. gcfsysd manages to extract a file named "absol" from it. I assuming this is the model you're looking for, but it has no extension so I don't know what to do with it.

Also, if it means anything, gcfsysd gave me this output information:

Code:
gcfsysd 0.1

Header info:
    file count:    1
    header start:    00000040
    data start:    00000100
    file size:    000405c0 (263616)

    File 00 info:
        name: "absol"
        offset:    00000100
        size:    00040482 (263298)

Hope it helps in any way.
Well it is a LZSS compressed file, that much I can tell you.
File headers are a sweet thing.

What LZSS is? Well, I'm sure you heard of LZ77 (Lempel, Ziv, 1977). LZSS is an adaption (Storer, Szymanski, 1982). You'll need a decompressor in order to get to the contents. Further, this means that you'll need to implement LZSS comression/decompression algorithms in your porgram.
All right, so I'll have to figure out how to do that. That also means that I'll have to include gfsysd in the download of my program.
I'm pretty sure you'll be allowed to use gcfsysd in your program, since he gives the source code along with it (hence the .c file). If you're gonna write your program in C/C++, you can also just stick the code in directly instead of accessing the .exe externally.

As for the LZSS algorithms, a quick search produced this page. It hasn't got any code straight-up, but it gives you algorithms for both encoding and decoding, which I'm assuming you can use across multiple languages.
Ok then, thank you.
Edit: I've also noticed that LZSS is also seen in the Hex in PC FSYS files, as seen here, PC is on the top;
[Image: gGdan.png]
Maybe, just maybe, this might be the key to opening them.
You should be able to decompress LZH8/LZSS format models with this script thingy: http://hcs64.com/files/lzh8_cmpdec08.zip
I'm not sure if it'll work for you but when you said LZSS it reminded me of this so I thought I'd link to it if it helps any.
(05-19-2012, 02:41 PM)Mighty Jetters Wrote: [ -> ]You should be able to decompress LZH8/LZSS format models with this script thingy: http://hcs64.com/files/lzh8_cmpdec08.zip
I'm not sure if it'll work for you but when you said LZSS it reminded me of this so I thought I'd link to it if it helps any.

Thanks for your help!
Ah so it works? That's great! I hope you can get at some of those models now! Big Grin
Pages: 1 2