Author Topic: FF7 Crisis Core - File Format and Data Investigation  (Read 200323 times)

Aurenasek116

  • *
  • Posts: 155
    • View Profile
That's nice information about Dissidia there MrAdults, I wanted to suggest it after this project was finished because I thought it would be kind of not nice to ask for new "toys" when the current ones are still fresh. Would be nice to have support for it.

Satoh

  • *
  • Posts: 386
  • Assuming this statement is correct, I'm alive.
    • View Profile
That's nice information about Dissidia there MrAdults, I wanted to suggest it after this project was finished because I thought it would be kind of not nice to ask for new "toys" when the current ones are still fresh. Would be nice to have support for it.

I should point you in the direction of a topic koral started after a suggestion I made... some work with dissidia has been started already... I'll be right back with a link..

http://forums.qhimm.com/index.php?topic=8290.0

BlitzNCS

  • *
  • Posts: 889
  • Master of nothing in particular
    • View Profile
    • My Youtube
Hey Guys, got a treat for ya :D
remember in the dissidia thread i mentioned my friend?
Well,  he managed to get into the debug room for crisis core somehow :D
Here's Some screenshots:






Koral, perhaps You can get up those maps with your viewer?

And wow. Costa del sol. *uuber-nostalgia from original FF7 kicks in*

Aurenasek116

  • *
  • Posts: 155
    • View Profile
Thanks Dina but textures I've been able to extract quite a while ago, like 2 weeks after Dissidia release or so. It's the models that I'm interested in :P

That debug room is very interesting, is there any information on how to enter it?

koral

  • Guest
Wow  :-o
Your friend must be really good!  :wink:

Those screens have got me interested in looking for it, and I believe all the answers seem to be in the first couple of .raw files.

File: 0001.raw is made up of 5 sections, 2 GT files and 3 MBD Files, and contains universal "events", menus and dialogues:

GT file 1 = "Now Loading" image
GT file 2 = "Pause" image

MBD 1:
Code: [Select]
<TEXT>Materia has leveled up!<END>
<TEXT>Nothing more to do, kupo!<END>
<TEXT>Load failed.<END>
<TEXT>Load canceled.<END>
<TEXT><CHOICE1>: Open<END>
<TEXT><CHOICE1>: Push<END>
<TEXT><CHOICE1>: Go up<END>
<TEXT><TEXT><CHOICE1>: Go down<END>
<TEXT><CHOICE1>: Use elevator<END>
<TEXT><CHOICE1>: Use gondola<END>
<TEXT><CHOICE1>: Rotate<END>
<TEXT><CHOICE1>: Read<END>
<TEXT><CHOICE1>: Move<END>
<TEXT><TEXT><CHOICE1>: Examine<END>

MBD 2:
Code: [Select]
<TEXT><VAR> obtained!<END>
<TEXT>Obtained <VAR> x <VAR>!<END>
<TEXT>Stole <VAR>!<END>
<TEXT>Stole <VAR> X <VAR>!<END>
<TEXT>Nothing to take!<END>
<TEXT>Couldn't steal!
<END><TEXT>Escaped!<END>
<TEXT>Can't escape!<END>

MBD 3: (the most interesting)
Code: [Select]
<TEXT>Use an item.<END>
<TEXT>Equip materia and accessories.<END>
<TEXT>Use materia.<END>
<TEXT>Fuse materia.<END>
<TEXT>Confirm learned DMW.<END>
<TEXT>Go on a mission.<END>
<TEXT>Abort mission.<END>
<TEXT>Check mail.<END>
<TEXT>Buy and sell items.<END>
<TEXT>Unused<END>
<TEXT>Equip materia and accessories.<END>
<TEXT>Sort materia and accessories.<END>
<TEXT>Unequip materia and accessories.<END>
<TEXT>Select strongest combinations.<END>
<TEXT>Equip for strongest physical attacks.<END>
<TEXT>Equip for strongest attack spells.<END>
<TEXT>Equip for best defense.<END>
<TEXT><TEXT>Use items.<END>
<TEXT>Select sorting method.<END>
<TEXT>Sort items automatically.<END>
<TEXT>Sort items manually.<END>
<TEXT>Use materia.<END>
<TEXT>Select sorting method.<END>
<TEXT>Sort materia automatically.<END>
<TEXT>Sort materia manually.<END>
<TEXT>Select materia for fusion.<END>
<TEXT>FUSE<END>
<TEXT>Yes<END>
<TEXT>No<END>
<TEXT>Select item for fusion.<END>
<TEXT>Unused<END>
<TEXT>Set quantity to use for fusion.<END>
<TEXT>Unused<END>
<TEXT>Proceed with fusion?<END>
<TEXT>Do you want to proceed with fusion?<END>
<TEXT>Fusion successful!<END>
<TEXT>Do you accept this mission?<END>
<TEXT>Do you want to abort this mission?<END>
<TEXT>Moved mail to <VAR> folder.<END>
<TEXT>Moved mail to <VAR> folder.<END>
<TEXT>Buy items and materia.<END>
<TEXT>Sell items.<END>
<TEXT>Buy<END>
<TEXT>Cancel<END>
<TEXT>Sell<END>
<TEXT>Sell items.<END>
<TEXT>Unused<END>
<TEXT>Convert materia to SP.<END>
<TEXT>Select shop.<END>
<TEXT>Shinra Building Shop<END>
<TEXT>Sector 8 - Materia Shop<END>
<TEXT>Sector 5 - Materia Shop<END>
<TEXT>Sector 6 - Accessory Shop<END>
<TEXT>Sector 7 - Shop<END>
<TEXT>Research Dept. QMC<END>
<TEXT>Research Dept. QMC @<END>
<TEXT>The Happy Turtle<END>
<TEXT>Wutai Secret Shop<END>
<TEXT>Gongaga Trading<END>
<TEXT>Nibel Accessories<END>
<TEXT>Junon Souvenirs<END>
<TEXT>Bone Village Commerce<END>
<TEXT>Mythril Mine Traders<END>
<TEXT>Network Shop Duo<END>
<TEXT>Network Shop Shade<END>
<TEXT>Network Shop Shade<END>
<TEXT>Open to all Shinra employees.<END>
<TEXT>Top sales in the world; plenty of useful selections.<END>
<TEXT>A well-established shop; traditional selections in stock.<END>
<TEXT>Wildly popular with all generations of shoppers.<END>
<TEXT>An underground outlet favored by anti-Shinra groups.<END>
<TEXT>For all members of the Turks to procure their equipment.<END>
<TEXT>Only for selected members of the Turks.<END>
<TEXT>A countrywide chain with its head office in Wutai.<END>
<TEXT>An illegal operation favored by Wutai remnants.<END>
<TEXT>Pioneered online shopping to compensate for its rural location.<END>
<TEXT>Made possible by the abundance of mako.<END>
<TEXT>A shop by the sea, popular with tourists.<END>
<TEXT>A shop in Bone Village where many rarities are dug up.<END>
<TEXT>A shop in the famous Mythril Mines.<END>
<TEXT>Lord Duo's online shop based in Gold Saucer.<END>
<TEXT>An online shop in an unknown location.<END>
<TEXT>An online shop in an unknown location.<END>
<TEXT>????<END>
<TEXT>Currently equipped!<END>
<TEXT>Not enough money!<END>
<TEXT>You can't carry any more!<END>
<TEXT>You have collected all DMW panels!You obtain a <VAR>!<END>
<TEXT>You have viewed all DMW scenes!You obtain a <VAR>!<END>
<TEXT>You have completed all missions!You obtain a <VAR>!<END>
<TEXT>Save<END>
<TEXT>Delete<END>
<TEXT>Return to title screen<END>


File: 0002.raw contained a GT file with the "FF7 10th Aniversary" logo.
Files: 0003-0005 (before the first video file) are unknown.
Files: 0006 onwards are video (PSMF) fies.

But if files 0001 and 0002 are anything to go by, then we can assume that:

  • the game executes these files in order during boot-up starting from file 0001 (maybe even 0000)
  • file 0000.raw (which contains the debug-menu) is also perhaps a "universal" dialogue/event/menu similar to the ones in file 0001


So that leads me to two conclusions:
1. The Debug-Menu can be activated anytime from within the game (because it is a universal entity)
2. It only initiates during the game's boot-up process, otherwise it is skipped and becomes "disabled" altogether.

Any opinions, observations, speculations, treats, etc, etc anyone would like to share? :-)

Satoh

  • *
  • Posts: 386
  • Assuming this statement is correct, I'm alive.
    • View Profile
One thing That has me stumped is... I didn't see the phrase "Where do you want to go?" in there.

I suggest looking for that specifically if you can... (This may mean writing a text searcher into the viewer *hinnnnt~* )

I've been thinking about what I worked on with the Chrono Cross group...

I wonder if it would be possible to recompile the game, with mods, into a CSO and have it play... (I've also been toying with the idea of trying to rip metal gear portable ops plus models... but I don't think anyone here would be interested in helping... at least no one with any skills...)


Still, find some way to do a search for that phrase, and those names. That may hold the key to accessing it.

EDIT: Found the Jenova room yet? I always wanted a closer look at her CC model...
« Last Edit: 2009-03-23 13:48:13 by X-Dina »

koral

  • Guest
Um, we all know where the debug menu is: File 0000.raw
I have already mentioned this on the Wiki too (http://wiki.qhimm.com/FF7:CC#Miscelenous_Findings), you must have missed it  :wink:

I was thinking, in the ISO we could maybe "swap-out" the MBD data from file 00002.raw (10th aniversary logo) and put in its place the debug-menu instead. But that would only work when running the game from a memory-stick.

The file data seems to be stored at 0x393200 in PSP RAM.
It may be possible to simply assign a different pointer address and force it to execute the data from debug-MBD instead?


I am getting a little distracted here, I need to finish the location-viewer stuff first
:lol:

koral

  • Guest
An update here at long last!  :lol:

I have finally figured out how to load some of those location texture-maps. They were 4-bit (16-colour) palleted, with two pixels per byte (one per nibble).
I think Zande mentioned this a very very long time ago, my bad for not investigating sooner.

Most of those textures were 128x128 sized and loaded correctly, but many smaller ones (64x64 for example) dont, so I wont be releasing a new version yet.

But here are a bunch of screenies to tease you little:
(warning: huge images!)






They look uglier than the actual game because alpha-blending is disabled, and as I had mentioned earlier many smaller textures are still not correctly loaded.

But talk about nostalgia  :|

These models have incredible amount of detail, and I cant help but wonder if these models could be used to update the backgrounds for FF7 in some way.
Aali's new FF7-graphics driver is making rapid progress too
 :wink:

MrAdults

  • Guest
Awesome! I expected the models to be more broken up into chunks than they are. I wonder what they did in-game for lighting. I'm having a hard time recalling the look of the maps, but maybe there are vertex colors embedded in the verts? Or maybe they used lightmaps, but they'd have to have another set of texture coordinates somewhere.

Aurenasek116

  • *
  • Posts: 155
    • View Profile
Whatever they used for lighting and special effects in Crisis Core, they used it again in Dissidia. Just look at models of levels from Dissidia and then at any gameplay with that level, ingame it's looking a lot better.

sorayahya

  • Guest
Hi how did you get the maps plz tell me
« Last Edit: 2009-04-06 15:03:10 by sorayahya »

Prince Lex

  • *
  • Posts: 882
  • Opinionfact is Redundancy
    • View Profile
Hi how did you get the maps plz tell me

Read through the rest of the posts.

And Koral... that's amazing. Seriously.

sorayahya

  • Guest
I read all but I still don't get it :?

koral

  • Guest
sorayahya, (and everyone else who might be looking for map-models)

THE VIEWER [v0.40] DOES NOT VIEW OR EXPORT MAP MODELS!!!

It is still something I am sorting out right now, because the program crashes everytime I try to change from viewing one Location-map model to something else.


But I have fixed the ugliness issue:
(this will be in v0.50, not released yet)



They have used vertex-colours extensively for shading, it could even be reffered to as an ambient-occlusion effect.
Top-notch stuff from SE!  :-D
« Last Edit: 2009-04-06 15:37:52 by koral »

sorayahya

  • Guest
but you still didn't answer my question How can I at lest viewer them

koral

  • Guest
I realised i wasn't clear in my post and edited it.

Simple answer:
YOU CANT! ONLY I CAN (because I made it)  :lol:

sorayahya

  • Guest
My apologys
« Last Edit: 2009-04-08 12:21:05 by sorayahya »

koral

  • Guest
It's cool, dont worry about it  :-D

I will release it as soon as I can stop the program crashing, it is still quite buggy.

And you can also see from the screenshots, some texture-maps are still messed up.
Annoying interlacing quirks  :|

MrAdults

  • Guest
Awesome, looks great with the vertex colors. In case it's any help with the interlacing issues, it seems like all GIM files that use the same 16x8 tile ordering use the same number of columns regardless of image dimensions, and there is nothing in the header but a 1 or a 0 to indicate if the image is tiled, and the only exception is the 4-bit images (which have 32x8 tiles, probably because the 16x8 is a byte read order optimization thing or something).

Although, I have never actually come across a GIM that is non-paletted RGBA and in "fast" pixel order mode, even though that is a valid format for a GIM. In theory, those could actually have 4x8 tiles.

Cyberman

  • *
  • Posts: 1572
    • View Profile
sorayahya, (and everyone else who might be looking for map-models)

THE VIEWER [v0.40] DOES NOT VIEW OR EXPORT MAP MODELS!!!

It is still something I am sorting out right now, because the program crashes everytime I try to change from viewing one Location-map model to something else.


But I have fixed the ugliness issue:
(this will be in v0.50, not released yet)


They have used vertex-colours extensively for shading, it could even be reffered to as an ambient-occlusion effect.
Top-notch stuff from SE!  :-D
For location changes you might have several problems. Are you getting Exception dialogs? If not you may want to add several exception makers and look for bad states within the objects you are using.  IE trying to use NULL pointers. Not deallocating something. 

It sounds to me that you are not properly deconstructing the first scene you loaded. IE you need to clear out all your data so that you can load the new scene. That appears to not be happening correctly.  Be sure you are handling object disposal properly.

Cyb

koral

  • Guest
Cyb, that is precisely the problem: I can see that something isn't being cleaned up correctly (or in the correct order) because this crash is a classic example of what happens when trying to dereference a pointer to a variable which has had its memory cleared.
For rapid-development reasons, I have used Irrlicht predominantly for everything in the viewer, from texture-creation to mesh-rendering. Something is going wrong with the Irrlicht side of things, I am sure of it.

The strange thing is, the viewer has absolutely no problems switching between the Character models rapidly. Which suggests maybe that there is an issue with bulk-memory allocation/deallocation going on with the map-models specifically.

I may just have to switch to static pre-allocated arrays, or do an extra initial pass to determine memory requirements and deallocate/allocate prior to parsing the data. :-)


MrAdults, the textures I am specifically having problems with are 64xN sized ones (where N is any value other than 64). And these are all 4-bit images, presumably with 32x8 tiles because using that value, the interlacing works fine with 64x64 textures.


And I forgot to mention this before:

Notice the big tree blocking the entrance to Nibelheim? (strange, no  :lol:)
Those must be independant models which get positioned by the game at sometime, but are initially planted at the origin (0,0,0).
It is also the same in the Church map, where the door (leading out) is also initially loaded at the origin (on top of the flower-bed actually, standing upright).

Perhaps their precise position values are what is contained in [unknown-chunk-1] of these [!]-model files?
We never did find out what that chunk contained  :wink:
« Last Edit: 2009-04-07 10:03:20 by koral »

SOLDIERBOY

  • Guest
Hi Everyone i'm new  if you can't tell lol anyways I got these models and started  working on Zack but I ran into a problem.. If anyone can please help me I would be very thankful since he is a project  i'm still new to 3D max  and I got alot of it down. I know I am a Noob. if you can help be great The problem is his legs  when i went to test him out his legs for some reason are stuck together and I have tried to readjust my mesh but nothing is working I tried to look for something that could help me but there was nothing out there been stuck on him for like 2 days now I've seen people that were able to do it so what am I doing wrong? :|

MrAdults

  • Guest
Ahh, w != h images. I don't know if I ever ran into any of those. I can see why they would be problematic. :) There must be something special about them, it's probably the same for GIM files too.

SOLDIERBOY: Sounds like the model you're using hasn't been weighted. You could use the weight/bone export of mesh2rdm and import to Max as .smd using a third party importer, or weight the model yourself. That would be a helpful thing to know anyway if you are setting out to become a modeler. Here are some links:

http://www.google.com/search?source=ig&hl=en&rlz=1G1GGLQ_ENUS316&=&q=max+vertex+skinning+tutorial&btnG=Google+Search&aq=f&oq=

Take your pick. :)

SOLDIERBOY

  • Guest
Thank You Very  I'm new to this whole thing but I've been waiting for these models. to come out you guys are awsome for getting this I'll try my best! :lol:

duoblade

  • Guest


Thanks for making such an awesome tool.  Don't know if there is any FFXI players on here.... but I used your tool to extract textures to make this outfit for Hume Male on FFXI. Keep up the great work ^^