Fixes events. (#15665)

This commit is contained in:
Matt Atlas
2023-01-27 17:49:28 +01:00
committed by GitHub
parent 9155f54276
commit 06b2707463
30 changed files with 117 additions and 67 deletions

View File

@@ -19,7 +19,7 @@ var/singleton/observ/dir_set/dir_set_event = new()
// Listen to the parent if possible.
if(. && istype(dir_changer.loc, /atom/movable)) // We don't care about registering to turfs.
register(dir_changer.loc, dir_changer, /atom/proc/recursive_dir_set)
register(dir_changer.loc, dir_changer, TYPE_PROC_REF(/atom, recursive_dir_set))
/*********************
* Direction Handling *
@@ -34,8 +34,8 @@ var/singleton/observ/dir_set/dir_set_event = new()
/atom/movable/Entered(var/atom/movable/am, atom/old_loc)
. = ..()
if(dir_set_event.has_listeners(am))
dir_set_event.register(src, am, /atom/proc/recursive_dir_set)
dir_set_event.register(src, am, TYPE_PROC_REF(/atom, recursive_dir_set))
/atom/movable/Exited(var/atom/movable/am, atom/new_loc)
. = ..()
dir_set_event.unregister(src, am, /atom/proc/recursive_dir_set)
dir_set_event.unregister(src, am, TYPE_PROC_REF(/atom, recursive_dir_set))

View File

@@ -10,7 +10,7 @@ var/singleton/observ/moved/moved_event = new()
if(.)
var/atom/movable/parent = child.loc
while(istype(parent) && !moved_event.is_listening(parent, child))
moved_event.register(parent, child, /atom/movable/proc/recursive_move)
moved_event.register(parent, child, TYPE_PROC_REF(/atom/movable, recursive_move))
child = parent
parent = child.loc

View File

@@ -114,7 +114,7 @@ var/singleton/sound_player/sound_player = new()
listeners = list()
listener_status = list()
destroyed_event.register(source, src, /datum/proc/qdel_self)
destroyed_event.register(source, src, TYPE_PROC_REF(/datum/, qdel))
PrivLocateListeners()
START_PROCESSING(SSprocessing, src)
@@ -154,7 +154,7 @@ var/singleton/sound_player/sound_player = new()
listeners = null
listener_status = null
destroyed_event.unregister(source, src, /datum/proc/qdel_self)
destroyed_event.unregister(source, src, TYPE_PROC_REF(/datum, qdel_self))
source = null
sound_player.PrivStopSound(src)
@@ -197,16 +197,16 @@ var/singleton/sound_player/sound_player = new()
listeners += listener
moved_event.register(listener, src, /datum/sound_token/proc/PrivUpdateListenerLoc)
destroyed_event.register(listener, src, /datum/sound_token/proc/PrivRemoveListener)
moved_event.register(listener, src, PROC_REF(PrivUpdateListenerLoc))
destroyed_event.register(listener, src, PROC_REF(PrivRemoveListener))
PrivUpdateListenerLoc(listener, FALSE)
/datum/sound_token/proc/PrivRemoveListener(atom/listener, sound/null_sound)
null_sound = null_sound || new(channel = sound.channel)
sound_to(listener, null_sound)
moved_event.unregister(listener, src, /datum/sound_token/proc/PrivUpdateListenerLoc)
destroyed_event.unregister(listener, src, /datum/sound_token/proc/PrivRemoveListener)
moved_event.unregister(listener, src, PROC_REF(PrivUpdateListenerLoc))
destroyed_event.unregister(listener, src, PROC_REF(PrivRemoveListener))
listeners -= listener
/datum/sound_token/proc/PrivUpdateListenerLoc(atom/listener, update_sound = TRUE)

View File

@@ -72,9 +72,9 @@
daddy = ndaddy
set_dir(daddy.dir)
appearance = daddy.appearance
moved_event.register(daddy, src, /obj/effect/bluegoast/proc/mirror)
dir_set_event.register(daddy, src, /obj/effect/bluegoast/proc/mirror_dir)
destroyed_event.register(daddy, src, /datum/proc/qdel_self)
moved_event.register(daddy, src, PROC_REF(mirror))
dir_set_event.register(daddy, src, PROC_REF(mirror_dir))
destroyed_event.register(daddy, src, TYPE_PROC_REF(/datum, qdel_self))
/obj/effect/bluegoast/Destroy()
destroyed_event.unregister(daddy, src)

View File

@@ -101,8 +101,8 @@
user.client.images |= holomap_datum.station_map
watching_mob = user
moved_event.register(watching_mob, src, /obj/machinery/station_map/proc/checkPosition)
destroyed_event.register(watching_mob, src, /obj/machinery/station_map/proc/stopWatching)
moved_event.register(watching_mob, src, PROC_REF(checkPosition))
destroyed_event.register(watching_mob, src, PROC_REF(stopWatching))
update_use_power(POWER_USE_ACTIVE)
if(bogus)

View File

@@ -88,7 +88,7 @@
return FALSE
known_targets.Insert(1, target) // Insert the newly hacked target first,
destroyed_event.register(target, src, /obj/item/device/multitool/hacktool/proc/on_target_destroy)
destroyed_event.register(target, src, PROC_REF(on_target_destroy))
return TRUE
/obj/item/device/multitool/hacktool/proc/sanity_check()

View File

@@ -65,7 +65,7 @@
unregister_buffer(buffer_object)
buffer_object = buffer
if(buffer_object)
destroyed_event.register(buffer_object, src, /obj/item/device/multitool/proc/unregister_buffer)
destroyed_event.register(buffer_object, src, PROC_REF(unregister_buffer))
update_icon()
/obj/item/device/multitool/proc/unregister_buffer(var/atom/buffer_to_unregister)

View File

@@ -32,7 +32,7 @@
set_listening(TRUE)
recalculateChannels(TRUE)
possibly_deactivate_in_loc()
moved_event.register(src, src, /obj/item/device/radio/headset/proc/possibly_deactivate_in_loc)
moved_event.register(src, src, PROC_REF(possibly_deactivate_in_loc))
/obj/item/device/radio/headset/proc/possibly_deactivate_in_loc()
if(ismob(loc))

View File

@@ -9,12 +9,12 @@
/obj/structure/easel/Initialize(ml, _mat, _reinf_mat)
. = ..()
moved_event.register(src, src, /obj/structure/easel/proc/move_painting)
moved_event.register(src, src, PROC_REF(move_painting))
material = SSmaterials.get_material_by_name(MATERIAL_WOOD)
/obj/structure/easel/Destroy()
painting = null
moved_event.unregister(src, src, /obj/structure/easel/proc/move_painting)
moved_event.unregister(src, src, PROC_REF(move_painting))
return ..()
/*

View File

@@ -84,7 +84,7 @@
unset_registered_user()
registered_user = user
user.set_id_info(src)
destroyed_event.register(user, src, /obj/item/card/id/syndicate/proc/unset_registered_user)
destroyed_event.register(user, src, PROC_REF(unset_registered_user))
return TRUE
/obj/item/card/id/syndicate/proc/unset_registered_user(var/mob/user)

View File

@@ -245,7 +245,7 @@ Frequency:
var/old_pad = linked_pad
linked_pad = teleport_options[teleport_choice]
if(linked_pad)
destroyed_event.register(linked_pad, src, /obj/item/hand_tele/proc/pad_destroyed)
destroyed_event.register(linked_pad, src, PROC_REF(pad_destroyed))
if(old_pad && linked_pad != old_pad)
destroyed_event.unregister(old_pad, src)
return

View File

@@ -19,8 +19,8 @@
reflection.setup_visuals(src)
ref = WEAKREF(reflection)
entered_event.register(loc, reflection, /obj/effect/reflection/proc/check_vampire_enter)
exited_event.register(loc, reflection, /obj/effect/reflection/proc/check_vampire_exit)
entered_event.register(loc, reflection, TYPE_PROC_REF(/obj/effect/reflection, check_vampire_enter))
exited_event.register(loc, reflection, TYPE_PROC_REF(/obj/effect/reflection, check_vampire_exit))
/obj/structure/mirror/Destroy()
var/obj/effect/reflection/reflection = ref.resolve()

View File

@@ -43,8 +43,8 @@
T.pixel_x = 0
T.pixel_y = 0
T.layer = ABOVE_OBJ_LAYER
moved_event.register(T, src, /atom/movable/proc/move_to_turf)
moved_event.register(src, T, /atom/movable/proc/move_to_turf)
moved_event.register(T, src, TYPE_PROC_REF(/atom/movable, move_to_turf))
moved_event.register(src, T, TYPE_PROC_REF(/atom/movable, move_to_turf))
T.stake = src
pinned_target = T
else

View File

@@ -106,8 +106,8 @@
current_weight += I.w_class
vis_contents += I
I.vis_flags |= VIS_INHERIT_LAYER | VIS_INHERIT_PLANE
item_equipped_event.register(I, src, /obj/item/tray/proc/pick_up)
destroyed_event.register(I, src, /obj/item/tray/proc/unload_item)
item_equipped_event.register(I, src, PROC_REF(pick_up))
destroyed_event.register(I, src, PROC_REF(unload_item))
/obj/item/tray/verb/unload()
set name = "Unload Tray"

View File

@@ -118,9 +118,9 @@
if(source in sources)
return FALSE
sources += source
moved_event.register(source, src, /datum/visualnet/proc/source_moved)
destroyed_event.register(source, src, /datum/visualnet/proc/remove_source)
for_all_chunks_in_range(source, /datum/chunk/proc/add_source, list(source))
moved_event.register(source, src, PROC_REF(source_moved))
destroyed_event.register(source, src, PROC_REF(remove_source))
for_all_chunks_in_range(source, TYPE_PROC_REF(/datum/chunk, add_source), list(source))
if(update_visibility)
update_visibility(source, opacity_check)
return TRUE

View File

@@ -426,8 +426,8 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
stop_following()
following = target
moved_event.register(following, src, /atom/movable/proc/move_to_destination)
destroyed_event.register(following, src, /mob/abstract/observer/proc/stop_following)
moved_event.register(following, src, TYPE_PROC_REF(/atom/movable, move_to_destination))
destroyed_event.register(following, src, PROC_REF(stop_following))
to_chat(src, SPAN_NOTICE("Now following \the <b>[following]</b>."))
move_to_destination(following, following.loc, following.loc)

View File

@@ -41,7 +41,7 @@
parent.forceMove(src)
/mob/living/simple_animal/hostile/mech/setup_target_type_validators()
target_type_validator_map[/mob/living/simple_animal/hostile/mech] = CALLBACK(src, .proc/validator_rival)
target_type_validator_map[/mob/living/simple_animal/hostile/mech] = CALLBACK(src, PROC_REF(validator_rival))
/mob/living/simple_animal/hostile/mech/proc/validator_rival(var/mob/living/rival, var/atom/current)
if(!seeking_targets)
@@ -78,7 +78,7 @@
/mob/living/simple_animal/hostile/mech/hear_say(var/message, var/verb = "says", var/datum/language/language = null, var/alt_name = "", var/italics = 0, var/mob/speaker = null, var/sound/speech_sound, var/sound_vol)
if(!seeking_targets)
addtimer(CALLBACK(src, .proc/handle_hear_say, speaker, message), 0.5 SECONDS)
addtimer(CALLBACK(src, PROC_REF(handle_hear_say), speaker, message), 0.5 SECONDS)
return ..()
/mob/living/simple_animal/hostile/mech/proc/handle_hear_say(var/mob/speaker, var/text)

View File

@@ -419,7 +419,7 @@
affecting.buckled_to = null
affecting.update_canmove()
affecting.anchored = FALSE
moved_event.unregister(assailant, src, /obj/item/grab/proc/move_affecting)
moved_event.unregister(assailant, src, PROC_REF(move_affecting))
animate(affecting, pixel_x = affecting.get_standard_pixel_x(), pixel_y = affecting.get_standard_pixel_y(), 4, 1, LINEAR_EASING)
affecting.layer = initial(affecting.layer)
@@ -476,7 +476,7 @@
affecting.buckled_to = assailant
affecting.forceMove(H.loc)
adjust_position()
moved_event.register(assailant, src, /obj/item/grab/proc/move_affecting)
moved_event.register(assailant, src, PROC_REF(move_affecting))
/obj/item/grab/proc/set_wielding()
wielded = TRUE

View File

@@ -795,7 +795,7 @@
forceMove(T)
tile_shifted = TRUE
follow()
moved_event.register(owner, src, /atom/movable/z_observer/proc/follow)
moved_event.register(owner, src, PROC_REF(follow))
/atom/movable/z_observer/proc/follow()
@@ -803,7 +803,7 @@
forceMove(get_step(owner, UP))
if(isturf(src.loc))
var/turf/T = src.loc
if(T.z_flags & ZM_MIMIC_BELOW)
if(T && TURF_IS_MIMICING(T))
return
owner.reset_view(null)
owner.z_eye = null
@@ -812,14 +812,14 @@
/atom/movable/z_observer/z_down/follow()
forceMove(get_step(tile_shifted ? src : owner, DOWN))
var/turf/T = get_turf(tile_shifted ? get_step(owner, owner.dir) : owner)
if(T && (T.z_flags & ZM_MIMIC_BELOW))
if(T && TURF_IS_MIMICING(T))
return
owner.reset_view(null)
owner.z_eye = null
qdel(src)
/atom/movable/z_observer/Destroy()
moved_event.unregister(owner, src, /atom/movable/z_observer/proc/follow)
moved_event.unregister(owner, src, PROC_REF(follow))
owner = null
. = ..()

View File

@@ -126,13 +126,13 @@
if(!active_hazards.len)
hazard_by_turf -= T
entered_event.unregister(T, src, /singleton/overmap_event_handler/proc/on_turf_entered)
exited_event.unregister(T, src, /singleton/overmap_event_handler/proc/on_turf_exited)
entered_event.unregister(T, src, PROC_REF(on_turf_entered))
exited_event.unregister(T, src, PROC_REF(on_turf_exited))
else
hazard_by_turf |= T
hazard_by_turf[T] = active_hazards
entered_event.register(T, src,/singleton/overmap_event_handler/proc/on_turf_entered)
exited_event.register(T, src, /singleton/overmap_event_handler/proc/on_turf_exited)
entered_event.register(T, src, PROC_REF(on_turf_entered))
exited_event.register(T, src, PROC_REF(on_turf_exited))
for(var/obj/effect/overmap/visitable/ship/ship in T)
var/list/active_ship_events = ship_events[ship]

View File

@@ -125,8 +125,8 @@
var/mob_type = pick(repopulate_types)
var/mob/S = new mob_type(T)
animals += S
death_event.register(S, src, /obj/effect/overmap/visitable/sector/exoplanet/proc/remove_animal)
destroyed_event.register(S, src, /obj/effect/overmap/visitable/sector/exoplanet/proc/remove_animal)
death_event.register(S, src, PROC_REF(remove_animal))
destroyed_event.register(S, src, PROC_REF(remove_animal))
adapt_animal(S)
if(animals.len >= max_animal_count)
repopulating = 0
@@ -205,8 +205,8 @@
for(var/mob/living/simple_animal/A in living_mob_list)
if(A.z in map_z)
animals += A
death_event.register(A, src, /obj/effect/overmap/visitable/sector/exoplanet/proc/remove_animal)
destroyed_event.register(A, src, /obj/effect/overmap/visitable/sector/exoplanet/proc/remove_animal)
death_event.register(A, src, PROC_REF(remove_animal))
destroyed_event.register(A, src, PROC_REF(remove_animal))
max_animal_count = animals.len
for(var/type in random_map.fauna_types)
mobs_to_tolerate[type] = TRUE

View File

@@ -52,9 +52,9 @@ somewhere on that shuttle. Subtypes of these can be then used to perform ship ov
user.reset_view(linked)
if(user.client)
user.client.view = world.view + extra_view
moved_event.register(user, src, /obj/machinery/computer/ship/proc/unlook)
moved_event.register(user, src, PROC_REF(unlook))
if(user.eyeobj)
moved_event.register(user.eyeobj, src, /obj/machinery/computer/ship/proc/unlook)
moved_event.register(user.eyeobj, src, PROC_REF(unlook))
LAZYDISTINCTADD(viewers, WEAKREF(user))
/obj/machinery/computer/ship/proc/unlook(var/mob/user)
@@ -71,11 +71,11 @@ somewhere on that shuttle. Subtypes of these can be then used to perform ship ov
c.pixel_x = 0
c.pixel_y = 0
moved_event.unregister(user, src, /obj/machinery/computer/ship/proc/unlook)
moved_event.unregister(user, src, PROC_REF(unlook))
if(isEye(user)) // If we're an AI eye, the computer has our AI mob in its viewers list not the eye mob
var/mob/abstract/eye/E = user
moved_event.unregister(E.owner, src, /obj/machinery/computer/ship/proc/unlook)
moved_event.unregister(E.owner, src, PROC_REF(unlook))
LAZYREMOVE(viewers, WEAKREF(E.owner))
LAZYREMOVE(viewers, WEAKREF(user))

View File

@@ -96,7 +96,7 @@
core_landmark = master
name = _name
landmark_tag = master.shuttle_name + _name
destroyed_event.register(master, src, /proc/qdel)
destroyed_event.register(master, src, GLOBAL_PROC_REF(qdel))
. = ..()
/obj/effect/shuttle_landmark/visiting_shuttle/Destroy()

View File

@@ -177,9 +177,9 @@ obj/aiming_overlay/proc/update_aiming_deferred()
locked = 0
update_icon()
lock_time = world.time + 35
moved_event.register(owner, src, /obj/aiming_overlay/proc/update_aiming)
moved_event.register(aiming_at, src, /obj/aiming_overlay/proc/target_moved)
destroyed_event.register(aiming_at, src, /obj/aiming_overlay/proc/cancel_aiming)
moved_event.register(owner, src, PROC_REF(update_aiming))
moved_event.register(aiming_at, src, PROC_REF(target_moved))
destroyed_event.register(aiming_at, src, PROC_REF(cancel_aiming))
/obj/aiming_overlay/proc/aim_cooldown(var/seconds)
aimcooldown = world.time + seconds SECONDS

View File

@@ -145,7 +145,7 @@
affected.implants += tool
if(istype(tool, /obj/item/device/gps))
var/obj/item/device/gps/gps = tool
moved_event.register(target, gps, /obj/item/device/gps/proc/update_position)
moved_event.register(target, gps, TYPE_PROC_REF(/obj/item/device/gps, update_position))
gps.implanted_into = target
tool.forceMove(affected)
affected.cavity = CAVITY_CLOSED

View File

@@ -176,7 +176,7 @@
for(var/obj/item/O in get_turf(src))
if(!O.anchored && O.w_class < ITEMSIZE_HUGE)
animate(O, pixel_y = 3, time = 2, loop = 1, easing = BOUNCE_EASING)
addtimer(CALLBACK(O, /obj/item/.proc/reset_table_position), 2)
addtimer(CALLBACK(O, TYPE_PROC_REF(/obj/item, reset_table_position), 2))
/obj/item/proc/reset_table_position()
animate(src, pixel_y = 0, time = 2, loop = 1, easing = BOUNCE_EASING)

View File

@@ -50,10 +50,10 @@ var/list/GPS_list = list()
update_icon()
if(held_by)
moved_event.register(held_by, src, /obj/item/device/gps/proc/update_position)
moved_event.register(held_by, src, PROC_REF(update_position))
if(implanted_into)
moved_event.register(implanted_into, src, /obj/item/device/gps/proc/update_position)
moved_event.register(src, src, /obj/item/device/gps/proc/update_position)
moved_event.register(implanted_into, src, PROC_REF(update_position))
moved_event.register(src, src, PROC_REF(update_position))
for(var/gps in GPS_list)
tracking += GPS_list[gps]["tag"]
@@ -86,7 +86,7 @@ var/list/GPS_list = list()
if(held_by)
moved_event.unregister(held_by, src)
held_by = user
moved_event.register(user, src, /obj/item/device/gps/proc/update_position)
moved_event.register(user, src, PROC_REF(update_position))
update_icon()
/obj/item/device/gps/dropped(var/mob/user)
@@ -341,10 +341,10 @@ var/list/GPS_list = list()
update_icon()
if(held_by)
moved_event.register(held_by, src, /obj/item/device/gps/proc/update_position)
moved_event.register(held_by, src, PROC_REF(update_position))
if(implanted_into)
moved_event.register(implanted_into, src, /obj/item/device/gps/proc/update_position)
moved_event.register(src, src, /obj/item/device/gps/proc/update_position)
moved_event.register(implanted_into, src, PROC_REF(update_position))
moved_event.register(src, src, PROC_REF(update_position))
for(var/gps in GPS_list)
tracking += GPS_list[gps]["tag"]