mirror of
https://github.com/encounter/aurora.git
synced 2025-07-05 20:56:08 +00:00
Split SI into it's own SDK library
This commit is contained in:
parent
7f3953d3d8
commit
fee77b3d25
@ -8,6 +8,7 @@ add_subdirectory(extern)
|
|||||||
include(cmake/aurora_core.cmake)
|
include(cmake/aurora_core.cmake)
|
||||||
include(cmake/aurora_gx.cmake)
|
include(cmake/aurora_gx.cmake)
|
||||||
include(cmake/aurora_pad.cmake)
|
include(cmake/aurora_pad.cmake)
|
||||||
|
include(cmake/aurora_si.cmake)
|
||||||
include(cmake/aurora_main.cmake)
|
include(cmake/aurora_main.cmake)
|
||||||
include(cmake/aurora_mtx.cmake)
|
include(cmake/aurora_mtx.cmake)
|
||||||
include(cmake/aurora_vi.cmake)
|
include(cmake/aurora_vi.cmake)
|
||||||
|
@ -3,5 +3,5 @@ add_library(aurora_pad STATIC lib/dolphin/pad/pad.cpp)
|
|||||||
add_library(aurora::pad ALIAS aurora_pad)
|
add_library(aurora::pad ALIAS aurora_pad)
|
||||||
|
|
||||||
target_include_directories(aurora_pad PUBLIC include)
|
target_include_directories(aurora_pad PUBLIC include)
|
||||||
target_link_libraries(aurora_pad PUBLIC aurora::core)
|
target_link_libraries(aurora_pad PUBLIC aurora::core aurora::si)
|
||||||
target_link_libraries(aurora_pad PRIVATE absl::flat_hash_map)
|
target_link_libraries(aurora_pad PRIVATE absl::flat_hash_map)
|
||||||
|
6
cmake/aurora_si.cmake
Normal file
6
cmake/aurora_si.cmake
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
add_library(aurora_si STATIC lib/dolphin/si/si.cpp)
|
||||||
|
|
||||||
|
add_library(aurora::si ALIAS aurora_si)
|
||||||
|
|
||||||
|
target_include_directories(aurora_si PUBLIC include)
|
||||||
|
target_link_libraries(aurora_si PUBLIC aurora::core)
|
@ -264,22 +264,6 @@ void PADControlAllMotors(const uint32_t* commands) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t SIProbe(int32_t chan) {
|
|
||||||
auto* const controller = aurora::input::get_controller_for_player(chan);
|
|
||||||
if (controller == nullptr) {
|
|
||||||
return SI_ERROR_NO_RESPONSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (controller->m_isGameCube) {
|
|
||||||
auto level = SDL_GetJoystickPowerInfo(SDL_GetGamepadJoystick(controller->m_controller), nullptr);
|
|
||||||
if (level == SDL_POWERSTATE_UNKNOWN) {
|
|
||||||
return SI_GC_WAVEBIRD;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return SI_GC_CONTROLLER;
|
|
||||||
}
|
|
||||||
|
|
||||||
struct PADCLampRegion {
|
struct PADCLampRegion {
|
||||||
uint8_t minTrigger;
|
uint8_t minTrigger;
|
||||||
uint8_t maxTrigger;
|
uint8_t maxTrigger;
|
||||||
|
20
lib/dolphin/si/si.cpp
Normal file
20
lib/dolphin/si/si.cpp
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#include <dolphin/si.h>
|
||||||
|
#include "../../input.hpp"
|
||||||
|
|
||||||
|
#include <SDL3/SDL_power.h>
|
||||||
|
|
||||||
|
uint32_t SIProbe(int32_t chan) {
|
||||||
|
auto* const controller = aurora::input::get_controller_for_player(chan);
|
||||||
|
if (controller == nullptr) {
|
||||||
|
return SI_ERROR_NO_RESPONSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (controller->m_isGameCube) {
|
||||||
|
auto level = SDL_GetJoystickPowerInfo(SDL_GetGamepadJoystick(controller->m_controller), nullptr);
|
||||||
|
if (level == SDL_POWERSTATE_UNKNOWN) {
|
||||||
|
return SI_GC_WAVEBIRD;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return SI_GC_CONTROLLER;
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user