Jump to content

Leaderboard

Popular Content

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

  1. 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
  2. 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
  3. By the way, you can also get the same result with ImageHeat https://github.com/bartlomiejduda/ImageHeat
    2 points
  4. public static Byte[] iDecrypt(Byte[] lpBuffer) { Byte bTemp = lpBuffer[lpBuffer.Length - 1]; for (Int32 i = 0; i < lpBuffer.Length; i++) { bTemp = (Byte)(lpBuffer[i] ^ (87 * i + 85)); lpBuffer[i] = (Byte)(bTemp ^ 0xAA); } return lpBuffer; } Just drag and drop those dat files🙂 IKV.DatDecryptor.zip
    2 points
  5. Well so here's everything I know so far. Models are pain. Can't figure out monstrous table which has info about buffer id, vertex count, index count. I output only element buffers. I only know about vertex buffer. At cars they are mostly 8 bytes stride, int16 data type. Not sure what are others buffers. But they have type id. Textures on the other hand are simple. You can get pretty much all of them. I also looked into the sound files. Some are wav, but most of them are unexplored... need some time to research. Also those wav files are named by id which is described in track_table file which is also unexplored yet... So here's bms script. You can use it on any file from *.pack file which you can unpack with 7Zip. And here's Noesis for *.jtex files. from inc_noesis import * import noesis import rapi import os def registerNoesisTypes(): handle = noesis.register("Asphalt 9 Legends - Texture", ".jtex") noesis.setHandlerTypeCheck(handle, noepyCheckType) noesis.setHandlerLoadRGBA(handle, noepyLoadRGBA) noesis.logPopup() return 1 def noepyCheckType(data): bs = NoeBitStream(data) if len(data) < 20: return 0 return 1 def noepyLoadRGBA(data, texList): bs = NoeBitStream(data) baseName = rapi.getExtensionlessName(rapi.getLocalFileName(rapi.getInputName())) TextureWidth = bs.readUShort() TextureHeight = bs.readUShort() bs.read(1) PixelFormat = bs.readUByte() BufferSize = bs.readUInt() data = bs.readBytes(BufferSize) if PixelFormat == 34: print("Pixel Format > BC7 ", PixelFormat) elif PixelFormat == 35: print("Pixel Format > BC6H ", PixelFormat) elif PixelFormat == 36: print("Pixel Format > BC5 ", PixelFormat) elif PixelFormat == 5: print("Pixel Format > RGB8", PixelFormat) elif PixelFormat == 6: print("Pixel Format > RGBA8", PixelFormat) else: print("Unknown Pixel Format > ", PixelFormat) if PixelFormat == 34: data = rapi.imageDecodeDXT(data, TextureWidth, TextureHeight, noesis.FOURCC_BC7) texFmt = noesis.NOESISTEX_RGBA32 elif PixelFormat == 35: data = rapi.imageDecodeDXT(data, TextureWidth, TextureHeight, noesis.FOURCC_BC6H) texFmt = noesis.NOESISTEX_RGBA32 elif PixelFormat == 36: data = rapi.imageDecodeDXT(data, TextureWidth, TextureHeight, noesis.FOURCC_BC5) texFmt = noesis.NOESISTEX_RGBA32 elif PixelFormat == 5: texFmt = noesis.NOESISTEX_RGB24 elif PixelFormat == 6: texFmt = noesis.NOESISTEX_RGBA32 texList.append(NoeTexture(rapi.getInputName(), TextureWidth, TextureHeight, data, texFmt)) return 1
    2 points
  6. Yeah, I got things working to extract the files. Just checking some of the other mesh files, seems like some work and some don't. But here's another one I could get something from. I'll have a look at the textures to see if I can do anything with them, although they seem like an unknown format at the moment. Looks like BC1 maybe with some swizzling/tiling.
    2 points
  7. I checked jmox files but mesh needs transformation... Here's quick sum up content of *.pack archives. main = ? > mixed mdc = jmox > models cars mde = jmox > models environment so = xvs > sounds lm = jtex > textures prb = jtex > textures gin = jtex > textures
    2 points
  8. Here's 010 editor template for jtex files. I will write bms for decompress + noesis for preview later... LittleEndian();OutputPaneClear(); local uint32 i,j,k,l,m,n,TotalFileSize=FileSize(); local string FileName=GetFileName(),FilePath=FileNameGetPath(FileName,true),BaseName=FileNameGetBase(FileName,false); struct { ubyte Version; char JTEXSign[4]; uint32 Unknown_0; uint32 Unknown_1; }Header; struct { uint32 TextureTableSize; uint32 TextureInfoSize; uint32 Unknown_0; uint16 Unknown_1; struct { uint16 TextureWidth; uint16 TextureHeight; ubyte Unknown_0; ubyte PixelFormat; ubyte Unknown_1; ubyte Unknown_2; uint16 Unknown_3; ubyte Unknown_4; ubyte MipMap; uint32 Unknown_5; float Unknown_6; float Unknown_7; uint16 TextureWidth_t; uint16 TextureHeight_t; struct { uint32 MipMapTableSize; uint32 MipMapInfoSize; uint32 Unknown_0; uint16 Unknown_1; struct { uint32 MipMapBlockSize; uint32 CompressedSize; // - 8 uint32 DecompressedSize; ubyte CompFlag; ubyte Unknown_1; uint32 Unknown_2; float Unknown_3; if (CompFlag == 0) byte Buffer[DecompressedSize]; else byte ZSDTBuffer[CompressedSize - 8]; }MipMapInfo[MipMap]<optimize=false>; }MipMapTable; }TextureInfo; }TextureTable;
    2 points
  9. And it's compressed... I see multiple chunks. Chunk table > uint16 compressed size, But not sure where is offset Compression is deflate. Offzip should dump it into one file. After decompression I get this textures
    2 points
  10. 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
  11. 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
  12. 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
  13. 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
  14. The model tool can be used to extract textures. Using imageheat is not a proper solution because TextureSet1s (Tex1) can house multiple textures all swizzled together in one huge transfer for the GS memory.
    1 point
  15. Not possible to open these files with Asset Studio. They are in a .pkg format but the file still seems to be a normal unity bundle archive. https://www.mediafire.com/file/3jdp3wstro17xhg/SRDM.zip/file
    1 point
  16. 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
  17. You can get some good results with ImageHeat https://github.com/bartlomiejduda/ImageHeat At offset 96 you can find fields like: 2 bytes (uint16) - image width 2 bytes (uint16) - image height 4 bytes (uint32) - palette offset
    1 point
  18. Done a few more optimisations to reduce the number of submeshes down to a reasonable level. Still work in progress:
    1 point
  19. 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
  20. Holy crap thank you so much, for the longest I thought it was an archive file. I guess not 😄.
    1 point
  21. 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
  22. this https://sites.google.com/view/3d-model-archives/tools/akderebur-tools/valkyrie-profile-ak some tools part is missing.
    1 point
  23. Hey. Helmet, ugly as always when I try tri strips for PS2 (should learn, how Nenkai does it):
    1 point
  24. Got a bit further just by making some assumptions about textures (each strip *should* use 1 texture), so it's not 100%. The meshes with bright green textures seem to be unseen elements of the map. There's probably some info somewhere for excluding them.
    1 point
  25. GT4 exporting will for the most part either be hit or miss because not everything is currently supported. There's no compression. Just a ton of different texture pixel format types and not all are currently supported due to the atrocious GS memory layout. The comma character isn't actually intended, it depends on system language so it's currently a bug. Cars may export oddly because of callbacks as models uses a command-like system for rendering and callbacks are for extra shapes that may animate, and those may mess up the command list reading. For maps, baked shadows will be all over the place, so will reflective shapes. The tool does its best to extract shapes in a hierarchical manner given a flat rendering command list with conditions, so a lot of shapes will be on top of each other. Materials are not supported for the most part at all either. By the way, a thread already exists here:
    1 point
  26. Can't say that... Here's an example of replacing , to . Open obj file in any text editor. And replace all , to . v 0,09 -0,054112464 0,119443536 it should look like v 0.09 -0.054112464 0.119443536
    1 point
  27. That's bacause obj file use "," instead of "." Change all , to .
    1 point
  28. Partially. Some if not most of them are compressed. No one reversed them yet.
    1 point
  29. Last one from me for now. Just been looking at textures and materials. It's a lot more complicated!
    1 point
  30. That's one of the 3D basics. The difference to the decimal system is just using a base of 16 (instead of 10). 1, 16, 256 (instead of 1, 10, 100). Well, that's really very basic. The more difficult aspect is the need of additional symbols (A,B,C,D,E,F) to be used to represent 10,11,12,13,14,15 of the decimal system. And finally 0x1000 (where 0x stands for hexadecimal) is 4096 decimal. That's a good base. Finding the start addresses of vertex blocks is the next step to get point cloud meshes (without caring for face indices). st14a(_far).mdl, see my previous post
    1 point
  31. It looks like the geometry data and models are mostly in the .str files as well. So .str seems to contain not just sound, but also bitmaps, models and any other data. Not sure how to unpack them at the moment though. .SCB are the image files - so for example, Global\bitmaps\bitmaps.pak has over 1000 images in there.
    1 point
  32. You can extract the pak files with this QuickBMS script. The .str files look like audio data. Models are probably in another archive. pak.zip
    1 point
  33. Interesting so the model is there. Jeff19995 said he found the model and it is labeled as "Lewis_Hi" but is not present on PS2/PC so check the files from other platforms. I can't do it because I don't have the games. Good luck! BTW, He posted that model on sketchfab: Lewis by Jeff19995
    1 point
  34. Ok, I'll answer myself, LOL. After doing a lot of testing and analysis with IDA, I found a way to activate subtitles regardless of the console language. All you have to do is extract the "subtitles.viv" file, then use a hexadecimal editor to edit the sc00.bin file, replace all the values 02 14 03 with 02 15 03. Then edit the "default.xbe" file, replace BF 28 43 2B 00 B9 14 with BF 14 C7 29 00 B9 00, and that's it, subtitles will be activated. The idea of this is to be able to translate the texts into Spanish since it was only released in English and French in the PAL version. So, I'm leaving this information here for anyone who is interested or wants to translate the game into another language. You can see a sample of the Spanish translation here
    1 point
  35. Ohh nice 2 byte swap obfuscation. Thanks for the tool. Now i have it unpacked.
    1 point
  36. You have the format specifications, 010 Editor binary templates and you are still asking for other people to make the plugin for you? You have everything you need right there so get to work on the blender plugin if you really want it
    1 point
  37. I didn't even realize this reply was here, sorry! The walk animation tends to look decent... but have a peek at the run, heh. I don't know if I would say 98%... Maybe more like 85? But the changes positively impact other animations as well, so I feel like if this one looks right, it's entirely possible the rest of them will have fallen in line as well. The problem is, I don't really know what the issue with them would be, and being on Linux these days makes this harder to work on. The bigger change I had done is if you look at the dungeon animations... well, weirdly the room layouts were stored as such. So there's complete dungeon rooms.
    1 point
  38. Tool to extract files. Just enter archive name as an argument StolenBCBTool.rar
    1 point
  39. Took a break from meshes
    1 point
  40. how difficult would lt be for a beginner to rip environments want to port several maps to xnalara?
    1 point
  41. Looking to see if anyone is interested in this, 3D models/geometry isn't exactly my strongest skillset (which I'm sure you will soon notice). I was originally inspired by an old thread on Xentax for other Rareware games (primarily Grabbed by the Ghoulies) however Live and Reloaded seemed to get skipped over since no one could figure out the compression the game was using. Fast forward a few years and i learned that Xemu had a debugging feature with support for IDA which is a tool I'm fairly familiar with, using this i was able to extract the x86 assembly instructions the game uses to decompress the game assets and write a wrapper for it allowing me to unpack the files to a state similar to what's used in other Rareware titles. You can check out that tool here: https://github.com/birdytsc/clr_unpack I'm currently in the process of reversing the games model format but my limited experience with 3d models/formats is hindering my progress. While some of the data is pretty straightforward to obtain some are packed away in pushbuffer instructions, one example is the tri's/faces data: This makes it a little more annoying to tell what set of vertexes they belong to but they are (so far) stored in order that you will find any vertex data one problem i am having is im not sure whether im extracting the data properly, example: the first part for conkers main model is broken into 3 sets of triangles all sharing a single set of vertexes, uv's etc. the model only looks correct if i separate the 3 sets of tri's into there own mesh, keeping them together creates artifacts: Another issue im having is Texture alignment, the game stores the textures as raw DXT data (usually DXT1 or DXT5) even in simpler models that only consist of a single set of triangles im still having alignment issues, for example: Perhaps this is a sign that there is indeed an issue with how im extracting the Tri's? If anyone wants to play around with this stuff ive included some files in the zip: aid_bfdmodel_characters_conker.py - a script for ModelResearcherPro that will load the verts/tris for the main conker model retail_aid_zpackage_general_singleplayer.rbm.listfile.csv - list of file names (if they havnt been stripped from the asset packer) and offsets retail_aid_zpackage_general_singleplayer.rbm.unpacked - just the decompressed version of the file found in the retail game retail_aid_zpackage_general_singleplayer.rbm.unpacked.mapped - same file as above but after its had a bunch of pointers mapped, useful for diffing against the original to find pointers. retail_aid_zpackage_general_singleplayer.rbm.unpacked.mapped.hexpat - imhex pattern file for the previous file. conker_stuff.zip
    1 point
  42. 1. The offsets in the UMOD package are encoded somehow, so the exported files contain incorrect data. 2. Currently it is not possible to export this version of the LIN - because it's not a package, it's a block of memory.
    1 point
  43. Good news. Issues with missing objects and incorrect normals were fixed. Now tool is really close to release.
    1 point
  44. 1 point
  45. https://web.archive.org/web/20230819184917/https://forum.xentax.com/viewtopic.php?t=24274
    1 point
  46. I made a very simple Python script to extract the information I found now from the Mot file, But only very little information can be extracted so far. (Update on 2024/01/10) And I made a simple 010 Editor Template.(It was suck... but can use) (Update on 2024/01/21) Updated 010Editor template, it should be possible to parse more KCArcade's Mot data. but there are some slight differences in the file structure of FGOArcade. If want to use it, then need to modify this template slightly. mot_test.zip Mot.bt.zip
    1 point
  47. 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...