mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2024-12-21 23:58:51 -05:00
Lus updates (#2835)
* Changes for LUS renames in ResourceManager and Archive. * Moves WriteSaveFile and ReadSaveFile to SaveManager. * Removes ImGui namespace. * Bump LUS * Updates gitignore for intellij projects. * Controller usage is now up to date with newest LUS. * Adapters for removal of Controller.WriteToSource from LUS. * Uses correct capitalization on Controller.GetProfile() * Bump LUS --------- Co-authored-by: Christopher Leggett <chris@leggett.dev>
This commit is contained in:
parent
c3ba15ed57
commit
f9cfcde627
2
.gitignore
vendored
2
.gitignore
vendored
@ -7,7 +7,7 @@ __pycache__/
|
||||
.vscode/
|
||||
.vs/
|
||||
.idea/
|
||||
cmake-build-debug
|
||||
cmake-build-**
|
||||
venv/
|
||||
.cache/
|
||||
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 7fe0c076a8261d7e878b196d2b5de57beccf1177
|
||||
Subproject commit f9e554dc214c2f23cfc74a26348ef9fd3055451b
|
@ -1576,12 +1576,27 @@ extern "C" uint32_t OTRGetCurrentHeight() {
|
||||
return OTRGlobals::Instance->context->GetCurrentHeight();
|
||||
}
|
||||
|
||||
extern "C" void OTRControllerCallback(ControllerCallback* controller) {
|
||||
extern "C" void OTRControllerCallback(uint8_t rumble, uint8_t ledColor) {
|
||||
auto controlDeck = Ship::Window::GetInstance()->GetControlDeck();
|
||||
|
||||
for (int i = 0; i < controlDeck->GetNumVirtualDevices(); ++i) {
|
||||
auto physicalDevice = controlDeck->GetPhysicalDeviceFromVirtualSlot(i);
|
||||
physicalDevice->WriteToSource(i, controller);
|
||||
for (int i = 0; i < controlDeck->GetNumConnectedPorts(); ++i) {
|
||||
auto physicalDevice = controlDeck->GetDeviceFromPortIndex(i);
|
||||
switch (ledColor) {
|
||||
case 0:
|
||||
physicalDevice->SetLed(i, 255, 0, 0);
|
||||
break;
|
||||
case 1:
|
||||
physicalDevice->SetLed(i, 0x1E, 0x69, 0x1B);
|
||||
break;
|
||||
case 2:
|
||||
physicalDevice->SetLed(i, 0x64, 0x14, 0x00);
|
||||
break;
|
||||
case 3:
|
||||
physicalDevice->SetLed(i, 0x00, 0x3C, 0x64);
|
||||
break;
|
||||
}
|
||||
|
||||
physicalDevice->SetRumble(i, rumble);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1627,10 +1642,10 @@ extern "C" void AudioPlayer_Play(const uint8_t* buf, uint32_t len) {
|
||||
extern "C" int Controller_ShouldRumble(size_t slot) {
|
||||
auto controlDeck = Ship::Window::GetInstance()->GetControlDeck();
|
||||
|
||||
if (slot < controlDeck->GetNumVirtualDevices()) {
|
||||
auto physicalDevice = controlDeck->GetPhysicalDeviceFromVirtualSlot(slot);
|
||||
if (slot < controlDeck->GetNumConnectedPorts()) {
|
||||
auto physicalDevice = controlDeck->GetDeviceFromPortIndex(slot);
|
||||
|
||||
if (physicalDevice->getProfile(slot)->UseRumble && physicalDevice->CanRumble()) {
|
||||
if (physicalDevice->GetProfile(slot)->UseRumble && physicalDevice->CanRumble()) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
@ -11,8 +11,6 @@ extern void* __cdecl memset(_Out_writes_bytes_all_(_Size) void* _Dst, _In_ int _
|
||||
|
||||
s32 D_8012D280 = 1;
|
||||
|
||||
static ControllerCallback controllerCallback;
|
||||
|
||||
OSMesgQueue* PadMgr_LockSerialMesgQueue(PadMgr* padMgr) {
|
||||
OSMesgQueue* ctrlrQ = NULL;
|
||||
|
||||
@ -296,25 +294,27 @@ void PadMgr_ProcessInputs(PadMgr* padMgr) {
|
||||
input->press.stick_y += (s8)(input->cur.stick_y - input->prev.stick_y);
|
||||
}
|
||||
|
||||
controllerCallback.rumble = (padMgr->rumbleEnable[0] > 0);
|
||||
uint8_t rumble = (padMgr->rumbleEnable[0] > 0);
|
||||
uint8_t ledColor = 1;
|
||||
|
||||
if (HealthMeter_IsCritical()) {
|
||||
controllerCallback.ledColor = 0;
|
||||
ledColor = 0;
|
||||
} else if (gPlayState) {
|
||||
switch (CUR_EQUIP_VALUE(EQUIP_TUNIC) - 1) {
|
||||
case PLAYER_TUNIC_KOKIRI:
|
||||
controllerCallback.ledColor = 1;
|
||||
ledColor = 1;
|
||||
break;
|
||||
case PLAYER_TUNIC_GORON:
|
||||
controllerCallback.ledColor = 2;
|
||||
ledColor = 2;
|
||||
break;
|
||||
case PLAYER_TUNIC_ZORA:
|
||||
controllerCallback.ledColor = 3;
|
||||
ledColor = 3;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
OTRControllerCallback(&controllerCallback);
|
||||
OTRControllerCallback(rumble, ledColor);
|
||||
|
||||
if (CVarGetInteger("gPauseBufferBlockInputFrame", 0)) {
|
||||
Controller_BlockGameInput();
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user