SpectrumQT / WWMI

GNU General Public License v3.0
255 stars 6 forks source link

To Skip handling in 0.6.0 #2

Closed EndRainCloud closed 2 months ago

EndRainCloud commented 2 months ago

In GIMI, all item can be hide by a hash and "handling = skip", but WWMI not. In 0.5.0, this line can't work in textureOverrideIB, and in 0.6.0, textureOverrideLimitRaiseVertex can't, too. For me, someone who often write a single .ini file to hide some part I don't want, it's a very important functionality. And I think there are many others like me. If there some way to get it work?

SpectrumQT commented 2 months ago

WWMI uses only 1 global checktextureoverride (on vs-cb4). With match_first_index and match_index_count it's enough to get you into any part you want to skip or override.

So, to do what you want without destroying performance even on high end PCs:

  1. Dump frame and extract object data from it with WWMI Tools
  2. Open extracted object hash-named folder and remove all textures from it (or leave the ones you want in your mod for edit).
  3. Import object to Blender WWMI Tools (use Per-Component Skeleton, as you don't need fancy weighting for the task).
  4. Remove Blender objects of unwanted components from imported collection.
  5. Export mod with WWMI Tools.
  6. If you insist on single ini, you can remove Meshes folder and clean up buffer definitions and usage from generated mod.ini (there's no real reason tho). But this will be enough to skip rendering of Component with id 1 in Blender:
    [TextureOverrideComponent1]
    hash = f02baf77
    match_first_index = 5790
    match_index_count = 27444
    if $mod_enabled
    handling = skip
    endif