I'll get to this as soon as I can, though it won't be until the week after next at least.
As far as pruning suggestions, one thing you might look at is to see if there are any list vars assigned at compile-time, like var/something[0] or var/mylist=list(1,2,3) or anything like that. Those create hidden init procs (they show up blank in the profiler). Typically you don't need to initialize a list right away, so var/list/myvar without setting it to anything is often a better way to go. If you have a New() proc for the type in question, the list can always be initialized there if need be.
Latest Byond commit borked a few high-end SS13 Servers. Relying on a higher or even removed proc limit is absolutely required for many resource heavy servers, most notably NSS Cyberiad, NSS Eternia, Archimedes Station, Heaven's Gate and anything else running the Paradise Github SS13 Code.
|
I wonder if this is related, got a runtime that if was true shouldn't have made it past the istype case.
runtime error: Cannot read null._color |
I believe the bug behind this thread was already fixed in one of the 507 builds. If you're not using the latest 507, you should do so.
|
Was it actually compiled in the newer 507 though? The issue with the proc limit is a compiler thing.
|
Hmm, on rereading your new error I think it's totally unrelated to this thread. The error says "cannot read", not "cannot write"--thus it's likely that the null in question is src. I'd have to see the whole proc to get what was happening, but it looks like that's a post for Developer Help.
|
runtime error: bad icon operation
proc name: New (/icon/New)
usr: null
src: /icon (/icon)
call stack:
/icon (/icon): New('sound/voice/WilhelmScream.ogg', null, null, null, null)
the unknown (/mob/living/carbon/human/human): update collar(0)
the unknown (/mob/living/carbon/human/human): update inv wear suit(0)
the unknown (/mob/living/carbon/human/human): regenerate icons()
the unknown (/mob/living/carbon/human/human): update canmove()
the unknown (/mob/living/carbon/human/human): Life()
/datum/controller/game_control... (/datum/controller/game_controller): processMobs()
/datum/controller/game_control... (/datum/controller/game_controller): process()