This commit is contained in:
Isuru Samarathunga
2025-10-12 20:42:31 +05:30
parent 4380705f81
commit ce9ea1fd52
4 changed files with 47 additions and 77 deletions

View File

@ -18,32 +18,30 @@
#include <IAEngine/Engine.hpp>
using namespace ia;
using namespace ia::iae;
struct GameRequestedConfig
{
INT32 ScreenWidth{};
INT32 ScreenHeight{};
};
C_DECL(GameRequestedConfig Game_GetConfigRequest());
C_DECL(VOID Game_OnInitialize());
C_DECL(VOID Game_OnTerminate());
C_DECL(VOID Game_OnDebugDraw());
C_DECL(VOID Game_OnFixedUpdate());
C_DECL(VOID Game_OnUpdate(IN FLOAT32 deltaTime));
C_DECL(VOID Game_OnResize(IN INT32 newWidth, IN INT32 newHeight));
namespace ia::iae
{
INT32 Run(IN CONST String& name, IN CONST String& packageName, IN CONST String& developerName, IN CONST String& publisherName, IN IA_VERSION_TYPE version);
} // namespace ia::iae
struct GameRequestedConfig
{
INT32 ScreenWidth{};
INT32 ScreenHeight{};
};
struct GameFunctionTable
{
GameRequestedConfig (*GetConfigRequest)(){nullptr};
VOID (*OnInitialize)(){nullptr};
VOID (*OnTerminate)(){nullptr};
VOID (*OnDebugDraw)(){nullptr};
VOID (*OnFixedUpdate)(){nullptr};
VOID (*OnUpdate)(IN FLOAT32 deltaTime){nullptr};
VOID (*OnResize)(IN INT32 newWidth, IN INT32 newHeight){nullptr};
PCCHAR (*GetName)(){nullptr};
UINT64 (*GetVersion)(){nullptr};
PCCHAR (*GetPackageName)(){nullptr};
PCCHAR (*GetDeveloperName)(){nullptr};
PCCHAR (*GetPublisherName)(){nullptr};
};
INT32 Run(IN GameFunctionTable gameFunctionTable);
} // namespace ia::iae
#if defined(__ANDROID__)
#define IAENGINE_RUN(name, packageName, developerName, publisherName, versionMajor, versionMinor, versionPatch) int SDL_main(int argc, char *argv[]) { return ia::iae::Run(name, packageName, developerName, publisherName, IA_MAKE_VERSION(versionMajor, versionMinor, versionPatch)); }
#else
#define IAENGINE_RUN(name, packageName, developerName, publisherName, versionMajor, versionMinor, versionPatch) int main(int argc, char *argv[]) { return ia::iae::Run(name, packageName, developerName, publisherName, IA_MAKE_VERSION(versionMajor, versionMinor, versionPatch)); }
#endif