mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-01-12 10:20:32 +00:00
3d:: Ivy graphics
This commit is contained in:
parent
07a51bed10
commit
92113c82ee
16
graph.cpp
16
graph.cpp
@ -1964,7 +1964,10 @@ bool drawMonster(const transmatrix& Vparam, int ct, cell *c, color_t col) {
|
|||||||
if(isDragon(c->monst) && c->stuntime == 0) col = 0xFF6000;
|
if(isDragon(c->monst) && c->stuntime == 0) col = 0xFF6000;
|
||||||
|
|
||||||
transmatrix Vb0 = Vb;
|
transmatrix Vb0 = Vb;
|
||||||
if(c->mondir != NODIR) {
|
if(c->mondir != NODIR && DIM == 3) {
|
||||||
|
queueline(tC0(Vparam), Vparam * tC0(calc_relative_matrix(c->move(c->mondir), c, C0)), (col << 8) + 0xFF, 0);
|
||||||
|
}
|
||||||
|
else if(c->mondir != NODIR) {
|
||||||
|
|
||||||
if(mmmon) {
|
if(mmmon) {
|
||||||
ld length;
|
ld length;
|
||||||
@ -2043,8 +2046,15 @@ bool drawMonster(const transmatrix& Vparam, int ct, cell *c, color_t col) {
|
|||||||
|
|
||||||
if(mmmon) {
|
if(mmmon) {
|
||||||
if(isIvy(c) || isMutantIvy(c) || c->monst == moFriendlyIvy) {
|
if(isIvy(c) || isMutantIvy(c) || c->monst == moFriendlyIvy) {
|
||||||
queuepoly(mmscale(Vb, geom3::ABODY), shILeaf[ctof(c)], darkena(col, 0, 0xFF));
|
if(DIM == 3) {
|
||||||
ShadowV(Vb, shILeaf[ctof(c)], PPR::GIANTSHADOW);
|
hyperpoint V0 = tC0(Vb);
|
||||||
|
transmatrix Vs = rspintox(V0) * xpush(hdist0(V0)) * cspin(0, 2, -M_PI/2);
|
||||||
|
queuepoly(Vs, shILeaf[1], darkena(col, 0, 0xFF));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
queuepoly(mmscale(Vb, geom3::ABODY), shILeaf[ctof(c)], darkena(col, 0, 0xFF));
|
||||||
|
ShadowV(Vb, shILeaf[ctof(c)], PPR::GIANTSHADOW);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if(m == moWorm || m == moWormwait || m == moHexSnake) {
|
else if(m == moWorm || m == moWormwait || m == moHexSnake) {
|
||||||
Vb = Vb * pispin;
|
Vb = Vb * pispin;
|
||||||
|
Loading…
Reference in New Issue
Block a user