mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-04 05:51:54 +00:00
Bumps compile to 515 (#79134)
## About The Pull Request LSP supports it, let's GOOOOOO I've removed the 515 tests since they're stable, alongside the libcall wrapper. left the rustgcall wrapper cause yaknow memes Just removed all the 515 and 514 particular define wrappers. gaming ## Changelog 🆑 server: Minimum compile version has been bumped to 515. clients still support 514 but we're gonna start using 515 restricted features for serverside now. /🆑 --------- Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
This commit is contained in:
@@ -1,52 +1,21 @@
|
||||
// This file contains defines allowing targeting byond versions newer than the supported
|
||||
|
||||
//Update this whenever you need to take advantage of more recent byond features
|
||||
#define MIN_COMPILER_VERSION 514
|
||||
#define MIN_COMPILER_BUILD 1556
|
||||
#define MIN_COMPILER_VERSION 515
|
||||
#define MIN_COMPILER_BUILD 1609
|
||||
#if (DM_VERSION < MIN_COMPILER_VERSION || DM_BUILD < MIN_COMPILER_BUILD) && !defined(SPACEMAN_DMM)
|
||||
//Don't forget to update this part
|
||||
#error Your version of BYOND is too out-of-date to compile this project. Go to https://secure.byond.com/download and update.
|
||||
#error You need version 514.1556 or higher
|
||||
#endif
|
||||
|
||||
#if (DM_VERSION == 514 && DM_BUILD > 1575 && DM_BUILD <= 1577)
|
||||
#error Your version of BYOND currently has a crashing issue that will prevent you from running Dream Daemon test servers.
|
||||
#error We require developers to test their content, so an inability to test means we cannot allow the compile.
|
||||
#error Please consider downgrading to 514.1575 or lower.
|
||||
#error You need version 515.1609 or higher
|
||||
#endif
|
||||
|
||||
// Keep savefile compatibilty at minimum supported level
|
||||
#if DM_VERSION >= 515
|
||||
/savefile/byond_version = MIN_COMPILER_VERSION
|
||||
#endif
|
||||
|
||||
// 515 split call for external libraries into call_ext
|
||||
#if DM_VERSION < 515
|
||||
#define LIBCALL call
|
||||
#else
|
||||
#define LIBCALL call_ext
|
||||
#endif
|
||||
|
||||
// So we want to have compile time guarantees these methods exist on local type, unfortunately 515 killed the .proc/procname and .verb/verbname syntax so we have to use nameof()
|
||||
// So we want to have compile time guarantees these methods exist on local type
|
||||
// We use wrappers for this in case some part of the api ever changes, and to make their function more clear
|
||||
// For the record: GLOBAL_VERB_REF would be useless as verbs can't be global.
|
||||
|
||||
#if DM_VERSION < 515
|
||||
|
||||
/// Call by name proc references, checks if the proc exists on either this type or as a global proc.
|
||||
#define PROC_REF(X) (.proc/##X)
|
||||
/// Call by name verb references, checks if the verb exists on either this type or as a global verb.
|
||||
#define VERB_REF(X) (.verb/##X)
|
||||
|
||||
/// Call by name proc reference, checks if the proc exists on either the given type or as a global proc
|
||||
#define TYPE_PROC_REF(TYPE, X) (##TYPE.proc/##X)
|
||||
/// Call by name verb reference, checks if the verb exists on either the given type or as a global verb
|
||||
#define TYPE_VERB_REF(TYPE, X) (##TYPE.verb/##X)
|
||||
|
||||
/// Call by name proc reference, checks if the proc is an existing global proc
|
||||
#define GLOBAL_PROC_REF(X) (/proc/##X)
|
||||
|
||||
#else
|
||||
|
||||
/// Call by name proc references, checks if the proc exists on either this type or as a global proc.
|
||||
#define PROC_REF(X) (nameof(.proc/##X))
|
||||
/// Call by name verb references, checks if the verb exists on either this type or as a global verb.
|
||||
@@ -60,16 +29,11 @@
|
||||
/// Call by name proc reference, checks if the proc is an existing global proc
|
||||
#define GLOBAL_PROC_REF(X) (/proc/##X)
|
||||
|
||||
#endif
|
||||
|
||||
#if (DM_VERSION == 515)
|
||||
/// fcopy will crash on 515 linux if given a non-existant file, instead of returning 0 like on 514 linux or 515 windows
|
||||
/// var case matches documentation for fcopy.
|
||||
/world/proc/__fcopy(Src, Dst)
|
||||
if (istext(Src) && !fexists(Src))
|
||||
return 0
|
||||
return fcopy(Src, Dst)
|
||||
|
||||
#define fcopy(Src, Dst) world.__fcopy(Src, Dst)
|
||||
|
||||
#endif
|
||||
#define fcopy(Src, Dst) world.__fcopy(Src, Dst)
|
||||
|
||||
Reference in New Issue
Block a user