mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-07-13 06:32:51 +00:00
2D3D:: fixed Vineyard
This commit is contained in:
parent
22da59782d
commit
04a7e560a2
@ -1152,6 +1152,9 @@ void make_3d_models() {
|
|||||||
|
|
||||||
shift_shape(shRatTail, zc(0.5) - geom3::LEG);
|
shift_shape(shRatTail, zc(0.5) - geom3::LEG);
|
||||||
for(int i=shRatTail.s; i<shRatTail.e; i++) hpc[i] = xpush(-scalefactor * 0.1) * hpc[i];
|
for(int i=shRatTail.s; i<shRatTail.e; i++) hpc[i] = xpush(-scalefactor * 0.1) * hpc[i];
|
||||||
|
|
||||||
|
shift_shape(shSemiFloorShadow, geom3::FLOOR - geom3::human_height / 100);
|
||||||
|
shift_shape(shSemiFloor[0], geom3::WALL);
|
||||||
}
|
}
|
||||||
|
|
||||||
#undef S
|
#undef S
|
||||||
|
13
graph.cpp
13
graph.cpp
@ -4943,7 +4943,7 @@ void drawcell(cell *c, transmatrix V, int spinv, bool mirrored) {
|
|||||||
qfi.spin = ddspin(c, i, M_PI/S3);
|
qfi.spin = ddspin(c, i, M_PI/S3);
|
||||||
transmatrix V2 = V * qfi.spin;
|
transmatrix V2 = V * qfi.spin;
|
||||||
|
|
||||||
if(wmspatial && wmescher) {
|
if(wmspatial && wmescher && GDIM == 2) {
|
||||||
set_floor(shSemiFeatherFloor[0]);
|
set_floor(shSemiFeatherFloor[0]);
|
||||||
int dk = 1;
|
int dk = 1;
|
||||||
int vcol = winf[waVinePlant].color;
|
int vcol = winf[waVinePlant].color;
|
||||||
@ -4953,8 +4953,8 @@ void drawcell(cell *c, transmatrix V, int spinv, bool mirrored) {
|
|||||||
set_floor(shFeatherFloor);
|
set_floor(shFeatherFloor);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if(wmspatial) {
|
else if(wmspatial || GDIM == 3) {
|
||||||
floorshape& shar = *(wmplain ? (floorshape*)&shFloor : (floorshape*)&shFeatherFloor);
|
floorshape& shar = *((wmplain || GDIM == 3) ? (floorshape*)&shFloor : (floorshape*)&shFeatherFloor);
|
||||||
|
|
||||||
set_floor(shar);
|
set_floor(shar);
|
||||||
|
|
||||||
@ -4963,9 +4963,10 @@ void drawcell(cell *c, transmatrix V, int spinv, bool mirrored) {
|
|||||||
|
|
||||||
transmatrix Vdepth = mscale(V2, geom3::WALL);
|
transmatrix Vdepth = mscale(V2, geom3::WALL);
|
||||||
|
|
||||||
queuepolyat(Vdepth, shSemiFloor[0], darkena(vcol, fd, 0xFF), PPR::WALL3A);
|
queuepolyat(DIM == 2 ? Vdepth : V2, shSemiFloor[0], darkena(vcol, fd, 0xFF), PPR::WALL3A);
|
||||||
{dynamicval<color_t> p(poly_outline, OUTLINE_TRANS); queuepolyat(V2 * spin(M_PI*2/3), shSemiFloorShadow, SHADOW_WALL, PPR::WALLSHADOW); }
|
{dynamicval<color_t> p(poly_outline, OUTLINE_TRANS); queuepolyat(V2 * spin(M_PI*2/3), shSemiFloorShadow, SHADOW_WALL, DIM == 2 ? PPR::WALLSHADOW : PPR::TRANSPARENT_SHADOW); }
|
||||||
queuepolyat(V2, shSemiFloorSide[SIDE_WALL], darkena(vcol, fd, 0xFF), PPR::WALL3A-2+away(V2));
|
auto& side = queuepolyat(V2, shSemiFloorSide[SIDE_WALL], darkena(vcol, fd, 0xFF), PPR::WALL3A-2+away(V2));
|
||||||
|
if(DIM == 3 && qfi.fshape) side.tinf = &shar.tinf3;
|
||||||
|
|
||||||
if(validsidepar[SIDE_WALL]) forCellIdEx(c2, j, c) {
|
if(validsidepar[SIDE_WALL]) forCellIdEx(c2, j, c) {
|
||||||
int dis = i-j;
|
int dis = i-j;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user