MCPcopy Create free account
hub / github.com/defold/defold / GetDelta

Function GetDelta

engine/tools/src/gdc/main.cpp:584–635  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

582}
583
584void GetDelta(dmHID::GamepadPacket* prev_packet, dmHID::GamepadPacket* packet, dmInputDDF::GamepadType* gamepad_type, uint32_t* index, float* value, float* delta)
585{
586 float max_delta = -1.0f;
587 for (uint32_t i = 0; i < dmHID::MAX_GAMEPAD_AXIS_COUNT; ++i)
588 {
589 if (dmMath::Abs(packet->m_Axis[i] - prev_packet->m_Axis[i]) > max_delta)
590 {
591 max_delta = dmMath::Abs(packet->m_Axis[i] - prev_packet->m_Axis[i]);
592 if (gamepad_type != 0x0)
593 *gamepad_type = dmInputDDF::GAMEPAD_TYPE_AXIS;
594 if (index != 0x0)
595 *index = i;
596 if (value != 0x0)
597 *value = packet->m_Axis[i];
598 if (delta != 0x0)
599 {
600 *delta = packet->m_Axis[i] - prev_packet->m_Axis[i];
601 }
602 }
603 }
604 for (uint32_t i = 0; i < dmHID::MAX_GAMEPAD_HAT_COUNT; ++i)
605 {
606 if (prev_packet->m_Hat[i] != packet->m_Hat[i]) {
607 if (gamepad_type != 0x0)
608 *gamepad_type = dmInputDDF::GAMEPAD_TYPE_HAT;
609 if (index != 0x0)
610 *index = i;
611 if (value != 0x0)
612 *value = packet->m_Hat[i];
613 if (delta != 0x0)
614 {
615 *delta = 1.0f;
616 }
617 }
618 }
619 for (uint32_t i = 0; i < dmHID::MAX_GAMEPAD_BUTTON_COUNT; ++i)
620 {
621 if (dmHID::GetGamepadButton(packet, i))
622 {
623 if (gamepad_type != 0x0)
624 *gamepad_type = dmInputDDF::GAMEPAD_TYPE_BUTTON;
625 if (index != 0x0)
626 *index = i;
627 if (value != 0x0)
628 *value = 1.0f;
629 if (delta != 0x0)
630 {
631 *delta = 1.0f;
632 }
633 }
634 }
635}
636
637void DumpDriver(FILE* out, Driver* driver)
638{

Callers 1

mainFunction · 0.85

Calls 2

AbsFunction · 0.85
GetGamepadButtonFunction · 0.85

Tested by

no test coverage detected