Game* Game_Create( Keyboard* const keyboard, Mouse* const mouse) { Mat4 tmpProjectionMatrix; OBJFile* objFile = OBJFile_Load( "assets/models/cubeModel.obj"); MTLFile* mtlFile = MTLFile_Load( "assets/models/cubeModel.mtl"); Game* game = malloc( sizeof(Game)); memset( game, 0, sizeof(Game)); Keyboard_Initialize( keyboard); Mouse_Initialize( mouse); game->Keyboard = keyboard; game->Mouse = mouse; // load content game->DiffuseTexture = Texture_Load("assets/textures/checkerboard.png"); game->CubeModel = Mesh_CreateFromOBJGroup( objFile->Objects, objFile->Objects->Groups); // unload temp data OBJFile_Unload(objFile); MTLFile_Unload(mtlFile); // setup camera Mat4_LoadPerspective( &tmpProjectionMatrix, 70.0f, (float)SCREEN_WIDTH / (float)SCREEN_HEIGHT, 0.1f, 100.0f); game->Camera = Camera_Create( &tmpProjectionMatrix); return game; }
int32_t Buttons_Initialize (void) { Keyboard_Initialize(); return 0; }