Skip to content

Commit ba373db

Browse files
Cleanup
1 parent fe49ee0 commit ba373db

File tree

16 files changed

+53
-66
lines changed

16 files changed

+53
-66
lines changed

pacman-app-arcade-mspacman/src/main/java/de/amr/pacmanfx/arcade/ms_pacman/rendering/ArcadeMsPacMan_GhostAnimationManager.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@ public void selectFrame(String id, int frameIndex) {
5454
protected void updateActorSprites(Actor actor) {
5555
if (actor instanceof Ghost ghost) {
5656
switch (currentAnimationID) {
57-
case ANIM_GHOST_NORMAL -> currentAnimation().setSprites(ghostNormalSprites(ghost.wishDir()));
58-
case ANIM_GHOST_EYES -> currentAnimation().setSprites(ghostEyesSprites(ghost.wishDir()));
57+
case ANIM_GHOST_NORMAL -> current().setSprites(ghostNormalSprites(ghost.wishDir()));
58+
case ANIM_GHOST_EYES -> current().setSprites(ghostEyesSprites(ghost.wishDir()));
5959
}
6060
}
6161
}

pacman-app-arcade-mspacman/src/main/java/de/amr/pacmanfx/arcade/ms_pacman/rendering/ArcadeMsPacMan_PacAnimationManager.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ public ArcadeMsPacMan_SpriteSheet spriteSheet() {
4141
protected void updateActorSprites(Actor actor) {
4242
if (actor instanceof Pac pac) {
4343
switch (currentAnimationID) {
44-
case ANIM_PAC_MUNCHING -> currentAnimation().setSprites(msPacManMunchingSprites(pac.moveDir()));
45-
case PAC_MAN_MUNCHING -> currentAnimation().setSprites(mrPacManMunchingSprites(pac.moveDir()));
44+
case ANIM_PAC_MUNCHING -> current().setSprites(msPacManMunchingSprites(pac.moveDir()));
45+
case PAC_MAN_MUNCHING -> current().setSprites(mrPacManMunchingSprites(pac.moveDir()));
4646
}
4747
}
4848
}

pacman-app-arcade-pacman/src/main/java/de/amr/pacmanfx/arcade/pacman/rendering/ArcadePacMan_GhostAnimationManager.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,10 @@ public void selectFrame(String id, int frameIndex) {
5959
protected void updateActorSprites(Actor actor) {
6060
if (actor instanceof Ghost ghost) {
6161
if (isCurrentAnimationID(ANIM_GHOST_NORMAL)) {
62-
currentAnimation().setSprites(ghostNormalSprites(ghost.wishDir()));
62+
current().setSprites(ghostNormalSprites(ghost.wishDir()));
6363
}
6464
if (isCurrentAnimationID(ANIM_GHOST_EYES)) {
65-
currentAnimation().setSprites(ghostEyesSprites(ghost.wishDir()));
65+
current().setSprites(ghostEyesSprites(ghost.wishDir()));
6666
}
6767
}
6868
}

pacman-app-arcade-pacman/src/main/java/de/amr/pacmanfx/arcade/pacman/rendering/ArcadePacMan_PacAnimationManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public ArcadePacMan_SpriteSheet spriteSheet() {
3939
@Override
4040
protected void updateActorSprites(Actor actor) {
4141
if (actor instanceof Pac pac && isCurrentAnimationID(ANIM_PAC_MUNCHING)) {
42-
currentAnimation().setSprites(pacMunchingSprites(pac.moveDir()));
42+
current().setSprites(pacMunchingSprites(pac.moveDir()));
4343
}
4444
}
4545

pacman-app-tengen-mspacman/src/main/java/de/amr/pacmanfx/tengen/ms_pacman/rendering/TengenMsPacMan_GameRenderer.java

Lines changed: 25 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -224,61 +224,55 @@ public void drawMovingBonus(Bonus bonus) {
224224
}
225225

226226
private void drawAnyKindOfPac(Pac pac) {
227-
if (!pac.isVisible()) {
228-
return;
229-
}
230227
pac.animations().map(SpriteAnimationManager.class::cast).ifPresent(spriteAnimations -> {
231-
SpriteAnimation animation = spriteAnimations.currentAnimation();
232-
if (animation == null) {
233-
Logger.error("No animation found for {}", pac);
228+
SpriteAnimation spriteAnimation = spriteAnimations.current();
229+
if (spriteAnimation == null) {
230+
Logger.error("No sprite animation found for {}", pac);
234231
return;
235232
}
236-
if (spriteAnimations.selectedID().equals(ANIM_PAC_DYING)) {
237-
//TODO: reconsider this
238-
Direction dir = Direction.UP;
239-
if (animation.frameIndex() < 11) {
240-
dir = switch (animation.frameIndex() % 4) {
241-
case 1 -> Direction.LEFT;
242-
case 2 -> Direction.UP;
243-
case 3 -> Direction.RIGHT;
244-
default -> Direction.DOWN; // start with DOWN
245-
};
246-
}
247-
drawMovingActor(pac, dir, animation.currentSprite());
233+
if (ANIM_PAC_DYING.equals(spriteAnimations.selectedID())) {
234+
drawPacDyingAnimation(pac, spriteAnimation);
248235
} else {
249-
drawMovingActor(pac, pac.moveDir(), animation.currentSprite());
236+
drawActorSprite(pac, pac.moveDir(), spriteAnimation.currentSprite());
250237
}
251238
});
252239
}
253240

254-
private void drawMovingActor(MovingActor actor, Direction dir, RectShort spriteLookingLeft) {
241+
// Simulates dying animation by providing the right direction for each animation frame
242+
private void drawPacDyingAnimation(Pac pac, SpriteAnimation animation) {
243+
Direction dir = Direction.DOWN;
244+
if (animation.frameIndex() < 11) {
245+
dir = switch (animation.frameIndex() % 4) {
246+
case 1 -> Direction.LEFT;
247+
case 2 -> Direction.UP;
248+
case 3 -> Direction.RIGHT;
249+
default -> Direction.DOWN; // start with DOWN
250+
};
251+
}
252+
drawActorSprite(pac, dir, animation.currentSprite());
253+
}
254+
255+
// There are only left-pointing Ms. Pac-Man sprites in the sprite sheet, so we rotate and mirror in the renderer
256+
private void drawActorSprite(MovingActor actor, Direction dir, RectShort sprite) {
255257
Vector2f center = actor.center().scaled(scaling());
256258
ctx.save();
257259
ctx.translate(center.x(), center.y());
258260
switch (dir) {
259-
case UP -> ctx.rotate(90);
260261
case LEFT -> {}
262+
case UP -> ctx.rotate(90);
261263
case RIGHT -> ctx.scale(-1, 1);
262264
case DOWN -> { ctx.scale(-1, 1); ctx.rotate(-90); }
263265
}
264-
drawSpriteScaledCenteredAt(spriteLookingLeft, 0, 0);
266+
drawSpriteScaledCenteredAt(sprite, 0, 0);
265267
ctx.restore();
266268
}
267269

268-
//TODO change sprite sheet to include stork without bag in beak?
270+
// Sprite sheet has no stork without bag under its beak so we over-paint the bag
269271
private void hideStorkBag(Stork stork) {
270272
ctx.setFill(backgroundColor());
271273
ctx.fillRect(scaled(stork.x() - 13), scaled(stork.y() + 3), scaled(8), scaled(10));
272274
}
273275

274-
public void drawVerticalSceneBorders() {
275-
double width = ctx.getCanvas().getWidth(), height = ctx.getCanvas().getHeight();
276-
ctx.setLineWidth(0.5);
277-
ctx.setStroke(Color.grayRgb(50));
278-
ctx.strokeLine(0.5, 0, 0.5, height);
279-
ctx.strokeLine(width - 0.5, 0, width - 0.5, height);
280-
}
281-
282276
@Override
283277
public void drawLevel(
284278
GameContext gameContext,

pacman-app-tengen-mspacman/src/main/java/de/amr/pacmanfx/tengen/ms_pacman/rendering/TengenMsPacMan_GhostAnimationManager.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,10 @@ public void selectFrame(String id, int frameIndex) {
5757
protected void updateActorSprites(Actor actor) {
5858
if (actor instanceof Ghost ghost) {
5959
if (isCurrentAnimationID(ANIM_GHOST_NORMAL)) {
60-
currentAnimation().setSprites(ghostNormalSprites(ghost.wishDir()));
60+
current().setSprites(ghostNormalSprites(ghost.wishDir()));
6161
}
6262
if (isCurrentAnimationID(ANIM_GHOST_EYES)) {
63-
currentAnimation().setSprites(ghostEyesSprites(ghost.wishDir()));
63+
current().setSprites(ghostEyesSprites(ghost.wishDir()));
6464
}
6565
}
6666
}

pacman-app-tengen-mspacman/src/main/java/de/amr/pacmanfx/tengen/ms_pacman/rendering/TengenMsPacMan_PacAnimationManager.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -56,25 +56,25 @@ public TengenMsPacMan_SpriteSheet spriteSheet() {
5656
protected void updateActorSprites(Actor actor) {
5757
if (actor instanceof Pac) {
5858
if (isCurrentAnimationID(ANIM_PAC_MUNCHING)) {
59-
currentAnimation().setSprites(spriteSheet().spriteSeq(SpriteID.MS_PAC_MUNCHING));
59+
current().setSprites(spriteSheet().spriteSeq(SpriteID.MS_PAC_MUNCHING));
6060
}
6161
if (isCurrentAnimationID(ANIM_MS_PAC_MAN_BOOSTER)) {
62-
currentAnimation().setSprites(spriteSheet().spriteSeq(SpriteID.MS_PAC_MUNCHING_BOOSTER));
62+
current().setSprites(spriteSheet().spriteSeq(SpriteID.MS_PAC_MUNCHING_BOOSTER));
6363
}
6464
if (isCurrentAnimationID(ANIM_MS_PAC_MAN_TURNING_AWAY)) {
65-
currentAnimation().setSprites(spriteSheet.spriteSeq(SpriteID.MS_PAC_TURNING_AWAY));
65+
current().setSprites(spriteSheet.spriteSeq(SpriteID.MS_PAC_TURNING_AWAY));
6666
}
6767
if (isCurrentAnimationID(ANIM_MS_PAC_MAN_WAVING_HAND)) {
68-
currentAnimation().setSprites(spriteSheet.spriteSeq(SpriteID.MS_PAC_WAVING_HAND));
68+
current().setSprites(spriteSheet.spriteSeq(SpriteID.MS_PAC_WAVING_HAND));
6969
}
7070
if (isCurrentAnimationID(ANIM_PAC_MAN_MUNCHING)) {
71-
currentAnimation().setSprites(spriteSheet().spriteSeq(SpriteID.MR_PAC_MUNCHING));
71+
current().setSprites(spriteSheet().spriteSeq(SpriteID.MR_PAC_MUNCHING));
7272
}
7373
if (isCurrentAnimationID(ANIM_PAC_MAN_TURNING_AWAY)) {
74-
currentAnimation().setSprites(spriteSheet.spriteSeq(SpriteID.MR_PAC_TURNING_AWAY));
74+
current().setSprites(spriteSheet.spriteSeq(SpriteID.MR_PAC_TURNING_AWAY));
7575
}
7676
if (isCurrentAnimationID(ANIM_PAC_MAN_WAVING_HAND)) {
77-
currentAnimation().setSprites(spriteSheet.spriteSeq(SpriteID.MR_PAC_WAVING_HAND));
77+
current().setSprites(spriteSheet.spriteSeq(SpriteID.MR_PAC_WAVING_HAND));
7878
}
7979
}
8080
}

pacman-app-tengen-mspacman/src/main/java/de/amr/pacmanfx/tengen/ms_pacman/scenes/TengenMsPacMan_BootScene.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,6 @@ else if (tick == 220) {
111111

112112
@Override
113113
public void drawSceneContent() {
114-
renderer().drawVerticalSceneBorders();
115114
if (grayScreen) {
116115
GameRenderer.fillCanvas(canvas, nesPaletteColor(0x10));
117116
} else {

pacman-app-tengen-mspacman/src/main/java/de/amr/pacmanfx/tengen/ms_pacman/scenes/TengenMsPacMan_CutScene1.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,6 @@ public void draw() {
243243

244244
@Override
245245
public void drawSceneContent() {
246-
renderer().drawVerticalSceneBorders();
247246
renderer().drawActors(List.of(clapperboard, msPacMan, pacMan, inky, pinky, heart));
248247
}
249248
}

pacman-app-tengen-mspacman/src/main/java/de/amr/pacmanfx/tengen/ms_pacman/scenes/TengenMsPacMan_CutScene2.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,6 @@ public void draw() {
175175

176176
@Override
177177
public void drawSceneContent() {
178-
renderer().drawVerticalSceneBorders();
179178
renderer().drawActors(List.of(clapperboard, msPacMan, pacMan));
180179
}
181180
}

0 commit comments

Comments
 (0)