From 627130567af185623bd841a5b1f9a4b3866f10a5 Mon Sep 17 00:00:00 2001 From: spookerton Date: Mon, 28 Jun 2021 12:39:23 +0100 Subject: [PATCH 1/2] defines and applies DEFAULT_APPEARANCE_FLAGS PIXEL_SCALE only, but left as a macro to be kind to the future --- code/__defines/_planes+layers.dm | 15 +++++++++++---- code/_onclick/hud/screen_objects.dm | 2 +- code/controllers/subsystems/skybox.dm | 3 +-- code/datums/mutable_appearance.dm | 2 +- code/datums/progressbar.dm | 2 +- code/datums/repositories/images.dm | 2 +- code/game/atoms_movable.dm | 2 +- code/game/machinery/doors/multi_tile.dm | 2 +- code/game/machinery/kitchen/cookers.dm | 2 +- .../objects/effects/decals/Cleanable/humans.dm | 2 +- code/game/objects/items/cryobag.dm | 2 +- .../game/objects/items/devices/slide_projector.dm | 2 +- code/game/objects/items/devices/t_scanner.dm | 2 +- .../items/weapons/material/material_weapons.dm | 2 +- code/game/objects/items/weapons/policetape.dm | 2 +- .../objects/items/weapons/storage/med_pouch.dm | 2 +- .../game/objects/items/weapons/storage/wallets.dm | 2 +- code/game/objects/structures/barsign.dm | 2 +- code/game/objects/structures/rubble.dm | 4 ++-- code/game/turfs/flooring/flooring_decals.dm | 8 ++++---- code/game/turfs/turf_ao.dm | 2 +- code/modules/admin/buildmode/_overlay.dm | 2 +- code/modules/admin/holoverbs.dm | 2 +- .../client/preference_setup/general/02_body.dm | 2 +- code/modules/hydroponics/seed.dm | 2 +- code/modules/lighting/lighting_overlay.dm | 2 +- code/modules/lighting/lighting_planemaster.dm | 2 +- .../living/carbon/alien/diona/gestalt/_gestalt.dm | 2 +- .../mob/living/carbon/human/update_icons.dm | 6 +++--- .../silicon/robot/drone/drone_manufacturer.dm | 2 +- .../hostile/giant_spider/_giant_spider.dm | 2 +- code/modules/mob/mob_defines.dm | 2 +- code/modules/mob/observer/ghost/ghost.dm | 2 +- code/modules/mob/observer/ghost/login.dm | 2 +- code/modules/mob/observer/observer.dm | 2 +- code/modules/organs/external/_external.dm | 2 +- .../overmap/exoplanets/exoplanet_skybox.dm | 4 ++-- code/modules/pointdefense/pointdefense.dm | 2 +- code/modules/psionics/complexus/complexus.dm | 4 ++-- code/modules/xgm/xgm_gas_data.dm | 2 +- code/procs/hud.dm | 2 +- .../exoplanet_ruins/monoliths/monoliths.dm | 2 +- 42 files changed, 60 insertions(+), 54 deletions(-) diff --git a/code/__defines/_planes+layers.dm b/code/__defines/_planes+layers.dm index 54bc990aef6..b16c78e2fea 100644 --- a/code/__defines/_planes+layers.dm +++ b/code/__defines/_planes+layers.dm @@ -192,8 +192,15 @@ What is the naming convention for planes or layers? //This is difference between planes used for atoms and effects #define PLANE_DIFFERENCE 3 -/atom - plane = DEFAULT_PLANE + +/atom/plane = DEFAULT_PLANE + +#define DEFAULT_APPEARANCE_FLAGS (PIXEL_SCALE) + +/atom/appearance_flags = DEFAULT_APPEARANCE_FLAGS +/image/appearance_flags = DEFAULT_APPEARANCE_FLAGS +/mutable_appearance/appearance_flags = DEFAULT_APPEARANCE_FLAGS //Inherits /image but re docs, subject to change + /image/proc/plating_decal_layerise() plane = DEFAULT_PLANE @@ -216,7 +223,7 @@ What is the naming convention for planes or layers? */ /obj/screen/plane_master - appearance_flags = PLANE_MASTER + appearance_flags = DEFAULT_APPEARANCE_FLAGS | PLANE_MASTER screen_loc = "CENTER,CENTER" globalscreen = 1 @@ -226,7 +233,7 @@ What is the naming convention for planes or layers? /obj/screen/plane_master/ghost_dummy // this avoids a bug which means plane masters which have nothing to control get angry and mess with the other plane masters out of spite alpha = 0 - appearance_flags = 0 + appearance_flags = DEFAULT_APPEARANCE_FLAGS plane = OBSERVER_PLANE GLOBAL_LIST_INIT(ghost_master, list( diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index 30d1f2d4d2f..86fe8355b59 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -11,7 +11,7 @@ icon = 'icons/mob/screen1.dmi' plane = HUD_PLANE layer = HUD_BASE_LAYER - appearance_flags = NO_CLIENT_COLOR + appearance_flags = DEFAULT_APPEARANCE_FLAGS | NO_CLIENT_COLOR unacidable = TRUE var/obj/master = null //A reference to the object in the slot. Grabs or items, generally. var/globalscreen = FALSE //Global screens are not qdeled when the holding mob is destroyed. diff --git a/code/controllers/subsystems/skybox.dm b/code/controllers/subsystems/skybox.dm index 5a0f93ac1ad..51d48724022 100644 --- a/code/controllers/subsystems/skybox.dm +++ b/code/controllers/subsystems/skybox.dm @@ -50,7 +50,6 @@ SUBSYSTEM_DEF(skybox) /datum/controller/subsystem/skybox/proc/generate_skybox(z) var/image/res = image(skybox_icon) - res.appearance_flags = KEEP_TOGETHER var/image/base = overlay_image(skybox_icon, background_icon, background_color) @@ -68,7 +67,7 @@ SUBSYSTEM_DEF(skybox) for(var/obj/effect/overmap/visitable/other in O.loc) if(other != O) overmap.overlays += other.get_skybox_representation() - overmap.appearance_flags = RESET_COLOR + overmap.appearance_flags |= RESET_COLOR res.overlays += overmap for(var/datum/event/E in SSevent.active_events) diff --git a/code/datums/mutable_appearance.dm b/code/datums/mutable_appearance.dm index 679ddb6d43e..fe178279fb8 100644 --- a/code/datums/mutable_appearance.dm +++ b/code/datums/mutable_appearance.dm @@ -5,7 +5,7 @@ // Mutable appearances are children of images, just so you know. // Helper similar to image() -/proc/mutable_appearance(icon, icon_state, color, flags = RESET_COLOR | RESET_ALPHA, plane = FLOAT_PLANE, layer = FLOAT_LAYER) +/proc/mutable_appearance(icon, icon_state, color, flags = DEFAULT_APPEARANCE_FLAGS | RESET_COLOR | RESET_ALPHA, plane = FLOAT_PLANE, layer = FLOAT_LAYER) var/mutable_appearance/MA = new() MA.icon = icon MA.icon_state = icon_state diff --git a/code/datums/progressbar.dm b/code/datums/progressbar.dm index 79d343df6b2..7bdcd6c87b6 100644 --- a/code/datums/progressbar.dm +++ b/code/datums/progressbar.dm @@ -29,7 +29,7 @@ if (!visible) return bar = image('icons/effects/progessbar.dmi', actee, "prog_bar_0", HUD_ABOVE_ITEM_LAYER) - bar.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA + bar.appearance_flags = DEFAULT_APPEARANCE_FLAGS | APPEARANCE_UI_IGNORE_ALPHA bar.pixel_y = WORLD_ICON_SIZE bar.plane = HUD_PLANE diff --git a/code/datums/repositories/images.dm b/code/datums/repositories/images.dm index 4c9ea70e55d..d74548016c0 100644 --- a/code/datums/repositories/images.dm +++ b/code/datums/repositories/images.dm @@ -50,7 +50,7 @@ if(!isnull(alpha)) I.alpha = alpha if(!isnull(appearance_flags)) - I.appearance_flags = appearance_flags + I.appearance_flags = DEFAULT_APPEARANCE_FLAGS | appearance_flags if(!isnull(plane)) I.plane = plane if(!isnull(layer)) diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index f54c4d99a3a..bed7ad35f03 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -1,7 +1,7 @@ /atom/movable layer = OBJ_LAYER - appearance_flags = TILE_BOUND + appearance_flags = DEFAULT_APPEARANCE_FLAGS | TILE_BOUND glide_size = 8 var/waterproof = TRUE diff --git a/code/game/machinery/doors/multi_tile.dm b/code/game/machinery/doors/multi_tile.dm index ef05b92d28b..f07eea09653 100644 --- a/code/game/machinery/doors/multi_tile.dm +++ b/code/game/machinery/doors/multi_tile.dm @@ -16,7 +16,7 @@ welded_file = 'icons/obj/doors/double/welded.dmi' emag_file = 'icons/obj/doors/double/emag.dmi' width = 2 - appearance_flags = 0 + appearance_flags = DEFAULT_APPEARANCE_FLAGS opacity = 1 assembly_type = /obj/structure/door_assembly/multi_tile diff --git a/code/game/machinery/kitchen/cookers.dm b/code/game/machinery/kitchen/cookers.dm index 720bd4f68ee..1b36b3f1627 100644 --- a/code/game/machinery/kitchen/cookers.dm +++ b/code/game/machinery/kitchen/cookers.dm @@ -217,7 +217,7 @@ result.filling_color = BlendRGB(source.color || "#ffffff", result.color || "#ffffff", 0.5) if (result.type != /obj/item/reagent_containers/food/snacks/variable && istype(result, /obj/item/reagent_containers/food/snacks/variable)) var/image/I = image(result.icon, result, "[result.icon_state]_filling") - I.appearance_flags = RESET_COLOR + I.appearance_flags = DEFAULT_APPEARANCE_FLAGS | RESET_COLOR I.color = result.filling_color result.overlays += I diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm index fb10cc271b8..239237eb473 100644 --- a/code/game/objects/effects/decals/Cleanable/humans.dm +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -16,7 +16,7 @@ var/global/list/image/splatter_cache=list() blood_DNA = list() generic_filth = TRUE persistent = TRUE - appearance_flags = NO_CLIENT_COLOR + appearance_flags = DEFAULT_APPEARANCE_FLAGS | NO_CLIENT_COLOR cleanable_scent = "blood" scent_descriptor = SCENT_DESC_ODOR diff --git a/code/game/objects/items/cryobag.dm b/code/game/objects/items/cryobag.dm index f09649869d8..0e8209541bc 100644 --- a/code/game/objects/items/cryobag.dm +++ b/code/game/objects/items/cryobag.dm @@ -56,7 +56,7 @@ ..() overlays.Cut() var/image/I = image(icon, "indicator[opened]") - I.appearance_flags = RESET_COLOR + I.appearance_flags = DEFAULT_APPEARANCE_FLAGS | RESET_COLOR var/maxstasis = initial(stasis_power) if(stasis_power > 0.5 * maxstasis) I.color = COLOR_LIME diff --git a/code/game/objects/items/devices/slide_projector.dm b/code/game/objects/items/devices/slide_projector.dm index 52555bae43f..b51977ac478 100644 --- a/code/game/objects/items/devices/slide_projector.dm +++ b/code/game/objects/items/devices/slide_projector.dm @@ -170,7 +170,7 @@ var/mutable_appearance/MA = new(I) MA.plane = FLOAT_PLANE MA.layer = FLOAT_LAYER - MA.appearance_flags = RESET_ALPHA + MA.appearance_flags = DEFAULT_APPEARANCE_FLAGS | RESET_ALPHA MA.alpha = 170 MA.pixel_x = 0 MA.pixel_y = 0 diff --git a/code/game/objects/items/devices/t_scanner.dm b/code/game/objects/items/devices/t_scanner.dm index 3ac919c46fa..22d098dc9e6 100644 --- a/code/game/objects/items/devices/t_scanner.dm +++ b/code/game/objects/items/devices/t_scanner.dm @@ -89,7 +89,7 @@ var/image/I = image(loc = scanned, icon = scanned.icon, icon_state = scanned.icon_state) I.plane = HUD_PLANE I.layer = UNDER_HUD_LAYER - I.appearance_flags = RESET_ALPHA + I.appearance_flags = DEFAULT_APPEARANCE_FLAGS | RESET_ALPHA //Pipes are special if(istype(scanned, /obj/machinery/atmospherics/pipe)) diff --git a/code/game/objects/items/weapons/material/material_weapons.dm b/code/game/objects/items/weapons/material/material_weapons.dm index 53f2cc7ac3f..712ca7e20bd 100644 --- a/code/game/objects/items/weapons/material/material_weapons.dm +++ b/code/game/objects/items/weapons/material/material_weapons.dm @@ -86,7 +86,7 @@ alpha = 100 + material.opacity * 255 if(furniture_icon) var/image/I = image(icon, icon_state = furniture_icon) - I.appearance_flags = RESET_COLOR + I.appearance_flags = DEFAULT_APPEARANCE_FLAGS | RESET_COLOR overlays += I /obj/item/material/Destroy() diff --git a/code/game/objects/items/weapons/policetape.dm b/code/game/objects/items/weapons/policetape.dm index 80d9fd36e06..c295fdbbbea 100644 --- a/code/game/objects/items/weapons/policetape.dm +++ b/code/game/objects/items/weapons/policetape.dm @@ -151,7 +151,7 @@ var/list/tape_roll_applications = list() /obj/item/taperoll/on_update_icon() overlays.Cut() var/image/overlay = image(icon = src.icon) - overlay.appearance_flags = RESET_COLOR + overlay.appearance_flags = DEFAULT_APPEARANCE_FLAGS | RESET_COLOR if(ismob(loc)) if(!start) overlay.icon_state = "start" diff --git a/code/game/objects/items/weapons/storage/med_pouch.dm b/code/game/objects/items/weapons/storage/med_pouch.dm index 61e5bb92a47..76232af299f 100644 --- a/code/game/objects/items/weapons/storage/med_pouch.dm +++ b/code/game/objects/items/weapons/storage/med_pouch.dm @@ -40,7 +40,7 @@ Single Use Emergency Pouches overlays.Cut() if(!cross_overlay) cross_overlay = image(icon, "cross") - cross_overlay.appearance_flags = RESET_COLOR + cross_overlay.appearance_flags = DEFAULT_APPEARANCE_FLAGS | RESET_COLOR overlays += cross_overlay icon_state = "pack[opened]" diff --git a/code/game/objects/items/weapons/storage/wallets.dm b/code/game/objects/items/weapons/storage/wallets.dm index d494b4cf4c9..57b62b3e968 100644 --- a/code/game/objects/items/weapons/storage/wallets.dm +++ b/code/game/objects/items/weapons/storage/wallets.dm @@ -78,7 +78,7 @@ if(("id-"+front_id.icon_state) in icon_states(icon)) tiny_state = "id-"+front_id.icon_state var/image/tiny_image = new/image(icon, icon_state = tiny_state) - tiny_image.appearance_flags = RESET_COLOR + tiny_image.appearance_flags = DEFAULT_APPEARANCE_FLAGS | RESET_COLOR overlays += tiny_image /obj/item/storage/wallet/GetIdCard() diff --git a/code/game/objects/structures/barsign.dm b/code/game/objects/structures/barsign.dm index 6a585848930..f87a6e694b3 100644 --- a/code/game/objects/structures/barsign.dm +++ b/code/game/objects/structures/barsign.dm @@ -2,7 +2,7 @@ desc = "A jumbo-sized LED sign. This one seems to be showing its age." icon = 'icons/obj/barsigns.dmi' icon_state = "empty" - appearance_flags = 0 + appearance_flags = DEFAULT_APPEARANCE_FLAGS anchored = TRUE var/cult = 0 diff --git a/code/game/objects/structures/rubble.dm b/code/game/objects/structures/rubble.dm index 38a934a7e68..f70fd0c786e 100644 --- a/code/game/objects/structures/rubble.dm +++ b/code/game/objects/structures/rubble.dm @@ -3,7 +3,7 @@ desc = "One man's garbage is another man's treasure." icon = 'icons/obj/rubble.dmi' icon_state = "base" - appearance_flags = PIXEL_SCALE + appearance_flags = DEFAULT_APPEARANCE_FLAGS | PIXEL_SCALE opacity = 1 density = TRUE anchored = TRUE @@ -36,7 +36,7 @@ I.color = initial(A.color) if(!lootleft) I.color = "#54362e" - I.appearance_flags = PIXEL_SCALE + I.appearance_flags = DEFAULT_APPEARANCE_FLAGS | PIXEL_SCALE I.pixel_x = rand(-16,16) I.pixel_y = rand(-16,16) var/matrix/M = matrix() diff --git a/code/game/turfs/flooring/flooring_decals.dm b/code/game/turfs/flooring/flooring_decals.dm index cce529f9838..7d5bb351e2e 100644 --- a/code/game/turfs/flooring/flooring_decals.dm +++ b/code/game/turfs/flooring/flooring_decals.dm @@ -7,7 +7,7 @@ var/list/floor_decals = list() name = "floor decal" icon = 'icons/turf/flooring/decals.dmi' layer = DECAL_LAYER - appearance_flags = RESET_COLOR + appearance_flags = DEFAULT_APPEARANCE_FLAGS | RESET_COLOR var/supplied_dir var/detail_overlay var/detail_color @@ -28,7 +28,7 @@ var/list/floor_decals = list() if(!floor_decals[cache_key]) var/image/I = image(icon = src.icon, icon_state = src.icon_state, dir = src.dir) I.layer = layer - I.appearance_flags = appearance_flags + I.appearance_flags = DEFAULT_APPEARANCE_FLAGS | appearance_flags I.color = src.color I.alpha = src.alpha if(detail_overlay) @@ -1149,7 +1149,7 @@ var/list/floor_decals = list() layer = TURF_DETAIL_LAYER color = COLOR_GUNMETAL icon_state = "manydot" - appearance_flags = 0 + appearance_flags = DEFAULT_APPEARANCE_FLAGS /obj/effect/floor_decal/floordetail/New(var/newloc, var/newdir, var/newcolour) color = null //color is here just for map preview, if left it applies both our and tile colors. @@ -1345,4 +1345,4 @@ var/list/floor_decals = list() icon_state = "stoneborder" /obj/effect/floor_decal/stoneborder/corner - icon_state = "stoneborder_c" \ No newline at end of file + icon_state = "stoneborder_c" diff --git a/code/game/turfs/turf_ao.dm b/code/game/turfs/turf_ao.dm index 4a339216309..99715bb9d2a 100644 --- a/code/game/turfs/turf_ao.dm +++ b/code/game/turfs/turf_ao.dm @@ -35,7 +35,7 @@ var/image/I = image('icons/turf/flooring/shadows.dmi', cstr, dir = 1 << (i-1)) I.alpha = WALL_AO_ALPHA I.blend_mode = BLEND_OVERLAY - I.appearance_flags = RESET_ALPHA|RESET_COLOR|TILE_BOUND + I.appearance_flags = DEFAULT_APPEARANCE_FLAGS | RESET_ALPHA|RESET_COLOR|TILE_BOUND I.layer = AO_LAYER // If there's an offset, counteract it. if (px || py || pz || pw) diff --git a/code/modules/admin/buildmode/_overlay.dm b/code/modules/admin/buildmode/_overlay.dm index a0854fd998a..68dc6ab2d76 100644 --- a/code/modules/admin/buildmode/_overlay.dm +++ b/code/modules/admin/buildmode/_overlay.dm @@ -18,7 +18,7 @@ M.icon = 'icons/turf/overlays.dmi' M.icon_state = icon_state M.screen_loc = "CENTER[x < 0 ? "-" : "+"][abs(x)],CENTER[y < 0 ? "-" : "+"][abs(y)]" - M.appearance_flags = KEEP_APART|RESET_COLOR|RESET_ALPHA|RESET_TRANSFORM|NO_CLIENT_COLOR|TILE_BOUND + M.appearance_flags = DEFAULT_APPEARANCE_FLAGS | KEEP_APART|RESET_COLOR|RESET_ALPHA|RESET_TRANSFORM|NO_CLIENT_COLOR|TILE_BOUND display_atoms += M . = ..() diff --git a/code/modules/admin/holoverbs.dm b/code/modules/admin/holoverbs.dm index 830d700319f..4206c8397ed 100644 --- a/code/modules/admin/holoverbs.dm +++ b/code/modules/admin/holoverbs.dm @@ -38,7 +38,7 @@ var/image/I2 = image(null) I2.underlays += I I2.overlays += scan - I2.appearance_flags = KEEP_TOGETHER + I2.appearance_flags = DEFAULT_APPEARANCE_FLAGS | KEEP_TOGETHER I2.color = rgb(125, 180, 225) // make it blue! AI.holo_icon = I2 diff --git a/code/modules/client/preference_setup/general/02_body.dm b/code/modules/client/preference_setup/general/02_body.dm index f24a3ab8a78..0266538ceee 100644 --- a/code/modules/client/preference_setup/general/02_body.dm +++ b/code/modules/client/preference_setup/general/02_body.dm @@ -323,7 +323,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O var/choice = input("Please select a descriptor.", "Descriptor") as null|anything in descriptor.chargen_value_descriptors if(choice && mob_species.descriptors[desc_id]) // Check in case they sneakily changed species. pref.body_descriptors[desc_id] = descriptor.chargen_value_descriptors[choice] - return TOPIC_REFRESH + return TOPIC_REFRESH_UPDATE_PREVIEW else if(href_list["blood_type"]) var/new_b_type = input(user, "Choose your character's blood-type:", CHARACTER_PREFERENCE_INPUT_TITLE) as null|anything in valid_bloodtypes diff --git a/code/modules/hydroponics/seed.dm b/code/modules/hydroponics/seed.dm index 1655187fa3d..4e28974b55f 100644 --- a/code/modules/hydroponics/seed.dm +++ b/code/modules/hydroponics/seed.dm @@ -858,7 +858,7 @@ if(leaves) var/image/I = image(res.icon, "[plant_icon]-[growth_stage]-leaves") I.color = leaves - I.appearance_flags = RESET_COLOR + I.appearance_flags = DEFAULT_APPEARANCE_FLAGS | RESET_COLOR res.overlays += I return res diff --git a/code/modules/lighting/lighting_overlay.dm b/code/modules/lighting/lighting_overlay.dm index 9aaf1ed624b..bb393668b8c 100644 --- a/code/modules/lighting/lighting_overlay.dm +++ b/code/modules/lighting/lighting_overlay.dm @@ -12,7 +12,7 @@ icon_state = "light1" blend_mode = BLEND_OVERLAY - appearance_flags = 0 + appearance_flags = DEFAULT_APPEARANCE_FLAGS var/lum_r = 0 var/lum_g = 0 diff --git a/code/modules/lighting/lighting_planemaster.dm b/code/modules/lighting/lighting_planemaster.dm index a21a64ea238..783527a6dfd 100644 --- a/code/modules/lighting/lighting_planemaster.dm +++ b/code/modules/lighting/lighting_planemaster.dm @@ -3,7 +3,7 @@ plane = LIGHTING_PLANE blend_mode = BLEND_MULTIPLY - appearance_flags = PLANE_MASTER | NO_CLIENT_COLOR + appearance_flags = DEFAULT_APPEARANCE_FLAGS | PLANE_MASTER | NO_CLIENT_COLOR // use 20% ambient lighting; be sure to add full alpha color = list( diff --git a/code/modules/mob/living/carbon/alien/diona/gestalt/_gestalt.dm b/code/modules/mob/living/carbon/alien/diona/gestalt/_gestalt.dm index 2f33ec05ba1..af279df36db 100644 --- a/code/modules/mob/living/carbon/alien/diona/gestalt/_gestalt.dm +++ b/code/modules/mob/living/carbon/alien/diona/gestalt/_gestalt.dm @@ -7,7 +7,7 @@ opacity = FALSE anchored = FALSE movement_handlers = list(/datum/movement_handler/deny_multiz, /datum/movement_handler/delay = list(5)) - appearance_flags = PIXEL_SCALE + appearance_flags = DEFAULT_APPEARANCE_FLAGS | PIXEL_SCALE var/list/nymphs = list() var/list/valid_things_to_roll_up = list(/mob/living/carbon/alien/diona = TRUE, /mob/living/carbon/alien/diona/sterile = TRUE) diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index a2cb0ea71da..341dd9feb61 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -13,7 +13,7 @@ GLOBAL_LIST_EMPTY(species_icon_template_cache) /proc/overlay_image(icon,icon_state,color,flags) var/image/ret = image(icon,icon_state) ret.color = color - ret.appearance_flags = flags + ret.appearance_flags = DEFAULT_APPEARANCE_FLAGS | flags return ret /////////////////////// @@ -430,7 +430,7 @@ var/global/list/damage_icon_parts = list() continue var/image/I = image(icon = UW.icon, icon_state = UW.icon_state) - I.appearance_flags = RESET_COLOR + I.appearance_flags = DEFAULT_APPEARANCE_FLAGS | RESET_COLOR I.color = UW.color overlays_standing[HO_UNDERWEAR_LAYER] += I @@ -856,7 +856,7 @@ var/global/list/damage_icon_parts = list() LAZYADD(overlays_to_add, image(icon = surgery_icon, icon_state = overlay_state, layer = -HO_SURGERY_LAYER)) total.overlays |= overlays_to_add - total.appearance_flags = RESET_COLOR + total.appearance_flags = DEFAULT_APPEARANCE_FLAGS | RESET_COLOR overlays_standing[HO_SURGERY_LAYER] = total if(update_icons) queue_icon_update() diff --git a/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm b/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm index 4c5643bdd19..b94ed9201d3 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm @@ -8,7 +8,7 @@ /obj/machinery/drone_fabricator name = "drone fabricator" desc = "A large automated factory for producing maintenance drones." - appearance_flags = 0 + appearance_flags = DEFAULT_APPEARANCE_FLAGS density = TRUE anchored = TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider/_giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider/_giant_spider.dm index 91535781773..3228b23e4af 100644 --- a/code/modules/mob/living/simple_animal/hostile/giant_spider/_giant_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/giant_spider/_giant_spider.dm @@ -85,7 +85,7 @@ var/image/I = image(icon = icon, icon_state = "[icon_state]_eyes", layer = EYE_GLOW_LAYER) I.color = eye_colour I.plane = EFFECTS_ABOVE_LIGHTING_PLANE - I.appearance_flags = RESET_COLOR + I.appearance_flags = DEFAULT_APPEARANCE_FLAGS | RESET_COLOR overlays += I diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 2339db82d62..aae7f06965a 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -3,7 +3,7 @@ plane = DEFAULT_PLANE layer = MOB_LAYER - appearance_flags = PIXEL_SCALE + appearance_flags = DEFAULT_APPEARANCE_FLAGS | PIXEL_SCALE animate_movement = 2 movable_flags = MOVABLE_FLAG_PROXMOVE diff --git a/code/modules/mob/observer/ghost/ghost.dm b/code/modules/mob/observer/ghost/ghost.dm index 89e2509ae9d..b79d8670ecb 100644 --- a/code/modules/mob/observer/ghost/ghost.dm +++ b/code/modules/mob/observer/ghost/ghost.dm @@ -6,7 +6,7 @@ var/global/list/image/ghost_sightless_images = list() //this is a list of images desc = "It's a g-g-g-g-ghooooost!" //jinkies! icon = 'icons/mob/mob.dmi' icon_state = "ghost" - appearance_flags = KEEP_TOGETHER + appearance_flags = DEFAULT_APPEARANCE_FLAGS | KEEP_TOGETHER blinded = 0 anchored = TRUE // don't get pushed around universal_speak = TRUE diff --git a/code/modules/mob/observer/ghost/login.dm b/code/modules/mob/observer/ghost/login.dm index 1cb83f36a8a..5ac8d450d7a 100644 --- a/code/modules/mob/observer/ghost/login.dm +++ b/code/modules/mob/observer/ghost/login.dm @@ -3,6 +3,6 @@ if (ghost_image) ghost_image.appearance = src - ghost_image.appearance_flags = RESET_ALPHA + ghost_image.appearance_flags = DEFAULT_APPEARANCE_FLAGS | RESET_ALPHA SSghost_images.queue_image_update(src) change_light_colour(DARKTINT_GOOD) diff --git a/code/modules/mob/observer/observer.dm b/code/modules/mob/observer/observer.dm index e199e10ad36..884079889a5 100644 --- a/code/modules/mob/observer/observer.dm +++ b/code/modules/mob/observer/observer.dm @@ -22,7 +22,7 @@ var/const/GHOST_IMAGE_ALL = ~GHOST_IMAGE_NONE ghost_image.plane = plane ghost_image.layer = layer ghost_image.appearance = src - ghost_image.appearance_flags = RESET_ALPHA + ghost_image.appearance_flags = DEFAULT_APPEARANCE_FLAGS | RESET_ALPHA if(ghost_image_flag & GHOST_IMAGE_DARKNESS) ghost_darkness_images |= ghost_image //so ghosts can see the eye when they disable darkness if(ghost_image_flag & GHOST_IMAGE_SIGHTLESS) diff --git a/code/modules/organs/external/_external.dm b/code/modules/organs/external/_external.dm index 48606c53d91..8880dfb36ba 100644 --- a/code/modules/organs/external/_external.dm +++ b/code/modules/organs/external/_external.dm @@ -7,7 +7,7 @@ min_broken_damage = 30 dir = SOUTH organ_tag = "limb" - appearance_flags = PIXEL_SCALE + appearance_flags = DEFAULT_APPEARANCE_FLAGS | PIXEL_SCALE var/slowdown = 0 diff --git a/code/modules/overmap/exoplanets/exoplanet_skybox.dm b/code/modules/overmap/exoplanets/exoplanet_skybox.dm index 95af17e2a17..91634b19346 100644 --- a/code/modules/overmap/exoplanets/exoplanet_skybox.dm +++ b/code/modules/overmap/exoplanets/exoplanet_skybox.dm @@ -17,7 +17,7 @@ if (water_color) //TODO: move water levels out of randommap into exoplanet var/image/water = image('icons/skybox/planet.dmi', "water") water.color = water_color - water.appearance_flags = PIXEL_SCALE + water.appearance_flags = DEFAULT_APPEARANCE_FLAGS | PIXEL_SCALE water.transform = water.transform.Turn(rand(0,360)) skybox_image.overlays += water @@ -55,4 +55,4 @@ skybox_image.pixel_x = rand(0,64) skybox_image.pixel_y = rand(128,256) - skybox_image.appearance_flags = RESET_COLOR \ No newline at end of file + skybox_image.appearance_flags = DEFAULT_APPEARANCE_FLAGS | RESET_COLOR diff --git a/code/modules/pointdefense/pointdefense.dm b/code/modules/pointdefense/pointdefense.dm index 76b6dd16607..3bb86b75b78 100644 --- a/code/modules/pointdefense/pointdefense.dm +++ b/code/modules/pointdefense/pointdefense.dm @@ -110,7 +110,7 @@ base_type = /obj/machinery/pointdefense stock_part_presets = list(/decl/stock_part_preset/terminal_setup) uncreated_component_parts = null - appearance_flags = PIXEL_SCALE + appearance_flags = DEFAULT_APPEARANCE_FLAGS | PIXEL_SCALE machine_name = "point defense battery" machine_desc = "A mounted turret that locks onto and destroys incoming meteors. Aim away from vessel." var/active = TRUE diff --git a/code/modules/psionics/complexus/complexus.dm b/code/modules/psionics/complexus/complexus.dm index e0fc2ffd55f..0e5a6961ee8 100644 --- a/code/modules/psionics/complexus/complexus.dm +++ b/code/modules/psionics/complexus/complexus.dm @@ -47,13 +47,13 @@ /proc/create_aura_image(var/newloc) var/image/aura_image = image(loc = newloc, icon = 'icons/effects/psi_aura_small.dmi', icon_state = "aura") aura_image.blend_mode = BLEND_MULTIPLY - aura_image.appearance_flags = NO_CLIENT_COLOR | RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM + aura_image.appearance_flags = DEFAULT_APPEARANCE_FLAGS | NO_CLIENT_COLOR | RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM aura_image.layer = TURF_LAYER + 0.5 aura_image.alpha = 0 aura_image.pixel_x = -64 aura_image.pixel_y = -64 aura_image.mouse_opacity = 0 - aura_image.appearance_flags = 0 + aura_image.appearance_flags = DEFAULT_APPEARANCE_FLAGS for(var/thing in SSpsi.processing) var/datum/psi_complexus/psychic = thing if(psychic.owner.client && !psychic.suppressed) diff --git a/code/modules/xgm/xgm_gas_data.dm b/code/modules/xgm/xgm_gas_data.dm index 0207ea4d56b..6212dd0c306 100644 --- a/code/modules/xgm/xgm_gas_data.dm +++ b/code/modules/xgm/xgm_gas_data.dm @@ -89,7 +89,7 @@ icon = 'icons/effects/tile_effects.dmi' icon_state = "generic" layer = FIRE_LAYER - appearance_flags = RESET_COLOR + appearance_flags = DEFAULT_APPEARANCE_FLAGS | RESET_COLOR mouse_opacity = 0 var/gas_id diff --git a/code/procs/hud.dm b/code/procs/hud.dm index c7ed2884412..b40dd3fa269 100644 --- a/code/procs/hud.dm +++ b/code/procs/hud.dm @@ -4,7 +4,7 @@ the HUD updates properly! */ // hud overlay image type, used for clearing client.images precisely /image/hud_overlay - appearance_flags = RESET_COLOR|RESET_TRANSFORM|KEEP_APART + appearance_flags = DEFAULT_APPEARANCE_FLAGS | RESET_COLOR|RESET_TRANSFORM|KEEP_APART layer = ABOVE_HUMAN_LAYER plane = DEFAULT_PLANE diff --git a/maps/random_ruins/exoplanet_ruins/monoliths/monoliths.dm b/maps/random_ruins/exoplanet_ruins/monoliths/monoliths.dm index e9edc0f334b..75509470e0e 100644 --- a/maps/random_ruins/exoplanet_ruins/monoliths/monoliths.dm +++ b/maps/random_ruins/exoplanet_ruins/monoliths/monoliths.dm @@ -33,7 +33,7 @@ overlays.Cut() if(active) var/image/I = image(icon,"[icon_state]decor") - I.appearance_flags = RESET_COLOR + I.appearance_flags = DEFAULT_APPEARANCE_FLAGS | RESET_COLOR I.color = get_random_colour(0, 150, 255) I.layer = ABOVE_LIGHTING_LAYER I.plane = EFFECTS_ABOVE_LIGHTING_PLANE From 68e5413136e2c16a263c311fb8e2136f9d939209 Mon Sep 17 00:00:00 2001 From: spookerton Date: Wed, 30 Jun 2021 17:58:26 +0100 Subject: [PATCH 2/2] add descriptor scaling, gives humans numbers --- .../human/descriptors/descriptors_generic.dm | 6 ++++ .../mob/living/carbon/human/update_icons.dm | 33 +++++++++++++++---- .../mob/new_player/preferences_setup.dm | 8 +++++ 3 files changed, 41 insertions(+), 6 deletions(-) diff --git a/code/modules/mob/living/carbon/human/descriptors/descriptors_generic.dm b/code/modules/mob/living/carbon/human/descriptors/descriptors_generic.dm index 9c019b9de99..5deb32534d4 100644 --- a/code/modules/mob/living/carbon/human/descriptors/descriptors_generic.dm +++ b/code/modules/mob/living/carbon/human/descriptors/descriptors_generic.dm @@ -20,6 +20,9 @@ "much taller than you", "towering over you" ) + var/list/scale_effect = list( + SPECIES_HUMAN = list(-7, -4, 0, 4, 7) + ) /datum/mob_descriptor/build name = "build" @@ -43,3 +46,6 @@ "built much larger than you", "dwarfing you" ) + var/list/scale_effect = list( + SPECIES_HUMAN = list(-7.5, 0, 0, 0, 7.5) + ) diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 341dd9feb61..6de2d8e5dd9 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -189,16 +189,37 @@ Please contact me on #coderbus IRC. ~Carn x overlays = overlays_to_apply - var/matrix/M = matrix() - if(lying) + var/matrix/M = new + var/list/scale = get_scale() + M.Scale(scale[1], scale[2]) + if (lying) M.Turn(90) - M.Scale(size_multiplier) - M.Translate(1, -6-default_pixel_z) + M.Translate(1, -6 - default_pixel_z) else - M.Scale(size_multiplier) - M.Translate(0, 16*(size_multiplier-1)) + M.Translate(0, 16 * (scale[2] - 1)) animate(src, transform = M, time = ANIM_LYING_TIME) + +/mob/living/carbon/human/proc/get_scale() + var/h_mul = LAZYACCESS(descriptors, "height") + if (h_mul) + var/datum/mob_descriptor/height/H = species.descriptors["height"] + if (H) + var/list/scale_effect = H.scale_effect[species.name] + if (scale_effect) + h_mul = 0.01 * scale_effect[h_mul] + var/b_mul = LAZYACCESS(descriptors, "build") + if (b_mul) + var/datum/mob_descriptor/build/B = species.descriptors["build"] + if (B) + var/list/scale_effect = B.scale_effect[species.name] + if (scale_effect) + b_mul = 0.01 * scale_effect[b_mul] + return list( + (1 + b_mul) * size_multiplier, + (1 + h_mul) * size_multiplier + ) + var/global/list/damage_icon_parts = list() /mob/living/carbon/human/proc/get_lying_offset(var/image/I) diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index a1fab642f14..e51e268383f 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -104,16 +104,24 @@ preview_icon = icon('icons/effects/128x48.dmi', bgstate) preview_icon.Scale(48+32, 16+32) + if(LAZYLEN(mannequin.descriptors)) + for(var/entry in body_descriptors) + mannequin.descriptors[entry] = body_descriptors[entry] + var/list/scale = mannequin.get_scale() + mannequin.dir = NORTH var/icon/stamp = getFlatIcon(mannequin, NORTH, always_use_defdir = 1) + stamp.Scale(scale[1] * stamp.Width(), scale[2] * stamp.Height()) preview_icon.Blend(stamp, ICON_OVERLAY, 25, 17) mannequin.dir = WEST stamp = getFlatIcon(mannequin, WEST, always_use_defdir = 1) + stamp.Scale(scale[1] * stamp.Width(), scale[2] * stamp.Height()) preview_icon.Blend(stamp, ICON_OVERLAY, 1, 9) mannequin.dir = SOUTH stamp = getFlatIcon(mannequin, SOUTH, always_use_defdir = 1) + stamp.Scale(scale[1] * stamp.Width(), scale[2] * stamp.Height()) preview_icon.Blend(stamp, ICON_OVERLAY, 49, 1) preview_icon.Scale(preview_icon.Width() * 2, preview_icon.Height() * 2) // Scaling here to prevent blurring in the browser.