Leaderboard
Popular Content
Showing content with the highest reputation since 08/01/2025 in all areas
-
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 points
-
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
-
2 points
-
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.zip2 points
-
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 12 points
-
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
-
2 points
-
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
-
2 points
-
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.7z2 points
-
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.py2 points
-
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
-
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
-
1 point
-
1 point
-
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.rar1 point
-
Holy crap thank you so much, for the longest I thought it was an archive file. I guess not 😄.1 point
-
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/main1 point
-
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
-
this https://sites.google.com/view/3d-model-archives/tools/akderebur-tools/valkyrie-profile-ak some tools part is missing.1 point
-
It says, "thanks, I need to know what you did to get atleast something ". I searched for VIF tags,1 point
-
1 point
-
Here's the level. bw_lvl0.7z1 point
-
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 i1 point
-
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
-
That's bacause obj file use "," instead of "." Change all , to .1 point
-
1 point
-
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
-
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
-
1 point
-
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 sorts1 point
-
You can extract the pak files with this QuickBMS script. The .str files look like audio data. Models are probably in another archive. pak.zip1 point
-
1 point
-
1 point
-
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 i1 point
-
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
-
how difficult would lt be for a beginner to rip environments want to port several maps to xnalara?1 point
-
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.zip1 point
-
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 -
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
-
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 recognized1 point
-
What command do i have to use to unpack all pkg files? Since the game has over 200 of them. Nevermind got it1 point
-
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.zip1 point
-
1 point
-
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.7z1 point
-
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
ResHax.com: Empowering Curious Minds in the World of Reverse Engineering
Delving into the Art of Code Unraveling: ResHax.com - Your Gateway to the Thrilling World of Reverse Engineering, Where Curiosity Meets Innovation!