mirror of
https://github.com/encounter/aurora.git
synced 2025-07-05 04:35:55 +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_gx.cmake)
|
||||
include(cmake/aurora_pad.cmake)
|
||||
include(cmake/aurora_si.cmake)
|
||||
include(cmake/aurora_main.cmake)
|
||||
include(cmake/aurora_mtx.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)
|
||||
|
||||
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)
|
||||
|
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 {
|
||||
uint8_t minTrigger;
|
||||
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