SDL: Revert "[Nokia N-Gage] Fix alpha transparency in 4K color mode using BitBltMasked"

From 685f1720fe11021cf76709a8f1c6e44208c1df61 Mon Sep 17 00:00:00 2001
From: Michael Fitzmayer <[EMAIL REDACTED]>
Date: Sat, 7 Jun 2025 22:45:54 +0200
Subject: [PATCH] Revert "[Nokia N-Gage] Fix alpha transparency in 4K color
 mode using BitBltMasked"

This reverts commit 2ef79441701c87c801fe0e1456321a791f4b2faf due to unbearable performance issues.
---
 src/render/ngage/SDL_render_ngage.cpp | 62 +--------------------------
 src/render/ngage/SDL_render_ngage_c.h |  1 -
 2 files changed, 2 insertions(+), 61 deletions(-)

diff --git a/src/render/ngage/SDL_render_ngage.cpp b/src/render/ngage/SDL_render_ngage.cpp
index 98d8d9c09c98c..cfc9bf8fb39ae 100644
--- a/src/render/ngage/SDL_render_ngage.cpp
+++ b/src/render/ngage/SDL_render_ngage.cpp
@@ -69,8 +69,6 @@ void NGAGE_DestroyTextureData(NGAGE_TextureData *data)
     if (data) {
         delete data->bitmap;
         data->bitmap = NULL;
-        delete data->mask;
-        data->mask = NULL;
     }
 }
 
@@ -352,29 +350,7 @@ bool CRenderer::Copy(SDL_Renderer *renderer, SDL_Texture *texture, const SDL_Rec
     if (phdata->bitmap) {
         TRect aSource(TPoint(srcrect->x, srcrect->y), TSize(srcrect->w, srcrect->h));
         TPoint aDest(dstrect->x, dstrect->y);
-
-        w = phdata->surface->w;
-        pitch = phdata->surface->pitch;
-        Uint16 *src = (Uint16 *)phdata->surface->pixels;
-        Uint16 *mask = (Uint16 *)phdata->mask->DataAddress();
-
-        for (int y = 0; y < srcrect->h; ++y) {
-            int src_y = srcrect->y + y;
-            if (src_y < 0 || src_y >= phdata->surface->h) {
-                continue;
-            }
-            for (int x = 0; x < srcrect->w; ++x) {
-                int src_x = srcrect->x + x;
-                if (src_x < 0 || src_x >= phdata->surface->w) {
-                    continue;
-                }
-                Uint16 pixel = src[src_y * (pitch / 2) + src_x];
-                Uint8 alpha = (pixel & 0xF000) >> 12;
-                mask[src_y * w + src_x] = (alpha == 0) ? 0x0000 : 0xFFFF;
-            }
-        }
-
-        iRenderer->Gc()->BitBltMasked(aDest, phdata->bitmap, aSource, phdata->mask, EFalse);
+        iRenderer->Gc()->BitBlt(aDest, phdata->bitmap, aSource);
     }
 
     return true;
@@ -440,29 +416,7 @@ bool CRenderer::CopyEx(SDL_Renderer *renderer, SDL_Texture *texture, const NGAGE
     if (phdata->bitmap) {
         TRect aSource(TPoint(copydata->srcrect.x, copydata->srcrect.y), TSize(copydata->srcrect.w, copydata->srcrect.h));
         TPoint aDest(copydata->dstrect.x, copydata->dstrect.y);
-
-        w = phdata->surface->w;
-        pitch = phdata->surface->pitch;
-        Uint16 *src = (Uint16 *)phdata->surface->pixels;
-        Uint16 *mask = (Uint16 *)phdata->mask->DataAddress();
-
-        for (int y = 0; y < copydata->srcrect.h; ++y) {
-            int src_y = copydata->srcrect.y + y;
-            if (src_y < 0 || src_y >= phdata->surface->h) {
-                continue;
-            }
-            for (int x = 0; x < copydata->srcrect.w; ++x) {
-                int src_x = copydata->srcrect.x + x;
-                if (src_x < 0 || src_x >= phdata->surface->w) {
-                    continue;
-                }
-                Uint16 pixel = src[src_y * (pitch / 2) + src_x];
-                Uint8 alpha = (pixel & 0xF000) >> 12;
-                mask[src_y * w + src_x] = (alpha == 0) ? 0x0000 : 0xFFFF;
-            }
-        }
-
-        iRenderer->Gc()->BitBltMasked(aDest, phdata->bitmap, aSource, phdata->mask, EFalse);
+        iRenderer->Gc()->BitBlt(aDest, phdata->bitmap, aSource);
     }
 
     return true;
@@ -486,18 +440,6 @@ bool CRenderer::CreateTextureData(NGAGE_TextureData *aTextureData, const TInt aW
         return false;
     }
 
-    aTextureData->mask = new CFbsBitmap();
-    if (!aTextureData->mask) {
-        return false;
-    }
-
-    error = aTextureData->mask->Create(TSize(aWidth, aHeight), EColor4K);
-    if (error != KErrNone) {
-        delete aTextureData->mask;
-        aTextureData->mask = NULL;
-        return false;
-    }
-
     return true;
 }
 
diff --git a/src/render/ngage/SDL_render_ngage_c.h b/src/render/ngage/SDL_render_ngage_c.h
index 69bfbdd894427..2adab73398d74 100644
--- a/src/render/ngage/SDL_render_ngage_c.h
+++ b/src/render/ngage/SDL_render_ngage_c.h
@@ -58,7 +58,6 @@ typedef struct CFbsBitmap CFbsBitmap;
 typedef struct NGAGE_TextureData
 {
     CFbsBitmap *bitmap;
-    CFbsBitmap *mask;
     SDL_Surface *surface;
 
 } NGAGE_TextureData;