From cd57a4605e8360f3b3c924ec391cf43c4f130496 Mon Sep 17 00:00:00 2001 From: AffectedArc07 Date: Sat, 20 Apr 2019 21:16:19 +0100 Subject: [PATCH 1/9] P A R A L L A X --- code/__DEFINES/misc.dm | 8 +- code/__DEFINES/preferences.dm | 9 + code/__HELPERS/icon_smoothing.dm | 8 +- code/_onclick/hud/ghost.dm | 6 + code/_onclick/hud/hud.dm | 1 + code/_onclick/hud/parallax.dm | 268 ++++++++++++++++++ code/_onclick/observer.dm | 1 + code/controllers/subsystem/parallax.dm | 44 +++ code/game/area/areas.dm | 2 + code/game/atoms_movable.dm | 4 +- .../game/turfs/simulated/floor/fancy_floor.dm | 1 + code/game/turfs/space/space.dm | 1 + code/game/turfs/space/transit.dm | 1 + code/modules/client/client procs.dm | 3 + code/modules/client/preference/preferences.dm | 29 ++ code/modules/mob/dead/observer/observer.dm | 3 + .../mob/living/silicon/ai/freelook/eye.dm | 1 + code/modules/shuttle/shuttle.dm | 2 +- icons/effects/parallax.dmi | Bin 0 -> 147569 bytes paradise.dme | 2 + 20 files changed, 389 insertions(+), 5 deletions(-) create mode 100644 code/_onclick/hud/parallax.dm create mode 100644 code/controllers/subsystem/parallax.dm create mode 100644 icons/effects/parallax.dmi diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 723fe6b0762..273159fe948 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -402,4 +402,10 @@ #define DICE_NOT_RIGGED 1 #define DICE_BASICALLY_RIGGED 2 -#define DICE_TOTALLY_RIGGED 3 \ No newline at end of file +#define DICE_TOTALLY_RIGGED 3 + +// Parallax +#define PARALLAX_DELAY_DEFAULT world.tick_lag +#define PARALLAX_DELAY_MED 1 +#define PARALLAX_DELAY_LOW 2 +#define PARALLAX_LOOP_TIME 25 diff --git a/code/__DEFINES/preferences.dm b/code/__DEFINES/preferences.dm index 9582fddccfe..a28d68a392b 100644 --- a/code/__DEFINES/preferences.dm +++ b/code/__DEFINES/preferences.dm @@ -63,3 +63,12 @@ #define EXP_TYPE_WHITELIST "Whitelist" #define EXP_DEPT_TYPE_LIST list(EXP_TYPE_SERVICE, EXP_TYPE_MEDICAL, EXP_TYPE_ENGINEERING, EXP_TYPE_SCIENCE, EXP_TYPE_SECURITY, EXP_TYPE_COMMAND, EXP_TYPE_SILICON, EXP_TYPE_SPECIAL) + +// Defines just for parallax because its levels make storing it in the regular prefs a pain in the ass +// These dont need to be bitflags because there isnt going to be more than one at a time of these active +// But its gonna piss off my OCD if it isnt bitflags, so deal with it, -affected +#define PARALLAX_DISABLE 1 +#define PARALLAX_LOW 2 +#define PARALLAX_MED 4 +#define PARALLAX_HIGH 8 +#define PARALLAX_INSANE 16 diff --git a/code/__HELPERS/icon_smoothing.dm b/code/__HELPERS/icon_smoothing.dm index 11c86940b75..9156ebf8717 100644 --- a/code/__HELPERS/icon_smoothing.dm +++ b/code/__HELPERS/icon_smoothing.dm @@ -156,9 +156,13 @@ var/list/U = list() if(fixed_underlay) if(fixed_underlay["space"]) - U += image('icons/turf/space.dmi', SPACE_ICON_STATE, layer=TURF_LAYER) + var/image/I = image('icons/turf/space.dmi', SPACE_ICON_STATE, layer=TURF_LAYER) + I.plane = PLANE_SPACE + U += I else - U += image(fixed_underlay["icon"], fixed_underlay["icon_state"], layer=TURF_LAYER) + var/image/I = image('icons/turf/space.dmi', SPACE_ICON_STATE, layer=TURF_LAYER) + I.plane = PLANE_SPACE + U += I else var/turf/T = get_step(src, turn(adjacencies, 180)) if(T && (T.density || T.smooth)) diff --git a/code/_onclick/hud/ghost.dm b/code/_onclick/hud/ghost.dm index 4e92395f4cc..8207fc746e3 100644 --- a/code/_onclick/hud/ghost.dm +++ b/code/_onclick/hud/ghost.dm @@ -59,3 +59,9 @@ using = new /obj/screen/ghost/teleport() using.screen_loc = ui_ghost_teleport static_inventory += using + +/datum/hud/ghost/show_hud() + mymob.client.screen = list() + create_parallax() + mymob.client.screen += static_inventory + ..() diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index 0063feae9cf..c4fbd0da7ac 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -172,6 +172,7 @@ mymob.update_action_buttons(1) reorganize_alerts() reload_fullscreen() + create_parallax() plane_masters_update() /datum/hud/proc/plane_masters_update() diff --git a/code/_onclick/hud/parallax.dm b/code/_onclick/hud/parallax.dm new file mode 100644 index 00000000000..32b8cf534f2 --- /dev/null +++ b/code/_onclick/hud/parallax.dm @@ -0,0 +1,268 @@ +/client + var/list/parallax_layers + var/list/parallax_layers_cached + var/static/list/parallax_static_layers_tail = newlist(/obj/screen/parallax_pmaster, /obj/screen/parallax_space_whitifier) + var/atom/movable/movingmob + var/turf/previous_turf + var/dont_animate_parallax //world.time of when we can state animate()ing parallax again + var/last_parallax_shift //world.time of last update + var/parallax_throttle = 0 //ds between updates + var/parallax_movedir = 0 + var/parallax_layers_max = 3 + var/parallax_animate_timer + +/datum/hud/proc/create_parallax() + var/client/C = mymob.client + if (!apply_parallax_pref()) + return + + if(!length(C.parallax_layers_cached)) + C.parallax_layers_cached = list() + C.parallax_layers_cached += new /obj/screen/parallax_layer/layer_1(null, C.view) + C.parallax_layers_cached += new /obj/screen/parallax_layer/layer_2(null, C.view) + + C.parallax_layers = C.parallax_layers_cached.Copy() + + if (length(C.parallax_layers) > C.parallax_layers_max) + C.parallax_layers.len = C.parallax_layers_max + + C.screen |= (C.parallax_layers + C.parallax_static_layers_tail) + +/datum/hud/proc/remove_parallax() + var/client/C = mymob.client + C.screen -= (C.parallax_layers_cached + C.parallax_static_layers_tail) + C.parallax_layers = null + +/datum/hud/proc/apply_parallax_pref() + var/client/C = mymob.client + switch(C.prefs.parallax) + if (PARALLAX_INSANE) + C.parallax_throttle = FALSE + C.parallax_layers_max = 4 + return TRUE + + if (PARALLAX_MED) + C.parallax_throttle = PARALLAX_DELAY_MED + C.parallax_layers_max = 2 + return TRUE + + if (PARALLAX_LOW) + C.parallax_throttle = PARALLAX_DELAY_LOW + C.parallax_layers_max = 1 + return TRUE + + if (PARALLAX_DISABLE) + return FALSE + + else + C.parallax_throttle = PARALLAX_DELAY_DEFAULT + C.parallax_layers_max = 3 + return TRUE + +/datum/hud/proc/update_parallax_pref() + remove_parallax() + create_parallax() + +// This sets which way the current shuttle is moving (returns true if the shuttle has stopped moving so the caller can append their animation) +// Well, it would if our shuttle code had dynamic areas +/datum/hud/proc/set_parallax_movedir(new_parallax_movedir) + . = FALSE + var/client/C = mymob.client + if(new_parallax_movedir == C.parallax_movedir) + return + var/animatedir = new_parallax_movedir + if(new_parallax_movedir == FALSE) + var/animate_time = 0 + for(var/thing in C.parallax_layers) + var/obj/screen/parallax_layer/L = thing + L.icon_state = initial(L.icon_state) + L.update_o(C.view) + var/T = PARALLAX_LOOP_TIME / L.speed + if (T > animate_time) + animate_time = T + C.dont_animate_parallax = world.time + min(animate_time, PARALLAX_LOOP_TIME) + animatedir = C.parallax_movedir + + var/matrix/newtransform + switch(animatedir) + if(NORTH) + newtransform = matrix(1, 0, 0, 0, 1, 480) + if(SOUTH) + newtransform = matrix(1, 0, 0, 0, 1,-480) + if(EAST) + newtransform = matrix(1, 0, 480, 0, 1, 0) + if(WEST) + newtransform = matrix(1, 0,-480, 0, 1, 0) + + var/shortesttimer + for(var/thing in C.parallax_layers) + var/obj/screen/parallax_layer/L = thing + + var/T = PARALLAX_LOOP_TIME / L.speed + if (isnull(shortesttimer)) + shortesttimer = T + if (T < shortesttimer) + shortesttimer = T + L.transform = newtransform + animate(L, transform = matrix(), time = T, easing = QUAD_EASING | (new_parallax_movedir ? EASE_IN : EASE_OUT), flags = ANIMATION_END_NOW) + if (new_parallax_movedir) + L.transform = newtransform + animate(transform = matrix(), time = T) //queue up another animate so lag doesn't create a shutter + + C.parallax_movedir = new_parallax_movedir + if (C.parallax_animate_timer) + deltimer(C.parallax_animate_timer) + C.parallax_animate_timer = addtimer(src, .update_parallax_motionblur, min(shortesttimer, PARALLAX_LOOP_TIME), TIMER_CLIENT_TIME, C, animatedir, new_parallax_movedir, newtransform) + +/datum/hud/proc/update_parallax_motionblur(client/C, animatedir, new_parallax_movedir, matrix/newtransform) + C.parallax_animate_timer = FALSE + for(var/thing in C.parallax_layers) + var/obj/screen/parallax_layer/L = thing + if (!new_parallax_movedir) + animate(L) + continue + + var/newstate = initial(L.icon_state) + if (animatedir) + if(animatedir == NORTH || animatedir == SOUTH) + newstate += "_vertical" + else + newstate += "_horizontal" + + var/T = PARALLAX_LOOP_TIME / L.speed + + if (newstate in icon_states(L.icon)) + L.icon_state = newstate + L.update_o(C.view) + + L.transform = newtransform + + animate(L, transform = matrix(), time = T, loop = -1, flags = ANIMATION_END_NOW) + +/datum/hud/proc/update_parallax() + var/client/C = mymob.client + var/turf/posobj = get_turf(C.eye) + var/area/areaobj = posobj.loc + + // Update the movement direction of the parallax if necessary (for shuttles) + set_parallax_movedir(areaobj.parallax_movedir) + + var/force + if(!C.previous_turf || (C.previous_turf.z != posobj.z)) + C.previous_turf = posobj + force = TRUE + + if (!force && world.time < C.last_parallax_shift+C.parallax_throttle) + return + + //Doing it this way prevents parallax layers from "jumping" when you change Z-Levels. + var/offset_x = posobj.x - C.previous_turf.x + var/offset_y = posobj.y - C.previous_turf.y + + if(!offset_x && !offset_y && !force) + return + + var/last_delay = world.time - C.last_parallax_shift + last_delay = min(last_delay, C.parallax_throttle) + C.previous_turf = posobj + C.last_parallax_shift = world.time + + for(var/thing in C.parallax_layers) + var/obj/screen/parallax_layer/L = thing + if (L.view_sized != C.view) + L.update_o(C.view) + var/change_x = offset_x * L.speed + L.offset_x -= change_x + var/change_y = offset_y * L.speed + L.offset_y -= change_y + if(L.offset_x > 240) + L.offset_x -= 480 + if(L.offset_x < -240) + L.offset_x += 480 + if(L.offset_y > 240) + L.offset_y -= 480 + if(L.offset_y < -240) + L.offset_y += 480 + + + if(!areaobj.parallax_movedir && C.dont_animate_parallax <= world.time && (offset_x || offset_y) && abs(offset_x) <= max(C.parallax_throttle/world.tick_lag+1,1) && abs(offset_y) <= max(C.parallax_throttle/world.tick_lag+1,1) && (round(abs(change_x)) > 1 || round(abs(change_y)) > 1)) + L.transform = matrix(1, 0, offset_x*L.speed, 0, 1, offset_y*L.speed) + animate(L, transform=matrix(), time = last_delay) + + L.screen_loc = "CENTER-7:[round(L.offset_x,1)],CENTER-7:[round(L.offset_y,1)]" + +/atom/movable/proc/update_parallax_contents() + if(length(client_mobs_in_contents)) + for(var/thing in client_mobs_in_contents) + var/mob/M = thing + if(M && M.client && M.hud_used && length(M.client.parallax_layers)) + M.hud_used.update_parallax() + +/obj/screen/parallax_layer + icon = 'icons/effects/parallax.dmi' + var/speed = 1 + var/offset_x = 0 + var/offset_y = 0 + var/view_sized + blend_mode = BLEND_ADD + plane = PLANE_SPACE_PARALLAX + screen_loc = "CENTER-7,CENTER-7" + mouse_opacity = 0 + + +/obj/screen/parallax_layer/New(view) + ..() + if (!view) + view = world.view + update_o(view) + +/obj/screen/parallax_layer/proc/update_o(view) + if (!view) + view = world.view + var/list/new_overlays = list() + var/count = Ceiling(view/(480/world.icon_size))+1 + for(var/x in -count to count) + for(var/y in -count to count) + if(x == 0 && y == 0) + continue + var/image/I = image(icon, null, icon_state) + I.transform = matrix(1, 0, x*480, 0, 1, y*480) + new_overlays += I + + overlays = new_overlays + view_sized = view + +/obj/screen/parallax_layer/layer_1 + icon_state = "layer1" + speed = 0.6 + layer = 1 + +/obj/screen/parallax_layer/layer_2 + icon_state = "layer2" + speed = 1 + layer = 2 + +/obj/screen/parallax_pmaster + appearance_flags = PLANE_MASTER + plane = PLANE_SPACE_PARALLAX + blend_mode = BLEND_MULTIPLY + mouse_opacity = FALSE + screen_loc = "CENTER-7,CENTER-7" + +/obj/screen/parallax_space_whitifier + appearance_flags = PLANE_MASTER + plane = PLANE_SPACE + color = list( + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 1, 1, 1, 1, + 0, 0, 0, 0 + ) + screen_loc = "CENTER-7,CENTER-7" + + +#undef LOOP_NONE +#undef LOOP_NORMAL +#undef LOOP_REVERSE +#undef LOOP_TIME \ No newline at end of file diff --git a/code/_onclick/observer.dm b/code/_onclick/observer.dm index 797384b8336..a988277012b 100644 --- a/code/_onclick/observer.dm +++ b/code/_onclick/observer.dm @@ -17,6 +17,7 @@ else following = null forceMove(get_turf(A)) + update_parallax_contents() /mob/dead/observer/ClickOn(var/atom/A, var/params) if(client.click_intercept) diff --git a/code/controllers/subsystem/parallax.dm b/code/controllers/subsystem/parallax.dm new file mode 100644 index 00000000000..64299fda383 --- /dev/null +++ b/code/controllers/subsystem/parallax.dm @@ -0,0 +1,44 @@ +SUBSYSTEM_DEF(parallax) + name = "Parallax" + wait = 2 + flags = SS_POST_FIRE_TIMING | SS_BACKGROUND + priority = FIRE_PRIORITY_PARALLAX + runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT + var/list/currentrun + var/planet_x_offset = 128 + var/planet_y_offset = 128 + +/datum/controller/subsystem/parallax/Initialize(timeofday) + . = ..() + planet_y_offset = rand(100, 160) + planet_x_offset = rand(100, 160) + +/datum/controller/subsystem/parallax/fire(resumed = 0) + if (!resumed) + src.currentrun = GLOB.clients.Copy() + + //cache for sanic speed (lists are references anyways) + var/list/currentrun = src.currentrun + + while(length(currentrun)) + var/client/C = currentrun[currentrun.len] + currentrun.len-- + if (!C || !C.eye) + if (MC_TICK_CHECK) + return + continue + var/atom/movable/A = C.eye + if(!istype(A)) + continue + for (A; isloc(A.loc) && !isturf(A.loc); A = A.loc); + + if(A != C.movingmob) + if(C.movingmob != null) + C.movingmob.client_mobs_in_contents -= C.mob + UNSETEMPTY(C.movingmob.client_mobs_in_contents) + LAZYINITLIST(A.client_mobs_in_contents) + A.client_mobs_in_contents += C.mob + C.movingmob = A + if (MC_TICK_CHECK) + return + currentrun = null diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 2e7448ec5c8..442bde3aa68 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -67,6 +67,8 @@ var/can_get_auto_cryod = TRUE var/hide_attacklogs = FALSE // For areas such as thunderdome, lavaland syndiebase, etc which generate a lot of spammy attacklogs. Reduces log priority. + var/parallax_movedir = 0 + /area/Initialize(mapload) GLOB.all_areas += src icon_state = "" diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 1a23dc71070..d726a810894 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -26,7 +26,7 @@ var/inertia_move_delay = 5 var/moving_diagonally = 0 //0: not doing a diagonal move. 1 and 2: doing the first/second step of the diagonal move - + var/list/client_mobs_in_contents var/area/areaMaster /atom/movable/New() @@ -215,6 +215,8 @@ if(!inertia_moving) inertia_next_move = world.time + inertia_move_delay newtonian_move(Dir) + if (length(client_mobs_in_contents)) + update_parallax_contents() return TRUE // Previously known as HasEntered() diff --git a/code/game/turfs/simulated/floor/fancy_floor.dm b/code/game/turfs/simulated/floor/fancy_floor.dm index 97065cd9711..fcf4c7c15c5 100644 --- a/code/game/turfs/simulated/floor/fancy_floor.dm +++ b/code/game/turfs/simulated/floor/fancy_floor.dm @@ -127,6 +127,7 @@ icon_state = "0" floor_tile = /obj/item/stack/tile/fakespace broken_states = list("damaged") + plane = PLANE_SPACE /turf/simulated/floor/fakespace/New() ..() diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm index 0d6428b10a2..ff9045a0436 100644 --- a/code/game/turfs/space/space.dm +++ b/code/game/turfs/space/space.dm @@ -16,6 +16,7 @@ var/destination_z var/destination_x var/destination_y + plane = PLANE_SPACE /turf/space/Initialize(mapload) if(!istype(src, /turf/space/transit)) diff --git a/code/game/turfs/space/transit.dm b/code/game/turfs/space/transit.dm index 79bf171ce1f..4f621f80ddc 100644 --- a/code/game/turfs/space/transit.dm +++ b/code/game/turfs/space/transit.dm @@ -1,5 +1,6 @@ /turf/space/transit var/pushdirection // push things that get caught in the transit tile this direction + plane = TURF_LAYER //Overwrite because we dont want people building rods in space. /turf/space/transit/attackby(obj/O as obj, mob/user as mob, params) diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index 95f6c16ba97..4ffaf0c0a6d 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -433,6 +433,9 @@ GLOB.admins -= src GLOB.directory -= ckey GLOB.clients -= src + if(movingmob != null) + movingmob.client_mobs_in_contents -= mob + UNSETEMPTY(movingmob.client_mobs_in_contents) Master.UpdateTickRate() return ..() diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index 97f9ddc6169..1d54e8b0116 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -201,6 +201,8 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts //Gear stuff var/list/gear = list() var/gear_tab = "General" + // Parallax + var/parallax = PARALLAX_HIGH /datum/preferences/New(client/C) parent = C @@ -462,6 +464,19 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts dat += "OOC Color:     Change
" if(config.allow_Metadata) dat += "OOC Notes: Edit
" + dat += "Parallax (Fancy Space): " + switch (parallax) + if (PARALLAX_LOW) + dat += "Low" + if (PARALLAX_MED) + dat += "Medium" + if (PARALLAX_INSANE) + dat += "Insane" + if (PARALLAX_DISABLE) + dat += "Disabled" + else + dat += "High" + dat += "
" dat += "Play Admin MIDIs: [(sound & SOUND_MIDI) ? "Yes" : "No"]
" dat += "Play Lobby Music: [(sound & SOUND_LOBBY) ? "Yes" : "No"]
" dat += "Randomized Character Slot: [randomslot ? "Yes" : "No"]
" @@ -2072,6 +2087,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts if(href_list["tab"]) current_tab = text2num(href_list["tab"]) + if("ambientocclusion") toggles ^= AMBIENT_OCCLUSION if(parent && parent.screen && parent.screen.len) @@ -2080,6 +2096,19 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts if(toggles & AMBIENT_OCCLUSION) PM.filters += FILTER_AMBIENT_OCCLUSION + if("parallax") + var/parallax_styles = list( + "Off" = PARALLAX_DISABLE, + "Low" = PARALLAX_LOW, + "Medium" = PARALLAX_MED, + "High" = PARALLAX_INSANE, + "Insane" = PARALLAX_INSANE + ) + parallax = parallax_styles[input(user, "Pick a parallax style", "Parallax Style") as null|anything in parallax_styles] + if (parent && parent.mob && parent.mob.hud_used) + parent.mob.hud_used.update_parallax_pref() + + ShowChoices(user) return 1 diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 731f53c7838..d95f6c6431e 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -417,6 +417,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp return forceMove(pick(L)) + update_parallax_contents() following = null /mob/dead/observer/verb/follow() @@ -511,6 +512,8 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(T && isturf(T)) //Make sure the turf exists, then move the source to that destination. A.forceMove(T) + M.update_parallax_contents() + following = null return to_chat(A, "This mob is not located in the game world.") diff --git a/code/modules/mob/living/silicon/ai/freelook/eye.dm b/code/modules/mob/living/silicon/ai/freelook/eye.dm index 7344c6469c4..c3c47235b91 100644 --- a/code/modules/mob/living/silicon/ai/freelook/eye.dm +++ b/code/modules/mob/living/silicon/ai/freelook/eye.dm @@ -31,6 +31,7 @@ ai.camera_visibility(src) if(ai.client && !ai.multicam_on) ai.client.eye = src + update_parallax_contents() //Holopad if(ai.master_multicam) ai.master_multicam.refresh_view() diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index 51ba6c6bad1..2d3b03b967f 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -189,7 +189,7 @@ /obj/docking_port/stationary/transit name = "In transit" turf_type = /turf/space/transit - + var/area/shuttle/transit/assigned_area lock_shuttle_doors = 1 /obj/docking_port/stationary/transit/register() diff --git a/icons/effects/parallax.dmi b/icons/effects/parallax.dmi new file mode 100644 index 0000000000000000000000000000000000000000..181b76007d45e346591ef0ca43efabbeee6efe93 GIT binary patch literal 147569 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

ca?|l>7`Wtj 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%0DWJb!S^%8g3brw65ZOow+=t@L%&G5UBGUV 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 Date: Tue, 23 Apr 2019 22:12:03 +0100 Subject: [PATCH 2/9] Ghost parallax --- code/modules/mob/dead/observer/observer.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index d95f6c6431e..ab855b5dc80 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -236,6 +236,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp return 1 /mob/dead/observer/Move(NewLoc, direct) + update_parallax_contents() following = null setDir(direct) ghostimage.setDir(dir) From dee792b39686115d88a0478517c212a00353b739 Mon Sep 17 00:00:00 2001 From: Floyd Date: Sun, 9 Jun 2019 18:33:30 -0700 Subject: [PATCH 3/9] Lavaland parallax! --- code/_onclick/hud/parallax.dm | 58 ++++++++++++++++++++++++++-------- icons/effects/parallax.dmi | Bin 147569 -> 163852 bytes 2 files changed, 45 insertions(+), 13 deletions(-) diff --git a/code/_onclick/hud/parallax.dm b/code/_onclick/hud/parallax.dm index 32b8cf534f2..e10fdb114c2 100644 --- a/code/_onclick/hud/parallax.dm +++ b/code/_onclick/hud/parallax.dm @@ -20,6 +20,7 @@ C.parallax_layers_cached = list() C.parallax_layers_cached += new /obj/screen/parallax_layer/layer_1(null, C.view) C.parallax_layers_cached += new /obj/screen/parallax_layer/layer_2(null, C.view) + C.parallax_layers_cached += new /obj/screen/parallax_layer/planet(null, C.view) C.parallax_layers = C.parallax_layers_cached.Copy() @@ -62,6 +63,7 @@ /datum/hud/proc/update_parallax_pref() remove_parallax() create_parallax() + update_parallax() // This sets which way the current shuttle is moving (returns true if the shuttle has stopped moving so the caller can append their animation) // Well, it would if our shuttle code had dynamic areas @@ -169,21 +171,30 @@ for(var/thing in C.parallax_layers) var/obj/screen/parallax_layer/L = thing + L.update_status(mymob) if (L.view_sized != C.view) L.update_o(C.view) - var/change_x = offset_x * L.speed - L.offset_x -= change_x - var/change_y = offset_y * L.speed - L.offset_y -= change_y - if(L.offset_x > 240) - L.offset_x -= 480 - if(L.offset_x < -240) - L.offset_x += 480 - if(L.offset_y > 240) - L.offset_y -= 480 - if(L.offset_y < -240) - L.offset_y += 480 + + var/change_x + var/change_y + if(L.absolute) + L.offset_x = -(posobj.x - SSparallax.planet_x_offset) * L.speed + L.offset_y = -(posobj.y - SSparallax.planet_y_offset) * L.speed + else + change_x = offset_x * L.speed + L.offset_x -= change_x + change_y = offset_y * L.speed + L.offset_y -= change_y + + if(L.offset_x > 240) + L.offset_x -= 480 + if(L.offset_x < -240) + L.offset_x += 480 + if(L.offset_y > 240) + L.offset_y -= 480 + if(L.offset_y < -240) + L.offset_y += 480 if(!areaobj.parallax_movedir && C.dont_animate_parallax <= world.time && (offset_x || offset_y) && abs(offset_x) <= max(C.parallax_throttle/world.tick_lag+1,1) && abs(offset_y) <= max(C.parallax_throttle/world.tick_lag+1,1) && (round(abs(change_x)) > 1 || round(abs(change_y)) > 1)) L.transform = matrix(1, 0, offset_x*L.speed, 0, 1, offset_y*L.speed) @@ -204,6 +215,7 @@ var/offset_x = 0 var/offset_y = 0 var/view_sized + var/absolute = FALSE blend_mode = BLEND_ADD plane = PLANE_SPACE_PARALLAX screen_loc = "CENTER-7,CENTER-7" @@ -232,16 +244,36 @@ overlays = new_overlays view_sized = view +/obj/screen/parallax_layer/proc/update_status(mob/M) + return + /obj/screen/parallax_layer/layer_1 icon_state = "layer1" speed = 0.6 - layer = 1 + layer = 1255 /obj/screen/parallax_layer/layer_2 icon_state = "layer2" speed = 1 layer = 2 +/obj/screen/parallax_layer/planet + icon_state = "planet" + blend_mode = BLEND_OVERLAY + absolute = TRUE //Status of seperation + speed = 3 + layer = 30 + +/obj/screen/parallax_layer/planet/update_status(mob/M) + var/turf/T = get_turf(M) + if(is_station_level(T.z)) + invisibility = 0 + else + invisibility = INVISIBILITY_ABSTRACT + +/obj/screen/parallax_layer/planet/update_o() + return //Shit wont move + /obj/screen/parallax_pmaster appearance_flags = PLANE_MASTER plane = PLANE_SPACE_PARALLAX diff --git a/icons/effects/parallax.dmi b/icons/effects/parallax.dmi index 181b76007d45e346591ef0ca43efabbeee6efe93..22f091ff11a7040258a691d0a9b97e3365e6cf51 100644 GIT binary patch delta 37006 zcmb@t2~?8Z8!t-poL{3kHl{@ z6@kjs6cNn<6$OVB1(6g15z$NEIp?mk&bs%Wd+z_fYq4I|e)rz*-p}y+?fvZMoqw?H z#e?lHkFR@_dLmHuWJ&qqQ|Gm7HfHH~ZE`Y~-y{#U)dCHEF#e9~?x=oPTvNR6*l$4b zxFv!ql8S!WS7jJ#(ddyQR_h0vKZAsM9>qS0q7)+? zHPVkb9gQ{T!4YteX&+c14P1d9+*DNIAOe+~ z8kAUEnnek6805`AI-#b`7q|EemFK;bdy z;n+zAwU09u;mLvG^J-NSW}W$sHB8)+5pHq^&8LQOliH48Wl+6*ST^Bh1y8ef*P#ud z-U`-IjGkMb6R)bp)_pbFTm!XWWk&s#r|p7&#e<(gu>}Xs>#1a*KA6nSTyqd;6$eckRiEe(Bj>9-HVK+@2TZs>TszpTKK%4c~|%06jD1zE8c#em2Df zIaa;41uD3|7{hswfxSf?Oes9=zqoRl}CF$8XRD2eK-I!|y1pVwYHnA2C z!1znzd~0bEiSJPU198&o%-ZsT#~v%PY$6tF!&&3UpraJd1n$HYQbzf1=1tN#=i zu&M8P`zGnPEW9d?T(veaCsGNCoBMn`!4$QHz#F~feK1SIL@mP_%DMC~&$$zWt-mu8 z{wW|fAtFnrVo8+r}Atm%F9>1Khgf@{v9%d5<5=RJ+7@7X*%xq^?_7vr2_#KTTv z0}%_kGew~;sE<9FKJJ7|rG$J7W8g;iWIa*X$r&mzy93aZs+1IY-9DoCIUPFOq;3AZ zW-*^NNdP=0G1q@aHx%a2Cl?L2;ca(qj+YqKHYHxJK$}%i0U>inm_#2U;0tG>-;J zp(4=CYYhvZxrugjK)I$|7FV`}Sz?!JtE4H9#1`M(d6T@5;UQdnGwqVbP54x!L)m9h z&CON+Cw$VYT*U1)yUeNy)X3`k4>EBj;Z2whcY6i9y!efM0%pI3Qc1$(>~{IAss^e9 z&8KR0Kma^ObkFsSoOp3vZO*A#B8(KabDvIhH=>_#`v+%2)?&gDYATCwL;1_&>L*oo z>FHY}Uowh5b`}hF^-rxj(@$xc7aJrCgdD7CmoWL~n=D`6o*7cq@KY(#J$lY>WMH_L zuHRts60*rJhrK}?brFl2bl|GkUtBmh%rMN32euZN#yZ-%$K8U)2@*vsjP56?l_MWp z@Z5`$wWBUJJ=Hm9{CvtJs*{lSaNE3|5mz}BG1k&HJ$5>|GD3t|9m$%L-We|YZOH2u zI~@Xn@~*M;v^4QsZ|LUR2$EO7nN|zk_8Jv}Qr!xJXQ9c_^k{UutDCFRk7|o#IU^W>lSwIp*E%LDGIYIoE z((MgX+vZMCIH*efzFg88hJg@pC1+@j_QkttOq8=5P#sKM4))IJ%-5zr&q~oJo2fHA zYyD5|^UrCI)V)WxE+XqeFnfV~2lIc@x1BF+8+uU%L0k7#TSNtCQi-1fdb|4B6od<3 zI3&t`5%`joh@*9u=;NSCx7=Wd8{uP!*_g^i{29KznI0b-$#wDsXPqo`##sdg>vz~{ zfc-1`uJ6y@>GNafm zY|709=?(I#;#+lZyq`Zf9ZHhf47|Xq^mAv49yQU_4H6rad&eoe?#zaKeRR~xD#s+V zAXmlL%f0@~%C-A+`rbaENIxqKn4l>fFb>U2|p%wBr2Rz!jax1Z3yni^^>+w zJu{l1H=>>R!L7}_dEvx)9B-!EPx?h|?J-K+uI&%!Okb@)jW6!YnFNnC!udb?pVi** z>5mZfPuR)xn)y`H8=1;`VA6hUfKdh5ou$`bV_X3E;tI1*hwMFW8Ft*d$09&Uarb7$ ziUam%2rCP%f?TxZ1;!oVY`q?1aZl9fHFOIGc!xq89E-kqM&nhZW>g!C>Q@`6VFu8*cbm11 zfgswbQw3(gu8Nn3BPUo?5K~U>^H_fAC~hlp#vsg%lI<-L*Snf?_zF7nMa0JHTMHTpH^^IoX&zv#Szw1bs2ly-3ow)AzkX) zrFgq1X4CbCyv_)(2i(ZOB4f7{FKLBN_~gV*?QeG-i+Eu^PZuAw!cUxDBN_0g;kntm z$bidDPr7IWLV_TX$>J`Yj1P2ud7Ho0NwkelqXpL%UU?RHWjFSM>&C&%-NI{*Yjc`$ z5vbUE$V4znSUcn_ZG@yC0ieYEo+;P(Z}`J0lD^O=dsdaWP07(7OY4y^*33qTNLLsk zGz_eBG0PqHMr68n7QxNMn%;!oUq4#=wWL^WId$zONqA%Jdal0e3Nu|+Nsh3%2RW8O zb-D!0*}cE@b7f%B%!b|jqxX*+I4HNuDZlF3B7>>$>ylGGh&K+vz7wgP1*R1jlI7eF zr8Kh8agJ(nt4~_s0rH(%A1_#V=nVGAL#5*z8(kPJY!V#mEgIw>3o`6lIv4wja9R&uoAHbmy%MOFwTL7X|Iy zfiq8t5NGeJ*_eJ(oi_TcMZjXq0+GHGb@7vuUVX+UdS`c0WUhWmLN8N)j9A z#}ACoSL!qJB~jH~<~5l7V~VLpDm%l+KHgB|%>vU?eXTwrWl@a!&$CB0DW2Lds%H zH>${emcDK?2$a9MiRkvN^@-P!C5Q?ykkO^jh^d+%o}!UrWSa=%nj&*43w4JIa1xV% zZtVOtzN+RUjkL<%P;rdzvpSl7*ousc;WQL9E|#agFYXS3$ag~fTb2#2izlxB*09uP z63d{=_0WKgq_khlP4DDFMov^@remsR}}|lQ+B@2>GQy( z_`-oe=vXK5aVq84Q$gfNT!RjO%pun~XvLrFlrMHMITJ%z#mEu#CfrH@47v2gl`1)0 z(7HWWBBe!)ft{#&Vx$`L6SBu*AUEvsci+B8Uplu0bOITN0+WlBoAr8}z0=CR2Y`Dx z((=y)f6YfF*=@V|`{)u!Q*(F;m2z@J#El%xWRsw`X(93flTtwdJr zxJ)^bYnw3H6iV?v84m*(G$MLX#d#$zHpZSusS*f0R!g3H=zO1w9{669c$uJ4u&uBK z9nL}{ue<68`#0R}v{bHGEy2!5ib8E9AB!d?w|sB92aUf3&E3)w`y&0r4-m9B+Q&&B ziwW-EpC~}Y@6#Q1$TF}INSTtthUocsW_-??3skx+e*vFh2qc`i`cP&v9}KJ$(FTsg zwi!anav@W4YLQKY_UNyXwEY|O?euchsc?$wCtJ0l7P?1LX9cItr@uNzfC+Z5ARV7c z+1y?vXU1)_GXPMR<+TfrfEcaKr=VSTKVf8M1e3UJEu9p4At>l*}tN|rT-Mh5$7#Q7@}?|lNqvyzoXNHa3%^d~^a^!q&JO0ioC^-M!+i2g%AC1CIaMp^USL*UBo} z`_Ga1pPx;8ia)iN&+?LYMrZTMXcNy5O&sXFe7ZQ_XE@vtTNYcV7A}qTa=Kf~ z^pE+A?Y9*5^@R&mWUBuWT7{0pLWVT~TKI~u=L7U=*NvQ{)`sOitTz6%#t|D2>45F3 zx|ChKmVqHTZ+y*>r}~P75X#)x21e+Op1QvBziPhzevx*ed!)kRSWmmyMB%4F{{`bg z*1c+!jeJ3zBXenirPeMSH|Tq#e>113p$ci?Jh*>((8s-(0~>}`!HfhT&;!867zf+4 zqIwr8Ew@3N0mnJ*McJz}L&KN@{&&Y#k^_i^|;^pxUL7cN9SzgJx`dIC?9aZg-$SoALKr(pEj7NC) zUqs%Nu$9(T4&fPz}b|l1E0#jG|!g+ z-^OM{_9raMHL0Zn1AW~1nXxIdG?%)y{wBF}Z76;RP2nudjZjd!OfCL2?A9$^@%9w@ zum0$$Ac@WNqmYzSW*q)`C^Uy2ge8efHAIB`ZCYv;ldD57+#~YBEEy(h$xXuuEAj^W z^3sl^?kFX}CnE4uDK0d)@Fs7HT2`;g65%6EE<5-sr;5Kh>VIk3K1I_9lqxXsY=Mq_ z`F$n9z;+7aKqh&?DyD#%QN~CZUv=_E@!c2_v0|4Sy27F_V9XG{mV;&O==b2#ZhZ(v z?`DB3MYvC@88i!L?6-+hVlKiA{Sj8JbsGCi%zXt&)Qj1xW8)=vT2_79owzKwZNn=? z>`haEIyIA-#XmQGp)Wj2Y&~I9DGy!NBP{;J%?M~Dmn7A-!<92u#htKei?wz%4Yr!g z?23*Rjq0xxQ38B?%7fU0mvyI8!pDZw8}NMJh!d}0L@mzM=o`5vs+{1#y~N|%n_ALM zfr?!=esOBnxHixR&;y&nZHK~V-pBHjXp20vwOk9m`~0E7)VMi;#@b3&hVT%^E1Mx& zNmtyNY~E92MW@F$L~^Gp6F*<@u|>PLM~YhL2o|FIRBkbuH6NMaI+{xDt3j;eao z=Ny_yb#;Xsj}*So?Y+g3KCHkN6@+{Ko_*q(a@iCiDzCqL3{2BXaF8>CCA&t5bvYif ztIRH^0e$zZ7^nlUV?iapCF+1v1e(9$Dlb@Y1RM6i8#y`EQ8EcpkO)_Xb?EAkC6)oG zarV+HEQ>;Hg%rj|0YSx85!N^O(C7X5*?VD>Wyo1xE{m2)zCz*m#6Sa?Uz8>dW~I2` zBi)*40%X9i*0y0~k8c_-FgMqN)*HcHycVj=sc?EO*HWyV?_f0T*AN9O%p3Rpl?@w_ z99OrtFDgM;1u}?)UM}p#)uAEc+W8|t>kie0U^^bS_?-b*1n;W!o}i;D?{nrRsP5gB10U-NbEjhZ3%SZQg? z4wp;s<=(DM*u|_4iq7J5=%_7*<{ryz4 zE~AtoK)R7MbFNR!(pGMq+w>LtzEcKSY3y7sJJ&z=US*DY>aZt+z0;4M%j?%?oSe9C z4~l59PBI@VJf#ml4pHcBSk&8h7qN5bcBr6{a!n7s6M~G9>ll7Lncvo{+-p%+V+PNg z`pGLN;6NF!PR_}SD_hp1hHdB>zZHwECtT(>?+eeY-_Dy-uBT0GS**X|$(?88^Q zvVoiDx9$IUCbG)C)*@?H;o?&q{Z*}cNsQr~DDlHdh>TxsuBne%1SmB44}553Q_fv>g<>enqgF94g(*>iA9CAfpNbNioGJPvjl9P(4<26m ziGrqco1uEc_4OaV`j(h3`xYFsTmhypSTl2P!ZQ6}I^6~Di#zlCrtuO74*3}s_)9v+A9sc(q0j?X*82yE_s0a@-mMW{FRY5nJO4^3mVOgOcx`7}**Kf! z9{EJqR>QSJ34f{TlD$}d88M8a?G1Z9Yi-?WaSd=K-$qh|f%Vk4%rad?-a6!OBi3i` z0Iz?A0CVhgw_`@s()R>=l>{<7y^&RC z|0+cUEmzX`k2AF&hrNE0&n@!>TUGcM=#u-`#@Hz(HX=CJE!^|C^?gQZt&`X0TvlHv zbI5<&Jw3JO2eOzYK7-|-rHw;2(*eUBFB8u1Joh16Ql-$iD$10Te38hq|S=$1a0 zQoa`!*K(iRf#p`gSmMlkbNUX33sY%AW*MTO{_&7Ul#)FvLC)tgRgNB zpbiigrd*e6SFvAiy`CXY5qeUG194zU=vpg zv+oCc)rEnt2f=X%t2Iy4z`1(0SvVI!`L)$OjR~(#SjNm5nmqfSZ_GV#Lq%Sm;am*( zi6af??M?Om@ogik!pd#hgWe}!vvO?5uI=yY;?R_>%Po?;db1{Rt^Rxe{o&~kG3*Ql zzwX{ta22--9Yg3Y4(Q zh{1#mF&C|PdPY<&4aSd*zR~a6SFAnV(%+VI&^zc{7ka6QS;$=CQfFGG+Ro4|(^@_j z#EdJ94AvJa;Zlg&p5|N*F#EB}C~7&6$itItWt%oOZ50je;o@;MQE2EB+iC9 z2@fUJ5hMMrIZ6Qy%l-3<79$1`SHn_k=Y}OUFHf2h7QeNI!}-?SIaOP=9xax>Ubs}4 zX|^^*)4gVI8aw}p(OCacWwTOT$@pm-^BU%QuAK5DU&Y!-4)E8B@h$o|_?8J=j2V)I zeqqmjel~9w;NqrgY;em06npb7-2pSl5<%zQNKJfW@X&||=eW(Ka+s5Q%gjsgSG3g{ z;`Bz11Ce3*leK|&yXUQ6oJDV|Zm10-u|CI|CTj1LT=`psz;~{V@8}{j{B@Wy`C9HU z7Rr$xV1w@i2r9G{m573eEeQFH#d8hhAha*4yYlcm*YX25={0ju>TXTPXd?f&`9O|b zEOcgh{UoEdmKxC~=F!)!y%`WW@myCnqtSWlXB;Urr>LA^cvd)vB23^r>-7jKqOxw5 zO09jsgoQq*@QMDS%9Z(Tuabvad@q|XO97jxIbgWYRX@3i7ob?Ixa%sr82Q1nlrU2e z96Zu{SaBLmk|;p%5!O{(>I$N2Yiq=v_=WlaIq#+a;=;VsBXN&**T)dbG>w;$inhWF zMCw;UQI)Ce+yy8b8A&jf+9|dw?n*!u&x(x6a9K>+sp*14&hebQH-3q#QCc<$?*0I< zfw^izU%ANZm=JDRR~5%mS|~CCdzc-5rBHoFuIs#uKTV$vDLh7-uW5U6)@Gp7YqN2! zkIu0QV)RM);P${E?{A)U4Q6$b-lcMM`8tn!%+8R23w`}14T&2H9E;u~l(TUOa&@UO zP=1tYdz~qk@*?$_HcRw=zC`tG%$glQD4R5P`MWx~m@*v|;i6w?h6C67Ycl&Dz0C-{ z!0YS_Wpr%+=I_F9jZD}(B}ir*koi;tHeAqt$4!kwhSSfYEWGc>!~)w6bbHs)p(fdg zK%Lii0ibMj1?H%piPx+c10VmLe#>0HIGTU?XTytGhrhuXUcC6i?>G^u<(usjN;#*UH-E zyI)+qa45)^_h0%W_8uqv0tPmpN9@m6O$x_*v=?4TK49^av2A*N<@V_fJ3(KLO^<(w z$S2hiXYXrXiQHK6V;f2h3L{ARKW`zWg$GFb3Am8q*7(gNzco+6sS)iZm0=I_8L!wb z594WpQ9RT#$6Mhm@A9vAo}-E8R-1J^-FoNi1W(q+JA8cXTl@7z6~HzZGL%yEKySlv zcByU(+bmFJ&EFByY32R4Z}HQ_RiAy|D!MascMRQs++iDwa+j=r%FCxN9ZsbB__X88 z{Ll)`^?f+J5oL?#11~lGEUb=MDwrJc!M$UCI#8jj<92_u78rJq~S1Td0c^Zuya>|Ty1te&;QyHctOyVx#z9R z@Q)a?DxpzDqMi3aN*p1ggnFKJTsiEN2oARavd ziJr>?PR7RG*oKmewMuctW+^vz9V=pQa4Wtj3z549UhgQ?3+{gI9NYV^xL=^_^Yi{ zZr8~k*Q~}kGfx@WcPC#DzN&`3x(^1OSE28~_snZQska_NIGR`Q&_m^19wlZKqf9U#2s)`cZ$j zPXGLl{kz^kAqV@#cI5}!HyF_dr4;Q?ZUUKNM3Ah@}kv9kN@ zj#>Ual99`Ra@Xc}@I`6=yc|`ZNi))Nh*#kg`;p(gYq^^buEqXh2?J5{!?oY18?_EX zPgQK*f3jydSpC*YyK2b(X@|+o3N3%PlgW@no<$*4})O^jehMn@gc&r;6Qgss0ivaaRzs&aR|s+Lm%R6eMrz{h-_ai81kt3e82U06I~*%+Tnary+)3rT z#S}PE6VSu*mQ~`t7p~ix*=6CEw&5Lk?p1F044>?MWm{b!*DmkUdP>tNsQk`h>Vm(G zjcz7%B|7+Wnwvu>dnt?TWKkX0W+>U$R`2^&k}Ej?2%A*V{^m^*YeGq9Ks3Q6^z%Ok zM+K7HR^0Nl-lgRaM%cb1g0wO+_h`DOFh(PwujF7~jFv0_qGv3`8YOudjvF{CxAISb zSrtpq+~y12Zka{Jxy>Kr9p``iSs=e5rtFBH^|xXej+GBs)MET zM*w2MHzWSSDK}A!c;BjqDvd>nTG_wlr^Jfk0~hpb`H+J+0Wr*vjyKD3G4daIXWquW zEpTAf8--F3d#^O7P~l<|EYElnz$|O`;%}mn8Bg-HeF}Wq`Q=8J##Wus2@6Y^C*(Lu z@2=VHujxb+)M_K&OsqOGw=_vxhEH_>+smZYqNe0Nnzn^kzo~N9O&(e4a!q+X^zp=@ zE!**b~SEk!dLGFy-I!J=Wg>JJb6efS(zdvPniX;N`0YS20wPl z6RqhuTgD|kpW#daydn^Iv!W!=u6C#NeS} zhFj!$m$~7=UJa;J8jGOPhzpy7f<{b=_L{CP`>ho)!PCu%)%slmNeZi#aS8VRl2NoT z9bXk&w}D*Dy#SfAcd3eF1%=<5Cr!RY zGP>9jURUwQKGFGbRM-@9>@AX5&uG{pr-094uXD{nS-6dOi zUzpplygDTQ8^8R!uX%f`{)-%C{Y)JH4t?Y^zxL^I$e|C7IY7119A(*F@Ugr=PUD<~ z*?wc}8JjA%T55m;DOa#MYVu=Tv1`z0*xh1mq{4B#N-I;DDKu%q)aMbjSp65Eox+H~ zt8h#|tRL7r2wcozQFFx)$|N?^O2ODuv9V>FCn9%bVQ~%7?&HhRbRsU1#f{Jr9Di}- z?rvy-k8J0l`<|_on=ReOsXBl)WJgQ%{ISJT$P1Olv^?gy=aF@t_l^568k`k8>DTmW z-BsoQ^HkI4++)O8@s*2pGxzm<=2_ZA; zgh;MRQn7`;pl6W9EKVv$_vVr$_#D&C*0ZDuaaK5zQ|nF=hg1!hP0z2K*$Dzo_XGVH zlz_Qn^i^9`>BtgSfJjhvMg#=BV~R%tQX*uBomFkKUD6my)8fD*reN%*K5p)I{9TGS z7&$|s)%0@$UaDHR=-Jo@nMmKSj*_)C%%1LPNf~;h|Fh*IU!ujwLxCrwq9dVpy`o!^ zTx9kOduj551D~>XiGQMBL754}xe-VlB!%lJeaS`ib$sttxQ8b+XWQh?_<8B{eI}iZ z?^Q%Dy>WwRG~uFSA%%ZORbV5`$`-CtXs!xjRSd+VpHpEK+&Of20Hsw~=Un9CbchLM zy5XJ})BTOJ(-Z7*V9?5r@U~@{la(ttwz4N{vZMXQokJsdU1pF581PB<31C3e=PMZf z%1MNgZ|{aN0T}9BLQwWyFhuW|Q$=xKWs`RtWqEj&`C(8D4@!&|=6JO;Gt_I(u4^|h z-TA44R!e+>@WV30{BqkctIucm?I8Q`;#B zFvfOu$}qnQuQg)nx~cga73k>@{LK4XW+F!F5GF|WG5Ltiq_kvBStNL-GkLetw-i0S zSFu=N#F*^2i%-E3OK@1gy722YDg|7;X{54ik1PY-**`KPEc+8IWO6g(uE-1+718v7^dB687rI(<$S zr3+#V_S$D@O)ukdTOXxd)SmGhP+|)^$6PkN{F85Swy^u@NoULqW5i2-lR+2`#_S)# zZ=rE(YIbpF15F?ARY{>JxegiNFfef!{CdwFSq@puQQ3iJjyKSAdCS*OWsO)Xm-Ik} zdL<7AMgFc&wR_!hGN)rVv(-G=Z9(1gUe4bKpbj)9hQy=rA0g$?p%I{N1KL73YGf$xv!kDipI{)_SZus-gEEF+MuTRCW2j5L}uh7o3 zI8`i+WI1*X!=Njg?eA-*92^O21XQWPvjfdGcFKJU^qZ>br5~^R?zO$AHF-1n>Sj36 zs@bvxOeE$(!?pHRk1mvgBl;rlrX*OaXG=wt1CDUuZO(E47Tqw=w>{B9t2c;Nx4pK& zY-50Tx39Z$_M&26(*Z#+5#@_P-4-Q;Va83+ZIZ^<;1MddIGC6F)@1BU$69qt&&r*h zd=Y>>!*}g`lIsd0?fdV^1QM}3Nsw8l5Ox`Po(7K~C9`85Ckn16wNeC+xjB-QT>9V6 zYR719*r|S}@~YRa2EAipw^(8NEKDN%sk#2L;F09s>4}fsPZ0!SrLz`myrJ0wyv_|< zREQdAMSUf#UfQ|YG~XD0oo;La^nCyQ4X*Yx`&2;>m%}tk6RbOB&5Aw)FY1wEi^IF@ z&5Q>h4n{}4tFhl8{Xklf7f48=O(Q7LYRj3t-oJ+|f*a>T_; z1h^pIU$}4d(z)#yK%i3{E--6(eWBXjH^S1Klfw> z0~7OiXc&mG>>P$uSoM4&-Tcww83XC}r$4_o;YHu=@=*R`PW_JJC&)fpX$}n@>g`L! z+Jj?ham3Esx;W-_z#vL+C67~8?`s?p6V@iFpZ$B@0jZJomkyXOr<5DuZ6eQdVnOBV zlNYq{N?wL>?w&qut6Sizz!Z4K{H_$1+#T=<`Y@qhgcAms?YM6dv5QqY^mtG${cl(v zUC1sC>uaqtne#gN<5z}DtOqq-8|-x?Ue|zaPo64++i#2>4A8zQ8gVRKz1_@j{tRcF z%{!{!`xSV}3!f5ysy}^vf6$I}oei#i6G!F;tRhQnqagrcsvrjosCDYP5<75reP5MD?8Df4Ow=PJgMmeZ zfu)-0Ox7pJ+Vg`3W1;-ws^%|d3Zp*SCKbH3%WDsbi$htulp+`UKvxwHNjfvpigHFSr&mhLlWYRc9rDwOS!A)}hLNM$qBe4XPu!9jn*i9^ zhH5)T?z9ew|9bcRkLLCTi$c;b&0Ieng(y9;n=t{y2(j)VOsMS`{no>(!Jk4>PoZv; zq}fzIUT5Z0&gG=2-BHM5zfu!w9}hbduO@D42$k;Q2AemgW<^CtR>yFrw{Y2lgzM?I z_ZiQ1dX!`xZ?_2%npp4Sjv%AKz_IUkui{FV_>3Ga&E2*KHE9Ys)dlGmY)QSFNHK?Q zI*J^LH&nq43;Oes_dh#c4EZ7q1mSJB9VAIZIHtdsR6pflEL3_ z*g!xzO7ZD3wls#74ZU4{^)Ae@H+uEU)a{C|#Rq}oyz;-iIU}t!BR3@Qamy7tfJ~sb ze;q0#kvJGBg63h*D@F9h5lj!cRJkuDBRqN92aI1k2M{U_$jfn|nE5j40EQ@7Il@!Q z*Vszxi0CqMr*J7x-cg`JgX&tQgWBvw@`lhiO;S9qAesGOQtou?z4fCbZ3V;?3f8wQ zkH7e=xS$)l+O}o|Kv%wHRY!2VJqC}@s8hid@A}9n+s@wWW0$Lr6PA9G5p$;6Yyk}l z3HuoGlH;n+Q-5~cV9@LKWz49+Mz|=lkovI6g3FO0(C@o{qOr2;&bEzT{@fpATm=0m1z)!Pb;a~V+r`d$K*rdz z4xliIBh9-dIzZ96lWB7KhCM6)|86W7ax zuv;dKkc|Z~Y-7PkTj_HKzeCL>(oWX0>rW5KUupuNy-Z2$S_K2aiOPiRmpus&Nn5Gh zu@01C#LD}*_^PM}z%LZg&+LwzY(IdT)sel_Kg~;Cw$i<`L0RLmJa;6}gp0@=tQ^tbtV)^}72nmFkKaIXTM@+B#-JGb_1(lYq;Z}c%P}d8) z>;KQE*Hwj^^>OY!)YaJ(&Ky_28XwEK2UGpi^wT?41gJ4ql<6Kb=`<<59aCUFOZlT! zkYn#p%}$cgg}8U!MK`zE7dwanGo6B9IgLI+rYV~2SN}I`TSRN9sTkD&ZA^6`m`7Le{{NktNdToU>UIXw@SU_ zCsOycA_WLeSm#;%X<21Z$l>*)xAtE_j6ai`X;ND~vWupzi8naqp0;ywg|F5Vh5AMH z58}!c_OE?yISK-_1T?)xE_3zRG8I_h&HT(}WkK@x!Ok6;p%b}OcI?_Optz?PEz2_a z)Bos2n>1+T5u5d_JUzXFpMyzc1c$AWV>PFVzjn&yUkGw3?7jlQ3$Iugj~#55 z`GLXtyyK+Vzh!wC$#9$aZog)BfDfx-!2}wa`squChSP8*S=M=}WhO*+>joAW0iwAI zFL{|lM!&z^_MZd5{~l%lAXR6Xhakzg6+4+F{EO1RxBhWllga|rg7G4Ag|>E!YAS`0 zwYJN6YU3YhQg!ALC8eul=3)gII(+z-Nle!Nw`qr%zdL;kR)=YuQ<;n*&W;bKYdB%* zys~8I>p$KAK&6Jc?Gb84PN``M7-?Xjk5GKv_dZn_BKG4=~WRw4$DoiGhu>w6ya7LGQ}6=fyIN z6!eo!F@67PJH+$cSBivupJ0uz^BEbUI4v0gq)2u~yYei} z!f}XBUTy4OSF=ubCV86~83z!AV}LZP@pvD~>LkzNEb(oc}!!jz!s>)7`Uhx3bjf%f7S3W6YUavzT)0=PbT9dBced+%`4Vq@ z_&4OxVgtD6n){Kih~SqNX7DTja3S8hS09$+;*W zGk$dG?6*m`PM-xWlPt^j1CngcB=}0Rhkg!a_#9Ol{7V{nltx7^j7QF0&89LARWI+@ zw{?Rk;SaB#kRkVO-phwD!9>4LD!TrTdn#wrCiT|jbJ_RH?ga+LcT!XKi*G->Kl$7( zr#0-%Bj6tPT58JiE6>RxwLg{)9;rx=x^?^%_P4XqLfR{GmICvK{KMe6=NIporN2_| zw>lGlmn9pQ{j87HJQ!WC>4Nr}>j4LM@ArFjca$O9&wxH{-1z0o zSolU#;(F$f3Ths@p;r)AJly;|?hG&QDEfzb=tsczSD*c_W6frnuTIZDdtVoK)^XP3 zK=#N{P;w*u*86MC#Zv>ulQv<*o$-XMC}OlpmLS7>q5XJ__}yStBl#B@G@zc&2REaR zs`qH-w28C#n!`V$Kcam)#o2jbB$ZfPfp~iS{Z`DC!#jty|N8=DfJxX$JhLo5*$%js zTYcWEmbEVA-FK1Oti9m@N{)wlh^4|xiNu@8W$NEmZlB= zI#yLpCdYlk>NGikG_lvfUcp5_%( z$+Ntru+?eb?u3i44<9m6{&z5dY&kStYx^5-@H@Z$z4BYbO#3s%x9j(QFpEs(sm~MG z;vc89v~<3e=KQUZ#{Ud|E3V2rs&>QShmyw5=MGs#v+HJ&3Y+E89|?R1bLP=wZlZOa zy6LYpG;;nA+TJ^;sqJkWridtroTJheJPJq=RHP_KlLH!%PUuxY=_tKs1Bx7}(v=QU z10fUxLVy4sK`DX?gdXW7giw<}NceXAJfeD$B_-7~-p$s}v9b(ibD?rW{B+V8pi z^t;*TzxB=+woHG9&EHmfUN558x2OOeGR$llK)9MN^+ADw%8cHj4cFp3pF~3Az+wFc z?+lP;S#y<=v$)W5P?JXa`HeMll@p#T0>QA<337ng17@Y-;3#J}F~!oi2t6};Vn z%JbB7nfm!+Wqo$nSMslD`&;1-~KElB`bDMxJaqz9F^jhD@$Qlyc z(Ov4JcNnDRWk;L}%1>X`fsqUVzvcJ-A+qw}L4DPR!-$ihA{a2}jCt1pxoD<}s&pdw!W`RhVR-%QVSvJGTe@d-@r5AjncdG#2; z4y=NjA{#n(nV;2Y@=BAc{AEpQ{@#gP(#>3~N*J}+2#=3+Fc}i-r~oQA7No`EBanHU zmDiy9ISU>t+FHvG{l4)PJKrk#kQd)ud;L9U7eYG5bww*{yv0w=;o8@O)*E$w<-_)n z0~L$Sc+I-JurxWMg88CzXtwS;&pXHLhdF)dzi*4}2v(n}UN|zi7uX&#?^|m1;Z}O- zy>RC@dOtRYRM+PjsbaQz=8hfp2U#rNtKR zPw3qRjt>h%kFO=5?nshmW6QtGp6H(KcQ=<$4|?qvstsGdl6?r+ntnCpalcMXlXEPP z@PD00{EGgUs9lvnEAaP&-3Y49HrxpgH?V)FqLeAL7)t8tjQm@@dru@4iEBU~GGn?5Lr@h{P zP!M)dcX3fl>Oq*W?s^sfTFcvc3He}I9si)dd@AKe+hKEC_D*p?QU~AiQDOEz~aiT65EdGAiA5m^~v?%H?bX%RaA#ek7qKk<^ zndoUUB|=e`Dc&UVr6=`r*?rPM?GZ%}UthtPpMjNin5auok4bj(=fygJ8%WIwd1d2L zvrqv_n0BAto*iau-EgW%X{i4U(YEnv73|*e=}NGN}z);Ma^lr!LJp zKRq;k9Ts-)>Zy|+j8FzJkc0Vm)f1T4_@x(qe^jI7s;7cq6QxODP7JCiLIfp#Xu!eg zH^A9Gzq)nlZ2X^JYFnEe#OlvgsdQU$q^bjO;xoEW!F*FLbOw4W@<;6u z%0e+oxZl(IQL(6qdZUuqsgoRp)9qlT61DL3L6|{i%LtEt0lQQ~yJvi6>j<~)1~!9Y z8XvKK4wwD2^)Vvzh26gBeunh-fie+l%Z=j!+(D)c(jJ7->IPxcIU}tB@2H5^)iEAFiR`mB4b|{#urK?4vEpazy zWQC9abu236KO>(Du@Y}TGIThw5uqJe0M@tps@zx#%qP5&B?2Maw=?83cB}FXAnOOV zTA@lASfh?3lgs9YxA|Os&zN8`%^cJM&ZwQNIRVK1MsEU+HG<~@P%m)PpJin$l>FAE zcUa3hh>z9Z{4}Z;ks!U+JJK-l+*vv`Y+`F5a3K;4I^b<+4>ns9LBLIY$C7^r_Z)Va zM$+bIHgV)nccJg*MDqGi#huwkZY1v0@R2lM744s^ZfaMLUT4Gl?z;N*Mb^Ia&j|sL zk6LoGSe*%yKS9$DL#n#^Sp3C#ky>BwWAXY)PD|B~dkKZYLr)y;WX3h5p6-#l0+!~E zr%y%I>yo%&Wq-HdGu{Z7-BJAvE1KRP?Pr%IMQU4{Zct^nRX=y!s7NjS+r-eMq@?TF z&i6uKzoNRcc>`yo5O_8+a`zK^du%v>egtfp`QkKM*12o0NSxK&x{hb>k! z?56p6j~%9K5PHkE?#YgiwPK2}bntmsDV-PJX8z^V+z#S7!FLrxJRH!so3GG~T=p&d zc_8=a3FlD;Pr$%`mOPv>4pncnDo??vp&O5JyDcVsRE4|yBmHr;r-BRt$?eGO!@nW+ z^4l_p)bg}*uCjE?FNd{Ui@Q%um$jpb70s*+lsgT}@GrOf5AdY-we?C+RT3+8awGY)9CqQ5i8r=+2ar>r9fv<7f zx0OKG`%ULZ#a%to4g9q$l-=dKzUxPywJ(s`*5ac^&&yF{%I^wF1#9EXS4=~*C4#pf z0QAwq1JHuiZ(Woqs5{+1nnH@eR|Fi+4M5Xj<V_)Lz`$gq`72NTx9o7fsGSMJ5k;W3TXp=aT*5Z86 z>cM&GKbv^`9%pc#WS<`pxGUXs>-0dK!B`&3z~JPgEB&{b5$7*zh&HBuf2%i{#&-7o zKg_Sr#3hRPG`X^$NjuYUy+sB!ZD$9issbBf)xhi|3jYJKS-Uxl8?r{NH&uHCH=m*5 zS3(PwnA!_1~Q z36LZzp)gl=7u!J7yH@EI{0K4)VNKzpo&Gkftynd$a=RD{;lQ9D^yU`$8%TJy*q3Qs zb3y6qs5drsDEt&FHbzO&mio_sKY_RIM85jbg9+bJuY@PU`}(A$`J$5i(q7Yz-qdSD z*wX9Sgy2P;yccrv?sN6!bebo6YF^_6E(cN`aD&lxViAUuH}Ni4J_Y3_sUAIlXg{yL*teHhyJhIqzSj6nYCU)!Csl z?j3B!&pF1#^q+$XyivN*uqTLaqt-x(rZnO;d}>rD_e1qbU;fY?^)F*hfNled$tx4- zV8i2**}UKMe946em23euldxbe=SUp+3v^>9N1e~sg=ISUMq{;suTst|Hg&~2eUmjc zuV2}_ZbUUGT4Oy>e;0Ge^;N;$28k<$wQ&wMoUeQkzLCE&p>~BWEJ8WI7J9qmT=Z+r|4b$^WyLp0 zeUU&Ky-3^P@cK~r%*{{Ayb)D+8Xui1b;1#JjR9U@##hILbV)tu9-@=i+pVGek7Xj= zX+K=td6z@JNW;q6>`gr@M}}!pVvSsb`0lGA)M*Ur^iWEH%x9pR=rS}HtQ>ySWJAUO zi)9MtXipZ2DRcAQ5_9qt`)EyVRl0ZhBBjzpF4%$hsMy6$CBQ&Y5VjAfIZWJmUt%UC zC%zFVy|MnyDY>@Y98KGxdvgOF$zW`F!&t9o93$xrHF z^AemNzS_hcCv$VF^kz08sfxrwDYMxVebVpSSeEpGp5^95)oo;USqA8@dwRP}K&23E)smGK%1 z0J#-vHt(i@dj~P7z6jDzv+C8VqC^>q^Sqg;33XVH+Lfxy6K#nN9QvdrhmgbQV6j-7 z$I8}}0baQC=K^Lnc6Le0JV&bY`L?bvvK1OLv((y-JFcub4FjOdtPLEZONqulxJj-Q z33w%+=#m;rk=*L$m?bG8q?1X~5efi)o<0{-&ku$O$5gAv!;`e{aU$4BJ={3al=+QM zk}9z4q+{Olz&;;9-IAIPJ;HGJk3R+%@J;<^^;TVCy24!nw*4(UsY}1|X!548TLmwS zru*#1eCEQ`D-Qj+;60&+o(1C>0jO%JwY zhD5@eOKrU`n+M2XIqYycRqi&W`9eMhvJln;CT4yn-gl-I$*Y)qJ4N;p+iQ&3yD)J) z?%c$iceIX7z0kJsAiW|JCE)619z8g6(tatUzC~TRq+Q&|K*x$r@mh5rmv_1FriT{N z#hH4fJ8O+w+{(RRy+8(3pfOXIi0sqgG>TTaANp5tJVT>83IDP?C*{ekRXF)8j6Jm9_i_Esg z`&Vk1cL`yhExr%FF4<%jF=PJV&-YWWb}oJLMGsGUQV3;_H>5DNg3~^cTLIn3pLb?g zn~G!1zm90tjojnMPxf|@jXg8#zYG3)6nV;ggf|~)=NAv}oWO;^=0g=MqHZIe4tr5a zgr=!moe|n#|1nBi{ESvoN|Mx>HAmK)D#|B{G}1yN?CK@>D!o)KT|KeiVIPb?E8UR1 z>U>*H@eLF-#5+5;fcZvXyIDES%Ww`mV;I(vZ!mZF8%muhe2K_kQy~PqM7Aa?Q2)AP zf4YNIPi!?`O>~(iw>N30O=qmOl^)^j&25o7Ja+);uSfIWUzevRT0{pECbgmboV?(2 zGclQ-OJe?Wp5>fS{1~Wd&()A4UZgd z#NtX3$!P%`2v}xQzCHF7t|g*K^5_t$e~uetdg&h??%~>VN4KXeMK&BfnD0~~_GKhE zFo3}5D<{bQKE^ma!0bRFP0qo}q6YY$``C%!a`jXvIFQw^bQ*Q4sY7_St_Sr^P@y{` zmn9$S$og)Q-l1bm$@EJb{4$=%l^MCfmvZk}Z`$McOD(+1!m28?t?-qd=&-HK$!3Y> z@W^vy7&k#W*ba=c?2h^s=cYrrO^<7UOht|^6MrW90S!m1Jd&Iq^o)GpWnrvvhp0+4 zj5#a1*4g^_GRizUoh~yhm=qhubY|d|bK*(%8zVo;s(DTvT|33}7I$RS=-Qu^HD+;x zzol*|#<$iyazLWaimeF@{^|9xZhvGAj=pl>anbjFmM-|I)&mrKUv39$EE)+W0sg?EQT8hu}L z@=6L*9oUi`1b?Dc9v(LTK|Hg%$9}%ZA+gPvh3N^d^G8D9r+rLuf^4g;18u!GV0plh z8mY^4`0H2Ki<;t3Z42yKrBUgkKoi-w36{^v+0Z97T=aFaL@ubxZ?5R;geI6-zfNj? z<#jdtU_#d~RNtw`2}J}<81OY8{fx_iSN4W(5mbv=(Tk=_|H znMP=;4G{;uV_MA{KPB4kSo4T5wNP7lw1hu4GIxcfHr1=_Ey@mSrKb+`Rt zNvKaNjW2~jpj8Ji3+Y=gT-dL>WfVr;<$YOvl2b2m?gx}3#uj79&J-nn_3BkY0fAIe z@2Mt)^Z4snP&u14S%_e9^)iSC&B054Rrjud5V!wj)yS4izEWx^-R%Ip17%yRTfIJ$w>KSQd2QT4IU5 zAWetqj0}S46gMT-r9=1F>yPSX%U8$ z_xr0qM-aXOSX17=1w&yUbK9Z`|&@m4ca794JbfXhv4!6Vs0`aW~Oa)2HY_*6g zBN2uO@Q=Z=BEtpQz4&liD_K9x``T?g<{+YEi~F#q>8V=77@t!f_~;kb+IK2+E(c{g zTF~}^SDUSyaP?5kT9b^)56oX8&{;P5^lg@I z9cQ;i4@^dtFtejm$g-|nsd|8O?G5DBGp|6$6 zmQ-hZpx);fl_KUMlNJTQ*w_R5zbl{%m5VCdOdL%{^S`oli)>-E40~;`Xq3Qp-&u z%hu|up?m`ow>DC>!dOD{szpO!!Ag^rZV{J*}tz zeP>Mp{7g#*b2~y7qgAp#oW-;TRu-i;mL1wRw}%DPjL4nnhj762t>4bziS1$*4qEp{ z*M`!o~{3K6$sQKucclA8$E# zWtq^-nrGO-Hu76#b+du4tlO~6n;d!*b;313V!f4BdZvN^TN7_0&zEtH9XQ6Gf*Qje zR+2gD7VNP;=#o7V%eB&J;YnN|>t5g*lv@OxWA9Tq)5)M_uH`%ARPR^R?ii zc?o*LW&|ApsetkYh`#BMEd|Hg0rYQzdo4Hm^|zmM&1!mbwQSaXnU%Y zG5%N&fw9F+Lj~KzqdqSa$H4i*)DKwVs#1eB%(<+J77FM2==(tx`Y+-1MI48_xpe0VhrRQR-0jG`i`Dm;YVxkd8udtb&K}~dKV!!eS){Gl z`d+@X-dEZ!zae~JX-aK01Npa&$-)X#=B%9RcG-_Tto!es#Z*6fRF&#{#>P4Z&&VF> zw#V-I%r$5CAxAn6@oMk)chimqY!5=(xh7F+dh{%4($sdLdwzU? zV-89!PlpOxYHHrSoYM5p_bnX{#ZX(}ZtG?G)$U;DF z7oY%}8SDL(qD&FV`ye;PWLY$cN(1kH@Z0x8Tq(7@X(`zy0|AXlO60mQQvQdKKr`K9 zvroka)3A=)Q~=IgLup=vMlJB*LMV3NWWyrbST3q7Ioy~d&(&`q2CB?-BdOON$i+6| z?vH~b-o87g)Epa^+33m3{Co>x6o66M-6##>L}PEBa-c`8+8DQKYJ{6hrg4uTn_S;` zkCE8bt3sD1N9eX_5nq7BTJ8`{7>n5`z?(6Xq%i<_Hm#aS#v^Hge|M*bI7fZ;NEaoHb8aPom}0Zsz@o7_xjxVdnxh3!N>2oiNV5izuyL>6i3F6Vqxs z-2Bg4)v+ULh5G3*-)=|AU=_8I^>0h8mss7-IAe>+UOPA`P zqcFVVm>}g?N6btp*=?oiDPKg{W+ve96trz=5%oO{!V?p8BaW1JA>?$I<<@_H--b9M zA)q)UInD`!DE`XdJgY=+t55RZB{Q2-6;O2l?WpO^?NXy0u!?naxcht%d1Lk@p%#o5 z*q~goLiN=??k3r-)`W0m)hnF)*=~wJ8h$M4k({cfl7- z;NQBKikG)?>yv)DT=+6Bu{SmkqJ=)B|CEvD)u(zM+093F_%U*iNOoy1`>sr{u1A&d z1Mi`Ae%Q=&lU@1MnfD7n)F4ty`QRQC_8fT6cGFsr)15V#(smKPV^(;wC_hBk=RoV# z@-u$kn|zf_07!3KcibjD#a#r$J#Eri(KP(uFZ>JLNas(Je_Rj71=TX?4MOcOsEHX& z=*=6DL#jmyA!%N70u!XUUmUsgFRJ~U7FCd0Nw_F-Qx!yxSXLB^Fr&|_}U=~V}GaPL7mDstn4c3&M9e_io1#^`5uqsb-@z= z!-3caL|!S#$(0xahd=d)&_?(4y2b&+_g+^6-gW9wnb9WoUN+0%s#>D?mM^V_<)3yze8s9mR1d#(0rFTiRu^S>IA{%_b*?*Oy`vj z!T-#!@sc@p?c{d5eIPcrHRRN$8S`vg>GntT9hmEwLocJs$cpzh32zMl#@$5_zfbOl zhAv>!tS9rPUUQ>&Ftd_1%qLCa7+Ii>DbSjV-(Y~m_^m3_iYEXy!)v1{Nwqv^-@!9i zx)TPTz_ybn)j4zD4L!Wxq#1T#^RAq{!`g@@AlXQ`Ywm?}_M*`61*ebcA(={5VY8Y) zME*MJwGC7Bpx-q)-4pZRcMQB7cDj9g!J@{p*tEi6kTmwt*s)>1bHohx!Q8|sm*(|o zh{q9PC*5fRy!XJf&jtN8Y6WxF#zaDl!5RsF``R^Y_$RvOw72>RYTdWdB1PX>XNVP-n;bkuaPMhF*E-3aDXxt$kDYT^eX+s6h1g-PHFAhId}`l z#h^R9mPY@H0T1te>1kH>^Nd_b8Jf>}m{jCx4gbd+&Nesv5-uqD*WUu?p;5keCU0CS zY?*`Rr!KY_wI228M*7ZzzIeE%^df5u4Dz&<%bI5O^_dtpiz;qsKB}4 zDQz~w-I>El(R>nnvM(Y7jOLi+UBoGBTDfy`cr7P@2!bXRI;^U0`slrMyv{PQ83z`# zjvZ4Sk?5qj1q07l>B)t!i~wUzF}01pDv8N6k{`^APwPvZFKZl1)?ZDIejNFItHWQ+ z+s=CU%Y?~ewvf!2Ft%~ziEG=~6VyzcN;bC}d2QKfiqJmaD`tlt+5vaSa`EhKjfc>V zp2Dx>nJw)PxpH_9zxITYJ9amLjkUiELUk-`pR;Mz*ZneLY}~Uv0n9s%p>%s~%A38X z#u_4joT(C%6@q(sdGBRHEge`lEY1l%3TOdQS^J8zMU)uogrP%3!qqC{gG@otN4+cH z4aXrM^9vrKfAL!EXo%QHJMBAb3J_ch1v~6a*_Un`Z6~%-F`JPqGvSO;u%_*8fIAQ; zo)%^TQ!~LS0AajdYv|r?Vqmt9$f*Io%@iMSmd;+f7xJd>^dSSpj1`_GSeK*qb34`z zXMHd5m?V}YcPEzSH8^RS-(?dtlC|}a3(~lYHWRQhQ?z~DU=1>M)zf(O2Ul8H>7K^1JQZ&Q1GF`nM&uWZwkv7B8ou5mWi;{wq7oGcd0YW#{fe zx3Pg77!xwbZt9?rnncz0D!;V_!=nmA*iQQX%F!EXZTwdv=9r$%xQ^U`_^7_oaCD%FDG}U+4ot>yyxFGSSCI5Xf9W?B&ja@6$IvFh`VOE^PHTd zJU}`JOBYu_V}sDijFJ2^73&fVkXJtnTcK@Jk~0Ia!x~uKXGeI0!^8CC{CPSi&E-bq z(Q9_vmJo7F*{0b?KVlm2q8;w*rx3xg@@;<7|5uwaxVS~!l}ztNNJN}(Ivl;N`%KB6 z%`zU25r9}Nb;s1~fW-78%bRz>{+j^$QA=G>V%A#?ExD%4lH|i7b=oiV$@qri3+81H z9AwuBthFrH70R3qO(^>Zp0G=N=g?4Cy4uyX=RiIJn5j+M@CmLyf!@mbkgQadKdFwf z$I=TBv~^+}?v4^RQrp6mrDj11{W>ip~){dzWdV}H3IX^nsFRSHPBJZ*oK}yxRmFScaW$;lh$N# zZK+KhhrZ2K2trd%tv-~z8q&Tr?yG6wVL?LDidJjEjOTkeK*6J9O^<2wJTA@Zbt9AW z_s)Yz79$Fycw=`q9w{8PVm~H`ymF80iO^yL^>S)J5ldprAGme5S50buJdToTr=&%e zd8DdA3R+$-gPZ+PkF06WSt-7=IT~OCrnHmS3`z=g2nl=8&T>)5d)P^0MsD@K@2%$_ zGZyaqHfJpxv_hYyC*#FudGpQkH-lj9FL9Lc4=TMOluW@FHEEOi73ZVUDVlF}Z!U8( z3>IKYFuS+031+=LlhoYDqqW8d3i@BG;YLtt{XTe!+s?BKfz@!h`2lT1`n;S@*oG~n zSypCs>@4A%EQR4NVn@0NEkx;Z{PVW3d-+>aK0@!I91N?~TN=Y%`5Jj?^Y$b`eR{2} zbZpLk8%wdJ=uh^!mB;v~)Lyx6d>ZIE(qv?;hp9oCcYvHdd3fM=w-u8=`o6$D;Bs(X zI2_(kb3eA+L(AFI>5j*1bMG=_s*gZ?xdu_i;>VclpiIAyUa%NsK(a$so5)tlKRQgw*|Qw?rhbyH{8zAb4(j6XM; zuI`J)js~UlYCS=((8w*Gm7(h&!Uqr{2G%%yoFjRkVyiHY&?n(~RbgO^k-^lL#E~*9 zMsnJndy|23DjthOvj0HXG%KpArxS*rH`;lh49g^t8G7g<^>R7w)EMg}IL|T0`rh|rItFb>oK?Tx{M_+Q7rCtCRitEv+ zrA_9e7T%ZsK7)0+M-lx-7ht(9iK_dga-gnFlh>_!=bWh`y>}jjAZU-di&>_zwz(^mwc5zlD$~_06S@!3)<=n; zmUyK^an&Zf$tPA+EY5)((hT4!+xhmmB+qEDYXNqJYGA}wx#}N4u+X@4< zhf{h*Gp&L6yjX{dpBQz=CNR9-bk+Rhi?y`p!SM|y%YT#+n>S-JwnvdvWr2`>h!4D+h!y0pX$o#G?**@RSlKff5zwFKUKZ<>giMQPsq|_ z5SvW`A{C~U4&Y;fOos!Xc+4Or+#X|x=?`5n>E;YU5;AjqFz8EDZvm3#>!Gl40n z4I=XS0$Htb4w82VbP>@_KLhYSbJ)mPD=XS2k?upg)67SFbix74#<27uYOmP#RFOOI zy2thk6YJZw6~iM9;IJY$;8*7Zc{R032B{0m3c^vXztA9&5w=7I8v!Gvi>Jk6bCV77 z5?(n;a&+rt&iNKlk`rYl=E<#Lr7nAWE# zE0pw{nT7n5-gmb-kjEb#ctGYK*hHn&*x3X0fj%A-QEzu8->T(4tMmyCL29{d;v|egkCE8K#@S=L!w#=v{S+uCdSuQNr}c z37SYuW+^K^o>j`VWX{3_3eDuk%>Ae~-ZF3#?u)Sa5KkI+$7ZS(j#A9deMG?gPmK6ppX%_K3>I$9Utgu!i zzPz7=d1kV3BQHZVawokoW8^S0A8xOOK-xXrBq@VC1fGB-G#JRd4@O&p<`z4y38#>l zlE?Fflv0S(A44AjJ+Dw4&pz;ukH?pgRv=ZVb!qLnFZ^q_SH$-^%03@1V1siyz`a{e zjHev5zx-w2{j6evXghnVZ8Ho^!TsCYTha;^VKd(9zk0B%AeizMl3FD>zwfj2cb$Ju zr`EPFub1~0Mv^8DU#^s*I%ghTYa^K)5MF^J%Qb%Q3V?fT22x+JbMNR0FJHpaFCtlj zl{K+??Ed_sRnUs&~-D=Ews1S3`rYgK(XG~Xe!JP8f6!ZNx2~pm>GNlSgdQ9T!^4;O}VSq zsmy|Oc`!#3;BVEX81a%IrT z!n;bvI4kp-W=)~1GqhrWyD2XYLkb2Fr;l=w^?Tfx^>XJ5JkK=c`EyWovOnD6X4N19 zOHWQQv7TAl|NjR>YlMK@wEBt?mnvXQ(SV2UPCTD zbVrO0$eG@oUi_}Fo)@8$S#C}iB zo8s*YnUm00LrO=jR7gti0Y2Ogsw51<+WQAiMJDz-+?jZO=#Okg?B}m-;lX?<@K5Z7 z1_R-AW-!YB!_hfKX7KC>PcZyU+j<~rdTSTO& z9%P83xLP*@A1L~U9A|X=VOY`hw8}qW*9)a;%G2X@nPEYWx@l6~K6;`MI09hJ@}RPC zizvek$~p<0wpkmc_f1VkGh7vlCtHLq%mrn#M0yjnWo&p_Xkj$!_DXuP|M>!%`BU{X$o6Fq)xg~? znu&jRLEqkrk7tM#F5zUd7+fj0Mz zmy~L5GJ7bv%;WXfBi+^H6`Ni#E1koY?JBU;+;*rXUV2ltiC<_L3h zS1bKKw;eS2Se*hsm;J|%`_km&V*8s-v*#l3H+2}+VJzx6D`v`Xqw(lhC)b_E^> zy?aBSPiBQ7SafMWl z5r1O8he>fLplyznIHMbfYh9Q9n$bZfVd)*=&Pt~zMcyoxi>rV}nTqPi%M3!GqvtvB z(R*|C&%vis#jR&LN^-Ps&hM&AcLaWyVr!*piI{EXNT2_Nq}pEV7)-^Gz@P{M(BqW& zZsN<5rj@i(6UPBcma52cHdydvUx>BuMcr4a1$J`Hn3Llsf}rytK@Ya`6=0HKEGqS6y;R*uks~THSq~%+aVsnJ-e!yOT2E#PFSZ z6_-c$Cg$cXo@9W$02{?3k6Ndsy#qKHUbi~#qK87+Dcn)+7(wX@@gX-_qc#AG7vZ7E z(m4w-UVb$EuDl+$6bybxVP+|{Amqqg+v%gIdj$9ooIM8C9<(uD4AyC57z`N)0FPAy z?rj)U?BFrqF#4l>yQe|-v+PW~W!)NpvTxtq?_0?xQ3IHYAQ7r{f|(9B=-OHGzYAJ0 zN>Z|1I)|AF6j|w^3&=^~$nCV|zMSV!s0lw;_#ypDuf*Vu30U&cNo6Oil$6>z@t@pXbJGb38jI z)$vx}43wlX_pfBHBYfL!h)1~NcHxj;;xx**`aU&d_^MRr!*qM8E)*zRF%Yl;F?*{o zyC_fGG1d@sI7{xZNDIJ`$;aiTZI1{c)dLDt40RZdu2dt7eZ_9^)sAu8o}P2A?IZq<&3-{g*vM zZs)PtPgA?ZvU|F0Y4ZLMkNftpPYQnWfoTz|4VZ&I;pl74b_s-NixuC@`p~Zz zT)doqa`zYBeHOZT{3fF%>^N9GHQ;QvU8ZfcU6~uV6JHo+2d{Pb`B=`pkR|^@%oNnW z!gMJKv-|}BZ-+}nx#Oqz^HR6m_l6LZ!VjUbY4IwsLi=}teT)YOx1MSgq%voV>N8^E zkLbY9%#cxVDGYVL5{75WHISC|C3tgf+40tAk3cWr0pWg>+GVDzN#%dUuxc~kk*+dA z+nG7;rpY|4Rh|4>X1Isf!$!R2S6(V~dHn_etSmrmuD0xdETpdXS{p2bQm3E14>!jR zY(xe#7?}i&$K=ZI>lgL=d`?V-^!r1S##VF*AJfQ!7FOJ16Z#LX!6AjY7ozMafzgVy zq>W8<5uSZENajap1Os;!ai8jZSS_seEW)mivkMg&?fsncdgXX!PDqw!k=6j7S(S&h zD`C2b;6D56c3B`MIJl(h%Dqe!<|ouMuqpn24fN_(7Ei2I@D!UZ zmcDV)3CaU~4fr|QZFf(4c7r47;jWQ>;z@KDbN>ly>TXnKZ%tJjbY;hbWE(@68>zvh zlM{HVi|%;+cs>SEeTq*EaCP-Emc3|`o?7p7GfPEntM;}9Z0(tzXTa4BaffT*Ihg)w z)?0x*))t8UPdCKdi$hR;>Bt8*Zd8B|7};?oiT48ATnt+E=-=HG5%9yR z6A`EfSk`CewQw)j+9SWKXUONm@=Ix<6(zi3cE3;{f+i}1%mURTr6o!T&g&KIGkr83 zX?Ty$>EQ(|!Z9$t05Os>cHI_vBrc#9a4(}|7!8*EA&z$Sl1Du$II!dT(;4J#)_^sj zH|+E$vwv<`FeoMlG3+K3qfeN(F1bA$d6h3r2x^ZN&aY;ht2FUS;%vVwkShe6KTwTR zvM2c{SXbNCDO$h|wrbzeCy$CEz_<~9f%eUAzt+wY5oZT+Ld;WxM!Pr5-=B9-t*fQz zDELO2nVZe227zdkbF_8V0+>Z9Udlf;qimxuHFpHoCJ;ki!$LIwrb+vCz&5Ua)-UB9A2bvD-o8Nj+2yDy(yKMjEW~_tfy5Dhj znp{05-eVT3W85Q_JdH|#a2=U|QOr zD%DJ>Kpw6})qJAm`R>Y*MyR9R^Yk1n6WGvUci?+d4K6b#0GugJ1u4w-uA9{-Jdi^3 z@XZs60*`p~nK6I3T{WC`j@`AM&bKS@-vdIF8*!0{N=<4YHWwfUX{IqgT>W8^#}k>i zba-&v$f?%o94+4&aH3vT_;12s|~*sJ3*ES{8J? z?{i@yf;K{k+S+1kX-)U#;sQ=!nsrKS@(Z{%gy zcpxinQ_g8Rp4jcJ@W$W)0mxI&=AqHr8G=7*VOrZ;ScI&GRR^+9L!80-S~2M$k38u= zyZF^J0()rd8y!SuxD2!k zxO=3_h^f+}m76^kcYB*3`V~5XFWCkXn*;G<<>W*|x7jA|Tt@ou`En(rzvP*(12HaQdrk)=J(b_Ov3OxihV48v!Y z6~ymTf9BD8y*5hng#e{E$Q)KlPVR?%9sK9zn$k$XYAE6JE3g-;A@WC5^z1(W%LT3K z>EW8gpa&jiagDPJ+fsfJQ(_pF4dKRFXL^$seM>qRZU1!!Ooakfe@2L{fnldQb9(a9 zSrKKm=b-uIS!*>NWj(FBYw0`FiX!~GOd&VSj6HyKHD|{IH=+f0Fa5Xem@36y-r)Y~ zH`M#0&e&T|RDpf&GD!_qX>gd>Bs1jka-no(eTrXFQNbE9I-7;VDuJ%Mpb4t_0wW$b zB5l|{&iHpePW=yc&eXnISBP-n;u@(OZq=}WUho5_qQzB#ea3bJW6I6 zIc}M9V$H}q-faI(Yh?IiN+8zEDcXf0?P0nuaVe&5|uWvA56nd@C|4*1eRBUWKqnRAV_LV#Kw9`1-x6(1!W0;8} z>6(7;!6#%I1uj@2;9HPdx_=dFra$U zStxuUd*lg09czr~7Edoqeeywr^=-Cn%c?@y5LyjHRJq*vvTRt%&5J~`q|=}MPZF%_ z=N&*9RVW>h?8I(R_N6z#NeA>RHHWVH>V=4*$0@D)$*XlZHoPvKkUIMUGPr z+na)$>-~m+Xdmcf$Knz;!GCV`)X}*+YuI6 zaFgZcFRR97u0xF4kwxoayo1>vTZQc4D|K&&S-3*t^<;;K5TT99BFD!8o73Qqh_g}J ziHy2%S=h9QdFbDk?7+n@+0@A2XWKntRxMzBYLwY;{srt`L^JFIYaf4Pb+rEe5 zV4tKWUeRK@{TQEYLHl>n(yDMs=Jud3e^ z91~M13m9s^>kY?m_h!-n{(s-`Kk|lK@4>pTVetyWIuOw?@t7fE2e0*0oxoe;gXpr! zXETIDLNM|BXFep6(KP{w4hF^BaOJyI=@mfDQy3*s|54uBf4yV}O4sV%vT53zXgl$f zsAkKL%H)by3aBDs^aHK1rOfQZNM*)n7(HMr5c@2~x4JUcW|h8B5wKB#GcA+*PBhKA zou2+w;cjRXfUEdDLHcgd1!8=%)Vs9hrXjbVgU9w-TG@MG`3hc__Y*~@i0PJz3@tgb z!@TT=Rlf3mUiY>*V2dw-3$=-*Y>RJPXb)m&|ZusmZ(HdgtR2B6x-+c#VMG!ub3D zVq>8F{q}{oP|Y{lx6a%HZGy&-Fb(8%b#VsH1QLhY_-d}60H00TaTTNko(#gFSUfA4 zFvf^sUQOe_Ek*LF=mf0r1e4=)sWY-aC-odE&R>HS)z_b=spW?*fg2t&{$*x*>kPgJ zB%8LS+WmBnkA{wi86yOk-u%tUuo4HKk#W&9|ws$ZMz`k0H&Cg4JwWpfR-3O~_uweXpddnLX(t3@ z2)4vU8AX0)sCAQ9rVpAhv^N_J*z?&1g#LD^51I^7#V#0-6O==?hUD*jw0-*R(r=H7 zQe-S|9++Tk)#=+xJSU>1GGD_A0nlvSUVy>)|JVT@j>DdiJEB8m@m z?_l}{PXYAhh{WQ0V3h;B*0yr?r=Lqf)f5oSFk&*Onj{~wN;3)F!#<`S2|#lj3TV6C@cb>mX;`q$6v z|Am)+JQ}XS@nb(QGBy}|jOGE#T@_zq`#vmaj0_u?FlB16{XCZ@+s2E7|Qe zbt|u}ySo5*H00&e`tp;v{)s>S6By?Tf1dy|!A4LhF&O;!^_zE7TeI>_%V-lj%V-_r|Unt6x4@$BPQ@mWIbb!T&X?Wg6U-Q3>ZEay+f0r~wPCYBO zwdiT6R790w^fi$7c_Azh4zTU|ap?MstFPmh*VL^5y6w!WZvD9R-}k)U|LWCObM4u> zprJpYsg=s2&Kr&$cmH}ezt+pY=D8s724{a@@qAzn*J+4d&r@10rFz*g5=aHX+;9jIbP+oMU`U!Ixo3ID$Te|A*uNzuRc z;57H8K{0~CfOlzl+{N$ne@!}e%ZZ*sW>Y*!rAVt=NX35;fbHL%kPp9i0rPo!rcR6dPeOk+yaF6q_=hV}W|7-;AGEZon zagnQFqs0>Qdj;)!zzLUm_13?1d*{~{s@(@4SKE+jJSlBWi6Bd*ZhYO$Pd^ps+WhQU zb@h_ZUQ^&Qty2e^*?sq)2cG1(WhT%Z37{)qK2Q6k3odeI2<9}ifPw-?O@lo_M}c&p zHp^yQ2iJ3TYk`~mrWh^*CpgTe~DWM4fX!?SV delta 20595 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 From 77731d87d201f6a8b09335fcf82bff1445a246c4 Mon Sep 17 00:00:00 2001 From: tayyyyyyy Date: Sun, 9 Jun 2019 22:16:58 -0700 Subject: [PATCH 4/9] Fix setting high parallax setting insane instead --- code/modules/client/preference/preferences.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index 1d54e8b0116..188649a7726 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -2101,7 +2101,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts "Off" = PARALLAX_DISABLE, "Low" = PARALLAX_LOW, "Medium" = PARALLAX_MED, - "High" = PARALLAX_INSANE, + "High" = PARALLAX_HIGH, "Insane" = PARALLAX_INSANE ) parallax = parallax_styles[input(user, "Pick a parallax style", "Parallax Style") as null|anything in parallax_styles] From 760009a0cb021081f2f072b2239a4a6f65117a74 Mon Sep 17 00:00:00 2001 From: tayyyyyyy Date: Mon, 10 Jun 2019 13:50:59 -0700 Subject: [PATCH 5/9] Fix style --- code/_onclick/hud/parallax.dm | 36 +++++++++---------- code/controllers/subsystem/parallax.dm | 8 ++--- code/game/atoms_movable.dm | 2 +- code/modules/client/client procs.dm | 2 +- code/modules/client/preference/preferences.dm | 10 +++--- 5 files changed, 29 insertions(+), 29 deletions(-) diff --git a/code/_onclick/hud/parallax.dm b/code/_onclick/hud/parallax.dm index e10fdb114c2..54f6549e9df 100644 --- a/code/_onclick/hud/parallax.dm +++ b/code/_onclick/hud/parallax.dm @@ -13,7 +13,7 @@ /datum/hud/proc/create_parallax() var/client/C = mymob.client - if (!apply_parallax_pref()) + if(!apply_parallax_pref()) return if(!length(C.parallax_layers_cached)) @@ -24,7 +24,7 @@ C.parallax_layers = C.parallax_layers_cached.Copy() - if (length(C.parallax_layers) > C.parallax_layers_max) + if(length(C.parallax_layers) > C.parallax_layers_max) C.parallax_layers.len = C.parallax_layers_max C.screen |= (C.parallax_layers + C.parallax_static_layers_tail) @@ -37,22 +37,22 @@ /datum/hud/proc/apply_parallax_pref() var/client/C = mymob.client switch(C.prefs.parallax) - if (PARALLAX_INSANE) + if(PARALLAX_INSANE) C.parallax_throttle = FALSE C.parallax_layers_max = 4 return TRUE - if (PARALLAX_MED) + if(PARALLAX_MED) C.parallax_throttle = PARALLAX_DELAY_MED C.parallax_layers_max = 2 return TRUE - if (PARALLAX_LOW) + if(PARALLAX_LOW) C.parallax_throttle = PARALLAX_DELAY_LOW C.parallax_layers_max = 1 return TRUE - if (PARALLAX_DISABLE) + if(PARALLAX_DISABLE) return FALSE else @@ -80,7 +80,7 @@ L.icon_state = initial(L.icon_state) L.update_o(C.view) var/T = PARALLAX_LOOP_TIME / L.speed - if (T > animate_time) + if(T > animate_time) animate_time = T C.dont_animate_parallax = world.time + min(animate_time, PARALLAX_LOOP_TIME) animatedir = C.parallax_movedir @@ -101,18 +101,18 @@ var/obj/screen/parallax_layer/L = thing var/T = PARALLAX_LOOP_TIME / L.speed - if (isnull(shortesttimer)) + if(isnull(shortesttimer)) shortesttimer = T - if (T < shortesttimer) + if(T < shortesttimer) shortesttimer = T L.transform = newtransform animate(L, transform = matrix(), time = T, easing = QUAD_EASING | (new_parallax_movedir ? EASE_IN : EASE_OUT), flags = ANIMATION_END_NOW) - if (new_parallax_movedir) + if(new_parallax_movedir) L.transform = newtransform animate(transform = matrix(), time = T) //queue up another animate so lag doesn't create a shutter C.parallax_movedir = new_parallax_movedir - if (C.parallax_animate_timer) + if(C.parallax_animate_timer) deltimer(C.parallax_animate_timer) C.parallax_animate_timer = addtimer(src, .update_parallax_motionblur, min(shortesttimer, PARALLAX_LOOP_TIME), TIMER_CLIENT_TIME, C, animatedir, new_parallax_movedir, newtransform) @@ -120,12 +120,12 @@ C.parallax_animate_timer = FALSE for(var/thing in C.parallax_layers) var/obj/screen/parallax_layer/L = thing - if (!new_parallax_movedir) + if(!new_parallax_movedir) animate(L) continue var/newstate = initial(L.icon_state) - if (animatedir) + if(animatedir) if(animatedir == NORTH || animatedir == SOUTH) newstate += "_vertical" else @@ -133,7 +133,7 @@ var/T = PARALLAX_LOOP_TIME / L.speed - if (newstate in icon_states(L.icon)) + if(newstate in icon_states(L.icon)) L.icon_state = newstate L.update_o(C.view) @@ -154,7 +154,7 @@ C.previous_turf = posobj force = TRUE - if (!force && world.time < C.last_parallax_shift+C.parallax_throttle) + if(!force && world.time < C.last_parallax_shift+C.parallax_throttle) return //Doing it this way prevents parallax layers from "jumping" when you change Z-Levels. @@ -172,7 +172,7 @@ for(var/thing in C.parallax_layers) var/obj/screen/parallax_layer/L = thing L.update_status(mymob) - if (L.view_sized != C.view) + if(L.view_sized != C.view) L.update_o(C.view) var/change_x @@ -224,12 +224,12 @@ /obj/screen/parallax_layer/New(view) ..() - if (!view) + if(!view) view = world.view update_o(view) /obj/screen/parallax_layer/proc/update_o(view) - if (!view) + if(!view) view = world.view var/list/new_overlays = list() var/count = Ceiling(view/(480/world.icon_size))+1 diff --git a/code/controllers/subsystem/parallax.dm b/code/controllers/subsystem/parallax.dm index 64299fda383..039b6d2b008 100644 --- a/code/controllers/subsystem/parallax.dm +++ b/code/controllers/subsystem/parallax.dm @@ -14,7 +14,7 @@ SUBSYSTEM_DEF(parallax) planet_x_offset = rand(100, 160) /datum/controller/subsystem/parallax/fire(resumed = 0) - if (!resumed) + if(!resumed) src.currentrun = GLOB.clients.Copy() //cache for sanic speed (lists are references anyways) @@ -23,8 +23,8 @@ SUBSYSTEM_DEF(parallax) while(length(currentrun)) var/client/C = currentrun[currentrun.len] currentrun.len-- - if (!C || !C.eye) - if (MC_TICK_CHECK) + if(!C || !C.eye) + if(MC_TICK_CHECK) return continue var/atom/movable/A = C.eye @@ -39,6 +39,6 @@ SUBSYSTEM_DEF(parallax) LAZYINITLIST(A.client_mobs_in_contents) A.client_mobs_in_contents += C.mob C.movingmob = A - if (MC_TICK_CHECK) + if(MC_TICK_CHECK) return currentrun = null diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index d726a810894..0a22c19770b 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -215,7 +215,7 @@ if(!inertia_moving) inertia_next_move = world.time + inertia_move_delay newtonian_move(Dir) - if (length(client_mobs_in_contents)) + if(length(client_mobs_in_contents)) update_parallax_contents() return TRUE diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index 4ffaf0c0a6d..2d4092ff159 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -433,7 +433,7 @@ GLOB.admins -= src GLOB.directory -= ckey GLOB.clients -= src - if(movingmob != null) + if(movingmob) movingmob.client_mobs_in_contents -= mob UNSETEMPTY(movingmob.client_mobs_in_contents) Master.UpdateTickRate() diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index 188649a7726..7fce23b9e4c 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -466,13 +466,13 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts dat += "OOC Notes: Edit
" dat += "Parallax (Fancy Space): " switch (parallax) - if (PARALLAX_LOW) + if(PARALLAX_LOW) dat += "Low" - if (PARALLAX_MED) + if(PARALLAX_MED) dat += "Medium" - if (PARALLAX_INSANE) + if(PARALLAX_INSANE) dat += "Insane" - if (PARALLAX_DISABLE) + if(PARALLAX_DISABLE) dat += "Disabled" else dat += "High" @@ -2105,7 +2105,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts "Insane" = PARALLAX_INSANE ) parallax = parallax_styles[input(user, "Pick a parallax style", "Parallax Style") as null|anything in parallax_styles] - if (parent && parent.mob && parent.mob.hud_used) + if(parent && parent.mob && parent.mob.hud_used) parent.mob.hud_used.update_parallax_pref() From 7b8e0ca905150151ab3604c98a08cc9d37c2466b Mon Sep 17 00:00:00 2001 From: Tayyyyyyy Date: Wed, 14 Aug 2019 17:51:53 -0700 Subject: [PATCH 6/9] Update for parity with tg's parallax implementation --- code/__HELPERS/icon_smoothing.dm | 38 ++++++++++----------- code/_onclick/hud/ghost.dm | 1 - code/_onclick/hud/hud.dm | 3 +- code/_onclick/hud/parallax.dm | 57 ++++++++++++++++++-------------- code/game/turfs/turf.dm | 6 ++++ 5 files changed, 59 insertions(+), 46 deletions(-) diff --git a/code/__HELPERS/icon_smoothing.dm b/code/__HELPERS/icon_smoothing.dm index 9156ebf8717..acf202f0eee 100644 --- a/code/__HELPERS/icon_smoothing.dm +++ b/code/__HELPERS/icon_smoothing.dm @@ -153,33 +153,33 @@ /turf/simulated/wall/diagonal_smooth(adjacencies) adjacencies = reverse_ndir(..()) if(adjacencies) - var/list/U = list() + var/mutable_appearance/underlay_appearance = mutable_appearance(layer = TURF_LAYER, plane = FLOOR_PLANE) + var/list/U = list(underlay_appearance) if(fixed_underlay) if(fixed_underlay["space"]) - var/image/I = image('icons/turf/space.dmi', SPACE_ICON_STATE, layer=TURF_LAYER) - I.plane = PLANE_SPACE - U += I + underlay_appearance.icon = 'icons/turf/space.dmi' + underlay_appearance.icon_state = SPACE_ICON_STATE + underlay_appearance.plane = PLANE_SPACE else - var/image/I = image('icons/turf/space.dmi', SPACE_ICON_STATE, layer=TURF_LAYER) - I.plane = PLANE_SPACE - U += I + underlay_appearance.icon = fixed_underlay["icon"] + underlay_appearance.icon_state = fixed_underlay["icon_state"] else - var/turf/T = get_step(src, turn(adjacencies, 180)) - if(T && (T.density || T.smooth)) + var/turned_adjacency = turn(adjacencies, 180) + var/turf/T = get_step(src, turned_adjacency) + if(!T.get_smooth_underlay_icon(underlay_appearance, src, turned_adjacency)) T = get_step(src, turn(adjacencies, 135)) - if(T && (T.density || T.smooth)) + if(!T.get_smooth_underlay_icon(underlay_appearance, src, turned_adjacency)) T = get_step(src, turn(adjacencies, 225)) - - if(istype(T, /turf/space) && !istype(T, /turf/space/transit)) - U += image('icons/turf/space.dmi', SPACE_ICON_STATE, layer=TURF_LAYER) - else if(T && !T.density && !T.smooth) - U += T - else if(baseturf && !initial(baseturf.density) && !initial(baseturf.smooth)) - U += image(initial(baseturf.icon), initial(baseturf.icon_state), layer=TURF_LAYER) - else - U += DEFAULT_UNDERLAY_IMAGE + //if all else fails, ask our own turf + if(!T.get_smooth_underlay_icon(underlay_appearance, src, turned_adjacency) && !get_smooth_underlay_icon(underlay_appearance, src, turned_adjacency)) + underlay_appearance.icon = DEFAULT_UNDERLAY_ICON + underlay_appearance.icon_state = DEFAULT_UNDERLAY_ICON_STATE underlays = U + // Drop posters which were previously placed on this wall. + for(var/obj/structure/sign/poster/P in src) + P.roll_and_drop(src) + /proc/cardinal_smooth(atom/A, adjacencies) //NW CORNER var/nw = "1-i" diff --git a/code/_onclick/hud/ghost.dm b/code/_onclick/hud/ghost.dm index 8207fc746e3..600c1105e8e 100644 --- a/code/_onclick/hud/ghost.dm +++ b/code/_onclick/hud/ghost.dm @@ -62,6 +62,5 @@ /datum/hud/ghost/show_hud() mymob.client.screen = list() - create_parallax() mymob.client.screen += static_inventory ..() diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index c4fbd0da7ac..e93b3b121e6 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -99,6 +99,7 @@ /datum/hud/proc/show_hud(version = 0) if(!ismob(mymob)) return FALSE + if(!mymob.client) return FALSE @@ -172,7 +173,7 @@ mymob.update_action_buttons(1) reorganize_alerts() reload_fullscreen() - create_parallax() + update_parallax_pref(mymob) plane_masters_update() /datum/hud/proc/plane_masters_update() diff --git a/code/_onclick/hud/parallax.dm b/code/_onclick/hud/parallax.dm index 54f6549e9df..1bd33435e25 100644 --- a/code/_onclick/hud/parallax.dm +++ b/code/_onclick/hud/parallax.dm @@ -36,29 +36,32 @@ /datum/hud/proc/apply_parallax_pref() var/client/C = mymob.client - switch(C.prefs.parallax) - if(PARALLAX_INSANE) - C.parallax_throttle = FALSE - C.parallax_layers_max = 4 - return TRUE + if(C.prefs) + var/pref = C.prefs.parallax + if (isnull(pref)) + pref = PARALLAX_HIGH + switch(C.prefs.parallax) + if (PARALLAX_INSANE) + C.parallax_throttle = FALSE + C.parallax_layers_max = 4 + return TRUE - if(PARALLAX_MED) - C.parallax_throttle = PARALLAX_DELAY_MED - C.parallax_layers_max = 2 - return TRUE + if (PARALLAX_MED) + C.parallax_throttle = PARALLAX_DELAY_MED + C.parallax_layers_max = 2 + return TRUE - if(PARALLAX_LOW) - C.parallax_throttle = PARALLAX_DELAY_LOW - C.parallax_layers_max = 1 - return TRUE + if (PARALLAX_LOW) + C.parallax_throttle = PARALLAX_DELAY_LOW + C.parallax_layers_max = 1 + return TRUE - if(PARALLAX_DISABLE) - return FALSE + if (PARALLAX_DISABLE) + return FALSE - else - C.parallax_throttle = PARALLAX_DELAY_DEFAULT - C.parallax_layers_max = 3 - return TRUE + C.parallax_throttle = PARALLAX_DELAY_DEFAULT + C.parallax_layers_max = 3 + return TRUE /datum/hud/proc/update_parallax_pref() remove_parallax() @@ -67,7 +70,7 @@ // This sets which way the current shuttle is moving (returns true if the shuttle has stopped moving so the caller can append their animation) // Well, it would if our shuttle code had dynamic areas -/datum/hud/proc/set_parallax_movedir(new_parallax_movedir) +/datum/hud/proc/set_parallax_movedir(new_parallax_movedir, skip_windups) . = FALSE var/client/C = mymob.client if(new_parallax_movedir == C.parallax_movedir) @@ -114,7 +117,11 @@ C.parallax_movedir = new_parallax_movedir if(C.parallax_animate_timer) deltimer(C.parallax_animate_timer) - C.parallax_animate_timer = addtimer(src, .update_parallax_motionblur, min(shortesttimer, PARALLAX_LOOP_TIME), TIMER_CLIENT_TIME, C, animatedir, new_parallax_movedir, newtransform) + var/datum/callback/CB = CALLBACK(src, .proc/update_parallax_motionblur, C, animatedir, new_parallax_movedir, newtransform) + if(skip_windups) + CB.Invoke() + else + C.parallax_animate_timer = addtimer(CB, min(shortesttimer, PARALLAX_LOOP_TIME), TIMER_CLIENT_TIME|TIMER_STOPPABLE) /datum/hud/proc/update_parallax_motionblur(client/C, animatedir, new_parallax_movedir, matrix/newtransform) C.parallax_animate_timer = FALSE @@ -237,9 +244,9 @@ for(var/y in -count to count) if(x == 0 && y == 0) continue - var/image/I = image(icon, null, icon_state) - I.transform = matrix(1, 0, x*480, 0, 1, y*480) - new_overlays += I + var/mutable_appearance/texture_overlay = mutable_appearance(icon, icon_state) + texture_overlay.transform = matrix(1, 0, x*480, 0, 1, y*480) + new_overlays += texture_overlay overlays = new_overlays view_sized = view @@ -250,7 +257,7 @@ /obj/screen/parallax_layer/layer_1 icon_state = "layer1" speed = 0.6 - layer = 1255 + layer = 1 /obj/screen/parallax_layer/layer_2 icon_state = "layer2" diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index e315ad26ad0..51285932f00 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -470,6 +470,12 @@ if(ismob(A) || .) A.ratvar_act() +/turf/proc/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) + underlay_appearance.icon = icon + underlay_appearance.icon_state = icon_state + underlay_appearance.dir = adjacency_dir + return TRUE + /turf/proc/add_blueprints(atom/movable/AM) var/image/I = new I.appearance = AM.appearance From bdc4bba6ac582b20b16439a6fa13e65e2e4747ec Mon Sep 17 00:00:00 2001 From: AffectedArc07 Date: Mon, 10 Jun 2019 01:13:54 -0700 Subject: [PATCH 7/9] Add back parallax SQL changes --- SQL/paradise_schema.sql | 1 + SQL/paradise_schema_prefixed.sql | 1 + SQL/updates/8-9.sql | 4 ++++ code/__DEFINES/misc.dm | 2 +- code/modules/client/preference/preferences_mysql.dm | 8 ++++++-- config/example/dbconfig.txt | 2 +- 6 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 SQL/updates/8-9.sql diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql index ed4fb787b8d..1e4692b7e3b 100644 --- a/SQL/paradise_schema.sql +++ b/SQL/paradise_schema.sql @@ -269,6 +269,7 @@ CREATE TABLE `player` ( `fuid` bigint(20) NULL DEFAULT NULL, `fupdate` smallint(4) NULL DEFAULT '0', `afk_watch` tinyint(1) NOT NULL DEFAULT '0', + `parallax` tinyint(1) DEFAULT '8', PRIMARY KEY (`id`), UNIQUE KEY `ckey` (`ckey`) ) ENGINE=InnoDB AUTO_INCREMENT=32446 DEFAULT CHARSET=latin1; diff --git a/SQL/paradise_schema_prefixed.sql b/SQL/paradise_schema_prefixed.sql index b0f7bbc5c82..aa5d5895e56 100644 --- a/SQL/paradise_schema_prefixed.sql +++ b/SQL/paradise_schema_prefixed.sql @@ -268,6 +268,7 @@ CREATE TABLE `SS13_player` ( `fuid` bigint(20) NULL DEFAULT NULL, `fupdate` smallint(4) NULL DEFAULT '0', `afk_watch` tinyint(1) NOT NULL DEFAULT '0', + `parallax` tinyint(1) DEFAULT '8', PRIMARY KEY (`id`), UNIQUE KEY `ckey` (`ckey`) ) ENGINE=InnoDB AUTO_INCREMENT=32446 DEFAULT CHARSET=latin1; diff --git a/SQL/updates/8-9.sql b/SQL/updates/8-9.sql new file mode 100644 index 00000000000..d7f0fd19ab3 --- /dev/null +++ b/SQL/updates/8-9.sql @@ -0,0 +1,4 @@ +#Updating the SQL from version 8 to version 9. -affectedarc07 +#Adding new column to contain the parallax value. +ALTER TABLE `player` + ADD `parallax` tinyint(1) DEFAULT '8' AFTER `fupdate`; diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 273159fe948..f37b20296e3 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -320,7 +320,7 @@ #define INVESTIGATE_BOMB "bombs" // The SQL version required by this version of the code -#define SQL_VERSION 8 +#define SQL_VERSION 9 // Vending machine stuff #define CAT_NORMAL 1 diff --git a/code/modules/client/preference/preferences_mysql.dm b/code/modules/client/preference/preferences_mysql.dm index cdbfe2afb2f..6090538f2b3 100644 --- a/code/modules/client/preference/preferences_mysql.dm +++ b/code/modules/client/preference/preferences_mysql.dm @@ -20,7 +20,8 @@ clientfps, atklog, fuid, - afk_watch + afk_watch, + parallax FROM [format_table_name("player")] WHERE ckey='[C.ckey]'"} ) @@ -54,6 +55,7 @@ atklog = text2num(query.item[18]) fuid = text2num(query.item[19]) afk_watch = text2num(query.item[20]) + parallax = text2num(query.item[21]) //Sanitize ooccolor = sanitize_hexcolor(ooccolor, initial(ooccolor)) @@ -75,6 +77,7 @@ atklog = sanitize_integer(atklog, 0, 100, initial(atklog)) fuid = sanitize_integer(fuid, 0, 10000000, initial(fuid)) afk_watch = sanitize_integer(afk_watch, 0, 1, initial(afk_watch)) + parallax = sanitize_integer(parallax, 0, 16, initial(parallax)) return 1 /datum/preferences/proc/save_preferences(client/C) @@ -105,7 +108,8 @@ ghost_anonsay='[ghost_anonsay]', clientfps='[clientfps]', atklog='[atklog]', - afk_watch='[afk_watch]' + afk_watch='[afk_watch]', + parallax='[parallax]' WHERE ckey='[C.ckey]'"} ) diff --git a/config/example/dbconfig.txt b/config/example/dbconfig.txt index 2404119d52f..ad859d92543 100644 --- a/config/example/dbconfig.txt +++ b/config/example/dbconfig.txt @@ -9,7 +9,7 @@ ## This value must be set to the version of the paradise schema in use. ## If this value does not match, the SQL database will not be loaded and an error will be generated. ## Roundstart will be delayed. -DB_VERSION 8 +DB_VERSION 9 ## Server the MySQL database can be found at. # Examples: localhost, 200.135.5.43, www.mysqldb.com, etc. From 79efa675d184e32c21e417c54b79d608b57563e6 Mon Sep 17 00:00:00 2001 From: Tayyyyyyy Date: Sun, 18 Aug 2019 01:44:46 -0700 Subject: [PATCH 8/9] Smoothing --- code/game/turfs/simulated/floor/chasm.dm | 5 +++++ code/game/turfs/simulated/floor/fancy_floor.dm | 9 +++++++++ code/game/turfs/simulated/floor/indestructible.dm | 3 +++ code/game/turfs/simulated/floor/lava.dm | 5 +++++ code/game/turfs/simulated/minerals.dm | 7 +++++++ code/game/turfs/space/space.dm | 8 +++++++- code/game/turfs/space/transit.dm | 6 ++++++ 7 files changed, 42 insertions(+), 1 deletion(-) diff --git a/code/game/turfs/simulated/floor/chasm.dm b/code/game/turfs/simulated/floor/chasm.dm index 6a213400d04..17807bd255b 100644 --- a/code/game/turfs/simulated/floor/chasm.dm +++ b/code/game/turfs/simulated/floor/chasm.dm @@ -22,6 +22,11 @@ if(!drop_stuff()) STOP_PROCESSING(SSprocessing, src) +/turf/open/chasm/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) + underlay_appearance.icon = 'icons/turf/floors.dmi' + underlay_appearance.icon_state = "basalt" + return TRUE + /turf/simulated/floor/chasm/attackby(obj/item/C, mob/user, params, area/area_restriction) ..() if(istype(C, /obj/item/stack/rods)) diff --git a/code/game/turfs/simulated/floor/fancy_floor.dm b/code/game/turfs/simulated/floor/fancy_floor.dm index fcf4c7c15c5..12b1654994c 100644 --- a/code/game/turfs/simulated/floor/fancy_floor.dm +++ b/code/game/turfs/simulated/floor/fancy_floor.dm @@ -117,6 +117,9 @@ burnt = 1 update_icon() +/turf/open/floor/carpet/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) + return FALSE + /turf/simulated/floor/carpet/black icon = 'icons/turf/floors/carpet_black.dmi' floor_tile = /obj/item/stack/tile/carpet/black @@ -138,3 +141,9 @@ icon_state = "arcade" floor_tile = /obj/item/stack/tile/arcade_carpet smooth = SMOOTH_FALSE + +/turf/open/floor/fakespace/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) + underlay_appearance.icon = 'icons/turf/space.dmi' + underlay_appearance.icon_state = SPACE_ICON_STATE + underlay_appearance.plane = PLANE_SPACE + return TRUE diff --git a/code/game/turfs/simulated/floor/indestructible.dm b/code/game/turfs/simulated/floor/indestructible.dm index 6c1679776e6..3705e24eea0 100644 --- a/code/game/turfs/simulated/floor/indestructible.dm +++ b/code/game/turfs/simulated/floor/indestructible.dm @@ -81,5 +81,8 @@ planetary_atmos = TRUE desc = "A floor with a square pattern. It's faintly cool to the touch." +/turf/open/indestructible/hierophant/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) + return FALSE + /turf/simulated/floor/indestructible/hierophant/two icon_state = "hierophant2" diff --git a/code/game/turfs/simulated/floor/lava.dm b/code/game/turfs/simulated/floor/lava.dm index 0882bb18766..66d7eaca83d 100644 --- a/code/game/turfs/simulated/floor/lava.dm +++ b/code/game/turfs/simulated/floor/lava.dm @@ -41,6 +41,11 @@ /turf/simulated/floor/plating/lava/remove_plating() return +/turf/open/lava/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) + underlay_appearance.icon = 'icons/turf/floors.dmi' + underlay_appearance.icon_state = "basalt" + return TRUE + /turf/simulated/floor/plating/lava/proc/is_safe() var/static/list/lava_safeties_typecache = typecacheof(list(/obj/structure/lattice/catwalk, /obj/structure/stone_tile)) var/list/found_safeties = typecache_filter_list(contents, lava_safeties_typecache) diff --git a/code/game/turfs/simulated/minerals.dm b/code/game/turfs/simulated/minerals.dm index 119f0b000d9..aee23831050 100644 --- a/code/game/turfs/simulated/minerals.dm +++ b/code/game/turfs/simulated/minerals.dm @@ -48,6 +48,13 @@ setDir(angle2dir(rotation + dir2angle(dir))) queue_smooth(src) +/turf/simulated/mineral/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) + if(turf_type) + underlay_appearance.icon = initial(turf_type.icon) + underlay_appearance.icon_state = initial(turf_type.icon_state) + return TRUE + return ..() + /turf/simulated/mineral/attackby(var/obj/item/pickaxe/P as obj, mob/user as mob, params) if(!user.IsAdvancedToolUser()) to_chat(usr, "You don't have the dexterity to do this!") diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm index ff9045a0436..40c0d83272e 100644 --- a/code/game/turfs/space/space.dm +++ b/code/game/turfs/space/space.dm @@ -263,4 +263,10 @@ /turf/space/attack_ghost(mob/dead/observer/user) if(destination_z) var/turf/T = locate(destination_x, destination_y, destination_z) - user.forceMove(T) \ No newline at end of file + user.forceMove(T) + +/turf/space/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) + underlay_appearance.icon = 'icons/turf/space.dmi' + underlay_appearance.icon_state = SPACE_ICON_STATE + underlay_appearance.plane = PLANE_SPACE + return TRUE diff --git a/code/game/turfs/space/transit.dm b/code/game/turfs/space/transit.dm index 4f621f80ddc..6909c9289db 100644 --- a/code/game/turfs/space/transit.dm +++ b/code/game/turfs/space/transit.dm @@ -152,3 +152,9 @@ icon_state = "speedspace_ns_[state]" transform = turn(matrix(), angle) + +/turf/space/transit/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) + underlay_appearance.icon = 'icons/turf/space.dmi' + underlay_appearance.icon_state = SPACE_ICON_STATE + underlay_appearance.plane = PLANE_SPACE + return TRUE From c73f0aafd23230514d132fa7f1c504eb81c53a0a Mon Sep 17 00:00:00 2001 From: Tayyyyyyy Date: Mon, 19 Aug 2019 15:52:45 -0700 Subject: [PATCH 9/9] Shuttle parallax! --- code/_onclick/hud/parallax.dm | 3 ++- code/game/turfs/space/space.dm | 6 ++++++ code/game/turfs/space/transit.dm | 2 +- code/modules/shuttle/on_move.dm | 27 ++++++++++++++++++++------- code/modules/shuttle/shuttle.dm | 17 +++++++++++++---- 5 files changed, 42 insertions(+), 13 deletions(-) diff --git a/code/_onclick/hud/parallax.dm b/code/_onclick/hud/parallax.dm index 1bd33435e25..0d981962cc0 100644 --- a/code/_onclick/hud/parallax.dm +++ b/code/_onclick/hud/parallax.dm @@ -8,6 +8,7 @@ var/last_parallax_shift //world.time of last update var/parallax_throttle = 0 //ds between updates var/parallax_movedir = 0 + var/new_parallax_movedir = 0 var/parallax_layers_max = 3 var/parallax_animate_timer @@ -154,7 +155,7 @@ var/area/areaobj = posobj.loc // Update the movement direction of the parallax if necessary (for shuttles) - set_parallax_movedir(areaobj.parallax_movedir) + set_parallax_movedir(C.new_parallax_movedir) var/force if(!C.previous_turf || (C.previous_turf.z != posobj.z)) diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm index 40c0d83272e..daecd225355 100644 --- a/code/game/turfs/space/space.dm +++ b/code/game/turfs/space/space.dm @@ -106,6 +106,12 @@ ..() if((!(A) || !(src in A.locs))) return + + if(ismob(A)) + var/mob/M = A + if(M && M.client && M.client.new_parallax_movedir) + M.client.new_parallax_movedir = 0 + M.update_parallax_contents() if(destination_z && destination_x && destination_y) A.forceMove(locate(destination_x, destination_y, destination_z)) diff --git a/code/game/turfs/space/transit.dm b/code/game/turfs/space/transit.dm index 6909c9289db..15c553b3f95 100644 --- a/code/game/turfs/space/transit.dm +++ b/code/game/turfs/space/transit.dm @@ -1,6 +1,6 @@ /turf/space/transit var/pushdirection // push things that get caught in the transit tile this direction - plane = TURF_LAYER + plane = PLANE_SPACE //Overwrite because we dont want people building rods in space. /turf/space/transit/attackby(obj/O as obj, mob/user as mob, params) diff --git a/code/modules/shuttle/on_move.dm b/code/modules/shuttle/on_move.dm index 67765ef8ac5..77c6a21dd0d 100644 --- a/code/modules/shuttle/on_move.dm +++ b/code/modules/shuttle/on_move.dm @@ -30,17 +30,22 @@ if(id_tag == "s_docking_airlock") INVOKE_ASYNC(src, .proc/lock) -/mob/onShuttleMove() +/mob/onShuttleMove(turf/oldT, turf/T1, rotation, travelDir) if(!move_on_shuttle) return 0 . = ..() if(!.) return - if(client) - if(buckled) - shake_camera(src, 2, 1) // turn it down a bit come on - else - shake_camera(src, 7, 1) + if(!client) + return + + if(buckled) + shake_camera(src, 2, 1) // turn it down a bit come on + else + shake_camera(src, 7, 1) + + client.new_parallax_movedir = travelDir ? WEST : NORTH + update_parallax_contents() /mob/living/carbon/onShuttleMove() . = ..() @@ -54,8 +59,16 @@ if(smooth) queue_smooth(src) +/mob/postDock(obj/docking_port/S1, transit, list/parallax_mobs) + if(!client) + return + if(transit) + parallax_mobs.Add(src) + return + client.new_parallax_movedir = 0 + update_parallax_contents() + /obj/machinery/door/airlock/postDock(obj/docking_port/stationary/S1) . = ..() if(!S1.lock_shuttle_doors && id_tag == "s_docking_airlock") INVOKE_ASYNC(src, .proc/unlock) - diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index 2d3b03b967f..b2d710ba215 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -215,6 +215,7 @@ var/roundstart_move //id of port to send shuttle to at roundstart var/travelDir = 0 //direction the shuttle would travel in var/rebuildable = 0 //can build new shuttle consoles for this one + var/list/parallax_mobs = list() //mobs to unparallax var/obj/docking_port/stationary/destination var/obj/docking_port/stationary/previous @@ -358,7 +359,7 @@ var/obj/docking_port/stationary/S0 = get_docked() var/obj/docking_port/stationary/S1 = findTransitDock() if(S1) - if(dock(S1)) + if(dock(S1, , TRUE)) WARNING("shuttle \"[id]\" could not enter transit space. Docked at [S0 ? S0.id : "null"]. Transit dock [S1 ? S1.id : "null"].") else previous = S0 @@ -429,7 +430,7 @@ //this is the main proc. It instantly moves our mobile port to stationary port S1 //it handles all the generic behaviour, such as sanity checks, closing doors on the shuttle, stunning mobs, etc -/obj/docking_port/mobile/proc/dock(obj/docking_port/stationary/S1, force=FALSE) +/obj/docking_port/mobile/proc/dock(obj/docking_port/stationary/S1, force=FALSE, transit=FALSE) // Crashing this ship with NO SURVIVORS if(S1.get_docked() == src) remove_ripples() @@ -494,7 +495,7 @@ //move mobile to new location for(var/atom/movable/AM in T0) - AM.onShuttleMove(T0, T1, rotation) + AM.onShuttleMove(T0, T1, rotation, travelDir) if(rotation) T1.shuttleRotate(rotation) @@ -516,7 +517,15 @@ var/turf/T1 = A1 T1.postDock(S1) for(var/atom/movable/M in T1) - M.postDock(S1) + M.postDock(S1, transit, parallax_mobs) + + // For mobs who move away from a transiting shuttle for whatever reason (teleportation, jumping, etc) so that they don't get stuck parallaxing + if(!transit) + for(var/mob/M in parallax_mobs) + if(M.client && M.client.new_parallax_movedir) + M.client.new_parallax_movedir = 0 + M.update_parallax_contents() + parallax_mobs = list() loc = S1.loc dir = S1.dir