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:
1 parent
ea725c2177
commit
53bf3a1ff2
3 files changed
+9
-72
No files matched your search
@@ -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
|
||||
|
||||
Reference in new issue
Block a user