Friction Posted Friday at 06:49 PM Posted Friday at 06:49 PM (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 Friday at 10:41 PM by Friction Game name and platform added to the title
Engineers shak-otay Posted Friday at 07:46 PM Engineers Posted Friday at 07:46 PM (edited) Hello, I have a déjà vue that I saw this "dragon" on former xentax years ago (ID_EPIK_EJDER.dec) : Edited Friday at 09:24 PM by shak-otay 1
Friction Posted Friday at 08:43 PM Author Posted Friday at 08:43 PM 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😞 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.
DKDave Posted Friday at 10:04 PM Posted Friday at 10:04 PM Can you please update your topic title to include the game name / platform. Thanks.
Friction Posted Friday at 10:42 PM Author Posted Friday at 10:42 PM 38 minutes ago, DKDave said: Can you please update your topic title to include the game name / platform. Thanks. Updated. Thanks.
Friction Posted Saturday at 08:07 PM Author Posted Saturday at 08:07 PM The original objects.dat file: https://www.mediafire.com/file/u6qs5dt6tngaz5a/objects.zip/file
Engineers shak-otay Posted Saturday at 08:20 PM Engineers Posted Saturday at 08:20 PM Btw, whom are the quickbms scripts from? Is there a modding community?
Friction Posted Saturday at 10:00 PM Author Posted Saturday at 10:00 PM (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 Saturday at 10:06 PM by Friction Texture script added.
AexaDev Posted Saturday at 10:46 PM Posted Saturday at 10:46 PM Hey! I worked with this format I have a blender addon to import models into blender
AexaDev Posted Saturday at 11:02 PM Posted Saturday at 11:02 PM 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 https://drive.google.com/file/d/10uo-DmmpNkiYlogR9eWmIyy74_AfaM05/view Program.zip 1
Friction Posted Sunday at 08:21 AM Author Posted Sunday at 08:21 AM 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 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.
Engineers shak-otay Posted Sunday at 05:57 PM Engineers Posted Sunday at 05:57 PM I get "Keyerror: 'addons'" when trying to activate UniLoader.
AexaDev Posted Sunday at 06:07 PM Posted Sunday at 06:07 PM 10 minutes ago, shak-otay said: I get "Keyerror: 'addons'" when trying to activate UniLoader. hi use this version of uniloader UniLoader.zip 1
Engineers shak-otay Posted Sunday at 08:01 PM Engineers Posted Sunday at 08:01 PM (edited) Hi, and thanks! Install from zip: 'No module named UniLoader'. Blender v3.5, btw. Edited Sunday at 08:02 PM by shak-otay
AexaDev Posted yesterday at 08:50 AM Posted yesterday at 08:50 AM (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 yesterday at 08:57 AM by AexaDev mistake 1
Solution AexaDev Posted yesterday at 09:04 AM Solution Posted yesterday at 09:04 AM 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
Friction Posted yesterday at 09:36 AM Author Posted yesterday at 09:36 AM @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?
AexaDev Posted 23 hours ago Posted 23 hours ago (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 Id like to once again credit REDxEYE for his blender addon Edited 23 hours ago by AexaDev 1
Friction Posted 23 hours ago Author Posted 23 hours ago 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 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.
AexaDev Posted 23 hours ago Posted 23 hours ago 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. Uvs are there just have to bind the right texture! 1
Engineers shak-otay Posted 22 hours ago Engineers Posted 22 hours ago 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.
Friction Posted 22 hours ago Author Posted 22 hours ago 36 minutes ago, AexaDev said: 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. You need to install UniLoader first. Then you need to install the .py file as UniLoader plugin.
Engineers shak-otay Posted 22 hours ago Engineers Posted 22 hours ago (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 22 hours ago by shak-otay
AexaDev Posted 22 hours ago Posted 22 hours ago 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. 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 1
AexaDev Posted 21 hours ago Posted 21 hours ago (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 Edited 21 hours ago by AexaDev 1
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