Jump to content

Costume Customizer Mod (v2.5.2) - Added Yukino Support, plus skin/shadow fixes and additional menu.ini fixes


Recommended Posts

@425673286, @jms1678, @whoisthisevenwtf -  Update your d3dx.ini and as @s7776704 mentioned, make sure you don't have another mod targetting Takao (knight's Red Hip mod or Teddy's Takao). I've been pointing most to Ceez's copy which seems pretty maintained:

 

@jms1678 - Regarding presets, if you wanted to add another preset to a mod-pack you could edit it with the CC Mod Pack Generator. Otherwise, the only extra saving you could do is reload mods (F10) to save what you have selected currently so it persists between play sessions.

 

 

@Monika0922 - I can't reproduce the error. To assist, try disabling/relocating out of the game folders all other costume mods besides CC and see if it still is occuring. Also check your d3dx.ini and make sure you see something like the following, without the $shader_type assignments in the d3dx, CC won't be able to distinguish between the body/suit portion and the shadows for them.:

 

[CommandListShadowMap]
$shader_type = 5
...

 

 

@yamarkey - Do you still need that patch that you linked? Those files aren't really up to date with the latest version. Are you by chance using a computer with a built-in graphics card or AMD graphics, as I thought that was what those bugs were linked to back then.

 

 

 

 

 

Then for everything else, this weekend I'll put out a new patch that includes Amy and bump up the page limit like was discussed. I'll try to do some time measurements to see how much the page count affects the reload times.

Link to comment

Is there any way to edit the config/ini files to point to a suit other than Dewa as the suit to be replaced? Reason being I've been playing for 3 months and still haven't seen a single Dewa suit.

 

I've had a dig about in Common.ini and Menu.ini, but no luck so far.

 

In the common.ini file I assume this is what needs repointing:

 

[TextureOverrideDewaTexture1]
hash=0b7f20ab
match_priority = 10
$currentSlot = 2

[TextureOverrideDewaTexture2]
hash=6e5f14d2
match_priority = 10
$currentSlot = 2

 

However I've tried changing that, and the issue I'm facing now is I can't get the F3 menu to activate while having a different suit equipped.

 

I think it's something to do with this in Menu.ini, but I've not yet been able to make sense of all the menu checks:

 

; clothing Texture Detection for suit replacements
[TextureOverrideTakaoSuitTexture]
hash=90ebf86a
$slot_active = 1

[TextureOverrideDewaSuitTexture]
hash=0b7f20ab
$slot_active = 2

; Common Suit Detection
[TextureOverrideCommonNormalSuit]
hash=7bec57b0
match_first_index=2514
match_priority = 10
run = CommandListSetCommonSlot

[TextureOverrideTakaoSkirtTexture]
hash=e4dd977f
$slot_active = 1

[TextureOverrideDewaSkirtTexture]
hash=6e5f14d2
$slot_active = 2

 

Any pointers? Also, I think I've found the hashes for a basic suit like Fuji to replace instead, but, I don't actually know for sure, so advice on how to obtain the correct hashes for a common/rare suit other than Dewa?

 

EDIT: Ah, okay, I see now that the reason Takao and Dewa were chosen is that they share a common mesh, and that the menu decides which replacement to use only on the basis of the texture. So it wouldn't be possible to only replace Dewa, it'd require finding another pair of suit which share a mesh and only differ in textures? At least not without re-writing large chunks of the code from scratch.

 

So if I took the suits Amazoness and Savanna which have a common mesh with IB=e14aa157, I could direct to that mesh instead. What I'm not able to see now is how you find the hashes for the specific textures in order to detect which is active?

 

2ND EDIT: Okay, I've got the menu to open successfully on Amazoness, and I've also got the custom costume displaying rather than the regular Amazoness. But I still can't figure out how to select which slot is active based on the Texture. I also can't get the custom costume to display correctly on Amazoness, all the parts are in the wrong place and displaying oddly. I assumed it was a simple mesh/texture swap, but is the code infact specifically set up for Takao mesh and will not work with other meshes?

Edited by xrws31
Link to comment

@xrws31

Almost all suits / bodies have different orders of vertex groups (for bone weights). For example (I'm making this up) on the square bikini (Loquat) vertex group 0 is for the pelvic bone; but on white lace (Orchid) vertex group 0 is the right foot... So you can't simply copy a mod made for Takao to another suit. Both the clothes and bodies have different orders of vertex groups - different from each other and among all other body/suit combinations.

The exceptions are where the outfits use the same mesh but only a different texture. However, even some duplicate suits with texture variants also have different orders of vertex groups ( e.g. some bath towels, Nyotengu's graphite bodice variants ).

 

On DMM, Dewa is available in the venus coin shop - where you exchange girl specific coins. 100 coins to buy the suit for a girl - that requires selling 5 SR suits specific to that girl. That should come naturally for the original 10 girls if you grind volleyball and roll on gachas.

 

Edited by krunkDunk
Link to comment
7 hours ago, krunkDunk said:

@xrws31

Almost all suits / bodies have different orders of vertex groups (for bone weights). For example (I'm making this up) on the square bikini (Loquat) vertex group 0 is for the pelvic bone; but on white lace (Orchid) vertex group 0 is the right foot... So you can't simply copy a mod made for Takao to another suit. Both the clothes and bodies have different orders of vertex groups - different from each other and among all other body/suit combinations.

The exceptions are where the outfits use the same mesh but only a different texture. However, even some duplicate suits with texture variants also have different orders of vertex groups ( e.g. some bath towels, Nyotengu's graphite bodice variants ).

 

On DMM, Dewa is available in the venus coin shop - where you exchange girl specific coins. 100 coins to buy the suit for a girl - that requires selling 5 SR suits specific to that girl. That should come naturally for the original 10 girls if you grind volleyball and roll on gachas.

 

 

Hi, thanks for the insight. So is it simply that the vertex groups are in a different order, and if I can re-point the order/index then things might work (eg. re-point from 0 -> 3 or 2 -> 1 or w/e)? Or is it the case that on each suit each vertex group has its own unique x/y/z co-ordinates that may not correspond to anything on another suit?

 

And unfortunately I'm on Steam, where, as far as I can see Dewa is not available through the venus coin shop.

Edited by xrws31
Link to comment

@xrws31

5 hours ago, xrws31 said:

So is it simply that the vertex groups are in a different order

Yes... but althought it's simple, it's extremely time consuming to rename and re-order them.

5 hours ago, xrws31 said:

Or is it the case that on each suit each vertex group has its own unique x/y/z co-ordinates that may not correspond to anything on another suit?

If a mesh is a different shape it will have some vertices with different xyz coords. So, all of a modded mesh's vertices are not going to exactly match with the original mesh's or any other modded mesh.

 

Also, Savana doesn't have a skirt - and no pose buffer for simulating skirt physics. So it's impossible to port every Takao mod to Savana.

 

If I all you want is to use CC and don't care about rolling on gacha, I'd either wait and hope that Dewa comes to the Venus Coin shop soon on Steam; or I'd start a DMM account and get Dewa that way. It honestly seems like less work than porting CC mods from Takao to Savana.

Link to comment
25 minutes ago, krunkDunk said:

@xrws31

Yes... but althought it's simple, it's extremely time consuming to rename and re-order them.

If a mesh is a different shape it will have some vertices with different xyz coords. So, all of a modded mesh's vertices are not going to exactly match with the original mesh's or any other modded mesh.

 

Also, Savana doesn't have a skirt - and no pose buffer for simulating skirt physics. So it's impossible to port every Takao mod to Savana.

 

If I all you want is to use CC and don't care about rolling on gacha, I'd either wait and hope that Dewa comes to the Venus Coin shop soon on Steam; or I'd start a DMM account and get Dewa that way. It honestly seems like less work than porting CC mods from Takao to Savana.

 

Hmm, okay, yes, does sound like alot of work. I've only dabbled with modding skyrim before, where it was fairly straight forward to swap out meshes/textures provided you were using the same base skeleton. Looks like it's an order of magnitude more difficult here.

 

Thanks anyway.

Link to comment
On 4/11/2022 at 1:16 AM, krunkDunk said:

@xrws31

Almost all suits / bodies have different orders of vertex groups (for bone weights). For example (I'm making this up) on the square bikini (Loquat) vertex group 0 is for the pelvic bone; but on white lace (Orchid) vertex group 0 is the right foot... So you can't simply copy a mod made for Takao to another suit. Both the clothes and bodies have different orders of vertex groups - different from each other and among all other body/suit combinations.

The exceptions are where the outfits use the same mesh but only a different texture. However, even some duplicate suits with texture variants also have different orders of vertex groups ( e.g. some bath towels, Nyotengu's graphite bodice variants ).

 

On DMM, Dewa is available in the venus coin shop - where you exchange girl specific coins. 100 coins to buy the suit for a girl - that requires selling 5 SR suits specific to that girl. That should come naturally for the original 10 girls if you grind volleyball and roll on gachas.

 

 

So, further to this, I'm wondering if I've misunderstood the usage of Takao/Dewa, since I've never had a Dewa suit to experiment with. Perhaps I've completely mis-understood how this is supposed to work.

 

If you have 2 girls on screen, 1 wearing Takao and 1 wearing Dewa, is costume-customizer able to replace the Takao with one setup, and the Dewa with a different setup?

 

The reason I ask is, that although the script appears to be selecting slot-1 or slot-2 on the basis of the suit-texture, what its actually replacing is the mesh. So does it infact result in both suits being replacecd with the exact same outcome, or does the Takao get replaced with whatever's in slot-1, and the Dewa get replaced by whatever's in slot-2 ?

 

See, I re-thought how to approach the problem, and decided to key the "suit detection" off the face/glasses slot instead of the suit. So now it's looking for "black titanium sunglasses" for slot-1 and "eyeglass with green frame" for slot-2. And this appears to work, except, that when 2 girls are on screen, one wearing one glasses and the other wearing other glasses, both wearing Takao, it results in the Takao getting replaced with both slot-1 and slot-2 simultaneously. See in the screenshot below, I've put Pistachio on the 'Takao' slot, and Salmon Roe on the 'Dewa' slot, and it's replacing with both slots at once:

 

Spoiler

DOAX-VenusVacation_220412_171059.thumb.jpg.47f79c5eeae68f9aaf8b2d3779919c55.jpg

 

Although it appears to be either sharing some of the config-slots between Takao/Dewa, or else they're conflicting with each other, since the salmon-roe breast and groin aren't displaying properly.

 

Edited by xrws31
Link to comment

@xrws31

3dMigoto is replacing buffers being sent to the cpu / gpu. It doesn't replace game files. CC is caching multiple poses every frame; those poses are captured by hooking on either bodies via skin textures ( unique for almost all girls ), or from the suit textures ( Takao / Dewa ). Dewa is used because it's vertex groups are in the same order as Takao's - because Dewa is a duplicate of Takao.

 

To the best of my knowledge you can't exactly know which pose from a body goes with which pose for a suit or accessory... if two girls are wearing identical outfits - Girl A wearing Suit A, and Girl B wearing Suit B - if Suit A & B are identical when we cache the suits's poses we don't know if we captured A first or B first and we can't automatically pair the correct pose to each girl. It is possible to rearrange them manually - but the order in which poses are cached can change when the girls move or when the camera moves.

 

The girl wearing Dewa has to be manually configured in the CC interface or she will have missing costume parts ( as CC is trying to apply the mod selected for Takao ). If it was possible to automatically pair a suit's pose with a body's pose we wouldn't need Dewa at all to make multiple girls wear different CC outfits.

Link to comment
17 hours ago, krunkDunk said:

@xrws31

3dMigoto is replacing buffers being sent to the cpu / gpu. It doesn't replace game files. CC is caching multiple poses every frame; those poses are captured by hooking on either bodies via skin textures ( unique for almost all girls ), or from the suit textures ( Takao / Dewa ). Dewa is used because it's vertex groups are in the same order as Takao's - because Dewa is a duplicate of Takao.

 

To the best of my knowledge you can't exactly know which pose from a body goes with which pose for a suit or accessory... if two girls are wearing identical outfits - Girl A wearing Suit A, and Girl B wearing Suit B - if Suit A & B are identical when we cache the suits's poses we don't know if we captured A first or B first and we can't automatically pair the correct pose to each girl. It is possible to rearrange them manually - but the order in which poses are cached can change when the girls move or when the camera moves.

 

The girl wearing Dewa has to be manually configured in the CC interface or she will have missing costume parts ( as CC is trying to apply the mod selected for Takao ). If it was possible to automatically pair a suit's pose with a body's pose we wouldn't need Dewa at all to make multiple girls wear different CC outfits.

 

But where in the code does it make any distinction between Takao and Dewa?

 

The only place I can see is where it sets the variables "$currentSlot = 1" or "$currentSlot = 2". Which it does by detecting the presence of the Takao/Dewa textures, but it then proceeds to take every other action on the basis of the base suit / mesh.

 

If it was as you say, then surely CC would also not be able to distinguish between which girl is wearing Takao and which is wearing Dewa?

 

EDIT: I'm sure you're right, I'm just struggling to reconcile this explanation with what I see in the script.

Edited by xrws31
Link to comment
16 hours ago, xrws31 said:

The only place I can see is where it sets the variables "$currentSlot = 1" or "$currentSlot = 2". Which it does by detecting the presence of the Takao/Dewa textures, but it then proceeds to take every other action on the basis of the base suit / mesh.

There are two groups of replacements in body and suit replacements.

If $currentSlot == 1 then replace elements with Resource1things.

If $currentSlot == 2 then replace elements with Resource2things.

 

 

16 hours ago, xrws31 said:

If it was as you say, then surely CC would also not be able to distinguish between which girl is wearing Takao and which is wearing Dewa?

That is true, the user has to manually configure in-game with CC interface which girl is wearing which suit ( it defaults to Takao )

If you don't have a girl wearing Dewa you won't ever see this option. When Dewa is detected the second time you press F3 you get the option to set which girl is wearing Dewa.

The caching and queueing of poses is convoluted... but the results are used by parts of the code that have:

if $currentSlot

and

if $characterActive

 

You may also search " ; Skin Texture Detection for body extension replacements " in Menu.ini to see a little more of a complete picture.

Edited by krunkDunk
Link to comment

@xrws31 - Its just about as krunkDunk said, all of the detection between Takao/Dewa is mostly all in the bottom of Menu.ini + the UI selection. Its based of the texture of the suits which only works for the rendering of the suit, but the menu is used to assign the body draw call to Dewa/Takao since they are completely identical. If the game ever updates Takao/Dewa vertex group order, then I was planning to try and develop a application to convert over the existing mod pack meshes to the new order, but luckily that hasn't been requried just yet.

 

@krunkDunk - Thanks for answering in my stead.

 

@Tychedy - It depends on what shader the model is rendered with. CC doesn't do anything special because Takao already uses a mesh that supports transparency. If this is with CC, then you can make sure the mesh uses a Alpha slot and adjust the transparency as desired. For the shadows when using CC, you can do a number of options:

 image.png.1bd2948f1079cbed6821fe50097275bb.png

  • Set the shadows to disabled for the whole mesh.
  • Set a custom mesh just for the shadows and cut out holes in the mesh where you don't want shadows to be created.
  • Use a ps-cb2 that sets the HDR_Rate.X value to a value (usually low), that represents a cut-off transparency where the shader will discard the pixel when rendering. This also works properly with some of the ReShade effects that trigger off the depth buffers.

image.png.288159ab3db5eaefc1527f753a14d822.png

 

If not using CC, then it'll be what you tried with using a CustomShader if the shader in use doesn't support transparency. For shadows, you'll have to provide a different custom shader for the shadows or just skip handling all together to throw it away all together in the same TextureOverride, but only when $shader_type == 5 (which is for the shadow shaders).

 

 

 

For everyone else, I'll be uploading the new version shortly, just need to package it up. I did the timimg tests for the new version (v2.4), granted these are on my machine and I don't typically use many mods outside of CC

  • DMM v2.4 w/ 1 Page: 7 seconds for reloading
  • DMM v2.4 w/ 20 Pages: 19 seconds for reloading

So, its about a 12 second tax for probably ~440 empty slots and about 40 filled. I'm sure the difference is probably higher if nearly all of your existing 240 slots are filled. Either way, I'll publish several patches alongside the main release from now on. I'll keep maintaining the simplifed version that doesn't have ps-cb2 support for on-board graphics systems that don't render in the same order as I expect (causing problems). and also a single page variant for minimal reloading time for modders. If you swap between the full 20P and 1P versions, just make sure to move slot folders 25-480 out to a DISABLED folder and back. The base release will be full featured with 20P (480 slots, ps-cb2 support).

 

 

Edit: Released

 

Edited by KuroKaze78
Link to comment
  • KuroKaze78 changed the title to Costume Customizer Mod (v2.4) - Added Amy Support, now up to 480 mod-pack slots

@DOSDOS - Thanks for reminding me, I forgot to publish the updated config file. The attached file is the only file you need to update in CCModPackGenerator to add support to define custom skin files for Amy, it's also been uploaded to the CC Modder Resources in the downloads section, just replace the file .exe.config file alongside the CCModPackGenerator.exe file and relaunch the application.

 

CCModPackGenerator.exe.config

Link to comment
On 4/16/2022 at 12:17 PM, Rentaro90 said:

kinda new to this how do we update the d3dx.ini ive got the same problem as a few posts above the mod works fine but the skirt of the outfit thats 'replaced' is just there semi transparent whatever i do

unknown.png

i have this exasct same problem no matter what i do i cant remove the skirt

Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use