Documentation
Readme
View as plain text
Loot Icons Extension
by Demon9ne
Loot icons focused on expandedness and customization
Features
Icon Variety
- Over 60 different vanilla icons are utilized, for different items. (Ammo, for instance, displays a different icon per type, instead of generic magazine icons.)
Mod Settings Profile
- Loot Icons Extension utilizes Mod Settings, so that you have a degree of control over everything listed below.
Icon Substitution
- Loot Icons Extension can further customize the "base set" of icons, using a touch of common sense and some underutilized vanilla icons. (See the screenshots above.) One new icon is also added for non-alcohol beverages.
- Mod authors (perhaps you) can now create and assign new loot icons to custom items. And it's very easy. (See Mod Dev Info below, for details.)
- HUD icons can be substituted for individual non-melee weapons you find in Night City. (Originally a psiberx mod, if you've been here a while.) - https://github.com/psiberx/cp2077-playground/blob/main/ExtendedLootIcons.reds
Icon Appearance
- Icons Sorting: When staring directly at a container or corpse, icons will reorganize themselves to be in the same order as the items in the loot window. QoL.
- Icons can be seen through walls, if you'd like. Requiring the scanner, if you'd like.
- Icons can display at increased or decreased scale, and either horizontally or vertically.
Icon Tinting
- Icons can be tinted--or even randomly tinted per game session--from a small set of basic colors per item quality.
- Custom icons can have custom tints that deviate from the standard item quality tint.
- Quest items can be set to tint differently, so they always stand out.
- Icons can all be tinted to one color by choosing a theme tint--from a small set of basic colors that fit the game.
- Icons can be tinted to a special palette by choosing the unique Mox theme, which factors in item quality.
Addendum
- Tagged containers show the tagged icon, rather than loot icons.
- Duplicate icons are intentionally not removed, as you're probably used to. There's always one icon per item.
- Some mods add loot to civilian npcs that are incapable of displaying icons. Cause unknown, for the time being.
- This mod contains an attempt to correct the ammo icon bug (which causes ammo that is alone in a container to have no icon).
- If you have CET and you'd like to know your current (perhaps random) icon tints, use console command: Game.ReportIconTints()
- This mod does not change icon visibility range.
Important
- Loot Icons Extension contains a DLL file, which attempts to correct a vanilla bug. If you have anti-virus or anti-malware software that detects it and freaks out, be smart: redownload the mod and redeploy it to overwrite the DLL, just in case actual malware hiding on your PC replaced it with something legitimately dangerous.
- If you uninstall mods manually, do not forget to check and ensure that the files from the previous version are removed.
Optional File: Loot Icons Extension Light
LIExt Light contains no DLLs, making it a bit more stable than the original. Use it if you distrust DLL files, your antivirus nags, or you experience crashes.
- Does not contain the vanilla bug fix for ammo icons not appearing when they are the sole icon
Optional File: Over 600 Shuriken
I wanted to illustrate the potential of Loot Icons Extension, so I contacted manavortex about a potential collab, and this is the result of our efforts.
- Adds a unique loot icon for shuriken.
- Treats shuriken as the calling cards of the Tyger Claws, who often drop them.
- This file uses Codeware to randomize the hundreds of shuriken, to avoid getting constant duplicates.
- Make sure to download Over 600 Shuriken and update TweakXL to v1.10.5+ before installing.
Changelog
- v1.0: Initial release
- v1.1: Minor code adjustments for efficiency and stability
- v1.2: Fixed a game start issue when running the mod without Mod Settings (which is optional/recommended)
- v1.2: Added code to untag looted containers/enemies, for players experiencing this issue
- v1.2: Minor code adjustments for efficiency and stability
- v1.3: Fixed iconic quality icon tinting
- v1.3: Added quest item tinting, with Mod Settings option
- v1.3: Added theme tinting (override for all items up to a quality threshold), with Mod Settings options
- v1.3: Added a unique theme, Mox, which is a theme that factors in item quality
- v1.31: Fixed the rare item quality tint in the Mox theme
- v1.32: Fixed some tomfoolery under the hood in Mod Settings tinting
- v1.4: Minor pathing adjustments and code adjustments for efficiency and stability
- v1.4: Fixed issue with some valid hex colors being overwritten by identically named colors
- v1.4: The Codeware dependency version requirement is now v1.12.9+
- v1.4: The ammo icon vanilla bug fix DLL has been updated/refactored for stability
- v1.4: The color conversion DLL is eliminated, functionally replaced by improved redscript
- v1.4: Released optional file LIExt Light as an alternative, in case of future stability issues
- v1.5: Minor code adjustments for efficiency and stability
- v1.5: Added the ability to set icon opacity (transparency) while aiming down sights, in Mod Settings options
- v1.5: Added the ability to set icon opacity (transparency) while scanning, in Mod Settings options
Mod Conflicts
- Better Loot Markers - https://www.nexusmods.com/cyberpunk2077/mods/3486 - is unfortunately incompatible. To author this mod, I essentially had to rewrite that mod from scratch in Redscript, adjust some things, and then add to it (a lot). Generally speaking, I would say that if you want something dependable and simple, go with Better Loot Markers. And if you want something a bit more varied, try this. If you happen to ignore this and install both, this mod will notice and disable itself.
Requirements
- ArchiveXL - https://www.nexusmods.com/cyberpunk2077/mods/4198
- Codeware (v1.12.9+) - https://www.nexusmods.com/cyberpunk2077/mods/7780
- Redscript - https://www.nexusmods.com/cyberpunk2077/mods/1511
- TweakXL (v1.10.5+, if you downloaded the Over 600 Shuriken optional file) - https://www.nexusmods.com/cyberpunk2077/mods/4197
- Mod Settings (Recommended) - https://www.nexusmods.com/cyberpunk2077/mods/4885
- Over 600 Shuriken (if you downloaded the Over 600 Shuriken optional file) - https://www.nexusmods.com/cyberpunk2077/mods/13542
Credits
- rodikh (for inspiring this and getting in touch about a collaborative effort to bring the features above to life) - https://next.nexusmods.com/profile/rodikh
- psiberx (for scripting help, inspiration to integrate HUD icons somehow, and Codeware/TweakXL updates related to my feedback) - https://next.nexusmods.com/profile/psiberx
- Roms1383 (for help with the attempt to fix the ammo loot icon bug) - https://next.nexusmods.com/profile/Roms1383
- Dravic, from the CP2077 Modding Discord server (for some info on tints--he's the reason you can select Malibu as a rare quality color)
- brahmax, for playtesting
- GhostRdrTat, for playtesting
- manavortex (for an enthusiastic collab on the Over 600 Shuriken optional file) - https://next.nexusmods.com/profile/manavortex
Mod Dev Info: How to assign a custom loot icon to an item
After making your item and your custom loot icon (32x32px and 64x64px, white, with a transparent background), there are but 2-3 simple steps to assigning it to your item, so that Loot Icons Extension utilizes it. We'll go over an extremely modded-CP2077 example: you've made a bikini and you want it to have the bikini icon you've drawn.
Step 1: Your .inkatlas file goes in the following archive folder: base\gameplay\gui\common\icons\Bikini.inkatlas ...
- If you have .xbm files for the textures, you can put them where ever you want. Just refer to their location properly in the .inkatlas file.
Step 2: Your new item will need to include 2-3 tags to be assigned properly. Open your TweakXL file in r6\tweaks\yourmod\ and add them ...
- In step 1, we called your file Bikini.inkatlas, so you'll need to add the tag LootIconsExt_Atlas_Bikini.
- You will also need to add a tag for the TexturePart name. If your texture is "BlueBikini", then you would add the tag LootIconsExt_Part_BlueBikini.
Step 3 (Optional): If you'd like your icon to always be a specific color, regardless of quality ...
- In step 2, we mentioned that the bikini is blue--so you probably want it to have a blue icon--you could add one of two different tags to tint your icon blue: either LootIconsExt_Tint_Blue or LootIconsExt_Tint_0000FF.
- But let's say that you want it to be a specific shade of blue, called "Robin's Egg Blue"--you'll need to strip any punctuation and spaces from the name of the color. The following tag will turn your item's loot icon that color: LootIconsExt_Tint_RobinsEggBlue.
- Loot Icons Extension will accept a tag ending in any 6-digit hex color (often called "HTML colors") or any named color from this site: https://chir.ag/projects/name-that-color
- Lastly, if you want to create a colored icon and skip tinting altogether, do that by including the tag: LootIconsExt_Tint_None
Overview:
- Your .inkatlas file is located in base\gameplay\gui\common\icons
- Your item in your TweakXL file was given the following tags: LootIconsExt_Atlas_Bikini, LootIconsExt_Part_BlueBikini
- Your item also might have one of the following tags to tint its icon: LootIconsExt_Tint_Blue, LootIconsExt_Tint_0000FF, LootIconsExt_Tint_RobinsEggBlue, et al.
You're all done. Very easy stuff.
It's also probably worth mentioning that if you create a new firearm, it could benefit from having both a custom loot icon and a custom HUD icon. If you'd like the item to never show a HUD icon (regardless of the Mod Settings option), you can tag your item with LootIconsExt_SkipHUDIcon.