tile drawing: wip isometric rendering
authorLukas Krickl <lukas@krickl.dev>
Tue, 24 Feb 2026 16:37:08 +0000 (17:37 +0100)
committerLukas Krickl <lukas@krickl.dev>
Tue, 24 Feb 2026 16:37:08 +0000 (17:37 +0100)
src/lrts.c
src/r_assets.c
src/r_render.c

index 2245bf0c44c844c73391aa06fcdac52e2be6d84c..f10e1571f86bb8cf6fbf783c0bede3fd1e8704bc 100644 (file)
@@ -60,7 +60,12 @@ struct u_vec2 lrts_get_screen_res(void) {
        return screen_res;
 }
 
+void lrts_init(void) {
+}
+
 int lrts_main(int argc, char **argv) {
+       lrts_init();
+
        p_io_init();
   lrts_getopt(argc, argv, lrts_cfg());
        
index 7b36631cb58e59f657a4dd177f88d8f108b4f585..902f2fc31a58d3df7e41293e85f3b55d4c1f053b 100644 (file)
@@ -6,14 +6,21 @@
 void r_draw_solid_isometric_tile(i32 x, i32 y, r_color color, r_color outline_color) {
        u32 i = 0;
        u32 j = 0;
+       i32 ox = 0;
+       i32 oy = 0;
+
+       /* converted origin point in isometric space */
+       ox = (x * R_TILE_W / 2) + (y * R_TILE_W / 2);;
+       oy = (y * R_TILE_H / 2) - (x * R_TILE_H / 2);
 
        LRTS_UNUSED(outline_color);
        LRTS_UNUSED(x);
        LRTS_UNUSED(y);
-
+       
+       /* draw a tile texture from origin */
        for (i = 0; i < R_TILE_W; i++) {
                for (j = 1; j < R_TILE_H-1; j++) {
-                       r_draw_pixel(&r_framebuffer, x+i, y+j, color);
+                       r_draw_pixel(&r_framebuffer, ox, oy, color);
                }
        }
 }
index c0d5b755e9708c588f98b33d9cf3363d441b4b3d..b8a745503a15d659228d57887764e4d59c79ccc6 100644 (file)
@@ -28,7 +28,7 @@ void r_render_frame() {
        
        /* draw test tile */
        t.type = T_TILE_TYPE_GRASS;
-       r_draw_tile(&t, 128, 128);
+       r_draw_tile(&t, 0, 0);
 
        p_draw_end();
        p_draw_present();