mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-12-20 15:40:26 +00:00
2D3D:: palace gates
This commit is contained in:
parent
b8919c884c
commit
67f3bd6a3c
@ -1075,6 +1075,23 @@ void make_3d_models() {
|
|||||||
|
|
||||||
shift_shape(shSemiFloorShadow, geom3::FLOOR - geom3::human_height / 100);
|
shift_shape(shSemiFloorShadow, geom3::FLOOR - geom3::human_height / 100);
|
||||||
shift_shape(shSemiFloor[0], geom3::WALL);
|
shift_shape(shSemiFloor[0], geom3::WALL);
|
||||||
|
|
||||||
|
bshape(shPalaceGate, PPR::WALL);
|
||||||
|
for(int i=0; i<4; i++) {
|
||||||
|
ld x = -0.219482 + (0.135153 + 0.219482) * (i+.5) / 4;
|
||||||
|
for(int j=0; j<12; j++) {
|
||||||
|
hyperpoint left = xpush(x) * xspinpush0(j * 30 * degree, 0.02);
|
||||||
|
hyperpoint right = xpush(x) * xspinpush0((j+1) * 30 * degree, 0.02);
|
||||||
|
hpcpush(orthogonal_move(left, geom3::FLOOR));
|
||||||
|
hpcpush(orthogonal_move(right, geom3::FLOOR));
|
||||||
|
hpcpush(orthogonal_move(left, geom3::WALL));
|
||||||
|
hpcpush(orthogonal_move(right, geom3::FLOOR));
|
||||||
|
hpcpush(orthogonal_move(left, geom3::WALL));
|
||||||
|
hpcpush(orthogonal_move(right, geom3::WALL));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
shPalaceGate.flags |= POLY_TRIANGLES;
|
||||||
|
finishshape();
|
||||||
}
|
}
|
||||||
|
|
||||||
#undef S
|
#undef S
|
||||||
|
@ -4085,11 +4085,18 @@ void draw_wall(cell *c, const transmatrix& V, color_t wcol, color_t& zcol, int c
|
|||||||
draw_shapevec(c, V, qfi.fshape->shadow, SHADOW_WALL, PPR::WALLSHADOW);
|
draw_shapevec(c, V, qfi.fshape->shadow, SHADOW_WALL, PPR::WALLSHADOW);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if(c->wall == waClosedGate) {
|
||||||
|
int hdir = 0;
|
||||||
|
for(int i=0; i<c->type; i++) if(c->move(i)->wall == waClosedGate)
|
||||||
|
hdir = i;
|
||||||
|
queuepolyat(V * ddspin(c, hdir, M_PI), shPalaceGate, darkena(wcol, 0, 0xFF), wmspatial?PPR::WALL3A:PPR::WALL);
|
||||||
|
return;
|
||||||
|
}
|
||||||
color_t wcol0 = wcol;
|
color_t wcol0 = wcol;
|
||||||
color_t wcol2 = gradient(0, wcol0, 0, .8, 1);
|
color_t wcol2 = gradient(0, wcol0, 0, .8, 1);
|
||||||
draw_shapevec(c, V, qfi.fshape->levels[SIDE_WALL], darkena(wcol, 0, 0xFF), PPR::WALL);
|
draw_shapevec(c, V, qfi.fshape->levels[SIDE_WALL], darkena(wcol, 0, 0xFF), PPR::WALL);
|
||||||
forCellIdEx(c2, i, c)
|
forCellIdEx(c2, i, c)
|
||||||
if(!highwall(c2) || conegraph(c2))
|
if(!highwall(c2) || conegraph(c2) || c2->wall == waClosedGate)
|
||||||
placeSidewall(c, i, SIDE_WALL, V, darkena(wcol2, fd, 255));
|
placeSidewall(c, i, SIDE_WALL, V, darkena(wcol2, fd, 255));
|
||||||
|
|
||||||
dynamicval<color_t> p(poly_outline, OUTLINE_TRANS);
|
dynamicval<color_t> p(poly_outline, OUTLINE_TRANS);
|
||||||
|
Loading…
Reference in New Issue
Block a user