Finished asset manager.
This commit is contained in:
59
src/game/sandbox/game.c
Normal file
59
src/game/sandbox/game.c
Normal file
@@ -0,0 +1,59 @@
|
||||
/**
|
||||
* 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) {
|
||||
// assetTextureLoad(&game->texture, "textures/test_texture.png");
|
||||
quadInit(&game->quad, 0, 0,0,0,0, 500,500,1,1);
|
||||
|
||||
game->texture.width = -1;
|
||||
assetManagerInit(&game->manager);
|
||||
|
||||
assetManagerLoadTexture(&game->manager, &game->texture, "textures/test_texture.png");
|
||||
assetManagerLoadFont(&game->manager, &game->font, "fonts/opensans/OpenSans-Regular.ttf");
|
||||
assetManagerShaderLoad(&game->manager, &game->shader,
|
||||
"shaders/textured.vert",
|
||||
"shaders/textured.frag"
|
||||
);
|
||||
|
||||
assetManagerStart(&game->manager);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void sandboxGameUpdate(sandboxgame_t *game) {
|
||||
camera_t camera;
|
||||
float n = assetManagerProgressGet(&game->manager);
|
||||
if(n < 1.0f) {
|
||||
assetManagerUpdate(&game->manager);
|
||||
printf("Loading %.2f\n", n);
|
||||
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);
|
||||
|
||||
|
||||
if(game->texture.width != -1) {
|
||||
shaderUseTexture(&game->shader, &game->texture);
|
||||
shaderUsePosition(&game->shader, 0,0,0, 0,0,0);
|
||||
primitiveDraw(&game->quad, 0, -1);
|
||||
}
|
||||
}
|
||||
|
||||
void sandboxGameDispose(sandboxgame_t *game) {
|
||||
// shaderDispose(&game->shader);
|
||||
}
|
@@ -10,16 +10,22 @@
|
||||
#include "../../display/camera.h"
|
||||
#include "../../display/font.h"
|
||||
#include "../../display/shader.h"
|
||||
#include "../../display/primitive.h"
|
||||
#include "../../display/primitives/quad.h"
|
||||
#include "../../file/asset.h"
|
||||
#include "../../ui/label.h"
|
||||
#include "../../ui/breakpoint.h"
|
||||
#include "../../file/assetmanager.h"
|
||||
|
||||
typedef struct {
|
||||
engine_t engine;
|
||||
shader_t shader;
|
||||
texture_t texture;
|
||||
font_t font;
|
||||
} sandboxscene_t;
|
||||
primitive_t quad;
|
||||
assetmanager_t manager;
|
||||
|
||||
texture_t texture;
|
||||
} sandboxgame_t;
|
||||
|
||||
/**
|
||||
* Initialize the sandbox scene test game.
|
||||
@@ -28,7 +34,7 @@ typedef struct {
|
||||
* @param engine Engine to use during init.
|
||||
* @return True if successful, otherwise false.
|
||||
*/
|
||||
bool sandboxSceneInit(sandboxscene_t *game);
|
||||
bool sandboxGameInit(sandboxgame_t *game);
|
||||
|
||||
/**
|
||||
* Update a sandbox scene.
|
||||
@@ -36,11 +42,11 @@ bool sandboxSceneInit(sandboxscene_t *game);
|
||||
* @param game Game to update.
|
||||
* @param engine Engine to use when updating.
|
||||
*/
|
||||
void sandboxSceneUpdate(sandboxscene_t *game);
|
||||
void sandboxGameUpdate(sandboxgame_t *game);
|
||||
|
||||
/**
|
||||
* Dispose a previously created scene game.
|
||||
*
|
||||
* @param game Game to dispose.
|
||||
*/
|
||||
void sandboxSceneDispose(sandboxscene_t *game);
|
||||
void sandboxGameDispose(sandboxgame_t *game);
|
@@ -1,37 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) 2021 Dominic Masters
|
||||
*
|
||||
* This software is released under the MIT License.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
#include "sandboxscene.h"
|
||||
|
||||
bool sandboxSceneInit(sandboxscene_t *game) {
|
||||
// Init Assets
|
||||
assetShaderLoad(&game->shader,
|
||||
"shared/shaders/textured.vert",
|
||||
"shared/shaders/textured.frag"
|
||||
);
|
||||
assetFontLoad(&game->font, "shared/fonts/opensans/OpenSans-Regular.ttf");
|
||||
assetTextureLoad(&game->texture, "shared/test_texture.png");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void sandboxSceneUpdate(sandboxscene_t *game) {
|
||||
camera_t camera;
|
||||
|
||||
shaderUse(&game->shader);
|
||||
cameraOrtho(&camera,
|
||||
0, game->engine.render.width,
|
||||
game->engine.render.height, 0,
|
||||
0.01f, 1000.0f
|
||||
);
|
||||
cameraLookAt(&camera, 0,0,10, 0,0,0);
|
||||
shaderUseCamera(&game->shader, &camera);
|
||||
}
|
||||
|
||||
void sandboxSceneDispose(sandboxscene_t *game) {
|
||||
// shaderDispose(&game->shader);
|
||||
}
|
Reference in New Issue
Block a user