516 Compile Compatibility (#88611)

Renames all uses of caller, as they (currently) shadow the new byond var
and will in future error
Ups our "wan if compiled after" experiement compile version to 516
Adds an alternate 516 unit test
This commit is contained in:
LemonInTheDark
2024-12-27 01:04:50 +00:00
committed by GitHub
parent 6b252b5309
commit 91719a400a
36 changed files with 283 additions and 278 deletions
+35 -35
View File
@@ -397,7 +397,7 @@
RETURN_TYPE(/datum/mod_link)
if(!link_call)
return
return link_call.caller == src ? link_call.receiver : link_call.caller
return link_call.link_caller == src ? link_call.link_receiver : link_call.link_caller
/datum/mod_link/proc/call_link(datum/mod_link/called, mob/user)
if(!frequency)
@@ -424,8 +424,8 @@
link_target.playsound_local(get_turf(called.holder), 'sound/items/weapons/ring.ogg', 15, vary = TRUE)
var/atom/movable/screen/alert/modlink_call/alert = link_target.throw_alert("[REF(src)]_modlink", /atom/movable/screen/alert/modlink_call)
alert.desc = "[holder] ([id]) is calling you! Left-click this to accept the call. Right-click to deny it."
alert.caller_ref = WEAKREF(src)
alert.receiver_ref = WEAKREF(called)
alert.link_caller_ref = WEAKREF(src)
alert.link_receiver_ref = WEAKREF(called)
alert.user_ref = WEAKREF(user)
/datum/mod_link/proc/end_call()
@@ -438,33 +438,33 @@
/// A MODlink call datum, used to handle the call between two MODlinks.
/datum/mod_link_call
/// The MODlink that is calling.
var/datum/mod_link/caller
var/datum/mod_link/link_caller
/// The MODlink that is being called.
var/datum/mod_link/receiver
var/datum/mod_link/link_receiver
/datum/mod_link_call/New(datum/mod_link/caller, datum/mod_link/receiver)
caller.link_call = src
receiver.link_call = src
src.caller = caller
src.receiver = receiver
var/mob/living/caller_mob = caller.get_user_callback.Invoke()
/datum/mod_link_call/New(datum/mod_link/link_caller, datum/mod_link/link_receiver)
link_caller.link_call = src
link_receiver.link_call = src
src.link_caller = link_caller
src.link_receiver = link_receiver
var/mob/living/caller_mob = link_caller.get_user_callback.Invoke()
ADD_TRAIT(caller_mob, TRAIT_IN_CALL, REF(src))
var/mob/living/receiver_mob = receiver.get_user_callback.Invoke()
var/mob/living/receiver_mob = link_receiver.get_user_callback.Invoke()
ADD_TRAIT(receiver_mob, TRAIT_IN_CALL, REF(src))
make_visuals()
START_PROCESSING(SSprocessing, src)
/datum/mod_link_call/Destroy()
var/mob/living/caller_mob = caller.get_user_callback.Invoke()
var/mob/living/caller_mob = link_caller.get_user_callback.Invoke()
if(!QDELETED(caller_mob))
REMOVE_TRAIT(caller_mob, TRAIT_IN_CALL, REF(src))
var/mob/living/receiver_mob = receiver.get_user_callback.Invoke()
var/mob/living/receiver_mob = link_receiver.get_user_callback.Invoke()
if(!QDELETED(receiver_mob))
REMOVE_TRAIT(receiver_mob, TRAIT_IN_CALL, REF(src))
STOP_PROCESSING(SSprocessing, src)
clear_visuals()
caller.link_call = null
receiver.link_call = null
link_caller.link_call = null
link_receiver.link_call = null
return ..()
/datum/mod_link_call/process(seconds_per_tick)
@@ -473,17 +473,17 @@
qdel(src)
/datum/mod_link_call/proc/can_continue_call()
return caller.frequency == receiver.frequency && caller.can_call_callback.Invoke() && receiver.can_call_callback.Invoke()
return link_caller.frequency == link_receiver.frequency && link_caller.can_call_callback.Invoke() && link_receiver.can_call_callback.Invoke()
/datum/mod_link_call/proc/make_visuals()
var/caller_visual = caller.make_visual_callback.Invoke()
var/receiver_visual = receiver.make_visual_callback.Invoke()
caller.get_visual_callback.Invoke(receiver_visual)
receiver.get_visual_callback.Invoke(caller_visual)
var/caller_visual = link_caller.make_visual_callback.Invoke()
var/receiver_visual = link_receiver.make_visual_callback.Invoke()
link_caller.get_visual_callback.Invoke(receiver_visual)
link_receiver.get_visual_callback.Invoke(caller_visual)
/datum/mod_link_call/proc/clear_visuals()
caller.delete_visual_callback.Invoke()
receiver.delete_visual_callback.Invoke()
link_caller.delete_visual_callback.Invoke()
link_receiver.delete_visual_callback.Invoke()
/proc/call_link(mob/user, datum/mod_link/calling_link)
if(!calling_link.frequency)
@@ -514,9 +514,9 @@
clickable_glow = TRUE
var/end_message = "call timed out!"
/// A weak reference to the MODlink that is calling.
var/datum/weakref/caller_ref
var/datum/weakref/link_caller_ref
/// A weak reference to the MODlink that is being called.
var/datum/weakref/receiver_ref
var/datum/weakref/link_receiver_ref
/// A weak reference to the mob that is calling.
var/datum/weakref/user_ref
@@ -524,25 +524,25 @@
. = ..()
if(usr != owner)
return
var/datum/mod_link/caller = caller_ref.resolve()
var/datum/mod_link/receiver = receiver_ref.resolve()
if(!caller || !receiver)
var/datum/mod_link/link_caller = link_caller_ref.resolve()
var/datum/mod_link/link_receiver = link_receiver_ref.resolve()
if(!link_caller || !link_receiver)
return
if(caller.link_call || receiver.link_call)
if(link_caller.link_call || link_receiver.link_call)
return
var/list/modifiers = params2list(params)
if(LAZYACCESS(modifiers, RIGHT_CLICK))
end_message = "call denied!"
owner.clear_alert("[REF(caller)]_modlink")
owner.clear_alert("[REF(link_caller)]_modlink")
return
end_message = "call accepted"
new /datum/mod_link_call(caller, receiver)
owner.clear_alert("[REF(caller)]_modlink")
new /datum/mod_link_call(link_caller, link_receiver)
owner.clear_alert("[REF(link_caller)]_modlink")
/atom/movable/screen/alert/modlink_call/Destroy()
var/mob/living/user = user_ref?.resolve()
var/datum/mod_link/caller = caller_ref?.resolve()
if(!user || !caller)
var/datum/mod_link/link_caller = link_caller_ref?.resolve()
if(!user || !link_caller)
return ..()
caller.holder.balloon_alert(user, end_message)
link_caller.holder.balloon_alert(user, end_message)
return ..()