From 1f842704ecf33e79d43ff9ae35f0dfbb34213d88 Mon Sep 17 00:00:00 2001 From: Jacob Mandelson Date: Fri, 26 Aug 2022 15:21:00 -0700 Subject: [PATCH] Add orb bodies for Orb of Slashing & Orb of the Frog. --- geometry.cpp | 4 ++-- graph.cpp | 16 ++++++++++++++++ polygons.cpp | 7 +++++++ 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/geometry.cpp b/geometry.cpp index a494d424..f44781ce 100644 --- a/geometry.cpp +++ b/geometry.cpp @@ -276,7 +276,7 @@ hpcshape shWolf1, shWolf2, shWolf3, shRatEye1, shRatEye2, shRatEye3, shDogStripes, - shPBody, shSmallPBody, shPSword, shPKnife, + shPBody, shSmallPBody, shPSword, shSmallPSword, shPKnife, shFerocityM, shFerocityF, shHumanFoot, shHumanLeg, shHumanGroin, shHumanNeck, shSkeletalFoot, shYetiFoot, shMagicSword, shMagicShovel, shSeaTentacle, shKrakenHead, shKrakenEye, shKrakenEye2, @@ -339,7 +339,7 @@ hpcshape shDodeca; - hpcshape shFrogRearFoot, shFrogFrontFoot, shFrogRearLeg, shFrogFrontLeg, shFrogRearLeg2, shFrogBody, shFrogEye, shFrogStripe, shFrogJumpFoot, shFrogJumpLeg; + hpcshape shFrogRearFoot, shFrogFrontFoot, shFrogRearLeg, shFrogFrontLeg, shFrogRearLeg2, shFrogBody, shFrogEye, shFrogStripe, shFrogJumpFoot, shFrogJumpLeg, shSmallFrogRearFoot, shSmallFrogFrontFoot, shSmallFrogRearLeg, shSmallFrogFrontLeg, shSmallFrogRearLeg2, shSmallFrogBody; hpcshape_animated shAnimatedEagle, shAnimatedTinyEagle, shAnimatedGadfly, shAnimatedHawk, shAnimatedButterfly, diff --git a/graph.cpp b/graph.cpp index a0024e20..66a585dd 100644 --- a/graph.cpp +++ b/graph.cpp @@ -1061,10 +1061,26 @@ EX bool drawItemType(eItem it, cell *c, const shiftmatrix& V, color_t icol, int if (i>=5 && i<=7) queuepolyat(Vit*Mirror, cgi.shTortoise[i][2], dark, prio); } + else if (it == itOrbFrog) { + queuepolyat(Vit, cgi.shSmallFrogBody, dark, prio); + queuepolyat(Vit, cgi.shSmallFrogRearFoot, dark, prio); + queuepolyat(Vit, cgi.shSmallFrogRearLeg, dark, prio); + queuepolyat(Vit, cgi.shSmallFrogRearLeg2, dark, prio); + queuepolyat(Vit, cgi.shSmallFrogFrontFoot, dark, prio); + queuepolyat(Vit, cgi.shSmallFrogFrontLeg, dark, prio); + queuepolyat(Vit*Mirror, cgi.shSmallFrogRearFoot, dark, prio); + queuepolyat(Vit*Mirror, cgi.shSmallFrogRearLeg, dark, prio); + queuepolyat(Vit*Mirror, cgi.shSmallFrogRearLeg2, dark, prio); + queuepolyat(Vit*Mirror, cgi.shSmallFrogFrontFoot, dark, prio); + queuepolyat(Vit*Mirror, cgi.shSmallFrogFrontLeg, dark, prio); + } else { auto shape = (it == itOrbFriend) ? cgi.shTinyBird : + (it == itOrbSide1) ? cgi.shSmallPSword : cgi.shDisk; queuepolyat(Vit, shape, dark, prio); + if (it == itOrbSide1) + queuepolyat(Vit*Mirror, shape, dark, prio); } } diff --git a/polygons.cpp b/polygons.cpp index efd6c243..c28bc8b3 100644 --- a/polygons.cpp +++ b/polygons.cpp @@ -1348,6 +1348,12 @@ void geometry_information::prepare_shapes() { bshape(shFrogFrontLeg, PPR::MONSTER_LEG, scalefactor, 396); bshape(shFrogRearLeg2, PPR::MONSTER_LEG, scalefactor, 397); bshape(shFrogBody, PPR::MONSTER_BODY, scalefactor, 398); + bshape(shSmallFrogRearFoot, PPR::MONSTER_FOOT, scalefactor/2, 393); + bshape(shSmallFrogFrontFoot, PPR::MONSTER_FOOT, scalefactor/2, 394); + bshape(shSmallFrogRearLeg, PPR::MONSTER_LEG, scalefactor/2, 395); + bshape(shSmallFrogFrontLeg, PPR::MONSTER_LEG, scalefactor/2, 396); + bshape(shSmallFrogRearLeg2, PPR::MONSTER_LEG, scalefactor/2, 397); + bshape(shSmallFrogBody, PPR::MONSTER_BODY, scalefactor/2, 398); bshape(shFrogEye, PPR::MONSTER_EYE0, scalefactor, 399); bshape(shFrogStripe, PPR::MONSTER_BODY, scalefactor, 400); bshape(shFrogJumpFoot, PPR::MONSTER_FOOT, scalefactor, 401); @@ -1357,6 +1363,7 @@ void geometry_information::prepare_shapes() { bshape(shSmallPBody, PPR::MONSTER_BODY, scalefactor/2, 85); bshape(shYeti, PPR::MONSTER_BODY, scalefactor, 86); bshape(shPSword, PPR::MONSTER_WPN, scalefactor, 90); + bshape(shSmallPSword, PPR::MONSTER_WPN, scalefactor/2, 90); bshape(shFerocityM, PPR::MONSTER_WPN, scalefactor, 361); bshape(shFerocityF, PPR::MONSTER_WPN, scalefactor, 362); bshape(shPKnife, PPR::MONSTER_WPN, scalefactor, 91);