Merge pull request #72 from jeromkiller/AddArchipelagoClientLib
Add archipelago client lib
This commit is contained in:
@@ -8,6 +8,7 @@
|
|||||||
DEFINE_HOOK(OnZTitleInit, (void* gameState));
|
DEFINE_HOOK(OnZTitleInit, (void* gameState));
|
||||||
DEFINE_HOOK(OnZTitleUpdate, (void* gameState));
|
DEFINE_HOOK(OnZTitleUpdate, (void* gameState));
|
||||||
DEFINE_HOOK(OnLoadGame, (int32_t fileNum));
|
DEFINE_HOOK(OnLoadGame, (int32_t fileNum));
|
||||||
|
DEFINE_HOOK(PostLoadGame, (int32_t fileNum));
|
||||||
DEFINE_HOOK(OnExitGame, (int32_t fileNum));
|
DEFINE_HOOK(OnExitGame, (int32_t fileNum));
|
||||||
DEFINE_HOOK(OnGameStateMainStart, ());
|
DEFINE_HOOK(OnGameStateMainStart, ());
|
||||||
DEFINE_HOOK(OnGameFrameUpdate, ());
|
DEFINE_HOOK(OnGameFrameUpdate, ());
|
||||||
|
|||||||
@@ -14,6 +14,10 @@ void GameInteractor_ExecuteOnLoadGame(int32_t fileNum) {
|
|||||||
GameInteractor::Instance->ExecuteHooks<GameInteractor::OnLoadGame>(fileNum);
|
GameInteractor::Instance->ExecuteHooks<GameInteractor::OnLoadGame>(fileNum);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GameInteractor_ExecutePostLoadGame(int32_t fileNum) {
|
||||||
|
GameInteractor::Instance->ExecuteHooks<GameInteractor::PostLoadGame>(fileNum);
|
||||||
|
}
|
||||||
|
|
||||||
void GameInteractor_ExecuteOnExitGame(int32_t fileNum) {
|
void GameInteractor_ExecuteOnExitGame(int32_t fileNum) {
|
||||||
GameInteractor::Instance->ExecuteHooks<GameInteractor::OnExitGame>(fileNum);
|
GameInteractor::Instance->ExecuteHooks<GameInteractor::OnExitGame>(fileNum);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ extern "C" {
|
|||||||
void GameInteractor_ExecuteOnZTitleInit(void* gameState);
|
void GameInteractor_ExecuteOnZTitleInit(void* gameState);
|
||||||
void GameInteractor_ExecuteOnZTitleUpdate(void* gameState);
|
void GameInteractor_ExecuteOnZTitleUpdate(void* gameState);
|
||||||
void GameInteractor_ExecuteOnLoadGame(int32_t fileNum);
|
void GameInteractor_ExecuteOnLoadGame(int32_t fileNum);
|
||||||
|
void GameInteractor_ExecutePostLoadGame(int32_t fileNum);
|
||||||
void GameInteractor_ExecuteOnExitGame(int32_t fileNum);
|
void GameInteractor_ExecuteOnExitGame(int32_t fileNum);
|
||||||
void GameInteractor_ExecuteOnGameStateMainStart();
|
void GameInteractor_ExecuteOnGameStateMainStart();
|
||||||
void GameInteractor_ExecuteOnGameFrameUpdate();
|
void GameInteractor_ExecuteOnGameFrameUpdate();
|
||||||
|
|||||||
@@ -530,7 +530,7 @@ void RegisterArchipelago() {
|
|||||||
CVarSetInteger(CVAR_REMOTE_ARCHIPELAGO("Connected"), 0);
|
CVarSetInteger(CVAR_REMOTE_ARCHIPELAGO("Connected"), 0);
|
||||||
|
|
||||||
COND_HOOK(GameInteractor::OnGameFrameUpdate, true, [](){ArchipelagoClient::GetInstance().Poll();});
|
COND_HOOK(GameInteractor::OnGameFrameUpdate, true, [](){ArchipelagoClient::GetInstance().Poll();});
|
||||||
COND_HOOK(GameInteractor::OnLoadGame, true, [](int32_t file_id){ArchipelagoClient::GetInstance().GameLoaded();});
|
COND_HOOK(GameInteractor::PostLoadGame, true, [](int32_t file_id){ArchipelagoClient::GetInstance().GameLoaded();});
|
||||||
COND_HOOK(GameInteractor::OnRandomizerItemGivenHooks, IS_ARCHIPELAGO,
|
COND_HOOK(GameInteractor::OnRandomizerItemGivenHooks, IS_ARCHIPELAGO,
|
||||||
[](uint32_t rc, GetItemEntry gi, uint8_t isGiSkipped) {
|
[](uint32_t rc, GetItemEntry gi, uint8_t isGiSkipped) {
|
||||||
if (rc == RC_ARCHIPELAGO_RECEIVED_ITEM) {
|
if (rc == RC_ARCHIPELAGO_RECEIVED_ITEM) {
|
||||||
|
|||||||
@@ -3429,6 +3429,7 @@ void FileChoose_LoadGame(GameState* thisx) {
|
|||||||
gSaveContext.naviTimer = 0;
|
gSaveContext.naviTimer = 0;
|
||||||
|
|
||||||
GameInteractor_ExecuteOnLoadGame(gSaveContext.fileNum);
|
GameInteractor_ExecuteOnLoadGame(gSaveContext.fileNum);
|
||||||
|
GameInteractor_ExecutePostLoadGame(gSaveContext.fileNum);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void (*gSelectModeUpdateFuncs[])(GameState*) = {
|
static void (*gSelectModeUpdateFuncs[])(GameState*) = {
|
||||||
|
|||||||
Reference in New Issue
Block a user