fixed frustum culling, static game class
This commit is contained in:
+15
-15
@@ -18,7 +18,7 @@
|
||||
|
||||
const u8 WATER_TILES_COUNT = 64;
|
||||
|
||||
Ari::Ari(const Engine &t_engine) : engine(t_engine), camera(&engine.screen)
|
||||
Ari::Ari(Engine *t_engine) : engine(t_engine), camera(&engine->screen)
|
||||
{
|
||||
waterFloors = new Mesh[WATER_TILES_COUNT];
|
||||
spirals = new Point[WATER_TILES_COUNT];
|
||||
@@ -33,13 +33,13 @@ Ari::~Ari() {}
|
||||
void Ari::onInit()
|
||||
{
|
||||
|
||||
engine.renderer->setCameraDefinitions(&camera.worldView, &camera.unitCirclePosition, camera.planes);
|
||||
engine.audio.init(0);
|
||||
engine.audio.setVolume(40);
|
||||
engine.audio.loadSong("MOV-CIRC.WAV");
|
||||
engine.audio.play();
|
||||
engine->renderer->setCameraDefinitions(&camera.worldView, &camera.unitCirclePosition, camera.planes);
|
||||
engine->audio.init(0);
|
||||
engine->audio.setVolume(40);
|
||||
engine->audio.loadSong("MOV-CIRC.WAV");
|
||||
engine->audio.play();
|
||||
|
||||
texRepo = engine.renderer->getTextureRepository();
|
||||
texRepo = engine->renderer->getTextureRepository();
|
||||
|
||||
island.loadDff("sunnyisl/", "sunnyisl", 0.1F, false);
|
||||
island.rotation.x = -1.6F;
|
||||
@@ -86,15 +86,15 @@ void Ari::initBulb()
|
||||
|
||||
void Ari::onUpdate()
|
||||
{
|
||||
if (engine.pad.isCrossClicked)
|
||||
printf("FPS:%f\n", engine.fps);
|
||||
camera.update(engine.pad, player.mesh);
|
||||
engine.renderer->draw(skybox);
|
||||
engine.renderer->draw(island);
|
||||
engine.renderer->draw(islandAddons);
|
||||
engine.renderer->draw(player.mesh);
|
||||
if (engine->pad.isCrossClicked)
|
||||
printf("FPS:%f\n", engine->fps);
|
||||
camera.update(engine->pad, player.mesh);
|
||||
engine->renderer->draw(skybox);
|
||||
engine->renderer->draw(island);
|
||||
engine->renderer->draw(islandAddons);
|
||||
engine->renderer->draw(player.mesh);
|
||||
for (u8 i = 0; i < WATER_TILES_COUNT; i++)
|
||||
engine.renderer->draw(waterFloors[i]);
|
||||
engine->renderer->draw(waterFloors[i]);
|
||||
}
|
||||
|
||||
void Ari::calcSpiral(int X, int Y)
|
||||
|
||||
@@ -23,13 +23,13 @@ class Ari : public Game
|
||||
{
|
||||
|
||||
public:
|
||||
Ari(const Engine &t_engine);
|
||||
Ari(Engine *t_engine);
|
||||
~Ari();
|
||||
|
||||
void onInit();
|
||||
void onUpdate();
|
||||
|
||||
Engine engine;
|
||||
Engine *engine;
|
||||
|
||||
private:
|
||||
void initBulb();
|
||||
|
||||
@@ -13,8 +13,8 @@
|
||||
int main()
|
||||
{
|
||||
Engine engine = Engine();
|
||||
Ari game = Ari(engine);
|
||||
game.engine.init(&game, 40000);
|
||||
Ari game = Ari(&engine);
|
||||
game.engine->init(&game, 40000);
|
||||
SleepThread();
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
|
||||
const u8 FLOORS_COUNT = 64; // Temp change it also in floor_manager.hpp
|
||||
|
||||
Floors::Floors(const Engine &t_engine)
|
||||
: engine(t_engine), floorManager(FLOORS_COUNT), camera(&engine.screen) {}
|
||||
Floors::Floors(Engine *t_engine)
|
||||
: engine(t_engine), floorManager(FLOORS_COUNT), camera(&t_engine->screen) {}
|
||||
|
||||
Floors::~Floors() {}
|
||||
|
||||
@@ -27,13 +27,14 @@ Floors::~Floors() {}
|
||||
|
||||
void Floors::onInit()
|
||||
{
|
||||
engine.renderer->setCameraDefinitions(&camera.worldView, &camera.unitCirclePosition, camera.planes);
|
||||
engine.audio.init(2);
|
||||
engine.audio.addListener(&floorManager);
|
||||
engine.audio.addListener(&lightManager);
|
||||
engine.audio.loadSong("NF-CHILL.WAV");
|
||||
engine.audio.play();
|
||||
texRepo = engine.renderer->getTextureRepository();
|
||||
engine->renderer->setCameraDefinitions(&camera.worldView, &camera.unitCirclePosition, camera.planes);
|
||||
engine->audio.init(2);
|
||||
engine->audio.addListener(&floorManager);
|
||||
engine->audio.addListener(&lightManager);
|
||||
engine->audio.loadSong("NF-CHILL.WAV");
|
||||
engine->audio.setVolume(1);
|
||||
engine->audio.play();
|
||||
texRepo = engine->renderer->getTextureRepository();
|
||||
texRepo->addByMesh("warrior/", player.mesh);
|
||||
texRepo->addByMesh("floor/", floorManager.floors[0].mesh);
|
||||
for (u32 i = 1; i < floorManager.floorAmount; i++)
|
||||
@@ -43,13 +44,13 @@ void Floors::onInit()
|
||||
|
||||
void Floors::onUpdate()
|
||||
{
|
||||
if (engine.pad.isCrossClicked)
|
||||
printf("FPS:%f\n", engine.fps);
|
||||
if (engine->pad.isCrossClicked)
|
||||
printf("FPS:%f\n", engine->fps);
|
||||
lightManager.update();
|
||||
camera.update(engine.pad, player.mesh);
|
||||
camera.update(engine->pad, player.mesh);
|
||||
floorManager.update(player);
|
||||
player.update(engine.pad, camera, floorManager);
|
||||
engine.renderer->draw(player.mesh);
|
||||
player.update(engine->pad, camera, floorManager);
|
||||
engine->renderer->draw(player.mesh);
|
||||
for (u8 i = 0; i < FLOORS_COUNT; i++)
|
||||
engine.renderer->drawByPath3(floorManager.floors[i].mesh, lightManager.bulbs, lightManager.bulbsCount);
|
||||
engine->renderer->drawByPath3(floorManager.floors[i].mesh, lightManager.bulbs, lightManager.bulbsCount);
|
||||
}
|
||||
|
||||
@@ -24,13 +24,13 @@ class Floors : public Game
|
||||
{
|
||||
|
||||
public:
|
||||
Floors(const Engine &t_engine);
|
||||
Floors(Engine *t_engine);
|
||||
~Floors();
|
||||
|
||||
void onInit();
|
||||
void onUpdate();
|
||||
|
||||
Engine engine;
|
||||
Engine *engine;
|
||||
|
||||
private:
|
||||
TextureRepository *texRepo;
|
||||
|
||||
@@ -13,8 +13,8 @@
|
||||
int main()
|
||||
{
|
||||
Engine engine = Engine();
|
||||
Floors game = Floors(engine);
|
||||
game.engine.init(&game, 40000);
|
||||
Floors game = Floors(&engine);
|
||||
game.engine->init(&game, 40000);
|
||||
SleepThread();
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -106,7 +106,6 @@ void FloorManager::update(Player &t_player)
|
||||
/** Called by audio thread */
|
||||
void FloorManager::onAudioTick()
|
||||
{
|
||||
printf("Hit!\n");
|
||||
if (audioTick++ > 16)
|
||||
{
|
||||
if (audioMode == 0)
|
||||
|
||||
Reference in New Issue
Block a user