mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-20 12:29:23 +01:00
3ff03b6dae
Very ancient, decrepit proc that is somehow still used. Got rid of it in favor of byond's proc, which has been around long enough there isn't a version I can cite for it. No user facing changes.
74 lines
2.4 KiB
Plaintext
74 lines
2.4 KiB
Plaintext
|
|
/*
|
|
|
|
Just some quick documentation about how this works
|
|
|
|
Synthckey is the players ckey which is represented under the synths name in the json, this is required to have
|
|
synthicon is just the sprites name in the dmi
|
|
aichassisicon is the ai chassis icon sprite name
|
|
aiholoicon is the ai hologram icon sprite name
|
|
paiicon is the pai icon sprite name
|
|
|
|
*/
|
|
|
|
|
|
|
|
/datum/custom_synth
|
|
var/synthname = ""
|
|
var/synthckey = ""
|
|
var/synthicon = "robot"
|
|
var/aichassisicon = ""
|
|
var/aiholoicon = ""
|
|
var/paiicon = ""
|
|
|
|
|
|
|
|
/proc/loadsynths_from_json()
|
|
var/list/customsynthsprites = list()
|
|
|
|
if(!(rustg_file_exists("config/customsynths.json") == "true"))
|
|
log_config("The file config/customsynths.json was not found, custom synth config will not be loaded.")
|
|
return
|
|
|
|
try
|
|
customsynthsprites = json_decode(file2text("config/customsynths.json"))
|
|
catch(var/exception/ej)
|
|
LOG_DEBUG("Error: Warning: Could not load custom synth config, as customsynths.json is missing - [ej]")
|
|
return
|
|
|
|
robot_custom_icons = list()
|
|
customsynthsprites = customsynthsprites["synths"]
|
|
for (var/synthsprite in customsynthsprites)
|
|
var/datum/custom_synth/synth = new()
|
|
synth.synthname = synthsprite
|
|
synth.synthckey = customsynthsprites[synthsprite]["ckey"]
|
|
synth.synthicon = customsynthsprites[synthsprite]["synthicon"]
|
|
synth.aichassisicon = customsynthsprites[synthsprite]["aichassisicon"]
|
|
synth.aiholoicon = customsynthsprites[synthsprite]["aiholoicon"]
|
|
synth.paiicon = customsynthsprites[synthsprite]["paiicon"]
|
|
robot_custom_icons[synthsprite] = synth
|
|
|
|
/proc/loadsynths_from_sql()
|
|
if(!GLOB.config.sql_enabled)
|
|
LOG_DEBUG("Synthsprites: SQL Disabled - Falling back to JSON")
|
|
loadsynths_from_json()
|
|
return
|
|
if(!establish_db_connection(GLOB.dbcon))
|
|
LOG_DEBUG("Synthsprites: SQL ERROR - Failed to connect. - Falling back to JSON")
|
|
loadsynths_from_json()
|
|
return
|
|
|
|
var/DBQuery/customsynthsprites = GLOB.dbcon.NewQuery("SELECT synthname, synthckey, synthicon, aichassisicon, aiholoicon, paiicon FROM ss13_customsynths ORDER BY synthckey ASC")
|
|
customsynthsprites.Execute()
|
|
while(customsynthsprites.NextRow())
|
|
CHECK_TICK
|
|
|
|
var/datum/custom_synth/synth = new()
|
|
synth.synthname = customsynthsprites.item[1]
|
|
synth.synthckey = customsynthsprites.item[2]
|
|
synth.synthicon = customsynthsprites.item[3]
|
|
synth.aichassisicon = customsynthsprites.item[4]
|
|
synth.aiholoicon = customsynthsprites.item[5]
|
|
synth.paiicon = customsynthsprites.item[6]
|
|
robot_custom_icons[synth.synthname] = synth
|