AlexWoods Posted July 20, 2018 Posted July 20, 2018 Example #1 (hide skirt)  Example #2 (swap body model with another one)  Prerequisites ---------------------------------------------------------  Basic knowledge on Vita with h-encore and NoNpDrm (Please don't ask about henkaku-related questions here.) Obviously, retail game card (I used RecoLove Gold Beach in this tutorial.) Recolove Model Importer script (and Noesis) https://zenhax.com/viewtopic.php?f=5&t=8004 Uncomment line 13 to enable "noesis.logPopup()", then copy fmt_recolove_fed.py into your Noesis/plugins/python/ folder. CriPakTools (CPK unpacker and replacer) https://github.com/esperknight/CriPakTools/tree/master/Build rePatch reDux0 (for modding game contents in your Vita) https://github.com/dots-tb/rePatch-reDux0/releases  1. Hiding some Meshes from a Model ---------------------------------------------------------  Unpack CPK file (media/cpk/CharaModel.cpk), you'll get many files like 0000, 0001, ... CriPakTools.exe CharaModel.cpk ALL The real filenames are listed in media/afs/CharaModel.als (one filename per one line).  In this example, we use Mariana's default costume: mdb_02mar_000_0_S_def_00.fed. So, rename file 0085 to mdb_02mar_000_0_S_def_00.fed.  Load the FED file in Noesis, and find a mesh which you wanna hide. In this example, we'll hide the skirt mesh.  Then load FED file in hex editor.Goto faceOffset position (570176), and fill data with zero for 2160 bytes (= the number of faces * 6 bytes). After editing, reload FED file in Noesis to confirm if it works.  Replace FED file in CPK using CriPakTools. CriPakTools.exe CharaModel.cpk 0085 NEW_FED_FILE OUTPUT_CPK_FILE Put generated CPK file into ux0:rePatch/TITLE_ID/media/cpk/. Run the game.  2. Swapping Two Models --------------------------------------------------------- First, replace FED file in CharaModel.cpk with desired one. In this example, we swap Yuina's default costume with Mariana's swimsuit-H. CriPakTools.exe CharaModel.cpk 0230 mdb_02mar_007_0_G_swH_00.fed OUTPUT_CPK_FILE And the second, replace TEX file in CharaTex.cpk with right one. CriPakTools.exe CharaTex.cpk 0499 mdb_02mar_007_0_G_swH_00.tex OUTPUT_CPK_FILE HINT: You can get TEX files from CharaTex.cpk using the same method as I mentioned above.   8
AlexWoods Posted July 24, 2018 Author Posted July 24, 2018 On 7/22/2018 at 9:33 PM, xperiagenerator said: awesome have you found a complete nude model yet?  Sadly, not yet. Every model has holes inside clothes, like the picture below. We need to find some methods to edit/add mesh for FED file.  4
AlexWoods Posted July 26, 2018 Author Posted July 26, 2018 On 7/26/2018 at 12:59 AM, xperiagenerator said: have you searched in the blue ocean version? Yes, I searched almost all, but it seems that there are no complete nude model, including DLCs.  It's possible to edit textures of swimsuits. But the problem here is that clothes have different reflection color compared to skin, so it looks white. I guess we need to edit material settings of clothes in FED file. 3
nexter513 Posted August 5, 2018 Posted August 5, 2018 is this still going on? i would just follow the instructions to get the nude version of this tho, 0 knowledge on modding.
AlexWoods Posted August 23, 2018 Author Posted August 23, 2018 ya, I'm alive, but still searching for the way to injecting meshes in model.
AlexWoods Posted November 18, 2018 Author Posted November 18, 2018 16 hours ago, DOAX3GLITCHER said: i can help you tell me where normals and uv starts  contact me in private if posible  Thank you for help! ? Here is the diff to display normal and UV offsets in Noesis. --- fmt_recolove_fed_ORIGINAL.py +++ fmt_recolove_fed.py @@ -10,7 +10,7 @@ noesis.setHandlerTypeCheck(handle, fedCheckType) noesis.setHandlerLoadModel(handle, fedLoadModel) - # noesis.logPopup() # show console + noesis.logPopup() # show console return 1 @@ -82,6 +82,7 @@ _padding(bs) normals = [] + print(" -> normalOffset: %d" % bs.tell()) for i in range(myMesh["numVert"]): x = _getFloat(bs) y = _getFloat(bs) @@ -95,6 +96,7 @@ _padding(bs) uvs = [] + print(" -> uvOffset: %d" % bs.tell()) for i in range(myMesh["numVert"]): u = _getFloat(bs) v = _getFloat(bs) + 1.0 BTW, I couldn't find any "send PM button" on this site, guessing it's because my rank is Junior Member... ?  Â
AlexWoods Posted November 18, 2018 Author Posted November 18, 2018 3 hours ago, DOAX3GLITCHER said: i need a screenshot of the model file (fed) opened in hex editor wich highlight vertex,normal,uv Hi, here is an example of Mariana's swimsuit-H model (mdb_02mar_007_0_G_swH_00.fed).  Fig1. Target Mesh (4th mesh of the FED file)  Fig2. Overview in Hex Workshop  Fig3. Mesh Header Description   2
TheMamamiaExperience Posted February 17, 2019 Posted February 17, 2019 Any updates on this? I hope this project it's not dead :(
faelrocker Posted April 12, 2019 Posted April 12, 2019 On 3/29/2019 at 10:56 AM, DOAX3GLITCHER said: Little update (project is still alive even if its evolving really slow) progress managed to import/export model into blender  only weight is missing (need more time) Glad to see this project alive. Is it possible to edit the mesh, export to the game and play with the edited models? If it is, can you tell me how to import/export to blender?
Guest Posted May 25, 2019 Posted May 25, 2019 A quick research progress  1. Vertex Color The UNKNOWN area means vertex color (RGBA in 4 bytes). That's why swimsuit looks different than skin does.  2. Bone Weight 7th data of FPACMESH: Contains weight groups (bone count, bone ID, weights). 8th data of FPACMESH: Contains maps to associate vertex ID with weight group ID.
Guest Posted July 2, 2019 Posted July 2, 2019 Â 1. Bake vertex colors into body texture and reset vertex colors to white, so that we have all color info in texture. 2. Change swimsuit's material id to body's one (typically 0). For material id, refer Fig3 of Alex's post. https://www.loverslab.com/topic/104212-recolove-modding/?do=findComment&comment=2434076 3. Fix normals and UVs of swimsuit.
Guest Posted July 28, 2019 Posted July 28, 2019 Imported Honoka body from DOAHDM. Â Â To add new vertices, it's required to create FPACMESH data block manually.
Guest Posted August 3, 2019 Posted August 3, 2019 After thousands hours of researching, I finally figured out data structure. Â The file consists of header, offsets and data blocks like this. Â Description using pseudo code: ///// common structure ///// header = { char name[8]; short blockCount; byte offsetType; // 2: int, 6: short byte unknown[5]; }; offsets = { int offset; // short if offsetType == 6 int size; // short if offsetType == 6 } x blockCount; // for each offsets, goto (header base address + offset) block = any data of (size) bytes; Â ///// details of FPACMESH data blocks ///// block[0] = { boundingBoxPos1 = { float x, y, z }; boundingBoxPos2 = { float x, y, z }; byte meshCount; // 0: morph, 1: has one mesh, 2: has two meshes byte unknown[3]; }; ///// if meshCount > 0 ///// block[1] = { short _faceCount; // faceCount = _faceCount / 3 short materialId; byte unknown1[12]; int vertexCount; byte unknown2[12]; vertices = { float x, y, z } x vertexCount; // padding here normals = { float x, y, z } x vertexCount; // padding here vertexColors = { byte R, G, B, A } x vertexCount; // padding here UVs = { float U, V } x vertexCount; // padding here faces = { short idx0, idx1, idx2 } x faceCount; // padding here } x meshCount; // The game uses unique values below block[2] = { uniqVertices = { float x, y, z } x uniqVertexCount; // uniqVertexCount = size / 12 }; block[3] = { uniqNormals = { float x, y, z } x uniqNormalCount; // uniqNormalCount = size / 12 }; block[4] = { uniqVertexColors = { byte R, G, B, A } x uniqVertexCount; }; block[5] = { uniqUVs = { float U, V } x uniqUVCount; // uniqUVCount = size / 8 }; block[6] = { uniqWeights = { int boneCount; weights = { int boneId; float weight; } x boneCount; } x uniqVertexCount; }; // unique IDs are defined in block[7] block[7] = { short uniqVertexIds[vertexCount]; short uniqNormalIds[vertexCount]; short uniqVertexIdsCopy[vertexCount]; // same as uniqVertexIds byte unknown[vertexCount]; byte zeros[vertexCount]; } x meshCount; // NOTE 1: padding means 16 byte padding // NOTE 2: all integers should be read as unsigned
Guest Posted August 13, 2019 Posted August 13, 2019 @simezi (1) Make sure that your input format is correct. Input DDS file should be DXT5 DDS file with no mip-maps (miplevel = 1). ####### Convert PNG to DDS > texconv -f DXT5 -m 1 -bcdither -y input.png ####### Convert DDS to GXT > psp2gxt -i input.DDS -o output.gxt https://vvvv.org/contribution/texconvgui  (2) When copying data, ignore the first 0x40 byte header of GXT. Just keep the original header.  --- BTW, I found a problem when overwriting FPACMESH. The cell edges of body turned black. Still finding solution... Â
char967 Posted August 31, 2019 Posted August 31, 2019 Any update? After hiding a Meshs, game keep loading endlessly
PantsuAesthetic Posted October 9, 2019 Posted October 9, 2019 I was stuck on finding a proper filename after I already extracted the data from CPK leave with the number file, What should I do next? Â
FrancisBeacon Posted October 17, 2019 Posted October 17, 2019 Alex, Arc could either of you please make your mods public? I've gotten the swaps to works etc... but I wouldnt know where to begin on editing the textures to get the results you guys have shown. Â Appreciate it 1
Guest Posted October 20, 2019 Posted October 20, 2019 On 10/17/2019 at 1:02 PM, FrancisBeacon said: Alex, Arc could either of you please make your mods public? I've gotten the swaps to works etc... but I wouldnt know where to begin on editing the textures to get the results you guys have shown.  Appreciate it No plan to share modded files, because I don't have time to respond each specific requests.  For getting texture, you can use this Noesis script. fmt_recolove_textures.py  Each *.tex file contains multiple textures for a costume, and you can get texture's address (in hex) and size (in decimal).  For editing texture, please see the previous post. Â
PantsuAesthetic Posted October 26, 2019 Posted October 26, 2019 Hello? How can I open the .als file? I'm was worried if this topic or modding scene for this game went radio silent for while... thank you.
Guest Posted October 26, 2019 Posted October 26, 2019 34 minutes ago, LT_GeForced said: Hello? How can I open the .als file? I'm was worried if this topic or modding scene for this game went radio silent for while... thank you. It's just a plain text file.
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