`reset_perspective` from tgstation.
Also adds various support for remote viewing lenses - like cameras not
transmitting xray vision, among other things
Recommit because we're using different compiler versions
The runtime occurred when get_icon_state() attempted to handle_alt_icon
on a head, even if if was a stump. Adds sanity to check if it's a stump
or if the organ's destroyed (as how it's handled in update_icons for
mobs) and resolves the runtime and #5863.
First bug: Changing your alt head in CMA wouldn't update it correctly.
You had to proc update_body(1, 1) twice in order to do it because of
where the head_organ.handle_alt_icon() proc call was placed in
organ_icons. Resolved
Second bug: Lack of sanity and inability to select head marking styles
with "all" alt heads allowed. Resolved
Previously, your markings would only randomize if you clicked the randomize button and were of a species that had body markings. Fixes that and tidies up the proc calls for marking randomization a bit.
Furthermore, a bug existed where if you changed a mob's species via CMA, the mob's cosmetic attributes (hair, hair colour, skin colour, skin tone, marking styles and colours, head accessory style and colour) will not have changed correctly. Delaying appearance update fixed that.
Finally, a mob's body will now correctly render as fat if they become fat and skinny if they become skinny and show deformities immediately.
Further explaining this fix: It required an override to be implemented in update_body that re-cached the mob's bodyparts in order to reflect changes to the limbs (i.e. fatness/slimness).
As for deformation, I just needed to modify the existing update_body() proc call.
Tajara ears are on their head now, fixes a crash bug with tail wagging
with body accessories that are split-rendered, adds secondary
hair/facial hair themes, fixes issues with human/skrell arm/lower body
sprites etc.
Admins can toy around with converting a character to text, and
placing them back elsewhere, independent of the round.
It's got a kink, though: The text given to you directly needs to be
printed once to remove all the escapes - otherwise the thing will choke.
I'd like advice on resolving that