minor fixes
This commit is contained in:
+2
-1
@@ -1,5 +1,6 @@
|
|||||||
------------ Tyra's v2.0 roadmap to publish on GitHub ------------
|
------------ 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
|
- [Renderer] Fog
|
||||||
- [Demo] Create cool demo which will show all features of Tyra
|
- [Demo] Create cool demo which will show all features of Tyra
|
||||||
- [General] CI in Github via docker image
|
- [General] CI in Github via docker image
|
||||||
|
|||||||
@@ -42,9 +42,9 @@ class GameState : public State<GlobalStateType> {
|
|||||||
u8 fpsChecker;
|
u8 fpsChecker;
|
||||||
|
|
||||||
GameRenderer renderer;
|
GameRenderer renderer;
|
||||||
Player player;
|
Player* player;
|
||||||
Terrain terrain;
|
Terrain* terrain;
|
||||||
DebugObject dbgObj;
|
DebugObject* dbgObj;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Demo
|
} // namespace Demo
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
namespace Demo {
|
namespace Demo {
|
||||||
|
|
||||||
DemoGame::DemoGame(Engine* t_engine)
|
DemoGame::DemoGame(Engine* t_engine)
|
||||||
: engine(t_engine), stateManager(STATE_GAME, STATE_EXIT) {}
|
: engine(t_engine), stateManager(STATE_INTRO, STATE_EXIT) {}
|
||||||
DemoGame::~DemoGame() {}
|
DemoGame::~DemoGame() {}
|
||||||
|
|
||||||
void DemoGame::init() {
|
void DemoGame::init() {
|
||||||
|
|||||||
@@ -14,11 +14,7 @@
|
|||||||
namespace Demo {
|
namespace Demo {
|
||||||
|
|
||||||
GameState::GameState(Engine* t_engine)
|
GameState::GameState(Engine* t_engine)
|
||||||
: State(t_engine),
|
: State(t_engine), renderer(&t_engine->renderer) {
|
||||||
renderer(&t_engine->renderer),
|
|
||||||
player(t_engine),
|
|
||||||
terrain(&t_engine->renderer.core.texture.repository),
|
|
||||||
dbgObj(&t_engine->renderer.core.texture.repository) {
|
|
||||||
state = STATE_GAME;
|
state = STATE_GAME;
|
||||||
_wantFinish = false;
|
_wantFinish = false;
|
||||||
initialized = false;
|
initialized = false;
|
||||||
@@ -31,12 +27,20 @@ void GameState::onStart() {
|
|||||||
TYRA_LOG("Game. RAM: ", engine->info.getAvailableRAM(), "MB");
|
TYRA_LOG("Game. RAM: ", engine->info.getAvailableRAM(), "MB");
|
||||||
|
|
||||||
engine->audio.stopSong();
|
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;
|
initialized = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
GlobalStateType GameState::onFinish() {
|
GlobalStateType GameState::onFinish() {
|
||||||
if (!initialized) return STATE_EXIT;
|
if (!initialized) return STATE_EXIT;
|
||||||
|
|
||||||
|
delete player;
|
||||||
|
delete terrain;
|
||||||
|
delete dbgObj;
|
||||||
initialized = false;
|
initialized = false;
|
||||||
|
|
||||||
return STATE_EXIT;
|
return STATE_EXIT;
|
||||||
@@ -48,20 +52,26 @@ void GameState::update() {
|
|||||||
fpsChecker = 0;
|
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);
|
engine->renderer.beginFrame(cameraInfo);
|
||||||
|
|
||||||
float terrainHeight = terrain.getHeightOffset(player.getPosition());
|
float terrainHeight = terrain->getHeightOffset(player->getPosition());
|
||||||
player.update(terrainHeight);
|
player->update(terrainHeight);
|
||||||
|
|
||||||
dbgObj.setPosition(*cameraInfo.looksAt);
|
dbgObj->setPosition(*cameraInfo.looksAt);
|
||||||
|
|
||||||
renderer.clear();
|
renderer.clear();
|
||||||
{
|
{
|
||||||
renderer.add(player.staticPairs);
|
renderer.add(player->staticPairs);
|
||||||
renderer.add(player.dynamicPairs);
|
renderer.add(player->dynamicPairs);
|
||||||
renderer.add(terrain.pair);
|
renderer.add(terrain->pair);
|
||||||
renderer.add(dbgObj.pair);
|
renderer.add(dbgObj->pair);
|
||||||
}
|
}
|
||||||
renderer.render();
|
renderer.render();
|
||||||
|
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ void IntroState::onStart() {
|
|||||||
engine->audio.loadSong(FileUtils::fromCwd("intro/intro.wav"));
|
engine->audio.loadSong(FileUtils::fromCwd("intro/intro.wav"));
|
||||||
engine->audio.setSongLoop(false);
|
engine->audio.setSongLoop(false);
|
||||||
engine->audio.setSongVolume(80);
|
engine->audio.setSongVolume(80);
|
||||||
// engine->audio.playSong();
|
engine->audio.playSong();
|
||||||
|
|
||||||
stateManager.add(new IntroPs2DevState(engine));
|
stateManager.add(new IntroPs2DevState(engine));
|
||||||
stateManager.add(new IntroTyraState(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.
|
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)
|
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`
|
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