MCPcopy Create free account
hub / github.com/Redot-Engine/redot-engine / update

Method update

core/input/input.cpp:238–268  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

236#endif
237
238void Input::VelocityTrack::update(const Vector2 &p_delta_p, const Vector2 &p_screen_delta_p) {
239 uint64_t tick = OS::get_singleton()->get_ticks_usec();
240 uint32_t tdiff = tick - last_tick;
241 float delta_t = tdiff / 1000000.0;
242 last_tick = tick;
243
244 if (delta_t > max_ref_frame) {
245 // First movement in a long time, reset and start again.
246 velocity = Vector2();
247 screen_velocity = Vector2();
248 accum = p_delta_p;
249 screen_accum = p_screen_delta_p;
250 accum_t = 0;
251 return;
252 }
253
254 accum += p_delta_p;
255 screen_accum += p_screen_delta_p;
256 accum_t += delta_t;
257
258 if (accum_t < min_ref_frame) {
259 // Not enough time has passed to calculate speed precisely.
260 return;
261 }
262
263 velocity = accum / accum_t;
264 screen_velocity = screen_accum / accum_t;
265 accum = Vector2();
266 screen_accum = Vector2();
267 accum_t = 0;
268}
269
270void Input::VelocityTrack::reset() {
271 last_tick = OS::get_singleton()->get_ticks_usec();

Callers 15

get_md5Method · 0.45
get_multiple_md5Method · 0.45
get_sha256Method · 0.45
obbIsCorruptedMethod · 0.45
md5Method · 0.45
renameMethod · 0.45
updateDownloadMethod · 0.45
updateMetadataMethod · 0.45
verifyMethod · 0.45

Calls 2

Vector2Function · 0.50
get_ticks_usecMethod · 0.45

Tested by

no test coverage detected