Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 10/29/2023 in Posts

  1. Hello everyone. I am ID-Daemon, the reverse engineer. I also made tools for many games. Here's a little FAQ about that. Q: Why your tools are so tricky? A: I like to reverse data. But I don't really enjoy making tools. I prefer to research many games in less time, and make it possible for users to export game data. So maybe my tools are not the best or user-friendly, but they work. Q: Why your tools use .ascii format? A: This format is the best for me. Its very simple, easy to work with, never changing, and at the same time it still has everything needed to export models even from most recent games. Well, almost everything.
    19 points
  2. Dear users, At the heart of our forum is the community, and we're delighted to welcome you here. ResHax.com is the place where people with a passion for development and technology, reverse engineering come together. To make the most of this forum, please follow a few simple steps: Register: If you haven't registered yet, we recommend creating an account. This will allow you to actively participate in discussions and share your knowledge with others. Introduce Yourself: Once you have an account, don't forget to introduce yourself in the "Introduce Yourself" section. We'd love to learn more about you and your interests. Forum Rules: Please read the forum rules to understand how to behave and what is allowed here. This helps us maintain a pleasant environment for everyone. Get Involved: Share your experiences, solve problems, and be a part of the active community. The forum is here for you, and we appreciate your participation. If you have any questions, feel free to reach out to the moderators or admins. Thank you for being with us, and we look forward to engaging in discussions together! Best regards, Your ResHax.com Team
    18 points
  3. FORUM RULES General Rules: In general, please bear in mind the following regulations that pertain to most commercial games (the "Application"), and which it NOT allowed on our forum: Prohibited Actions: Users are not allowed to engage in activities related to cheats, automation software, bots, hacks, mods, or any unauthorized third-party software in connection with the application. Commercial Use: Users cannot use, reproduce, or distribute the Application for commercial purposes. Actions Leading to Violation: Users should not provoke or encourage actions that violate the Application's terms of use and the User Agreement. Additional Rules: No Sharing of Illegal Content: Publicly sharing illegal content is prohibited, and consequences may be enforced. No Warez Discussion: The forum does not support discussions related to cracks, hacks, or illegal activities. Respect Others: Users are expected to treat others with respect and not engage in harmful behavior. No Unauthorized File Uploads: Users should not upload files that belong to others. Politeness: Users are encouraged to be polite and respectful to others. No Adult Content: Posting explicit content is not allowed. Seek Help Politely: When seeking assistance, users should post in the appropriate forums and ask nicely, but rule search first and then ask later is apply. Show Gratitude: If you receive help from someone, it's considered polite to thank them. Avoid Contacting Senior Members: Users are discouraged from contacting senior members via PM for help. English language is a requirement for communication on the forum to ensure better understanding among users from different countries. Use of other languages is not allowed on the forums! Do not share any commercial game assets and do not ask others for sharing game assets. Ask for help with ripping instead. Don't reply to threads here asking for help, by telling the person to join the Discord (or any other website/service) for a tool or script or whatever; instead post a publicly-accessible link or a copy of the script, or directly include the relevant tool as an attachment to your post, but preferably use our Downloads system instead. Before you create a topic in the forums Game Modding, please ensure you name it correctly! For example, [PC] GameName or at least Name of the STUDIO could also work. No generic names are allowed. All topics not following these rules will be removed. If you receive assistance from members here or on the Discord server, please reciprocate by sharing tools and knowledge in the designated section and ensure that you mark the topic as SOLVED. Before you post something use SEARCH first!! Don't sell any mods if you used the Reshax forum to get the tools to make them. This will lead to an instant ban, no questions asked. The rules state that non-compliance with these regulations can lead to instant banning or account deletion. Users are advised to adhere to the rules to avoid consequences.
    17 points
  4. God of War Ragnarok tool is in progress. Allows to export characters with bones/weights. It will be posted here after some testing πŸ˜‰ The tool currently relies on Hitmanhimself's tool, so assets must be first exported with his tool, and then converted.
    16 points
  5. Hello. I would like to share with you my private tutorial links collection. These are useful topics from Xentax, Zenhax and any other reverse engineering related sites that I was able to find in the Internet. I have put them into categories. You may encounter situation when one tutorial fits to few categories, but it is placed only in the category that it fits most. Also, you may encounter tutorials with "[PL]" mark, these are tuts in Polish language. If you don't understand this language, just skip them. Also be aware that I haven't read/watch some of these tutorials yet, so I can't recommend you which tutorial is the best choice, sometimes I'm still learning new things just like you and on this list you may find tuts that are not very useful for you, so don't blame me for that. πŸ™‚ Just pick your favourite category and start learning. If you are complete newbie, I would recommend to start with tuts from category "Basic knowledge". If you have any other good source of knowledge, you can write a comment below and I will update this tutorials collection. Also remember that those links may be dead some day, so don't blame me for that and just make a copy for private use πŸ™‚ So that's it. Enjoy. πŸ˜„ Links to tutorials: Basic knowledge (you should start with these if you are new to reverse engineering) - Definitive Guide To Exploring File Formats - Beginner Learning Materials on Reverse Engineering Video Games - What is a File Format? - Analyzing and Reverse Engineering a Game Archive - Key points to successful hex reading - Overview of game file formats and archives - REWiki - Reverse engineering hints - HOWTO-Reverse Engineering QuickBMS - [TUTORIAL] What is QuickBMS? How to export and import with QuickBMS? - QUICKBMS GUIDE - QUICKBMS GUIDE 2 ZLIB - QUICKBMS GUIDE 3 IF ELSE - Basic BMS Scripting - QuickBMS documentation - QuickBMS crc engine - QuickBMS - Reimporting files in the archives - QuickBMS - Scan all the supported compressions - Example of archive format reversing with QuickBMS (medium) - Practice with archives and quickbms scripts - [TUTORIAL] Making BMS Scripts MultiEx scripting - MultiEx Commander Manual - MultiEx Commander 4.5 YouTube tutorials - MexScript Documentation - Let's MultiEx Encryption tutorials - How to guess basic obfuscations: xor and sum/rot - Reverse simple decryption - Reversing AES Keys UE4 + AES Keys Collection - How To Get PAK RSA Key (Wolcen / CryEngine Games) - Retrieving ZIP passwords from games - the zero skills way - Retrieving ZIP passwords from games - the debugger way - Retrieving ZIP passwords from games using plain-text attack - Hacking Zip Passwords (C9) - Checksum / CRC scanning - Decrypt any vita game (no custom firmware needed) - How Unpack Themida 2.x.x or How Unpack Themida 2.x.x (WXP) - SM Hasher / Murmur3 hash + Wiki + Python implementation - LCG + sources + Cracking LCG + LCG in VC2 - Decrypt unity 3d files with Frida - [Tutorial] How to get Allegro passwords Hash tutorials - [Tutorial] How to restore hashed filenames from archives Compression tutorials - How to recognize the compression algorithms with your eyes - LZMA SDK (binaries + source code + specification) + LZMA Wiki - Bc7 and bc5 decompression and compression - Offzip - deflate/zlib scanning and extraction - ZSTD compression + documentation - Reverse Engineered old Compression Algorithm for Frogger - Oodle Data Compression + Oodle compressor + Oodle wiki page - RLE Compression explained + RLE Wiki + RLE in Python - LZ77 explained + LZ77 encoding + LZ77 decoding + LZ77 in Python - LZSS Compression + LZSS explained - LZ Compression + Open-source LZ Compressors Debugging / Decompilation / Disassembling - Lenas Reversing for Newbies - Reversing Spider-Man 2000 - Real World Decompilation with IDA Pro - IDAPython conditional breakpoints - The Beginner's Guide to IDAPython - Using IDAPython to Make Your Life Easier Part1 + Part 2 + Part 3 - Reverse Engineering with Ghidra - How to Reverse Engineer with IDA Pro Disassembler - How to reverse engineer functions - Debugging β€œDust: A Tale of the Wired West” - Reverse Engineering Dust: Uncovering Game Scripts - Reverse Engineering an Xbox360 Game - Reverse engineering C programs - bin 0x10 - Memory Hacking β€” External Signature/Pattern Scanning Tutorial - Remote Debugging with IDA Pro (Windows) + Connecting host with VirtualBox - Remote Debugging with IDA Pro (Linux) - Basic IDA Python Scripting Hooking / DLL Injection - Simple C++ DLL Injector Source Code Tutorial - Quick and EZ - Dll Injection Explained (how it works + source code) - Manual Mapping DLL Injection Tutorial - Blizzhackers DLL Injection - API Hooking and DLL Injection on Windows - [PL]ReverseCraft #7 - Inline hooks, DLL injection - [PL]DLL INjection by Maciej Pakulski (PDF) - C/C++ Memory Hacking β€” Function Hooking / Detouring + How Function Hooking / Detouring Works - C++ Detour / Hooking Function Tutorial - [Tutorial] The different ways of hooking - API Hooking with MS Detours + MS Detours 4.0.1 description + source - Hooking tutorials - Inline hooking in Windows - C++ Internal Trampoline Hook Tutorial - OpenGL Hook - MinHook - The Minimalistic x86/x64 API Hooking Library + source on github - DLL Hijacking - [Tutorial] Simplest function hooking with IDA, Detours & C++ - [Tutorial] DetourFunction __thiscall - How to Hook Functions - Code Detouring Guide - Resources About Hooking - [Tutorial] Hooking Java Functions - [TUTORIAL] Hooking Android bytecode with Frida Console Tutorials - PS2 Texture Swizzling - PS1 LibCrypt tutorial + LibCrypt Sectors Mappings + LibCrypt Bible - Gears: A look Inside the Final Fantasy VII Game Engine - Convert Ps3 to Debug 4.21 - Extract Samples and MIDI files from Square PS2 Games - Extracting Xbox 360 game files - Reverse Engineering Xbox360 SaveGame (Dead Space) - Extract + Decrypt 3ds Roms - [HOW-TO] Assembling 3DS Homebrew for Gateway - [Tutorial] How to Decrypt, Extract & Rebuild 3DS|CIA|CXI Files - PS2 Hidden files + this + this + this + IsoBuster + Ratchet and Clank PS2 discoveries + Ratchet and Clank Hidden files extractor + this - PS2 Modding Tutorials + PS2 Modding Tools + PS2 AIO Project - [TUTORIAL] [PS2DEV] An Introduction to PS2DEV and it's History - Racing Lagoon Hacking Deep Dive (Translating PS1 games - tutorial) DOS Tutorials - DOS games reverse engineering guide - DOS file formats / encryptions / compressions etc. - DOS game "Nomad" (1993) documentation and tools Audio - The basics of VGM ripping + VGM Ripping Tools - Common Sound Formats - How to scan audio codecs with ffmpeg - Tutorial on vg-resource - Extract Binary Domain's Music/Sound (CRI .cpk bgm) - Batman Arkham Knight - Extract Soundtrack - Multimedia Wiki (Audio, Video, Codecs) - TXTH files documentation Graphics - Finding graphics - Xentax Wiki - Image file formats - Tutorial : How to edit EA's FIFA PS2 TEXTURE Source code + documentation - PS1 BRender Engine (Harry Potter 1, Harry Potter 2 etc.) - PS1 BuggyBunny (Bugs Bunny) - Python Tools Collection - KAO2_PAK + documentation - J2ME game Stalker - Soul Calibur 3 Reversing Books - Reverse Engineering for Beginners + Reverse Engineering challenges + Compiler Explorer - Game Hacking: Developing Autonomous Bots for Online Games - Reversing: Secrets of Reverse Engineering - The IDA Pro Book, 2nd Edition: The Unofficial Guide to the World's Most Popular Disassembler - Mastering Reverse Engineering - Practical Reverse Engineering - [PL]Gynvael Coldwind Praktyczna inΕΌynieria wsteczna - [PL]Asembler. Sztuka programowania 3D Models - Approaches of Parsing Bone Representations - Noesis tutorial Basic Model - Video tutorials on model formats reversing - Make_obj (C source) - Extracting simple models - Analyzing and Extracting a Game Model - [Tutorial] How to extract bones from any games with Noesis - Sanae3D - 3D format converter - Background Knowledge of Bone Stuffs - Extract 3D models from binary files - Writing an Obj Convertor in C - [crash course] How to get multiple submeshes using Make_H2O - Very Basic model format conversion (Shaiya). - INTEL GPA mesh ripper tutorial + tool (x32,x64,DX9,10,11) - 3ds Ram Dump - [Tutorial] Exploring model formats: 9 Dragon - Noesis tutorial Zlib - Video tutorial on full model format reversing (Planetside) krystalgamer's Lair - Marvel Avengers - Writing a server emulator - Spider-Man 2000 - Save file protection - Spider-Man 2000 - Re-enabling a cheat code - Spider-Man 2000 - Save file content exploration - Spider-Man 2000 - PKR Format - Spider-Man 2000 - Custom File Loader - Spider-Man 2000 - Apple to the Rescue! Mobile (Android, iOS, J2ME) - OWASP guide - OWASP guide crackmes source code (Warning! Big spoilers!) - Beginners Guide to Reverse Engineering Android Apps - [Android] Decrypt unity 3d files with Frida - Mobile Game Asset Download - [PL]Reverse engineering mobile app (Niebezpiecznik) - J2ME Reverse Engineering Capture The Flag - Solving CTF Challenges Part1 and Part 2 - [PL]Capture the flag Tutorials playlist Other - The Ultimate Game Hacking Resource - Low-Level Programming University - 1024bar tutorial - [PL]ReverseCraft blog and ReverseCraft playlist - [PL]Modding tutorials - UE4 games texture replace - nullsecurity.org - crackmes.one - RCE Tools Library - GHB1 - Start Here Beginner Guide to Game Hacking - Ripping Tutorials - Searching text strings using Total Commander
    16 points
  6. We are thrilled to inform you that we have successfully created a backup copy of all ZenHax data! Posted here on reshax, it includes: - 70590 posts in 13300 topics - 480 bms scripts - 1700 tools There are other backups, but they have disadvantages: - zenhax.com backup is slow and lacks attachments. - archive.org copy includes attachments, but its even slower. Both of them are hard to search and navigate. Now this backup has attachments, its quick and you can easily search it. Stay tuned for more updates! πŸŽ‰
    13 points
  7. I'm still looking into the bones, trying to get them working correctly. The ones that don't work correctly yet are the models with over 256 bones, such as the one below. The vertex data only uses bytes for the indices, so it has to remap the bones into smaller groups of 0-255. They could have just used Shorts for the indices and it would have been no problem. Had a bit of success with some bones being remapped correctly, but others still not. It seems like some bones maybe aren't needed, or are used for something else. This is pl036 with some bones being moved correctly.
    13 points
  8. Dear Reshax community, We’re grateful to have you as part of the Reshax family, and we hope you’ve found value in the discussions and resources our forum provides. As you may be aware, maintaining an active online community comes with costsβ€”particularly for hosting and the necessary licenses to keep the forum running smoothly and securely. For almost a year, we’ve been covering these expenses ourselves to ensure the forum remains accessible to all. However, as the community continues to grow, so do the associated costs. We need your support to help cover the expenses for hosting services and licensing fees, which are essential for keeping the forum operational and maintaining its quality. Any contribution, no matter how small, will go directly towards these costs, allowing us to continue providing a reliable and engaging platform for everyone. Your support will help us ensure that the forum remains a place for learning, sharing, and connecting without disruption. We understand that not everyone is in a position to contribute, but if you are able to help, it would be greatly appreciated and would make a significant difference in keeping Reshax running strong. Thank you for being a part of our community and for considering supporting us. Together, we can sustain Reshax as a valuable resource for all. DONATION : https://reshax.com/clients/donations/1-license-and-hosting-cost/ Your Reshax team forever :)
    12 points
  9. I'm gonna share my findings about spiderman 2, 3 and wolverine assets here. So far I made a few first tools for archives. I have a list of assets present and now comparing them. Here some examples: Heres what i found so far: Spiderman 2 (official release v1.05) has about 400k assets. And its the first game of theirs with no names in archive. But luckily we have a list of names in ... Spiderman 3 early build, which also has about 400k assets, with names, but a little different. It has about 300 new assets, and missing about 3000 old ones. So it looks like for some first tests of SM3 they removed most of the map or something, and started adding some new models and map parts. I can see it comparing the lists. Wolverine has only 39k assets built, as everybody know probably, its just a little part of new game for tests. Now i'm gonna dump some models and make tools to convert them. Progress details on discord.
    12 points
  10. I'm going to do tools for it, and release it here on reshax. I plan to support characters and maps, like it was before with FF7 remake.
    11 points
  11. 10 points
  12. Here you can find my tutorial for Horizon Forbidden West. HUGE thanks to daemon for helping me with all this and a few others on discord. Finally we have something that can work efficently. All the tools are provided in the links. Daemons tool can be found on his page in Horizon. Have any questions feel free to ask here on on discord. Tutorial Tool Usage https://sites.google.com/view/sharp-design/tutorials/horizon-forbidden-west-tutorial HFW Animation Tools https://drive.google.com/file/d/1-c4_OEFfKCLzqyqMYME0CRZBlh9Hjiye/view?usp=drive_link CMD context reg https://drive.google.com/file/d/1lrS7KsaNDha_QeajP2XvS5TPImdhbANW/view?usp=drive_link ASCII blender importer https://drive.google.com/file/d/13an1_Ct65NIRbRU436ZkIeeEkLSNpulU/view?usp=drive_link
    10 points
  13. I'm working on a set of tools for Dragon Age Veilguard. So far, i have dump tool to extract all files, all models can be converted. Also i have fixed the usual frostbite distorted faces. Now checking if something needs to be done with unified skeleton or textures, and then tools will be published here.
    9 points
  14. From further investigation, it seems that some meshes use up to 8 bone weights/indices, where others only use 4. It also looks like they're split into 2 groups of 4 in the vertex data - i.e 4 weights/4 indices/2nd set of 4 weights/2nd set of 4 indices. So I'll need to redo the way bones are processed to see if that fixes it.
    9 points
  15. I'm looking at the textures/materials now, trying to allocate them properly. Just a few tests so far:
    9 points
  16. Good news. Issues with missing objects and incorrect normals were fixed. Now tool is really close to release.
    9 points
  17. *(test first topic)(orig topic on Xentax) what worked for me: CASCExplorer.exe CASCExplorer.exe File>Open Online Strorage>Diablo IV (Beta) after: select CDN Build> 41428_Win64Client_0_9_0_b wait "Loading" in Explorer select all(or those that are needed) files in: -"Root(Read only)>base>meta>Apperarance" -"Root(Read only)>base>payload>Apperarance" click LMB>Extract> yourFolder After extraction, the folder structure will be preserved. meta file and data file have the same names I made a converter AppToOBJ.exe (I used my 3D library written in pure C#), It opens a meta file and looks for a data file in the specified folder "path with dataAPP" with the same name as the meta file, if this folder is not specified it looks for a data file near the meta file with the same name but as "*_data.app" *(This is a test application, tested on random models, I do not guarantee that all models will work. There will be no further work on this application.) AppToOBJ.exe Zombie.zip
    8 points
  18. This is an archive of the useful list originally from https://forum.xentax.com/viewtopic.php?t=15540, which seemed a fitting first topic for graphic file formats. Some links are broken because they pointed to internal downloads on Xentax :'(, but most work :). ------------------------------------------------------------------------------------------------------------------------ Post by ikskoks Β» Fri Nov 25, 2016 2:13 pm TextureFinder 1.3.2 Designed to find textures inside any uncompressed files. Any size, any pixel bit format, any binary file. It only requires that the file be uncompressed. This tool is intended to be used by researchers and developers with a good understanding of bitmap formats. VERSION 1.3.2 is the last one of this first series. Formats implemented so far: TRUE COLOUR (RGBA) FORMATS : 64bits 16x4 48bits 16x3 32bits 8888 24bits 888 16bits 565 15+1bits 1555 12+4bits 4444 08+8bits 8332 08bits 332 06+2bits 2222 PALETTE FORMATS : P8 256 colours P4 16 colours P1 2 colours QUAD FORMATS (alpha channel implemented only in series 2) : DXT1 DXT3 DXT5 TextureFinder 2.1 Newer and better version of TextureFinder. Tile Molester 0.16 Tile Molester, or TM for short, is a program that facilitates the viewing and editing of raw graphics data; that is, graphics contained in arbitrary binary files, where one usually doesn't have initial knowledge about the location and/or format of the graphics. The main area of application thus far has been videogame console binaries. In most cases, these files contain a large variety of data, not just graphics -- sound data and actual game code are two examples. Collections of data in one and the same file may be interspersed in any conceivable fashion, subject to hardware/software-constraints of the intended runtime-environment as well as the decisions made by the producers of the binary (the developers). TM is a kind of visual explorer of such files, in that it allows the file contents to be interpreted and displayed in a multitude of ways. By perusing the file and tweaking the settings of the renderer, the binary data that corresponds to graphics may be made accessible in the way they are intended, and edited to the satisfaction of the user. TiledGGD 2.0.3.0 A generic graphics dumping tool, based on the elusive program GGD TiledGGD - basically it’s GGD (General Graphical Dump tool), with some extra features: Currently working (extra) features: * Support for tiled graphics (tiles of any size) and palettes (tile sizes are restricted, because they need to fit a 16*16 grid) * Copy visible graphics and palette directly to clipboard * β€˜Go To Offset’ functionality * Toggle Endianness of graphics and palette separately * Save the entire graphics * Built-in NCGR/NCBR and NCLR support (I’m not using all the data from the files, so there are most likely still some bugs) * Lua plugin support DOWNLOAD TOOLS If you know any other useful programs to search for graphics in files, you can share here. πŸ™‚ ------------------------------------------------------------------------------------------------------------------------ Post by ikskoks Β» Sun Jun 18, 2017 3:39 am Rainbow is a tool intended to convert different graphics formats from video games assets to and from user editable images (like png). It currently supports almost every variant of the TIM2 format. The main difference with other great tools like Tile Molester and Crystal Tile 2 is to provide direct support to proprietary graphics formats found in "new generation" consoles, like PS2, PSP, Wii, etc., instead of dealing with just the raw image data. Features The underlying image library has almost complete support to TIM2 texture files usually found in PS2 and PSP games. The app supports multi-layer, multi-clut, swizzled (PSP)/unswizzled TIM2 images with both linear, interleaved palettes, and segments headers eventually extended with custom user data (usually used by programmers). Can open textures in any format supported by the underlying image library. Can open whole folders in search of supported texture formats. All known texture files are then displayed in a list. Can export and import textures in suitable image formats for editing (like png). Any additional information specific to the texture is preserved when exporting/importing (like the TIM2 header data), in order to have a one-to-one correspondence with the original texture. Customizable background color for transparent and semi-transparent images with chessboard like pattern. Finally, Rainbow supports parameters via command line: the first parameter is the name of a texture you would like to open. DOWNLOAD Console Texture Explorer (PSP/PS2) is an application that allows working with PSP and PS2 textures. It helps to minimize manual work during texture resources manual scanning and graphics data research in raw archives. Version: 1.0b Designed and made by: Dageron Year: 2012 ====== Supported platforms: PSP and PS2 Supported formats: any texture dictionaries with 4bpp/8bpp graphics data DOWNLOAD ------------------------------------------------------------------------------------------------------------------------ Post by ikskoks Β» Sun Jun 03, 2018 7:04 am Raw texture previewer/converter Download here: viewtopic.php?f=18&t=16461 ------------------------------------------------------------------------------------------------------------------------ Post by ikskoks Β» Mon Jul 16, 2018 2:28 am PVRTexTool Download: https://community.imgtec.com/downloads/windows-installer-powervr-tools-and-sdk-2018-r1/ ------------------------------------------------------------------------------------------------------------------------ Post by ikskoks Β» Mon Aug 10, 2020 7:29 am Cheat Engine - Graphical Memory View CHEAT ENGINE DOWNLOAD ------------------------------------------------------------------------------------------------------------------------ Post by ikskoks Β» Tue Sep 08, 2020 11:52 am AMD Compressonator --> https://gpuopen.com/compressonator/ https://github.com/GPUOpen-Tools/compressonator ------------------------------------------------------------------------------------------------------------------------ Post by ikskoks Β» Wed Oct 21, 2020 11:35 am Some new tools are listed here --> https://tcrf.net/Help:Contents/Finding_Content/Finding_graphics ------------------------------------------------------------------------------------------------------------------------ Post by ikskoks Β» Tue Dec 15, 2020 6:01 am RAW pixels viewer This application allows you analyze raw image data, you can display memory dumps of frame buffers, video buffers and uncompressed video files. Play with image parameters below to explore world of colors. https://imgur.com/a/ZJQtO8B http://rawpixels.net/ ------------------------------------------------------------------------------------------------------------------------ Post by ikskoks Β» Thu May 20, 2021 10:32 am TileShop and ImageMagitek TileShop is a WPF application for Windows that implements ImageMagitek and allows end-users to manage specialized graphics in a modern GUI environment. ImageMagitek is an internal .NET library written in C# to view, edit, and organize common and complex retro videogame system graphics. Emphasis is given to the features most valuable to the common, cumbersome tasks when encountering graphics embedded within binaries without any distinguishable headers or identifiers. Exporting and importing is supported to allow advanced editing features to be performed in third-party image editors that operate on standard PNG. https://github.com/stevemonaco/ImageMagitek ------------------------------------------------------------------------------------------------------------------------ Post by th3ru Β» Sat Jun 05, 2021 11:33 am Raw Image Viewer module of Kuriimu2. + live preview as you change parameters. - no drag&drop, to be launched from K2, extracts only to png. https://github.com/FanTranslatorsInternational/Kuriimu2 ------------------------------------------------------------------------------------------------------------------------ Post by ikskoks Β» Thu Nov 04, 2021 12:25 pm Mumm-Ra's Game Graphics Tool Download: old version -> https://drive.google.com/file/d/1ZeRQcU-cqOO5gdRGV_kgvsrq_jBoCFgH/view?usp=sharing version 96 -> https://drive.google.com/file/d/1kw1YVDzPATMCS5fZYDTiPwosqhGjVpmO/view version 100 --> https://drive.google.com/file/d/1mc8gGTt_O7HpcthqXQfEc30TgV_2f4ze/view ------------------------------------------------------------------------------------------------------------------------ Post by Sharppy Β» Sun Nov 07, 2021 8:51 am Pixel Reader by Leo2236 Open any file to view it in pixel format Creator Site http://lgt.createaforum.com/index.php ------------------------------------------------------------------------------------------------------------------------ Post by ikskoks Β» Fri Dec 23, 2022 4:23 am TextureFinder by Durik256 (Noesis) [updated 2023-11-26] Download: https://github.com/Durik256/Noesis-Plugins/blob/master/tool_TextureFinder.py Original usage instructions: https://web.archive.org/web/20231012104059/https://forum.xentax.com/viewtopic.php?t=26113 ------------------------------------------------------------------------------------------------------------------------ Post by ikskoks Β» Tue Dec 27, 2022 6:33 am GIMP - Load Image from Raw Data How to use this functionality: 1. Download GIMP 2.10 2. Change your file's extension to *.data 3. Open GIMP 4. Go to File > Open in GIMP 5. Load your *.data file in GIMP 6. Click "Open" in the new window. ------------------------------------------------------------------------------------------------------------------------ Post by th3ru Β» Mon Mar 06, 2023 7:47 am PixelDbg - view any type of file as image data, using a number of different formats. Downloads: https://sourceforge.net/projects/pixeldbg/ (source + binaries for Windows and Linux) (originally found on tcrf | not tested personally) ------------------------------------------------------------------------------------------------------------------------ Post by ikskoks Β» Tue Oct 24, 2023 4:16 am Game Extractor
    8 points
  19. Its getting there, I have more objects placed now. But still not all.
    8 points
  20. Huge thanks to swuforce for the scripts! Use: 1.) Download and istall the autoit: https://www.autoitscript.com/site/autoit/downloads/ 2.) Search the script and paste in "Include (put these files to your AutoIt Include folder)" folder. 3.) Start the game script export-import tool. (some scripts are already out of date)
    8 points
  21. Asset lists for both PS4 & PS5 versions. Here's how they work: body variants - describe each and every variation of human characters. More than 1000. You can export and combine them to get actual combinations controlled entities - all robots are actially those. Also animals and a few other things. I did not check them all, so some of them are still under question, but all robots are there faces - or heads - self-explanatory outfits - aloy outfits. Hopefully these are all, got them automatically. some may be missing all_assets_ps5 is the main game asset tree partially decoded. It contains useful info about most interesting parts. For example, detailed description of all robots, body variants, and other skeletal meshes For example, if you need a face or outfit, you just use the number from the list. But if you need to get a full robot, you need to search for its code in all_assets_ps5 file to find its model parts, skeletons, helpers, destructibles etc. Note that there's no such thing as complete robot description in the game. Robot is a combination of its "entity", model, and other parts. Some robots use same entity, but a little different model (such as horse and goat). Some use same model, but spawns with different destructible parts. It all can be found in the tree. Same if you need a body combined, search for its code and get codes for all its parts An example spawn setup for a robot: B85 SpawnSetup: Entity ---> 55C 7D Entitycomponent ---> 4E7 D SkinnedModelResource Entitycomponent ---> 55C 43 RagdollComponentResource Entitycomponent ---> B80 3 DestructibilityResource AI context = CONTEXT_ARMADILLO_WALK In this example, setup tells the game to spawn an entity 55C (which is armadillo), with a ragdoll also from package 55C, destructible parts described in B80, and a model from 4E7. Ragdoll - will have physics skeleton. Destructibility resource - will have destructible parts description, or links to where they are. Model will have main skeleton, helpers, and all meshes: 4E7 SkinnedModelResource: Modelpart 4E7 2F Modelpart 4E7 9F Modelpart 4E7 56 .... Modelpart 4E7 6F Modelpart 4E7 1F4 Modelpart 4E7 118 SkeletonHelpers 4E7 11F SkeletonHelpers 4E7 7F SkeletonHelpers 4E7 2BF Skeleton ---> 4E7 0 Here we can see that skeleton, helpers, and all parts are in the same package - 4E7, but its not always like that. hfw_ps4_lists.7ziphfw_ps5_lists.7zip
    8 points
  22. There was A LOT of discussion here that was not related to AC Shadows localization. As a moderator I couldn't allow that, so I've removed all off-topic posts. From now on please post only comments that are directly connected with translation work. Thank you. πŸ™‚
    7 points
  23. Adding materials... thats probably last thing its missing before release
    7 points
  24. Things are getting better. Almost everything is in place now.
    7 points
  25. I've run out of ideas. For now I can offer this script for 3ds Max. Can import geometry and UVs for main characters. Everything else can't. Basically, I just found the required offsets and choise its depending on the file name. The path to the file is written in line 50 I still have a long way to go before deciphering the format, so I decided to post this temporary script. List of supported files in the spoiler. AW2_tmp_236.zip
    7 points
  26. This is my initial manual testing of one of the Alan models - nowhere near the scripting stage yet though, although others are working on it too.
    7 points
  27. Dear Users, We still have some issues with email validations. Please be patient; it's going to be sorted out soon. In the meantime, our staff is approving it manually. Thank you for your understanding.
    7 points
  28. Hi! You may know me from Xentax as I was moderator there and I was helping many people there with reverse engineering stuff. I hope to be a productive member of this community as well. πŸ˜„
    7 points
  29. I made an importer that import every tmd2 model correctly. it can read models with more than 255 bones, all uv layers, all vertex color layers, tangents, binormals, both sets of normals, etc... https://www.nexusmods.com/bleachrebirthofsouls/mods/63
    6 points
  30. Okay, here's a little bit of an update. I've added support for all the vertex types, and the textures should all load correctly now. I've also included the extra UVs where available, although they're not presently used. The bones are still messed up in a lot of cases, so that still needs some work. The materials also need more work. I've disabled the vertex colours for now as that was messing up a lot of the meshes as well. bleach_rebirth_tmd2.zip
    6 points
  31. Donated $50 because I believe in this site. You should too!
    6 points
  32. Horizon Forbidden West tool. There are versions for PS4 and PS5. Extracts all (or almost all) characters/robots with skeletons, animations and textures, also static meshes. h2_ps4.7ziph2_ps5.7zip
    6 points
  33. 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.
    6 points
  34. Zenhax is alive, at least it has returned as read-only. https://zenhax.com/index.php.html
    6 points
  35. Here is a modification of Durik256's fmt_bin.py with support for mdl bone binding in noesis. Some tri-strip sill show up inside out, Just toggle the culling setting to make all face visible. fmt_bin_bones.py
    6 points
  36. Dear users, I have implemented additional security and spam protection measures. Additionally, in the coming days, I will transfer NS to Cloudflare and activate some advanced WAF policies. Therefore, the forum will be inaccessible for some time during this change. Admin
    6 points
  37. Update 2.00 - Alan Wake 2 *.binFBX Blender Addon added rigged skeleton support, including non-human meshes (let me know if you get anything unexpected, still rough around the edges!) added support for some other meshes i can't remember more debug logs for anyone interested in the format died and came back to life Roadmap material generation proper reverse engineering of mesh file (every mesh file being supported without manually finding offsets) mesh/submesh replacing (might be coming the soonest) io_scene_binfbx.zip
    6 points
  38. Hey people, I'm a mid 30 gamer, hobby Game Dev, Professional Software Dev. I reverse engineer game assets in my spare time as an alternative to puzzles. When it comes to reverse engineering, I'm not interested in making hacks or stealing assets or showing off, but purely in game preservation and remake purposes. So I reverse engineer either for my own purposes (OpenRA, OpenKrush, OpenE2140,...) Or for free for others who need help to start their own game remake (Emperor battle for Dune, Future Cop LAPD, Hellgate London, CNC Generals 2 Beta, ...). I'm willing to help anyone who is dedicated enough to really get a game remake going, and I'll reject helping anyone who just want to look at stuff if it takes me more then an hour (limited time, lot of real life, already a bunch of projects to work on). Besides that I'm always open for talk about game Dev, making engines, writing renderers. I'm also a full time Linux user and skilled with web development as well as Linux Server Administration. I won't be very active here, so if someone wants to contact me, write me a PM or better look me up in discord directly for a chat πŸ™‚ Hope to see this community rising :)
    6 points
  39. (Little preamble:) Unsure if I should post each archive format separately... I'll start with this one, as I have it best described atm. I reversed bunch of other audio-related formats of Glacier 1 games so I plan to slowly put them all here. Take this as an appetizer πŸ˜› Streams files of Glacier 1 games can be read on their own, they contains all of the required data. It should actually be read before any scenes when someone wants to do anything audio-related to have best support, unlike older Glacier 1 games which had streams.wav. Data in file can be separated into following sections, some have clear indices some can be implicitly inferred: - header - block of WAV data (also contains LIP-encoded segments in some data, current exact structure of these is unknown...) - block of WAV headers (different format than headers in *.WHD files, is much simpler and more concise) - file name table (file names match those in *.WHD and *.SND files, there are some extras though contained within this file so this is not full subset!) - records table (start marked in header along with records count) Block of WAV data seems to be aligned on 0x100 boundary (which coincidentally seems to also be size of header and offset to block of WAV data...). Rest of the file does not seem to have any specific alignment. Any WAV data may be encoded in LIP segments which have variable length. Header of the LIP chunks seems to have size of 0xF00 or 0x1000 (with first header containing 'LIP ' magic). Each record seems to contain a field which can be checked to see if data contains LIP segments or not without the need to rely on comparing magic of each data block. For distance-based records, you will have to look into master record to see if LIP encoding is used. There may be multiple LIP segments in the data block, but only first one has magic in first four bytes. Due to variable data length, we have to find out the right size of the LIP segment first before parsing. It seems to appear roughly every ~4 seconds, but naive formula of `average byte rate * 4` just roughly yields what the LIP segment is. Therefore, there is some guessing work that has to be done on the algorithm side to extract data properly. If anyone could help with reversing these LIP segments, it would be great! They do not seem to correspond to speech necessarily. Current detection method for LIP segments relies on the fact that archive is aligned, we know roughly where the offset should be and that we can calculate exact size of each data block (next block offset - current block offset). There is also additional observation to be made that nearly all LIP segments seem to have around half of their data filled with zeroes. We can also notice that when we subtract real data size, aligned on 0x100 boundary, from whole data block size, we get amount of bytes belonging to LIP segments. We can then calculate from this size amount of LIP segments in the data block. There may be only one such segment (calculated size of all LIP segments is <= 0x1000), which does not require us to do any magic - we just have to skip past the header and read real data right after it. Note that the size of the block may be 0xF00 and not 0x1000 so <= and skipping whatever offset you get is probably best course of action until the segments are bit better understood. If there are more segments, we can proceed with calculation of segment size (as the data is interleaved in a way described above). As mentioned before, we roughly know when each of LIP segments appears in the audio file (it is roughly equivalent to 4 seconds, leaving last block unaligned most of the time with smaller size). We should try to pattern match buffer of size 0x780 filled with zeroes, masking each found offset with ~0xFFF (which will left-align on 0x1000) and taking closest offset to the one we predicted. We then read in minimum from "data block bytes left to read" and this "found LIP segment offset", skip 0x1000 bytes to get "divider offset" for the encoded block and copy each part of the segment into its own buffer. In the end, we are left with complete LIP data and complete WAV data. Block of WAV data is organized in such a way that it has all non-distance-based entries at the beginning and all distance-based entries at the end. There is no clear block of LIP data, it seems to be mixed randomly in-between all of the entries so no reliable distinction in the block. Distance-based entries point to same data offset, there are always exactly three such pointers (2 defined in *.WHD which have their copy in *.STR file also, 1 is only defined in *.STR file). There cannot be other number of "duplicates" pointing to same data offset than 1 (none) or 3 (distance-based entry, 1 for master and 2 for near/far data). Third entry we mentioned is STR file only, it is the true data definition used by the sound graph. If LIP data is present, master record has appropriate flag set. Note that master record should not really be used for other things, as its parameters are not exactly the same always and correct ones are located directly in the entry. TODO - add information about distance-based records structure, it is also interleaved... Due to all this, recommended way to get to the actual data is to pre-calculate all individual WAV data block sizes and resolve LIP segment sizes for each record along with detecting which records are distance-based. TODO - add parsing process used by Glacier 1 Audio Tool which seems to have correct export Note that format information of data, along with data sizes, offsets, names, etc. are all the same as one can find in their equivalent records in *.WHD files. So there is no need to reference *.WHD files for any sort of information for extraction of the *.STR files (unlike older Glacier 1 games). Below are simple C++ headers which should help anyone interested to get started with the file format I hope! V1 is for Hitman: Blood Money V2 is for Kane & Lynch: Dead Men and Mini Ninjas V3 is for Kane & Lynch 2: Dog Days (TODO - missing information+header!) // // Created by Andrej Redeky. // SPDX-License-Identifier: Unlicense // // Extended format information: https://reshax.com/topic/27-glacier-1-str-file-format // #pragma once enum class STR_LanguageID_v1 : uint32_t { Default = 0, English = 1, German = 2, French = 3, Spanish = 4, Italian = 5, Dutch = 6 }; struct STR_Header_v1 { char id[0xC] = {'I', 'O', 'I', 'S', 'N', 'D', 'S', 'T', 'R', 'E', 'A', 'M'}; // always "IOISNDSTREAM" uint8_t unkC[0x4]; // always seems to be a sequence 09 00 00 00 uint32_t offsetToEntryTable = 0; // points at the STR_Footer, right after string table ends uint32_t entriesCount = 0; // same as number of STR_Data entries in STR_Footer uint32_t dataBeginOffset = 0x100; // offset to beginning of data probably, but it is like this even for PC_Eng.str which does not have such size and has no data... uint8_t unk1C[0x8]; // always seems to be a sequence 00 00 00 00 01 00 00 00 STR_LanguageID_v1 languageId = STR_LanguageID_v1::Default; // specifies which language data is contained within the archive }; enum class STR_DataFormat_v1 : uint32_t { INVALID = 0x00, PCM_S16 = 0x02, IMA_ADPCM = 0x03, OGG_VORBIS = 0x04, DISTANCE_BASED_MASTER = 0x11 }; // beware that this is really 3 different headers, as there is no padding... didn't know how to name things so left it like this for now.. struct STR_DataHeader_v1 { // PCM_S16, IMA_ADPCM, OGG_VORBIS and DISTANCE_BASED_MASTER have following bytes STR_DataFormat_v1 format; // specifies how data should be read uint32_t samplesCount; // samples count uint32_t channels; // number of channels uint32_t sampleRate; // sample rate uint32_t bitsPerSample; // bits per sample // all PCM_S16, IMA_ADPCM and DISTANCE_BASED_MASTER have following bytes on top uint32_t blockAlign; // block alignment // all IMA_ADPCM have following bytes on top uint32_t samplesPerBlock; // samples per block }; struct STR_Entry_v1 { uint64_t id; // probably some ID, is less than total entries count, does not match its index uint64_t dataOffset; // offset to beginning of data, beware of the distance-based records which alias the same index! uint64_t dataSize; // data size uint64_t dataHeaderOffset; // offset to table containing header uint32_t dataHeaderSize; // size of STR_DataHeader_v1 (unused fields from the structure are left out) uint32_t unk24; // unknown number uint64_t fileNameLength; // length of filename in string table uint64_t fileNameOffset; // offset to filename in string table uint32_t hasLIP; // 0x04 when LIP data is present for current entry, 0x00 otherwise uint32_t unk3C; // unknown number uint64_t distanceBasedRecordOrder; // if 0, entry is not distance-based, otherwise denotes data order of individual records in data block (or is simply non-zero for master record) }; enum class STR_LanguageID_v2 : uint32_t { Default = 0, English = 1, German = 2, French = 3, Spanish = 4, Italian = 5, Dutch = 6 }; struct STR_Header_v2 { char id[0xC] = {'I', 'O', 'I', 'S', 'N', 'D', 'S', 'T', 'R', 'E', 'A', 'M'}; // always "IOISNDSTREAM" uint8_t unkC[0xC]; // always seems to be a sequence 09 00 00 00 XX XX YY YY 00 00 00 00 where XX XX changes with language and game and YY YY is same for a game (Kane & Lynch: Dead Man has this sequence E1 46, Mini Ninjas has this sequence 4C 4A) uint32_t offsetToEntryTable = 0; // points at the STR_Footer, right after string table ends uint32_t entriesCount = 0; // same as number of STR_Data entries in STR_Footer uint32_t dataBeginOffset = 0x100; // offset to beginning of data probably, but it is like this even for PC_Eng.str which does not have such size and has no data... uint8_t unk24[0x8]; // always seems to be a sequence 00 00 00 00 01 00 00 00 STR_LanguageID_v2 languageId = STR_LanguageID_v2::Default; // specifies which language data is contained within the archive uint8_t unk30[0x8]; // always some sequence 38 XX XX XX XX XX XX XX where XX is same for a game (Kane & Lynch: Dead Man has this sequence 00 A1 01 18 EE 90 7C, Mini Ninjas has this sequence 00 00 00 00 00 00 00) }; enum class STR_DataFormat_v2 : uint32_t { INVALID = 0x00, PCM_S16 = 0x02, IMA_ADPCM = 0x03, OGG_VORBIS = 0x04, UNKNOWN_MASTER = 0x1A }; // beware that this is really 2 different headers, as there is no padding... didn't know how to name things so left it like this for now.. struct STR_DataHeader_v2 { // PCM_S16, IMA_ADPCM, OGG_VORBIS and UNKNOWN_MASTER have following bytes STR_DataFormat_v2 format; // specifies how data should be read uint32_t samplesCount; // samples count uint32_t channels; // number of channels uint32_t sampleRate; // sample rate uint32_t bitsPerSample; // bits per sample uint32_t unk14 = 0; uint32_t unk18 = 0; uint32_t blockAlign; // block alignment // all IMA_ADPCM have following bytes on top uint32_t samplesPerBlock; // samples per block }; struct STR_Entry_v2 { uint64_t id; // probably some ID, is less than total entries count, does not match its index uint64_t dataOffset; // offset to beginning of data, beware of the distance-based records which alias the same index! uint64_t dataSize; // data size uint64_t dataHeaderOffset; // offset to table containing header uint32_t dataHeaderSize; // size of STR_DataHeader_v2 (unused fields from the structure are left out) uint32_t unk24; // unknown number uint64_t fileNameLength; // length of filename in string table uint64_t fileNameOffset; // offset to filename in string table uint32_t hasLIP; // 0x04 when LIP data is present for current entry, 0x00 otherwise uint32_t unk3C; // unknown number uint64_t unk40; // OLD INFO: if 0, entry is not distance-based, otherwise denotes data order of individual records in data block (or is simply non-zero for master record) };
    6 points
  40. Dear Members, i have done some changes on forum: allowed old BB codes added light theme fixed some small issues added some more categories forcing users to add tag when a new topic gets created added tables I hope it would be better and better πŸ™‚
    6 points
  41. Hi everyone, I'd like to kindly request that you start using the Downloads section for any applicable tools and scripts. You can submit a file there and then simply provide a link to it in your forum post. This way, you can ensure that no tool gets lost in the conversations, and versioning is also supported. Here's a tutorial on how to submit a file in the Downloads section: "HOW TO SUBMIT A FILE in the download section." This will help keep the forum organized and as clean as possible. Thank you and regards.
    6 points
  42. Well nothing to say, it is just me, creator of many tools and so on πŸ˜„ Nothing special
    6 points
  43. The kamzik123 texted me and I spoke with him and it seems that my view of him was wrong and there was a misunderstanding. He is currently not planning to release his tool until EOL for good reasons. If you wanna translate this game you can get the texts from attached file and send me the translated version to get a forge patch. (still you must prove that you are a creator by sending the link of your old translations) acs_texts.zip
    5 points
  44. Tool released. Its an early version (as usual), but already makes very good results.
    5 points
  45. Got staticmeshes working, now time to place them on a map.
    5 points
  46. ImageHeat Download --> https://github.com/bartlomiejduda/ImageHeat
    5 points
  47. The tools have been updated with texture conversion support. Since textures are located outside the models, this should be one less thing to worry about.
    5 points
  48. Hey, since Xentax went down, it seems that the only threads about the game extraction tools and the links to the tools for extracting models out of Tomb Raider 2013, Rise and Shadow of the Tomb Raider disappeared. I figured that I'll just make a megathread about it here. This is about the rebooted trilogy, older games and potentially the upcoming Unreal Engine Tomb Raider 12 will get new threads. Unfortunately I didn't save any of the links so I can't post any here, but I do have some of the tools on my computer. Not sure if I want to reupload them if the links to the existing fileshares exist. If you have the links to the tools (if I don't reupload the ones I have on my computer to somewhere), please comment them below and I will add them here. ============================= Note that some of the links are from this thread from the Tomb Raider forum. Majority disappeared with Xentax unfortunately. Tomb Raider (2013) fmt_TRAS_mesh_1_3_1_1-tex.py - Version 1.3.1 (Aman) - 27/10/15 fmt_TRAS_mesh_1_3_1_1-tex.py fmt_tombraider_mesh (pulled from Xentax, probably some older demo version of the asset extractor) fmt_tombraider_mesh.py TR9 BigFile extractor (Same as Definitive Edition): tombraider9-r117_b74.rar TR9 DRM unpacker TR9DRMDumper_v1.0.1.2.rar Tomb Raider Definitive Edition fmt_TRDE_mesh_1_3_1.py Rise of the Tomb Raider fmt_TR2_mesh_1_5.py DRM + Tiger unpacker, updated Noesis script I'm pretty sure I got from NexusModding. That site also has far more updated modding tools for Rise, which I'm pretty sure work just well, if not better. ROTR Tools Mega.rar Shadow of the Tomb Raider TIGER + DRM unpacker and model format extractor for Noesis SOTR tool.rar Note that I'm not sure what the patcher was for, I got it from the SOTR Xentax thread but that's about as much as I know. Edit: There's a new mod tool and asset extractor for Shadow of the Tomb Raider that works the same as the one made for ROTR. Available here: https://www.nexusmods.com/shadowofthetombraider/mods/185?tab=description Appears to have Blender support and supports extraction of morphs. If you want to export the model with the skeleton, there's usually a file called Section XXXX.skl in the DTP folder of the model archive. Move that file in the mesh folder, then rename it to skeleton.skl, then in Noesis, press the red humanoid figure button and you will see that the model has a skeleton. You can then export the model in FBX or DAE format and include both the original weight painting and skeleton. However, sometimes, if I recall, the skeleton file isn't clearly marked, so you just have to go through all of the DTP files. I've noticed that the skeleton tends to be named either pretty close or exactly to the same section number as the model you're looking for. For ROTR, the skeletons are always called "Section XXX.skl" in the middle of all of the Section XXX.DTP files, both in the older extraction tools and on the newer tools on Nexus Modding. As for SOTR, with the older 2018 extraction tools, the skeletons are never properly named, but it doesn't matter any more as the new Nexus mod tools automatically extract the skeletons belonging to the model you want. With the newer SOTR Blender importer, it will automatically export both shape keys and the armature, but if you use the old tool, what I explained works there. If you however use the ROTR Extractor from Nexus, it gives the models their proper names, so you may run into trouble with finding the right skeleton, unless you use the old 2016 extracting tools. But from what I obeserved, a lot of the models have their proper skeleton files marked under the skl format in ROTR, I think it was SOTR that had a random name with the skeletons, but this is no longer an issue thanks to the new Blender importer addon. id-daemon's Purehair tool (works with Deus Ex: Mandkind Divided, Rise and Shadow of the Tomb Raider) ROTR + SOTR Purehair.rar Example, SOTR "swampthingloose" hair from the Porvenir Oil Fields level: Find the biggest DTP file, then drag and drop it onto PureHair_2c.exe. Then put .c file onto PureHair.exe and it'll output an obj file with the Purehair system made out of polygon edges. If you want to recreate the in-game hair, you can use these either as reference or for example in Blender, convert them with other toolsets to haircards or particle systems. However, I noticed that it separates the root vertices from the rest of the edge lines, so you have a bunch of loose geometry and shorter hair.
    5 points
Γ—
Γ—
  • Create New...