minor fixes

This commit is contained in:
h4570
2022-08-01 13:37:48 +02:00
parent 34b2956c08
commit 4a9042b129
6 changed files with 31 additions and 20 deletions
+23 -13
View File
@@ -14,11 +14,7 @@
namespace Demo {
GameState::GameState(Engine* t_engine)
: State(t_engine),
renderer(&t_engine->renderer),
player(t_engine),
terrain(&t_engine->renderer.core.texture.repository),
dbgObj(&t_engine->renderer.core.texture.repository) {
: State(t_engine), renderer(&t_engine->renderer) {
state = STATE_GAME;
_wantFinish = false;
initialized = false;
@@ -31,12 +27,20 @@ void GameState::onStart() {
TYRA_LOG("Game. RAM: ", engine->info.getAvailableRAM(), "MB");
engine->audio.stopSong();
player = new Player(engine);
terrain = new Terrain(&engine->renderer.core.texture.repository);
dbgObj = new DebugObject(&engine->renderer.core.texture.repository);
initialized = true;
}
GlobalStateType GameState::onFinish() {
if (!initialized) return STATE_EXIT;
delete player;
delete terrain;
delete dbgObj;
initialized = false;
return STATE_EXIT;
@@ -48,20 +52,26 @@ void GameState::update() {
fpsChecker = 0;
}
auto cameraInfo = player.getCameraInfo();
// TODO: Get next player position and calculate all stuf for NEXT position
// (not current!)
// TODO: Fix camera for heightmap
// TODO: Change map
// TODO: Implement collision
auto cameraInfo = player->getCameraInfo();
engine->renderer.beginFrame(cameraInfo);
float terrainHeight = terrain.getHeightOffset(player.getPosition());
player.update(terrainHeight);
float terrainHeight = terrain->getHeightOffset(player->getPosition());
player->update(terrainHeight);
dbgObj.setPosition(*cameraInfo.looksAt);
dbgObj->setPosition(*cameraInfo.looksAt);
renderer.clear();
{
renderer.add(player.staticPairs);
renderer.add(player.dynamicPairs);
renderer.add(terrain.pair);
renderer.add(dbgObj.pair);
renderer.add(player->staticPairs);
renderer.add(player->dynamicPairs);
renderer.add(terrain->pair);
renderer.add(dbgObj->pair);
}
renderer.render();