FF7 Crisis Core - File Format and Data Investigation

  • Thread starter Thread starter koral
  • Start date Start date
Status
Not open for further replies.
Ah I see. Well then you know it's sad the game never got patched further than 1.01 due to running out of license for Star Wars universe (Or atleast that's what I heard when I was still a staff member at jk3files.com). I know I probably shouldn't ask for that but many people in JK3 community always wanted SP source code, would it be possible to obtain it? That's all for offtopic.

I've noticed that when the model exports to obj, double faces are facing the same way, which means one has to copy mesh and flip normals on it to appear without holes, but then when merged together the mesh will have quadruple faces which sadly in game engine like Quake 3 when shaded looks like chessboard except with triangles instead of squares. Is it possible for model viewer for export the double faces correctly?

PS. If you can't understand what I mean here's the picture:

1-1.jpg
 
Well then you know it's sad the game never got patched further than 1.01 due to running out of license for Star Wars universe (Or atleast that's what I heard when I was still a staff member at jk3files.com). I know I probably shouldn't ask for that but many people in JK3 community always wanted SP source code, would it be possible to obtain it? That's all for offtopic.
Nope, unfortunately, it can't happen. I have been advocating releasing that code, along with multiplayer engine code, for years (well after leaving Raven/Activision). Unfortunately, LucasArts will not respond to my inquiries. It's all in their hands - Raven is happy to pack up the code if Lucas gives the go-ahead. I've even asked for John Romero's help (since he has played a part in many Quake-engine-related open source releases), and LucasArts would not reply to him either. Additionally, no one that was working at Lucas and supervising/producer JK2/JA is even there anymore, from what I can tell. They seem to completely cycle out employees quite often - apparently most of the Force Unleashed team is no longer there either. As you can tell, I'm no more pleased by the situation than the rest of the community, but my repeated efforts over the years have all failed.
 
OMGOMGOMG!!!
you guys are amazing! thanks so much koral!
i'm actually on a mobile phone so i can't try it, but i WILL :D
 
Good news! Even though I still can't find anything that could be a bone orientation in the file, that chunk we've known about for a while now at 0x80 contains hierarchy data. All of those 0xFFFF's (-1 short) initially indicated to me that the skeleton was flattened. However, I decided to ignore that number, and parse through those chunks up to numBones using the first value as the parent, and that's what it was. Additionally, the first WORD right before the number of models in the header appears to always equal "numBones-7". Why -7, I'm unsure, but even "static" models like the crate that have only 1 bone to reference with all 1.0 weights have a value of 8 here, making it consistent with the fully boned/skeletal models.

The bone orientations can be approximated with knowledge of the associated weights and the hierarchy, now, so we get a full skeleton for the vertex weights to interact with.

The only problem is, those values I thought indicated which bones a segment referenced don't appear to be right. They are 100% right for 1-weight segments, so stuff like the machinery and choppers has a nice perfectly-weighted skeleton. However, soft weights aren't using the values I thought for indices. I have no idea how to get the right value for that, so I'll be continuing to look for that.

Edit: Alright, I figured it out. For reference, bone index values are located starting the WORD before the number of vertices/primitives for the segment, and then skip 1 WORD between each index. Not sure what those WORD values are in between.
renoallboned.jpg

I'll post back here once my tools are all ready for distribution.
 
Last edited:
Wow, that's a great progess there. With ability to import models with their weighs it will so much easier to pose them.
 
You guys are just amazing, thank you so much  :-D
I've been exploring through out files containg the models (2012-2457) and make a list for you (at least, that's all I can do, hope it would help somehow ^^)
Just a note:
- I cant view files from 02012 to 02160, every time I choose the files, the viewer crashes immediately
- In the others left (2161-2457), there are some files didnt show up any models so I didnt list them
Code: [Select]
Code:
2162 Zack - Soldier 1st Class2163 Zack - after Angeal's death2164 Zack - Soldier 2nd Class2165 Zack at the beach2166 Angeal2167 Angeal's clone (Hound form)2168 Angeal w/ wing2169 Sephiroth2170 Genesis 2171 Genesis w/ wing2172 Genesis being degenerated2173 Genesis's clone w/o mask2174 Lazard 2175 Lazard in Angeal form2176 Tseng2177 Cissnei2178 Cissnei at the beach2179 Hojo2180 Hollander 2181 Hollander at the last stage of degeneration 2182 Aerith2183 Cloud - the infantry man2184 Cloud in Soldier 1st class uniform2185 Infantry man - the captain2186 Infantry man2187 Soldier 2nd Class2188 Soldier 3rd Class2189 Gillian2190 Reno2191 Rude2192 Tifa2193-2194 Angeal and Zack with weird shadow on faces (actually, the 2 Soldiers in the Epilogue)2195 Researcher 2196 Man in suite2197 Woman in suite2198 Man2199 Woman in suite2200 Boy2201 Girl2202 Man2203 Woman2204 Man2205 Wutai warrior2207 Spriggan2208 Thunderbird2209 One eye2210 Angeal's clone (One eye)2212 Angeal's clone (Sahagin form)2214 Angeal's clone (Hound form)2215 worm2216 Stinger2218 Flying machine2219 Bomb2220 Griffon2221 Angeal's clone (Griffon form)2222 Demon2223-2224 Genesis's clone w/o wing2225 Genesis's clone w/ wing2227 Genesis's clone2228 Genesis’s clone being degenerated2229 Sweeper (machine)2230 Tarantula (machine)2231-2232 Tank2234-2235 Wutai's giant monster2236 Ifrit2237 Bahamuth2238 Fury Bahamuth2239 Angeal Penance2240 Genesis Avatar2246 Chair2250 Truck2252 Aerith2253 Sephiroth2254 Zack - Soldier 2nd Class2255 Angeal2256 Genesis2257 Mask of Genesis's clone2259 Needle machine2260 Chain machine 2261 Missile machine2262 Sweeper (machine)2263 Wutai's giant monster2264 Thunderbird2265 Hound2267 Dual horns2368-2370 Saucer (machine)2371-2372 Alert Head (small machine w/ armour)2373-2274 Drill machine 2275 Tarantula (machine)2276 Support machine2277 Bug2280 Sephiroth2281 Genesis's clone (Predator)2282 Tseng2283 Sephiroth2284 Zack - Soldier 1st Class2285 Zack - after Angeal's death2288 Man2289 Woman2290 Boy2291 Girl2292 Angeal w/ wing2293 Angeal2294 Zack - Soldier 2nd Class2295 Genesis's clone2296 Genesis’s clone being degenerated2297-2298 Genesis's clone (Predator)2300 Files2304 Lazard2305 Lazard in Angeal form2306 Cissnei2307 Genesis w/ wing2308 Helicopter2309 Genesis being degenerated2310 Angeal clone (Sahagin form)2311 Cloud - the infantry man2316 Heel2317-2318 Wutai warrior2320 Hornets (bees)2321 Death Claw2322 Mover2324 Dorky face2325 Hungry2327-2328 Grangalan2329 Chocobo2330 Magic pot2331-2333 Tonberry2334 CaithSith2335 Hollander2336 Motorcycle2337 Angeal w/ wing2341 Infantry man (the captain)2343 Sweeper (machine)2345 Genesis’s clone w/o wing2346 Genesis’s clone w/ wing2347 Man2348 Woman (the shopkeeper)2349 Boy (the little thief)2352 Woman2353 Boy2356 Woman2357-2358 Boy2359 Juice-can2361 Book (cyan)2362 Dumbapple2363 Book (magenta)2366 Wutai warrior2367 Genesis's clone (Infantry man form)2368 Shinra rocket2369 Cissnei at the beach2370-2371 Genesis's clone (Infantry man form)2372 Genesis’s clone (Predator)2373 Moogle2374 Zack at the beach2375 Rooms2376 Normal Behemoth2377 King Behemoth (golden)2378 Cloud in Soldier 1st class uniform2379 Genesis’s clone (Dominator)2380 Hollander at the last stage of degeneration 2382 Worm2383 Dual horns2384 Item box2394 Jenova2398 The monster in tube2399-2401 Genesis’s clone (Shadow scythe/knight/mage)2402 Camera2405 Top floor2406 Path?2407 some kind of machine2408 Hollander at the last stage of degeneration2410-2411 Genesis at the last stage of degeneration2412 Wutai warrior2414 Tarantula2415 Sahagin2416 Stinger2418 Spriggan 2419 Alert Head (small machine w/ armour)2420 Hound2421 Demon2422 Dorky face 2424 Death Claw2425 One eye2426 Bug2427 Bowl?2428 Water pot2429 Strong box2430 Golden Coin?2431 Minerva (The Goddess)2432 Malboro2434 Black woman in suite2435 Black man in suite2436 Yuffie2438 Documentation?2439 Statue2440 Hollander's bag2441 Plain? 2444 Genesis’s clone (Dominator)2443 The monster in tube like2444 Genesis’s clone w/ wing2445-2447 Flower Wagon2448 Sniper2449 Truck2450 Barrel2451 Helicopter2453 Potion2454 Helicopter2455 Worm2456-2457 Zack's last moment
 
Last edited:
Alrighty, a download link to the tool and all of the information you need to get going is here:

http://www.richwhitehouse.com/index.php?postid=30

Unless there are terrible bugs with the tool, I'm stick-a-fork-in-it-done with this format. :) I don't intend to go find the bone orientations/animations, although if anyone else ever does, I'll probably go ahead and add support for them to my tool. Currently the exported bones are generated based on the weighting data, and since they do have the original hierarchy, they seem to be quite sufficient for posing the models.

Also, my tool does preview, but it's very barebones functionality. It's mainly intended to be a powerful exporter. If you just want to look at the game content, you should probably stick to koral's tool.
 
this is epic

im still a noob at weighing, but youll see lots of crisis core models in JK3 soon  :roll:
 
The Zack and Angeal with weird heads, they are infact weiss and nero :wink:
 
Oh, I totally forgot the 2 strangers in the epilogue :D thank you for pointing it out ^^
 
Awesome findings MrAdults!
I haven't had a chance to look into the skeleton stuff yet, but it seems to make perfect sense.
I tried your viewer too, works with no problems. I suppose that was one way of making the viewer easier to use!  :-P

The character/monster/event-model files are the only ones which parse correctly at the moment (as SilverWings has just confirmed  :-D).
I am sure that all the other files before that (02012-02160) must be Locations/Map-models which are similar to the viewable ones, minus animation data.

Sorry about the problems with my viewer Aurenasek116, but that is happening because of how the data was read from the file, and I have been too lazy to resort the polys in a more efficient way. Maybe I will look into it in the future, or you could just use MrAdults's tools (as and when they appear).

Since Rich (MrAdults) is doing such a fabulous job on the skeletal and animation front, I may as well delve deeper into those other files (02012-02160) and see what I can dig-up.

Thanks everyone!
 :-D :-D
 
I'm using MrAdult's extractor already and it does a perfect job with extracting models so no problem there koral, great work nonetheless since I prefer to use your viewer as it has a GUI to view models, and MrAdult's for extracting.
 
I agree, MrAdults's tool is a much better choice to extract what you find!

Just shouting out that I have updated the first post and the wiki a little.

I haven't got around to documenting these !-models fully yet, but it will be quite a large task and I don't want to butcher it.
I owe much thanks to NeoCloudStrife, X-Dina and MrAdults for making it possible, and for their sake it will have to be a job well done.

Materia information is still hidden, which would be the first step to discovering if the Debug-Menu truly is called through a Materia, or if it is just a special kind of Event.
If it's the latter case (an Event), then there is a very high probability that a simple memory-hack cheat could be used to trigger it somehow.

The game itself does not seem to have anything more "mysterious" or unused that I have come across, which is what you would expect from games these days I suppose.
 
Alrighty, a download link to the tool and all of the information you need to get going is here:

http://www.richwhitehouse.com/index.php?postid=30

Unless there are terrible bugs with the tool, I'm stick-a-fork-in-it-done with this format. :) I don't intend to go find the bone orientations/animations, although if anyone else ever does, I'll probably go ahead and add support for them to my tool. Currently the exported bones are generated based on the weighting data, and since they do have the original hierarchy, they seem to be quite sufficient for posing the models.

Also, my tool does preview, but it's very barebones functionality. It's mainly intended to be a powerful exporter. If you just want to look at the game content, you should probably stick to koral's tool.
Wow thanks for this Mradults! im currently intersted in the psx version, model changing and stuff (see the replacing and adding new models thread)
I do have a question though would it be possible for you to make it so we can extract the PSX models so we can finally change them? :D Like all there data and will be just like they were when we compress them back to lzs? Also i noticed the weapons are in the middle of the model any chance of us ever been able to edit them? Thanks for this.
 
Wow thanks for this Mradults! im currently intersted in the psx version, model changing and stuff (see the replacing and adding new models thread)
I do have a question though would it be possible for you to make it so we can extract the PSX models so we can finally change them? :D Like all there data and will be just like they were when we compress them back to lzs? Also i noticed the weapons are in the middle of the model any chance of us ever been able to edit them? Thanks for this.
That FF7 LZS support has been in the tool for quite a long time, I did it a year or two ago, I believe it was. You could use the tool to convert those models to .smd, but they would lose the vertex coloring. I don't know much about what's out there currently to extract FF7 PSX models, I figured there was already quite a myriad of tools to view and convert the models. I believe .ase export would support everything FF7 models need, including vertex colors and node (mesh) orientations, but my tool doesn't currently export to that format.
 
Just wanted to show you some progress on converting to JK3:

ISITOVERNINETHOUSAND.jpg


It still needs work, mainly weighs on hips and textures to be added on hands, since in JK3 it's simplier to use basic hands from already default base model rather than the ones from crisis core models. Wing can be turned off in .skin file allowing for easier management ingame. (That was pretty much directed only at those who know about JK3 modding).

Cheers and thanks to Koral and MrAdults aswell as others that helped making this project possible.
 
There's no Tools with the ability to make so we can create and add to old ones yet. I did some testing and the models seem happy to replace with other stuff, Like i replaced Ruby weapons model with Sephiroth worked, same with Cloud and Tifa. I could also replace Nib Sephiroth with anyone i wanted so the models seem quite flexable as far as moving them goes. Any Chance of been able to export to .ase format in the future? so we can edit them and add to them, Also are the weapon's just meshes from bones or are they separate from the model?
 
Last edited:
to add to Aurenasek's post (we are working together, me as his weigher)

currently we have weighed for jka genesis and sephiroth(although both have major weighing issues, with clipping mainly - i am still working to fix that)

Untitled-1-8.png
 
There's no Tools with the ability to make so we can create and add to old ones yet. I did some testing and the models seem happy to replace with other stuff, Like i replaced Ruby weapons model with Sephiroth worked, same with Cloud and Tifa. I could also replace Nib Sephiroth with anyone i wanted so the models seem quite flexable as far as moving them goes. Any Chance of been able to export to .ase format in the future? so we can edit them and add to them, Also are the weapon's just meshes from bones or are they separate from the model?
Ah, it sounds like you want the ability to convert back to the FF7 PSX model format, too. I'm not sure how well that would work out, given that you'd probably have size and address restrictions to maintain the alignment. In any case, it's not something I plan to do, as it would be a lot of additional from-scratch functionality. I've seen PC version replacement models, though, so on that side of things there must already be a tool-chain for what you want to accomplish.

BTW, cool to see the models making their way into Jedi Academy.
 
I picked the wrong week to not check up for a few days O_O;

That's absolutely amazing, Koral.

Now I just have to rip my disc and start digging through the models for myself!! *starts cackling like Hojo*

EDIT: Ok after much floundering about with my PSP... I successfully...

gave up and downloaded a copy... but I do have the game legally, hell, I bought a PSP JUST for crisis core.

anyway, I have now ripped a series of models XD; I'm ecstatic!

Anyway I noticed the viewer tends to crash a lot after trying to switch from 2D image into 3D renders... not the other way around... Not a big issue...

The one thing that does rather annoy me is the files starting at 02012 and up (on the front page this is the start of the model section) seem to auto-crash me... however working from the bottom up, I can view a lot of models... Is there a possibility of this being just me, or is it the files themselves, or something else entirely?

Btw, I should say again that I am dumbfoundedly impressed with this as is. I especially like the OBJ export function!

I hope that when you're satisfied with this format you'd be willing to investigate some others. (time and relaxation permitting that is. After all... you've done a lot of work already, you deserve a vacation... and a cookie.)

EDIT2: 02012 - 02161 seem to be offending files on my side... I haven't checked every one of them... but the first and last 10 with several sample tests in between all crash me as soon as I even click on the number.
 
Last edited:
Status
Not open for further replies.
Back
Top