protonscr

Custom artwork for Half-Life 1 (gldsrc) mods gets messed up in the Steam client when adding/removing HL1 mods

steamopen Steam client
ValveSoftware/steam-for-linux#12145 · opened 2025-06-28 by randomname42 · updated 2025-06-28 · 0 comments · github
Rrandomname42 2025-06-28 github

Your system information

  • Steam client version: (This is an OS independent Steam Client issue. It happens on both Steam Deck and Windows 11)
    Steam Beta Branch: Steam Deck Stable
    Steam Version: 1748914100
    Steam Client Build Date: Wed, May 28 3:31 PM UTC -08:00
    Steam Web Build Date: Mon, Jun 2 8:16 PM UTC -08:00
    Steam API Version: SteamClient022
  • Distribution: Steam Deck, also Windows 11
  • Opted into Steam client beta?: No
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

When you put Half-Life 1 mods into the Half-Life folder and restart Steam, they then are automatically listed in the Steam client. (That works correctly.)

However, if you set any of the following: custom [background, logo, or vertical "cover" artwork, (and probably the horizontal "recently played" artwork too, but I haven't been using custom artwork for that so I don't know for sure) ] for a Half-Life 1 mod, the custom artwork can get dissociated from that mod. It happens when you add or remove any other Half-Life 1 mods form the Half-Life folder, and then restart the Steam client.

All the custom artwork, logo, etc which had been set for that HL1 mod will "shift" to a different HL1 mod instead when Steam is restarted.

It's pretty vexing when you have 30 or more HL1 mods installed with custom artwork added, and then when you add or remove any HL1 mods the customizing gets messed up and you have to reassign each custom artwork to each mod one by one all over again.

To be clear: icons set up in a HL1 mod's folder (listed in the mod's liblist.gam file) do not get shuffled when adding/removing other HL1 mods. Icons stay associated with the correct mod.

Describe what you expected should happen and what did happen.

Custom artwork for all Half-Life 1 mods should stay associated with that mod, even when other HL1 mods are added or removed. It should never get reassigned to a different HL1 mod.

But what happens instead is that custom artwork for already installed HL1 mods will get shuffled to different HL1 mods upon restarting the Steam client, any time any new HL1 mods are either added or removed from the Half-Life folder.

Steps for reproducing this issue:

(I don't know the minimum number of Half-Life 1 mods that need to be concurrently installed for this to happen, as I didn't start adding custom artwork until I had more than ten. But I suspect there is no minimum number for this to happen.)

I'm describing this in detail just in case it's needed, but I'll bold the gist for each step to make it easier to get a quick understanding of what to do.

  1. Install the original Half-Life. (I have Opposing Force and Blue Shift installed as well, but I don't think that it would make a difference if they were installed or not).
  2. Get some Half-Life 1 mods (at least two) from somewhere like moddb. It makes no difference at all which specific mods. However, USS Darkstar, They Hunger, and ETC II are some fun ones I recommend which have custom artwork available on SteamGridDB.
  3. Put the HL1 mods into the Half-Life install folder. Restart Steam to make sure they are set up correctly and show up in the Steam client.
  4. With at least two HL1 mods showing up in the Steam client: add a custom logo, background, and vertical "cover" art for each HL1 mod in the Stream client.

(Any custom images would do, but make sure the images are unique so it's easy to keep track of how the custom artwork shifts to a different mod when adding or removing other HL1 mods.) SteamGridDB is a great place with custom art many HL1 mods, which will make easy to keep track of how the custom artwork is jumping to other HL1 mods.

  1. Put another HL1 mod into the Half-Life folder (adding custom artwork isn't necessary). Restart Steam and make sure the new HL1 mod shows up in the Steam client.
  2. With the new HL1 mod showing up in the Steam client, check out how the custom artwork has been shuffled around from the Hl1 mods it was originally set to. (It might not happen to all mods. For example, maybe the newly installed mod will have the custom artwork from one of the previously installed HL1 mods, and one of the previously installed HL1 mods will have no custom artwork now.)
  3. If the custom artwork doesn't get shifted around from adding one mod (like I said, I don't know if there's a minimum number of mods needed for this to happen), then add another mod or two and restart Steam to check again. I would be very surprised if the problem didn't show up by the time 5 or 6 mods were added to the Steam client.
  4. Now that you've seen custom artwork for at least one HL1 mod get shifted from the HL1 mod it was originally assigned to, make a note of how the artwork got shifted (what mod it was originally form, what mod it got moved to, etc).
  5. Now, either remove or add a new HL1 mod from/to the Half-Life folder. Restart Steam again.
  6. Custom artwork for HL1 mods should have shifted around to different HL1 mods again after Steam was restarted.

Observations and Ideas for what's going wrong

While it might seem at first like it's random how custom artwork for HL1 mods is getting shifted around when adding or removing HL1 mods, it's not really random. It's a static shift. What I mean is: when you add a HL1 mod and restart Steam, and HL1 mods get their custom artwork shifted around, it stays that shifted that exact same way no many times Steam is restarted. Until you add or remove another HL1 mod (and then restart Steam, of course) which then changes how HL1 mod custom artwork is shifted around again.

Due to how it's behaving, I think in the background Steam is probably assigning some kind of index number to each HL1 mod that shows up in the Steam client. And, crucially, I suspect the index number of each HL1 mod in the Steam client changes when HL1 mods are added or removed, but the index number for custom artwork assigned to HL1 mods is NOT getting updated. Which disassociates the custom artwork from the HL1 mod it was originally assigned to.

Suggested Fixes

There's two suggestions and they both have unique benefits, so implementing both would be viable and honestly both are recommended.

  1. Steam client itself: (aka the obvious fix)

Fix the indexing problem (assuming my guess about the cause of the problem was correct in the previous section) in the Steam client so that custom artwork for HL1 mods no longer get disassociated from the mods themselves when adding or removing any HL1 mods.

Or if my assumption was wrong, fix whatever is going wrong in the Steam client that causes this.

  1. Expand the capabilities of liblist.gam: to allow specifying custom artwork/logo/background to be used in the Steam client for a HL1 mod, like how you can already specify an icon in the liblist.gam for a mod - which the Steam client uses (aka the fix which also adds some nice convenience)

There's an opportunity here to make using custom artwork with Half-Life 1 mods more convenient, besides just fixing the issue.

If liblist.gam allowed you to assign a custom background, logo, vertical "cover" artwork, and horizontal "recently played" artwork, then it wouldn't be possible in the first place for HL1 mods to get disassociated from custom artwork assigned to them. The liblist.gam would be telling the Steam client what to use, so just like icons specified in the liblist.gam (which don't get dissociated), the custom artwork would never get disassociated from the mod it was originally assigned.

Advantages of the fixes

Obviously, the first solution would make it so anyone using the Steam client to add custom artwork for HL1 mods like they would any other game would have the custom artwork stay in place for that mod, like it's supposed to.

But there are advantages in the second solution that the first one doesn't have.

  1. More convenient for HL1 mod authors and players.

If custom artwork/logo/background for the Steam client could be specified in liblist.gam, then modders could include that custom artwork in the mod itself. Mods which include that could show their own logo, background, and artwork in the Steam automatically, without mod players having to do anything but put the mod in their Half-Life folder.

That would simply be better for everyone who uses Half-Life 1 mods.

  1. More convenient for keeping backups of HL1 mods, and switching to new computers.

Manually setting custom artwork in the Steam client for a lot of HL1 mods is slow, clunky, and gets annoying. Even worse, there's no way to transfer that work over to a new pc, because you would have to assign the custom artwork in the Steam client all over again.

But if the custom artworks, logo, and background could be set in liblist.gam, then you could set up custom artwork once for each mod, and it would be "portable" in the sense that you could just transfer the whole mod over to a new pc (custom artwork included) and it would just work - no need to reinvent the wheel and assign custom artwork in the Steam client all over again.

So that would make backing up HL1 mods "complete", meaning you could just put the mod in the Half-Life folder and have all the custom artwork automatically.

  1. The one disadvantage I can think for the second solution is that it wouldn't fix the custom artwork dissociation problem for people who were only assigning custom artwork directly in the Steam client itself. That's why it would make sense to implement both solutions.

Final words

Sorry this was so long. I wish I was better at describing this succinctly. But I thought it was most important to make sure everything was as clear as possible.

If there's any questions or anything is confusing, please ask. I'd be happy to clarify.

Also, I really do hope the second solution will get implemented.

There are still many Half-Life 1 mods being made, and it really would be nice if mod authors had the opportunity to add custom artwork for Steam to their mods, which the Steam client could use just by having the mod show up in Steam. It would be pretty cool.

And it would make sense a lot of sense, considering how Steam client already automatically loads HL1 mods in the Half-Life folder, and uses the icon specified in liblist.gam too. So why not take that to it's logical conclusion, and allow all the custom artwork to be assigned in liblist.gam?

Nothing extracted yet.