tweak(playfield): el grid principal es dibuixa sobre el subgrid a les interseccions
This commit is contained in:
@@ -196,13 +196,39 @@ namespace Graphics {
|
|||||||
lines_.clear();
|
lines_.clear();
|
||||||
lines_.reserve(verticals.size() + horizontals.size());
|
lines_.reserve(verticals.size() + horizontals.size());
|
||||||
|
|
||||||
|
// El spawn_time_s s'assigna per índex espacial perquè la diagonal de
|
||||||
|
// l'ona de creixement avanci uniformement. L'ordre dins lines_, en
|
||||||
|
// canvi, ha de garantir que el grid principal (més brillant) es
|
||||||
|
// dibuixi DESPRÉS del subgrid: així a les interseccions guanya el
|
||||||
|
// principal i no queden tallades pel subgrid.
|
||||||
for (int i = 0; i < NUM_V; i++) {
|
for (int i = 0; i < NUM_V; i++) {
|
||||||
verticals[i].spawn_time_s = static_cast<float>(i) * INTERVAL_V;
|
verticals[i].spawn_time_s = static_cast<float>(i) * INTERVAL_V;
|
||||||
lines_.push_back(verticals[i]);
|
|
||||||
}
|
}
|
||||||
for (int i = 0; i < NUM_H; i++) {
|
for (int i = 0; i < NUM_H; i++) {
|
||||||
horizontals[i].spawn_time_s = static_cast<float>(i) * INTERVAL_H;
|
horizontals[i].spawn_time_s = static_cast<float>(i) * INTERVAL_H;
|
||||||
lines_.push_back(horizontals[i]);
|
}
|
||||||
|
|
||||||
|
// Passada 1: subgrid (verticals + horitzontals).
|
||||||
|
for (const auto& v : verticals) {
|
||||||
|
if (v.brightness < Defaults::Playfield::GRID_BRIGHTNESS) {
|
||||||
|
lines_.push_back(v);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (const auto& h : horizontals) {
|
||||||
|
if (h.brightness < Defaults::Playfield::GRID_BRIGHTNESS) {
|
||||||
|
lines_.push_back(h);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Passada 2: grid principal (verticals + horitzontals).
|
||||||
|
for (const auto& v : verticals) {
|
||||||
|
if (v.brightness >= Defaults::Playfield::GRID_BRIGHTNESS) {
|
||||||
|
lines_.push_back(v);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (const auto& h : horizontals) {
|
||||||
|
if (h.brightness >= Defaults::Playfield::GRID_BRIGHTNESS) {
|
||||||
|
lines_.push_back(h);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user