Skip to content

Commit aa07dba

Browse files
Merge pull request #228 from Aaron-Goldman/226-shadow
226 fix shadow movement
2 parents c70d7e7 + 3d755d7 commit aa07dba

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/GameState/GAnchorSprite.cpp

+4-2
Original file line numberDiff line numberDiff line change
@@ -137,15 +137,17 @@ void GAnchorSprite::ResetShadow() {
137137
}
138138

139139
TBool GAnchorSprite::Render(BViewPort *aViewPort) {
140-
if ((flags & SFLAG_RENDER_SHADOW) && !Clipped()) {
140+
if ((flags & SFLAG_RENDER_SHADOW) && (flags & SFLAG_RENDER) && !Clipped()) {
141141
if (mShadow.x1 == 0 && mShadow.x2 == 0 && mShadow.y1 == 0 && mShadow.y2 == 0) {
142142
ResetShadow();
143143
}
144144
gDisplay.renderBitmap->SetColor(COLOR_SHADOW, 40, 40, 60);
145145

146+
TFloat screenX = x - aViewPort->mWorldX;
147+
TFloat screenY = y - aViewPort->mWorldY;
146148
for (TInt i = mShadow.y1; i < mShadow.y2; i++) {
147149
TFloat chord = sqrt(pow(mShadow.Height() / 2, 2) - pow(i - ((mShadow.y1 + mShadow.y2) / 2), 2)) * 2 * mShadow.Width() / mShadow.Height();
148-
gDisplay.renderBitmap->DrawFastHLine(aViewPort, mRect.x1 + mShadow.x1 + mShadow.Width() - chord/2, mRect.y2 + i, chord, COLOR_SHADOW);
150+
gDisplay.renderBitmap->DrawFastHLine(aViewPort, screenX + mShadow.x1 + mShadow.Width() - chord/2, screenY + i, chord, COLOR_SHADOW);
149151
}
150152
}
151153
TBool ret = BAnimSprite::Render(aViewPort);

0 commit comments

Comments
 (0)