mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-06-06 16:34:07 +00:00
fixed pushdown
This commit is contained in:
parent
ca54c5cdfd
commit
4175c61486
15
graph.cpp
15
graph.cpp
@ -3718,6 +3718,16 @@ int gridcolor(cell *c1, cell *c2) {
|
|||||||
#if CAP_SHAPES
|
#if CAP_SHAPES
|
||||||
void pushdown(cell *c, int& q, const transmatrix &V, double down, bool rezoom, bool repriority) {
|
void pushdown(cell *c, int& q, const transmatrix &V, double down, bool rezoom, bool repriority) {
|
||||||
|
|
||||||
|
if(GDIM == 3) {
|
||||||
|
for(int i=q; i<isize(ptds); i++) {
|
||||||
|
auto pp = dynamic_cast<dqi_poly*> (&*ptds[q++]);
|
||||||
|
if(!pp) continue;
|
||||||
|
auto& ptd = *pp;
|
||||||
|
ptd.V = ptd.V * zpush(-down);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// since we might be changing priorities, we have to make sure that we are sorting correctly
|
// since we might be changing priorities, we have to make sure that we are sorting correctly
|
||||||
if(down > 0 && repriority) {
|
if(down > 0 && repriority) {
|
||||||
int qq = q+1;
|
int qq = q+1;
|
||||||
@ -5387,8 +5397,11 @@ void drawcell(cell *c, transmatrix V, int spinv, bool mirrored) {
|
|||||||
int t = (ticks - fa.t_floor);
|
int t = (ticks - fa.t_floor);
|
||||||
if(t <= maxtime) {
|
if(t <= maxtime) {
|
||||||
erase = false;
|
erase = false;
|
||||||
if(fa.walltype == waNone)
|
if(DIM == 3)
|
||||||
|
draw_shapevec(c, V, qfi.fshape->levels[0], darkena(fcol, fd, 0xFF), PPR::WALL);
|
||||||
|
else if(fa.walltype == waNone) {
|
||||||
draw_qfi(c, V, darkena(fcol, fd, 0xFF), PPR::FLOOR);
|
draw_qfi(c, V, darkena(fcol, fd, 0xFF), PPR::FLOOR);
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
color_t wcol2, fcol2;
|
color_t wcol2, fcol2;
|
||||||
eWall w = c->wall; int p = c->wparam;
|
eWall w = c->wall; int p = c->wparam;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user