From 42b48d50ec6cb1a79ef7daf111d47b80c0289162 Mon Sep 17 00:00:00 2001
From: Taha Belkhiri <belkhiri.taha53@gmail.com>
Date: Wed, 29 Jun 2022 15:05:23 +0200
Subject: [PATCH] ajout texture du ciel

---
 .../jeu_appren_par_renfo/Res/sky.png          | Bin 0 -> 4758 bytes
 .../jeu_appren_par_renfo/src/render.c         |  42 +++++++++++++-----
 2 files changed, 31 insertions(+), 11 deletions(-)
 create mode 100644 travail_de_groupe/jeu_appren_par_renfo/Res/sky.png

diff --git a/travail_de_groupe/jeu_appren_par_renfo/Res/sky.png b/travail_de_groupe/jeu_appren_par_renfo/Res/sky.png
new file mode 100644
index 0000000000000000000000000000000000000000..1526c651f281167ff093aa7785e3b389779125d2
GIT binary patch
literal 4758
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

literal 0
HcmV?d00001

diff --git a/travail_de_groupe/jeu_appren_par_renfo/src/render.c b/travail_de_groupe/jeu_appren_par_renfo/src/render.c
index 9b1ffdb..9f4b0c1 100644
--- a/travail_de_groupe/jeu_appren_par_renfo/src/render.c
+++ b/travail_de_groupe/jeu_appren_par_renfo/src/render.c
@@ -17,6 +17,7 @@ SDL_Texture *netEdgeRightTexture;
 SDL_Texture *crowdTexture;
 SDL_Texture *playerTexture;
 SDL_Texture *ballTexture;
+SDL_Texture *skyTexture;
 
 int **rays;
 int raysListLength = 0;
@@ -206,13 +207,25 @@ void drawRayColumn(rayInfo_t *rayInfo)
     }
 }
 
-void drawVerticalRays()
-{
+void drawVerticalWalls(){
+    rayInfo_t *current = raysListHead.next;
+    while (current != NULL)
+    {
+        // printf("%p\n", current);
+        if (current->direction && !current->isTransparent)
+        {
+            drawRayColumn(current);
+        }
+        current = current->next;
+    }
+}
+
+void drawVerticalNet(){
     rayInfo_t *current = raysListHead.next;
     while (current != NULL)
     {
         // printf("%p\n", current);
-        if (current->direction)
+        if (current->direction && current->isTransparent)
         {
             drawRayColumn(current);
         }
@@ -220,7 +233,7 @@ void drawVerticalRays()
     }
 }
 
-void drawHorizentalRays()
+void drawHorizentalWalls()
 {
     rayInfo_t *current = raysListHead.next;
     while (current != NULL)
@@ -874,12 +887,16 @@ void drawSkyAndGround()
     SDL_SetRenderDrawColor(renderer, 0, 255, 0, 255);
     SDL_RenderFillRect(renderer, NULL);
 
-    SDL_SetRenderDrawColor(renderer, 0, 0, 255, 255);
     sky.x = 0;
     sky.y = 0;
     sky.w = screenDimension.w;
     sky.h = screenDimension.h / 2 + player.viewAngle;
-    SDL_RenderFillRect(renderer, &sky);
+
+    destRect.x = ((int)( (player.angle+pi) * RD + player.x/BLOCK_SIZE));
+    destRect.y = 0;
+    destRect.w = 100;
+    destRect.h = 128/2;
+    SDL_RenderCopy(renderer, skyTexture, &destRect, &sky);
 
     SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255);
 }
@@ -994,16 +1011,18 @@ void drawGame()
     drawSkyAndGround();
     castRays(map);
     if (ball.x < MAP_WIDTH * BLOCK_SIZE/2){
-        drawHorizentalRays();
+        drawVerticalWalls();
         drawEnnemy();
-        drawVerticalRays();
+        drawHorizentalWalls();
+        drawVerticalNet();
         drawBall();
     }
     else {
-        drawHorizentalRays();
-        drawBall();
-        drawVerticalRays();
+        drawVerticalWalls();
         drawEnnemy();
+        drawHorizentalWalls();
+        drawBall();
+        drawVerticalNet();
     }
     drawMap2D(map);
     drawFPS();
@@ -1023,6 +1042,7 @@ void mainLoop()
     ballTexture = loadTexture("Res/ball_sprite.png");
     netEdgeLeftTexture = loadTexture("Res/netLeft.png");
     netEdgeRightTexture = loadTexture("Res/netRight.png");
+    skyTexture = loadTexture("Res/sky.png");
 
     ray1 = malloc(sizeof(int) * 2);
     ray2 = malloc(sizeof(int) * 2);
-- 
GitLab