Files
Aurora.3/code/datums/helper_datums/synthsprites.dm
Fluffy b183188689 Better logging (#16164)
* Initial

* Cleared duplicates

* More work, get rid of log_error

* more

* log_debug() to macro LOG_DEBUG

* More work

* More

* Guh

* Maybe better?

* More work

* gah

* Dear lord

* *inserts swears here*

* gdi

* More work

* More

* dear lord

* fsdfsdafs

* rsdaf

* sadfasf

* sdafsad

* fgsd

* small fuckup fix

* jfsd

* sdafasf

* gdi

* sdfa

* sfdafgds

* sdafasdvf

* sdfasdfg

* sdfsga

* asdf

* dsfasfsagf

* ihibhbjh

* fsadf

* adfas

* sdafsad

* sdfasd

* fsda

* vhb

* asf

* for arrow

* removed source file-line logging, added header for tgui
2023-08-05 21:53:11 +00:00

69 lines
2.2 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()
try
customsynthsprites = json_decode(return_file_text("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(!config.sql_enabled)
LOG_DEBUG("Synthsprites: SQL Disabled - Falling back to JSON")
loadsynths_from_json()
return
if(!establish_db_connection(dbcon))
LOG_DEBUG("Synthsprites: SQL ERROR - Failed to connect. - Falling back to JSON")
loadsynths_from_json()
return
var/DBQuery/customsynthsprites = 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