Starship/src/port/Game.cpp
2024-10-29 02:06:14 -06:00

50 lines
1.0 KiB
C++

#include <libultraship.h>
#include <Fast3D/gfx_pc.h>
#include "Engine.h"
extern "C" {
#include <sf64mesg.h>
void Main_SetVIMode(void);
void Main_Initialize(void);
void Main_ThreadEntry(void* arg);
void Lib_FillScreen(u8 setFill);
void Graphics_ThreadUpdate();
void AudioThread_CreateTask();
}
extern "C"
void Graphics_PushFrame(Gfx* data) {
GameEngine::ProcessGfxCommands(data);
}
extern "C" void Timer_Update();
void push_frame() {
Graphics_ThreadUpdate();
GameEngine::StartAudioFrame();
GameEngine::Instance->StartFrame();
Timer_Update();
// thread5_iteration();
GameEngine::EndAudioFrame();
}
#ifdef _WIN32
int SDL_main(int argc, char **argv) {
#else
#if defined(__cplusplus) && defined(PLATFORM_IOS)
extern "C"
#endif
int main(int argc, char *argv[]) {
#endif
GameEngine::Create();
Main_SetVIMode();
Lib_FillScreen(1);
Main_Initialize();
Main_ThreadEntry(NULL);
while (WindowIsRunning()) {
push_frame();
}
GameEngine::Instance->Destroy();
return 0;
}