From ed8125203d29c69554dfaf88fa050934d24fe02e Mon Sep 17 00:00:00 2001 From: Bizzonium Date: Thu, 6 Oct 2022 16:14:33 +0300 Subject: [PATCH] Revert "Hyperscale Guns (#10953)" This reverts commit 2d4f434f3d3ba7cd633871d6e85195713f58c321. --- code/__DEFINES/greyscale_guns.dm | 27 ---- code/controllers/subsystem/greyscale.dm | 11 -- code/datums/greyscale/greyscale_configs.dm | 113 --------------- code/datums/greyscale/json_configs/gun.json | 78 ----------- .../json_configs/gun_attachment.json | 27 ---- .../greyscale/json_configs/gun_held.json | 52 ------- .../greyscale/json_configs/gun_with_belt.json | 129 ------------------ .../greyscale/json_configs/gun_worn.json | 27 ---- .../_item_representation.dm | 16 +-- .../armor_representation.dm | 14 +- .../helmet_representation.dm | 5 + code/game/objects/items.dm | 14 +- code/game/objects/items/storage/belt.dm | 5 +- code/modules/projectiles/gun_attachables.dm | 31 +---- code/modules/projectiles/gun_helpers.dm | 23 ---- code/modules/projectiles/gun_system.dm | 24 +--- code/modules/projectiles/guns/pistols.dm | 8 +- code/modules/projectiles/guns/rifles.dm | 31 +---- code/modules/projectiles/guns/shotguns.dm | 9 +- code/modules/projectiles/guns/smgs.dm | 10 +- .../gun_attachments_greyscale/t35_stock.dmi | Bin 314 -> 0 bytes icons/Marine/gun_greyscale/t12/back.dmi | Bin 759 -> 0 bytes icons/Marine/gun_greyscale/t12/left_hand.dmi | Bin 1172 -> 0 bytes icons/Marine/gun_greyscale/t12/right_hand.dmi | Bin 1159 -> 0 bytes icons/Marine/gun_greyscale/t12/suit.dmi | Bin 747 -> 0 bytes icons/Marine/gun_greyscale/t12/t12.dmi | Bin 674 -> 0 bytes icons/Marine/gun_greyscale/t14/left_hand.dmi | Bin 451 -> 0 bytes icons/Marine/gun_greyscale/t14/right_hand.dmi | Bin 447 -> 0 bytes icons/Marine/gun_greyscale/t14/t14.dmi | Bin 1041 -> 0 bytes icons/Marine/gun_greyscale/t18/back.dmi | Bin 665 -> 0 bytes icons/Marine/gun_greyscale/t18/left_hand.dmi | Bin 977 -> 0 bytes icons/Marine/gun_greyscale/t18/right_hand.dmi | Bin 953 -> 0 bytes icons/Marine/gun_greyscale/t18/suit.dmi | Bin 693 -> 0 bytes icons/Marine/gun_greyscale/t18/t18.dmi | Bin 602 -> 0 bytes icons/Marine/gun_greyscale/t35/back.dmi | Bin 642 -> 0 bytes icons/Marine/gun_greyscale/t35/left_hand.dmi | Bin 852 -> 0 bytes icons/Marine/gun_greyscale/t35/right_hand.dmi | Bin 858 -> 0 bytes icons/Marine/gun_greyscale/t35/suit.dmi | Bin 638 -> 0 bytes icons/Marine/gun_greyscale/t35/t35.dmi | Bin 608 -> 0 bytes icons/Marine/gun_greyscale/t42/back.dmi | Bin 982 -> 0 bytes icons/Marine/gun_greyscale/t42/left_hand.dmi | Bin 1223 -> 0 bytes icons/Marine/gun_greyscale/t42/right_hand.dmi | Bin 1203 -> 0 bytes icons/Marine/gun_greyscale/t42/suit.dmi | Bin 976 -> 0 bytes icons/Marine/gun_greyscale/t42/t42.dmi | Bin 673 -> 0 bytes icons/Marine/gun_greyscale/t90/back.dmi | Bin 576 -> 0 bytes icons/Marine/gun_greyscale/t90/left_hand.dmi | Bin 758 -> 0 bytes icons/Marine/gun_greyscale/t90/right_hand.dmi | Bin 746 -> 0 bytes icons/Marine/gun_greyscale/t90/suit.dmi | Bin 564 -> 0 bytes icons/Marine/gun_greyscale/t90/t90.dmi | Bin 652 -> 0 bytes icons/Marine/marine-weapons.dmi | Bin 24721 -> 24867 bytes icons/mob/items_back_64.dmi | Bin 0 -> 701 bytes icons/mob/items_lefthand_64.dmi | Bin 0 -> 1028 bytes icons/mob/items_righthand_64.dmi | Bin 0 -> 1011 bytes icons/mob/items_suit_slot_64.dmi | Bin 0 -> 707 bytes icons/obj/clothing/belts.dmi | Bin 31656 -> 31669 bytes tgmc.dme | 1 - tools/hyperscale_converter/converter.py | 17 +-- 57 files changed, 46 insertions(+), 626 deletions(-) delete mode 100644 code/__DEFINES/greyscale_guns.dm delete mode 100644 code/datums/greyscale/json_configs/gun.json delete mode 100644 code/datums/greyscale/json_configs/gun_attachment.json delete mode 100644 code/datums/greyscale/json_configs/gun_held.json delete mode 100644 code/datums/greyscale/json_configs/gun_with_belt.json delete mode 100644 code/datums/greyscale/json_configs/gun_worn.json delete mode 100644 icons/Marine/gun_attachments_greyscale/t35_stock.dmi delete mode 100644 icons/Marine/gun_greyscale/t12/back.dmi delete mode 100644 icons/Marine/gun_greyscale/t12/left_hand.dmi delete mode 100644 icons/Marine/gun_greyscale/t12/right_hand.dmi delete mode 100644 icons/Marine/gun_greyscale/t12/suit.dmi delete mode 100644 icons/Marine/gun_greyscale/t12/t12.dmi delete mode 100644 icons/Marine/gun_greyscale/t14/left_hand.dmi delete mode 100644 icons/Marine/gun_greyscale/t14/right_hand.dmi delete mode 100644 icons/Marine/gun_greyscale/t14/t14.dmi delete mode 100644 icons/Marine/gun_greyscale/t18/back.dmi delete mode 100644 icons/Marine/gun_greyscale/t18/left_hand.dmi delete mode 100644 icons/Marine/gun_greyscale/t18/right_hand.dmi delete mode 100644 icons/Marine/gun_greyscale/t18/suit.dmi delete mode 100644 icons/Marine/gun_greyscale/t18/t18.dmi delete mode 100644 icons/Marine/gun_greyscale/t35/back.dmi delete mode 100644 icons/Marine/gun_greyscale/t35/left_hand.dmi delete mode 100644 icons/Marine/gun_greyscale/t35/right_hand.dmi delete mode 100644 icons/Marine/gun_greyscale/t35/suit.dmi delete mode 100644 icons/Marine/gun_greyscale/t35/t35.dmi delete mode 100644 icons/Marine/gun_greyscale/t42/back.dmi delete mode 100644 icons/Marine/gun_greyscale/t42/left_hand.dmi delete mode 100644 icons/Marine/gun_greyscale/t42/right_hand.dmi delete mode 100644 icons/Marine/gun_greyscale/t42/suit.dmi delete mode 100644 icons/Marine/gun_greyscale/t42/t42.dmi delete mode 100644 icons/Marine/gun_greyscale/t90/back.dmi delete mode 100644 icons/Marine/gun_greyscale/t90/left_hand.dmi delete mode 100644 icons/Marine/gun_greyscale/t90/right_hand.dmi delete mode 100644 icons/Marine/gun_greyscale/t90/suit.dmi delete mode 100644 icons/Marine/gun_greyscale/t90/t90.dmi create mode 100644 icons/mob/items_back_64.dmi create mode 100644 icons/mob/items_lefthand_64.dmi create mode 100644 icons/mob/items_righthand_64.dmi create mode 100644 icons/mob/items_suit_slot_64.dmi diff --git a/code/__DEFINES/greyscale_guns.dm b/code/__DEFINES/greyscale_guns.dm deleted file mode 100644 index e9210970526aa..0000000000000 --- a/code/__DEFINES/greyscale_guns.dm +++ /dev/null @@ -1,27 +0,0 @@ -#define GUN_ICONSTATE_LOADED "loaded" -#define GUN_ICONSTATE_UNLOADED "unloaded" -#define GUN_ICONSTATE_UNRACKED "unracked" - - -#define GUN_PALETTE_TAN "#3F382E#61574A#978872" -#define GUN_PALETTE_RED "#531D1D#8A3D3D#9F5547" -#define GUN_PALETTE_DARK_RED "#361E1E#532F36#65373F" -#define GUN_PALETTE_PINK "#4B2641#7E4970#915477" -#define GUN_PALETTE_SILVER "#686868#8F8F8F#C1C1C1" -#define GUN_PALETTE_DRAB "#363021#444732#665F44" -#define GUN_PALETTE_BLACK "#121212#272727#393939" -#define GUN_PALETTE_BROWN "#3D321F#4E3B32#5F4C3A" -#define GUN_PALETTE_BLUE "#27262C#363942#5C6164" - - -#define GUN_PALETTE_LIST list( \ - "Tan" = GUN_PALETTE_TAN, \ - "Red" = GUN_PALETTE_RED, \ - "Dark Red" = GUN_PALETTE_DARK_RED, \ - "Pink" = GUN_PALETTE_PINK, \ - "Silver" = GUN_PALETTE_SILVER, \ - "Drab" = GUN_PALETTE_DRAB, \ - "Black" = GUN_PALETTE_BLACK, \ - "Brown" = GUN_PALETTE_BROWN, \ - "Gun Metal Blue" = GUN_PALETTE_BLUE, \ -) diff --git a/code/controllers/subsystem/greyscale.dm b/code/controllers/subsystem/greyscale.dm index a4544c66057ff..de933bb8e276f 100644 --- a/code/controllers/subsystem/greyscale.dm +++ b/code/controllers/subsystem/greyscale.dm @@ -28,17 +28,6 @@ SUBSYSTEM_DEF(greyscale) cache_list(helmet.colorable_colors, helmet.greyscale_config) qdel(helmet) - for(var/obj/item/weapon/gun/gun_type AS in subtypesof(/obj/item/weapon/gun)) - if(!initial(gun_type.greyscale_config)) - continue - var/obj/item/weapon/gun/gun = new gun_type() - cache_list(gun.colorable_colors, gun.greyscale_config) - for(var/key in gun.item_icons) - if(!ispath(gun.item_icons[key], /datum/greyscale_config)) - continue - cache_list(gun.colorable_colors, gun.item_icons[key]) - qdel(gun) - return ..() ///Proc built to handle cacheing the nested lists of armor colors found in code/modules/clothing/modular_armor diff --git a/code/datums/greyscale/greyscale_configs.dm b/code/datums/greyscale/greyscale_configs.dm index ccafdb19995d3..beed282c3a2d2 100644 --- a/code/datums/greyscale/greyscale_configs.dm +++ b/code/datums/greyscale/greyscale_configs.dm @@ -244,119 +244,6 @@ json_config = 'code/datums/greyscale/json_configs/projectiles.json' icon_file = 'icons/obj/items/projectiles.dmi' - - -///Guns -//AR-12 -/datum/greyscale_config/gun - icon_file = 'icons/Marine/gun_greyscale/t12/t12.dmi' - json_config = 'code/datums/greyscale/json_configs/gun.json' - -/datum/greyscale_config/gun/worn - icon_file = 'icons/Marine/gun_greyscale/t12/back.dmi' - json_config = 'code/datums/greyscale/json_configs/gun_worn.json' - -/datum/greyscale_config/gun/worn/suit - icon_file = 'icons/Marine/gun_greyscale/t12/suit.dmi' - -/datum/greyscale_config/gun/worn/l_hand - icon_file = 'icons/Marine/gun_greyscale/t12/left_hand.dmi' - json_config = 'code/datums/greyscale/json_configs/gun_held.json' - -/datum/greyscale_config/gun/worn/r_hand - icon_file = 'icons/Marine/gun_greyscale/t12/right_hand.dmi' - json_config = 'code/datums/greyscale/json_configs/gun_held.json' - -//AR-18 - -/datum/greyscale_config/gun/t18 - icon_file = 'icons/Marine/gun_greyscale/t18/t18.dmi' - -/datum/greyscale_config/gun/worn/t18 - icon_file = 'icons/Marine/gun_greyscale/t18/back.dmi' - -/datum/greyscale_config/gun/worn/suit/t18 - icon_file = 'icons/Marine/gun_greyscale/t18/suit.dmi' - -/datum/greyscale_config/gun/worn/l_hand/t18 - icon_file = 'icons/Marine/gun_greyscale/t18/left_hand.dmi' - -/datum/greyscale_config/gun/worn/r_hand/t18 - icon_file = 'icons/Marine/gun_greyscale/t18/right_hand.dmi' - -//MG-42 -/datum/greyscale_config/gun/t42 - icon_file = 'icons/Marine/gun_greyscale/t42/t42.dmi' - -/datum/greyscale_config/gun/worn/t42 - icon_file = 'icons/Marine/gun_greyscale/t42/back.dmi' - -/datum/greyscale_config/gun/worn/suit/t42 - icon_file = 'icons/Marine/gun_greyscale/t42/suit.dmi' - -/datum/greyscale_config/gun/worn/l_hand/t42 - icon_file = 'icons/Marine/gun_greyscale/t42/left_hand.dmi' - -/datum/greyscale_config/gun/worn/r_hand/t42 - icon_file = 'icons/Marine/gun_greyscale/t42/right_hand.dmi' - -//P-14 - -/datum/greyscale_config/gun/t14 - icon_file = 'icons/Marine/gun_greyscale/t14/t14.dmi' - json_config = 'code/datums/greyscale/json_configs/gun_with_belt.json' - -/datum/greyscale_config/gun/t14/l_hand - icon_file = 'icons/Marine/gun_greyscale/t14/left_hand.dmi' - json_config = 'code/datums/greyscale/json_configs/gun_held.json' - -/datum/greyscale_config/gun/t14/r_hand - icon_file = 'icons/Marine/gun_greyscale/t14/right_hand.dmi' - json_config = 'code/datums/greyscale/json_configs/gun_held.json' - - -//SMG-90 - -/datum/greyscale_config/gun/t90 - icon_file = 'icons/Marine/gun_greyscale/t90/t90.dmi' - -/datum/greyscale_config/gun/worn/t90 - icon_file = 'icons/Marine/gun_greyscale/t90/back.dmi' - -/datum/greyscale_config/gun/worn/suit/t90 - icon_file = 'icons/Marine/gun_greyscale/t90/suit.dmi' - -/datum/greyscale_config/gun/worn/l_hand/t90 - icon_file = 'icons/Marine/gun_greyscale/t90/left_hand.dmi' - -/datum/greyscale_config/gun/worn/r_hand/t90 - icon_file = 'icons/Marine/gun_greyscale/t90/right_hand.dmi' - -//SG-35 - -/datum/greyscale_config/gun/t35 - icon_file = 'icons/Marine/gun_greyscale/t35/t35.dmi' - -/datum/greyscale_config/gun/worn/t35 - icon_file = 'icons/Marine/gun_greyscale/t35/back.dmi' - -/datum/greyscale_config/gun/worn/suit/t35 - icon_file = 'icons/Marine/gun_greyscale/t35/suit.dmi' - -/datum/greyscale_config/gun/worn/l_hand/t35 - icon_file = 'icons/Marine/gun_greyscale/t35/left_hand.dmi' - -/datum/greyscale_config/gun/worn/r_hand/t35 - icon_file = 'icons/Marine/gun_greyscale/t35/right_hand.dmi' - - - - -///Gun attachments -/datum/greyscale_config/gun_attachment - icon_file = 'icons/Marine/gun_attachments_greyscale/t35_stock.dmi' - json_config = 'code/datums/greyscale/json_configs/gun_attachment.json' - /* * MECHS */ diff --git a/code/datums/greyscale/json_configs/gun.json b/code/datums/greyscale/json_configs/gun.json deleted file mode 100644 index a96a87bbbbcd2..0000000000000 --- a/code/datums/greyscale/json_configs/gun.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "loaded": [ - { - "type": "icon_state", - "icon_state": "gun_1", - "blend_mode": "overlay", - "color_ids": [ 1 ] - }, - { - "type": "icon_state", - "icon_state": "gun_2", - "blend_mode": "overlay", - "color_ids": [ 2 ] - }, - { - "type": "icon_state", - "icon_state": "gun_3", - "blend_mode": "overlay", - "color_ids": [ 3 ] - }, - { - "type": "icon_state", - "icon_state": "gun_uncolored", - "blend_mode": "overlay" - } - ], - "unloaded" : [ - { - "type": "icon_state", - "icon_state": "gun_1", - "blend_mode": "overlay", - "color_ids": [ 1 ] - }, - { - "type": "icon_state", - "icon_state": "gun_2", - "blend_mode": "overlay", - "color_ids": [ 2 ] - }, - { - "type": "icon_state", - "icon_state": "gun_3", - "blend_mode": "overlay", - "color_ids": [ 3 ] - }, - { - "type": "icon_state", - "icon_state": "gun_uncolored_e", - "blend_mode": "overlay" - } - ], - "unracked" : [ - { - "type": "icon_state", - "icon_state": "gun_1", - "blend_mode": "overlay", - "color_ids": [ 1 ] - }, - { - "type": "icon_state", - "icon_state": "gun_2", - "blend_mode": "overlay", - "color_ids": [ 2 ] - }, - { - "type": "icon_state", - "icon_state": "gun_3", - "blend_mode": "overlay", - "color_ids": [ 3 ] - }, - { - "type": "icon_state", - "icon_state": "gun_uncolored_u", - "blend_mode": "overlay" - } - ] - -} diff --git a/code/datums/greyscale/json_configs/gun_attachment.json b/code/datums/greyscale/json_configs/gun_attachment.json deleted file mode 100644 index 772fdc503a29e..0000000000000 --- a/code/datums/greyscale/json_configs/gun_attachment.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "": [ - { - "type": "icon_state", - "icon_state": "color_1", - "blend_mode": "overlay", - "color_ids": [ 1 ] - }, - { - "type": "icon_state", - "icon_state": "color_2", - "blend_mode": "overlay", - "color_ids": [ 2 ] - }, - { - "type": "icon_state", - "icon_state": "color_3", - "blend_mode": "overlay", - "color_ids": [ 3 ] - }, - { - "type": "icon_state", - "icon_state": "uncolored", - "blend_mode": "overlay" - } - ] -} diff --git a/code/datums/greyscale/json_configs/gun_held.json b/code/datums/greyscale/json_configs/gun_held.json deleted file mode 100644 index e6e97857a75e6..0000000000000 --- a/code/datums/greyscale/json_configs/gun_held.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "": [ - { - "type": "icon_state", - "icon_state": "mob_1", - "blend_mode": "overlay", - "color_ids": [ 1 ] - }, - { - "type": "icon_state", - "icon_state": "mob_2", - "blend_mode": "overlay", - "color_ids": [ 2 ] - }, - { - "type": "icon_state", - "icon_state": "mob_3", - "blend_mode": "overlay", - "color_ids": [ 3 ] - }, - { - "type": "icon_state", - "icon_state": "mob_uncolored", - "blend_mode": "overlay" - } - ], - "wielded": [ - { - "type": "icon_state", - "icon_state": "mob_1_w", - "blend_mode": "overlay", - "color_ids": [ 1 ] - }, - { - "type": "icon_state", - "icon_state": "mob_2_w", - "blend_mode": "overlay", - "color_ids": [ 2 ] - }, - { - "type": "icon_state", - "icon_state": "mob_3_w", - "blend_mode": "overlay", - "color_ids": [ 3 ] - }, - { - "type": "icon_state", - "icon_state": "mob_uncolored_w", - "blend_mode": "overlay" - } - ] -} diff --git a/code/datums/greyscale/json_configs/gun_with_belt.json b/code/datums/greyscale/json_configs/gun_with_belt.json deleted file mode 100644 index 165773011c4e5..0000000000000 --- a/code/datums/greyscale/json_configs/gun_with_belt.json +++ /dev/null @@ -1,129 +0,0 @@ -{ - "loaded": [ - { - "type": "icon_state", - "icon_state": "gun_1", - "blend_mode": "overlay", - "color_ids": [ 1 ] - }, - { - "type": "icon_state", - "icon_state": "gun_2", - "blend_mode": "overlay", - "color_ids": [ 2 ] - }, - { - "type": "icon_state", - "icon_state": "gun_3", - "blend_mode": "overlay", - "color_ids": [ 3 ] - }, - { - "type": "icon_state", - "icon_state": "gun_uncolored", - "blend_mode": "overlay" - } - ], - "unloaded" : [ - { - "type": "icon_state", - "icon_state": "gun_1", - "blend_mode": "overlay", - "color_ids": [ 1 ] - }, - { - "type": "icon_state", - "icon_state": "gun_2", - "blend_mode": "overlay", - "color_ids": [ 2 ] - }, - { - "type": "icon_state", - "icon_state": "gun_3", - "blend_mode": "overlay", - "color_ids": [ 3 ] - }, - { - "type": "icon_state", - "icon_state": "gun_uncolored_e", - "blend_mode": "overlay" - } - ], - "unracked" : [ - { - "type": "icon_state", - "icon_state": "gun_1", - "blend_mode": "overlay", - "color_ids": [ 1 ] - }, - { - "type": "icon_state", - "icon_state": "gun_2", - "blend_mode": "overlay", - "color_ids": [ 2 ] - }, - { - "type": "icon_state", - "icon_state": "gun_3", - "blend_mode": "overlay", - "color_ids": [ 3 ] - }, - { - "type": "icon_state", - "icon_state": "gun_uncolored_u", - "blend_mode": "overlay" - } - ], - "belt" : [ - { - "type": "icon_state", - "icon_state": "gun_belt_1", - "blend_mode": "overlay", - "color_ids": [ 1 ] - }, - { - "type": "icon_state", - "icon_state": "gun_belt_2", - "blend_mode": "overlay", - "color_ids": [ 2 ] - }, - { - "type": "icon_state", - "icon_state": "gun_belt_3", - "blend_mode": "overlay", - "color_ids": [ 3 ] - }, - { - "type": "icon_state", - "icon_state": "gun_belt_uncolored", - "blend_mode": "overlay" - } - ], - "belt_empty" : [ - { - "type": "icon_state", - "icon_state": "gun_belt_1", - "blend_mode": "overlay", - "color_ids": [ 1 ] - }, - { - "type": "icon_state", - "icon_state": "gun_belt_2", - "blend_mode": "overlay", - "color_ids": [ 2 ] - }, - { - "type": "icon_state", - "icon_state": "gun_belt_3", - "blend_mode": "overlay", - "color_ids": [ 3 ] - }, - { - "type": "icon_state", - "icon_state": "gun_belt_uncolored_e", - "blend_mode": "overlay" - } - ] - - -} diff --git a/code/datums/greyscale/json_configs/gun_worn.json b/code/datums/greyscale/json_configs/gun_worn.json deleted file mode 100644 index 321154fc82726..0000000000000 --- a/code/datums/greyscale/json_configs/gun_worn.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "": [ - { - "type": "icon_state", - "icon_state": "mob_1", - "blend_mode": "overlay", - "color_ids": [ 1 ] - }, - { - "type": "icon_state", - "icon_state": "mob_2", - "blend_mode": "overlay", - "color_ids": [ 2 ] - }, - { - "type": "icon_state", - "icon_state": "mob_3", - "blend_mode": "overlay", - "color_ids": [ 3 ] - }, - { - "type": "icon_state", - "icon_state": "mob_uncolored", - "blend_mode": "overlay" - } - ] -} diff --git a/code/datums/loadout/item_representation/_item_representation.dm b/code/datums/loadout/item_representation/_item_representation.dm index b768a73013fa6..9c3819a604e98 100644 --- a/code/datums/loadout/item_representation/_item_representation.dm +++ b/code/datums/loadout/item_representation/_item_representation.dm @@ -8,16 +8,11 @@ var/obj/item/item_type /// If it's allowed to bypass the vendor check var/bypass_vendor_check = FALSE - /// If the item is able to be greyscaled, saves the colors - var/greyscale_colors /datum/item_representation/New(obj/item/item_to_copy) if(!item_to_copy) return item_type = item_to_copy.type - if(!item_to_copy.greyscale_config) - return - greyscale_colors = item_to_copy.greyscale_colors /** * This will attempt to instantiate an object. @@ -36,11 +31,6 @@ to_chat(user, span_warning("[item_type] in your loadout is an invalid item, it has probably been changed or removed.")) return var/obj/item/item = new item_type(master) - - if(greyscale_colors) - item.set_greyscale_colors(greyscale_colors) - item.update_icon() - return item /** @@ -48,11 +38,7 @@ */ /datum/item_representation/proc/get_tgui_data() var/list/tgui_data = list() - var/icon/icon_to_convert - if(greyscale_colors) - icon_to_convert = icon(SSgreyscale.GetColoredIconByType(initial(item_type.greyscale_config), greyscale_colors), initial(item_type.icon_state), dir = SOUTH) - else - icon_to_convert = icon(initial(item_type.icon), initial(item_type.icon_state), SOUTH) + var/icon/icon_to_convert = icon(initial(item_type.icon), initial(item_type.icon_state), SOUTH) tgui_data["icons"] = list(list( "icon" = icon2base64(icon_to_convert), "translateX" = NO_OFFSET, diff --git a/code/datums/loadout/item_representation/armor_representation.dm b/code/datums/loadout/item_representation/armor_representation.dm index dc83fbc6f9f68..184e54143e14a 100644 --- a/code/datums/loadout/item_representation/armor_representation.dm +++ b/code/datums/loadout/item_representation/armor_representation.dm @@ -130,13 +130,25 @@ * This is only able to representate items of type /obj/item/armor_module/armor */ /datum/item_representation/armor_module/colored + ///The color of that armor module + var/greyscale_colors /datum/item_representation/armor_module/colored/New(obj/item/item_to_copy) if(!item_to_copy) return if(!ismodulararmorarmorpiece(item_to_copy)) CRASH("/datum/item_representation/armor_module created from an item that is not a jaeger armor piece") - return ..() + ..() + greyscale_colors = item_to_copy.greyscale_colors + +/datum/item_representation/armor_module/colored/instantiate_object(datum/loadout_seller/seller, master = null, mob/living/user) + . = ..() + if(!.) + return + var/obj/item/armor_module/armor/armor = . + if(greyscale_colors) + armor.set_greyscale_colors(greyscale_colors) + armor.update_icon() /datum/item_representation/armor_module/storage ///Storage repressentation of storage modules. diff --git a/code/datums/loadout/item_representation/helmet_representation.dm b/code/datums/loadout/item_representation/helmet_representation.dm index 50aa66ae9f8e7..6c2e636047f66 100644 --- a/code/datums/loadout/item_representation/helmet_representation.dm +++ b/code/datums/loadout/item_representation/helmet_representation.dm @@ -3,6 +3,8 @@ * This is only able to representate items of type /obj/item/clothing/head/modular */ /datum/item_representation/modular_helmet + ///The color of the helmet + var/greyscale_colors ///The attachments installed. var/list/datum/item_representation/armor_module/attachments = list() ///Icon_state suffix for the saved icon_state varient. @@ -24,6 +26,7 @@ attachments += new /datum/item_representation/armor_module/storage(helmet_to_copy.attachments_by_slot[key]) continue attachments += new /datum/item_representation/armor_module(helmet_to_copy.attachments_by_slot[key]) + greyscale_colors = helmet_to_copy.greyscale_colors /datum/item_representation/modular_helmet/instantiate_object(datum/loadout_seller/seller, master = null, mob/living/user) . = ..() @@ -33,6 +36,8 @@ modular_helmet.current_variant = (current_variant in modular_helmet.icon_state_variants) ? current_variant : initial(modular_helmet.current_variant) for(var/datum/item_representation/armor_module/armor_attachement AS in attachments) armor_attachement.install_on_armor(seller, modular_helmet, user) + if(greyscale_colors) + modular_helmet.set_greyscale_colors(greyscale_colors) modular_helmet.update_icon() /datum/item_representation/modular_helmet/get_tgui_data() diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index bfc08f66faa21..e1693f576b661 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -1219,16 +1219,14 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out. return icon_override //2: species-specific sprite sheets. - var/icon = LAZYACCESS(sprite_sheets, species_type) - if(icon && !inhands) - return icon + . = LAZYACCESS(sprite_sheets, species_type) + if(. && !inhands) + return //3: slot-specific sprite sheets - icon = LAZYACCESS(item_icons, slot_name) - if(ispath(icon, /datum/greyscale_config)) - return SSgreyscale.GetColoredIconByType(icon, greyscale_colors) - if(icon) - return icon + . = LAZYACCESS(item_icons, slot_name) + if(.) + return //5: provided default_icon if(default_icon) diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 83ee6274ed35a..4cf45426ee3c6 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -685,10 +685,7 @@ sure that we don't have to do any extra calculations. */ playsound(src,drawSound, 15, 1) - if(current_gun.greyscale_config && current_gun.greyscale_colors) - gun_underlay = image(SSgreyscale.GetColoredIconByType(current_gun.greyscale_config, current_gun.greyscale_colors), current_gun.rounds ? "belt" : "belt_empty") - else - gun_underlay = image(icon, src, current_gun.icon_state) + gun_underlay = image(icon, src, current_gun.icon_state) icon_state += "_g" item_state = icon_state underlays += gun_underlay diff --git a/code/modules/projectiles/gun_attachables.dm b/code/modules/projectiles/gun_attachables.dm index 0a65b387f1157..cb3934dca245e 100644 --- a/code/modules/projectiles/gun_attachables.dm +++ b/code/modules/projectiles/gun_attachables.dm @@ -30,12 +30,6 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. ///Determines the amount of pixels to move the icon state for the overlay. in the y direction var/pixel_shift_y = 16 - - greyscale_config = null - greyscale_colors = GUN_PALETTE_TAN - ///List of palettes a greyscaled attachment is allowed to use for its furniture - var/list/colorable_colors = GUN_PALETTE_LIST - flags_atom = CONDUCT materials = list(/datum/material/metal = 100) w_class = WEIGHT_CLASS_SMALL @@ -146,28 +140,6 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. . = ..() AddElement(/datum/element/attachment, slot, icon, .proc/on_attach, .proc/on_detach, .proc/activate, .proc/can_attach, pixel_shift_x, pixel_shift_y, flags_attach_features, attach_delay, detach_delay, attach_skill, attach_skill_upper_threshold, attach_sound) -/obj/item/attachable/attackby(obj/item/I, mob/user, params) - . = ..() - if(!istype(I, /obj/item/facepaint)) - return - if(isnull(greyscale_config)) - to_chat(user, span_warning("[src] cannot be colored.")) - return - var/obj/item/facepaint/paint = I - if(paint.uses < 1) - balloon_alert(user, "\the [paint] is out of color!") - return - - var/new_color = tgui_input_list(user, "Pick a color", "Pick color", colorable_colors) - new_color = colorable_colors[new_color] - - if(!new_color || !do_after(user, 1 SECONDS, TRUE, src, BUSY_ICON_GENERIC)) - return - - set_greyscale_colors(new_color) - paint.uses-- - update_icon() - ///Called when the attachment is attached to something. If it is a gun it will update the guns stats. /obj/item/attachable/proc/on_attach(attaching_item, mob/user) @@ -1006,13 +978,12 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. /obj/item/attachable/stock/t35stock name = "\improper SH-35 stock" desc = "A non-standard heavy stock for the SH-35 shotgun. Less quick and more cumbersome than the standard issue stakeout, but reduces recoil and improves accuracy. Allegedly makes a pretty good club in a fight too." - flags_attach_features = ATTACH_REMOVABLE|ATTACH_SAME_ICON + flags_attach_features = ATTACH_REMOVABLE wield_delay_mod = 0.2 SECONDS icon_state = "t35stock" accuracy_mod = 0.15 recoil_mod = -3 scatter_mod = -2 - greyscale_config = /datum/greyscale_config/gun_attachment /obj/item/attachable/stock/t39stock name = "\improper SH-39 stock" diff --git a/code/modules/projectiles/gun_helpers.dm b/code/modules/projectiles/gun_helpers.dm index c3beb6aacf22d..4a1ab6a25cd92 100644 --- a/code/modules/projectiles/gun_helpers.dm +++ b/code/modules/projectiles/gun_helpers.dm @@ -26,29 +26,6 @@ /obj/item/weapon/gun/attackby(obj/item/I, mob/user, params) . = ..() - if(istype(I, /obj/item/facepaint)) - if(isnull(greyscale_config)) - to_chat(user, span_warning("[src] cannot be colored.")) - return - var/obj/item/facepaint/paint = I - if(paint.uses < 1) - balloon_alert(user, "\the [paint] is out of color!") - return - - var/new_color = tgui_input_list(user, "Pick a color", "Pick color", colorable_colors) - new_color = colorable_colors[new_color] - - if(!new_color || !do_after(user, 1 SECONDS, TRUE, master_gun ? master_gun : src, BUSY_ICON_GENERIC)) - return - - set_greyscale_colors(new_color) - paint.uses-- - update_icon() - master_gun?.update_icon() - if(ishuman(loc)) - var/mob/living/carbon/human/holder = loc - holder.regenerate_icons() - return if(user.get_inactive_held_item() != src || istype(I, /obj/item/attachable) || isgun(I)) return reload(I, user) diff --git a/code/modules/projectiles/gun_system.dm b/code/modules/projectiles/gun_system.dm index 087d8a6bd62bd..6b7ec38ab35c1 100644 --- a/code/modules/projectiles/gun_system.dm +++ b/code/modules/projectiles/gun_system.dm @@ -22,14 +22,6 @@ light_range = 0 light_color = COLOR_WHITE -/* - * Greyscale vars -*/ - greyscale_config = null - greyscale_colors = GUN_PALETTE_TAN - ///List of palettes a greyscaled gun is allowed to use for its furniture - var/list/colorable_colors = GUN_PALETTE_LIST - /* * Muzzle Vars */ @@ -469,13 +461,13 @@ if(CHECK_BITFIELD(reciever_flags, AMMO_RECIEVER_TOGGLES_OPEN) && !CHECK_BITFIELD(reciever_flags, AMMO_RECIEVER_CLOSED)) icon_state = base_gun_icon + "_o" else if(CHECK_BITFIELD(reciever_flags, AMMO_RECIEVER_REQUIRES_UNIQUE_ACTION) && !in_chamber && length(chamber_items)) - icon_state = !greyscale_config ? base_gun_icon + "_u" : GUN_ICONSTATE_UNRACKED + icon_state = base_gun_icon + "_u" else if((!length(chamber_items) && max_chamber_items) || !rounds) - icon_state = !greyscale_config ? base_gun_icon + "_e" : GUN_ICONSTATE_UNLOADED + icon_state = base_gun_icon + "_e" else if(current_chamber_position <= length(chamber_items) && chamber_items[current_chamber_position] && chamber_items[current_chamber_position].loc != src) icon_state = base_gun_icon + "_l" else - icon_state = !greyscale_config ? base_gun_icon : GUN_ICONSTATE_LOADED + icon_state = base_gun_icon //manages the overlays for the gun - separate from attachment overlays /obj/item/weapon/gun/update_overlays() @@ -500,19 +492,13 @@ /obj/item/weapon/gun/update_item_state() if(!CHECK_BITFIELD(flags_gun_features, GUN_SHOWS_AMMO_REMAINING)) - if(CHECK_BITFIELD(flags_item, WIELDED)) - item_state = !greyscale_config ? "[base_gun_icon]_w" : "wielded" - else - item_state = !greyscale_config ? base_gun_icon : "" + item_state = "[base_gun_icon][flags_item & WIELDED ? "_w" : ""]" return //If the gun has item states that show how much ammo is remaining var/current_state = item_state var/cell_charge = (!length(chamber_items) || rounds <= 0) ? 0 : CEILING((rounds / max((length(chamber_items) ? max_rounds : max_shells), 1)) * 100, 25) - if(CHECK_BITFIELD(flags_item, WIELDED)) - item_state = !greyscale_config ? "[initial(icon_state)]_[cell_charge]_w" : "wielded" - else - item_state = !greyscale_config ? "[initial(icon_state)]_[cell_charge]" : "" + item_state = "[initial(icon_state)]_[cell_charge][flags_item & WIELDED ? "_w" : ""]" if(current_state != item_state && ishuman(gun_user)) var/mob/living/carbon/human/human_user = gun_user if(src == human_user.l_hand) diff --git a/code/modules/projectiles/guns/pistols.dm b/code/modules/projectiles/guns/pistols.dm index 7e498eb1eefdb..defa44dd12596 100644 --- a/code/modules/projectiles/guns/pistols.dm +++ b/code/modules/projectiles/guns/pistols.dm @@ -46,12 +46,8 @@ name = "\improper P-14 pistol" desc = "The P-14, produced by Terran Armories. A reliable sidearm that loads 9x19mm Parabellum Auto munitions. Capable of mounting a limited amount of attachments, and firing at a respectable rate of fire, often as fast as you can pull the trigger. Takes 14-round 9mm magazines." icon = 'icons/Marine/gun64.dmi' - icon_state = GUN_ICONSTATE_LOADED + icon_state = "tp14" item_state = "tp14" - item_icons = list( - slot_l_hand_str = /datum/greyscale_config/gun/t14/l_hand, - slot_r_hand_str = /datum/greyscale_config/gun/t14/r_hand, - ) caliber = CALIBER_9X19 //codex max_shells = 21 //codex fire_sound = 'sound/weapons/guns/fire/tp14.ogg' @@ -70,8 +66,6 @@ upper_akimbo_accuracy = 5 lower_akimbo_accuracy = 4 - greyscale_config = /datum/greyscale_config/gun/t14 - //------------------------------------------------------- //PP-7 Plasma Pistol /obj/item/weapon/gun/pistol/plasma_pistol diff --git a/code/modules/projectiles/guns/rifles.dm b/code/modules/projectiles/guns/rifles.dm index a667561ff2b1f..8c05984e92844 100644 --- a/code/modules/projectiles/guns/rifles.dm +++ b/code/modules/projectiles/guns/rifles.dm @@ -29,14 +29,8 @@ name = "\improper AR-18 Kauser carbine" desc = "The Kauser and Hoch AR-18 carbine is one of the standard rifles used by the TerraGov Marine Corps. It's commonly used by people who prefer greater mobility in combat, like scouts and other light infantry. Uses 10x24mm caseless ammunition." icon = 'icons/Marine/gun64.dmi' - icon_state = GUN_ICONSTATE_LOADED + icon_state = "t18" item_state = "t18" - item_icons = list( - slot_l_hand_str = /datum/greyscale_config/gun/worn/l_hand/t18, - slot_r_hand_str = /datum/greyscale_config/gun/worn/r_hand/t18, - slot_back_str = /datum/greyscale_config/gun/worn/t18, - slot_s_store_str = /datum/greyscale_config/gun/worn/suit/t18, - ) fire_sound = "gun_t12" dry_fire_sound = 'sound/weapons/guns/fire/m41a_empty.ogg' unload_sound = 'sound/weapons/guns/interact/t18_unload.ogg' @@ -93,8 +87,6 @@ damage_falloff_mult = 0.9 movement_acc_penalty_mult = 4 - greyscale_config = /datum/greyscale_config/gun/t18 - /obj/item/weapon/gun/rifle/standard_carbine/pointman starting_attachment_types = list(/obj/item/attachable/lasersight, /obj/item/attachable/flashlight) @@ -117,14 +109,8 @@ name = "\improper AR-12 K&H assault rifle" desc = "The Keckler and Hoch AR-12 assault rifle used to be the TerraGov Marine Corps standard issue rifle before the AR-18 carbine replaced it. It is, however, still used widely despite that. The gun itself is very good at being used in most situations however it suffers in engagements at close quarters and is relatively hard to shoulder than some others. It uses 10x24mm caseless ammunition." icon = 'icons/marine/gun64.dmi' - icon_state = GUN_ICONSTATE_LOADED + icon_state = "t12" item_state = "t12" - item_icons = list( - slot_l_hand_str = /datum/greyscale_config/gun/worn/l_hand, - slot_r_hand_str = /datum/greyscale_config/gun/worn/r_hand, - slot_back_str = /datum/greyscale_config/gun/worn, - slot_s_store_str = /datum/greyscale_config/gun/worn/suit, - ) fire_sound = "gun_t12" dry_fire_sound = 'sound/weapons/guns/fire/m41a_empty.ogg' unload_sound = 'sound/weapons/guns/interact/t18_unload.ogg' @@ -181,7 +167,6 @@ damage_falloff_mult = 0.5 placed_overlay_iconstate = "t12" - greyscale_config = /datum/greyscale_config/gun /obj/item/weapon/gun/rifle/standard_assaultrifle/rifleman starting_attachment_types = list(/obj/item/attachable/reddot, /obj/item/attachable/extended_barrel, /obj/item/weapon/gun/grenade_launcher/underslung) @@ -685,10 +670,10 @@ desc = "The Kauser MG-42 is the TGMC's current standard non-IFF-capable LMG. It's known for its ability to lay down heavy fire support very well. It is generally used when someone wants to hold a position or provide fire support. It uses 10x24mm ammunition." icon = 'icons/Marine/gun64.dmi' item_icons = list( - slot_l_hand_str = /datum/greyscale_config/gun/worn/l_hand/t42, - slot_r_hand_str = /datum/greyscale_config/gun/worn/r_hand/t42, - slot_back_str = /datum/greyscale_config/gun/worn/t42, - slot_s_store_str = /datum/greyscale_config/gun/worn/suit/t42, + slot_l_hand_str = 'icons/mob/items_lefthand_64.dmi', + slot_r_hand_str = 'icons/mob/items_righthand_64.dmi', + slot_back_str = 'icons/mob/items_back_64.dmi', + slot_s_store_str = 'icons/mob/items_suit_slot_64.dmi', ) worn_x_dimension = 64 @@ -696,7 +681,7 @@ inhand_x_dimension = 64 inhand_y_dimension = 32 - icon_state = GUN_ICONSTATE_LOADED + icon_state = "t42" item_state = "t42" caliber = CALIBER_10X24_CASELESS //codex max_shells = 120 //codex @@ -748,8 +733,6 @@ scatter = 2 scatter_unwielded = 80 - greyscale_config = /datum/greyscale_config/gun/t42 - //------------------------------------------------------- //MG-60 General Purpose Machine Gun diff --git a/code/modules/projectiles/guns/shotguns.dm b/code/modules/projectiles/guns/shotguns.dm index 333de3dcb1b8e..102c3da498e95 100644 --- a/code/modules/projectiles/guns/shotguns.dm +++ b/code/modules/projectiles/guns/shotguns.dm @@ -603,14 +603,8 @@ desc = "The Terran Armories SH-35 is the shotgun used by the TerraGov Marine Corps. It's used as a close quarters tool when someone wants something more suited for close range than most people, or as an odd sidearm on your back for emergencies. Uses 12 gauge shells.\nRequires a pump, which is the Unique Action key." icon = 'icons/Marine/gun64.dmi' flags_equip_slot = ITEM_SLOT_BACK - icon_state = GUN_ICONSTATE_LOADED + icon_state = "t35" item_state = "t35" - item_icons = list( - slot_l_hand_str = /datum/greyscale_config/gun/worn/l_hand/t35, - slot_r_hand_str = /datum/greyscale_config/gun/worn/r_hand/t35, - slot_back_str = /datum/greyscale_config/gun/worn/t35, - slot_s_store_str = /datum/greyscale_config/gun/worn/suit/t35, - ) cock_animation = "t35_pump" default_ammo_type = /datum/ammo/bullet/shotgun/buckshot fire_sound = 'sound/weapons/guns/fire/t35.ogg' @@ -645,7 +639,6 @@ cock_delay = 14 placed_overlay_iconstate = "t35" - greyscale_config = /datum/greyscale_config/gun/t35 //buckshot variants /obj/item/weapon/gun/shotgun/pump/t35/pointman diff --git a/code/modules/projectiles/guns/smgs.dm b/code/modules/projectiles/guns/smgs.dm index f0af47e3cce63..980571493b42e 100644 --- a/code/modules/projectiles/guns/smgs.dm +++ b/code/modules/projectiles/guns/smgs.dm @@ -90,14 +90,8 @@ desc = "The SMG-90 is the TerraGov Marine Corps standard issue SMG. Its known for it's compact size and ease of use inside the field. It's usually carried by troops who want a lightweight firearm to rush with. It uses 10x20mm caseless rounds." icon = 'icons/Marine/gun64.dmi' fire_sound = 'sound/weapons/guns/fire/t90.ogg' - icon_state = GUN_ICONSTATE_LOADED + icon_state = "t90" item_state = "t90" - item_icons = list( - slot_l_hand_str = /datum/greyscale_config/gun/worn/l_hand/t90, - slot_r_hand_str = /datum/greyscale_config/gun/worn/r_hand/t90, - slot_back_str = /datum/greyscale_config/gun/worn/t90, - slot_s_store_str = /datum/greyscale_config/gun/worn/suit/t90, - ) caliber = CALIBER_10X20_CASELESS //codex max_shells = 50 //codex flags_equip_slot = ITEM_SLOT_BACK @@ -138,7 +132,7 @@ lower_akimbo_accuracy = 2 placed_overlay_iconstate = "t90" - greyscale_config = /datum/greyscale_config/gun/t90 + /obj/item/weapon/gun/smg/standard_smg/breacher starting_attachment_types = list(/obj/item/attachable/magnetic_harness) diff --git a/icons/Marine/gun_attachments_greyscale/t35_stock.dmi b/icons/Marine/gun_attachments_greyscale/t35_stock.dmi deleted file mode 100644 index 6b4fda7cf3926680e2df31d95456a844b3cd6276..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|ep#Yx{*8>L*NJ&YltE>P2|KHNm zG9e+Mv+PR|P?oVI$S;_|;n|HeAg87(B%;J6wK%ybv!En1KaYW-Voq>aK~d@VFTn*L zzdq6O*3~+9=6vvmP=kxc4<6~9_t8AbP}I}A!@@Yo__DE=!kkBwj!X(s2wrKTZ)vZ- zU&GY3v)fp8^9l)#v=c{XhE16+i^uxd&jSx4SQJ_V&B*v z*eiL&9_S7~PZ!4!kIv)-307ww4$cLf2GY!pj7{%fHMoi!GqRrf;mdHd@knUk0sVg8 zMn>j3))k+4oMz<7ur5vz31D6D#4Ig&%b8BahVb7S5<3|f+<&l7oDwmG6KFDnr>mdK II;Vst0B_86UH||9 diff --git a/icons/Marine/gun_greyscale/t12/back.dmi b/icons/Marine/gun_greyscale/t12/back.dmi deleted file mode 100644 index c7754c5519c7bf1905398a11c8b4a33b2c63fa5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 759 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 Z{{b)O9XeeL$Ljz9002ovPDHLkV1nX(7Lot} diff --git a/icons/Marine/gun_greyscale/t12/suit.dmi b/icons/Marine/gun_greyscale/t12/suit.dmi deleted file mode 100644 index 11255c381cc388a8cebf8176c23488d4e916dacb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 747 zcmVIX@@AC^bcii!&v&s2HS~i!-e#F*g;& zHbhlzNR%ogqEs2gNLX5CGI|m;vt#iDs14DBLNmT zl|%qfsSuT9QIMC~HcutF20}id&%xE3f~VDsb=3vKuH>m7K>_w+dT{}ut7UCqbryI z$uhwb8EiMj4NQP!nc$-)fxYfX7Pz$udiEAYvcT`-1WR)R_`Q`q0m-ty>XY@X*R7KU zZsqg_3=aBMW|)TPpd&49))lgVCSPA)|Ns9b94J8m z0004WQchCV=-0C=2JR&a84_w-Y6@%7{?OD!tS z%+FJ>RWQ*r;NmRLOex6#a?DJ)I5Sc+(=$qd9AhJ{;*!LYR3K9+y)-YrG%qPhuwa^8$=G*Xf{7nuf`mGu<156MbWZuW%6RF_1QqIcSsC6e0&b&32J8RzrN?{Er(j` zJ$Ifzx2|~ymyL9jzBTmOz|9*%OC9~{FAsYUeVAGp-&(nv8(VixeZ#1yFKwj{;W*mS zD4GRf^y^1C$_RM}k&~R>JAhHfw^yjY$Nhu-Jqq04 zqrm+=3f$jUoX(~Q? z5JCtcgpe2De06MMVDkVT%+}2n?jJMo?*3Qk?q8zL2_etM51CgHzfetop#T5?07*qo IM6N<$g8ED{w*UYD diff --git a/icons/Marine/gun_greyscale/t14/left_hand.dmi b/icons/Marine/gun_greyscale/t14/left_hand.dmi deleted file mode 100644 index 3de1f9c769d4580489625af6cc6dbddc85fe89e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 451 zcmV;!0X+VRP)6C^0t`#5P1#ZHQ21h+CBrQL2oI zQU!Nkd^vG0L{^8-jYO(5#;s0S!PUJ{~S!6pv%^XE>=1T!^9JrgXpOrrlM3pbY8tke{G^Acm#}YQ4A(3lDgP zrXRiT-(vs({26^pXtyvWv`h1ZSs1r7>rW_#4&xI(ZNQ)a0Qe5$z92L13lj6bAl0q= tg4KG{z92TR?+YTmo^Kfg0002+dk;kj4i)K-Ltg*@002ovPDHLkV1ix8v_Jp= diff --git a/icons/Marine/gun_greyscale/t14/right_hand.dmi b/icons/Marine/gun_greyscale/t14/right_hand.dmi deleted file mode 100644 index 1d84e73fc4f0596ce88962b0a3bb72215fa9ec08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 447 zcmV;w0YLtVP)6C^0t`#5P1#ZHQ21h+CBrQL2oI zQU!Nkd^vG0L{^8-jYO(5#;s0S!PUhtMd1PSpHrhP)t-sz`(#7 z8XG4kCmI?W6%`d79UeJ3IbdjOh?|;VU|V=-0C=2JR&a84_w-Y6@%7{?OD!tS%+FJ>RWQ*r;NmRLOex6#a?DJ)I5Sc+(=$qd z9AhJ{;*!LYR3K9+y)-YrG%q(*1K~#90?VF8m>M#t2)7WXbWk206l=pwr8)pStxRa7NEMz*LstKW;#K*B| z3#l;x006)*ptE;x5&wX;gkEsAv(_?s*vhMLSbDU!gg%VX2i!0WJ9+KG(f_$m&G*{T zv(fJN`{4)lVGO&_IVahma9G<%82DZ**?7EuJID=52JW59i3CL@ETEv z<1 z0gQ_IwR&skdA42t{EE2?=*eFY`W0|Vw?F^@000000001Z3Qj`pAT*p-fAaj$r}&L86bX1Z$h)xcSG{Wg3f?j zC7f(d6K?e`!@yGhnJaKjICXuFfvrBnfKcS7ipiHxMiXxI-7fFUqW@liX9^{h-h^fJ zYW%$H7a*evH+sbiDvIY1mXMhalT#T8`idnq9en_b3b!mUo;;C^9%^NVvK6ncA${?P=fs&_K1poj50000003e=!Ob{m7IS6C^0t`#5P1# zZAg?VBcfCp<5H!p;OgfB_7DK(Y&^yo*WZ}{00EszL_t(&f$f$}PQx$|h3&XfAgdB1 zbsJNl+qeR{ZOIKd0w8nbX*svq_{u^Uh)bV_{k;Em6xoL!5xKi zjykY$T}){PaED)aupRLd=o^FG^tT@&gWW->$MFr)?R}9~t!_(Dpr7RRHZP4Wkio@+ zv1YH|+A%0l&w77Z^%Sk&OioW*J%<-bnYnE%p@CXC-NG4+baxJ@zs)h$-CfmrjS5mj zjlBY0zIRWXoV_7~vl{R03_hJc`9KBd>*#usdj1o*LwvnRXDIYYUV04Z8BTBq1;qu> zQ+iwz+ySjh&^Q-<2k0uV$sk1?O#B&u9b`>2fCjxo^bJslV$q{3GLW#q_UOv{RbHZk zsz)C|TZS1hUx9qq#C0b$4c5DSNY64CVI4$=8-zMz7=~dO=1BPcfMFPhVVKh+@b~ZX zA)Q_jn!o8mV}|i*eguc~UZj6C2owy-fEha9w7fcsnS;z%00000NkvXXu0mjfCkGxn diff --git a/icons/Marine/gun_greyscale/t18/left_hand.dmi b/icons/Marine/gun_greyscale/t18/left_hand.dmi deleted file mode 100644 index bba38739ed7d0a5d9634109efb5aa0b46089f18d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 977 zcmV;?11|iDP)l}Ng^U5NJvOIIXNLAAvicVGBPqJCnp*j8d+IcC@3ha+p9&TMHLkl|NsAnhK5{W zWWd0{Kik@d00001bW%=J06^y0W&i*Hje1mAbVOxyV{&P5bZKvH004NLQ&w zIX@@AC^bcii!&v&s2HS~i!-e#F*g;&HbhlzNR%ogqEs0Zr3&u8_;TW0NTfO=BGnn= zR;R4s>gNIucmM}%ZFkZY+G79!0;)+wK~#90?c9rYqA(DEVN-W(XS`th{tw$E>KYM3 z2;gP+|9W~VFqtGkZO<58tpET3X6HWEH{0tEH`r!97%?`mp8MlulWcFq?-^*b88}`S zTIcgibZyBFTdRD1<{QQMftYiE4Mk0(vNdgWVk@<6LEEk9K(`ECyWyS^Ls!#w!!_BEIxbwTG&RMkv7 zpM-8Adym*Dfwu0V^3)TAPFB{e%mzEjJlBWTjsLTEGlLPSCvfGzVKV%mou)CxsgI>2 z=<{9006*$Az2k(xIldIb^N0=CmL2Rt4f$cvdT9u2Nt_dtcgvYG0;v< z#7x82_fO+D#Dz7p$=ctr@Yh_jk~YlDPpM%2?L&zAlW%5?KdXKkhy8hPdIjX}o(UIh z>31WH<}ZRj*OzhsU9bFl1MSuM)`Pe5FU&v}ew)YA!t>3u$1u&}?-T+600000SU^(J zxIP?Tynnb@fe#Ntb>45B>-DFDx5fJyzU)VIREQP$@E}y@o1gDkt&bJ>yW)L_vi3)h zJl&}R9~}Hx{i%=j`cQ#y7w=C|Qga2CTzh)GwL^uz`}HS{h1bj0%hvxieJ!fx9ZKKX z`urOd@8fGcnZqw%ycd@r;L8{92W#^b?*RY+0001h*&SOyr)SFVn$NMSk4$))uq630 zDoC6*DTx9A000000002x(t`bM@g4vG059VgNzoQyGZm5O00000NkvXXu0mjf6KA_i diff --git a/icons/Marine/gun_greyscale/t18/right_hand.dmi b/icons/Marine/gun_greyscale/t18/right_hand.dmi deleted file mode 100644 index b523446cd42bdf2b661aae344a457f9acb0a3ea9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 953 zcmV;q14jIbP) zIX@@AC^bcii!&v&s2HS~i!-e#F*g;&HbhlzNR%ogqEs0Zr3&u8_;TW0NTfO=BGnn= zR;R4s>gNIucmM}%ZFkZY+G79!0+LBYK~#90?c9rU>L3t+;aIw7xAhX+_kY*|@o1{S zfCMko|LZt530XjB?QD^*0{{T1wR&?!<=xwAB1m>^MRnzP7x%BE2fnntUj!+rub{3h zx-$9r%r5@2lYDn3GLm zv+}7)ZVxOy1+E71?avK~SxMOjrRg82Dk! zcD;W~o9=<-{jD(>B(%TNK3=>7U-`sYSN03!R}fe5gS9WJCQ#)+UhxP0U{oR=oKA>J>qWptY*-iToQSyo>)SMZsT`Kh`qOd2@2R~` zoF-RDKY)KRhgHGboo~2*wR=_n)E~}@{T_}k&M0}N5%|BT+0P5H?Dg$!KZ|gi`j0O> z*2}kF8-GNlweY*;(QT;m;;%md00000_}eB^^rJ0Z+V1XhySO1o_+~0ae>kwP?Z~jf z!c%4EqmZJHExJh2$LxGO{Ql}g20xT~s_cApOwo7eDf*b54+nlA{H5JcsxCXqxhA diff --git a/icons/Marine/gun_greyscale/t18/suit.dmi b/icons/Marine/gun_greyscale/t18/suit.dmi deleted file mode 100644 index b87f085b67bd4214fb3c81357ce8c7fbc99624e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 693 zcmV;m0!safP)6C^0t`#5P1# zZAg?VBcfCp<5H!p;OgfB_7DK(Y&^yo*WZ}{00Fs4L_t(&f$f$}PQx$|h2vmUsjCtS z*~Y?BVOJ^+kfw{SIRZDJoS@KK?yaVoQLoUN~l{_ zpjB@Vmb8T0GcBmrf9;_D3+-+Gn=PTU?mnc;iu~tV&l84~#ru$S+L{er z%Di$0c?Jz^_e$#@gyDXJ4eXhHg8tw}J-o%{*E2w~OC6X$%0W-KQ5$w=S`>7k z_zuuEXayZ8z5~pLuZEhH2RmxfgAT&7qr4y$)Gg^?5BdhQg4#1MSceHE7=ZR@H0XVi zU;^sSpnybpgEYK6s67{~tswjZ#?D{AAdfm)aE@LvKUi=Knu&P5Gmdp82!bF8!l^KZ zE9M8dn2r_>8_NMhp#1Wz8$ALG$HWbSi0+7fXaqqxdyam<5Cn?*L3hL-q@x+QL2z~k b!rAf-sjWWJC4-DK00000NkvXXu0mjfxZyD7 diff --git a/icons/Marine/gun_greyscale/t18/t18.dmi b/icons/Marine/gun_greyscale/t18/t18.dmi deleted file mode 100644 index 147c2bb4eff3602c888e07723ccd5f6031339fdf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 602 zcmV-g0;TV=-0C=2JR&a84_w-Y6@%7{?OD!tS%+FJ>RWQ*r;NmRL zOex6#a?DJ)I5Sc+(=$qd9AhJ{;*!LYR3K9+y)-YrG%qZq}6oy|NvauwzJJ`+vFl0yOu}4*WhOV7@hn^*u$N_SwqCi!Z7(XM_rF!22 z;Imm9Xhu~#7-)ozxX{^lp2zLkn2zPd_c;B9bf7F zq&hq;_khEKtrO;1!$xbZ=6vGwKeWX-Ow9N^>=UK+%+XOEgf&fY0p*JtgC3Hw7g?Q$ z51>$X-F`?`24EP5`G)L&3hMtLu#@V43bOwx$o{7w`~MeLPXem{@7#t<>U)J|xX$+f zuyGij-g+i6qWb^p%RVL0|EV|ogi!xS1qk(j8WAAe|1kj=hG7`y5Af9Y;~MIrcL704 o3?=KG97+sW9e{)yz%Xn10#JovW-6z7XaE2J07*qoM6N<$f)4KpC;$Ke diff --git a/icons/Marine/gun_greyscale/t35/back.dmi b/icons/Marine/gun_greyscale/t35/back.dmi deleted file mode 100644 index f1481e279a6384b0977e6c701d9b4ff16dc2b8f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 642 zcmV-|0)737P)6C^0t`#5P1# zZAg?VBcfCp<5H!p;OgfB_7DK(Y&^yo*WZ}{00D+cL_t(&f$f*QPQx$|fbA6V)2WG3 z)NY9?G1rL@YvC1mft0OtpMXbTVfM^ZQVH^Nm%GS`E485eCOdcj?qa)DL4Q4Uxa~#SRUoi?pafA$ zJ^fi=;3lTzMVg^99hL@6wIyq5gEq09?x8^0cS>-JvO0nl7JO2IJ6_Q1;KNJMGO>e} zJ=&hp9W0?ha~*J}5S4KS1xXcIvDs#NR8z!X7HPrzsqtr_?inbtd z?0^#VI^em=sHdomAe@9boVoD^u*7wIylkjUC*F8~A!1VIpjaDnUP@4p}j cg78=Q2D!;JbKynhYXATM07*qoM6N<$f*Wxhh5!Hn diff --git a/icons/Marine/gun_greyscale/t35/left_hand.dmi b/icons/Marine/gun_greyscale/t35/left_hand.dmi deleted file mode 100644 index 04a9dd5f194a90377ef28ea322725569dd21ec74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 852 zcmV-a1FQUrP)b&Xjdbn00001bW%=J06^y0W&i*H zje1mAbVOxyV{&P5bZKvH004NLQ&wIX@@AC^bcii!&v&s2HS~i!-e#F*g;& zHbhlzNR%ogqEs0Zr3&u8_;TW0NTfO=BGnn=R;R4s>gNIucmM}%ZFkZY+G79!0!2wg zK~#90?b^L^oG=gv@I9R!&rlu5q}K^9lXM3=lbX>J#D0XN@Ee#uUD{MBsd>ss;^W`| z8$7z=JpbQ}IU(d-LAC5a1ONc=acl->;`I8m-Rk&TP7F!+p(0Y@lhVV4htEWIMa=e; zGi?w(?&Z=1QS@9CKTjl7Bt@zYVKlfL?@iv!Ecq3g&2Q50Me!1wogA{I37#@#Xkt#K zh?qHX_tjoLFrS3BOR^tC_pu!%a?8A5nm}Z1qpCkjNukug`Vnnqb6Kfxzs=)e&fJz` zH`HJMDz!AhU1FAsoRa!f)16D3pBG3oNg{Czv^JTO{$-=8O8a9D!P2bjlrC@?)PGkK z*aYPj6I}5T0RR910C-W_LsQ{fK~=e*(ZZ@b3dPvYTzL~j85V@hbgZStn!MX9>&9qJJZ7e+`xM+M2a_ihf0`SY#)8+K^ z*m&XF%E@Rmkx4LVoe7SrH z_u)!+Huw3;L|c1pk|x4?L%g92i>em@0001PTzMXjKVR_}oaSFJ%8S9maQ>mZ2LJ#7 e0002^sQv>LE@CPR{l|p>0000b&5TdcQ00001bW%=J06^y0W&i*H zje1mAbVOxyV{&P5bZKvH004NLQ&wIX@@AC^bcii!&v&s2HS~i!-e#F*g;& zHbhlzNR%ogqEs0Zr3&u8_;TW0NTfO=BGnn=R;R4s>gNIucmM}%ZFkZY+G79!0!v9m zK~#90?V3H3oG=iD1u}`Eh4BG~rfOq`UR-vzuDQTeaRHYdZ0g7yz>#Ao4i$4sO9EyY z{>;>B*Y?)?f&scUuN$JLE(rku006u)ZpMKy9|eMih3jy9FJxt){bi!$yO`~bJiIke zhJx%PWp=d?A9v#hW|1l9B79fZ-_rCllg2wvtVXdjb+U)L{+yWRgY?!cE=*^KY*T@R z$TVvx?#@B?E)@}_w!ndCFDttwyBFe3VeiU3B-(8%!2E-)78U0=maag_znE=|`TbAx zd5ALCa^Y^P58s)$6tJy|$mno&>I0E0brR(uU_QDmU7)H=x)icouG~-4%u4HxEv%uH z6H<%0Cl}DmIpw3ks>Vuj0000000905+Ws_+?w>oi-`U!E=RZs-J(qlpDqBGftZ;j; z+CaC#7-^_MYkh-*!ovoaUHqE!zm5eVAG-$t0002IDD9-RooWZqpdTN(>c`(9<-*Nf zFxfOb-vkkz$KS`SdxLiH?T6v`TW0$%$o>ip$KO%uQ5SeZ zFQ?SS<%&Pfh^%QWD8b$X00030A&&;XwfB>AEl(pCvN!l4*;6c~F|N{|zG*+`4Ste5 z)b*D%zVZ1I(x~+Y|CrgU-Kzv13pnfD8hn|N+fKAmpG3kL{K#sH(=ZvG~+q+ zpHWk}xq~Yg1MRDr{fn1_E1lF8WdQ&H0002^x0!XfD`#3f715&w{k~#y&}FNjZ}hWQ k00000000000Kg0L8`rgIH6-7+r2qf`07*qoM6N<$g7j~MSpWb4 diff --git a/icons/Marine/gun_greyscale/t35/suit.dmi b/icons/Marine/gun_greyscale/t35/suit.dmi deleted file mode 100644 index 2121b663330d8ee3eb0823a9b6d644ed72043a73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 638 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 diff --git a/icons/Marine/gun_greyscale/t42/right_hand.dmi b/icons/Marine/gun_greyscale/t42/right_hand.dmi deleted file mode 100644 index f6b3c5594fa08cd008e6248091d13fd71a584335..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1203 zcmV;k1WfyhP)=8d+IcC@3ha+p9&TMOfFDZ*Bkpc$`yKaB_9`^iy#0_2eo` zEh^5;&r`5fFwryM;w;ZhDainG%uKjAGg33tGfIFQV6C^0t`#5P1#ZAg?VBcfCp6Qv67zW8$DTu7ukBO=uq<5s7v z;OgfB4tM|#RBe35tA2R^00WOnL_t(|obBCPg<&Bfk((jB|I1dAO>m%0ywW;Z z!~b=rVJ5nqY<$U}rg9Dd006+ulZ6qLLbMFygU;MD!HYv^O)VejIYjLWPPwAWE1-4e$V2##n?}Qjub&2# zznYJCLCf+GO>u7x>7@6ed>c~!{IE1comu;`ohuqeZ>Z1hwNoq$vBu2P-_o2(~ctrKjhk$>MlB>VtFV2`;2J&@P-U^=G-P+_mu7f{(1P7L+a|OMHk|q z8#SB)?vmkBk=rx->z<;SuVZ{Izyq{rP)J`cCY?icYtLXIJpcdz00000004|z<6D=5 za9Gt0e2o126oEP)b&l|9fu00001 zbW%=J06^y0W&i*HfO=F|bVOxyV{&P5bZKvH004NLQ&wZ-_6+fMpa7w~Cca!`F6 zzk%nMws=*j3clos^yirF5}NE4egmI!P))<$LStxetVGaV(JpNu@rA@Lu=D`7qqLPI zG7rh;Q7D7ZRyu%z*gh1LM``sFc>^DEUN*=iE{j=U4s3E*e2fNU(uOdSK~TPyY3DU4EV;AIr4y1{x)QxIchr5R}K`t+5n>@*DBKgZ@(C z?Iuv=w_`f{1LM^H9YYEs#)h$(^-N=pr9nOj0pZ5l31r}GIU!tn140NPgb+dqG5vuC zLwW=Lc!Q-51Rc-8$^TwQAMrv65{Z|SQ5p;|>30Gd=uLV9LI@#*5JHH*K>BZs^aei3 yZbSJCAp}DD)hBq%KMFF?8yOHn2qAfFDZ*Bkpc$`yKaB_9`^iy#0_2eo`Eh^5;&r`5fFwryM z;w;ZhDainG%uKjAGg33tGfIFQVaRa3qnKyUOibXJC=&T$4CtzpPDAQlt~a^+Lu#plbn54IOh(jF1?kDk@lq@(zeFdM zrZSu8`2#c8V|j+&pVdK1=Et{JCFPC1WGZELq|eRDqtke3gJITsqO~o+brm~Zov4!< zGaHuK)BBwpo4F0V)BRe1{_yLhlrh>?Sm}iub75QL>|~u(L3B;VEYtgS1>2%gNBY7> zpH8YtJQ&MccQb3Y?noc4KReWk-GoFdnfIpC=}zi>-3G6|t;G33YA@}&-Dj)E-6Q|sQdPcO(Em4xP1sL> z{NL4fvGgZE{_j?m?T>JZ|Chn9VIQCWi|~tpIi~?HqH6*QzDSWsfogxr+-EyU00000NkvXX Hu0mjfyL2-7 diff --git a/icons/Marine/gun_greyscale/t90/back.dmi b/icons/Marine/gun_greyscale/t90/back.dmi deleted file mode 100644 index 4ca00a952a581aeb4a362ac3b7451eb8546558b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 576 zcmV-G0>Ax^DIXNdMCtzS;tJ|v*5)wtFMUjI@#I%Nzghs=&g%K4Nz`($k-Lvoj z0004WQchCV=-0C=2JR&a84_w-Y6@%7{?OD!tS z%+FJ>RWQ*r;NmRLOex6#a*U0*I5Sc+(=$pSoZ^zil2jm5DK|eUzBDg6KPSH^HARVw zGbOXA7^IntGp#5wHx@jB%+_R&e!m0ec7lC0000pP)t-sz`(#K zCnsQFU^zKCt)6Zb6&10eZjyvX5)u-`w1yNG8W9y1MWscn+p8KH8bw7#z`(%n`I%(^ z0004WQchCV=-0C=2JR&a84_w-Y6@%7{?OD!tS z%+FJ>RWQ*r;NmRLOex6#a*U0*I5Sc+(=$pSoZ^zil2jm5DK|eUzBDg6KPSH^HARVw zGbOXA7^IntGp#5wHx@jEPbOcVB!taV|twhtG{fsx!u|PFca# z&jlRt0R0DTWfc*+rvLx})Ja4^RCt{2nG0`&Fbss_xGrwl{e7@e6Us5N4*~m1BnA0IxZ?gjAoUzZA|6F10Dr ziB`uv20W$9T$?bg-#G}OsZNsIf#zDTf6XGb`XqX5Qj3e2WaaFC@}cb}3CBrb0f&+l1!O4HC~>Gk^2 z+E@?>>S&5uk7Ln6Rr-Oba3tOHXU}FwmbqD{U^PHqqK|3(A0gya4dg{05; z)J|?c^Z(ZDZPG69>2ROQXTx3o--=Er@Zc$?}Y5)KL07*qoM6N<$g1sJ8c>n+a diff --git a/icons/Marine/gun_greyscale/t90/right_hand.dmi b/icons/Marine/gun_greyscale/t90/right_hand.dmi deleted file mode 100644 index 98b335f33854d98adb988238d89289cd06b7047b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 746 zcmVC0000pP)t-sz`(#K zCnsQFU^zKC6%`e&o^FzaMzNu8#I%MI5)u>^8W9y1tJ|wZr9~PV8bw7#z`(%jgc|<< z0004WQchCV=-0C=2JR&a84_w-Y6@%7{?OD!tS z%+FJ>RWQ*r;NmRLOex6#a*U0*I5Sc+(=$pSoZ^zil2jm5DK|eUzBDg6KPSH^HARVw zGbOXA7^IntGp#5wHx@jEPbOcVB!taV|twhtG{fsx!u|PFca# z&jlRt0R0DTWfc*+rvLx}$Vo&&RCt{2n(J=EAPj|L?51(E%lp6WY|?3Jf+@ME*{1WU z>JPxj22!a9(scj;0Ko5nUJy}LORM#k5i2C-Ly4K!RghOJHoIlwPRpd!2v1n zE$#}6lh{2o000000Pt^c>-MsLr^WoDdP)Um8vCIivNhl7ezuXU0{gg06&ceB6}-K( zk&+(>jVlgx4nxR1s~;ZFUIV%jv(B8P`#AGAkY}ziX#fBK0001hodo_~sCFxPX#S$V z7gCj@Dq#K$lwyCMZ|a0?z^0V$)_*k3K?end{yvSlnS{6b?#Cz!4{;>&_dL?w`yXL_ zxgrz!d-3-cXw8cx6^Ozs^vU1r@)}hAZuX;-9Y-%suD#~(bNiVGZ~y=R0000000000 c0Pr{Y0<0qk9`bsE^Z)<=07*qoM6N<$f<}5o%m4rY diff --git a/icons/Marine/gun_greyscale/t90/suit.dmi b/icons/Marine/gun_greyscale/t90/suit.dmi deleted file mode 100644 index d279526b87183c52808ddfc195e4204abd8eab34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 564 zcmV-40?Yl0P))@CtzS;tJ|v*5)wtFMUjI@#I%Nzghs=&g%K4Nz`(%&@7F&7 z0004WQchCV=-0C=2JR&a84_w-Y6@%7{?OD!tS z%+FJ>RWQ*r;NmRLOex6#a*U0*I5Sc+(=$pSoZ^zil2jm5DK|eUzBDg6KPSH^HARVw zGbOXA7^IntGp#5wHx@jB%+_R&e!m0ec7l#RW+JQME&HRIAw^UD3e^76v+Sn1 zwH~FKQQB`X%Rvg+1+yG(P%6eL|H$EdnkF*ys~jz;KNNYd1ONaK0JC*RIEZb-{+@yy zU2usmxTz7J*X{$F5Ufg}w+ z2=ON^G{4?gLi5x6A`shi{AP_{Cg-vLB;s5`(7#qi_EEO2Le&`%47$us$VOg4p5JCvq z!Ktdti@Qwky;t?45m3DZ?}C{HZ+eMdf(D!J&X0A_r+4|Z3gLFUmn(R+vde*b^s(m8 z`dUas0n>TSg!@~$Or4dTIqT9d6-@eh)1uEE1f2-#!_rGWzRLOf9NmT_yF11g-akptG{{f`ulKLAs mq=Gf?sJlf?F8s`W_Mpn`HoU#$uZqj1i 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 H)?xnxAa%z2 delta 4365 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 diff --git a/icons/mob/items_back_64.dmi b/icons/mob/items_back_64.dmi new file mode 100644 index 0000000000000000000000000000000000000000..4338bc63c56887cd7a7dac275d9e2907019feb25 GIT binary patch literal 701 zcmV;u0z&fFDZ*Bkpc$`yKaB_9`^iy#0_2eo` zEh^5;&r`5fFwryM;w;ZhDainG%uKjAGg33tGfIFQVYCm3IOX$80}w;m%;!50lrB@K~!jg?U-Ax!ypVqZ4=7S zclW>9YtnAOqmfeSmjB>`0S6zmZylcF(8)ZS5THeUGLNl`;`fb+Z+7ZK1Tgxk`bpp9 z0Hu8Pkp$R8@pC!I_@hA37XhFGaA3tR9jQJxc!=VMW2>xxA1i*7JJ@n{mlfSgS<|Ad23?fa|RcAo~;L>7RG>>K5om0^osX zXR4ay6y_E57YQKBS>zSq093<|2C(Mi=nQ~*k%&rR0GLGlfb8NTGe7{SZb44v_5&aQ zT=gK@y8>b{M+4-0K)D5tS&b6l*g-A--w&xCU}lr*0m=^u^#JJyblo}O2ef*i?gu`4 zK)3}(Kk(55vQtR-fwvwI5m0{Mtp_9}l=A~i4`gGn0AT#Ut_RL4LqYg~r3d^HQv+ai zKd=C9SHLuyqV5OQ7IfUFX^Ii!2e$sqwq69l_<;rR$~;K6fbjzfkQYJplw#WR9Y9r! zIe_6ZQOEd!%)c@NgdgykZN2CWP<|jYAau3FQnERgwG&i#`~z@ZXTY`RM*}Q9pxgqc jL6!ngpXo~RH~WDC0000#P)t-sz`(#@ zU|^SsaydCUVOL5gCnp*j8Wj~47Z(?XhK5{WWGE;oMWscn+p9k~E{S|+9v&VW8yg}b zA|W9mSy@>EsLbU60004WQchCV=-0C=2JR&a84 z_w-Y6@%7{?OD!tS%+FJ>RWQ*r;NmRLOex6#a?DJ)I5Sc+(=$qd9AhJ{;*!LYR3KBS z#Kb7RT#1V_C9|j)q=}0&ttc@!6~s0~QH4v5vVyCh3)pG^mpCIne00)-0008_NkluKC~N&tx$AOe2-Uabi*$z1wA*XGW= zE<(CiK&z>7-&X|?ffwZ2%L~!4*^&gvxztSovGBTtaIG8a*AlmCV`?6*d;i1AzidUm z-R&UN8A!0(vGWJJb^duHh*x&YM*vF-cMbq`2A5S zp*=Hq`SO;y&t9*-xwRK&Fx%xnWef5P16#OAyL|aT+s&ZO_6Zrxboo!&g3hIuE!-N= zE?*tsZx&L}kEo_%6Wp=|jZn=NZX;cqVkHEM3Px@)*X2*xLT6_S_ft8I<-v*y&W>J> zy5y7fC$0U09=n|oII)FxLJ({r6bgkxp-?E~slMz@>+ehNn?D!R6*fZ2o(^&;+-@GK z*FW&urPv$N7eY7^w~G7voA|WnUXYGn`4bG>@1x}*0=aXIgF|xe>p4G|l3z`@ z+KXi0gPe=;6!bDy!x+Eazaf+$PQSwsgtwYTASTblpJOExuj2Ec@99Szm;!p%|Kz{{ z+=oJ;P$={P*_eQT7`MO3je!n&6}7O-*Wm`Va4XW%9hY31ASfg-poOUec^T~Yov-;5 z43|L7K|mbXiO(4=EXl2sd*+GE4wj*Xdk1nwYmDTG7El~m8w*dgfV5RkU>xO#76@UJ z*T%^>q6OrcaF@O^Iq*XZQUIbN!3+)@(Ly&u$0CnqRXgxR3zMkT|7PQe7AA4)x_n=> yFm+JV=C0000#P)t-sz`(#@ zU|^SsaydCUVOL5gCnp*j8Wj~4Tw!E}hK3gx7e6>ItJ|wZr9~(xC>t9a9v&Wvd}kse zA|W9mSy@?VqfTT10004WQchCV=-0C=2JR&a84 z_w-Y6@%7{?OD!tS%+FJ>RWQ*r;NmRLOex6#a?DJ)I5Sc+(=$qd9AhJ{;*!LYR3KBS z#Kb7RT#1V_C9|j)q=}0&ttc@!6~s0~QH4v5vVyCh3)pG^mpCIne00)-0008!Nkl5@!RgKvL<#suzWB*iSOM}!vt*G8=+d^kX3 z&hL`UyiF4bg+ifFC=?2Xeu-?1z>zH27=agAurPvZj5GH&(lLVZ*J_L-Ua*fmGJ;OQ z2ySFR?0EOF-*H!7P20)9Lw82dDHy?x4BQOaX*eEg)!NCxECFEz)my~~>aT3ri%0$( z&zgb^%pyH8g07JfR5HLe6)KFLU&A#gFger~T_C}f(QB`1yb2ZO&Hail+s+7_=z^UQ z1YHP)LZMJ76bh}O&!q6+{m^T)IRlTmpdY+S+TlbV8CYQvXOMUvZ1)xmN(O29 zrHS_?KnDcc@CiOo!(-m*>4uk(LM3}mwg67Vu^m;#xD7$HHQWqgN)nGq83 z_$1>yEX{3@K)R{qGQJTK@G@S;cX@hlf&|s&p#9&LZ)Ji6Y`)7!Fv6+lP!>qQ#(U}O z!Jz~eNFbdtyA&di66hg;7(&j)0w;fr+L(a}Cp5)vg9Mcfyrna3g9Pqm;7bNevEM)j ho}w>9f*=E0{R4o55)HxhhMWKZ002ovPDHLkV1g5jy8i$G literal 0 HcmV?d00001 diff --git a/icons/mob/items_suit_slot_64.dmi b/icons/mob/items_suit_slot_64.dmi new file mode 100644 index 0000000000000000000000000000000000000000..6231a151dd43f348d699a4e754b0ca67c366d5b3 GIT binary patch literal 707 zcmV;!0zCbRP)fFDZ*Bkpc$`yKaB_9`^iy#0_2eo` zEh^5;&r`5fFwryM;w;ZhDainG%uKjAGg33tGfIFQVYCm3IOX$80}w;m%;!50mMl}K~!jg?U-9`!!Qg4Nl|jv zdFTF@E#>sH2+GB_M$q!xGRJz*8k)UDc*f5UdG)pyWq@cpfIiCkC&B0{fTbUZQHQ=r z0ZQM~hZMjDGXL^@f_!!ubW32s%wGVQ1b}Q8hGP`Ie?wRXoY=Zw2HGSj4x0HJLPKCV znWzpiM_Zc+z!0^3^q z^cPa^71{G916tLt>Pi=R1a<|O zm5>1t>V5O246y0FDF6Hy5I3UKdrkfTu-5-;O1%fwUl58->}}WY2_UrVX$8CLJp~}u p`yl!Yrqp}#cB|8S=JS6oJ^ literal 0 HcmV?d00001 diff --git a/icons/obj/clothing/belts.dmi b/icons/obj/clothing/belts.dmi index 84b104589d86b77bf9d824d605faa8c4fd3c92d2..393ca00f643d39e6d9140011af6410adec4d6bd6 100644 GIT binary patch literal 31669 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 diff --git a/tgmc.dme b/tgmc.dme index b3c83a032b64e..c2819a6994a1d 100644 --- a/tgmc.dme +++ b/tgmc.dme @@ -53,7 +53,6 @@ #include "code\__DEFINES\flags.dm" #include "code\__DEFINES\foam.dm" #include "code\__DEFINES\footsteps.dm" -#include "code\__DEFINES\greyscale_guns.dm" #include "code\__DEFINES\implants.dm" #include "code\__DEFINES\instruments.dm" #include "code\__DEFINES\interaction.dm" diff --git a/tools/hyperscale_converter/converter.py b/tools/hyperscale_converter/converter.py index 924e177e156a9..2b97e02f0eaab 100644 --- a/tools/hyperscale_converter/converter.py +++ b/tools/hyperscale_converter/converter.py @@ -1,19 +1,13 @@ from operator import setitem import PIL as pillow from PIL import Image -from PIL import PngImagePlugin -from pathlib import Path import os parentPath = os.path.dirname(os.path.dirname(os.path.dirname(__file__))) #gets the TGMC directory path = input("File path of .dmi (Relative to the repository directory): ") full_path = os.path.join(parentPath, path).replace('\\', '/') try : - image = PngImagePlugin.PngImageFile - image = PngImagePlugin.PngImageFile(full_path) - - metadata = image.info["Description"] - image = image.convert("L") + image = Image.open(full_path).convert("L") except FileNotFoundError : print("File not found.") exit @@ -22,7 +16,7 @@ for x in range(image.size[0]): for y in range(image.size[1]): pixel = image.getpixel((x,y)) - if pixel == 192 or pixel == 0 : continue + if pixel == 192 : continue newset = list() newset.append((x,y)) if pixel in layers.keys() : @@ -42,10 +36,5 @@ pixel = pixelList[i] pixelmap[pixel[0], pixel[1]] = 255 newpath = (os.path.dirname(__file__) + "\\output\\" + str(key) + ".png").replace('\\', '/') - newImage.info.update({"Description":metadata}) - info = PngImagePlugin.PngInfo() - info.add_text("Description", metadata, True) - PngImagePlugin.PngImageFile.save(newImage, newpath, save_all=True, pnginfo=info) - p = Path(newpath) - p.rename(p.with_suffix('.dmi')) + newImage.save(newpath) print("Successfully split file into " + str(len(layers.keys())) + " sprites.")