-
Notifications
You must be signed in to change notification settings - Fork 522
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replace nanoui weapon sprite lineart with spritesheet weapon lineart #5631
Merged
harryob
merged 5 commits into
cmss13-devs:master
from
Drulikar:Spritesheet_Weapon_Lineart
Feb 2, 2024
Merged
Replace nanoui weapon sprite lineart with spritesheet weapon lineart #5631
harryob
merged 5 commits into
cmss13-devs:master
from
Drulikar:Spritesheet_Weapon_Lineart
Feb 2, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
github-actions
bot
added
Sprites
Remove the soul from the game.
UI
deletes nanoui/html
labels
Feb 1, 2024
harryob
approved these changes
Feb 2, 2024
cm13-github
added a commit
that referenced
this pull request
Feb 2, 2024
github-merge-queue bot
pushed a commit
that referenced
this pull request
Feb 19, 2024
# About the pull request This PR is a follow up to #5631 and does several things related to gun icons: - Autowiki now skips mags and guns with no icon_staste set (I did the same for attachments, but none are in this scenario) - Gun lineart now has the no_name sprite as the first sprite so it is used again as the default sprite when no lineart exists - Various gun linearts have been duplicated for sub types that are basically the same icon. - The testing for missing linearts has been fixed to check icon_state instead of base_gun_icon because only a couple guns even assigned base_gun_icon before Initialize - The testing for missing linearts now skips `GUN_UNUSUAL_DESIGN` since they can't be inspected - The unit_test for spritesheets now enforces css requirements. See https://www.w3.org/TR/CSS2/syndata.html#value-def-identifier - The 88m4 has been renamed to _88m4 to comply with css requirements. - Removed the two cases where a base_gun_icon was set in the definition (that would just get reset in Initialize) - Since many guns are now missing sprites in the missing lineart test, the testing error is downgraded to only a debug log until they can all have an exception set or the icons set. Currently all the missing sprites are below: <details> <summary>Missing Sprites in icons/obj/items/weapons/guns/lineart.dmi</summary> - /obj/item/weapon/gun/pistol/np92, icon_state="np92" - /obj/item/weapon/gun/pistol/np92/suppressed, icon_state="npz92" - /obj/item/weapon/gun/pistol/np92/suppressed/tranq, icon_state="npz92" - /obj/item/weapon/gun/pistol/t73, icon_state="tt" - /obj/item/weapon/gun/pistol/t73/leader, icon_state="ttb" - /obj/item/weapon/gun/pistol/clfpistol, icon_state="m43" - /obj/item/weapon/gun/pistol/es4, icon_state="es4" - /obj/item/weapon/gun/energy/rxfm5_eva, icon_state="rxfm5_eva" - /obj/item/weapon/gun/launcher/rocket/anti_tank, icon_state="m83a2" - /obj/item/weapon/gun/launcher/rocket/anti_tank/disposable, icon_state="m83a2" - /obj/item/weapon/gun/launcher/rocket/upp, icon_state="hjra12" - /obj/item/weapon/gun/rifle/m41a/elite/xm40, icon_state="m40sd" - /obj/item/weapon/gun/rifle/m41a/elite/xm40/ap, icon_state="m40sd" - /obj/item/weapon/gun/rifle/nsg23, icon_state="nsg23" - /obj/item/weapon/gun/rifle/nsg23/stripped, icon_state="nsg23" - /obj/item/weapon/gun/rifle/nsg23/no_lock, icon_state="nsg23" - /obj/item/weapon/gun/rifle/nsg23/no_lock/stripped, icon_state="nsg23" - /obj/item/weapon/gun/rifle/mar40/lmg, icon_state="mar50" - /obj/item/weapon/gun/rifle/mar40/lmg/tactical, icon_state="mar50" - /obj/item/weapon/gun/rifle/xm177, icon_state="xm177" - /obj/item/weapon/gun/rifle/xm177/dutch, icon_state="xm177" - /obj/item/weapon/gun/rifle/ar10, icon_state="ar10" - /obj/item/weapon/gun/rifle/m4ra, icon_state="m4ra" - /obj/item/weapon/gun/rifle/m4ra/training, icon_state="m4ra" - /obj/item/weapon/gun/rifle/l42a/abr40, icon_state="abr40" - /obj/item/weapon/gun/rifle/l42a/abr40/tactical, icon_state="abr40_tac" - /obj/item/weapon/gun/rifle/rmc_f90, icon_state="aug" - /obj/item/weapon/gun/rifle/rmc_f90/a_grip, icon_state="aug_com" - /obj/item/weapon/gun/rifle/rmc_f90/scope, icon_state="aug_dmr" - /obj/item/weapon/gun/rifle/rmc_f90/shotgun, icon_state="aug_mkey" - /obj/item/weapon/gun/rifle/m4ra_custom, icon_state="m4ra_custom" - /obj/item/weapon/gun/rifle/sniper/XM43E1, icon_state="xm43e1" - /obj/item/weapon/gun/rifle/sniper/svd, icon_state="type88" - /obj/item/weapon/gun/boltaction, icon_state="boltaction" - /obj/item/weapon/gun/boltaction/vulture, icon_state="vulture" - /obj/item/weapon/gun/boltaction/vulture/skillless, icon_state="vulture" - /obj/item/weapon/gun/lever_action, icon_state="r4t-placeholder" - /obj/item/weapon/gun/lever_action/r4t, icon_state="r4t" - /obj/item/weapon/gun/lever_action/xm88, icon_state="boomslang" - /obj/item/weapon/gun/pkp, icon_state="qjy72" - /obj/item/weapon/gun/revolver/m44/custom/pkd_special, icon_state="lapd_2019" - /obj/item/weapon/gun/revolver/m44/custom/pkd_special/k2049, icon_state="lapd_2049" - /obj/item/weapon/gun/revolver/m44/custom/pkd_special/l_series, icon_state="pkd_double" - /obj/item/weapon/gun/revolver/m44/custom/webley, icon_state="webley" - /obj/item/weapon/gun/revolver/upp, icon_state="zhnk72" - /obj/item/weapon/gun/revolver/upp/shrapnel, icon_state="zhnk72" - /obj/item/weapon/gun/shotgun/combat/riot, icon_state="mp220" - /obj/item/weapon/gun/shotgun/combat/guard, icon_state="mp221" - /obj/item/weapon/gun/shotgun/combat/marsoc, icon_state="mk210" - /obj/item/weapon/gun/shotgun/type23, icon_state="type23" - /obj/item/weapon/gun/shotgun/type23/breacher, icon_state="type23" - /obj/item/weapon/gun/shotgun/type23/breacher/slug, icon_state="type23" - /obj/item/weapon/gun/shotgun/type23/breacher/flechette, icon_state="type23" - /obj/item/weapon/gun/shotgun/type23/dual, icon_state="type23" - /obj/item/weapon/gun/shotgun/type23/dragon, icon_state="type23" - /obj/item/weapon/gun/shotgun/type23/riot_control, icon_state="type23" - /obj/item/weapon/gun/shotgun/double/twobore, icon_state="twobore" - /obj/item/weapon/gun/smartgun/rmc, icon_state="magsg" - /obj/item/weapon/gun/smg/pps43, icon_state="insasu" - /obj/item/weapon/gun/smg/pps43/extended_mag, icon_state="insasu" - /obj/item/weapon/gun/smg/bizon, icon_state="type64" - /obj/item/weapon/gun/smg/bizon/upp, icon_state="type64_u" - /obj/item/weapon/gun/smg/uzi, icon_state="uzi" - /obj/item/weapon/gun/smg/nailgun, icon_state="nailgun" - /obj/item/weapon/gun/smg/nailgun/compact, icon_state="cnailgun" </details> # Explain why it's good for the game Now the 88m4 pistol doesn't show up as the default icon, and instead is the no_name icon: ![image](https://github.com/cmss13-devs/cmss13/assets/76988376/6d02f72b-4a29-48d6-900a-8b7109cd5057) Now spritesheet states that can't be displayed (such as the 88m4 because it starts with a digit) will fail unit tests: ![image](https://github.com/cmss13-devs/cmss13/assets/76988376/180d5834-d873-46b4-9cb8-e4c0ac03d033) but I ensured the rename to _88m4 still works correctly even with the empty state: ![image](https://github.com/cmss13-devs/cmss13/assets/76988376/0b788b37-e993-4c25-af3a-f4f7778034ac) # Testing Photographs and Procedure See above. All "new" sprites are duplicates of existing. # Changelog :cl: Drathek code: Autowiki now skips guns and mags without icon_states code: Unit testing for spritesheets now enforces css requirements for class names imageadd: Gun stats lineart now uses the no_name sprite again for guns without lineart /:cl:
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
About the pull request
This PR finalizes the work Stan started on but didn't finish for the weapon examine stats panels. Now rather than individual sprites in the nano ui weapons folder, the images are loaded from a couple spritesheets. Additionally, when these spritesheets are loaded, they check to ensure all gun subtypes that have a base_gun_icon match with an icon in the sprite sheet. E.g.
All "created" sprites are just the existing images from the nano ui weapons folders.
Explain why it's good for the game
More efficient resource distribution!
Testing Photographs and Procedure
Changelog
🆑 Drathek
ui: Refactored backend for Weapon Stats panel to use spritesheets instead.
/:cl: