Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 08/18/2025 in Posts

  1. There are at least two types of i3d file formats, used within the .i3d files used in ape escape 3 and Rule of Rose uses .i3d files in .mdl files. I3D_BIN: Mesh ✔️ Bones ✔️ Skin ❌ I3D_I3M: Animation ❌ Tools: https://github.com/Durik256/Noesis-Plugins/blob/master/fmt_i3dg.py - Supports meshes. fmt_RuleOfRose_PS2__i3d.zip - Supports bones (made by Bigchillghost from xentax, reuploaded into reshax for quicker accessibility)
    3 points
  2. But can't produce right width/height. It's 250 x 391 px.
    2 points
  3. WMA is an audio file format (Windows Media Audio) and can be played by VLC. SFD seems to be a font file but FontForge can't open it ARK files seems to be archive containers that contain inside them another ARK files and another files Edit: SFD is a video file format that can be played by VLC too Here is a python script with batch file to extract the contents of the ARK files, drag and drop one or more ARK files onto the batch (.bat) file Also an ARK.hexpat file you can use in ImHex ARK_File_Parser.rar ARK.rar
    2 points
  4. you should change the title to ASTRO BOT Rescue Mission, since it may confuse people as ASTRO BOT is also the name of the 2024 release!
    2 points
  5. You should upload some sample files instead of a video; a video isn't very helpful for reverse-engineering this game. NKP is a package file format used by KONAMI in PS2 games. Games I know of that use this format include Cool Girl, Gantz, and NANA, and there might be others. You can unpack NKP files using existing quickbms scripts: idstring "NKP\x1a" get NKP_SIZE long get ZERO long get FILES long for i = 0 < FILES get NAME_OFF long get OFFSET long savepos TMP goto NAME_OFF get NAME string goto TMP putarray 0 i OFFSET putarray 1 i NAME next i putarray 0 i NKP_SIZE math FILES = i for i = 0 < FILES getarray OFFSET 0 i getarray NAME 1 i math i + 1 getarray SIZE 0 i math SIZE - OFFSET log NAME OFFSET SIZE next After unpacking NKP, you'll find NKT files, which should be textures. I'm not skilled enough to fully parse them, but I'm certain that the palette starts at 0x1A0. Most textures are 8BPP, with a few 4BPP ones. Fonts might also be in some NKT files, but I haven't found them. I've attached a few NKT files, hoping that an graphic expert can analyze them. Additionally, you can find all the game's story scripts in allsc.nkp->unpack->(evt_***.nkp). They are in files with the .cg extension, which is actually a text format. You can directly view the script content; remember to use SHIFT-JIS encoding. NKT_TEXTURE_SAMPLE.zip
    2 points
  6. Actually it uses PAL8 w/ GC/Wii swizzle (There's a palette data at the end) Palette format is N64_RGB5A3 Image data offset starts at 48 (0x30) end-01-color_panel1.texture.ps3 uses BGRA8888 w/ XBOX/PS3 swizzle while end-01-color_panel2.texture.ps3 and end-01-color_panel3.texture.ps3 uses BC3/DXT5
    2 points
  7. 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
  8. By the way, you can also get the same result with ImageHeat https://github.com/bartlomiejduda/ImageHeat
    2 points
  9. Asset Studio can open the files you provide, but some files will crash when they are opened, so you can test several more versions and use the version with the least flashback to open the most files for subsequent processing. But before that, you need to split your pkg file Divide them into block files of multiple unityfs I wrote a python script and you just need to run it python split.py pkg file Output folder If you find it troublesome to run scripts, you can also try a more professional unityfs splitter Attached a few screenshots I ran If the problem is solved, you can mark this reply as a solution split.py
    2 points
  10. I Finally got materials and textures to load dynamically, so far only works on Conker will have to work in some tweaks to support other models
    1 point
  11. Seeking help with the .mdl format for fable 2 Issues: the headers were stripped from the file by Lionhead. Static meshes and Skeletal meshes seem to have different structures, and it's pretty common for static meshes to have different structures between them. So far: I can find a significant amount out about most of the rigged assets, but there are issues when an asset is split in to submeshes, and with some of the larger meshes. i.e: Bone Count: 143 Bones: [0] CH_HeroChild_Male_Rig_Asset (ID: 4294967295) [1] Shadow_Hip (ID: 0) [2] Shadow_SpineControl (ID: 1) [3] Shadow_SpineControl1 (ID: 2) [4] Shadow_Chest (ID: 3) [5] Shadow_Neck (ID: 4) [6] Shadow_Head (ID: 5) [7] Shadow_jaw (ID: 6) ... Mesh count: 3 Parsing mesh headers... Mesh 0: Child_hair_NEW2 Mesh 1: Child_face3 Mesh 2: hero_eyelash20 Parsing mesh buffers... Mesh Buffer 0: Buffer starts at offset: 0x00002EAB Vertex count: 10093 Face count: 17065 Detected vertex stride: 28 bytes Vertex buffer at: 0x00002F3E (size: 282604 bytes) Face buffer at: 0x00047F2A (size: 34130 bytes) Mesh Buffer 1: Buffer starts at offset: 0x00077B4C Vertex count: 16777240 Face count: 16777216 WARNING: Unrealistic values, possible misalignment Mesh Buffer 2: Buffer starts at offset: 0x00077B64 Vertex count: 65536 Face count: 4278190080 WARNING: Unrealistic values, possible misalignment Attached my python script, and 010 editor script, for anyone willing to help figure this crap out. also 1 mdl file.. mdl.bt character.py mdl.zip
    1 point
  12. Using hex2obj. Checked the mdl manually which was not too hard:
    1 point
  13. Hi, you cant open m3g files from Dead Space or any IronMonkey or Firemonkeys that have <IMxM3G> header with any tools made to be for standard M3G engine as these games uses proprietary implementation of modified M3G and later M3G 2.0 standard (which standard officially was never finalized) which are compatible with official standard M3G. You might be able to open some IM-M3G file by changing the header to standard <JRS184> and some non ASCII bytes (for example copied from other m3g file) with whatever tool made for original .m3g. I recently forked PyM3G library allowing parsing M3G file and added some very very basic support for IMxM3G (mainly dection of IMxM3G header as valid) but I'm not interested in adding more support for that format myself although I don;t think it would be very hard having the PyM3G base already and given that for example DeadSpace binary for android has a lot of symbols preserved so decompiled code from it would be actually very useful for reversing the parts added to .m3g format. So if you are interested in developing support for Dead Space models then I can guide you some more. Also must say that this library makes it actually relatively easy to create .m3g files or convert them to different formats.
    1 point
  14. Updated, please remember to feedback if you have any questions resource.py
    1 point
  15. For extracting raw data from archives you can use the same script you linked (punisher_ps2_peg.bms) as archive file format is the same across all platforms https://rewiki.miraheze.org/wiki/The_Punisher_CEG_PEG_XEG The difference is in the image encoding, PC version uses standard DXT5 or RGBA8888, while encoding seems to be different on PS2 and XBOX. I was not able to find correct setting with ImageHeat. Here's how it looks for PC sample:
    1 point
  16. Well i figured what was that 5WNR file It's file with ".rwy" extension. But you'll get only track layout without uv's and without objects. Means it's useless.
    1 point
  17. Here's a link to hex2obj and some explanation. After inserting suiting parameters for a model into the app you'll get the obj file by File\SaveAs mesh.
    1 point
  18. i don't know, i assumed you were going to test it, like you did everything else?
    1 point
  19. Hi all, I dumped the track data of this game, and interpreted most of the meshes, objects and animations. There is a list of vectors in the first section of the TRK file which i cannot interpret. I guess they are some precalculated physics data like inertia, gravity, centrifugal force, but i am not sure and I might need some ideas/insights. here's a TRK dumper, just run "python trkdumper.py ILE02.TRK > dump.txt". Here's also a quick 3d viewer. use keys 1 to 8 do toggle vectors, mouse to rotate, zoom, wheel to change vector scale. you can find a demo zip with two .TRK files, here: CD Demo no install needed. Thank you very much! trkdumper.py track_box.py
    1 point
  20. Hmm ... Go to the Epics github site, clone the appropriate version of Unreal Engine, look for IPlatformFilePak (use VS or VSC to navigate), and you will find the solution. @iks: what's so funny?
    1 point
  21. Yeah here is the BMS script i've made (with help of AI) it is extracting only .tmo's files but it's a good start i guess bleach_ROS_tactpkg_tmo.7z
    1 point
  22. Thanks. Works on my side, using fmt_RuleOfRose(PS2)_i3d from Bigchillghost:
    1 point
  23. A few moths ago, I took a break from the Front Mission games just to poke around the the PS2 entries of Armored Core and made a surprisingly rapid amount of progress on their model file formats. The last hurdle I've been experiencing for most of this time is face formation- meshes are composed of either a triangle list (for FX spawn points) or multiple triangle strips. The strips are a problem as it's not clear where one should end and another should begin. I've tried looking in the model file for a flag but found nothing that stood out, then shifted to studying the verts and UVs in hopes they they contain some sort of "rhythm" to no real success. using UVs or the distance between points to determine face formation still yields "bad" faces. I've poked around a few PS2 topics here and it sounds like this is the best I can hope for but would like a second opinion before going forward. File, meshes, and tmr.7z
    1 point
  24. A free alternative I know is doing it from scratch (but you'll have to trick around with the FI blocks):
    1 point
  25. In your c001x sample I found this, might be a track:
    1 point
  26. No, I mean samples of the actual files, not screenshots. Screenshots don't show much for anyone to check the files properly.
    1 point
  27. try this one, but it only works for cars
    1 point
  28. I managed to create a script that splits TRK files into RAW555 with conversion to RAW888. How to use: The attached package contains *.hexbm files in the folders. Based on these files, the script splits TRK files and then injects the modified files. TRK - game file with RGB555 graphics HEXBM - imhex bookmarks file. Contains offsets how to cut. TRK_to_RGB888_RAW.py -> Converting from TRK to RAW: - run the script and select the *.hexbm file, then the corresponding *.trk file. (for example: avlb0100.hexbm and avlb0100.trk) The script will create a folder with graphics. Editing graphics (after editing the file, overwrite it! The names and location of the graphics must remain in the same place!): These are RAW files, so you need to edit them with Photoshop, for example. The graphics files contain information about height and width. Set the rest as shown below. Save as Photoshop Raw. RGB888_RAW_to_TRK.py -> Converting from RAW to TRK: - select the trk file. Based on the trk file name, the script will automatically find the *.hexbm file and the folder with the graphics. TRK Cutter.zip
    1 point
  29. I've altered the conversion script and it's now filtering out faces with bad UVs without issue. "Bad" faces generally come in pairs but the first face of the pair doesn't always possess bad UVs, this results in the unintentional deletion of a face that was meant to exist along with the second face. This would make my approach to filtering a waste of time if not for the fact that the bad faces possessing good UVs seem to consistently share an edge with two other faces, something that can likewise be tested for and filtered out. After filtering faces both by their UVs and verts, most of the bad faces should be eliminated. New Armored Core Model Converter.7z
    1 point
  30. Usually those dummy files are used to push the game's actual data to the outer edge of the disc so the consoles can read them easier.
    1 point
  31. Oh, likewise. I think Imageheat is a pretty good tool. Even with my limited knowledge, I was able to make discoveries like this (2CV logo). Thanks to the tool you mentioned, I was able to achieve this other result. It definitely saves a lot of work! Thank you both so much!!!!!!!!
    1 point
  32. 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
  33. Done a few more optimisations to reduce the number of submeshes down to a reasonable level. Still work in progress:
    1 point
  34. thank you so much! i've tested the script on another similar game Surviving High School (they both use .exp episode files) and can confirm it works there too
    1 point
  35. Holy crap thank you so much, for the longest I thought it was an archive file. I guess not 😄.
    1 point
  36. Hi, I'm nocturnalrhys (I lost my account) and I would like to share the documentation I'm doing about this game. I know some people don't like this game, but I do, and I'd like to take this .elf further. Currently, I've been documenting some features for 4 days in a row. Let's say I'm at 1.1% of the documentation, there are still more features to discover. But if anyone would like to contribute on GitHub, I've left a quick and easy documentation on how to use the source code I've left. PS: I don't really know if I've posted well https://github.com/NamelessDB/dbzsg_sc/tree/main
    1 point
  37. 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
  38. I've just released a new version of ImageHeat 🙂 https://github.com/bartlomiejduda/ImageHeat/releases/tag/v0.25.2 Changelog: - Added support for new pixel formats: PVRTCI_2bpp_RGB, PVRTCI_2bpp_RGBA, PVRTCI_4bpp_RGB, PVRTCI_4bpp_RGBA, PVRTCII_2bpp, PVRTCII_4bpp, ETC1, BW1bpp, SharedExponentR9G9B9E5, RGBG8888, GRGB8888, ETC2_RGB, ETC2_RGBA, ETC2_RGB_A1, EAC_R11, EAC_RG11, ASTC_4x4, ASTC_5x4, ASTC_5x5, ASTC_6x5, ASTC_6x6, ASTC_8x5, ASTC_8x6, ASTC_8x8, ASTC_10x5, ASTC_10x6, ASTC_10x8, ASTC_10x10, ASTC_12x10, ASTC_12x12, ASTC_3x3x3, ASTC_4x3x3, ASTC_4x4x3, ASTC_4x4x4, ASTC_5x4x4, ASTC_5x5x4, ASTC_5x5x5, ASTC_6x5x5, ASTC_6x6x5, ASTC_6x6x6, BASISU_ETC1S, BASISU_UASTC, RGBM, RGBD - Added "Step-By-Page" shortcut - Added new Nintendo Switch unswizzle type - Added new PS4 unswizzle type - Added X360 and GameCube byteswap
    1 point
  39. Use the python script I've linked to before, or use someone else's splitter tool, if there is no problem, you can mark the previous reply as a solution, I think this reply has solved your problem Your file can be recognized
    1 point
  40. What command do i have to use to unpack all pkg files? Since the game has over 200 of them. Nevermind got it
    1 point
  41. I'm working on a tool to modify existing models or import custom models into Horizon Forbidden West. So far my first test is to fix Aloy's face. I tried a few options, and now I'm sure it will work and looks good, and probably a few mods will be already released soon. Then after import tool is ready, it will be release here on reshax. Here are some example screens. First i reduced her cheeks to 70%, to be sure i can see difference. Since only face shape is changed, you can see the old "fat" shape of peachfuzz (which is not scaled down yet). And then i did 90%
    1 point
  42. I really don't understand this .mpk file. Is this file the same as the .pak pubg file that can be extracted and find a collection of other files inside?
    1 point
  43. okaayyyyy... turns out my previous copy of Wangan Midnight PS3 I downloaded from was a very bad copy which is why I got this error, so I downloaded another copy and now it finally works with TXRExtractor right now. At least I can finally open new topic for ripping Wangan Midnight PS3 model/textures.
    1 point
  44. 1 point
  45. It's been a while. I did get through FMO and found the PS2 version is missing some models and plan to take a look at the PC version. I also tried to work on the maps of FM4/FMO since people asked for them and had some success but, much like the wanzers, the maps are subdivided into chunks that are dumped at the origin, making them impossible to work with. Right now, I'm working on identifying what I've dumped and converted from FM5 with the help of this script. Script and Test Files.7z
    1 point
  46. OK It seem all gs images are linear format. They can be converted into bmp directly. So I make a quick and dirty BMS script to do these job. The converting process is a little bit slow so it convert single gs image once at a time! Also 0x02 type (5551 pixel format) is not supported since there are only a few. You can use other program like TextureFinder to convert them. how it works: a. convert gsp into gs (using GSPextract.bms) b. convert gs to bmp (using GS2BMP.bms) there are some batch files to help you running QuickBMS in easy. Just edit the path of the batch files path will work. Extract_GSP_to_GS(Drag_and_Drop_Here).bat and Convert_GS_to_BMP(Drag_and_Drop_Here).bat can be in anywhere and as the name said drop the source file into it will do. if you need batch conversion, place Batch_Convert_GS_to_BMP.bat in the same folder as the gs files are and double click the .bat file G_Scripts2.rar PS: feel free to edit these scripts
    1 point
  47. sorry guys, I'd been too busy in real life and didn't come back here. for GS texture, 0x14 is 8bits indices + 256 color palette, 0x13 is 4bits indices + 16 color palette and 0x02 is 16bits pixel without palette. also after W and H, there is a short value for no. mipmaps. I made two quickbms script to convert md to nj and gs/gsp to tm2 directly. hope it help! :) G_Scripts.rar
    1 point
  48. The tool is now available. Download: https://github.com/Wildenhaus/IndexV2/releases How to use:
    1 point
  49. It's just a sample, if you want it to work you need to use Segatools and get the full Rom. After fc.exe is started normally, the hardware IO device will be checked. If passed, it will try to connect to the All.Net and Aime servers. Segatools uses IAT Hook to simulate the DirectX input into the corresponding IO input and inject it into the main program. The program only have a hardware checker program(maybe IO Checker) and does not use any user-level dlls. Almost all program codes are in fc.exe, and only a few lua scripts are in the rom folder. The rom folder mainly stores game Assets and DataBase, as well as some external shaders. Unfortunately I can't provide the full Rom here, sensitive content such as complete Rom cannot be uploaded in XeNTax, although I don’t know if this rule is also followed here, but you can try looking for it on the internet, Good Luck.
    1 point
×
×
  • Create New...