Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

[PC] Istanbul Kiyamet Vakti, .DEC files

Featured Replies

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

Solved by AexaDev

  • Supporter

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

Edited by shak-otay

  • Author
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
  • Author
38 minutes ago, DKDave said:

Can you please update your topic title to include the game name / platform.  Thanks.

 

Updated. Thanks.

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

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

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

  • Solution
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

  • Author

@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?

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

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

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!

  • Supporter
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

  • Author
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

  • Supporter
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

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

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

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.