DEAD-01..04: retirat el render primitiu del Map

`renderBackground`, `renderSarcsRow`, `getSarcRowBottomY` i els índexs de
paleta `HUD_BG/WALL/FLOOR/SARC` no tenien callers: el Tilemap s'encarrega
del render visual i els sarcs passaran a ser actors sprite. `getSarcRect`
es queda (la usa `collides`). Includes orfes de `screen.hpp`,
`resource_cache.hpp` i `defines.hpp` eliminats. DEAD-04 (ctor Map)
ja es va resoldre durant HC-03.
This commit is contained in:
JailDesigner committed 2026-04-20 17:57:12 +02:00
1 parent ea725c2177
commit 53bf3a1ff2
3 files changed
+9 -72

No files matched your search

-42
View File
@@ -4,10 +4,7 @@
#include <iostream>
#include <stdexcept>
#include "core/rendering/screen.hpp"
#include "core/resources/resource_cache.hpp"
#include "external/fkyaml_node.hpp"
#include "utils/defines.hpp"
namespace {
@@ -65,10 +62,6 @@ void Map::loadFrom(const std::string& yaml_path) {
<< " des de " << yaml_path << '\n';
}
auto Map::getSarcRowBottomY(int row) -> int {
return origin_y + (row * pitch_y) + sarc_h;
}
auto Map::getSarcRect(int col, int row) -> SDL_FRect {
return {
.x = static_cast<float>(origin_x + (col * pitch_x)),
@@ -78,41 +71,6 @@ auto Map::getSarcRect(int col, int row) -> SDL_FRect {
};
}
void Map::renderBackground() {
auto& screen = Screen::get();
const auto& palette = Resource::Cache::get().getPalette("ui");
// Comencem pintant el sòl a tota la pantalla; després tapem marcador i
// murs. Els rectangles dels murs s'encavalquen a les cantonades: no
// importa perquè són del mateix color.
screen.fillRect(0, 0, GameCanvas::WIDTH, GameCanvas::HEIGHT, palette[FLOOR]);
// Marcador (dalt).
screen.fillRect(0, 0, GameCanvas::WIDTH, hud_h, palette[HUD_BG]);
// Mur posterior: banda horitzontal sota el marcador.
screen.fillRect(0, hud_h, GameCanvas::WIDTH, back_wall_h, palette[WALL]);
// Murs laterals (des del marcador fins al final).
screen.fillRect(0, hud_h, side_wall_w, GameCanvas::HEIGHT - hud_h, palette[WALL]);
screen.fillRect(GameCanvas::WIDTH - side_wall_w, hud_h, side_wall_w, GameCanvas::HEIGHT - hud_h, palette[WALL]);
// Mur frontal: de la vora inferior del passadís de baix fins al final del
// canvas. Assumeix els 40 px extra de 320×240 i fa de primer pla.
const int FRONT_WALL_Y = origin_y + board_h + outer_corridor;
screen.fillRect(0, FRONT_WALL_Y, GameCanvas::WIDTH, GameCanvas::HEIGHT - FRONT_WALL_Y, palette[WALL]);
}
void Map::renderSarcsRow(int row) {
auto& screen = Screen::get();
const auto& palette = Resource::Cache::get().getPalette("ui");
const int Y = origin_y + (row * pitch_y);
for (int col = 0; col < grid_cols; ++col) {
const int X = origin_x + (col * pitch_x);
screen.fillRect(X, Y, sarc_w, sarc_h, palette[SARC]);
}
}
auto Map::collides(const SDL_FRect& base_box) -> bool {
// Recorregut trivial dels sarcòfags. Amb una graella petita no val la
// pena indexar per col/row prèviament; si algun dia creix, es pot