stuff renders now, but we still got no alpha channel on the foreground console.... 🤦

This commit is contained in:
staubsauger 2024-08-19 12:54:12 +02:00
parent c17cef8bfe
commit 64e4e4f437
4 changed files with 21 additions and 8 deletions

View file

@ -50,10 +50,16 @@ def main_draw() -> None:
"""Render and present the active screen."""
if not g.screens:
return
g.console.clear()
g.screens[-1].on_draw(g.console)
g.background.clear()
g.foreground.clear()
g.screens[-1].on_draw(g.background)
# g.context.present(g.console)
g.sdl_renderer.copy(g.console_render.render(g.console))
g.sdl_renderer.copy(g.console_render.render(g.background))
# g.sdl_renderer.copy(g.console_render.render(g.foreground))
g.foreground.blit(g.background, fg_alpha=1.0, bg_alpha=0.0)
g.sdl_renderer.copy(g.console_render.render(g.background))
g.sdl_renderer.present()

View file

@ -62,7 +62,7 @@ def _draw_entity(entity: tcod.ecs.Entity, camera_pos, camera_radius_x, camera_ra
map_pos = world_pos_to_map_pos(pos)
if g.world[None].components[Map].fov[map_pos.y, map_pos.x]:
graphic = entity.components[Graphic]
g.console.rgb[["ch", "fg"]][screen_pos.y + camera_radius_y, screen_pos.x + camera_radius_x] = graphic.ch, graphic.fg
g.foreground.rgb[["ch", "fg"]][screen_pos.y + camera_radius_y, screen_pos.x + camera_radius_x] = graphic.ch, graphic.fg
@attrs.define()