diff --git a/complex.cpp b/complex.cpp index b897ac43..243c8495 100644 --- a/complex.cpp +++ b/complex.cpp @@ -2481,7 +2481,8 @@ namespace sword { s += S42/t; s %= S84; if(s<0) s += S84; - s /= (S84/t); + s *= t; + s /= S84; return c->mov[s]; } diff --git a/graph.cpp b/graph.cpp index 1fddbd00..54db0e97 100644 --- a/graph.cpp +++ b/graph.cpp @@ -293,13 +293,13 @@ void drawPlayerEffects(const transmatrix& V, cell *c, bool onplayer) { int& ang = angle[multi::cpid]; ang %= S42; - transmatrix Vnow = gmatrix[c] * rgpushxto0(inverse(gmatrix[c]) * tC0(V)) * spin(-hexshiftat(c)); + transmatrix Vnow = gmatrix[c] * rgpushxto0(inverse(gmatrix[c]) * tC0(V)) * (irr::on ? ddspin(c,0,S42) : spin(-hexshiftat(c))); #if CAP_QUEUE if(!euclid) for(int a=0; atype != 6; else if(!euclid && S3 == 3 && !(S7&1) && gp_threecolor() == 1) return ishept(c); else diff --git a/polygons.cpp b/polygons.cpp index 7e8500c6..892c9228 100644 --- a/polygons.cpp +++ b/polygons.cpp @@ -1956,19 +1956,19 @@ void buildpolys() { if(sphere) krsc *= 1.4; if(S7 ==8) krsc *= 1.3; - if(nonbitrunc && !gp::on && !euclid4) { + if(nonbitrunc && !gp::on && !irr::on && !euclid4) { 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 if(gp::on || irr::on) { + tentacle_length = 0.566256 * 1.6 * gp::scale * irr::scale * krsc; + bshape(shSeaTentacle, PPR_TENTACLE1, 1.6 * gp::scale * irr::scale * krsc, 246); } else { - tentacle_length = 0.566256 * gp::scale; - bshape(shSeaTentacle, PPR_TENTACLE1, gp::scale, 246); + tentacle_length = 0.566256 * gp::scale * irr::scale; + bshape(shSeaTentacle, PPR_TENTACLE1, gp::scale * irr::scale, 246); } - ld ksc = (nonbitrunc ? 1.8 : 1.5) * gp::scale * krsc; + ld ksc = (nonbitrunc ? 1.8 : 1.5) * gp::scale * irr::scale * krsc; if(euclid4 && nonbitrunc) ksc *= .5; bshape(shKrakenHead, PPR_ONTENTACLE, ksc, 247); bshape(shKrakenEye, PPR_ONTENTACLE_EYES, ksc, 248); @@ -2200,10 +2200,10 @@ void buildpolys() { for(int v=0; v<13; v++) for(int z=0; z<2; z++) copyshape(shTortoise[v][4+z], shTortoise[v][2+z], shTortoise[v][2+z].prio + (PPR_CARRIED-PPR_ITEM)); - if(nonbitrunc) bshape(shMagicSword, PPR_MAGICSWORD, euclid4 ? gp::scale / 2 : gp::scale, 243); + if(nonbitrunc) bshape(shMagicSword, PPR_MAGICSWORD, euclid4 ? gp::scale * irr::scale / 2 : gp::scale * irr::scale, 243); else bshape(shMagicSword, PPR_MAGICSWORD, 1, 244); - if(nonbitrunc) bshape(shMagicShovel, PPR_MAGICSWORD, euclid4 ? gp::scale / 2 : gp::scale, 333); + if(nonbitrunc) bshape(shMagicShovel, PPR_MAGICSWORD, euclid4 ? gp::scale * irr::scale / 2 : gp::scale * irr::scale, 333); else bshape(shMagicShovel, PPR_MAGICSWORD, 1, 333); bshape(shBead0, 20, 1, 250);