From efabbb03cc55bc039c5209c2e0e2d232d23e1e1f Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Thu, 6 Mar 2025 13:25:19 +0100 Subject: [PATCH] render flags on polyglot tiles --- rogueviz/seuphorica.cpp | 42 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/rogueviz/seuphorica.cpp b/rogueviz/seuphorica.cpp index 748e3475..089a00e0 100644 --- a/rogueviz/seuphorica.cpp +++ b/rogueviz/seuphorica.cpp @@ -319,6 +319,47 @@ void render_tile(shiftmatrix V, tile& t, cell *c, vector* origbox, int box const ld nearco = 4; + auto semitile = [&] (ld a, ld b, color_t col) { + a *= corners / 4.; b *= corners / 4.; + curvepoint(pt(a, 3)); + a = floor(a) + 1; + while(a < b) curvepoint(pt(a++, 3)); + curvepoint(pt(b, 3)); + queuecurve(V1, 0, darkena(col, 0, 0xFF), PPR::WALL3A); + }; + + if(has_power(t, sp::polski)) { + semitile(1.5, 3.5, 0xDD143C); + semitile(3.5, 5.5, 0xFFFFFF); + } + + if(has_power(t, sp::deutsch)) { + semitile(4-1/3., 4+4/3., 0x000000); + semitile(5/3., 10/3., 0xFFCC00); + } + + if(has_power(t, sp::francais)) { + semitile(2/3., 7/3., 0xE1000F); + semitile(8/3., 13/3., 0x000091); + } + + if(has_power(t, sp::espanol)) { + semitile(4-1/4., 4+5/4., 0xAA151B); + semitile(7/4., 13/4., 0xAA151B); + } + + if(has_power(t, sp::english)) { + vid.linewidth *= 3; + for(int i=0; i