summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorcoco875 <pereira.jannin@gmail.com>2025-01-05 11:30:10 +0100
committercoco875 <pereira.jannin@gmail.com>2025-01-05 11:30:10 +0100
commit6eb35d2bf82ef563abfb035af05c2947ee78078e (patch)
treefabd7a08a9729eee594f65e6179739e1528b669e /src
parenta82fbbdfd9ebbf90a033604990ec4b820bf7dcb2 (diff)
uniform GameEngine_OTRSigCheck
Diffstat (limited to 'src')
-rw-r--r--src/port/Engine.cpp3
-rw-r--r--src/port/Engine.h10
-rw-r--r--src/port/GBIMiddleware.cpp11
3 files changed, 15 insertions, 9 deletions
diff --git a/src/port/Engine.cpp b/src/port/Engine.cpp
index 9f2f814f4..a8763cac0 100644
--- a/src/port/Engine.cpp
+++ b/src/port/Engine.cpp
@@ -371,8 +371,7 @@ extern "C" uint32_t GameEngine_GetGameVersion() {
static const char* sOtrSignature = "__OTR__";
-extern "C" uint8_t GameEngine_OTRSigCheck(const char* data) {
- static const char* sOtrSignaturea = "__OTR__";
+extern "C" bool GameEngine_OTRSigCheck(const char* data) {
return strncmp(data, sOtrSignature, strlen(sOtrSignature)) == 0;
}
diff --git a/src/port/Engine.h b/src/port/Engine.h
index 36d78d1fe..16ad40299 100644
--- a/src/port/Engine.h
+++ b/src/port/Engine.h
@@ -53,7 +53,11 @@ class GameEngine {
uint32_t OTRGetGameRenderWidth();
uint32_t OTRGetGameRenderHeight();
};
-#else
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
void GameEngine_ProcessGfxCommands(Gfx* commands);
uint32_t GameEngine_GetSampleRate();
uint32_t GameEngine_GetSamplesPerFrame();
@@ -65,7 +69,7 @@ struct AudioSequenceData* GameEngine_LoadSequence(uint8_t seqId);
uint32_t GameEngine_GetSequenceCount();
uint8_t GameEngine_IsSequenceLoaded(uint8_t seqId);
void GameEngine_UnloadSequence(uint8_t seqId);
-uint8_t GameEngine_OTRSigCheck(char* imgData);
+// bool GameEngine_OTRSigCheck(char* imgData); -> align_asset_macro.h
float OTRGetAspectRatio(void);
float OTRGetDimensionFromLeftEdge(float v);
float OTRGetDimensionFromRightEdge(float v);
@@ -73,4 +77,6 @@ int16_t OTRGetRectDimensionFromLeftEdge(float v);
int16_t OTRGetRectDimensionFromRightEdge(float v);
uint32_t OTRGetGameRenderWidth(void);
uint32_t OTRGetGameRenderHeight(void);
+#ifdef __cplusplus
+}
#endif
diff --git a/src/port/GBIMiddleware.cpp b/src/port/GBIMiddleware.cpp
index 4f84c8e0b..9b3f1e71d 100644
--- a/src/port/GBIMiddleware.cpp
+++ b/src/port/GBIMiddleware.cpp
@@ -4,13 +4,14 @@
#include "DisplayList.h"
#include "resource/type/ResourceType.h"
#include "resource/type/Array.h"
-
-extern "C" int GameEngine_OTRSigCheck(const char* data);
+extern "C" {
+#include <align_asset_macro.h>
+}
extern "C" void gSPDisplayList(Gfx* pkt, Gfx* dl) {
char* imgData = (char*) dl;
- if (GameEngine_OTRSigCheck(imgData) == 1) {
+ if (GameEngine_OTRSigCheck(imgData)) {
auto resource = Ship::Context::GetInstance()->GetResourceManager()->LoadResource(imgData);
auto res = std::static_pointer_cast<LUS::DisplayList>(resource);
dl = &res->Instructions[0];
@@ -21,7 +22,7 @@ extern "C" void gSPDisplayList(Gfx* pkt, Gfx* dl) {
extern "C" void gSPVertex(Gfx* pkt, uintptr_t v, int n, int v0) {
- if (GameEngine_OTRSigCheck((char*) v) == 1) {
+ if (GameEngine_OTRSigCheck((char*) v)) {
v = (uintptr_t) ResourceGetDataByName((char*) v);
}
@@ -31,7 +32,7 @@ extern "C" void gSPVertex(Gfx* pkt, uintptr_t v, int n, int v0) {
extern "C" void gSPInvalidateTexCache(Gfx* pkt, uintptr_t texAddr) {
auto data = reinterpret_cast<char*>(texAddr);
- if (texAddr != 0 && GameEngine_OTRSigCheck(data) == 1) {
+ if (texAddr != 0 && GameEngine_OTRSigCheck(data)) {
const auto res = Ship::Context::GetInstance()->GetResourceManager()->LoadResource(data);
const auto type = static_cast<LUS::ResourceType>(res->GetInitData()->Type);