22 lines
1.5 KiB
C
22 lines
1.5 KiB
C
|
|
#pragma once
|
|||
|
|
// -----------------------------------------------------------------------------
|
|||
|
|
// Нарисовать карту тайлсетом через активную проекцию. Без света, без крови,
|
|||
|
|
// без сущностей — только пол и стены.
|
|||
|
|
//
|
|||
|
|
// Это ДЕФОЛТ движка: проект, у которого нет своего слоя света, показывает карту
|
|||
|
|
// этим и больше ничего не пишет. Игра Descent им не пользуется намеренно — её
|
|||
|
|
// проход по полу вплавляет свет в каждый блит (src/render/scene.cpp), и
|
|||
|
|
// вынести это сюда значило бы затащить в движок туман войны.
|
|||
|
|
//
|
|||
|
|
// Две реализации прохода по тайлам — не дублирование, а разные задачи:
|
|||
|
|
// «показать карту» и «нарисовать сцену со светом». Общее у них — порядок
|
|||
|
|
// сортировки, и он один на всех, потому что живёт в проекции.
|
|||
|
|
// -----------------------------------------------------------------------------
|
|||
|
|
#include "engine/framebuffer.h"
|
|||
|
|
#include "engine/tilemap.h"
|
|||
|
|
#include "engine/tileset.h"
|
|||
|
|
|
|||
|
|
// (ox, oy) — смещение сцены в пикселях кадра; берётся у камеры
|
|||
|
|
// (v2d::Camera::ScreenOffset).
|
|||
|
|
void DrawTilemap(Framebuffer& fb, const Tilemap& map, const TileSet& tiles, int ox, int oy);
|