mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-08-22 14:23:44 -07:00
Commit to grab upstream
This commit is contained in:
parent
d91a2b58b9
commit
cae623a837
3 changed files with 60 additions and 4 deletions
|
@ -24,6 +24,8 @@
|
||||||
#include <chrono>
|
#include <chrono>
|
||||||
#include "SohHooks.h"
|
#include "SohHooks.h"
|
||||||
#include "SohConsole.h"
|
#include "SohConsole.h"
|
||||||
|
|
||||||
|
#include "../../soh/soh/OTRGlobals.h"
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
@ -328,6 +330,8 @@ namespace Ship {
|
||||||
GlobalCtx2::GetInstance()->GetWindow()->ToggleFullscreen();
|
GlobalCtx2::GetInstance()->GetWindow()->ToggleFullscreen();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// OTRTODO: Rig with Kirito's console?
|
// OTRTODO: Rig with Kirito's console?
|
||||||
//if (dwScancode == Ship::stoi(Conf["KEYBOARD SHORTCUTS"]["KEY_CONSOLE"])) {
|
//if (dwScancode == Ship::stoi(Conf["KEYBOARD SHORTCUTS"]["KEY_CONSOLE"])) {
|
||||||
// ToggleConsole();
|
// ToggleConsole();
|
||||||
|
@ -349,6 +353,61 @@ namespace Ship {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Window::KeyDown(int32_t dwScancode) {
|
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;
|
bool bIsProcessed = false;
|
||||||
for (size_t i = 0; i < __osMaxControllers; i++) {
|
for (size_t i = 0; i < __osMaxControllers; i++) {
|
||||||
for (size_t j = 0; j < Controllers[i].size(); j++) {
|
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:
|
case SaveStateReturn::SUCCESS:
|
||||||
INFO("[SOH] Saved state to slot %u", slot);
|
INFO("[SOH] Saved state to slot %u", slot);
|
||||||
return CMD_SUCCESS;
|
return CMD_SUCCESS;
|
||||||
case SaveStateReturn::FAIL_INVALID_SLOT:
|
|
||||||
ERROR("[SOH] Invalid State Slot Number (%u)", slot);
|
|
||||||
return CMD_FAILED;
|
|
||||||
case SaveStateReturn::FAIL_WRONG_GAMESTATE:
|
case SaveStateReturn::FAIL_WRONG_GAMESTATE:
|
||||||
ERROR("[SOH] Can not save a state outside of \"GamePlay\"");
|
ERROR("[SOH] Can not save a state outside of \"GamePlay\"");
|
||||||
return CMD_FAILED;
|
return CMD_FAILED;
|
||||||
|
|
|
@ -4815,7 +4815,7 @@ void func_8083AE40(Player* this, s16 objectId) {
|
||||||
LOG_HEX("size", size, "../z_player.c", 9090);
|
LOG_HEX("size", size, "../z_player.c", 9090);
|
||||||
ASSERT(size <= 1024 * 8, "size <= 1024 * 8", "../z_player.c", 9091);
|
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);
|
size, 0, &this->giObjectLoadQueue, NULL, "../z_player.c", 9099);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue