Skip to content

Update Soulless Enemies Look#830

Merged
HylianFreddy merged 1 commit into
gamestabled:mainfrom
HylianFreddy:soulless
Jun 6, 2026
Merged

Update Soulless Enemies Look#830
HylianFreddy merged 1 commit into
gamestabled:mainfrom
HylianFreddy:soulless

Conversation

@HylianFreddy

Copy link
Copy Markdown
Collaborator

The following options are added:

  • Textureless
    Soulless enemies will appear with no textures and a shaded selectable color applied to their bodies. This will be the new default option for the Soulless Look.
    Example with black color (the default):
    Soulless Skulltula with black body
    Example with red color:
    Soulless Redead with red body
  • Grayscale
    Soulless enemies will appear in black and white.
    Example:
    Soulless Moblin with grayscale body
  • Vanilla
    Soulless enemies will appear normal.

The Purple Flames option is updated to display multiple flames across the volume of the enemy's colliders, making the shape more distinguishable.
Soulless Deku Baba with purple flames

The Flashing option is unchanged.

Technical notes

The new options are implemented by editing the CMB model data after it's loaded into memory, but before the game parses it to initialize the CMB Manager internal struct. This happens inside the game's ZAR_GetCMBByIndex function.
For the Textureless option, the model's materials are edited to not use any combiners, and to set ambient and diffuse colors to the one chosen by the player.
For the Grayscale option, every combiner operand that has the value color is changed to the value green, so the game will only take the green channel from the texture and draw it in grayscale.

If a soul is obtained while the corresponding enemy is loaded, all the edits to the model data are reverted, and every struct depending on it is reinitialized (mainly CmbManager, SkeletonAnimationModel, and SkelAnime). To do this, during the initial model editing the original values are stored in unused parts of the CMB data, so they can be reapplied later without having to reload the Object file from storage memory.

Acknowledgements

The CMB format structs were taken from some templates made by TrainRLG/M1, and the documentation on the CloudModding wiki.

- Improve Purple Flames appearance by spawning them across collider volumes;
- Add Grayscale option to show soulless enemies in black and white;
- Add Textureless option to show soulless enemies with monochromatic bodies.
@HylianFreddy HylianFreddy merged commit cb73109 into gamestabled:main Jun 6, 2026
2 checks passed
@HylianFreddy HylianFreddy deleted the soulless branch June 6, 2026 19:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants