minor fixes
This commit is contained in:
+2
-1
@@ -1,5 +1,6 @@
|
||||
------------ Tyra's v2.0 roadmap to publish on GitHub ------------
|
||||
- [General] Tyra version
|
||||
- [General] Allow to edit all data from mesh/texture
|
||||
- [General] Tyra version, render it on start
|
||||
- [Renderer] Fog
|
||||
- [Demo] Create cool demo which will show all features of Tyra
|
||||
- [General] CI in Github via docker image
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -22,4 +22,4 @@ git clone https://github.com/h4570/tyra.git
|
||||
5. In `c_cpp_properties.json` fix all `YOUR-INTELLISENSE-PATH` with path from point 2.
|
||||
6. Click `CTRL+SHIFT+P`, type `Tasks: Run task` and run `Start docker container` - Repeat this step every time you want to start working with Tyra (every reboot)
|
||||
7. Click `CTRL+SHIFT+P`, type `Tasks: Run build task`
|
||||
8. Tyra should automatically compile engine, `wellinator` sample and run `PCSX2`. If you want to compile & run other sample, please change `buildDirectory` in `settings.json`
|
||||
8. Tyra should automatically compile engine, `demo` game and run `PCSX2`. If you want to compile & run tutorials, please change `buildDirectory` in `settings.json` to example `tutorials/01-hello`
|
||||
Reference in New Issue
Block a user