Ajouté checks de fin de monde pour que le bonhomme puisse sauter dans le vide et ne pas avoir d'exception avant!

This commit is contained in:
MarcEricMartel 2021-11-19 13:25:52 -05:00
parent 855ac97b47
commit 6446be1ceb

View File

@ -182,7 +182,6 @@ void Engine::Render(float elapsedTime) {
Transformation all;
Transformation skybox;
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
// Transformations initiales
@ -193,11 +192,16 @@ void Engine::Render(float elapsedTime) {
m_audio.Update3DAudio(m_player.GetPOV(), m_player.GetDirection(), m_player.GetVelocity()); // Ajustement du positionnement 3D avec les coordonnées du joueur et
// son vecteur de vélocité (pour l'effet Doppler)
m_player.ApplyTransformation(all);
m_player.ApplyTransformation(skybox, false); // Version d'ApplyTransformation qui ne tient compte que de la rotation
// (donc l'objet ne bouge pas relativement au joueur, ce qui est pratique pour une skybox!).
glDisable(GL_LIGHT0);
m_skybox.Render(skybox);
// Chunks
all.Use();
glEnable(GL_LIGHT0);
@ -210,7 +214,9 @@ void Engine::Render(float elapsedTime) {
for (int chx = cx - CHUNK_SIZE_X * 6; chx < cx + CHUNK_SIZE_X * 6; chx+= CHUNK_SIZE_X)
for (int chy = cy - CHUNK_SIZE_Z * 6; chy < cy + CHUNK_SIZE_Z * 6; chy += CHUNK_SIZE_Z) {
if (!m_world.ChunkAt(chx, 1, chy)) {
if (chx / CHUNK_SIZE_X < VIEW_DISTANCE && chy / CHUNK_SIZE_Z < VIEW_DISTANCE &&
chx >= 0 && chy >= 0)
if (!m_world.ChunkAt(chx, 1, chy)) {
m_world.GetChunks().Set(chx / CHUNK_SIZE_X, chy / CHUNK_SIZE_Z, new Chunk(chx / CHUNK_SIZE_X, chy / CHUNK_SIZE_Z));