Skip to content

Commit 2c3fead

Browse files
committed
Merge branch '515' of https://github.com/DeadLineSS13/mojave-sun-13 into 515
2 parents 92cfcc9 + cf82f18 commit 2c3fead

File tree

1,221 files changed

+3701
-3679
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,221 files changed

+3701
-3679
lines changed

.github/guides/HARDDELETES.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ Here's an example
245245
UnregisterSignal(target, COMSIG_PARENT_QDELETING) //We need to make sure any old signals are cleared
246246
target = new_target
247247
if(target)
248-
RegisterSignal(target, COMSIG_PARENT_QDELETING, .proc/clear_target) //Call clear_target if target is ever qdel()'d
248+
RegisterSignal(target, COMSIG_PARENT_QDELETING, PROC_REF(clear_target)) //Call clear_target if target is ever qdel()'d
249249
250250
/somemob/proc/clear_target(datum/source)
251251
SIGNAL_HANDLER

code/__DEFINES/cooldowns.dm

+2-2
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
#define COMSIG_CD_STOP(cd_index) "cooldown_[cd_index]"
6868
#define COMSIG_CD_RESET(cd_index) "cd_reset_[cd_index]"
6969

70-
#define TIMER_COOLDOWN_START(cd_source, cd_index, cd_time) LAZYSET(cd_source.cooldowns, cd_index, addtimer(CALLBACK(GLOBAL_PROC, /proc/end_cooldown, cd_source, cd_index), cd_time))
70+
#define TIMER_COOLDOWN_START(cd_source, cd_index, cd_time) LAZYSET(cd_source.cooldowns, cd_index, addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(end_cooldown), cd_source, cd_index), cd_time))
7171

7272
#define TIMER_COOLDOWN_CHECK(cd_source, cd_index) LAZYACCESS(cd_source.cooldowns, cd_index)
7373

@@ -80,7 +80,7 @@
8080
* A bit more expensive than the regular timers, but can be reset before they end and the time left can be checked.
8181
*/
8282

83-
#define S_TIMER_COOLDOWN_START(cd_source, cd_index, cd_time) LAZYSET(cd_source.cooldowns, cd_index, addtimer(CALLBACK(GLOBAL_PROC, /proc/end_cooldown, cd_source, cd_index), cd_time, TIMER_STOPPABLE))
83+
#define S_TIMER_COOLDOWN_START(cd_source, cd_index, cd_time) LAZYSET(cd_source.cooldowns, cd_index, addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(end_cooldown), cd_source, cd_index), cd_time, TIMER_STOPPABLE))
8484

8585
#define S_TIMER_COOLDOWN_RESET(cd_source, cd_index) reset_cooldown(cd_source, cd_index)
8686

code/__DEFINES/qdel.dm

+3-3
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,10 @@
4747
#define QDELETED(X) (!X || QDELING(X))
4848
#define QDESTROYING(X) (!X || X.gc_destroyed == GC_CURRENTLY_BEING_QDELETED)
4949

50-
#define QDEL_IN(item, time) addtimer(CALLBACK(GLOBAL_PROC, .proc/qdel, (time) > GC_FILTER_QUEUE ? WEAKREF(item) : item), time, TIMER_STOPPABLE)
51-
#define QDEL_IN_CLIENT_TIME(item, time) addtimer(CALLBACK(GLOBAL_PROC, .proc/qdel, item), time, TIMER_STOPPABLE | TIMER_CLIENT_TIME)
50+
#define QDEL_IN(item, time) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), (time) > GC_FILTER_QUEUE ? WEAKREF(item) : item), time, TIMER_STOPPABLE)
51+
#define QDEL_IN_CLIENT_TIME(item, time) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), item), time, TIMER_STOPPABLE | TIMER_CLIENT_TIME)
5252
#define QDEL_NULL(item) qdel(item); item = null
5353
#define QDEL_LIST(L) if(L) { for(var/I in L) qdel(I); L.Cut(); }
54-
#define QDEL_LIST_IN(L, time) addtimer(CALLBACK(GLOBAL_PROC, .proc/______qdel_list_wrapper, L), time, TIMER_STOPPABLE)
54+
#define QDEL_LIST_IN(L, time) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(______qdel_list_wrapper), L), time, TIMER_STOPPABLE)
5555
#define QDEL_LIST_ASSOC(L) if(L) { for(var/I in L) { qdel(L[I]); qdel(I); } L.Cut(); }
5656
#define QDEL_LIST_ASSOC_VAL(L) if(L) { for(var/I in L) qdel(L[I]); L.Cut(); }

code/__HELPERS/_lists.dm

+3-3
Original file line numberDiff line numberDiff line change
@@ -512,20 +512,20 @@
512512

513513
///for sorting clients or mobs by ckey
514514
/proc/sort_key(list/ckey_list, order=1)
515-
return sortTim(ckey_list, order >= 0 ? /proc/cmp_ckey_asc : /proc/cmp_ckey_dsc)
515+
return sortTim(ckey_list, order >= 0 ? GLOBAL_PROC_REF(cmp_ckey_asc) : GLOBAL_PROC_REF(cmp_ckey_dsc))
516516

517517
///Specifically for record datums in a list.
518518
/proc/sort_record(list/record_list, field = "name", order = 1)
519519
GLOB.cmp_field = field
520-
return sortTim(record_list, order >= 0 ? /proc/cmp_records_asc : /proc/cmp_records_dsc)
520+
return sortTim(record_list, order >= 0 ? GLOBAL_PROC_REF(cmp_records_asc) : GLOBAL_PROC_REF(cmp_records_dsc))
521521

522522
///sort any value in a list
523523
/proc/sort_list(list/list_to_sort, cmp=/proc/cmp_text_asc)
524524
return sortTim(list_to_sort.Copy(), cmp)
525525

526526
///uses sort_list() but uses the var's name specifically. This should probably be using mergeAtom() instead
527527
/proc/sort_names(list/list_to_sort, order=1)
528-
return sortTim(list_to_sort.Copy(), order >= 0 ? /proc/cmp_name_asc : /proc/cmp_name_dsc)
528+
return sortTim(list_to_sort.Copy(), order >= 0 ? GLOBAL_PROC_REF(cmp_name_asc) : GLOBAL_PROC_REF(cmp_name_dsc))
529529

530530
///Converts a bitfield to a list of numbers (or words if a wordlist is provided)
531531
/proc/bitfield_to_list(bitfield = 0, list/wordlist)

code/__HELPERS/_string_lists.dm

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ GLOBAL_VAR(string_filename_current_key)
1414
if((filepath in GLOB.string_cache) && (key in GLOB.string_cache[filepath]))
1515
var/response = pick(GLOB.string_cache[filepath][key])
1616
var/regex/r = regex("@pick\\((\\D+?)\\)", "g")
17-
response = r.Replace(response, /proc/strings_subkey_lookup)
17+
response = r.Replace(response, GLOBAL_PROC_REF(strings_subkey_lookup))
1818
return response
1919
else
2020
CRASH("strings list not found: [STRING_DIRECTORY]/[filepath], index=[key]")

code/__HELPERS/areas.dm

+2-2
Original file line numberDiff line numberDiff line change
@@ -111,11 +111,11 @@ GLOBAL_LIST_INIT(typecache_powerfailure_safe_areas, typecacheof(/area/engineerin
111111
for(var/area/A in world)
112112
GLOB.sortedAreas.Add(A)
113113

114-
sortTim(GLOB.sortedAreas, /proc/cmp_name_asc)
114+
sortTim(GLOB.sortedAreas, GLOBAL_PROC_REF(cmp_name_asc))
115115

116116
/area/proc/addSorted()
117117
GLOB.sortedAreas.Add(src)
118-
sortTim(GLOB.sortedAreas, /proc/cmp_name_asc)
118+
sortTim(GLOB.sortedAreas, GLOBAL_PROC_REF(cmp_name_asc))
119119

120120
//Takes: Area type as a text string from a variable.
121121
//Returns: Instance for the area in the world.

code/__HELPERS/game.dm

+1-1
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@
126126
/proc/flick_overlay(image/image_to_show, list/show_to, duration)
127127
for(var/client/add_to in show_to)
128128
add_to.images += image_to_show
129-
addtimer(CALLBACK(GLOBAL_PROC, /proc/remove_images_from_clients, image_to_show, show_to), duration, TIMER_CLIENT_TIME)
129+
addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(remove_images_from_clients), image_to_show, show_to), duration, TIMER_CLIENT_TIME)
130130

131131
///wrapper for flick_overlay(), flicks to everyone who can see the target atom
132132
/proc/flick_overlay_view(image/image_to_show, atom/target, duration)

code/__HELPERS/global_lists.dm

+3-3
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,12 @@
3838
for(var/spath in subtypesof(/datum/species))
3939
var/datum/species/S = new spath()
4040
GLOB.species_list[S.id] = spath
41-
sort_list(GLOB.species_list, /proc/cmp_typepaths_asc)
41+
sort_list(GLOB.species_list, GLOBAL_PROC_REF(cmp_typepaths_asc))
4242

4343
//Surgeries
4444
for(var/path in subtypesof(/datum/surgery))
4545
GLOB.surgeries_list += new path()
46-
sort_list(GLOB.surgeries_list, /proc/cmp_typepaths_asc)
46+
sort_list(GLOB.surgeries_list, GLOBAL_PROC_REF(cmp_typepaths_asc))
4747

4848
// Hair Gradients - Initialise all /datum/sprite_accessory/hair_gradient into an list indexed by gradient-style name
4949
for(var/path in subtypesof(/datum/sprite_accessory/gradient))
@@ -64,7 +64,7 @@
6464
/proc/init_crafting_recipes(list/crafting_recipes)
6565
for(var/path in subtypesof(/datum/crafting_recipe))
6666
var/datum/crafting_recipe/recipe = new path()
67-
recipe.reqs = sort_list(recipe.reqs, /proc/cmp_crafting_req_priority)
67+
recipe.reqs = sort_list(recipe.reqs, GLOBAL_PROC_REF(cmp_crafting_req_priority))
6868
crafting_recipes += recipe
6969
return crafting_recipes
7070

code/__HELPERS/hearted.dm

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
if(!check_mob?.mind || !check_mob.client)
1515
continue
1616
// maybe some other filters like bans or whatever
17-
INVOKE_ASYNC(check_mob, /mob.proc/query_heart, 1)
17+
INVOKE_ASYNC(check_mob, TYPE_PROC_REF(/mob, query_heart), 1)
1818
number_to_ask--
1919
if(number_to_ask <= 0)
2020
break

code/__HELPERS/icons.dm

+2-2
Original file line numberDiff line numberDiff line change
@@ -1252,7 +1252,7 @@ GLOBAL_LIST_EMPTY(transformation_animation_objects)
12521252
for(var/A in transformation_objects)
12531253
vis_contents += A
12541254
if(reset_after)
1255-
addtimer(CALLBACK(src,.proc/_reset_transformation_animation,filter_index),time)
1255+
addtimer(CALLBACK(src, PROC_REF(_reset_transformation_animation), filter_index),time)
12561256

12571257
/*
12581258
* Resets filters and removes transformation animations helper objects from vis contents.
@@ -1329,7 +1329,7 @@ GLOBAL_LIST_EMPTY(transformation_animation_objects)
13291329
animate(transform = transforms[2], time=0.2)
13301330
animate(transform = transforms[3], time=0.4)
13311331
animate(transform = transforms[4], time=0.6)
1332-
addtimer(CALLBACK(src, .proc/Stop_Shaking), duration)
1332+
addtimer(CALLBACK(src, PROC_REF(Stop_Shaking)), duration)
13331333

13341334
/atom/proc/Stop_Shaking()
13351335
update_appearance()

code/__HELPERS/nameof.dm

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/**
2+
* NAMEOF: Compile time checked variable name to string conversion
3+
* evaluates to a string equal to "X", but compile errors if X isn't a var on datum.
4+
* datum may be null, but it does need to be a typed var.
5+
**/
6+
#define NAMEOF(datum, X) (#X || ##datum.##X)
7+
8+
/**
9+
* NAMEOF that actually works in static definitions because src::type requires src to be defined
10+
*/
11+
#define NAMEOF_STATIC(datum, X) (nameof(type::##X))

code/__HELPERS/priority_announce.dm

+1-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969
to_chat(mob_to_teleport, announcement)
7070
SEND_SOUND(mob_to_teleport, meeting_sound) //no preferences here, you must hear the funny sound
7171
mob_to_teleport.overlay_fullscreen("emergency_meeting", /atom/movable/screen/fullscreen/emergency_meeting, 1)
72-
addtimer(CALLBACK(mob_to_teleport, /mob/.proc/clear_fullscreen, "emergency_meeting"), 3 SECONDS)
72+
addtimer(CALLBACK(mob_to_teleport, TYPE_PROC_REF(/mob, clear_fullscreen), "emergency_meeting"), 3 SECONDS)
7373

7474
if (is_station_level(mob_to_teleport.z)) //teleport the mob to the crew meeting
7575
var/turf/target

code/__HELPERS/roundend.dm

+1-1
Original file line numberDiff line numberDiff line change
@@ -604,7 +604,7 @@
604604
var/currrent_category
605605
var/datum/antagonist/previous_category
606606

607-
sortTim(all_antagonists, /proc/cmp_antag_category)
607+
sortTim(all_antagonists, GLOBAL_PROC_REF(cmp_antag_category))
608608

609609
for(var/datum/antagonist/A in all_antagonists)
610610
if(!A.show_in_roundend)

code/__HELPERS/sorts/__main.dm

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ GLOBAL_DATUM_INIT(sortInstance, /datum/sort_instance, new())
1515
var/list/L
1616

1717
//The comparator proc-reference
18-
var/cmp = /proc/cmp_numeric_asc
18+
var/cmp = GLOBAL_PROC_REF(cmp_numeric_asc)
1919

2020
//whether we are sorting list keys (0: L[i]) or associated values (1: L[L[i]])
2121
var/associative = 0

code/__HELPERS/stat_tracking.dm

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/proc/render_stats(list/stats, user, sort = /proc/cmp_generic_stat_item_time)
1+
/proc/render_stats(list/stats, user, sort = GLOBAL_PROC_REF(cmp_generic_stat_item_time))
22
sortTim(stats, sort, TRUE)
33

44
var/list/lines = list()

code/__HELPERS/traits.dm

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
#define TRAIT_CALLBACK_ADD(target, trait, source) CALLBACK(GLOBAL_PROC, /proc/___TraitAdd, ##target, ##trait, ##source)
2-
#define TRAIT_CALLBACK_REMOVE(target, trait, source) CALLBACK(GLOBAL_PROC, /proc/___TraitRemove, ##target, ##trait, ##source)
1+
#define TRAIT_CALLBACK_ADD(target, trait, source) CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(___TraitAdd), ##target, ##trait, ##source)
2+
#define TRAIT_CALLBACK_REMOVE(target, trait, source) CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(___TraitRemove), ##target, ##trait, ##source)
33

44
///DO NOT USE ___TraitAdd OR ___TraitRemove as a replacement for ADD_TRAIT / REMOVE_TRAIT defines. To be used explicitly for callback.
55
/proc/___TraitAdd(target,trait,source)

code/__HELPERS/varset_callback.dm

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
1-
///datum may be null, but it does need to be a typed var
2-
#define NAMEOF(datum, X) (#X || ##datum.##X)
3-
4-
#define VARSET_LIST_CALLBACK(target, var_name, var_value) CALLBACK(GLOBAL_PROC, /proc/___callbackvarset, ##target, ##var_name, ##var_value)
1+
#define VARSET_LIST_CALLBACK(target, var_name, var_value) CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(___callbackvarset), ##target, ##var_name, ##var_value)
52
//dupe code because dm can't handle 3 level deep macros
6-
#define VARSET_CALLBACK(datum, var, var_value) CALLBACK(GLOBAL_PROC, /proc/___callbackvarset, ##datum, NAMEOF(##datum, ##var), ##var_value)
3+
#define VARSET_CALLBACK(datum, var, var_value) CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(___callbackvarset), ##datum, NAMEOF(##datum, ##var), ##var_value)
74

85
/proc/___callbackvarset(list_or_datum, var_name, var_value)
96
if(length(list_or_datum))

code/__byond_version_compat.dm

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
// This file contains defines allowing targeting byond versions newer than the supported
2+
3+
//Update this whenever you need to take advantage of more recent byond features
4+
#define MIN_COMPILER_VERSION 515
5+
#define MIN_COMPILER_BUILD 1630
6+
#if (DM_VERSION < MIN_COMPILER_VERSION || DM_BUILD < MIN_COMPILER_BUILD) && !defined(SPACEMAN_DMM)
7+
//Don't forget to update this part
8+
#error Your version of BYOND is too out-of-date to compile this project. Go to https://secure.byond.com/download and update.
9+
#error You need version 515.1630 or higher
10+
#endif
11+
12+
// Keep savefile compatibilty at minimum supported level
13+
/savefile/byond_version = MIN_COMPILER_VERSION
14+
15+
// So we want to have compile time guarantees these methods exist on local type
16+
// We use wrappers for this in case some part of the api ever changes, and to make their function more clear
17+
// For the record: GLOBAL_VERB_REF would be useless as verbs can't be global.
18+
19+
/// Call by name proc references, checks if the proc exists on either this type or as a global proc.
20+
#define PROC_REF(X) (nameof(.proc/##X))
21+
/// Call by name verb references, checks if the verb exists on either this type or as a global verb.
22+
#define VERB_REF(X) (nameof(.verb/##X))
23+
24+
/// Call by name proc reference, checks if the proc exists on either the given type or as a global proc
25+
#define TYPE_PROC_REF(TYPE, X) (nameof(##TYPE.proc/##X))
26+
/// Call by name verb reference, checks if the verb exists on either the given type or as a global verb
27+
#define TYPE_VERB_REF(TYPE, X) (nameof(##TYPE.verb/##X))
28+
29+
/// Call by name proc reference, checks if the proc is an existing global proc
30+
#define GLOBAL_PROC_REF(X) (/proc/##X)

code/_compile_options.dm

-15
Original file line numberDiff line numberDiff line change
@@ -68,21 +68,6 @@
6868
#define FORCE_MAP_DIRECTORY "_maps"
6969
#endif
7070

71-
//Update this whenever you need to take advantage of more recent byond features
72-
#define MIN_COMPILER_VERSION 514
73-
#define MIN_COMPILER_BUILD 1556
74-
#if (DM_VERSION < MIN_COMPILER_VERSION || DM_BUILD < MIN_COMPILER_BUILD) && !defined(SPACEMAN_DMM)
75-
//Don't forget to update this part
76-
#error Your version of BYOND is too out-of-date to compile this project. Go to https://secure.byond.com/download and update.
77-
#error You need version 514.1556 or higher
78-
#endif
79-
80-
#if (DM_VERSION == 514 && DM_BUILD > 1575 && DM_BUILD <= 1577)
81-
#error Your version of BYOND currently has a crashing issue that will prevent you from running Dream Daemon test servers.
82-
#error We require developers to test their content, so an inability to test means we cannot allow the compile.
83-
#error Please consider downgrading to 514.1575 or lower.
84-
#endif
85-
8671
//Additional code for the above flags.
8772
#ifdef TESTING
8873
#warn compiling in TESTING mode. testing() debug messages will be visible.

code/_onclick/hud/alert.dm

+5-5
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@
7575
// animate(thealert, transform = matrix(), time = 2.5, easing = CUBIC_EASING) // MS disable screen obj easing in
7676

7777
if(thealert.timeout)
78-
addtimer(CALLBACK(src, .proc/alert_timeout, thealert, category), thealert.timeout)
78+
addtimer(CALLBACK(src, PROC_REF(alert_timeout), thealert, category), thealert.timeout)
7979
thealert.timeout = world.time + thealert.timeout - world.tick_lag
8080
return thealert
8181

@@ -361,7 +361,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion."
361361
add_overlay(receiving)
362362
src.receiving = receiving
363363
src.offerer = offerer
364-
RegisterSignal(taker, COMSIG_MOVABLE_MOVED, .proc/check_in_range, override = TRUE) //Override to prevent runtimes when people offer a item multiple times
364+
RegisterSignal(taker, COMSIG_MOVABLE_MOVED, PROC_REF(check_in_range), override = TRUE) //Override to prevent runtimes when people offer a item multiple times
365365

366366
/atom/movable/screen/alert/give/Click(location, control, params)
367367
. = ..()
@@ -390,7 +390,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion."
390390
. = ..()
391391
name = "[offerer] is offering a high-five!"
392392
desc = "[offerer] is offering a high-five! Click this alert to slap it."
393-
RegisterSignal(offerer, COMSIG_PARENT_EXAMINE_MORE, .proc/check_fake_out)
393+
RegisterSignal(offerer, COMSIG_PARENT_EXAMINE_MORE, PROC_REF(check_fake_out))
394394

395395
/atom/movable/screen/alert/give/highfive/handle_transfer()
396396
var/mob/living/carbon/taker = owner
@@ -409,7 +409,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion."
409409

410410
offerer.visible_message(span_notice("[rube] rushes in to high-five [offerer], but-"), span_nicegreen("[rube] falls for your trick just as planned, lunging for a high-five that no longer exists! Classic!"), ignored_mobs=rube)
411411
to_chat(rube, span_nicegreen("You go in for [offerer]'s high-five, but-"))
412-
addtimer(CALLBACK(src, .proc/too_slow_p2, offerer, rube), 0.5 SECONDS)
412+
addtimer(CALLBACK(src, PROC_REF(too_slow_p2), offerer, rube), 0.5 SECONDS)
413413

414414
/// Part two of the ultimate prank
415415
/atom/movable/screen/alert/give/highfive/proc/too_slow_p2()
@@ -445,7 +445,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion."
445445
add_overlay(receiving)
446446
src.receiving = receiving
447447
src.offerer = offerer
448-
RegisterSignal(taker, COMSIG_MOVABLE_MOVED, .proc/check_in_range, override = TRUE) //Override to prevent runtimes when people offer a item multiple times
448+
RegisterSignal(taker, COMSIG_MOVABLE_MOVED, PROC_REF(check_in_range), override = TRUE) //Override to prevent runtimes when people offer a item multiple times
449449

450450
/// Gives the player the option to succumb while in critical condition
451451
/atom/movable/screen/alert/succumb

code/_onclick/hud/credits.dm

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
animate(src, transform = M, time = CREDIT_ROLL_SPEED)
5454
target = M
5555
animate(src, alpha = 255, time = CREDIT_EASE_DURATION, flags = ANIMATION_PARALLEL)
56-
addtimer(CALLBACK(src, .proc/FadeOut), CREDIT_ROLL_SPEED - CREDIT_EASE_DURATION)
56+
addtimer(CALLBACK(src, PROC_REF(FadeOut)), CREDIT_ROLL_SPEED - CREDIT_EASE_DURATION)
5757
QDEL_IN(src, CREDIT_ROLL_SPEED)
5858
if(parent)
5959
parent.screen += src

code/_onclick/hud/fullscreen.dm

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525

2626
if(animated)
2727
animate(screen, alpha = 0, time = animated)
28-
addtimer(CALLBACK(src, .proc/clear_fullscreen_after_animate, screen), animated, TIMER_CLIENT_TIME)
28+
addtimer(CALLBACK(src, PROC_REF(clear_fullscreen_after_animate), screen), animated, TIMER_CLIENT_TIME)
2929
else
3030
if(client)
3131
client.screen -= screen

code/_onclick/hud/hud.dm

+1-1
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ GLOBAL_LIST_INIT(available_ui_styles, list(
244244
viewmob.hud_used.plane_masters_update()
245245

246246
// MOJAVE SUN EDIT START - changes for HUD
247-
INVOKE_ASYNC(screenmob.client, /client/.proc/setHudBarVisible )
247+
INVOKE_ASYNC(screenmob.client, TYPE_PROC_REF(/client, setHudBarVisible))
248248
// MOJAVE SUN EDIT END - changes for HUD
249249

250250
return TRUE

0 commit comments

Comments
 (0)