from PIL import Image
from build_menu_assets import GLYPHS

# Palettes
COLORS = {
    0: (0, 0, 0),
    7: (128, 128, 128),
    10: (255, 60, 60),
    12: (60, 255, 60),
    13: (60, 255, 255),
    14: (255, 255, 60),
    15: (255, 255, 255)
}

img = Image.open('base_screen.png').convert('RGB')
pixels = img.load()

# draw borders
for y in range(240):
    pixels[27, y] = COLORS[7]
    pixels[88, y] = COLORS[7]

# box
for y in range(85, 161):
    for x in range(28, 88):
        pixels[x, y] = (0, 0, 0)

for x in range(27, 89):
    pixels[x, 85] = COLORS[7]
    pixels[x, 160] = COLORS[7]

def draw_str(text, col, line, color_idx):
    c = COLORS[color_idx]
    x_base = col * 2
    for i, ch in enumerate(text):
        glyph = GLYPHS.get(ch, [0]*7)
        for r in range(7):
            bits = glyph[r]
            for bit in range(3):
                if bits & (1 << (2 - bit)):
                    pixels[x_base + i*4 + bit, line + r] = c

draw_str("JATEK VEGE", 19, 95, 10)
draw_str("PONT: 01420", 18, 115, 14)
draw_str("TUZ: MENUBE", 18, 140, 12)

img.save("test_gameover.png")
print("Saved test_gameover.png")
