1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-11-23 21:07:17 +00:00

improved the Kraken graphics in various geometries

This commit is contained in:
Zeno Rogue 2018-05-04 02:47:33 +02:00
parent 77403ac0bc
commit 79b6af41ff
2 changed files with 30 additions and 7 deletions

View File

@ -2083,13 +2083,19 @@ bool drawMonster(const transmatrix& Vparam, int ct, cell *c, int col) {
ld length;
chainAnimation(c, Vb, c->mov[c->mondir], c->mondir, 0, Vparam, length);
Vb = Vb * pispin;
Vb = Vb * xpush(tentacle_length - cellgfxdist(c, c->mondir));
}
else if(gp::on) {
transmatrix T = shmup::calc_relative_matrix(c->mov[c->mondir], c);
Vb = Vb * T * rspintox(tC0(inverse(T))) * xpush(tentacle_length);
}
else Vb = Vb * ddspin(c, c->mondir, S42);
if(gp::on) Vb = Vb * xpush(crossf * .6);
else {
if(weirdhyperbolic || sphere) Vb = Vb * xpush(-(hexhexdist - hcrossf7));
if(ctof(c) && !euclid) Vb = Vb * xpush(hexhexdist - hcrossf);
Vb = Vb * ddspin(c, c->mondir, S42);
Vb = Vb * xpush(tentacle_length - cellgfxdist(c, c->mondir));
}
// if(ctof(c) && !euclid) Vb = Vb * xpush(hexhexdist - hcrossf);
// return nonbitrunc ? tessf * gp::scale : (c->type == 6 && (i&1)) ? hexhexdist : crossf;
return drawMonsterTypeDH(m, c, Vb, col, darkhistory, footphase);
}

View File

@ -1165,6 +1165,8 @@ hpcshape
shFloorGP[32][32][6],
shFloorSideGP[SIDEPARS][32][32][6][8];
ld tentacle_length;
#define USERLAYERS 32
#define USERSHAPEGROUPS 4
#define USERSHAPEIDS 4096
@ -2216,9 +2218,24 @@ void buildpolys() {
else bshape(shDragonTail, PPR_TENTACLE1, scalef, 240);
bshape(shDragonNostril, PPR_ONTENTACLE_EYES, scalef, 241);
bshape(shDragonHead, PPR_ONTENTACLE, scalef, 242);
if(nonbitrunc) bshape(shSeaTentacle, PPR_TENTACLE1, gp::scale, 245);
else bshape(shSeaTentacle, PPR_TENTACLE1, 1, 246);
ld ksc = (nonbitrunc ? 1.8 : 1.5) * gp::scale;
ld krsc = 1;
if(sphere) krsc *= 2;
if(S7 ==8) krsc *= 1.3;
if(nonbitrunc && !gp::on) {
tentacle_length = 1.52;
bshape(shSeaTentacle, PPR_TENTACLE1, 1, 245);
}
else if(gp::on) {
tentacle_length = 0.566256 * 1.6 * gp::scale * krsc;
bshape(shSeaTentacle, PPR_TENTACLE1, 1.6 * gp::scale * krsc, 246);
}
else {
tentacle_length = 0.566256 * gp::scale;
bshape(shSeaTentacle, PPR_TENTACLE1, gp::scale, 246);
}
ld ksc = (nonbitrunc ? 1.8 : 1.5) * gp::scale * krsc;
bshape(shKrakenHead, PPR_ONTENTACLE, ksc, 247);
bshape(shKrakenEye, PPR_ONTENTACLE_EYES, ksc, 248);
bshape(shKrakenEye2, PPR_ONTENTACLE_EYES2, ksc, 249);