Haise Sasaki Posted April 5, 2025 Posted April 5, 2025 13 hours ago, doctor_science said: yeah the displayset model xml object will have prop values with the hash-name for the g1m file and an intermediate xml object that has a prop/value with the hash of the ktid file 0x8AB68B3F|KTGLModelDataResourceHash 0xF92C5190| TexturesRenderStateObjectHash so from your first screenshot you can control+F the name of that xml object 0x9FCF8B6A in the xml and that'll find you the matching displayset object that has the model resource hash for some g1m file, or in the second screenshot you can control+F the value field of the third prop there and it'll find you the xml object that in turn has the 0x7A1E1EF8|TextureBindTableCSVFileResourceHash and the value will be the hash for the matching ktid file. note you did not win the lottery and pick matching files to begin with. i'd be more interested in writing a guide to all this nonsense if prism gets a subforum so it's not buried somewhere nobody will be able to find in a month. for static objects on doa 6 stages you would also use that parent object to get the collision mesh and maybe the clip shadow, the environments in prism start out the same format but i haven't gone all the way through that yet, still need to develop a script so i'm not manually importing a couple thousand models. i made some advancements but i dont remeber how you could extract the files for it, i was checking old tools but i need the .kidsobjdb file for the old tools, or idk how that works now if we have the mesh and the ID
xenodoax Posted April 5, 2025 Posted April 5, 2025 18 minutes ago, Haise Sasaki said: i made some advancements but i dont remeber how you could extract the files for it, i was checking old tools but i need the .kidsobjdb file for the old tools, or idk how that works now if we have the mesh and the ID Hey there - what is a .ktid and what is a .kidsobjd file? Are these the result of using one of the tools linked earlier?
Haise Sasaki Posted April 5, 2025 Posted April 5, 2025 4 minutes ago, xenodoax said: Hey there - what is a .ktid and what is a .kidsobjd file? Are these the result of using one of the tools linked earlier? i dont know exactly but back when i was learning how fate samurai remant file extraction worked you needed that for the tool to gather all the textures and the model the game used and extract them, i assume (im probably wrong) that the objd file is an object data that contains all the textures it uses and the ID is the path the mesh uses to load the objd and the rest of what the model uses
xenodoax Posted April 5, 2025 Posted April 5, 2025 32 minutes ago, Haise Sasaki said: i dont know exactly but back when i was learning how fate samurai remant file extraction worked you needed that for the tool to gather all the textures and the model the game used and extract them, i assume (im probably wrong) that the objd file is an object data that contains all the textures it uses and the ID is the path the mesh uses to load the objd and the rest of what the model uses I'm not familiar with this game. Does it also use Kitana Engine and/or fdata packages? I hope you'll forgive me for asking these questions. I have extensive experience modding XVV but not this game's engine.
Haise Sasaki Posted April 5, 2025 Posted April 5, 2025 53 minutes ago, xenodoax said: I'm not familiar with this game. Does it also use Kitana Engine and/or fdata packages? I hope you'll forgive me for asking these questions. I have extensive experience modding XVV but not this game's engine. it does, but it didnt got mod support, i dont know a lot of stuff about this engine but i pressume doa 6 was the first iteration of this engine
doctor_science Posted April 5, 2025 Posted April 5, 2025 ktid files are indexed lists of hashes that point to database entries (in the case of character modles, the CharacterEditor database), which in turn point to hashes for g1t files there's a pile of koei games going back to at least hyrule warriors (2014) that use whatever KIDS is... koei something data something, probably. in doa 6 all these non-asset database files are packed in an RDB (resource database?) file called KIDSSystemResource, some of the newer games are packing in fdata instead of rdb, this is mostly meaingless to me it just means we need different unpacking tools. those individual databse files are called kidsobjdb (KIDS object database, kodb for short) by vagonumero13's RDB tool for doa6, although this is maybe not 100% accurate and some of the other extraction tools will disagree on the suffix. Since they're proprietary that doesn't actually matter as long as they're named correctly for the tool you're trying to use. there's a few tools to convert a kodb to xml so we can read them, the one I like is by AlexXsWx because the formatting is nice, it doesn't mess up floating points, and I know where to add additional prop names https://www.freestepdodge.com/threads/tools-to-unpack-pack-doa6-filesystem-and-convert-kidsobjdb-xml.9321/ the xml file i posted is the output of that tool. you could use f ID utility from the doa6 tools page or the i forget the name from somebody on gamebanana but I really don't like how f ID formats the xml fdata dump organizes its files a little weird to me but i just control+F in explorer to find the particular files. on top of all that nonsense there are differing versions of the g1m and i assume other resource formats, so things like models from different games generally don't work even though they're all .g1m, some of the tools don't work on all the games, etc. I should try samurai warriors 5 stuff in doa because those are relatively close together.
xenodoax Posted April 5, 2025 Posted April 5, 2025 (edited) 1 hour ago, doctor_science said: ktid files are indexed lists of hashes that point to database entries (in the case of character modles, the CharacterEditor database), which in turn point to hashes for g1t files there's a pile of koei games going back to at least hyrule warriors (2014) that use whatever KIDS is... koei something data something, probably. in doa 6 all these non-asset database files are packed in an RDB (resource database?) file called KIDSSystemResource, some of the newer games are packing in fdata instead of rdb, this is mostly meaingless to me it just means we need different unpacking tools. those individual databse files are called kidsobjdb (KIDS object database, kodb for short) by vagonumero13's RDB tool for doa6, although this is maybe not 100% accurate and some of the other extraction tools will disagree on the suffix. Since they're proprietary that doesn't actually matter as long as they're named correctly for the tool you're trying to use. there's a few tools to convert a kodb to xml so we can read them, the one I like is by AlexXsWx because the formatting is nice, it doesn't mess up floating points, and I know where to add additional prop names https://www.freestepdodge.com/threads/tools-to-unpack-pack-doa6-filesystem-and-convert-kidsobjdb-xml.9321/ the xml file i posted is the output of that tool. you could use f ID utility from the doa6 tools page or the i forget the name from somebody on gamebanana but I really don't like how f ID formats the xml fdata dump organizes its files a little weird to me but i just control+F in explorer to find the particular files. on top of all that nonsense there are differing versions of the g1m and i assume other resource formats, so things like models from different games generally don't work even though they're all .g1m, some of the tools don't work on all the games, etc. I should try samurai warriors 5 stuff in doa because those are relatively close together. I have some python knowledge so I'm trying to adapt this script you've provided - I'm focused specifically on doa6RdbReader.py. I'm running this script on the fdata package dir in Prism. The error I'm getting when running this directly in the fdata package folder is the following - an issue about the "flags" being found in the root.rdb file not being included in the potential ones set up for this DOA6 script. Since I know nothing about these .rdb files, someone with more expertise on what a decoded .rdb file looks like needs to comment. The flags value being returned for root.rdb is 4325376 (0x420000 in hexidecimal) - which is not an allowed value given the conditions in the script. Edited April 5, 2025 by xenodoax
doctor_science Posted April 5, 2025 Posted April 5, 2025 1 hour ago, xenodoax said: I have some python knowledge so I'm trying to adapt this script you've provided - I'm focused specifically on doa6RdbReader.py. I'm running this script on the fdata package dir in Prism. The error I'm getting when running this directly in the fdata package folder is the following - an issue about the "flags" being found in the root.rdb file not being included in the potential ones set up for this DOA6 script. Since I know nothing about these .rdb files, someone with more expertise on what a decoded .rdb file looks like needs to comment. The flags value being returned for root.rdb is 4325376 (0x420000 in hexidecimal) - which is not an allowed value given the conditions in the script. i'm not super familiar with alex's code, what adaptation are you trying to make? i haven't had a problem with the prism db files other than the error about the unexpected header and that didn't seem to prevent everything else from working
xenodoax Posted April 5, 2025 Posted April 5, 2025 30 minutes ago, doctor_science said: i'm not super familiar with alex's code, what adaptation are you trying to make? i haven't had a problem with the prism db files other than the error about the unexpected header and that didn't seem to prevent everything else from working Just a shot in the dark really. Just running that script as if it were a DOA6 .rdb and hoping for the best... But there's an error so I can't. So what is this unexpected header error you've encountered? How can I recreate the error?
doctor_science Posted April 5, 2025 Posted April 5, 2025 (edited) 25 minutes ago, xenodoax said: Just a shot in the dark really. Just running that script as if it were a DOA6 .rdb and hoping for the best... But there's an error so I can't. So what is this unexpected header error you've encountered? How can I recreate the error? my bad the error was running kidsObjDbToXml.py and it didn't seem to matter. i haven't tried his rdb reader because i already have the files out of those because fdata dump gets them. you'd probably have to look at the code from fdata dump or qrdbtool 3.x (dw origins mod loader on nexus has the newest qrdb tool in it) to figure out how they're handling that particular value if you're just in it for the exercise. Edited April 5, 2025 by doctor_science
Popular Post minazuki Posted April 6, 2025 Popular Post Posted April 6, 2025 Simple texture mod that remove the frills for "Bikini & Jacket (In all color)" The back of the girls have some body texture problem, it is the original game problem. You can see the same problem in the original game on back when Hoodie Off. My mod is just modify the swimsuit texture, have not touch the body. If you can't run Python(.py), you can try the exe from the remove copyright mod. Download Bikini & Jacket (In all color).zip 47
fenix71 Posted April 6, 2025 Posted April 6, 2025 (edited) To the Loverslab admins, pls make a dedicated forum section for PRISM ! Edited April 6, 2025 by fenix71 4
NameIsNobody Posted April 6, 2025 Posted April 6, 2025 @minazuki This is a great first start, thank you very much for your contribution! 1
DoMopi Posted April 6, 2025 Posted April 6, 2025 Amazing job @minazukisan! It's working as intended. Hopefully we can develop a mod sorting system in the future to manage files easily. yumia has a mod manager, but it only accepts that game's .exe as the file path. Maybe that could be changed? I noticed some bodies are fully modeled, only missing the nipple/vagina dents, so texture testing could be easy once we can remove all of a bikini's parts and inject the new texture. Because it's XVV's Global 6th anniversary, I couldn't dedicate as much time to extracting textures as I wanted, but I'd like to start working on nude texture tests based on the 4K ones we have already. Could someone provide a file or list with the t0 skin textures of each girl? for example "Hon - hashnumber" so I know what to extract and reinject. Also, is there a way to refresh the game's mods like with F10 in XVV for easier testing? (sorry for the questions, I'm only familiar with xvv and not doa6 frameworks or anything newer like yumia, but I really want to help get the mod community started)
Nergal54 Posted April 6, 2025 Posted April 6, 2025 Hello ! Has anyone managed to get ultrawide resolutions to work? I tried some basic HXD edits without success.
Popular Post minazuki Posted April 6, 2025 Popular Post Posted April 6, 2025 (edited) High Cut One Piece (Black) Texture Mod If you can't run Python(.py), you can try the exe from the remove copyright mod. Download High Cut One Piece (Black).zip High Cut One Piece (Black) Smaller Panties Update Just replace the same file. Download High Cut One Piece (Black) Smaller Panties Update.zip Edited April 6, 2025 by minazuki 42
minazuki Posted April 6, 2025 Posted April 6, 2025 @DoMopi It has an ugly skin indentation if you just remove all clothes.
xenodoax Posted April 6, 2025 Posted April 6, 2025 (edited) 4 hours ago, DoMopi said: Amazing job @minazukisan! It's working as intended. Hopefully we can develop a mod sorting system in the future to manage files easily. yumia has a mod manager, but it only accepts that game's .exe as the file path. Maybe that could be changed? I noticed some bodies are fully modeled, only missing the nipple/vagina dents, so texture testing could be easy once we can remove all of a bikini's parts and inject the new texture. Because it's XVV's Global 6th anniversary, I couldn't dedicate as much time to extracting textures as I wanted, but I'd like to start working on nude texture tests based on the 4K ones we have already. Could someone provide a file or list with the t0 skin textures of each girl? for example "Hon - hashnumber" so I know what to extract and reinject. Also, is there a way to refresh the game's mods like with F10 in XVV for easier testing? (sorry for the questions, I'm only familiar with xvv and not doa6 frameworks or anything newer like yumia, but I really want to help get the mod community started) I compiled a list of skin textures from the fdata dump that I could find. I organized them in 3 types, but there's a 4th type that doesn't seem to match the others. The one I shared earlier (9cfd61e8.g1t) is confirmed to be Fiona's based on the skin tone and I confirmed it by using Ninja Ripper and got the same exported texture from that rip. The same procedure could be used to find the other girls' skins. Prism Textures Investigation.txt Edited April 6, 2025 by xenodoax
fitzgerald4 Posted April 6, 2025 Posted April 6, 2025 (edited) # How to use g1m_export_meshes.py To run g1m_export_meshes.py script of eArmada8's gust_stuff, applying these diffs are required. diff (speed improvement) - transform_cloth_mesh_default = True + transform_cloth_mesh_default = False diff (skip error) = NOT NEEDED from v1.3.15 - model_skel_data = calc_abs_skeleton(model_skel_data) + #model_skel_data = calc_abs_skeleton(model_skel_data) + pass It exports fmt/ib/vb/vgmap files and a mesh_metadata.json. # How to use g1m_import_meshes.py To run g1m_import_meshes.py script of eArmada8's gust_stuff, applying these diffs are required. diff (support vb0 file) - [x[:-3] for x in glob.glob("*.vb", root_dir=g1m_name)])] + [x[:-3] for x in glob.glob("*.vb", root_dir=g1m_name)] + [x[:-4] for x in glob.glob("*.vb0", root_dir=g1m_name)])] diff (skip error) = NOT NEEDED from v1.3.15 - model_skel_data = calc_abs_skeleton(model_skel_data) + #model_skel_data = calc_abs_skeleton(model_skel_data) + pass # Advanced technique As an advanced technique, if you want to change the submesh's stride smaller (say, 144 to 100), running the following script before exporting vb file should do the trick. This method can be used as a temporary workaround to treat a mesh with physics as a regular mesh, as ikaros plugin doesn't support exporting such mesh. # in Blender Python Console bpy.data.objects["TARGET_OBJECT"]["3DMigoto:VBLayout"] = bpy.data.objects["SOURCE_OBJECT"]["3DMigoto:VBLayout"] bpy.data.objects["TARGET_OBJECT"]["3DMigoto:VB0Stride"] = bpy.data.objects["SOURCE_OBJECT"]["3DMigoto:VB0Stride"] For this scenario, make sure to apply the diff below to the g1m_import_meshes.py script, to override shader. - lod_block += name + name = b'@FA9C8043\x00\x00\x00\x00\x00\x00\x00' # any shader name of MESH_LOD section in mesh_metadata.json + lod_block += name Edited April 13, 2025 by fitzgerald4
Raven_Dono Posted April 6, 2025 Posted April 6, 2025 (edited) 8 hours ago, minazuki said: High Cut One Piece (Black) Texture Mod If you can't run Python(.py), you can try the exe from the remove copyright mod. Download High Cut One Piece (Black).zip 3.99 MB · 98 downloads High Cut One Piece (Black) Smaller Panties Update Just replace the same file. Download High Cut One Piece (Black) Smaller Panties Update.zip 2.27 MB · 102 downloads Thanks for your awesome work! but my game doesn't have a file named 0xcccccccc.fdata when I search it or in ".\fdata_package" weird Edit: ok so I just downloaded your second file, I should have downloaded the first one too thanks! Edited April 6, 2025 by Raven_Dono
xenodoax Posted April 7, 2025 Posted April 7, 2025 @minazuki - great work sir!. I have a couple of questions on how you're accomplishing this. I assume that you've put your modified .g1t into the .fdata package of your mod - because there is no .g1t in the file .zip. Could you elaborate on this process? 1. How are you converting .dds back to .g1t (assuming you're modifying the texture as .dds) 2. How are you then creating a custom .fdata package that contains your modified .g1t which the .py scripts then replace in the game's data folders?
minazuki Posted April 7, 2025 Posted April 7, 2025 (edited) Cheat Engine Table for Ver. 1.03 Based on @le0da and @manusgamo2012 address/table. And I just added an address for changing the Owner Level (Boss Rank) (I don't know what the purpose for the "No description" address is, it always gives a 0 value for me, it originally came from the manusgamo2012's table.) Download Edit Fans for Ver1.03.ct.zip Cheat Engine Table for Ver. 1.03 Update Added to edit Girls Interest, You should lock the value for unlock the scenario route. (Red cross checkbox in Cheat Engine) Removed the unknown address Download Edit Fans for Ver1.03 Update.ct.zip Edited April 7, 2025 by minazuki 5
minazuki Posted April 7, 2025 Posted April 7, 2025 @xenodoax It already claims to work by @fitzgerald4. He has posted all the tools you need to make texture modding. 1
xenodoax Posted April 7, 2025 Posted April 7, 2025 (edited) We're on our way. I was able to follow the thread you've set up for us @minazuki / @fitzgerald4 and modified the g1m texture for the lingerie suit in Blender to remove the bra, then used fdata tools to re-insert into game. Your method works! Anyone had a chance to modify those skins yet? Edited April 7, 2025 by xenodoax 16
aostang Posted April 7, 2025 Posted April 7, 2025 (edited) 14 hours ago, minazuki said: @DoMopi It has an ugly skin indentation if you just remove all clothes. Yeah, this is how KT does clothing form-fitting the girls. There's no real physics pushing against the skin. They have extra mesh replacements built in that actually renders indentations as part of the outfits, and in some cases just removes the skin completely below the outfit so there's no bleed-thru. When modding out clothing in XVV we had to fix these indentations or or missing skin areas, too. Here's an example from back in the early days of modding XVV. Edited April 7, 2025 by aostang
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now