Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 09/29/2025 in all areas

  1. I have released an early version of the tool that can do just meshes with their material names/skeleton:
    4 points
  2. So I was wrong, Conker's Eyes don't rely on a shader to make them look correct, the eyes have 3 UV channels for the Pupil, Highlight, and the Eye Lids. I just recently implemented the Multi UV Channel support
    3 points
  3. Those BSTEX files are just containers for PS Vita GXT image files. Here's a file format https://rewiki.miraheze.org/wiki/GXT_Image If you remove manually 32 bytes from BSTEX file in hex editor and change file extension from BSTEX to GXT, you will be able to open them in Scarlet. Unfortunately PVRTII4BPP is not supported by Scarlet, so you will be able to convert only BC/DXT textures this way. While doing research on your samples, I discovered that ImageHeat had a bug while unswizzling 4bpp PS Vita textures. I fixed this bug in v0.26.3, so you can use this version (or newer) to properly view PVRTII4BPP textures:
    3 points
  4. N64 logo and Rareware logo work aswell, forgot to test them
    3 points
  5. I got meshes with multiple materials to properly import their materials, aswell as finally implementing vertex normals for example Neo Conker has two materials for his body mesh, the hands and jacket, originally it was only importing the jacket texture for the full mesh
    3 points
  6. 2 points
  7. Let's just say Im remaking a certain game. But in VR
    2 points
  8. I am updating the Noesis script from this post to handle more versions of the 3D model rsf format. Soon I will release an update to the script. Meanwhile, as a sample, I want to show some extracted models that we were not able to extract with the old script. On the top left corner we find the Orange Bowl stadium from NCAA 08. On the top right corner we see the hologram (a ficticious one) stadium from Madden 13. The low left corner shows the LA Memorial Coliseum from Madden 12 or 13 and finally on the low right corner we find the Louisiana Tech stadium from NCAA 12. All these rsf files come from the PS3 versions of the games with data in big endian.The script can handle data in little endian too, for example rsf files coming from PS Vita games. I am almost 100% sure that the updated script will be able to handle rsf files from NCAA 08 to NCAA 14 and Madden 07 to Madden 17 with no issues. The updated script will probably handle rsf files from other EA games released between 2006 and 2016.
    2 points
  9. Version 1.1

    349 downloads

    Tools for Battlefield 6 beta. Currently supports dumping the game, export models/maps. Usage is similar to previous tools for frostbite engine. toc_bf6.exe - dump tool Change .ini file parameters: - game path - dump path - selection to dump "ebx", "res", "chunks" or "all" Then drop any .toc file onto .exe to dump assets. Or run from command line with 1 parameter - toc file name. Fb_bf6_mesh.exe - model tool Takes .MeshSet as parameter. ske_soldier_3p.ebx - main universal skeleton for soldiers. Must be in the same folder. If you need another skeleton, use its name as 2nd parameter. Or rename it to ske_soldier_3p.ebx. Tool will try to find chunks automatically. If not, it gives error message with chunk name. Map export 1. Create database Run fb_maps_bf6_db.exe tool once, it will scan whole dump for meshsets and blueprints, so later maps can be converted fast, without the need to go into whole tree of assets. This will take a few minutes. After that, 2 files will be created: bp.db & meshnames.txt, which need to stay in the same folder with EXE for main tool to work. 2. Export maps Use fb_maps_bf6.exe (main map tool) to convert maps. Drop any EBX on it, use in command line with 1 parameter, or create a batch. 3. Terrain export Main terrain data is in .TerrainStreamingTree files for each level. For some levels, these files are small, which means the actual data is in chunks. Sometimes data is in the file itself, in this case it may be big, about 50mb in size. Drop .TerrainStreamingTree on fb_terrain_bf6.exe or use command line.
    2 points
  10. Format: .avi Codec: MV30 Coding program: VirtualDub build 13719/release You can decode it using ffmpeg. Standard videos of the old format.
    2 points
  11. There might be a way to find the password using Cheat Engine. Install Cheat Engine, load the game and open the games process. Click on Memory View, go to Search, Find memory and search for this text - jPGbPK6KENwG9ey If found, the password should be very close to this, 44 char long - M2Q6Dj6a*7NxX|gYHe8UH8o9]3CWDjPGbPK6KENwG9ey
    2 points
  12. Okay I figured out all of the .mdl's thanks to Shak's original response. All of them can be previewed and exported using the Fable 2 Asset Browser now, which is what I was kind of aiming for. I can get the skeletons out, idk if they're necessarily correct or not, but they works so I can only assume it's fine. So I'm going to turn my attention to the .tex file compression and animations. Obviously looks better in blender but yeah. I'm sure everyone gets the point.
    2 points
  13. I looked at file HAT_1_10001. That one has 16 tiles. The palette is at 0x1a0 in RGBA32 format, and the 8-bit image data starts at 0x5a0 (PS2 swizzled). Each tile is 128 x 64, and the image is made up of 2 x 8 tiles as follows - an example of the individual tiles, only the first 8 in order:
    2 points
  14. i update my plugin : fmt_DS2_PS3_geo.py *(The uvs file must be located in the same folder as the model, either in the "MeshVolatile" subfolder or next to the model.)
    2 points
  15. As above, the first two values are dec size and comp size. It seems to use "BPE" compression in QuickBMS. Then I can get something like this, not sure if it's 100% exact:
    2 points
  16. Thank you both for all of your help! ( ◠‿◠ )
    2 points
  17. 2 points
  18. It's a program for viewing/editing data from binary files. Some example hex editors are "Hex Workshop", "HxD", "010 Editor" etc. Sorry, but sharing raw game assets is against forum rules (rule 11) https://reshax.com/topic/5-site-rules/ You can't. It was not released yet. But you can build it from the source. There is instruction in readme file on github. Or just wait until new version release.
    2 points
  19. i found a bunch of information here
    2 points
  20. UPDATE: I finally managed to fix the holes!!! What was the solution? Clone the mesh-reading code and change it to make it read the meshes under the "00 C0 2D 30" headers, change the "elif change_pad" byte from 12 to 11 (0B instead of 0C), and change the triangle output of the cloned code from noesis.RPGEO_TRIANGLE_STRIP to noesis.RPGEO_TRIANGLE. So the models seem to use a mix of tristrip triangles for most of the mesh, and regular triangles for the holes, and now the end result looks great! I was also able to fully restore one of these models used for this demonstration in Blender!
    2 points
  21. Hello guys, I need help to the correct read UV`s and Textures, from the Reckless Racing game. Earlier, durik256 helped me read the mesh format and some UV data from the *.sggr format, but to this day I haven’t been able to figure out the UV scaling and materials. Here’s the link to the discussion: https://reshax.com/topic/1067-reckless-racing-ios-vfs-files/ Below is the Noesis script for reading the mesh data. Script have two problems: - Sometimes the script reads the LOD versions of the mesh models. - It also doesn’t read the UV scale, and the mesh isn’t split by materials. I’m asking for your help in updating this script. from inc_noesis import * def registerNoesisTypes(): handle = noesis.register("Reckless Racing", ".sggr") noesis.setHandlerTypeCheck(handle, noepyCheckType) noesis.setHandlerLoadModel(handle, noepyLoadModel) return 1 def noepyCheckType(data): if data[:4] != b'\x4D\x3C\x2B\x1A': return 0 return 1 def noepyLoadModel(data, mdlList): bs = NoeBitStream(data) ctx = rapi.rpgCreateContext() ofs_res = data.find(b'#RES') if ofs_res != -1: bs.seek(ofs_res + 44) unk, vnum, zero = bs.read('3I') skip = 12 if unk == 4368 else 0 vbuf = b'' vbuf, uvbuf = b'', b''#bs.read(vnum*24) for x in range(vnum): bs.seek(2,1) vbuf += bs.read(2) bs.seek(2,1) vbuf += bs.read(2) bs.seek(2,1) vbuf += bs.read(2) bs.seek(5,1)#4 uvbuf += bs.read(2) bs.seek(2,1) uvbuf += bs.read(2) bs.seek(1,1)#2 bs.seek(skip,1)#12+ rapi.rpgBindPositionBuffer(vbuf, noesis.RPGEODATA_SHORT, 6) rapi.rpgBindUV1Buffer(uvbuf, noesis.RPGEODATA_USHORT, 4) u0, inum, u1 = bs.read('3I') ibuf = bs.read(inum * 2) rapi.rpgCommitTriangles(ibuf, noesis.RPGEODATA_USHORT, inum, noesis.RPGEO_TRIANGLE) try: mdlList.append(rapi.rpgConstructModel()) except: mdlList.append(NoeModel()) return 1
    1 point
  22. It uses a 1-byte xor encryption - you can use the attached QuickBMS script to decrypt it. The resulting file is a zip file with audio and other file types in. Hopefully the other files will all be the same. odau.zip
    1 point
  23. Awesome man, glad to have helped! If there's any other static meshes you need let me know
    1 point
  24. import struct import os import sys from PIL import Image # Constants for offsets FILE_COUNT_OFFSET = 0x28 FILENAME_TABLE_OFFSET = 0x2C DATA_INDEX_OFFSET = 0x178C # A SINGLE, CORRECT LOOKUP TABLE FOR IMAGE DIMENSIONS BASED ON FILE SIZE. # All files are grayscale (1 byte/pixel). SIZE_TO_DIMENSIONS = { 262144: (512, 512), 524288: (1024, 512), 1048576: (1024, 1024) # Add more entries here if new sizes appear } def extract_grayscale_images(file_path, output_dir): """ Extracts all image files from a given .dat archive, assuming they are raw grayscale pixel data. """ with open(file_path, 'rb') as f: # Read the total number of files in the archive f.seek(FILE_COUNT_OFFSET) file_count = struct.unpack('<I', f.read(4))[0] # Read the filename table f.seek(FILENAME_TABLE_OFFSET) filenames = [] for _ in range(file_count): try: name_len = struct.unpack('<I', f.read(4))[0] filenames.append(f.read(name_len).decode('ascii', errors='replace')) except (struct.error, IndexError): # Stop if the file ends unexpectedly break # Move to the data index table f.seek(DATA_INDEX_OFFSET) print(f"Starting extraction of {len(filenames)} files (all as grayscale)...\n") success_count, skipped_count = 0, 0 for i, filename in enumerate(filenames): try: # Read the offset and size for the current file entry_data = f.read(8) if len(entry_data) < 8: break # Reached end of index offset, size = struct.unpack('<II', entry_data) # Check if we know the dimensions for this file size if size not in SIZE_TO_DIMENSIONS: print(f"[{i+1}/{file_count}] {filename} -> UNKNOWN SIZE ({size} B). Skipping.") skipped_count += 1 continue width, height = SIZE_TO_DIMENSIONS[size] # Read the pixel data current_pos = f.tell() # Save current position in the index f.seek(offset) pixel_data = f.read(size) f.seek(current_pos) # Return to the index # Prepare the output path, preserving directory structure safe_name = filename.replace('.dds', '.png').replace('\\', os.path.sep).strip(os.path.sep) out_path = os.path.join(output_dir, safe_name) os.makedirs(os.path.dirname(out_path), exist_ok=True) # ALWAYS convert as 'L' (grayscale) img = Image.frombytes('L', (width, height), pixel_data) img.save(out_path, 'PNG') print(f"[{i+1}/{file_count}] {filename} -> {out_path} ({width}x{height}, Grayscale)") success_count += 1 except Exception as e: print(f"[{i+1}/{file_count}] {filename} -> CRITICAL ERROR: {e}") skipped_count += 1 print(f"\nFinished! Converted: {success_count}, Skipped: {skipped_count}.") if __name__ == "__main__": if len(sys.argv) < 2: print(f"Usage: python {os.path.basename(__file__)} <file.dat>") sys.exit(1) input_file = sys.argv[1] # Create a more standard output directory name output_dir = os.path.splitext(input_file)[0] + "_extracted_images" print(f"Input file: {input_file}") print(f"Output directory: {output_dir}\n") extract_grayscale_images(input_file, output_dir) This script unpack texture. The file names are given with the .dds extension, but these are not DDS files. There are two types of files: those with [e] in the name build correctly, and those without [e] are strange. That's all I can help with. Script usage: python <scriptname>.py <path to file> e.g., python unpack.py sky.t000 - if it's in the same directory as the script.
    1 point
  25. It seems like at 0x24 is vert count(4F8=1272), then at 0x40 is a pointer to vertices(0x70780). After that a line of zeros and then other block of vertices, maybe other facel?(I don't know why are 2 faces). But vert count is taking that line of zeros. I tried to ignore that line and then including that line but is the same result. The only differenece is that large triangle that goes to the floor. So it both cases is a mess, lol. Oh, probably after pointer to vertices, are pointers to Normals(0x44), Uvs(0x48) and vertex colors(0x4C). I don't understand, this is so werird...
    1 point
  26. Hello! I was working on a Python script that replace Sprites data with another for Unity games but Unity has another trick in its sleeve. For those who use AssetStudio, you will extract sprites like this (from Dungeon Clawler 2024 Demo): But with a tweak, I found out Unity uses more data to store RGBA32 sprites! Unity uses an Anisotropic filter to enhance the quality. Something that is difficult to replicate with Python and every sprites doesn't follow the same rule! We have to follow them individually. Another example with Clawcula. Interestingly enough, a partial replacement works and those which lack shearing, like the Logo, are easier to replace. Not every sprites use all "layers" which should make things easier. What I replaced with: And here is the original one: Despise the flaw, it's sufficient replacement. I was close to replace the sprites with Animal Crossing cub villagers without using Unity (after the Unity controversy, which lead me to mod Unity games with Python). Video Example: https://drive.google.com/file/d/18L1NBMWRQjwmCnFElAzJ2ww6KMtV2YE9/view?usp=drive_link If you have information on reproducing correctly their Anisotropic effect, feel free to share! Python Scripts: Unity Image Extractor: This extract all sprite data from resource files. Work on RGBA32 and RGB24. Don't forget to create a new folder, I don't know how to make the script allow you to choose one. Unity Image Extractor Script FINAL.py Unity Image Replacer: This replace all sprites with those from the batch. Although it works for RGBA32 and RGB24, it works better for the latter. Unity Image Replacer Script FINAL.py Unity Ano Simulate (Work in Progress): An attempt to simulate the Anisotropic effect for a bulk. Work best for no shear one. Unity Ano Simulate Script (Bulk) with Shear.py
    1 point
  27. But hard to find pointers. I can only use findloc function to get them. No proper solution. EDiT: Send more samples please...
    1 point
  28. The fonts are the last issue, i dont know where the character map for japanese and english is, i can redo all the pointers to support my text but i assume the charmap is in the fonts correct? that is my latest issue currently. I will link a folder with the decompiled and deswizzled files, although about half have no tile info or are swizzled with a different format, I will also link the decompiled file base as well. for example, most of the character and backround assets use the same texture format, but i dont know what tools or things to use for finding the fonts for the game, i just need the character map so i can remap all the characters to english. Here is the decompiled vers (images + files) : https://www.mediafire.com/file/8i7852px88k3ztv/extract1.zip/file and here is the compiled vers: (files + bms + decompile script): https://www.mediafire.com/file/ycglpfcr47vq6tq/iop.zip/file i have a working reswizzler if needed and i will just attach the tools below. I also need some help with the smaller images as the buttons have to be redone by a pixel guy i know and they are in smaller file formats / not being processed, also some of the title images and other miscellaneous images have different file and palette offsets that need to be found so that i can fully translate everything. Thank you! deswizzlenew.py reswizzlenew.py
    1 point
  29. This is a screenshot with the settings I used. You can see each tile is 128 x 64 - I've just put the height as 512 so you can see multiple tiles. They just need to be arranged correctly. I've looked at the header, but can't make much sense of it at the moment. If all the info was known, then a script should be easy enough to put together.
    1 point
  30. The initial table at the start is offsets and sizes, as you've guessed. The attached initial QuickBMS script should extract all of the raw files for further analysis. There are no filenames other than what might be in some of the files. However, there are also many compressed files in the extracted "CARC" archives, which I haven't done anything about in my script. The .fsb files are audio banks and can be played directly with Foobar/vgmstream. b10.zip
    1 point
  31. *(I think you should mention the author.)
    1 point
  32. From a quick look, the files have a variable-sized header, depending on how many parts there seem to be (for example, the "cube" one has 6 parts). This header is followed by decompressed size, then compressed size, and then the compressed data using XMEMLZX compression. Haven't delved into it much more than that, but that should be enough to investigate further.
    1 point
  33. pack_00.itk is compressed. The small one doesn't. char Sign[4]; uint32 DataBaseOffset; uint32 ResourceCount; uint32 TotalFileSize; struct { char Name[64]; uint32 CompFlag; uint32 CompressedSize; uint32 Offset; uint32 DecompressedSize; }Table[ResourceCount]; Seems like compression is LZSS0. Here is decompressed image. Here's bms. You can also use it on unpacked itk files. They have same struct. #################################### # Dino Crisis 3 og xbox *.itk dump # #################################### get BaseFileName basename comType lzss0 idstring "ITK1" get DataBaseOffset uint32 get ResourceCount uint32 get TotalFileSize uint32 for i = 0 < ResourceCount getdstring ResourceName 0x40 get CompFlag uint32 get ZSize uint32 get Offset uint32 get Size uint32 string FileName p= "%s/%s" BaseFileName ResourceName if CompFlag == 0 log FileName Offset Size else clog FileName Offset ZSize Size endif next i
    1 point
  34. Bigfile was in SOR4 too. There's at least some sort of base to work with, but the sor4 tools don't really work with Absolum.
    1 point
  35. (just my old plugin that was made from example files of another theme) fmt_kn5.py *(don't support encryption)
    1 point
  36. I know this is from April but I want to give my two cents on this because I just figured out how to do this myself and I hope this can help other people as well. I'll try and simplify this in a step-by-step format as best as I can. Preliminary requirements Programs you will need include: Ryujinx (or any application that can extract NSP files) RevilLib (for file conversions) Kuriimu2 (for .arc file viewing & exporting) (Optional) Notepad++ or VS Code, I prefer these to create and format .json files in. 1. Getting the extracted files Using Ryujinx is the easiest way to convert the switch rom format (NSP) into something that will be readable by other programs. Right click on the game in the game list>Extract Data>RomFS. It will ask you where you want to output the files, I recommend somewhere you'll easily remember. This will take a few minutes. 2. Locating the desired files After you're done exporting the NSP, open Kuriimu and find the .arc file that you want to open. I haven't (for now) put together a library of monster IDs, but know that large monsters start with "em_xxx" in their file IDs, and small monsters are "ems_xxx". This is where the model and texture files for whatever monster you have selected will be (generally). The "mot" folder has the .lmt files in it though, so I would recommend exporting those into the same folder as the model and texture files. 3. Converting the .mod file(s) This is by far the easiest step. You can simply drag and drop the .mod file onto the mod_to_gltf batch file in RevilLib's folder and it should automatically convert the .mod file to .glb in the same location where the .mod file is stored. 4. Converting the .lmt files After exporting your .lmt files, make sure that your .mod file is in the same location. This will speed up the rest of this process, and is also necessary for the spike batching we're about to do. In the same folder as the .lmt and .mod files, create a .json file (I usually just name it "batch.json). Open it up in your text editor of choice, and now I will quickly explain how the spike batching works. 4.1. Spike Batching Here is an example of my code (which exports the Rathian animations): [ [ "em001_00.glb", "em001_00_0.lmt", "em001_00_1.lmt", "em001_00_2.lmt", "em001_00_3.lmt", "em001_00_4.lmt" ] ] The .json file reads from its root directory, so there is no need to link to individual file paths. Thankfully, this program will also automatically group all the animations together, so when you view them in Blender (using the action viewer, in the dope sheet), it is nice and consolidated. What this does is pretty obvious, but we are just telling the program that the .glb file is the model we want to use with the animations, and the .lmt files are the animations that we are assigning to the model. When you are done with this file, drag and drop it onto the lmt_to_gltf batch file (located in the RevilLib folder, same as mod_to_gltf), and you should have the .glb file containing the animations in your root folder. It will have "out" at the end of the filename, if it isn't clear to you which one it is. 5. Importing to Blender Because I use Blender, that is the program that I will refer to in this step. It's really simple to do this because Blender, thankfully, has .gltf and .glb file-reading built-in, so import the xxx_out.glb file that we just got and everything should import correctly, animations and all. The textures are another beast, but I'm willing to explain those as well if needed.
    1 point
  37. Sure, here are decompressed CRPs, and here is CRP2DRP which is a very old tool. decompressedcrps.zip crp2drp.zip
    1 point
  38. Interesting, that was a great idea. Congrats!
    1 point
  39. Similar to "d_unit_sdat" and "d_layunittex.bin" how to extract and convert from it to png or jpg? The file format seems to be segs, I do not know how to convert this file d_laybg.zip
    1 point
  40. You can view them with ImageHeat https://github.com/bartlomiejduda/ImageHeat
    1 point
  41. 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
    1 point
  42. why don't you just connect the vertices in a 3d editor. the plugin opens the models, that's all you need. the rest you can work on yourself
    1 point
  43. 2 downloads

    This is attachment from ZenHAX posted by petventh in topic: JX3 HD Remake ??3 (.dat files)
    1 point
  44. Is there a specific file you're having trouble with inside that archive? These appear quite similar. e.g. 0000000000000000_unpack.seg is uncompressed 8-bpp indexed pixels 512x1024 starting at 1600h and a palette at 200h. (you'll have to tell me if the red and blue channels are reversed, since you've played the game)
    1 point
  45. This file is a new file I extracted, and it seems to be different from the solution of "laybg" file 地图单元-2.zip
    1 point
  46. Tool v1.2 posted. Work is not finished, i'm looking into getting custom characters now. Also maybe i can get real hairs later. Textures not supported yet, but they can be extracted with tools for other frostbite games.
    1 point
  47. not quite sure about uvs, try ofs 17 for U and ofs 21 for V, (all as Short) sample for 4e153346.SGGR
    1 point
  48. this one is for decipher Coalesced.*
    1 point
  49. Hello Everyone! So i'm back, i'm taking some time to explain the way i made things working. Who knows, it may give some insights? So let's begin (I'll try to update a bit this post to make a cleaner tutorial. first, i'm giving the .rar with the updated .exe and extra files to make things running the easy way, i'll update a bit later my git to create a fork of the original source code) So... let's begin! ___ ➡️The Easy Path : 1. Download the MK11PackageExtractor.rar 2. Extract the content in your MK11 folder (from steam, whatever, it's just the base : DriverLetter:\yourpathtothegame\Mortal Kombat 11\ 3. ⬇️ ➡️Drag your .xxx files out of assets folder (the ones you want) - copy them... it's better for your game can still run XD - and drop them at the same level of your MK11PackageExtractor.exe. ➡️Clic on decompress.bat and you can check the extraction in the created "output" folder with your "NameOfExtractedPackage". (It's a loop fetching your .xxx files) (careful, it only works for XXX files, though the source code implemented the feature, I don't know why PSF isn't working. But it doesn't matter because PSF are not compressed like .XXX so Ravioli Game Tools can do the job without problem) 4. In "NameOfExtractedPackage", you may find a ".upk" at its base. There, you can use Ravioli Game Extractor to check the information within and perform a clean extraction of the files. Most of the time, the sound format is .wem, so unless you use vgstream in foobar2000, you'd have to convert the file to listen to the file. ____ ➡️The Dev Path : (long term solution) - I haven't posted the things on github yet - so forget the part i'm giving my updated code, yet, i'm sharing what you need in order to perform the compiling To get the code working, get your dev tool (i'm using VS Code - it's free). ✅1. Download Mingw64 - i think latest version - to get the compiler working ✅2. IntelliSense being deprecated, use the last version at disposal (the time i'm writing, it's C / C++) ✅2. Clone the original git (The one who belongs to thethiny), or mine if you want the modifications used to make the code working ✅3. 3 steps : ↪️You'll need to add libraries in some headers, cstdint for most, fstream for a few ↪️in MK11file.h, i added the XXX hex code to focus on XXX files PFS = 0x0008u, 🆙 XXX = 0x0040u, OODLE = 0x0100u ↪️In extract.cpp, modify the algorithm so the compression flag for .xxx files can ALSO be applied while using oodle. Why? Because otherwise, .xxx files can't be checked with oodle compression, in other words : it won't work and you'll get an error. With so little documentation, i had to fetch things by myself, it's all because of an hex code for .xxx files not being taken into account, that's strange when you think of it because the original program should check the .xxx files 😄 ⏹️4. I added a quick text log to MK11file.cpp to compare file informations in ::validate_header ✅5. In Tasks.json, you'll need to help setting up the compiler path to create the file. I'm really not an expert in this part so i'm just focusing on MK11PackageExtrator.exe (or rename the file if you like) - This is the part most would prefer my task.json if you want a faster working thing. Here is maybe the most important part : "tasks": [ { "type": "shell", "label": "C/C++: g++.exe build active file", "command": "Driver:\\pathtomingw64\\msys64\\ucrt64\\bin\\g++.exe", //replace Driver:\\pathtomingw64 with your folder to mingw64 "args": [ "-g", "${workspaceFolder}/src/extract.cpp", "${workspaceFolder}/src/implementations/*.cpp", "-o", "MK11PackageExtractor.exe", "-std=c++11", "-I", "${workspaceFolder}/src/headers" ], "options": { "cwd": "${workspaceFolder}" }, "problemMatcher": [ "$gcc" ], "group": "build" }, ✅✅6. Use g++, not gcc (there are errors of compilation in gcc) ✅7. for Visual Studio Code, the part if you want to get a faster compilation : Ctrl + Shift + B while targetting main.cpp Once again, i'm a total newb in C++, i'm not even a senior developper, i just know how to thinker some stuff and that's it. 😄Oh and i forgot, the dev didn't add the required .dll for the .exe to work with .xxx, I had to fetch them but you're lucky, they're part of the .rar so you don't have to do the same i did🙂 Happy extracting! 😄 PS : i'm not english native speaker, forgive my bad way of explaining the technical stuff 🔲PS2 : Edit, because i like to manage several projects at the same time : Pushed a mod on Nexus for Mass Effect (i think i'll prefer hanging to less sites than too many, Nexus is a bit much above github), made new music extracts + edits, creating fly camera scripts... -. I still haven't pushed the code modifications on github for MK11 😅 I'll make a fork of the original code, then put all my modifications + a clean release when possible! MK11PackageExtractor.rar
    1 point
×
×
  • Create New...