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
+2 -1
View File
@@ -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
+3 -3
View File
@@ -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
+1 -1
View File
@@ -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() {
+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();
+1 -1
View File
@@ -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));
+1 -1
View File
@@ -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`