Skip to content

UI skin inheritance not working across modules #1621

Description

@msteiger

I've moved all UI-related textures to a new module to allow for custom skins. All references to these textures were updated to a virtual module named "skin" that just redirects to a real module (skin-default) in this case. Engine has a dependency on that virtual module (I had that part cut out, but it didn't help).

This works perfectly when the game starts up. However, it breaks at the loading screen, which is where the module environment is updated. In all but one screen (minichat console), the moved textures are missing.

It seems like the skins do not inherit from "default" anymore and thus do not even define the textures. The minichat works, because it doesn't rely on the inherited skin properties.

I can fix the missing textures with:

reloadSkin engine:default
reloadSkin engine:pauseMenu (and all the others)

Strangely enough, when I return back to the main menu, the textures are missing there, too.

The code can be found here: 452b981

Metadata

Metadata

Assignees

No one assigned

    Labels

    Topic: ArchitectureRequests, Issues and Changes related to software architecture, programming patterns, etc.Topic: UI/UXRequests, Issues and Changes related to screens, artwork, sound and overall user experience

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions