Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 05/26/2025 in all areas

  1. Added support for version 4 of locres to UE4localizationsTool Added to row editor, edit or add new Item ID for row UE4localizationsTool-v2.7.2.zip
    5 points
  2. Warhammer 40,000 Space Marine - Anniversary Edition (2011) and Warhammer 40,000: Space Marine - Master Crafted Edition (2025) ucs.pc Export and Import python tool. Warhammer 40000 Space Marine .PC Tools.zip
    4 points
  3. Json to Txt Converter v3 Fixed some issues — it now extracts English and Japanese voice-over dialogs separately. To use it, modify the for key in ['4', '5'] parts in both scripts to match your game's structure. Simply open the auth and sound_auth JSON files, identify which keys contain the dialog lines, and update that section of the code accordingly. DragonEnginejson.7z
    4 points
  4. This is the forum. Not help site sort of speak. In here, ppl are exchange the skills. Stop bumping the topic, this is against our rule! You asking for some help and in next to hours asking again. Stop doing it..
    3 points
  5. Please do not help anyone or provide guidance on how to convert TXT or JSON files into LOCRES files
    3 points
  6. Requirements UABEA PXR.py (For text extract and import) UnityPlayer.dll FFPR_FontTool (Optional, for font editing) Locating and Editing Texts Text files are stored inside the message_assets_all file "FINAL FANTASY_Data\StreamingAssets\aa\StandaloneWindows64" Open this file with UABEA and Select the four English text files by holding Ctrl and left click: system_en, story_mes_en, story_cha_en, etc_text_en On the right panel, click Plugins and export as txt. Create a new folder and move these exported .txt files into it. Download PXR.py and place it inside the same folder. Run the PXR.py and type 1 to extract the texts. Edit the generated merged_output_en.txt file as you want. After editing run PXR.py again and type 2 to import edited texts. Open message_assets_all with UABEA again, choose txt files > Plugins > Import.txt and choose the "merged" folder. And do Ctrl + S to save. Font Editing (Fonts are located in FINAL FANTASY_Data\StreamingAssets) Run FFPR_FontTool. Choose option D, then drag the font_en.bundle file into the tool. Choose a random name to extract the font files. This will decrypt the bundle. Open the extracted font files in UABEA. Select SE-ALPSTN and sqex-MonoSix files, then click Plugins > Export.ttf to export them. Edit the fonts, or you can use another font if you wish. After that Plugins > Import fonts with UABEA. Run FFPR_FontTool again, choose option E, drag your edited font files, and save as font_en.bundle. Textures Locations common_title.bundle: Title Screen Textures common_assets.bundle: Title Logo and Language Textures hit_sprite.bundle: Hit Textures miss_sprite.bundle: Miss Textures Installation For mods to work properly, you need to use the "UnityPlayer CRC Check Bypass" mod otherwise your mod will not work. https://www.nexusmods.com/finalfantasypixelremaster/mods/90 Credit: Shiryu64 on Moogles & Mods Discord FINAL_FANTASY_PIXEL_REMASTER_FONT_MODDING_TUTORIAL.pdf
    3 points
  7. So, I have been trying to make a script to generate .Obj files automatically from the game's psp files. To explain all the details: A .psp contains the meshes, animations and textures of a single 3D object. And they look something like this: The meshes are stored in .PSO files, while the animations are in .PSA, and the textures in .PSI (don't care about those two yet). Since there can be multiple meshes, textures, and animations in a single file, information like what texture corresponds to what mesh and such is stored in a .PSM file: I haven't really tried to check what the list of floats could possibly mean for the meshes so far. I have no idea. Alright, and here is what the PSO files look like, finally: Using the triangle strip algorithm from @Sparagas 's triangle generator in my script, I have managed to somewhat successfully re-construct the individual meshes from the .pso files: If you look closely, though, you can see there are these ugly triangle spikes coming out of the model. But if you look even closer, you can see the mesh is actually full of them: (There are also a lot of overlapping faces but that's another thing) From my understanding of tri-strips, this is probably intended? The result is good enough that my guess is the developers used a sub-optimal tri-strip conversion algorithm, and all these spikes aren't actually meant to be displayed, which is why most of them are inside the mesh and not outside. This doesn't explain what's up with the ones outside though. And, another problem: some of the models are missing a few faces! You can see on the top picture that the gun and the parallelogram-thingy have holes on their surfaces. But HoiHoi-san's head doesn't seem to have any. Weird! So, all that's left is figuring out: If there is a way to make all the visible spikes go away Why the missing faces If there is a way to fix the overlapping faces And all of this should be able to be done by a script, of course. I'll leave the raw .psp, .pso, and .obj files if anybody wants to take a look. And also my python script (it requires Open3D, which was a pain to install and is pretty resource heavy, if you can adapt it to something else I highly recommend you do that instead LOL). I'll also leave the textures here if anyone wants to figure that out. pointVisualizer.py HoiHoiFiles.7z
    3 points
  8. //------------------------------------------------ //--- 010 Editor v14.0 Binary Template // // File: // Authors: // Version: // Purpose: // Category: // File Mask: // ID Bytes: // History: //------------------------------------------------ LittleEndian();OutputPaneClear(); local uint32 i,j,k,l,InfoOffset=FileSize(); FSeek(InfoOffset - 20); uint32 CheckSum<format=hex>; // Must be updated after edit > 32 bit LE checksum uint32 TableOffset; // Must be updated after edit uint32 TotalFileSize; // Must be updated after edit uint32 Flag; uint32 Unknown; // Not sure what is for... FSeek(TableOffset); ubyte ResourceCount; struct { ubyte StrLen; char ResourcePath[StrLen]; uint32 ResourceOffset; // Must be updated after edit uint32 ResourceSize; // Must be updated after edit uint32 Null; }ResourceInfo[ResourceCount]<optimize=false>;
    2 points
  9. i think its not armor, its uvs (skip z) i made plugin fmt_gb3.py *(parsing all blocks, if desired you can add parsing of materials, nodes, etc.)
    2 points
  10. Here's Noesis script for textures. from inc_noesis import * import noesis import rapi import os def registerNoesisTypes(): handle = noesis.register("Psi Ops - Texture", ".w32") 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())) bs.read(20) ResourceTableOffset = bs.readUInt() bs.read(12) StringTableOffset = bs.readUInt() bs.seek(ResourceTableOffset, NOESEEK_ABS) ResourceCount = bs.readUInt() for i in range(0, ResourceCount): Extension = bs.readUInt() Unknown_0 = bs.readUInt() ResourceSize = bs.readUInt() ResourceNameOffset = bs.readUInt() cPos_0 = bs.tell() bs.seek(StringTableOffset + ResourceNameOffset, NOESEEK_ABS) ResourceName = bs.readString() bs.seek(cPos_0, NOESEEK_ABS) ResourceOffset = bs.readUInt() Unknown_1 = bs.readUInt() cPos_1 = bs.tell() if Extension == 544761204: bs.seek(ResourceOffset, NOESEEK_ABS) TextureWidth = bs.readUInt() TextureHeight = bs.readUInt() RawDataSize = bs.readUInt() -20 Unknown_0 = bs.readUInt() BufferInfoOffset = bs.readUInt() Unknown_1 = bs.readUInt() MipMap = bs.readUInt() Unknown_2 = bs.readUInt() PixelFormat = bs.readUInt() Unknown_3 = bs.readUInt() RawDataOffset = bs.readUInt() bs.seek(RawDataOffset, NOESEEK_ABS) TextureBuffer = bs.read(RawDataSize) bs.seek(cPos_1, NOESEEK_ABS) if PixelFormat == 19: print("Pixel Format > R8") elif PixelFormat == 12: print("Pixel Format > DXT1") elif PixelFormat == 14: print("Pixel Format > DXT3") elif PixelFormat == 15: print("Pixel Format > DXT5") elif PixelFormat == 18: print("Pixel Format > RGBA8") else: print("Unknown Pixel Format > ",PixelFormat) if PixelFormat == 12: texFmt = noesis.NOESISTEX_DXT1 elif PixelFormat == 14: texFmt = noesis.NOESISTEX_DXT3 elif PixelFormat == 15: texFmt = noesis.NOESISTEX_DXT5 elif PixelFormat == 18: texFmt = noesis.NOESISTEX_RGBA32 elif PixelFormat == 19: TextureBuffer = rapi.imageDecodeRaw(TextureBuffer, TextureWidth, TextureHeight, "b0 g0 r8 a0") texFmt = noesis.NOESISTEX_RGBA32 texList.append(NoeTexture(ResourceName, TextureWidth, TextureHeight, TextureBuffer, texFmt)) return 1
    2 points
  11. becky GB3, 829 vertices, uvs unknown so far: edit: I've made a "smart UV projection", but the result is not how it should look like: Assumedly armor parts:
    2 points
  12. I've been chipping away at this for... Weeks now? I've been making improvements to the program called StudioCCS which is a model viewer/exporter for the .hack games. My primary focus is the original series' model animations. I have had some successes - characters largely now look a little bit off rather than twisted and deformed. I have, however, hit the limits of my understanding. An archived XenHax post indicates these use standard PS2 vif tags, and despite reading over the linked posts (through the wonders of the Wayback Machine), I still don't know what I can do. I've had some successes with fixing some of the rotation values so things don't look like garbage, and implemented a few things like exporting a current scene and exporting all animation data. A lot of what I've done is a little hacky, for now, and my code is a mess of commented out attempts and whatnot. My repo is here, and does include a built version in the bin/Debug folder (it's how what I forked from what doing, so I stuck with it): https://github.com/taarna23/StudioCCS I'm attaching 3 character models that the program will load. I hope someone will be able to help. ccs_chara_models.zip
    2 points
  13. I figured out the format and have documented the compression here: Torus Games (Leapster) sprite decompression documentation
    2 points
  14. public static Byte[] iDecrypt(Byte[] lpBuffer, UInt32 dwKey = 0x6E6B7270) { UInt32 dwMagic = BitConverter.ToUInt32(lpBuffer, 0); if (dwMagic == 0x53524944) { UInt16 wFlag1 = BitConverter.ToUInt16(lpBuffer, 8); UInt16 wFlag2 = BitConverter.ToUInt16(lpBuffer, 10); if (wFlag1 == 1 && (wFlag2 & 1) != 0) { UInt16 wValue1 = BitConverter.ToUInt16(lpBuffer, 12); UInt16 wValue2 = BitConverter.ToUInt16(lpBuffer, 14); dwKey = (UInt32)(dwKey * (wValue1 ^ wValue2)); UInt32 dwSize = ((BitConverter.ToUInt32(lpBuffer, 4) + 3) >> 2) - 4; Boolean dwRemaning = ((BitConverter.ToUInt32(lpBuffer, 4) + 3) >> 2) == 4; if (!dwRemaning) { for (Int32 i = 16; i < dwSize * 4 + 16; i += 4) { UInt32 dwData = BitConverter.ToUInt32(lpBuffer, i); dwData ^= dwKey; dwKey = 5 * dwKey + 1; lpBuffer[i + 0] = (Byte)dwData; lpBuffer[i + 1] = (Byte)(dwData >> 8); lpBuffer[i + 2] = (Byte)(dwData >> 16); lpBuffer[i + 3] = (Byte)(dwData >> 24); } } } } return lpBuffer; } FS.DIR is encrypted, so the code above will help to decrypt it. if someone wants to check it and help to reverse structure i also attached the decrypted file. Looks like entry table is flipped... some examples Some correct paths FS_DECRYPTED.zip
    2 points
  15. 30kB unit, using hex2obj: 184 kB unit: 2nd mesh of 881kB unit:
    2 points
  16. I'm monitoring your posts and your activity in general. No please not thx, nothing and keep, keep asking. This is your last notification.
    2 points
  17. Usage: Export text: Run ExportText.exe, select *.Localization_Package file Import text: Run ImportText.exe, select translated file PoPForgottenSandsTextToolByGier.7z
    2 points
  18. The locres file refers to a file that contains text in the Unreal Engine. Depending on the game, some use locres files while others use uasset files. Please clarify which game you are referring to. And before creating a new thread, please make sure to use the search function in this forum.
    2 points
  19. Yeah, these models are a pain in the ass, lol. Sometimes after vertices is a kind of Flag but not in this case. And there is other problem.. I tried to read all meshes but all appear in the center, that is not good(image1), I exported like that and moved the meshes(image2) using Blender. Maybe you need the skeleton(?) I also read Uvs but I need to scale Y axis and rotate, weird.. So yes, buffer size is 16 bytes: 12 bytes(3 Floats) for vertices and 4 bytes(2 shorts) for Uvs. I can't do more, this is a mess..
    2 points
  20. The Tyrannosaurus Rex Female Is Coming Soon ;D - !!!ROAR!!! Something As Survived ;D
    2 points
  21. I am here mostly to ask questions and see if I can figure out this reverse engineering stuff ^^ I have been working on ripping all the assets from Ichigeki Sacchuu!! HoiHoi-San and coding my own asset extractor/importer for the game. I am still new to coding things that aren't web-pages, so its all a mess for now LOL. See ya around.
    2 points
  22. Hello, the problem has been widely discussed in this forum without a final result, afaik. It depends on the triangle strips algo used and/or stop markers (if any) for face building. edit: no markers found (There's a similar problem with "skipfaces", see posts from roocker666 but I think it's not related here.) edit: those bytes at vertex start +12 seem to be uvs, as you've assumed, so 12 bit tx, 12 bit tv? A little bit uncommon.
    2 points
  23. Hello,i have done some resherch about the flie and written a noesis plugin to export it. But i have some problems with reading vertex and face,using rapi. The vertecies are stored by each model,but the faces are stored by the matial. So,i use rapi reading all vertex then read the face tristrips individually. When consturct model,it can`t get the right weight(For example:char3d_ta.MUA). May be the rapi ignore the vertecies that are not active in context. I upload a simple model file,a model with problem and noesis plugin. Seeking for some help,thanks. MUA.7z
    1 point
  24. Hi. These files are INK (or Inkle) format files from inklestudio. You can check them out here if you're interested: https://www.inklestudios.com/ink/ These files are the json equivalents of the original ink files. (Unfortunately, inklestudio cannot convert them back to the original ink files!) They are sometimes used in Unity games. As always, these files are located in the assets or bundle file. You can extract them with UABEAvalona or Next. (You've already gotten this far 🙂 ) I recommend always using the plugin and saving to json, and if you use dump, extract the file to json as well. I have created a custom ink-json converter that makes the file a little more transparent and editable. Usage: - Export the files with UABEAvalonia using the plugin or dump json. - Place the included python files next to the exported files and run the Export.py file. (It also handles files in subfolders!) - Edit the NEW_INK_ blah blah blah.txt files as you see fit. (Be very careful not to damage the file structure! - Machine translation requires additional regex (e.g. MemoQ), or in the case of AI, appropriate prompts and double-checking! - Import.py - Delete Temp.py (This removes the NEW_INK txt files) - Import the files back into the assets\bundle folder using plugin or dump json import. I originally created and used this for another game (House Flipper 2), but it should work here as well. Ink Converter Tool donwload: Ink Converter Tool (by NooB).zip
    1 point
  25. Version 0.6

    86 downloads

    Work in progress, build 0.6 For instructions and support join reshax discord: https://reshax.com/topic/138-reshax-discord-server Currently, we must be able to replace any mesh in the game, including Aloy and other characters, robots, or environment parts. Also possible to replace most textures.
    1 point
  26. 1 point
  27. 1 point
  28. theHunter Call of the Wild Tetxts.rar
    1 point
  29. because the structure is different Previously you used the android version code to unpack the model: but after the model there is still a skeleton and after the skeleton there is still a lot of data. I haven't checked what it is
    1 point
  30. This tool public... https://forum.zoneofgames.ru/topic/36240-unityex/?page=18 But yes.. you're right that it's not worth much without regex knowledge. Fortunately, with the help of chatgpt, even a noob can solve this.
    1 point
  31. As per your issue here... https://github.com/wattostudios/GameExtractor/issues/34 ... we believe the archive is extracting correctly (we weren't able to find any missing files), however when we extracted the LVL files, we were able to open those and find SGP2/SGPX files within them - perhaps that is what you're looking for? Please work with us via the GitHub issue, so we can try to resolve this for you.
    1 point
  32. How did you get the .lvl files? Using Watto's tool? Checked p_bhospital2.lvl and 'yes', seems to contain a char (auto created faces are bad, as always...):
    1 point
  33. Compensatory loss.. 😄 But yes, really.. ❤️
    1 point
  34. And you are "DragonOfTheEastUA" from nexus mods right? Thank you for your help on Chrono Trigger font.
    1 point
  35. There is a lot here Use Crypto.json: C:\Program Files\Epic Games\UE_5.6\Engine\Binaries\Win64>UnrealPak.exe "X:\XboxGames\Coral Island\Content\ProjectCoralGDK\Content\Paks\ProjectCoralGDK-WinGDK.pak" -Extract "X:\XboxGames\Coral Island\Content\ProjectCoralGDK\Content\Paks\Deneme" -cryptokeys="C:\Program Files\Epic Games\UE_5.6\Engine\Binaries\Win64\Crypto.json" CryptoFile.zip
    1 point
  36. 1.Line: ": " 2.Line: ", script_list.rar
    1 point
  37. Rugby 25 Blobset Tools and TXPK Creator - https://mega.nz/folder/7rwCkbDY#AMvbYrULQGH9_2N7RsOtBg/folder/nmZgXR7A
    1 point
  38. ok i did it ok thank you very much especially user Indra881 guided me a little bit.
    1 point
  39. I've tried the tools you linked (with the .exe you provided too+tried to build it myself afterwards), but I'm having an issue where I'm not getting any .name nor .skel files out of the extracted data, just .geom/.anim/.nlst, and the blender addon won't accept the .geom model alone. Did you do anything special to get those .name and .skel files? Thanks in advance!
    1 point
  40. I don't remember exactly, but there's something like 2-byte compression code which tells you which compression type is used. And it's always one of these: ZSTD, LZ4, OODLE or ZLIB. So you have to decompress each chunk separately and then merge them to create output decompressed file.
    1 point
  41. It's actually an OTF file. Simply rename it to xxx.otf, and then you can view it using any font viewer.
    1 point
  42. 4 downloads

    This is attachment from ZenHAX posted by Szkaradek123 in topic: Mortal Kombat Deadly Alliance .ssf files
    1 point
  43. Unpacker: https://dtzxporter.com/tools/hunter Modloader: https://github.com/dtzxporter/avatar-modloader Avatar FOP locpackbin tool v1.01.zip
    1 point
  44. Version 1.0.1

    239 downloads

    Final Fantasy VII Rebirth tool Exports static and skeletal characters, maps (including nanites). In addition to all DLLs provided here, it requires global.ucas file from the game, it must be in the same folder as .EXE. Usage is similar to previous FF7remake tool. See below. Main difference is that nanite maps (using nanites) are exported in DMF format (download blender plugin for it here). Tool usage: You can use the tool to convert individual assets, or all assets in a folder. 1. To convert one asset, drop asset file onto the tool, or run the tool from command line with asset filename as parameter. If asset file contains a texture, it will create "texture.db" file with information for later use in map extraction. If asset file contains static or skeletal mesh, in will be exported to ASCII. Raw data will also be saved in "staticmesh.raw" & "skeletalmesh.raw" folders for later use in map extraction. If asset file contains a material, it will export material info in a text file, and create "material.db" file with information for later use in map extraction. If "material.db" file already exists next to the tool, it will be updated with newly found materials. If asset file contains a blueprint, it will create "blueprint.db" file with information for later use in map extraction. If "blueprint.db" file already exists next to the tool, it will be updated with newly found blueprints. 2. To convert all assets in a folder, place the tool in that folder and run it. Tool will search that folder and all subfolders for .uasset files and try converting them all. When prompted "are you sure?" you can press "enter" to confirm or Ctrl-C to cancel. 3. To convert maps, drop .umap file onto the tool, or run the tool from command line with umap filename as parameter. Current version will extract static meshes, skeletal meshes, blueprint-generated meshes and nanite "terrain streams" from a map. For map extraction to work, "staticmesh.raw" and "skeletalmesh.raw" folders with previously extracted data must be in the same folder with the tool. If some models will be missing, tool will give messages. If "blueprint.db" file will be next to the tool, it will try and place all models mentioned in blueprints on the map. There's no proper blueprint support, so some models may be placed incorrectly. If "texture.db" file will be next to the tool, it will be used to assign proper material names to nanite parts of a map instead of hashes.
    1 point
  45. For the Madden 13, PS Vita it looks like so with autocreated face indices: (the assumed FIs at 0x28CEE8 break the range after number 84 -> vCnt 38, so no idea...) vStart: 0x28cb88, count 72, FVFsize 12
    1 point
  46. Nice description. (Level) mesh format appears to be simple: Complete Level 1 seems to contain doubles (or whatever). See lower part of 2nd pic (not fully exploded). edit: I see. Parts overlap because rotation is missing.
    1 point
  47. What are you planning to do? I reversed it a long time ago. xbox version is easier. I want to make remake in cryengine but I don't have a time...
    1 point
  48. Version 0.9.0

    624 downloads

    Tool to grab AES key from UE4-UE5 game engine
    1 point
×
×
  • Create New...