Wednesday, September 25, 2013

The Kuwashii Challenge: .MOD script manipulation

The Kuwashii visor has been a sore sight to many since it's introduction in Mass Effect 2 due to the position of it's rotating reticule in relation to the eye. There have been several modders in the past that have released reticule position fixes for the visor for both ME2 and ME3, which was unfortunately only possible at the expense of it's dynamic reticule. This is because we as modders cannot influence the position of the animated texture overlay and are left with no option but to "clear" it and to paint a static reticule on the main visor texture instead.

I wanted to release my own visor/reticule fix combined with a re-textured framework to fit with my armor-sets, unfortunately I ran into an additional problem as it seems the dynamic reticule is shared with Garrus' visor which causes the reticule fix to indiscriminately break the dynamic reticule for both Shep and Garrus alike. Texmod and ME3Explorer use the hex identifiers for images to automatically match it's replacement across the board. For Texmod this is something that can't be manipulated and as such the situation for Garrus can only be resolved by sorting a static reticule directly onto his visor texture.

We do have some options using ME3Explorer while creating a texture replacement .MOD as we can manipulate the automatically generated mod script to skip certain PCC file references and only apply our modded textures to a selection of our choosing. Because this is (not yet) an automated process this has to be done by hand by going into an automatically generated script and adjusting the PCC references and IDs belonging to the texture instances.

You would assume that if Garrus and Shepard are both affected by a .MOD, the fix would be as simple as adjusting the replacement script for the reticule to only apply to PCC files associated with Shepard. 
To do that you'll first have to create a .MOD, what I did here was feed the TPF straight into Texplorer's mod generator and let it create a .MOD.
When you do this Texplorer will automatically match all instances of a texture and create a list of PCC files and IDs to replace in the script for every texture.

You'll notice that when I selected the dynamic reticule (TUR_HED_PROGarrus_Holo_Diff) in the list in ModGenerator that the info tab shows all PCC files and associates IDs it will add to the script.
I can't change that list from here but I can load in a generated .MOD through ModMaker and preview the script for the texture replacement jobs from there to edit them.
 As you can see, the script lists 8 PCC files total and the highlighted 2 are clearly associated with Shepard. I removed the 1st and 4th through 8th line here, only keeping the 2nd and 3rd.
Scrolling down a little I did the same on the ID's. Similarly there are 8 ID's listed, so I'm keeping the 2nd and 3rd and removing all others. The script repeats this list a bit further down, so I applied the same changes to that section. After editing the lists looked like this:

After having edited the script, I hit save changes on the preview windows and re-saved the .MOD so it would include the changes I made to the script.

In a perfect world the issue would now be resolved, unfortunately it showed through ingame testing that out of the 6 PCC files associated with Garrus, 4 use a material reference that ties in with Shepard. This meant that in practice, the script manipulation only worked for Garrus on the Normandy and the dynamic reticule was preserved there, but it stayed broken in Explore mode. As such I figured I would add a texture replacement job for a version of his visor including a static reticule like in the texmod version, but only for the instances in which his dynamic reticule was broken.

The method for this change is exactly the same as the one detailed above, with the exception of me keeping different PCC files in the list this time around. The edited script for Garrus' visor (Visor_Frame) ended up looking like this.
 Et voila!

Script manipulation is not the only tool available to us when trying to achieve a certain effect.
You can adjust meshes through a 3D editor, adjust the UV map (texture wrap), manipulate the texture through a photo/image editor like Photoshop or change the material assignment through Meshplorer. Which method serves your specific problem best often comes down to trial and error. In this case, after having tried all other options available to me, I settled on script manipulation as the best solution. I hope this will prove helpful to some.

The completed Texmod TPF and ME3Explorer .MOD for the Kuwashii Visor are featured in my BSN Thread.


  1. thanks for also explaining on the way how to use the mod script editor :D

    greetz WV

  2. Ottemis - once again, awesome info - thanks for this excellent explanation :-)

    Dang - do you keep busy.

    I've "grasped" the script-modding and oft-used & bang4buck res+/texture-editing via photo/image editor, (no small thanks to your posts here & BSN, etc.,), but - for the other less frequently mentioned methods you mentioned (mesh adjustment/ 3D-editing, texture wrap/UV-map adjustment, assigning materials w/Meshplorer) do you know of resources that go a little bit in to those mechanisms? Of course a bit of searching around s/b expected, but if you know of any intro/tech-site that talk about these seemingly "more involved" moddable elements, i.e. that go beyond script & texture-editing, if even just describing "what is it?" in basic(+) terms, I'd be interested.

    In any case, big THANKS for the details behind a perfectionist's ME3 .mod

    1. My pleasure =)

      This guide might prove obsolete info before long as the functionality is being looked into, so it'll be easier to do soon =) But you know, knowing how to do it by hand might be useful in some situations later still too.
      Apparently the G8 format that I couldn't get into Texplorer before is also sorted, which means I'll include a little section on that in this guide before long as it'll allow me to move the cutoff point for the scrolling text so I can move the reticule a tiny bit lower still without them overlapping =D

      As to other methods, WV actually walked me through the material editor in Meshplorer, it's easy enough to work with though finding a material you like comes down to trial and error. He's got a video up on the ME3Explorer forums:

      As to working with 3DS, I've written a guide on how to work with hair meshes in 3DS, it's a step in level tutorial so it'll give you a nice basis with which to work with 3DS. It's on my blog here.

      Other then that, Eudaimonium has written a guide that covers UV Unwrap as well on the ME3Explorer boards:

      Once you've got a basic understanding of 3DS it's a lot easier to google for the specific stuff you're looking to do. I know it's possible to combine existing meshes as well and merge their UV maps, but I don't know of a guide. Might write one for that at some point if I get around to it.

  3. Cant reach you any of way you left, so i ll try here. Can you please for god sake say how to disable that awfull helmet at you modification for ME3, HR Armax N7 i mean. Man that hair bug with those helmet is awfull