Files
vgstation13/code/__HELPERS/cmp.dm
ShiftyRail 875eca8b71 516 compatibility PR 2: the revenge of Node.js (#37501)
* Part 1: fix tgui

* Fix overdark layering

* Vector code rework

* misc. tgui things

* final DM side fixes

* TGUI try to fix #1

* Nuclear option. Bring all TGUI files. Will begin UNTGification in later commits.

* Untgify: callback

* untgify : config flags & config datums

* Fixes GLOBAL_VAR_INIT

* Purge HASTRAIT

* .dme cleanup

* file by file: status_alert.dm

* file by file : preference datums + remove unused content

* file by file : tgui_input/text.dm

* file by file : fixes asset_cache_client.dm

* file by file : tgui_panel / external.dm

* file by file : tgui / external.dm

* file by file : tgui / states.dm

* file by file : subsystems/assets.dm [unused return type]

* file by file : subsystems/tgui.dm [tg-macro for process()]

* file by file : asset_cache_item.dm [minor proc call fix]

* file by file : fixes a mistype for datum/asset_cache_item

* file by file : removes bugs and unimplemented features in asset_list.dm

* multifile : some more work on asset manager

* File deleted : spirtesheet tg_assets. Don't need them

* Remove unused TG content, fix asset_list.dm

* Fixes a few issues with wrong type paths.

* remove tgui_panel : this is for tgchat/stat2, which we don't use

* fix thing

* misc changes to tgui.dm. Defining QDELETED macro

* final TGui fix

* TGUI file convert : camera console and religion screen

* Works

* GPS fixed + fontAwesome fixed

* Mecha console control

* Fixes blurry icons

* fixes iconbase64 regression

* Misc bug/runtimes fixes

* Fixes runtime funtime

* Add merch computer TGUI

* Fixes TGUI ticking interfaces + MSGS

* PCMC

* Power Monitor working

* Power monitor

* Bugfixes + robot console

* Fixes mecha messages

* Spess dot TV

* TEG

* Syndicate Uplink

* Bump defines and connection warning

* fix?

* Fucking highscores

* Fixes mistakes

---------

Co-authored-by: west3436 <66280799+west3436@users.noreply.github.com>
2025-05-06 02:41:33 -05:00

89 lines
2.7 KiB
Plaintext

/proc/cmp_numeric_dsc(a,b)
return b - a
/proc/cmp_numeric_asc(a,b)
return a - b
/proc/cmp_text_asc(a,b)
return sorttext(b,a)
/proc/cmp_text_dsc(a,b)
return sorttext(a,b)
/proc/cmp_name_asc(atom/a, atom/b)
return sorttext(b.name, a.name)
/proc/cmp_name_dsc(atom/a, atom/b)
return sorttext(a.name, b.name)
/proc/cmp_initial_name_asc(atom/a, atom/b)
return sorttext(initial(b.name), initial(a.name))
/proc/cmp_initial_name_dsc(atom/a, atom/b)
return sorttext(initial(a.name), initial(b.name))
var/cmp_field = "name"
/proc/cmp_records_asc(datum/data/record/a, datum/data/record/b)
return sorttext((b ? b.fields[cmp_field] : ""), (a ? a.fields[cmp_field] : a))
/proc/cmp_records_dsc(datum/data/record/a, datum/data/record/b)
return sorttext(a.fields[cmp_field], b.fields[cmp_field])
/proc/cmp_records_numerically(datum/data/record/a, datum/data/record/b)
return b.fields[cmp_field] - a.fields[cmp_field]
/proc/cmp_ckey_asc(client/a, client/b)
return sorttext(b.ckey, a.ckey)
/proc/cmp_ckey_dsc(client/a, client/b)
return sorttext(a.ckey, b.ckey)
/proc/cmp_subsystem_init(datum/subsystem/a, datum/subsystem/b)
return b.init_order - a.init_order
/proc/cmp_subsystem_display(datum/subsystem/a, datum/subsystem/b)
if(a.display_order == b.display_order)
return sorttext(b.name, a.name)
return a.display_order - b.display_order
/proc/cmp_subsystem_priority(datum/subsystem/a, datum/subsystem/b)
return a.priority - b.priority
var/atom/cmp_dist_origin=null
/proc/cmp_dist_asc(var/atom/a, var/atom/b)
return get_dist_squared(cmp_dist_origin, a) - get_dist_squared(cmp_dist_origin, b)
/proc/cmp_dist_desc(var/atom/a, var/atom/b)
return get_dist_squared(cmp_dist_origin, b) - get_dist_squared(cmp_dist_origin, a)
/proc/cmp_profile_avg_time_dsc(var/list/a, var/list/b)
return (b[PROFILE_ITEM_TIME]/(b[PROFILE_ITEM_COUNT] || 1)) - (a[PROFILE_ITEM_TIME]/(a[PROFILE_ITEM_COUNT] || 1))
/proc/cmp_profile_time_dsc(var/list/a, var/list/b)
return b[PROFILE_ITEM_TIME] - a[PROFILE_ITEM_TIME]
/proc/cmp_profile_count_dsc(var/list/a, var/list/b)
return b[PROFILE_ITEM_COUNT] - a[PROFILE_ITEM_COUNT]
/proc/cmp_list_by_element_asc(list/a, list/b)
return a[cmp_field] - b[cmp_field]
/proc/cmp_list_by_element_desc(list/a, list/b)
return b[cmp_field] - a[cmp_field]
/proc/cmp_list_by_text_element_asc(list/a,list/b)
return sorttext(b[cmp_field],a[cmp_field])
/proc/cmp_list_by_text_element_desc(list/a,list/b)
return sorttext(a[cmp_field],b[cmp_field])
/proc/cmp_timer(datum/timer/a, datum/timer/b)
var/a_when = a.when
var/b_when = b.when
if(a_when == b_when)
return b.id - a.id
return b_when - a_when
/proc/cmp_microwave_recipe_dsc(datum/recipe/a, datum/recipe/b)
return b.priority - a.priority