Hacking Final Fantasy 3 broken model files

cjraven

New Member
OP
Newbie
Joined
Mar 24, 2023
Messages
4
Trophies
0
XP
36
Country
United Kingdom
I recently bought Final Fantasy III 3d remake on steam, and as i always do the first thing i done was look through the files.
Found it pretty funny that the steam release uses nds files.

After decompressing and using apicula to rip texture and model files out to have a look at them i found one model that worked, but a bunch that get extracted as "empty_model_file.nsbmd",
none of the viewers i have can open them and Tinke gets the error
"
Unable to read beyond the end of the stream.
at System.IO.BinaryReader.FillBuffer(Int32 numBytes) at System.IO.BinaryReader.ReadUInt16() at _3DModels.BMD0.Read(String file, Int32 id, IPluginHost pluginHost) at _3DModels.Main.Show_Info(sFile file) at Tinke.Acciones.See_File()
"
Using a hex editor and comparing it to the model that works and also reading about MDL0 data structure online i can't see much wrong, apart from the "display list end" being empty
one of the websites i got information from: (tried to but can't send because spam protection, its vg-resource/Nitro_Files)​

I don't know if i'm allowed to upload game files or if that's against some rules so i don't know how i can show the files, the files "b01" up to "b16" are the ones i've looked at so far

not sure what other information to give, just ask and if i know i'll tell you. I want to see if i can get these files viewable
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,321
Country
United Kingdom
Normally we find it is something non standard, or the format got changed a bit from the earlier definitions, but not sure what would be doing that here if it generally conforms to the standard.

You can try mkds course modifier, or kick it really old school and go for nsbmdtool https://gbatemp.net/download/nsbmd-tool.28230/ in the hope it at least spits out some more relevant info. https://wiki.vg-resource.com/Nitro_Files is indeed about as good as it gets/as complete as it gets for any kind of specification (most things I know of other than that either referencing the things used to make that or being the things used to make it).
 

cjraven

New Member
OP
Newbie
Joined
Mar 24, 2023
Messages
4
Trophies
0
XP
36
Country
United Kingdom
Unfortunately all i got from the tool was the number of models, which i already knew because i've looked at the hex

nsbmd.exe -d -c -t -v b01.nsbmd
DEBUG: file size = 001415fc (1316348)
=================================
reading 'MDL0'...
No. of Model = 01

Although the fact that this only gets to model number and not the number of objects, materials and polygons makes me think the error is somewhere at the start of the file, so i guess the tool did help narrow down where the problem is.
Post automatically merged:

After looking in the hex a bit and comparing it to the model that works, the problem looks like it's somewhere in here
1679737299368.png

i've changed these numbers to match the other working models numbers, i knew that wouldn't fix it but i wanted to see if it changed the outcome of nsbmd, and it does. So does changing the "amount of models" number at 33.

So for anyone who knows the structure of MDL0 better than me who's just reading off a wiki, do you see what's wrong here...
nevermind just found more info while tinkering with it,
1679738743586.png

It was missing these peices of information from 0.3 General Data Sub-header i just read about in vg-resources, the "unknown section" and "uknnown data".
Manually filling this in with what's on the wiki and other working model and updating the file size and pointers gets the model opening, however it's still reading the model wrong.
1679739490158.png

I don't know why it's saying codeoffset = 00001260, looking into that now.
Post automatically merged:

Looks like it has something to do with the 2C just before the model name "b01".
changing it's values makes it count different amounts of polygons and changes the "codeoffset".

Going to keep messing around with this number to see if i can get it to work even though i don't fully understand it
Post automatically merged:

anyone know what number is supposed to be there?

vg-resource just says "// The Data stored here is used for several different things, explained when used."
i have no idea if the number is supposed to be an offset or something, and i can't see where the number gets explained.
so i can't figure out any way to know or calculate what might work.
 
Last edited by cjraven,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    SylverReZ @ SylverReZ: https://www.youtube.com/watch?v=0dSN52HstbI