mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-12 02:32:10 +00:00
## About The Pull Request Adds `GLOB.unrecommended_builds`, for byond build which are broken for the end user in some way, but not in a way that warrants outright blacklisting players from connecting with them Looks like this (Ignore the number I changed it for testing purposes) <img width="493" height="267" alt="image" src="https://github.com/user-attachments/assets/d31636e8-a106-4d13-a8fa-aee6a50c6d27" /> Uses this system for the new byond build, 1670+, which breaks text rendering Also adds 1670+ to the list of builds to warn on compile ## Why It's Good For The Game 1670 broke the compilation step, probably permanently Whether we will fix this or flip a pragma or w/e remains to be seen, but until then we can tell people to compile an earlier version 1670 also broke the user experience, causing map text to show up as really big. This will be fixed in an upcoming version <https://www.byond.com/forum/post/2983385> ## Changelog 🆑 Melbert qol: If you are on Byond 516.1670+, you will get an alert on login that your build is less than functional /🆑
39 lines
2.3 KiB
Plaintext
39 lines
2.3 KiB
Plaintext
// 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 516
|
|
#define MIN_COMPILER_BUILD 1648
|
|
#if (DM_VERSION < MIN_COMPILER_VERSION || DM_BUILD < MIN_COMPILER_BUILD) && !defined(SPACEMAN_DMM) && !defined(OPENDREAM)
|
|
//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 516.1648 or higher
|
|
#endif
|
|
|
|
// 516.1660 broke (x in vars), which breaks a lot of things.
|
|
#if (DM_VERSION == 516 && DM_BUILD == 1660)
|
|
#error This version of BYOND (516.1660) has a bug which prevents this codebase from loading properly. If possible, update your BYOND version. Otherwise, visit www.byond.com/download/build to download an older release.
|
|
#endif
|
|
#if (DM_VERSION == 516 && (DM_BUILD == 1670 || DM_BUILD == 1671))
|
|
#error This version of BYOND (516.1671) has a bug which prevents this codebase from compiling. If possible, update your BYOND version. Otherwise, visit www.byond.com/download/build to download an older release.
|
|
#endif
|
|
|
|
// Keep savefile compatibilty at minimum supported level
|
|
/savefile/byond_version = MIN_COMPILER_VERSION
|
|
|
|
// 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.
|
|
|
|
/// Call by name proc references, checks if the proc exists on either this type () (AND ONLY 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.
|
|
#define VERB_REF(X) (nameof(.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) (nameof(##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) (nameof(##TYPE.verb/##X))
|
|
|
|
/// Call by name proc reference, checks if the proc is an existing global proc
|
|
#define GLOBAL_PROC_REF(X) (/proc/##X)
|