renderer implemented
This commit is contained in:
parent
19879317c1
commit
91b4711ee9
3 changed files with 34 additions and 4 deletions
18
g.py
18
g.py
|
|
@ -5,6 +5,9 @@ from __future__ import annotations
|
||||||
import tcod.console
|
import tcod.console
|
||||||
import tcod.context
|
import tcod.context
|
||||||
import tcod.ecs
|
import tcod.ecs
|
||||||
|
import tcod.tileset
|
||||||
|
import tcod.sdl.render
|
||||||
|
import tcod.render
|
||||||
|
|
||||||
from game.screens import Screen
|
from game.screens import Screen
|
||||||
from game.components import Position
|
from game.components import Position
|
||||||
|
|
@ -20,3 +23,18 @@ screens: list[Screen] = []
|
||||||
|
|
||||||
console: tcod.console.Console
|
console: tcod.console.Console
|
||||||
"""The current main console."""
|
"""The current main console."""
|
||||||
|
|
||||||
|
tileset: tcod.tileset.Tileset
|
||||||
|
"""The tileset to use"""
|
||||||
|
|
||||||
|
sdl_window: tcod.sdl.video.Window
|
||||||
|
"""The SDL window"""
|
||||||
|
|
||||||
|
sdl_renderer: tcod.sdl.render.Renderer
|
||||||
|
"""The SDL renderer"""
|
||||||
|
|
||||||
|
atlas: tcod.render.SDLTilesetAtlas
|
||||||
|
"""The tileset atlas"""
|
||||||
|
|
||||||
|
console_reder: tcod.render.SDLConsoleRender
|
||||||
|
"""The console renderer"""
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,9 @@ def main_draw() -> None:
|
||||||
return
|
return
|
||||||
g.console.clear()
|
g.console.clear()
|
||||||
g.screens[-1].on_draw(g.console)
|
g.screens[-1].on_draw(g.console)
|
||||||
g.context.present(g.console)
|
# g.context.present(g.console)
|
||||||
|
g.sdl_renderer.copy(g.console_reder.render(g.console))
|
||||||
|
g.sdl_renderer.present()
|
||||||
|
|
||||||
|
|
||||||
def _apply_screen_result(result: ScreenResult) -> None:
|
def _apply_screen_result(result: ScreenResult) -> None:
|
||||||
|
|
|
||||||
16
main.py
16
main.py
|
|
@ -14,13 +14,23 @@ from game.screens.menu_screens import MainMenu
|
||||||
|
|
||||||
def main() -> None:
|
def main() -> None:
|
||||||
"""Entry point function."""
|
"""Entry point function."""
|
||||||
tileset = game.tilesetmanager.valid_tileset()
|
g.tileset = game.tilesetmanager.valid_tileset()
|
||||||
|
|
||||||
#tcod.tileset.procedural_block_elements(tileset=tileset)
|
#tcod.tileset.procedural_block_elements(tileset=tileset)
|
||||||
g.screens = [MainMenu()]
|
g.screens = [MainMenu()]
|
||||||
|
|
||||||
g.console = tcod.console.Console(80, 35)
|
g.console = tcod.console.Console(80, 35)
|
||||||
with tcod.context.new(console=g.console, tileset=tileset) as g.context:
|
g.sdl_window = tcod.sdl.video.new_window(
|
||||||
|
g.console.width * g.tileset.tile_width,
|
||||||
|
g.console.height * g.tileset.tile_height,
|
||||||
|
flags=tcod.lib.SDL_WINDOW_RESIZABLE,
|
||||||
|
)
|
||||||
|
|
||||||
|
g.sdl_renderer = tcod.sdl.render.new_renderer(g.sdl_window, target_textures=True)
|
||||||
|
g.atlas = tcod.render.SDLTilesetAtlas(g.sdl_renderer, g.tileset)
|
||||||
|
|
||||||
|
g.console_reder = tcod.render.SDLConsoleRender(atlas=g.atlas)
|
||||||
|
|
||||||
|
with tcod.context.new(console=g.console, tileset=g.tileset) as g.context:
|
||||||
game.screens.main_loop()
|
game.screens.main_loop()
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue