mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2024-11-21 17:05:04 -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/
|
.vscode/
|
||||||
.vs/
|
.vs/
|
||||||
.idea/
|
.idea/
|
||||||
cmake-build-debug
|
cmake-build-**
|
||||||
venv/
|
venv/
|
||||||
.cache/
|
.cache/
|
||||||
|
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit 7fe0c076a8261d7e878b196d2b5de57beccf1177
|
Subproject commit f9e554dc214c2f23cfc74a26348ef9fd3055451b
|
@ -1576,12 +1576,27 @@ extern "C" uint32_t OTRGetCurrentHeight() {
|
|||||||
return OTRGlobals::Instance->context->GetCurrentHeight();
|
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();
|
auto controlDeck = Ship::Window::GetInstance()->GetControlDeck();
|
||||||
|
|
||||||
for (int i = 0; i < controlDeck->GetNumVirtualDevices(); ++i) {
|
for (int i = 0; i < controlDeck->GetNumConnectedPorts(); ++i) {
|
||||||
auto physicalDevice = controlDeck->GetPhysicalDeviceFromVirtualSlot(i);
|
auto physicalDevice = controlDeck->GetDeviceFromPortIndex(i);
|
||||||
physicalDevice->WriteToSource(i, controller);
|
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) {
|
extern "C" int Controller_ShouldRumble(size_t slot) {
|
||||||
auto controlDeck = Ship::Window::GetInstance()->GetControlDeck();
|
auto controlDeck = Ship::Window::GetInstance()->GetControlDeck();
|
||||||
|
|
||||||
if (slot < controlDeck->GetNumVirtualDevices()) {
|
if (slot < controlDeck->GetNumConnectedPorts()) {
|
||||||
auto physicalDevice = controlDeck->GetPhysicalDeviceFromVirtualSlot(slot);
|
auto physicalDevice = controlDeck->GetDeviceFromPortIndex(slot);
|
||||||
|
|
||||||
if (physicalDevice->getProfile(slot)->UseRumble && physicalDevice->CanRumble()) {
|
if (physicalDevice->GetProfile(slot)->UseRumble && physicalDevice->CanRumble()) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,8 +11,6 @@ extern void* __cdecl memset(_Out_writes_bytes_all_(_Size) void* _Dst, _In_ int _
|
|||||||
|
|
||||||
s32 D_8012D280 = 1;
|
s32 D_8012D280 = 1;
|
||||||
|
|
||||||
static ControllerCallback controllerCallback;
|
|
||||||
|
|
||||||
OSMesgQueue* PadMgr_LockSerialMesgQueue(PadMgr* padMgr) {
|
OSMesgQueue* PadMgr_LockSerialMesgQueue(PadMgr* padMgr) {
|
||||||
OSMesgQueue* ctrlrQ = NULL;
|
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);
|
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()) {
|
if (HealthMeter_IsCritical()) {
|
||||||
controllerCallback.ledColor = 0;
|
ledColor = 0;
|
||||||
} else if (gPlayState) {
|
} else if (gPlayState) {
|
||||||
switch (CUR_EQUIP_VALUE(EQUIP_TUNIC) - 1) {
|
switch (CUR_EQUIP_VALUE(EQUIP_TUNIC) - 1) {
|
||||||
case PLAYER_TUNIC_KOKIRI:
|
case PLAYER_TUNIC_KOKIRI:
|
||||||
controllerCallback.ledColor = 1;
|
ledColor = 1;
|
||||||
break;
|
break;
|
||||||
case PLAYER_TUNIC_GORON:
|
case PLAYER_TUNIC_GORON:
|
||||||
controllerCallback.ledColor = 2;
|
ledColor = 2;
|
||||||
break;
|
break;
|
||||||
case PLAYER_TUNIC_ZORA:
|
case PLAYER_TUNIC_ZORA:
|
||||||
controllerCallback.ledColor = 3;
|
ledColor = 3;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
OTRControllerCallback(&controllerCallback);
|
OTRControllerCallback(rumble, ledColor);
|
||||||
|
|
||||||
if (CVarGetInteger("gPauseBufferBlockInputFrame", 0)) {
|
if (CVarGetInteger("gPauseBufferBlockInputFrame", 0)) {
|
||||||
Controller_BlockGameInput();
|
Controller_BlockGameInput();
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user