MCPcopy Create free account
hub / github.com/bfbbdecomp/bfbb / set_state_range

Method set_state_range

src/SB/Game/zDiscoFloor.cpp:830–861  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

828}
829
830void z_disco_floor::set_state_range(S32 min, S32 max, bool immediate)
831{
832 size_t min_state = range_limit<S32>(min, 0, asset->states_size - 1);
833 size_t max_state = range_limit<S32>(max, min, asset->states_size - 1);
834
835 if (min_state == this->min_state && max_state == this->max_state)
836 {
837 return;
838 }
839
840 this->min_state = min_state;
841 this->max_state = max_state;
842
843 if (immediate)
844 {
845 size_t newstate = range_limit<size_t>(state, min_state, max_state);
846
847 if (newstate != state)
848 {
849 set_state(newstate, true);
850 }
851 }
852 else
853 {
854 size_t newstate = range_limit<size_t>(next_state, min_state, max_state);
855
856 if (newstate != next_state)
857 {
858 set_state(newstate, false);
859 }
860 }
861}
862
863void z_disco_floor::set_transition_delay(F32 s)
864{

Callers 2

apply_pendingMethod · 0.80
event_handlerMethod · 0.80

Calls 1

set_stateFunction · 0.70

Tested by

no test coverage detected