Register for your free account! | Forgot your password?
Rust Cheats

Go Back   elitepvpers > Popular Games > Silkroad Online > SRO Coding Corner
You last visited: Today at 16:23

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Release] FileStructure (JMXVBAN 0102, JMXVBAN 0101)

Discussion on [Release] FileStructure (JMXVBAN 0102, JMXVBAN 0101) within the SRO Coding Corner forum part of the Silkroad Online category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jan 2009
Posts: 314
Received Thanks: 686
[Release] FileStructure (JMXVBAN 0102, JMXVBAN 0101)

I kinda feel weird about posting this structure because it has already been

However all the file structures belong to this series, has been completed and validated by me, and I'll also throw in some fancy extras.
Credits to for his initial release

JMXVBAN 0102:
Code:
12  string  Header      //JMXVBAN 0102
4   uint    unkUInt0    //Introduced in JMXVBAN 0102, 0 in all files
4   uint    unkUInt1    //Introduced in JMXVBAN 0102, 0 in all files
4   uint    Name.Length
*   string  Name
4   uint    Duration
4   uint    FramesPerSecond
4   uint    IsContinuous

//Timings of the keyframes, so you can interpolate between two poses.
4   uint    keyframeTimeCount
foreach(keyframeTime)
{
    4   uint    keyframeTime
}

//Amount of bones that have transformations, that are different from their bind poses.
4   uint    animatedBoneCount
foreach(animatedBone)
{
    4   uint    BoneName.Length
    *   string  BoneName    
    4   uint    keyframeCount
    foreach(keyframe)
    {
        //These two together give you the transformation Matrix relative to it's partent bone/joint.
        16  Quaternion  Rotation
        12  Vector3     Translation
    }
}
//EOF
JMXVBAN 0101:
This is, as you probably noticed due to the version number, an older version of the currently used JMXVBAN 0102.
It's only present in 2 files (spidey_attack01.ban and chakji_stand02.ban) in current clients.
spidey_attack01.ban is still referenced it's Resource (*.bsr), chakji_stand02.ban is not.

Nonetheless they are not supported anymore but they could be upgraded from the old format.
Code:
ASSERT("prim\ani\char\china\man\spidey_attack01.ban, File Version Error.
[ÇöÀç ¹öÀü: 808529970 - È*ÀÏ ¹öÀü: 808529969]"), 199, D:\Project\SilkroadOnline\TOOLS & PLUGINS\SimpleViewer\objengine\PrimAnimation.cpp
Code:
12  string  Header      //JMXVBAN 0101
4   uint    Name.Length
*   string  Name
4   uint    Duration
4   uint    FramesPerSecond
4   uint    IsContinuous
4   uint    animatedBoneCount
foreach(animatedBone)
{
    4   uint    BoneName.Length
    *   string  BoneName    
    4   uint    keyframeCount
    foreach(keyframe)
    {
        4   uint        RotationTime        //Both times where identical in all test files.
        4   uint        TranslationTime     //They reduced it in JMXVBAN 0102 to a keyframeList
        16  Quaternion  Rotation
        12  Vector3     Translation
    }
}
//EOF
More obsolete files:
\Data\prim\ani\item\common\mob_select.ban
This file is not referenced within the SRO_Client (hardcoded), nor referenced in any Resource (*.bsr) and has an even older structure.
Code:
42 41 4E 20                      -> FileFormat = BAN
65 00 00 00                      -> Version = 101
0A 00 00 00                      -> Name.Length
6D 6F 62 5F 73 65 6C 65 63 74 00 -> Name = mob_select
E8 03 00 00                      -> Duration
1E 00 00 00                      -> FramesPerSecond
01 00 00 00                      -> IsContinuous
03 00 00 00                      -> animatedBoneCount
    06 00 00 00                      -> BoneName.Length
    42 6F 6E 65 30 31 00             -> BoneName = Bone01
    02 00 00 00                      -> keyframeCount
        00 00 00 00                      -> RotationTime
        00 00 00 00                      -> TranslationTime
        00 00 00 BF                      -> Rotation.X
        00 00 00 BF                      -> Rotation.Y
        00 00 00 3F                      -> Rotation.Z
        00 00 00 3F                      -> Rotation.W
        80 91 29 3D                      -> Translation.X
        F0 BC 27 C0                      -> Translation.Y
        F0 05 F6 33                      -> Translation.Z
...
It might be confusing posting about animations when models weren't covered yet but that's because Resources (*.bsr) and Models (*.bms) are far more complicated and I don't like releasing those when they list a bunch of unknown values unless they are fixed within all files. Which makes it virtually impossible unless you're really good at reverse engineering. I'm still working on those in my spare time ;-)

To be continued...
DaxterSoul is offline  
Thanks
6 Users
Reply


Similar Threads Similar Threads
[Release] FileStructure (JMXVDOF 0101)
09/11/2015 - SRO Coding Corner - 6 Replies
There as been a small debate about Map-Editors this week. Starting with showing off... http://www.elitepvpers.com/forum/private-sro-main -discussions-questions/3851579-should-sromapeditor -srouce-code-released-public.html#post32839595 ...and ending with the release of a (partly?)-decompiled version http://www.elitepvpers.com/forum/private-sro-expl oits-hacks-bots-guides/3851916-release-mapeditor-s ource-code.html Now, that is by no means a Map-Editor that brings a refreshing breeze to this...
[Release] FileStructure (JMXVMAPT1001)
09/10/2015 - SRO Coding Corner - 3 Replies
As I said in my previous post this might turn into a little series about the file structures. Considering this to be the second part, we will feature the MapTexture (*.t) - "JMXVMAPT1001" this time. Together with this series I started working on my MapEditor again. I'm going to release the MapTexture (*.t) format first as it was not publicly available yet. Starting with Layer1 (Surface) and because the MapMesh (*.m) file structure is already out there and might be completed later. ...
Code 0101 bei Gilden was tun ?
07/09/2010 - Metin2 Private Server - 6 Replies
Hallo E*Pvpers, Wenn ich eine Gilde (mit 8Membern und meine hat auch 8Member) zum Gildenkrieg auffordern will, egal ob Feld Arena oder Flagge, kommt immer Code 0101. Was kann ich tun damit ich die Gilde zum Gildenkrieg auffordern kann und das es zu einem Gildenkrieg kommt ? MfG KingCrazor



All times are GMT +2. The time now is 16:23.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.