diff --git a/geometry.cpp b/geometry.cpp index d0779d9a..3e3b33dc 100644 --- a/geometry.cpp +++ b/geometry.cpp @@ -253,7 +253,7 @@ hpcshape shTriheptaSpecial[14], shCross, shGiantStar[2], shLake, shMirror, shHalfFloor[6], shHalfMirror[3], - shGem[2], shStar, shDisk, shHalfDisk, shDiskT, shDiskS, shDiskM, shDiskSq, + shGem[2], shStar, shDisk, shHalfDisk, shDiskT, shDiskS, shDiskM, shDiskSq, shEccentricDisk, shTinyBird, shTinyShark, shEgg, shRing, shSpikedRing, shTargetRing, shSawRing, shGearRing, shPeaceRing, diff --git a/graph.cpp b/graph.cpp index 66f4c5b1..52547f71 100644 --- a/graph.cpp +++ b/graph.cpp @@ -1096,12 +1096,12 @@ EX bool drawItemType(eItem it, cell *c, const shiftmatrix& V, color_t icol, int (it == itOrbSide2 || it == itOrb37) ? cgi.shDiskT : (it == itOrbGravity) ? cgi.shTinyArrow : (it == itOrbMorph) ? cgi.shDiskS : - //(it == itOrbDiscord) ? cgi.shDiskM : (it == itOrbMatter || it == itOrbStone) ? cgi.shDiskSq : (it == itOrbEnergy) ? cgi.shHalfDisk : + (it == itOrbChoice) ? cgi.shEccentricDisk : cgi.shDisk; queuepolyat(Vit, shape, dark, prio); - if (it == itOrbSide1) + if (it == itOrbSide1 || it == itOrbChoice) queuepolyat(Vit*Mirror, shape, dark, prio); if (it == itOrbEnergy) queuepolyat(Vit*Mirror, shape, col, prio); diff --git a/polygons.cpp b/polygons.cpp index 1d0a1cdb..5d0e4c84 100644 --- a/polygons.cpp +++ b/polygons.cpp @@ -259,7 +259,8 @@ void geometry_information::bshape(hpcshape& sh, PPR prio) { if(last) finishshape(); hpc.push_back(hpxy(0,0)); last = &sh; - last->s = isize(hpc), last->prio = prio; + last->s = isize(hpc); + last->prio = prio; last->flags = 0; last->tinf = NULL; first = true; @@ -606,13 +607,18 @@ void geometry_information::procedural_shapes() { hpcpush(ddi(i, orbsize * .1) * C0); } + bshape(shEccentricDisk, PPR::ITEM); + for(int i=0; i<=S84; i+=SD3) { + hpcpush(hpxy(sin(i*2*M_PI/S84)*orbsize*.075, + cos(i*2*M_PI/S84)*orbsize*.075 + .07)); + } + bshape(shDiskSq, PPR::ITEM); for(int i=0; i<=S84; i+=S21) { hpcpush(ddi(i, orbsize * .15) * C0); } bshape(shEgg, PPR::ITEM); - RING(i) hpcpush(hpxy(sin(i*2*M_PI/S84)*0.242 * orbsize, cos(i*2*M_PI/S84)*0.177*orbsize));