digitigrade_legs_preview_switch 
The character preview draws every character on one body, so whatever limbs the last character left on it, a refresh must draw what a new body given the same preferences draws. Each step switches species, legs and chassis as loading another character does, and refreshes the preview through its own update_body(): wipe_state(), then render_new_preview_appearance(). A guard for the leg swap the legs preference skips when the body already wears the limbs it would give.
Vars | |
| original_species_choices | Restore the actual configured choices after this test, including an uninitialized cache. |
|---|---|
Procs | |
| check_preview | Checks the preview body against a new body drawn from the same preferences: both legs' types, shapes, icon keys and colour overrides, the render batch, and every pixel of the flattened render. The overrides are compared apart because the limb icon cache, shared by every body, does not key one on a limb drawn from a fixed icon: equal pixels alone could hide one left behind. |
Var Details
original_species_choices 
Restore the actual configured choices after this test, including an uninitialized cache.
Proc Details
check_preview
Checks the preview body against a new body drawn from the same preferences: both legs' types, shapes, icon keys and colour overrides, the render batch, and every pixel of the flattened render. The overrides are compared apart because the limb icon cache, shared by every body, does not key one on a limb drawn from a fixed icon: equal pixels alone could hide one left behind.
Arguments:
- preferences: the preferences both bodies are drawn from.
- step_name: names the switch in failure messages.
- digitigrade: whether the preferences ask for digitigrade legs.