Avoid wasted work creating body parts that are just going to be destroyed [0.3s of init] (#71916)

Current process:
- Human created
- Body parts created for basic human
- Species set
- Body parts torn down, recreated

New process:
- Human created
- Species set
- Body parts created then and there

I think the same is being done to organs, can be adjusted.

Set species was also being invoked asynchronously, but it's not clear
why, and SHOULD_NOT_SLEEP indicates nothing sleeps, so alas. This isn't
done for init, just for consistency.

Reorders init a little to accomodate the body parts not necessarily
being there, huds now need to safety check.

Saves about 0.3s of init. Closes
https://github.com/tgstation/dev-cycles-initiative/issues/18
This commit is contained in:
Mothblocks
2022-12-12 23:19:13 -08:00
committed by GitHub
parent cd6dc19477
commit bfc2916779
8 changed files with 64 additions and 24 deletions
+1 -1
View File
@@ -28,7 +28,7 @@
human.dna.blood_type = random_blood_type()
human.dna.features["mcolor"] = "#[random_color()]"
human.dna.species.randomize_active_underwear(human)
human.dna.species.randomize_active_underwear_only(human)
for(var/datum/species/species_path as anything in subtypesof(/datum/species))
var/datum/species/new_species = new species_path