MCPcopy Create free account
hub / github.com/OpenTTD/OpenTTD / CheckAddToTodoSet

Function CheckAddToTodoSet

src/signal.cpp:213–221  ·  view source on GitHub ↗

* Perform some operations before adding data into Todo set * The new and reverse direction is removed from _globset, because we are sure * it doesn't need to be checked again * Also, remove reverse direction from _tbdset * This is the 'core' part so the graph searching won't enter any tile twice * * @param t1 tile we are entering * @param d1 direction (tile side) we are entering * @param t

Source from the content-addressed store, hash-verified

211 * @return false iff reverse direction was in Todo set
212 */
213static inline bool CheckAddToTodoSet(TileIndex t1, DiagDirection d1, TileIndex t2, DiagDirection d2)
214{
215 _globset.Remove(t1, d1); // it can be in Global but not in Todo
216 _globset.Remove(t2, d2); // remove in all cases
217
218 assert(!_tbdset.IsIn(t1, d1)); // it really shouldn't be there already
219
220 return !_tbdset.Remove(t2, d2);
221}
222
223
224/**

Callers 1

MaybeAddToTodoSetFunction · 0.85

Calls 2

IsInMethod · 0.80
RemoveMethod · 0.45

Tested by

no test coverage detected