minor fixes
This commit is contained in:
@@ -42,9 +42,9 @@ class GameState : public State<GlobalStateType> {
|
||||
u8 fpsChecker;
|
||||
|
||||
GameRenderer renderer;
|
||||
Player player;
|
||||
Terrain terrain;
|
||||
DebugObject dbgObj;
|
||||
Player* player;
|
||||
Terrain* terrain;
|
||||
DebugObject* dbgObj;
|
||||
};
|
||||
|
||||
} // namespace Demo
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
namespace Demo {
|
||||
|
||||
DemoGame::DemoGame(Engine* t_engine)
|
||||
: engine(t_engine), stateManager(STATE_GAME, STATE_EXIT) {}
|
||||
: engine(t_engine), stateManager(STATE_INTRO, STATE_EXIT) {}
|
||||
DemoGame::~DemoGame() {}
|
||||
|
||||
void DemoGame::init() {
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ void IntroState::onStart() {
|
||||
engine->audio.loadSong(FileUtils::fromCwd("intro/intro.wav"));
|
||||
engine->audio.setSongLoop(false);
|
||||
engine->audio.setSongVolume(80);
|
||||
// engine->audio.playSong();
|
||||
engine->audio.playSong();
|
||||
|
||||
stateManager.add(new IntroPs2DevState(engine));
|
||||
stateManager.add(new IntroTyraState(engine));
|
||||
|
||||
Reference in New Issue
Block a user