Dawn/src/game/sandbox/game.c

64 lines
1.6 KiB
C

/**
* Copyright (c) 2021 Dominic Masters
*
* This software is released under the MIT License.
* https://opensource.org/licenses/MIT
*/
#include "game.h"
bool sandboxGameInit(sandboxgame_t *game) {
quadInit(&game->quad, 0, 0,0,0,0, 500,500,1,1);
assetManagerInit(&game->assetManager);
game->assetOwner = assetManagerHolderCreate(&game->assetManager);
assetManagerLoadFont(
&game->assetManager, game->assetOwner,
&game->font, "fonts/opensans/OpenSans-Regular.ttf"
);
assetManagerLoadShader(
&game->assetManager, game->assetOwner,
&game->shader, "shaders/textured.vert", "shaders/textured.frag"
);
assetManagerLoadScaledTexture(
&game->assetManager, game->assetOwner,
&game->st, "poker/characters/sammy", "sprite"
);
assetManagerLoadTextureScale(
&game->assetManager, game->assetOwner,
&game->st, &game->texture, 0
);
assetManagerStart(&game->assetManager);
return true;
}
void sandboxGameUpdate(sandboxgame_t *game) {
camera_t camera;
float n;
n = assetManagerProgressGet(&game->assetManager);
if(n < 1.0f) {
assetManagerUpdate(&game->assetManager);
return;
}
cameraOrtho(&camera,
0, game->engine.render.width,
game->engine.render.height, 0,
0.01f, 1000.0f
);
cameraLookAt(&camera, 0,0,10, 0,0,0);
shaderUse(&game->shader);
shaderUseCamera(&game->shader, &camera);
shaderUseTexture(&game->shader, &game->texture);
shaderUsePosition(&game->shader, 0,0,0, 0,0,0);
primitiveDraw(&game->quad, 0, -1);
}
void sandboxGameDispose(sandboxgame_t *game) {
assetManagerHolderRelease(&game->assetManager, game->assetOwner);
primitiveDispose(&game->quad);
}