65 lines
2.4 KiB
Plaintext
65 lines
2.4 KiB
Plaintext
globalize_all_functions
|
|
|
|
|
|
|
|
string pulsePrefix
|
|
void function pulsePrefixSet() //Sets our prefix
|
|
{
|
|
pulsePrefix = format("\x1b[38;2;%i;%i;%im[PULSE]\x1b[0m", 255, 178, 102)
|
|
}
|
|
|
|
void function pulsePrintt(string content) //Prints whatever we want printed with given prefix (by standard [PULSE]).
|
|
{
|
|
printt(format("%s " + content, pulsePrefix))
|
|
}
|
|
|
|
table function pulseGetCurrentVersionAsTable() //Gets our version numbers from mod.json and puts them in a table for use with pulseFormatAsVersion().
|
|
{
|
|
table result = ["MajorVersion" = GetConVarString("MajorVersion"), "MinorVersion" = GetConVarString("MinorVersion"), "PatchVersion" = GetConVarString("PatchVersion")]
|
|
return result
|
|
}
|
|
|
|
string function pulseFormatAsVersion(table Version) //Formats given version numbers into one neat string (example: v2.0.0).
|
|
{
|
|
return format("v%s.%s.%s", Version["MajorVersion"], Version["MinorVersion"], Version["PatchVersion"])
|
|
}
|
|
|
|
bool function pulseIsUpToDate(string givenURL) //Compares version contained in our mod.json with a version.json contained on a remote GitHub repo (see VersionURL within mod.json).
|
|
{
|
|
bool result = false
|
|
void functionref (HttpRequestResponse) onSuccess = void function(HttpRequestResponse response)
|
|
{
|
|
table DecodedJSON = DecodeJSON(response.body)
|
|
if (pulseFormatAsVersion(DecodedJSON) == pulseFormatAsVersion(pulseGetCurrentVersionAsTable()))
|
|
{
|
|
result = true
|
|
} else {
|
|
result = false
|
|
}
|
|
}
|
|
void functionref (HttpRequestFailure) onFailure = void function(HttpRequestFailure failure)
|
|
{
|
|
pulsePrintt("Something went wrong while getting latest version.")
|
|
}
|
|
NSHttpGet(givenURL, onSuccess, onFailure)
|
|
return result
|
|
}
|
|
|
|
bool function pulseRequestData(string givenURL, table parameterTable) //Gets all data from API (see ToneURL within mod.json) and puts it into one table for processing.
|
|
{
|
|
table<string, array<string> > params
|
|
foreach (parameter in paramTable)
|
|
{
|
|
params[parameter] <- [paramTable(parameter)]
|
|
}
|
|
void functionref (HttpRequestResponse) onSuccess = void function(HttpRequestResponse response)
|
|
{
|
|
table DecodedJSON = DecodeJSON(response.body)
|
|
pulseData += DecodedJSON
|
|
}
|
|
void functionref (HttpRequestFailure) onFailure = void function(HttpRequestFailure failure)
|
|
{
|
|
pulsePrintt("Something went wrong while getting data.")
|
|
}
|
|
return NSHttpGet(givenURL, params, onSuccess, onFailure)
|
|
} |