tgs folder

This commit is contained in:
kevinz000
2020-05-08 04:30:51 -07:00
parent 5e0235bd76
commit 77848bd90f
12 changed files with 756 additions and 45 deletions
+12 -5
View File
@@ -22,17 +22,19 @@
#ifndef TGS_V3_API
TGS_ERROR_LOG("Detected V3 API but TGS_V3_API isn't defined!")
#else
switch(version.major)
switch(version.minor)
if(2)
api_datum = /datum/tgs_api/v3210
#endif
if(4)
switch(version.major)
switch(version.minor)
if(0)
api_datum = /datum/tgs_api/v4
if(5)
api_datum = /datum/tgs_api/v5
var/datum/tgs_version/max_api_version = TgsMaximumAPIVersion();
if(version.suite != null && version.major != null && version.minor != null && version.patch != null && version.deprefixed_parameter > max_api_version.deprefixed_parameter)
if(version.suite != null && version.minor != null && version.patch != null && version.deprecated_patch != null && version.deprefixed_parameter > max_api_version.deprefixed_parameter)
TGS_ERROR_LOG("Detected unknown API version! Defaulting to latest. Update the DMAPI to fix this problem.")
api_datum = /datum/tgs_api/latest
@@ -51,10 +53,10 @@
TGS_ERROR_LOG("Failed to activate API!")
/world/TgsMaximumAPIVersion()
return new /datum/tgs_version("4.0.x.x")
return new /datum/tgs_version("5.x.x")
/world/TgsMinimumAPIVersion()
return new /datum/tgs_version("3.2.0.0")
return new /datum/tgs_version("3.2.x")
/world/TgsInitializationComplete()
var/datum/tgs_api/api = TGS_READ_GLOBAL(tgs)
@@ -88,6 +90,11 @@
if(api)
return api.version
/world/TgsApiVersion()
var/datum/tgs_api/api = TGS_READ_GLOBAL(tgs)
if(api)
return api.ApiVersion()
/world/TgsInstanceName()
var/datum/tgs_api/api = TGS_READ_GLOBAL(tgs)
if(api)
+1 -1
View File
@@ -8,7 +8,7 @@ TGS_DEFINE_AND_SET_GLOBAL(tgs, null)
src.version = version
/datum/tgs_api/latest
parent_type = /datum/tgs_api/v4
parent_type = /datum/tgs_api/v5
TGS_PROTECT_DATUM(/datum/tgs_api)
+10 -4
View File
@@ -5,11 +5,11 @@
suite = text2num(version_bits[1])
if(version_bits.len > 1)
major = text2num(version_bits[2])
minor = text2num(version_bits[2])
if(version_bits.len > 2)
minor = text2num(version_bits[3])
patch = text2num(version_bits[3])
if(version_bits.len == 4)
patch = text2num(version_bits[4])
deprecated_patch = text2num(version_bits[4])
/datum/tgs_version/proc/Valid(allow_wildcards = FALSE)
if(suite == null)
@@ -19,4 +19,10 @@
return !Wildcard()
/datum/tgs_version/Wildcard()
return major == null || minor == null || patch == null
return minor == null || patch == null
/datum/tgs_version/Equals(datum/tgs_version/other_version)
if(!istype(other_version))
return FALSE
return suite == other_version.suite && minor == other_version.minor && patch == other_version.patch && deprecated_patch == other_version.deprecated_patch