mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-08-22 06:13:45 -07:00
Commit to grab upstream
This commit is contained in:
parent
58e78ed239
commit
ff3379ff13
3 changed files with 60 additions and 4 deletions
|
@ -24,6 +24,8 @@
|
|||
#include <chrono>
|
||||
#include "SohHooks.h"
|
||||
#include "SohConsole.h"
|
||||
|
||||
#include "../../soh/soh/OTRGlobals.h"
|
||||
#include <iostream>
|
||||
|
||||
extern "C" {
|
||||
|
@ -328,6 +330,8 @@ namespace Ship {
|
|||
GlobalCtx2::GetInstance()->GetWindow()->ToggleFullscreen();
|
||||
}
|
||||
|
||||
|
||||
|
||||
// OTRTODO: Rig with Kirito's console?
|
||||
//if (dwScancode == Ship::stoi(Conf["KEYBOARD SHORTCUTS"]["KEY_CONSOLE"])) {
|
||||
// ToggleConsole();
|
||||
|
@ -349,6 +353,61 @@ namespace Ship {
|
|||
}
|
||||
|
||||
bool Window::KeyDown(int32_t dwScancode) {
|
||||
//Why -1?
|
||||
switch (dwScancode - 1) {
|
||||
case SDL_SCANCODE_F5:
|
||||
{
|
||||
const unsigned int slot = OTRGlobals::Instance->gSaveStateMgr->GetCurrentSlot();
|
||||
const SaveStateReturn stateReturn = OTRGlobals::Instance->gSaveStateMgr->AddRequest({ slot, RequestType::SAVE });
|
||||
|
||||
switch (stateReturn) {
|
||||
case SaveStateReturn::SUCCESS:
|
||||
SPDLOG_INFO("[SOH] Saved state to slot {}", slot);
|
||||
break;
|
||||
case SaveStateReturn::FAIL_WRONG_GAMESTATE:
|
||||
SPDLOG_ERROR("[SOH] Can not save a state outside of \"GamePlay\"");
|
||||
break;
|
||||
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SDL_SCANCODE_F6:
|
||||
{
|
||||
unsigned int slot = OTRGlobals::Instance->gSaveStateMgr->GetCurrentSlot();
|
||||
slot++;
|
||||
if (slot > 5) {
|
||||
slot = 0;
|
||||
}
|
||||
OTRGlobals::Instance->gSaveStateMgr->SetCurrentSlot(slot);
|
||||
SPDLOG_INFO("Set SaveState slot to {}.", slot);
|
||||
break;
|
||||
}
|
||||
case SDL_SCANCODE_F7:
|
||||
{
|
||||
const unsigned int slot = OTRGlobals::Instance->gSaveStateMgr->GetCurrentSlot();
|
||||
const SaveStateReturn stateReturn = OTRGlobals::Instance->gSaveStateMgr->AddRequest({ slot, RequestType::LOAD });
|
||||
|
||||
switch (stateReturn) {
|
||||
case SaveStateReturn::SUCCESS:
|
||||
SPDLOG_INFO("[SOH] Loaded state from slot {}", slot);
|
||||
break;
|
||||
case SaveStateReturn::FAIL_INVALID_SLOT:
|
||||
SPDLOG_ERROR("[SOH] Invalid State Slot Number {}", slot);
|
||||
break;
|
||||
case SaveStateReturn::FAIL_STATE_EMPTY:
|
||||
SPDLOG_ERROR("[SOH] State Slot {} is empty", slot);
|
||||
break;
|
||||
case SaveStateReturn::FAIL_WRONG_GAMESTATE:
|
||||
SPDLOG_ERROR("[SOH] Can not load a state outside of \"GamePlay\"");
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
bool bIsProcessed = false;
|
||||
for (size_t i = 0; i < __osMaxControllers; i++) {
|
||||
for (size_t j = 0; j < Controllers[i].size(); j++) {
|
||||
|
|
|
@ -319,9 +319,6 @@ static bool SaveStateHandler(const std::vector<std::string>& args) {
|
|||
case SaveStateReturn::SUCCESS:
|
||||
INFO("[SOH] Saved state to slot %u", slot);
|
||||
return CMD_SUCCESS;
|
||||
case SaveStateReturn::FAIL_INVALID_SLOT:
|
||||
ERROR("[SOH] Invalid State Slot Number (%u)", slot);
|
||||
return CMD_FAILED;
|
||||
case SaveStateReturn::FAIL_WRONG_GAMESTATE:
|
||||
ERROR("[SOH] Can not save a state outside of \"GamePlay\"");
|
||||
return CMD_FAILED;
|
||||
|
|
|
@ -4815,7 +4815,7 @@ void func_8083AE40(Player* this, s16 objectId) {
|
|||
LOG_HEX("size", size, "../z_player.c", 9090);
|
||||
ASSERT(size <= 1024 * 8, "size <= 1024 * 8", "../z_player.c", 9091);
|
||||
|
||||
DmaMgr_SendRequest2(&this->giObjectDmaRequest, (uint32_t)this->giObjectSegment, gObjectTable[objectId].vromStart,
|
||||
DmaMgr_SendRequest2(&this->giObjectDmaRequest, (uintptr_t)this->giObjectSegment, gObjectTable[objectId].vromStart,
|
||||
size, 0, &this->giObjectLoadQueue, NULL, "../z_player.c", 9099);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue