r_asset: Added fallback tile border
authorLukas Krickl <lukas@krickl.dev>
Thu, 26 Feb 2026 06:12:03 +0000 (07:12 +0100)
committerLukas Krickl <lukas@krickl.dev>
Thu, 26 Feb 2026 06:12:03 +0000 (07:12 +0100)
src/r_assets.c

index 63ec5e25461d8ad55c5f27ca9a5cff575b32e502..31eaf8472776b2ac71675dddfde49633c4d71025 100644 (file)
@@ -7,33 +7,45 @@ r_color r_asset_fallback_tile[R_TILE_W * R_TILE_H];
 void r_asset_init_fallback_tile(void) {
        int i = 0;
        int j = 0;
+       int draw_end = 0;
        r_color *row = NULL;
+       const r_color bg_mask = 0xFFFFFFFF;
+       const r_color border_mask = 0x222222FF;
        u_memset(r_asset_fallback_tile, 0, R_TILE_W * R_TILE_H);
+
+       LRTS_UNUSED(border_mask);
        
-       /* top row */
        for (i = 0; i < 8; i++) {
+               draw_end = 4 * (i + 1);
+
+               /* top row */
                row = r_asset_fallback_tile+i*R_TILE_W + R_TILE_W-1;
 
                /* get start */
                row -= 14-2*i;
                
-               for (j = 0; j < 4 * (i + 1); j++) {
-                       *(row-j) = 0xFFFFFFFF; 
+               for (j = 0; j < draw_end; j++) {
+                       if (j == 0 || j+1 == draw_end) {
+                               *(row-j) = border_mask;
+                       } else {
+                               *(row-j) = bg_mask; 
+                       }
                }
-       }
 
-       /* bottom row */
-       for (i = 0; i < 8; i++) {
+               /* bottom row */
                row = r_asset_fallback_tile+R_TILE_W*(R_TILE_H-1-i)-1;
 
                /* get start */
                row -= 14-2*i;
-
-               for (j = 0; j < 4 * (i + 1); j++) {
-                       *(row-j) = 0xFFFFFFFF;
+               
+               for (j = 0; j < draw_end; j++) {
+                       if (j == 0 || j+1 == draw_end) {
+                               *(row-j) = border_mask;
+                       } else {
+                               *(row-j) = bg_mask; 
+                       }
                }
        }
-
 }
 
 void r_draw_solid_isometric_tile(i32 x, i32 y, r_color color) {