#include "runtime/mem_arena.h"
#include "runtime/resources.h"
#include "runtime/rt_math.h"
#include "runtime/threading.h"

#include "asset_compiler/asset_compiler.h"

#include <stdlib.h>

void RegisterCVars(void) {
    rtRegisterAssetCompilerCVars();
}
/* Called after the runtime has finished its initialization and before entering the main-loop*/
void Init(void) {
    rtLog("GAME", "Init");
    rtInitAssetCompiler();

    rtWaitForAssetProcessing();
}

/* Called after exiting the main-loop and before the runtime starts its shutdown */
void Shutdown(void) {
    rtLog("GAME", "Shutdown");

    rtShutdownAssetCompiler();
}

// Question; How do we move data from update to render.
// This is where we could fill the render views, but that would
// mean double/triple buffering the views
void Update(unsigned int frame_id) {
}

void Render(unsigned int frame_id) {
}