I've been recently trying to improve the various Gang options in the game. One of the troubles I ran into was how the game reads and assigns textures to the NPC models.
This happens when spawning a regular Morning Star in the world along with a Saints variant that uses "npc_mstar_female_soldier" as the base model (because it has cloth simulation and the original Saints version does not; I realized that this model is an unused leftover from SR:TT and is not spawned when fighting Morning Stars). The textures will literally change in-game as seen in this picture:
In theory - this shouldn't happen. Duplicate models and duplicate textures should allow for two independently working variants, however this is not the case here apparently; The game will read two materials as one. I assume it is done to save memory, as it does not happen when the Saints version is spawned alone.
Is there a way for us with the current tools to make the game read each variant as independent so they could co-exist? The other Morning Star Saints also seem dependent on the regular versions - when changing the Saints' face textures the changes apply to the regular Morning Star too - something that isn't problematic but also isn't ideal for what I'm trying to do. On another model, copying the matlib from the original to the Saints variant also made this fun little thing happen when both variants are in the world:
I think it happens because these textures aren't stored as unique ones so the game will simply load whichever texture or material that is there. I hope you guys could shed some light on this, and that it is something that can be fixed.
EDIT: It seems that the hair colors on NPCs are also cached, but where is that cache stored? When there aren't any NPCs spawned with a specific hair color other than the basic 4 (black 01, brunette 01, blonde 01 and white 01) the hair displayed will be white (color-less like in the diffuse texture it seems). It looks nice when it does work, though:
This happens when spawning a regular Morning Star in the world along with a Saints variant that uses "npc_mstar_female_soldier" as the base model (because it has cloth simulation and the original Saints version does not; I realized that this model is an unused leftover from SR:TT and is not spawned when fighting Morning Stars). The textures will literally change in-game as seen in this picture:
In theory - this shouldn't happen. Duplicate models and duplicate textures should allow for two independently working variants, however this is not the case here apparently; The game will read two materials as one. I assume it is done to save memory, as it does not happen when the Saints version is spawned alone.
Is there a way for us with the current tools to make the game read each variant as independent so they could co-exist? The other Morning Star Saints also seem dependent on the regular versions - when changing the Saints' face textures the changes apply to the regular Morning Star too - something that isn't problematic but also isn't ideal for what I'm trying to do. On another model, copying the matlib from the original to the Saints variant also made this fun little thing happen when both variants are in the world:
I think it happens because these textures aren't stored as unique ones so the game will simply load whichever texture or material that is there. I hope you guys could shed some light on this, and that it is something that can be fixed.
EDIT: It seems that the hair colors on NPCs are also cached, but where is that cache stored? When there aren't any NPCs spawned with a specific hair color other than the basic 4 (black 01, brunette 01, blonde 01 and white 01) the hair displayed will be white (color-less like in the diffuse texture it seems). It looks nice when it does work, though:
Last edited: