A bit more code cleanup
This commit is contained in:
@ -1,32 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) 2021 Dominic Masters
|
||||
*
|
||||
* This software is released under the MIT License.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
#include "loadingscene.h"
|
||||
|
||||
void loadingSceneInit(
|
||||
loadingscene_t *scene,
|
||||
assetmanager_t *assetManager
|
||||
) {
|
||||
scene->manager = assetManager;
|
||||
}
|
||||
|
||||
void loadingSceneStart(loadingscene_t *scene) {
|
||||
assetManagerStart(scene->manager);
|
||||
}
|
||||
|
||||
bool loadingSceneUpdate(loadingscene_t *scene) {
|
||||
assetManagerUpdate(scene->manager);
|
||||
return scene->manager->finished;
|
||||
}
|
||||
|
||||
void loadingSceneRender(loadingscene_t *scene) {
|
||||
|
||||
}
|
||||
|
||||
void loadingSceneDispose(loadingscene_t *scene) {
|
||||
|
||||
}
|
@ -1,26 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) 2021 Dominic Masters
|
||||
*
|
||||
* This software is released under the MIT License.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include "../file/assetmanager.h"
|
||||
|
||||
typedef struct {
|
||||
assetmanager_t *manager;
|
||||
} loadingscene_t;
|
||||
|
||||
void loadingSceneInit(
|
||||
loadingscene_t *scene,
|
||||
assetmanager_t *assetManager
|
||||
);
|
||||
|
||||
void loadingSceneStart(loadingscene_t *scene);
|
||||
|
||||
bool loadingSceneUpdate(loadingscene_t *scene);
|
||||
|
||||
void loadingSceneRender(loadingscene_t *scene);
|
||||
|
||||
void loadingSceneDispose(loadingscene_t *scene);
|
@ -1,72 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) 2021 Dominic Masters
|
||||
*
|
||||
* This software is released under the MIT License.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
#include "scene.h"
|
||||
|
||||
void sceneInit(scene_t *scene, engine_t *engine, void *user) {
|
||||
scene->engine = engine;
|
||||
scene->assetOwner = assetManagerHolderCreate(&engine->assetManager);
|
||||
scene->user = user;
|
||||
scene->onLoaded = NULL;
|
||||
scene->onRender = NULL;
|
||||
scene->loaded = false;
|
||||
renderListInit(&scene->renderList, (int32_t)1, (int32_t)1);
|
||||
}
|
||||
|
||||
float sceneUpdate(
|
||||
scene_t *scene, int32_t width, int32_t height, shader_t *shader,
|
||||
shaderuniform_t *uniforms
|
||||
) {
|
||||
// First, lets check how loading has been going
|
||||
float n = assetManagerProgressGetForHolder(
|
||||
&scene->engine->assetManager, scene->assetOwner
|
||||
);
|
||||
|
||||
// TODO: Loading screen
|
||||
if(n < 1.0f) return n;
|
||||
|
||||
// Fire event
|
||||
if(!scene->loaded) {
|
||||
scene->loaded = true;
|
||||
if(scene->onLoaded != NULL) scene->onLoaded(scene);
|
||||
}
|
||||
|
||||
// Resize the render list
|
||||
renderListResize(&scene->renderList, width, height);
|
||||
|
||||
// Fire callback
|
||||
if(scene->onRender != NULL) scene->onRender(scene);
|
||||
|
||||
// Render the render list itself.
|
||||
renderListRender(&scene->renderList, shader, uniforms);
|
||||
|
||||
return n;
|
||||
}
|
||||
|
||||
void sceneUpdateToBackbuffer(scene_t *scene,
|
||||
shader_t *shaderRenderList, shaderuniform_t *listUniforms,
|
||||
shader_t *shaderBackBuffer, shaderuniform_t *backUniforms
|
||||
) {
|
||||
float n = sceneUpdate(scene,
|
||||
(int32_t)scene->engine->render.width, (int32_t)scene->engine->render.height,
|
||||
shaderRenderList, listUniforms
|
||||
);
|
||||
if(n < 1.0f) return;
|
||||
|
||||
renderListAsBackbuffer(&scene->renderList, scene->engine, shaderBackBuffer,
|
||||
backUniforms
|
||||
);
|
||||
}
|
||||
|
||||
void sceneDispose(scene_t *scene) {
|
||||
assetManagerHolderRelease(&scene->engine->assetManager, scene->assetOwner);
|
||||
renderListDispose(&scene->renderList);
|
||||
}
|
||||
|
||||
renderpass_t * sceneUsePass(scene_t *scene, uint8_t i) {
|
||||
return renderListRenderPass(&scene->renderList, scene->engine, i);
|
||||
}
|
@ -1,50 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) 2021 Dominic Masters
|
||||
*
|
||||
* This software is released under the MIT License.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include "../libs.h"
|
||||
#include "../file/assetmanager.h"
|
||||
#include "../engine/engine.h"
|
||||
#include "../display/renderlist.h"
|
||||
#include "../display/shader.h"
|
||||
|
||||
// Forwarder for scene_t
|
||||
typedef struct _scene_t scene_t;
|
||||
|
||||
// Callbacks
|
||||
typedef void scenecallback_t(scene_t *scene);
|
||||
|
||||
// Scene Definition
|
||||
typedef struct _scene_t {
|
||||
engine_t *engine;
|
||||
assetmanagerowner_t assetOwner;
|
||||
renderlist_t renderList;
|
||||
void *user;
|
||||
|
||||
bool loaded;
|
||||
|
||||
/** Scene Callbacks */
|
||||
scenecallback_t *onLoaded;
|
||||
scenecallback_t *onRender;
|
||||
} scene_t;
|
||||
|
||||
void sceneInit(scene_t *scene, engine_t *engine, void *user);
|
||||
|
||||
|
||||
float sceneUpdate(
|
||||
scene_t *scene, int32_t width, int32_t height, shader_t *shader,
|
||||
shaderuniform_t *uniforms
|
||||
);
|
||||
|
||||
void sceneUpdateToBackbuffer(scene_t *scene,
|
||||
shader_t *shaderRenderList, shaderuniform_t *listUniforms,
|
||||
shader_t *shaderBackBuffer, shaderuniform_t *backUniforms
|
||||
);
|
||||
|
||||
void sceneDispose(scene_t *scene);
|
||||
|
||||
renderpass_t * sceneUsePass(scene_t *scene, uint8_t i);
|
Reference in New Issue
Block a user