Jump to content

Recommended Posts

Posted

Hi everyone,

I'm trying to explore and extract content from the .dat files used in an old MMORPG called "Istanbul Kıyamet Vakti" (released around 2006–2008), which was developed using the Actor Game Engine. Based on the filenames, I believe these .dat files might contain things like music playlists, animations, and similar in-game data. Here are all the .dat files I have at the moment.

I'd really appreciate any tips or guidance.

Thanks in advance!

files.rar

  • Members
Posted
        public static Byte[] iDecrypt(Byte[] lpBuffer)
        {
            Byte bTemp = lpBuffer[lpBuffer.Length - 1];

            for (Int32 i = 0; i < lpBuffer.Length; i++)
            {
                bTemp = (Byte)(lpBuffer[i] ^ (87 * i + 85));
                lpBuffer[i] = (Byte)(bTemp ^ 0xAA);
            }

            return lpBuffer;
        }

Just drag and drop those dat files🙂 IKV.DatDecryptor.zip

  • Like 1
  • Thanks 1
  • Engineers
Posted (edited)

@Ekey, thanks!

@all: the decrypted animation.dat results in an xml file, which doesn't contain animation keys but animation parameters in "clip" lines (which seem to be some kind of frames):

  <cliplist name="karacinbombaci" frommodel="ID_CIN_SAKIN" classid="413">
    <clip clipid="0" start="889" end="890" forwardspeed="0.0" loops="false" jumptoid="0" jumptoframe="889" loopstart="889" loopend="890" state="0"></clip>
    <clip clipid="1" start="10" end="150" forwardspeed="0.0" loops="true" name="Goblin_Idle_BareHand" jumptoid="4" jumptoframe="10" loopstart="10" loopend="150" state="0"></clip>
    <clip clipid="2" start="160" end="190" forwardspeed="7.5" loops="true" name="Goblin_Walk_BareHand" jumptoid="4" jumptoframe="220" loopstart="160" loopend="190" state="0"></clip>
    <clip clipid="3" start="195" end="215" forwardspeed="25" loops="true" name="Goblin_Run_BareHand" jumptoid="4" jumptoframe="220" loopstart="195" loopend="215" state="0"></clip>
    <clip clipid="4" start="220" end="250" forwardspeed="0.0" loops="true" name="Goblin_Wait_BareHand" jumptoid="4" jumptoframe="220" loopstart="220" loopend="250" state="0"></clip>
    <clip clipid="5" start="255" end="395" forwardspeed="0.0" loops="true" name="Goblin_Idle_Armed_Funny" jumptoid="8" jumptoframe="465" loopstart="255" loopend="395" state="3"></clip>
    <clip clipid="6" start="405" end="435" forwardspeed="7.5" loops="true" name="Goblin_Walk_Armed" jumptoid="8" jumptoframe="465" loopstart="405" loopend="435" state="2"></clip>
    <clip clipid="7" start="440" end="460" forwardspeed="25" loops="true" name="Goblin_Run_Armed" jumptoid="8" jumptoframe="465" loopstart="440" loopend="460" state="1"></clip>
    <clip clipid="8" start="465" end="495" forwardspeed="0.0" loops="true" name="Goblin_Wait_Armed_And_BareHand" jumptoid="8" jumptoframe="465" loopstart="465" loopend="495" state="3"></clip>
    <clip clipid="9" start="500" end="530" forwardspeed="0.0" loops="true" name="Goblin_Guard" jumptoid="9" jumptoframe="500" loopstart="500" loopend="530" state="4"></clip>
    <clip clipid="10" start="535" end="575" forwardspeed="0.0" loops="false" name="Goblin_Taunt" jumptoid="9" jumptoframe="500" loopstart="535" loopend="575" state="3"></clip>
    <clip clipid="11" start="580" end="610" forwardspeed="0.0" loops="false" name="Goblin_Hit_BareHand" jumptoid="9" jumptoframe="500" loopstart="580" loopend="610" state="5" audio="monster\\goblin\\attack1.raw"></clip>
    <clip clipid="12" start="615" end="645" forwardspeed="0.0" loops="false" name="Goblin_Hit_Low" jumptoid="9" jumptoframe="500" loopstart="615" loopend="645" state="0" audio="monster\\goblin\\attack1.raw"></clip>
    <clip clipid="13" start="650" end="680" forwardspeed="0.0" loops="false" name="Goblin_Hit_High_FromRight" jumptoid="9" jumptoframe="500" loopstart="650" loopend="680" state="0" audio="monster\\goblin\\attack3.raw"></clip>
    <clip clipid="14" start="685" end="715" forwardspeed="0.0" loops="false" name="Goblin_Hit_High_FromLeft" jumptoid="9" jumptoframe="500" loopstart="685" loopend="715" state="0" audio="monster\\goblin\\attack2.raw"></clip>
    <clip clipid="15" start="720" end="750" forwardspeed="0.0" loops="false" name="Goblin_Damage_Front_Armed" jumptoid="9" jumptoframe="500" loopstart="720" loopend="750" state="7" audio="monster\\goblin\\damage1.raw"></clip>
    <clip clipid="16" start="755" end="785" forwardspeed="0.0" loops="false" name="Goblin_Damage_Side_Armed" jumptoid="9" jumptoframe="500" loopstart="755" loopend="785" state="7" audio="monster\\goblin\\damage2.raw"></clip>
    <clip clipid="17" start="790" end="820" forwardspeed="0.0" loops="false" name="Goblin_Shoot" jumptoid="9" jumptoframe="500" loopstart="790" loopend="820" state="0"></clip>
    <clip clipid="18" start="825" end="890" forwardspeed="0.0" loops="false" name="Goblin_Death" jumptoid="18" jumptoframe="889" loopstart="889" loopend="890" state="8" audio="monster\\goblin\\die.raw"></clip>
    <clip clipid="19" start="895" end="925" forwardspeed="0.0" loops="false" name="Goblin_Dodge" jumptoid="9" jumptoframe="500" loopstart="500" loopend="925" state="6"></clip>
    <clip clipid="20" start="405" end="435" forwardspeed="7.5" loops="true" name="Goblin_Walk_Armed" jumptoid="8" jumptoframe="465" loopstart="405" loopend="435" state="9"></clip>
    <clip clipid="21" start="405" end="435" forwardspeed="7.5" loops="true" name="Goblin_Walk_Armed" jumptoid="8" jumptoframe="465" loopstart="405" loopend="435" state="10"></clip>
  </cliplist>

 

Edited by shak-otay

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...