05-19-2012, 02:15 PM
I'm glad I surprised someone else, I was crazy hyped when I saw this.
[Program] FSYS Opener
|
05-19-2012, 02:15 PM
I'm glad I surprised someone else, I was crazy hyped when I saw this.
Thanked by: Garamonde
05-19-2012, 05:10 PM
Haha, I'm glad I made you feel good, because I really was happy to see that you suddenly starting working on something like this.
I doubt I can provide much technical assistance, but you have my full support. Thanked by: TheAmazingSnivy
Reverse-engineering? What a wonderful opportunity to procrastinate!
So, you still have not explained very clearly what an FSYS file is. A bit of googling led me to believe it is a video/audio file used primarily in Gamecube Pokemon games? Secondly, am I right in saying the FSYS file type is not well documented? Some searching made me come to this (http://forum.xentax.com/viewtopic.php?f=10&t=8890), some guy has started something similar. You should definitely check this out if you haven't already. In his pseudo-code, you can see the following structure: Code: struct fsys_file_header { And those numbers at offset 06 & 07? Well, they do not seem that important if the other person's doc. is to be believed, as they fit into a temp (ie. dummy) variable. Perhaps some metadata, maybe information about the compression, or file version information. As for LZSS, that is a classic LZ compression scheme, which basically is an improved LZ77 with less redundant data sent. I see you are using Windows from your screenshots, but let me say this: there is a reason Linux is called a hacker's OS. There are many little utilities available to encrypt/decrypt strings on the command line, among other things. You should be fine with a good hex editor, and I recommend something to prototype quickly (not C++; a scripting language like python, maybe) for experiments. Sorry if I have oversimplified or repeated stuff you know already. Good luck. EDIT: As per the C++ debate; C++ is a very complex language. It is one of the only languages not to have a context-free grammar representation, because of its many ambiguities. It is also one of the slowest to compile. BUT it is definitely one the most powerful you can use: native, object-oriented, template meta-programming, ... There is a reason to the fact it is the #1 language in video games, high-performance programs, and many other areas. My 2 cents: perhaps C# would have been a wiser choice for a GUI program. Or at least, the GUI side of it, it is much simpler. C++ is a bit more work, but you seem to have something good already, so carry on, good sir. Thanked by: Garamonde, Chris2Balls [:B], Sengir, Ploaj
05-28-2012, 08:17 PM
(This post was last modified: 05-28-2012, 08:21 PM by TheAmazingSnivy.)
Well, I didn't want it to sound like I was procrastinating, because I'm not.but you are right about the filetype, I haven't heard of it coming from any other games, and it's not documented well. So they might only use it in Pokémon games with battle systems like the DS and GBA games. So I was thinking that maybe they might continue using it later on. Anyway, I found another link (I lost it when my computer got wiped) and there was a user from that same site that used the username "RandomTBrush." Do You think that it's the same RandomTalkingBrush on The Spriter's Resource? I'm to chicken to ask him. Anyway, I'll have to resaerch Python, because I'm not sure where it's used... I'm pretty sure Blender is the one that does...
Edit: And yes, I did have all of my files backed up, but not the links in my browser... And is Linux not a mac? Is it like Ubuntu?
05-29-2012, 07:17 AM
(05-28-2012, 08:17 PM)TheAmazingSnivy Wrote: Well, I didn't want it to sound like I was procrastinating, because I'm not.but you are right about the filetype, I haven't heard of it coming from any other games, and it's not documented well. So they might only use it in Pokémon games with battle systems like the DS and GBA games. So I was thinking that maybe they might continue using it later on. Anyway, I found another link (I lost it when my computer got wiped) and there was a user from that same site that used the username "RandomTBrush." Do You think that it's the same RandomTalkingBrush on The Spriter's Resource? I'm to chicken to ask him. Anyway, I'll have to resaerch Python, because I'm not sure where it's used... I'm pretty sure Blender is the one that does... Haha, I was talking about myself for the procrastinating bit
05-29-2012, 10:35 AM
(05-29-2012, 07:17 AM)tykel Wrote:(05-28-2012, 08:17 PM)TheAmazingSnivy Wrote: Well, I didn't want it to sound like I was procrastinating, because I'm not.but you are right about the filetype, I haven't heard of it coming from any other games, and it's not documented well. So they might only use it in Pokémon games with battle systems like the DS and GBA games. So I was thinking that maybe they might continue using it later on. Anyway, I found another link (I lost it when my computer got wiped) and there was a user from that same site that used the username "RandomTBrush." Do You think that it's the same RandomTalkingBrush on The Spriter's Resource? I'm to chicken to ask him. Anyway, I'll have to resaerch Python, because I'm not sure where it's used... I'm pretty sure Blender is the one that does... Oh, sorry...
06-02-2012, 03:24 AM
.PNG isn't a good way to go, since it doesn't store alpha channels. Maybe later you can find a way to detect the alpha maps and export automaticly as png.
06-02-2012, 04:17 AM
Last time I checked, PNG had wonderful alpha channel support. Belive me, I know what I am talking about.
(Did you know that even the Windows Bitmap format BMP has full alpha channel support? Yep, right, there are 32bit Bitmaps with ARGB data! Windows uses them a lot internally.)
06-02-2012, 04:27 AM
Thanked by: Garamonde
OP, what progress have you made? Can you open files yet?
Or are you still figuring it out?
06-04-2012, 05:02 AM
I found this page, which includes a FSYS extractor (gcfsysfd): http://hcs64.com/vgm_ripping.html
That might be a first step in the right direction. The problem should then be reduced to parsing .fdat files. There are programs like in_cube which play audio extracted from FSYS files. Now, look at this thread. User revelation tells us that Pokemon Colosseum files are derived from a known archive format used in the "sysdolphin" API from HAL labs. Which leads us to this thread. Aha! Someone trying to do something similar to you, but for SSBM! This post in particular is informative. Read through that thread, the OP details his progress and there are some screenies from page 2. (51 pages, beware!) Hope this helps. Thanked by: TheAmazingSnivy, Garamonde
06-05-2012, 08:56 AM
(This post was last modified: 06-05-2012, 08:58 AM by TheAmazingSnivy.)
(06-05-2012, 08:21 AM)tykel Wrote: I found this page, which includes a FSYS extractor (gcfsysfd): http://hcs64.com/vgm_ripping.html You've been a real help! Thank you for the links. I'll look through them right away. In_cube is a .dll file, but I don't know what it goes to... anyone? (06-05-2012, 08:56 AM)TheAmazingSnivy Wrote:AFAIK in_cube is a plugin for Winamp, a music player, that's why it's a library (DLL).(06-05-2012, 08:21 AM)tykel Wrote: blah Also, make sure you read that last thread I linked, it's a gold mine. Thanked by: TheAmazingSnivy, Garamonde
|
« Next Oldest | Next Newest »
|