Andree Posted October 30, 2023 Share Posted October 30, 2023 Animation file from FGO arcade, uses the same engine as various Project DIVA titles but the animation files are formatted in a different way. .mot Tool: https://github.com/h-kidd/noesis-project-diva (works with FGO Arcade's model files and .mot files from Miracle Girls Festival and Project DIVA but it doesn't work with FGO Arcade's .mot files, but you can edit the source code of the tool to try to make it work with the game's .mot files) Sample file is in the attachment. mot_svt_0001.zip 1 Link to comment Share on other sites More sharing options...
Billons Posted December 20, 2023 Share Posted December 20, 2023 (edited) I only found these: Magic: 23 4D 4F 54 // #MOT File validation: *0x0F == 0x0A File version validation: 0x10~0x14 == 15 13 11 13 joint_type Range validation: *0x18 <= 7u File Element Count: *0x16 // short type Offset Block Start: (0x10 + ((*(0x19) + 0x10) & 0xFFFF FFFF FFFF FFFC)) Element Offset : Offset Block Start + *(Element index * 4 + Offset Block Start) Element Name Length: *(Element Offset + 0x06) Element DataBlock Offset? : Element Offset + ((Name Length + 0x12) & 0xFFFF FFFF FFFF FFFC) This is found from KanColle Arcade (SDBZ), but it looks like uses the exact same animation format as FGO Arcade (#MOT) The debugger cannot be attached after using Segatools injection, which makes it difficult to find the call. I hope anyone who is interested can help to reverse it. (That was because the parameter of inject.exe in start.bat uses -d by default, which will cause the injected program to be attached as a debugger, making it impossible to attach other debuggers.) in Subroutine 0x14035A330: sample&program.zip Edited December 21, 2023 by Billons 1 Link to comment Share on other sites More sharing options...
Andree Posted January 2 Author Share Posted January 2 On 12/19/2023 at 11:29 PM, Billons said: I only found these: Magic: 23 4D 4F 54 // #MOT File validation: *0x0F == 0x0A File version validation: 0x10~0x14 == 15 13 11 13 joint_type Range validation: *0x18 <= 7u File Element Count: *0x16 // short type Offset Block Start: (0x10 + ((*(0x19) + 0x10) & 0xFFFF FFFF FFFF FFFC)) Element Offset : Offset Block Start + *(Element index * 4 + Offset Block Start) Element Name Length: *(Element Offset + 0x06) Element DataBlock Offset? : Element Offset + ((Name Length + 0x12) & 0xFFFF FFFF FFFF FFFC) This is found from KanColle Arcade (SDBZ), but it looks like uses the exact same animation format as FGO Arcade (#MOT) The debugger cannot be attached after using Segatools injection, which makes it difficult to find the call. I hope anyone who is interested can help to reverse it. (That was because the parameter of inject.exe in start.bat uses -d by default, which will cause the injected program to be attached as a debugger, making it impossible to attach other debuggers.) in Subroutine 0x14035A330: sample&program.zip 12.01 MB · 6 downloads I don't get how fc.exe works. Link to comment Share on other sites More sharing options...
Billons Posted January 4 Share Posted January 4 (edited) On 1/3/2024 at 4:56 AM, Andree said: I don't get how fc.exe works. It's just a sample, if you want it to work you need to use Segatools and get the full Rom. After fc.exe is started normally, the hardware IO device will be checked. If passed, it will try to connect to the All.Net and Aime servers. Segatools uses IAT Hook to simulate the DirectX input into the corresponding IO input and inject it into the main program. The program only have a hardware checker program(maybe IO Checker) and does not use any user-level dlls. Almost all program codes are in fc.exe, and only a few lua scripts are in the rom folder. The rom folder mainly stores game Assets and DataBase, as well as some external shaders. Unfortunately I can't provide the full Rom here, sensitive content such as complete Rom cannot be uploaded in XeNTax, although I don’t know if this rule is also followed here, but you can try looking for it on the internet, Good Luck. Edited January 4 by Billons 1 Link to comment Share on other sites More sharing options...
Billons Posted January 4 Share Posted January 4 (edited) I made a very simple Python script to extract the information I found now from the Mot file, But only very little information can be extracted so far. (Update on 2024/01/10) And I made a simple 010 Editor Template.(It was suck... but can use) (Update on 2024/01/21) Updated 010Editor template, it should be possible to parse more KCArcade's Mot data. but there are some slight differences in the file structure of FGOArcade. If want to use it, then need to modify this template slightly. mot_test.zip Mot.bt.zip Edited April 28 by Billons 1 Link to comment Share on other sites More sharing options...
Billons Posted January 19 Share Posted January 19 (edited) I discovered that the first two bytes before BoneCount should be FrameCount-1. Additionally, for bones other than the Root bone, If there are large consecutive blocks of WORDs (such as 00 01 00 02 00 03), this should represent the keyframe timetable. if timetable exist, the size (in bytes) of the data block after the timetable must be divisible by 6. Furthermore, within these data blocks, the size of the largest one is equal to FrameCount*6. This implies that the keyframe data should be contained within these blocks. x, y, z may occupy 2 bytes each, but it is still unclear how to read them and convert them into a readable format.The size of the keyframe timetable divided by 2 should be equal to the size of the data block following the timetable divided by 6, indicating the number of keyframes in this bone. FrameCount in Header(need +1): timetable(per 2 bytes, short): keyframe data (per 6 bytes, WORD * 3 (may float16?)) Edited January 20 by Billons 3 Link to comment Share on other sites More sharing options...
11-59pm Posted January 21 Share Posted January 21 https://github.com/h-kidd/noesis-project-diva AFAIK this uses the same (or highly relevant - Virtua Fighter 5 based) engine as other arcade games such as Project DIVA Arcade or Fate Grand Order I guess the animation format would be relevant (and hope this be helpful for REing) Link to comment Share on other sites More sharing options...
AgusMarotte Posted January 30 Share Posted January 30 Has anyone managed to extract the trading card images? I tried using the script for the 3D models. but it just doesn't work. Link to comment Share on other sites More sharing options...
Billons Posted January 31 Share Posted January 31 (edited) 22 hours ago, AgusMarotte said: Has anyone managed to extract the trading card images? I tried using the script for the 3D models. but it just doesn't work. for fgo arcade, you can use this to extract the farc file: https://github.com/Silvris/RandomScriptsAndTemplates/blob/main/FGO Arcade/FGOArcade-FARC.py for kancolle arcade, you can use farcpack tools to extract it: https://github.com/blueskythlikesclouds/MikuMikuLibrary/releases/download/v2.2.0/FarcPack.7z the trading card images was in ./rom/trading_card Edited January 31 by Billons Link to comment Share on other sites More sharing options...
Billons Posted January 31 Share Posted January 31 On 1/21/2024 at 9:19 PM, 11-59pm said: https://github.com/h-kidd/noesis-project-diva AFAIK this uses the same (or highly relevant - Virtua Fighter 5 based) engine as other arcade games such as Project DIVA Arcade or Fate Grand Order I guess the animation format would be relevant (and hope this be helpful for REing) yeah i guess so. but I think we need to find something to differentiate between rotate data or transform data, and it's hard to find that, so we need something reverse work Link to comment Share on other sites More sharing options...
AgusMarotte Posted February 1 Share Posted February 1 On 1/31/2024 at 3:47 AM, Billons said: for fgo arcade, you can use this to extract the farc file: https://github.com/Silvris/RandomScriptsAndTemplates/blob/main/FGO Arcade/FGOArcade-FARC.py How exactly should I use it? First I have to decrypt the farc files, right? To decrypt the 3D Models I was using quickbms and the script that was on XeNTaX, but that script can't decrypt the farcs from the trading cards Link to comment Share on other sites More sharing options...
Billons Posted February 2 Share Posted February 2 12 hours ago, AgusMarotte said: How exactly should I use it? First I have to decrypt the farc files, right? To decrypt the 3D Models I was using quickbms and the script that was on XeNTaX, but that script can't decrypt the farcs from the trading cards for fgo's script, you just need run this: python FGOArcade-FARC.py "your farcfile path" for farcpack tool, Run it in the shell to see the cli commands. Link to comment Share on other sites More sharing options...
AgusMarotte Posted February 5 Share Posted February 5 On 2/2/2024 at 5:36 AM, Billons said: for fgo's script, you just need run this: python FGOArcade-FARC.py "your farcfile path" I'm still not sure how to run it, unless I'm doing something wrong, it doesn't seem to be working Link to comment Share on other sites More sharing options...
Billons Posted February 5 Share Posted February 5 (edited) 3 hours ago, AgusMarotte said: I'm still not sure how to run it, unless I'm doing something wrong, it doesn't seem to be working Maybe you should open a new thread and ask in there, not here, because this thread is for discussing the motion file. Edited February 5 by Billons Link to comment Share on other sites More sharing options...
CptHazama Posted August 11 Share Posted August 11 Did you ever figure out the animations format? I'd love to get access to the animations for some stuff but of course, the MOT files are formatted differently 😔 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now