mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-12-18 06:50:27 +00:00
big carpet
This commit is contained in:
parent
542639bcc8
commit
9c5344289a
@ -992,9 +992,9 @@ void make_3d_models() {
|
||||
for(int i=0; i<14; i++)
|
||||
shift_shape(shTriheptaSpecial[i], geom3::FLOOR);
|
||||
|
||||
shift_shape(shBigCarpet1, geom3::FLOOR - geom3::human_height * 1/40);
|
||||
shift_shape(shBigCarpet2, geom3::FLOOR - geom3::human_height * 2/40);
|
||||
shift_shape(shBigCarpet3, geom3::FLOOR - geom3::human_height * 3/40);
|
||||
shift_shape_orthogonally(shBigCarpet1, geom3::FLOOR - geom3::human_height * 1/40);
|
||||
shift_shape_orthogonally(shBigCarpet2, geom3::FLOOR - geom3::human_height * 2/40);
|
||||
shift_shape_orthogonally(shBigCarpet3, geom3::FLOOR - geom3::human_height * 3/40);
|
||||
for(int a=0; a<5; a++) for(int b=0; b<4; b++)
|
||||
shift_shape(shReptile[a][b], geom3::FLOOR - geom3::human_height * min(b, 2) / 40);
|
||||
|
||||
@ -1091,6 +1091,31 @@ void make_3d_models() {
|
||||
}
|
||||
}
|
||||
shPalaceGate.flags |= POLY_TRIANGLES;
|
||||
|
||||
for(int i=0; i<3; i++) {
|
||||
|
||||
array<hpcshape*,3> sh = {&shBigCarpet1, &shBigCarpet2, &shBigCarpet3};
|
||||
|
||||
bshape(*sh[i], PPR::GFLOORa);
|
||||
for(int t=0; t<S7; t++) {
|
||||
dynamicval<int> dv(vid.texture_step, 16);
|
||||
texture_order([&] (ld x, ld y) {
|
||||
using namespace hyperpoint_vec;
|
||||
ld z = 1-x-y;
|
||||
ld rad = 2.1 - i * 0.2;
|
||||
hyperpoint hx = ddi(t*12, -zhexf*rad) * C0;
|
||||
hyperpoint hy = ddi(t*12+12, -zhexf*rad) * C0;
|
||||
hyperpoint hz = C0;
|
||||
hyperpoint h = hx * x + hy * y + hz * z;
|
||||
h = mid(h, h);
|
||||
h = orthogonal_move(h, geom3::FLOOR - geom3::human_height * (i+2.5) / 100 * (x+y+1)/2);
|
||||
hpcpush(h);
|
||||
});
|
||||
}
|
||||
|
||||
sh[i]->flags |= POLY_TRIANGLES;
|
||||
}
|
||||
|
||||
finishshape();
|
||||
}
|
||||
|
||||
|
@ -5931,9 +5931,9 @@ void drawcell(cell *c, transmatrix V, int spinv, bool mirrored) {
|
||||
break;
|
||||
|
||||
case waGiantRug:
|
||||
queuepoly(V, shBigCarpet1, darkena(0xC09F00, 0, 0xFF));
|
||||
queuepoly(V, shBigCarpet2, darkena(0x600000, 0, 0xFF));
|
||||
queuepoly(V, shBigCarpet3, darkena(0xC09F00, 0, 0xFF));
|
||||
queuepoly(V, shBigCarpet1, darkena(DIM == 3 ? 0 : 0xC09F00, 0, 0xFF));
|
||||
queuepoly(V, shBigCarpet2, darkena(DIM == 3 ? 0xC09F00 : 0x600000, 0, 0xFF));
|
||||
queuepoly(V, shBigCarpet3, darkena(DIM == 3 ? 0x600000 : 0xC09F00, 0, 0xFF));
|
||||
break;
|
||||
|
||||
case waBarrier:
|
||||
|
Loading…
Reference in New Issue
Block a user