added function to free tile cursor (snow) textures
authorHolger Schemel <holger.schemel@virtion.de>
Mon, 9 Dec 2024 18:40:35 +0000 (19:40 +0100)
committerHolger Schemel <holger.schemel@virtion.de>
Mon, 9 Dec 2024 12:41:19 +0000 (13:41 +0100)
src/game_mm/export_mm.h
src/game_mm/mm_tools.c
src/game_mm/mm_tools.h
src/init.c
src/tools.c
src/tools.h

index 51b5ccecfef79bdf716b2534a27225a749eb8397..d03ede656c6f85be3ab58f907f20c51e3c263600 100644 (file)
@@ -250,6 +250,7 @@ void GameActions_MM(struct MouseActionInfo);
 
 void DrawLaser_MM(void);
 void DrawTileCursor_MM(int, int, boolean);
+void FreeTileCursorTextures_MM(void);
 
 boolean ClickElement(int, int, int);
 
index b07a95fcc154880fc8cd2d55296b4fc022072d38..7bb46b0c49a754d4bc570339c0311cadd2f87290 100644 (file)
@@ -1057,6 +1057,16 @@ static void DrawTileCursor_Xsn(int draw_target)
   }
 }
 
+static void FreeTileCursorTextures_Xsn(void)
+{
+  int i;
+
+  SDLFreeBitmapTextures(xsn.bitmap);
+
+  for (i = 0; i < num_xsn_data; i++)
+    SDLFreeBitmapTextures(xsn_data[i].bitmap);
+}
+
 void DrawTileCursor_MM(int draw_target, int drawing_stage,
                       boolean tile_cursor_active)
 {
@@ -1124,6 +1134,11 @@ void DrawTileCursor_MM(int draw_target, int drawing_stage,
                     dst_x, dst_y);
 }
 
+void FreeTileCursorTextures_MM(void)
+{
+  FreeTileCursorTextures_Xsn();
+}
+
 Pixel ReadPixel(DrawBuffer *bitmap, int x, int y)
 {
   return GetPixel(bitmap, x, y);
index 28ba5c331eef1df5c9ec52750ffacfe205cffb54..5ac9f49ec7dd335e5129ffb6c9a23771dded5410 100644 (file)
@@ -89,6 +89,7 @@ void DrawWalls_MM(int, int, int);
 void DrawWallsAnimation_MM(int, int, int, int, int);
 void DrawMicroLevel_MM(int, int, boolean);
 void DrawTileCursor_MM(int, int, boolean);
+void FreeTileCursorTextures_MM(void);
 
 boolean Request(char *, unsigned int);
 unsigned int OpenDoor(unsigned int);
index 04d55b8bfd8369184155f353faed43fe104718e5..f68d10a9adba7e7aeb1416321c980f157c0b3ff5 100644 (file)
@@ -452,6 +452,7 @@ void InitImageTextures(void)
 void FreeAllTextures(void)
 {
   FreeAllImageTextures();
+  FreeTileCursorTextures();
 }
 
 static int getFontSpecialSuffix(void)
index 1fdc53e91dcd48fab3be416bbc5f5b7c8f75d7b5..89d065c83007ef0085a86de629383dd6846ecd9d 100644 (file)
@@ -656,6 +656,11 @@ void DrawTileCursor(int draw_target, int drawing_stage)
   DrawTileCursor_MM(draw_target, drawing_stage, tile_cursor_active);
 }
 
+void FreeTileCursorTextures(void)
+{
+  FreeTileCursorTextures_MM();
+}
+
 void BlitScreenToBitmapExt_RND(Bitmap *target_bitmap, int fx, int fy)
 {
   BlitBitmap(drawto_field, target_bitmap, fx, fy, SXSIZE, SYSIZE, SX, SY);
index fcb8aee85929a24724fcc752d2ba12bac6eee35c..a960946c977ae0f18cac6f929535aacc1ab99b4e 100644 (file)
@@ -83,6 +83,7 @@ void DrawMaskedBorder_ALL(void);
 void DrawMaskedBorder(int);
 void DrawMaskedBorderToTarget(int);
 void DrawTileCursor(int, int);
+void FreeTileCursorTextures(void);
 
 void SetDrawtoField(int);
 int GetDrawtoField(void);