Jump to content

[PC] Istanbul Kiyamet Vakti, .DEC files


Go to solution Solved by AexaDev,

Recommended Posts

Posted (edited)

Hello,

Spoiler

For a very long time, I’ve been trying to extract the models from an MMORPG that I loved playing during my childhood. I’ve also been developing games as a hobby for many years, and this particular game has always been my main source of inspiration and motivation.

I would be truly grateful if you could help me with this.

To start, I extracted the objects.dat file using the following QuickBMS script:

idstring "SKYF"
get VER short

set PATH string ""
callfunction EXTRACT 1

startfunction EXTRACT
    getdstring NAME 0x40
    get FOLDERS short
    get FILES short

    string PATH + NAME
    string PATH + /

    for i = 0 < FOLDERS
        callfunction EXTRACT
    next i

    for i = 0 < FILES
        getdstring NAME 0x80
        get OFFSET long
        get SIZE long
        string NAME p "%s%s" PATH NAME
        log NAME OFFSET SIZE
    next i
endfunction

 

After that, I encountered a large number of files with the .ADF extension. These seem to be compressed and possibly encrypted 3D model files.

I was able to extract most of them using another QuickBMS script:

idstring "root"
get chunkCnt long
get entrySize long
goto 0xC 0 SEEK_CUR
savepos Offset
set recSize long chunkCnt
math recSize * entrySize
math recSize + Offset
get Name basename
string Name + ".dec"
log Name 0 recSize
log MEMORY_FILE Offset recSize
set totalSize long 0
goto 0 MEMORY_FILE
for i = 0 < chunkCnt
	goto 12 MEMORY_FILE SEEK_CUR
	get Size long MEMORY_FILE
	goto 16 MEMORY_FILE SEEK_CUR
	math totalSize + Size
next i
putvarchr MEMORY_FILE totalSize 0
log MEMORY_FILE 0 0
append
for i = 0 < chunkCnt
	getdstring chunkName 4
	get hash long
	get ZSize long
	get Size long
	get isCompressed long
	get Offset long
	get UnzippedOffset longlong
	clog MEMORY_FILE Offset ZSize Size
next i
log Name 0 totalSize MEMORY_FILE

 

I believe I can now use a program like 3D Model Researcher to convert them into a more common format such as .OBJ, but unfortunately, I don’t have the technical knowledge to do that properly. Despite my efforts, I haven’t been successful.

I would greatly appreciate any help you can provide.

Spoiler

It would mean a lot to me to be able to 3D print these models and keep them as mementos. I’d also love to create scenes using them in modern game engines like Unity, just for fun. This has huge sentimental value for me.

Example .ADF and .DEC files:

https://www.mediafire.com/file/e6egp12kehih3ry/example_files_arsenal.zip/file

Thank you very much for your time.

Sincerely,

Edited by Friction
Game name and platform added to the title
Posted
54 minutes ago, shak-otay said:

Hello, I have a déjà vue that I saw this "dragon" on former xentax years ago (ID_EPIK_EJDER.dec😞

ID_EPIK_EJDER-dec.png

 

Yes, that was probably me too. 🙂
I’ve never given up trying all these years, and the image you just shared looks very close to the original model.

2025-06-27-23_38_43_938.thumb.png.7bbb34d07fbc9e66690ca64f0dc656e1.png2025-06-27-23_39_46_955.png.ff7af114de52ecfdb0209f45e5e470aa.png2025-06-27-23_40_06_356.png.47ec349e1b86d37ff2fb0a4720d13203.png

  • Friction changed the title to [PC] Istanbul Kiyamet Vakti, .DEC files
Posted (edited)
1 hour ago, shak-otay said:

Btw, whom are the quickbms scripts from? Is there a modding community?

Unfortunately, no. 
The scripts are from the old zenhax and xentax forums. In fact, the .ADF decompressor script was created directly by Luigi.

And for those who decide to deal with this in the future, here is the quickBMS script for exporting the textures_X.DAT files:

idstring "SKYF"
goto 0x48
get files short
for i = 0 < files
getdstring NAME 0x80
get offset long
get size long
log name offset size
next i

 

Edited by Friction
Texture script added.
Posted
9 hours ago, AexaDev said:

Addon curtesy of REDxEYE __init__.py to be used with https://github.com/REDxEYE/UniLoader and with it there is my audio .raw file converter all the extracted resources can be found here  ill link my extractor aswell if i can find it:classic_blink: https://drive.google.com/file/d/10uo-DmmpNkiYlogR9eWmIyy74_AfaM05/view

Program.zip 1.03 kB · 0 downloads

Hello,

Thank you for this priceless information.

I'll definitely try it tomorrow. It's an exciting development.

Posted (edited)
12 hours ago, shak-otay said:

Hi, and thanks!

Install from zip: 'No module named UniLoader'. Blender v3.5, btw.

UniLoader.zip it was just a matter of unzipping the file renaming the folder within to "UniLoader" and zipping it. Now to install the addon you must compress that .py file in order to be installed

Edited by AexaDev
mistake
  • Like 1
  • Solution
Posted
13 minutes ago, AexaDev said:

UniLoader.zip it was just a matter of unzipping the file renaming the folder within to "UniLoader" and zipping it. Now to install the addon you must compress that .py file in order to be installed

image.thumb.png.79a93072605af2846414dba5fdb9b1c8.png

Posted (edited)
1 hour ago, Friction said:

@AexaDev you are a hero. I don't even know how I can thank you. This is one of the best things that's ever happened to me. Thank you so much.

Btw, just out of curiosity, are you an IKV player?

Never played the game, there was one guy on a discord server that asked for help for this specific game and i decided to help him out :classic_smile:

Id like to once again credit REDxEYE for his blender addon

Edited by AexaDev
  • Like 1
Posted
4 minutes ago, AexaDev said:

Never played the game, there was one guy on a discord server that asked for help for this specific game and i decided to help him out :classic_smile:

Id like to once again credit REDxEYE for his blender addon

That was quite helpful. Thank you so much.
I will try to make a version that can also get the UV map. If I succeed, I will definitely share it here.

Posted
8 minutes ago, Friction said:

That was quite helpful. Thank you so much.
I will try to make a version that can also get the UV map. If I succeed, I will definitely share it here.

image.thumb.png.b9186d045b648f83f160d7560b5456ae.png

Uvs are there just have to bind the right texture!

  • Like 1
  • Engineers
Posted
2 hours ago, AexaDev said:

Now to install the addon you must compress that .py file in order to be installed

The ADF plugin didn't install. I had to modify it like so (see picture) and start it manually from the scripting window.

Great work, though. Thanks.

UniLoader-ADF.png

Posted
36 minutes ago, AexaDev said:

image.thumb.png.b9186d045b648f83f160d7560b5456ae.png

Uvs are there just have to bind the right texture!

I am sorry, it's my bad. I think my quickBMS script is not working properly, because when I tried it with the file you uploaded, everything worked fine. 

Can you please share the script you use to extract .dat files?

 

22 minutes ago, shak-otay said:

The ADF plugin didn't install. I had to modify it like so (see picture) and start it manually from the scripting window.

Great work, though. Thanks.

UniLoader-ADF.png

You need to install UniLoader first.
Then you need to install the .py file as UniLoader plugin.

2025-06-30-15_22_40_891.png.c3603613dbfe5864de19010caee467ac.png

  • Engineers
Posted (edited)
6 minutes ago, Friction said:

You need to install UniLoader first.

You should know that what I showed wouldn't work without UniLoader installed, shouldn't you?

Quote

Then you need to install the .py file as UniLoader plugin.

How do I install as UniLoader plugin? That's the problem. Install from GitHub? (Best way, probably.) But it should be possible to install the ADF py from disk, shouldn't it?

But anyways, dont' bother. I've wasted too much time with this already.

I have a working workaround for me. That is what counts.

Edited by shak-otay
Posted
19 minutes ago, Friction said:

I am sorry, it's my bad. I think my quickBMS script is not working properly, because when I tried it with the file you uploaded, everything worked fine. 

Can you please share the script you use to extract .dat files?

 

You need to install UniLoader first.
Then you need to install the .py file as UniLoader plugin.

2025-06-30-15_22_40_891.png.c3603613dbfe5864de19010caee467ac.png

Hi I need to find my extractor I have written it a while ago, meanwhile you can just use the resources in the google drive link I gave earlier

  • Thanks 1
Posted (edited)
31 minutes ago, shak-otay said:

You should know that what I showed wouldn't work without UniLoader installed, shouldn't you?

How do I install as UniLoader plugin? That's the problem. Install from GitHub? (Best way, probably.) But it should be possible to install the ADF py from disk, shouldn't it?

But anyways, dont' bother. I've wasted too much time with this already.

I have a working workaround for me. That is what counts.

on this, you cannot use this script with the latest release of uniloader from github, the API has changed since the IKV script has been written, only version works with it is 0.1.0, which is the one i have provided here and the one OP has shown in his screenshot

In addition both the loader and the script have been designed for Blender 4.0+ so there might be issues if you use older versions :classic_smile:

Edited by AexaDev
  • Like 1

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...