fixed spacedist and worms on sphere

This commit is contained in:
Zeno Rogue 2022-12-09 02:30:12 +01:00
parent 1bb8056e0d
commit 8c601bb575
3 changed files with 5 additions and 4 deletions

View File

@ -51,7 +51,7 @@ public:
virtual transmatrix spin_to(cell *c, int d, ld bonus=0);
virtual transmatrix spin_from(cell *c, int d, ld bonus=0);
virtual double spacedist(cell *c, int i) { return hdist0(tC0(adj(c, i))); }
virtual double spacedist(cell *c, int i) { return hdist(tile_center(), adj(c, i) * tile_center()); }
virtual bool strict_tree_rules() { return false; }

View File

@ -2887,7 +2887,7 @@ EX bool drawMonster(const shiftmatrix& Vparam, int ct, cell *c, color_t col, col
poly_outline = outline;
shiftmatrix Vbx = Vb;
if(WDIM == 2) Vbx = Vbx * spin(sin(TAU * i / 12) * wav / (i+.1));
Vbx = Vbx * xpush(length * (i) / 12.0);
Vbx = Vbx * lxpush(length * (i) / 12.0);
// shiftmatrix Vbx2 = Vnext * xpush(length2 * i / 6.0);
// Vbx = Vbx * rspintox(inverse(Vbx) * Vbx2 * C0) * pispin;
ShadowV(Vbx, sh, PPR::GIANTSHADOW);

View File

@ -1291,11 +1291,12 @@ void geometry_information::prepare_shapes() {
bshape(shSmallWormHead, PPR::ONTENTACLE, scalefactor * wormscale / 2, 80);
bshape(shWormSegment, PPR::TENTACLE1);
auto TC0 = tile_center();
RING(i)
hpcpush(ddi(i, .20 * scalefactor * wormscale) * C0);
hpcpush(ddi(i, .20 * scalefactor * wormscale) * TC0);
bshape(shSmallWormSegment, PPR::TENTACLE1);
RING(i)
hpcpush(ddi(i, .16 * scalefactor * wormscale) * C0);
hpcpush(ddi(i, .16 * scalefactor * wormscale) * TC0);
bshape(shWormTail, PPR::TENTACLE1, scalefactor * wormscale, 383);
bshape(shSmallWormTail, PPR::TENTACLE1, scalefactor * wormscale, 384);