Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 08/01/2025 in all areas

  1. Version 1.1

    155 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.
    7 points
  2. Actually it uses PAL8 w/ GC/Wii swizzle (There's a palette data at the end) Palette format is N64_RGB5A3 Image data offset starts at 48 (0x30) end-01-color_panel1.texture.ps3 uses BGRA8888 w/ XBOX/PS3 swizzle while end-01-color_panel2.texture.ps3 and end-01-color_panel3.texture.ps3 uses BC3/DXT5
    2 points
  3. Just use this script to extract and import Unity bundles from/to PKG archive https://github.com/bartlomiejduda/Tools/blob/master/NEW Tools/UNITY_TOOLS/Multiple_UnityFS_files_in_one_archive_script.bms There should be 712 unity bundels after extraction. Use UABEA to edit them. Follow this tutorial in case of any troubles https://ikskoks.pl/tutorial-what-is-quickbms-how-to-export-and-import-with-quickbms/
    2 points
  4. By the way, you can also get the same result with ImageHeat https://github.com/bartlomiejduda/ImageHeat
    2 points
  5. 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
    2 points
  6. Well so here's everything I know so far. Models are pain. Can't figure out monstrous table which has info about buffer id, vertex count, index count. I output only element buffers. I only know about vertex buffer. At cars they are mostly 8 bytes stride, int16 data type. Not sure what are others buffers. But they have type id. Textures on the other hand are simple. You can get pretty much all of them. I also looked into the sound files. Some are wav, but most of them are unexplored... need some time to research. Also those wav files are named by id which is described in track_table file which is also unexplored yet... So here's bms script. You can use it on any file from *.pack file which you can unpack with 7Zip. And here's Noesis for *.jtex files. from inc_noesis import * import noesis import rapi import os def registerNoesisTypes(): handle = noesis.register("Asphalt 9 Legends - Texture", ".jtex") noesis.setHandlerTypeCheck(handle, noepyCheckType) noesis.setHandlerLoadRGBA(handle, noepyLoadRGBA) noesis.logPopup() return 1 def noepyCheckType(data): bs = NoeBitStream(data) if len(data) < 20: return 0 return 1 def noepyLoadRGBA(data, texList): bs = NoeBitStream(data) baseName = rapi.getExtensionlessName(rapi.getLocalFileName(rapi.getInputName())) TextureWidth = bs.readUShort() TextureHeight = bs.readUShort() bs.read(1) PixelFormat = bs.readUByte() BufferSize = bs.readUInt() data = bs.readBytes(BufferSize) if PixelFormat == 34: print("Pixel Format > BC7 ", PixelFormat) elif PixelFormat == 35: print("Pixel Format > BC6H ", PixelFormat) elif PixelFormat == 36: print("Pixel Format > BC5 ", PixelFormat) elif PixelFormat == 5: print("Pixel Format > RGB8", PixelFormat) elif PixelFormat == 6: print("Pixel Format > RGBA8", PixelFormat) else: print("Unknown Pixel Format > ", PixelFormat) if PixelFormat == 34: data = rapi.imageDecodeDXT(data, TextureWidth, TextureHeight, noesis.FOURCC_BC7) texFmt = noesis.NOESISTEX_RGBA32 elif PixelFormat == 35: data = rapi.imageDecodeDXT(data, TextureWidth, TextureHeight, noesis.FOURCC_BC6H) texFmt = noesis.NOESISTEX_RGBA32 elif PixelFormat == 36: data = rapi.imageDecodeDXT(data, TextureWidth, TextureHeight, noesis.FOURCC_BC5) texFmt = noesis.NOESISTEX_RGBA32 elif PixelFormat == 5: texFmt = noesis.NOESISTEX_RGB24 elif PixelFormat == 6: texFmt = noesis.NOESISTEX_RGBA32 texList.append(NoeTexture(rapi.getInputName(), TextureWidth, TextureHeight, data, texFmt)) return 1
    2 points
  7. Yeah, I got things working to extract the files. Just checking some of the other mesh files, seems like some work and some don't. But here's another one I could get something from. I'll have a look at the textures to see if I can do anything with them, although they seem like an unknown format at the moment. Looks like BC1 maybe with some swizzling/tiling.
    2 points
  8. I checked jmox files but mesh needs transformation... Here's quick sum up content of *.pack archives. main = ? > mixed mdc = jmox > models cars mde = jmox > models environment so = xvs > sounds lm = jtex > textures prb = jtex > textures gin = jtex > textures
    2 points
  9. Here's 010 editor template for jtex files. I will write bms for decompress + noesis for preview later... LittleEndian();OutputPaneClear(); local uint32 i,j,k,l,m,n,TotalFileSize=FileSize(); local string FileName=GetFileName(),FilePath=FileNameGetPath(FileName,true),BaseName=FileNameGetBase(FileName,false); struct { ubyte Version; char JTEXSign[4]; uint32 Unknown_0; uint32 Unknown_1; }Header; struct { uint32 TextureTableSize; uint32 TextureInfoSize; uint32 Unknown_0; uint16 Unknown_1; struct { uint16 TextureWidth; uint16 TextureHeight; ubyte Unknown_0; ubyte PixelFormat; ubyte Unknown_1; ubyte Unknown_2; uint16 Unknown_3; ubyte Unknown_4; ubyte MipMap; uint32 Unknown_5; float Unknown_6; float Unknown_7; uint16 TextureWidth_t; uint16 TextureHeight_t; struct { uint32 MipMapTableSize; uint32 MipMapInfoSize; uint32 Unknown_0; uint16 Unknown_1; struct { uint32 MipMapBlockSize; uint32 CompressedSize; // - 8 uint32 DecompressedSize; ubyte CompFlag; ubyte Unknown_1; uint32 Unknown_2; float Unknown_3; if (CompFlag == 0) byte Buffer[DecompressedSize]; else byte ZSDTBuffer[CompressedSize - 8]; }MipMapInfo[MipMap]<optimize=false>; }MipMapTable; }TextureInfo; }TextureTable;
    2 points
  10. And it's compressed... I see multiple chunks. Chunk table > uint16 compressed size, But not sure where is offset Compression is deflate. Offzip should dump it into one file. After decompression I get this textures
    2 points
  11. Not sure if is there any tool which supports this pixel formats like CI4/8. Most of them are CI4/8. I tried ImageHeat but result was not pleasing. Anyway here is one texture from file 1495.model.bin And as you can see I already have made 010 editor template by the documentation. So I know what is what. Pixel Format > 1 = CI4. Size of buffer is callculated by (width * height / 2) which results in 2048 bytes data. Next is 32 bytes Palette. As described in documentation. Untitled1.7z EDiT: Well I think I got something. Not sure if it's supposed to look like this... Well Palette Format is > xbgr1555. I noticed it on this texture. Here are textures. You can test it. 1495_textures.7z
    2 points
  12. Asset Studio can open the files you provide, but some files will crash when they are opened, so you can test several more versions and use the version with the least flashback to open the most files for subsequent processing. But before that, you need to split your pkg file Divide them into block files of multiple unityfs I wrote a python script and you just need to run it python split.py pkg file Output folder If you find it troublesome to run scripts, you can also try a more professional unityfs splitter Attached a few screenshots I ran If the problem is solved, you can mark this reply as a solution split.py
    2 points
  13. The model tool can be used to extract textures. Using imageheat is not a proper solution because TextureSet1s (Tex1) can house multiple textures all swizzled together in one huge transfer for the GS memory.
    1 point
  14. Ooooooh wow! Although I'm not very good with hexadecimal values, this tool was quite intuitive, even with my limited knowledge! Thank you so much, it's definitely the solution!😆
    1 point
  15. You can get some good results with ImageHeat https://github.com/bartlomiejduda/ImageHeat At offset 96 you can find fields like: 2 bytes (uint16) - image width 2 bytes (uint16) - image height 4 bytes (uint32) - palette offset
    1 point
  16. Done a few more optimisations to reduce the number of submeshes down to a reasonable level. Still work in progress:
    1 point
  17. It doesn't extract anything from the new file, maybe because the file that i upload here was obsolete? I've attached the new one. Before, I had attached the old one from two years ago from another guy. I'm sure there's some text inside folders called scenes. Game Download link (24 gb) https://exe.playbpsr.com/download/StarLauncher Setup1.0.285.exe m0.rar
    1 point
  18. Holy crap thank you so much, for the longest I thought it was an archive file. I guess not 😄.
    1 point
  19. Hi, I'm nocturnalrhys (I lost my account) and I would like to share the documentation I'm doing about this game. I know some people don't like this game, but I do, and I'd like to take this .elf further. Currently, I've been documenting some features for 4 days in a row. Let's say I'm at 1.1% of the documentation, there are still more features to discover. But if anyone would like to contribute on GitHub, I've left a quick and easy documentation on how to use the source code I've left. PS: I don't really know if I've posted well https://github.com/NamelessDB/dbzsg_sc/tree/main
    1 point
  20. Your samples are textures but there are no pointers to textures or palettes. I can see a pattern, it seems like palette is first and then image data and each has a line of 16 bytes like a header. Something like this(in LLOGO.bin): 1st Texture offset 0x00: 10 00 00 00 10 00 00 00 20 00 00 00 00 00 00 00 --16 bytes palette header offset 0x10: Palette --size 400 Hex or 1024 Dec offset 0x410: 00 01 00 00 80 00 00 00 08 00 00 00 00 00 00 00 --16 bytes image data header. 4 bytes Width(100) & 4 bytes Height(80). So 100x80(256x128) offset 0x420: Image data 256x128 2nd texture offset 0x8800: 10 00 00 00 10 00 00 00 20 00 00 00 00 00 00 00 --16 bytes palette header offset 0x8810: Palette --size 400 Hex or 1024 Dec offset 0x8C10: 00 01 00 00 80 00 00 00 08 00 00 00 00 00 00 00 --16 bytes image data header. 4 bytes Width(100) & 4 bytes Height(80) so 100x80(256x128) offset 0x8C20: Image data 256x128 3rd Texture 4th Texture Etc.. Now, IMAGDATA.bin is just one texture but it has several palettes. Image Data offset at 0x1C700. File format is the same but with multiple palettes; Palette header1 Palette1 Palette header2 Palette2 Palette header3 Palette3 Palette header4 Palette4 . . Etc.. Image data header Image data Here is the 1st Texture in LLOGO.bin using Console Texture Explorer:
    1 point
  21. this https://sites.google.com/view/3d-model-archives/tools/akderebur-tools/valkyrie-profile-ak some tools part is missing.
    1 point
  22. It says, "thanks, I need to know what you did to get atleast something ". I searched for VIF tags,
    1 point
  23. Got a bit further just by making some assumptions about textures (each strip *should* use 1 texture), so it's not 100%. The meshes with bright green textures seem to be unseen elements of the map. There's probably some info somewhere for excluding them.
    1 point
  24. Here's bms for unpacking GAMEDATA.WAD with resource name support pulled out of PS2 game exe. Just make sure that your exe name match bms one and is next to the GAMEDATA.WAD. If not change it in bms on third line > Open FDSE SLES_519.86 1 get BaseFileName basename Open FDSE SLES_519.86 1 # Header Info getdstring Sign 0x4 get TotalFileSize uint32 get Unknown uint32 get ResourceCount uint32 getdstring Align 0x7F0 savepos ResourceTableOffset # Search for resource name table FindLoc FileNameTableOffset string "\x5C\x47\x41\x4D\x45\x44\x41\x54\x41\x2E\x57\x41\x44\x00" 1 goto FileNameTableOffset 1 get MainResourceName string 1 Padding 8 1 for i = 0 < ResourceCount get ResourceName[i] string 1 Padding 8 1 next i goto ResourceTableOffset # Resource Info for i = 0 < ResourceCount get ResourceOffset uint32 get ResourceSize uint32 string Name p "%s%s" BaseFileName ResourceName[i] Log Name ResourceOffset ResourceSize next i
    1 point
  25. GT4 exporting will for the most part either be hit or miss because not everything is currently supported. There's no compression. Just a ton of different texture pixel format types and not all are currently supported due to the atrocious GS memory layout. The comma character isn't actually intended, it depends on system language so it's currently a bug. Cars may export oddly because of callbacks as models uses a command-like system for rendering and callbacks are for extra shapes that may animate, and those may mess up the command list reading. For maps, baked shadows will be all over the place, so will reflective shapes. The tool does its best to extract shapes in a hierarchical manner given a flat rendering command list with conditions, so a lot of shapes will be on top of each other. Materials are not supported for the most part at all either. By the way, a thread already exists here:
    1 point
  26. That's bacause obj file use "," instead of "." Change all , to .
    1 point
  27. Last one from me for now. Just been looking at textures and materials. It's a lot more complicated!
    1 point
  28. The .scb ones seem to be DXT3 format from the few I've tested, although I'm not sure if they all are. There are also several images in each scb file, so it would need a proper script to pull them all out. The .scb files don't seen to store image dimensions, so not sure where they would be, making it tricky to do a proper script. There are other image formats in the .str files, some of which seem to be RGBA. A quick example of 4 images from Net_Feedback_BG.scb, which the game obviously combines into 1 image:
    1 point
  29. I made an attempt at putting all the bits together, doing a bit of manual extraction and some hacked together incomplete script. There's a lot of stuff unidentified in the file and a lot of data to connect the various geometry buffers/textures, etc. It would need a proper amount of time spent on a script to pull out everything correctly. From st00b_ground.mdl - this one has 245 submeshes:
    1 point
  30. And this is "odd": an FVFsize of 27. edit: another tree 0xC5EE0 11976 Vb1 28 16 0xCBC70 2786 020100 0x0 255 staffs, whatever 0xE8EC0 3368 Vb1 27 16 0xEA920 2798 020100 0x0 255 0x2AF590 3180 Vb1 27 16 0x2B0E70 2546 020100 0x0 255
    1 point
  31. Global.str seems to have a SCB header not sure what that means maybe a .scb file or something? but the GOH_Hed.str file is most definetly a audio file of sorts
    1 point
  32. You can extract the pak files with this QuickBMS script. The .str files look like audio data. Models are probably in another archive. pak.zip
    1 point
  33. Using hex2obj, first sub mesh st14a:
    1 point
  34. Interesting so the model is there. Jeff19995 said he found the model and it is labeled as "Lewis_Hi" but is not present on PS2/PC so check the files from other platforms. I can't do it because I don't have the games. Good luck! BTW, He posted that model on sketchfab: Lewis by Jeff19995
    1 point
  35. Ohh nice 2 byte swap obfuscation. Thanks for the tool. Now i have it unpacked.
    1 point
  36. O.K but how to know how many blocks are there?. I noticed that texture with 1024 width use 256 blocks and texture with 512 width use 128 blocks. Could this be the solution? Here's BMS. Hope my guess right... txt describes width/height of texture. You must figure out pixel format on your own. get BaseFileName basename endian big comtype deflate_noerror getdstring Sign 0x8 get Unknown_0 uint32 get TotalFileSize uint32 get Unknown_1 uint32 get TextureCount uint32 get TextureWidth uint32 get TextureHeight uint32 getdstring Dummy 0x40 xmath ChunkCount "TextureWidth / 4" for i = 0 < TextureCount get ChunkTableOffset[i] uint32 next i for i = 0 < TextureCount get TextureName[i] string next i for i = 0 < TextureCount goto ChunkTableOffset[i] for j = 0 < ChunkCount get CompressedChunkSize[j] uint16 next j for j = 0 < ChunkCount savepos Offset xmath CompressedChunkCSize "CompressedChunkSize[j] ?align 16" getdstring CompressedChunk CompressedChunkCSize string Name p "%s/%s.dat" BaseFileName TextureName[i] append 0 clog Name Offset CompressedChunkSize[j] CompressedChunkSize[j] next j string TexDef p "%s/%s_def.txt" BaseFileName TextureName[i] slog TexDef 0x18 -1 long slog TexDef 0x1C -1 long next i
    1 point
  37. I didn't even realize this reply was here, sorry! The walk animation tends to look decent... but have a peek at the run, heh. I don't know if I would say 98%... Maybe more like 85? But the changes positively impact other animations as well, so I feel like if this one looks right, it's entirely possible the rest of them will have fallen in line as well. The problem is, I don't really know what the issue with them would be, and being on Linux these days makes this harder to work on. The bigger change I had done is if you look at the dungeon animations... well, weirdly the room layouts were stored as such. So there's complete dungeon rooms.
    1 point
  38. how difficult would lt be for a beginner to rip environments want to port several maps to xnalara?
    1 point
  39. Looking to see if anyone is interested in this, 3D models/geometry isn't exactly my strongest skillset (which I'm sure you will soon notice). I was originally inspired by an old thread on Xentax for other Rareware games (primarily Grabbed by the Ghoulies) however Live and Reloaded seemed to get skipped over since no one could figure out the compression the game was using. Fast forward a few years and i learned that Xemu had a debugging feature with support for IDA which is a tool I'm fairly familiar with, using this i was able to extract the x86 assembly instructions the game uses to decompress the game assets and write a wrapper for it allowing me to unpack the files to a state similar to what's used in other Rareware titles. You can check out that tool here: https://github.com/birdytsc/clr_unpack I'm currently in the process of reversing the games model format but my limited experience with 3d models/formats is hindering my progress. While some of the data is pretty straightforward to obtain some are packed away in pushbuffer instructions, one example is the tri's/faces data: This makes it a little more annoying to tell what set of vertexes they belong to but they are (so far) stored in order that you will find any vertex data one problem i am having is im not sure whether im extracting the data properly, example: the first part for conkers main model is broken into 3 sets of triangles all sharing a single set of vertexes, uv's etc. the model only looks correct if i separate the 3 sets of tri's into there own mesh, keeping them together creates artifacts: Another issue im having is Texture alignment, the game stores the textures as raw DXT data (usually DXT1 or DXT5) even in simpler models that only consist of a single set of triangles im still having alignment issues, for example: Perhaps this is a sign that there is indeed an issue with how im extracting the Tri's? If anyone wants to play around with this stuff ive included some files in the zip: aid_bfdmodel_characters_conker.py - a script for ModelResearcherPro that will load the verts/tris for the main conker model retail_aid_zpackage_general_singleplayer.rbm.listfile.csv - list of file names (if they havnt been stripped from the asset packer) and offsets retail_aid_zpackage_general_singleplayer.rbm.unpacked - just the decompressed version of the file found in the retail game retail_aid_zpackage_general_singleplayer.rbm.unpacked.mapped - same file as above but after its had a bunch of pointers mapped, useful for diffing against the original to find pointers. retail_aid_zpackage_general_singleplayer.rbm.unpacked.mapped.hexpat - imhex pattern file for the previous file. conker_stuff.zip
    1 point
  40. Version 1.0.0

    412 downloads

    My old tool for TLOU2 PS4 fixed to work with PC files. Unpack .psarc files with UnPSARC_v2.7, and then you can use any .PAK file with the tool. Use command line, or just drop .PAK file onto the .exe Work same as old tool, described here: https://web.archive.org/web/20230819184855/https://forum.xentax.com/viewtopic.php?t=22580 After extraction, model and skeleton are in separate files. So they must be manually combined to work together. SMD model & skeleton can be just imported separately and then connected in blender. For ascii it will not work, so you have to open model in text editor, remove first line (0), which is bone number, and copy-paste skeleton there instead of that zero. So far tested on models, textures, maps - all looks fine. Animations are probably wrong, i can look into that later.
    1 point
  41. 1. The offsets in the UMOD package are encoded somehow, so the exported files contain incorrect data. 2. Currently it is not possible to export this version of the LIN - because it's not a package, it's a block of memory.
    1 point
  42. Thank you so much, brother! You're truly a lifesaver and a hero for sharing the modding tools. I really appreciate your support.
    1 point
  43. Use the python script I've linked to before, or use someone else's splitter tool, if there is no problem, you can mark the previous reply as a solution, I think this reply has solved your problem Your file can be recognized
    1 point
  44. What command do i have to use to unpack all pkg files? Since the game has over 200 of them. Nevermind got it
    1 point
  45. Hello, I was recently able to access the Disney SpeedStorm files thanks to the @DKDave script. (attached below) Now I would like to be able to repackage everything modified within a .pack and make it workable in the game itself. I would also like to know how to package audio files in a . BNK, I have been able to access and export, but I don't know how to put everything back in one . BNK and then repackage it into a .pack. ss_zip.zip
    1 point
  46. Old Chipicao tool works fine: M3G2FBX.zip M3G2FBX-master.zip
    1 point
  47. It's been a while. I did get through FMO and found the PS2 version is missing some models and plan to take a look at the PC version. I also tried to work on the maps of FM4/FMO since people asked for them and had some success but, much like the wanzers, the maps are subdivided into chunks that are dumped at the origin, making them impossible to work with. Right now, I'm working on identifying what I've dumped and converted from FM5 with the help of this script. Script and Test Files.7z
    1 point
  48. It's just a sample, if you want it to work you need to use Segatools and get the full Rom. After fc.exe is started normally, the hardware IO device will be checked. If passed, it will try to connect to the All.Net and Aime servers. Segatools uses IAT Hook to simulate the DirectX input into the corresponding IO input and inject it into the main program. The program only have a hardware checker program(maybe IO Checker) and does not use any user-level dlls. Almost all program codes are in fc.exe, and only a few lua scripts are in the rom folder. The rom folder mainly stores game Assets and DataBase, as well as some external shaders. Unfortunately I can't provide the full Rom here, sensitive content such as complete Rom cannot be uploaded in XeNTax, although I don’t know if this rule is also followed here, but you can try looking for it on the internet, Good Luck.
    1 point
×
×
  • Create New...