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

Function refresh_state

src/SB/Game/zDiscoFloor.cpp:185–226  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

183 void set_object_state(const z_disco_floor&, size_t, S32);
184
185 void refresh_state(z_disco_floor& df)
186 {
187 current_disco_floor = df.id;
188
189 if (df.next_state != df.state)
190 {
191 for (size_t i = 0; i < df.tiles_size; i++)
192 {
193 U32 t1 = get_tile(df.active_state_mask, i);
194 U32 t2 = get_tile(df.next_state_mask, i);
195
196 if (t2 == 0)
197 {
198 set_object_state(df, i, 0);
199 }
200 else if (t1 == 1)
201 {
202 set_object_state(df, i, 2);
203 }
204 else
205 {
206 set_object_state(df, i, 1);
207 }
208 }
209 }
210 else
211 {
212 for (size_t i = 0; i < df.tiles_size; i++)
213 {
214 U32 t = get_tile(df.active_state_mask, i);
215
216 if (t == 1)
217 {
218 set_object_state(df, i, 2);
219 }
220 else
221 {
222 set_object_state(df, i, 0);
223 }
224 }
225 }
226 }
227} // namespace
228
229namespace

Callers 3

update_transitionFunction · 0.70
update_stateFunction · 0.70
set_stateMethod · 0.70

Calls 1

get_tileFunction · 0.85

Tested by

no test coverage detected