feat: Add mutant death and god mode face animations, update HUD rendering and player damage handling
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
This commit is contained in:
@@ -228,6 +228,20 @@ abstract class RendererBackend<T>
|
||||
faceIndex =
|
||||
engine.data.registry.hud.resolve(HudKey.faceGotGatling)?.vgaIndex ??
|
||||
-1;
|
||||
} else if (engine.player.isMutantDeathFaceActive) {
|
||||
faceIndex =
|
||||
engine.data.registry.hud.resolve(HudKey.faceMutantDeath)?.vgaIndex ??
|
||||
-1;
|
||||
if (faceIndex < 0) {
|
||||
faceIndex =
|
||||
engine.data.registry.hud.resolve(HudKey.faceDead)?.vgaIndex ?? -1;
|
||||
}
|
||||
} else if (engine.player.isGodModeFaceEnabled) {
|
||||
final int baseGodFace =
|
||||
engine.data.registry.hud.resolve(HudKey.faceGodMode)?.vgaIndex ?? -1;
|
||||
if (baseGodFace >= 0) {
|
||||
faceIndex = baseGodFace + engine.player.hudFaceFrame;
|
||||
}
|
||||
} else {
|
||||
final HudKey faceKey = engine.data.registry.hud.faceKeyForHealth(
|
||||
engine.player.health,
|
||||
@@ -241,6 +255,19 @@ abstract class RendererBackend<T>
|
||||
}
|
||||
}
|
||||
|
||||
if (faceIndex < 0) {
|
||||
final HudKey fallbackKey = engine.data.registry.hud.faceKeyForHealth(
|
||||
engine.player.health,
|
||||
);
|
||||
final int fallbackBase =
|
||||
engine.data.registry.hud.resolve(fallbackKey)?.vgaIndex ?? -1;
|
||||
if (fallbackBase >= 0) {
|
||||
faceIndex = fallbackKey == HudKey.faceDead
|
||||
? fallbackBase
|
||||
: fallbackBase + engine.player.hudFaceFrame;
|
||||
}
|
||||
}
|
||||
|
||||
if (faceIndex >= 0 && faceIndex < vgaImages.length) {
|
||||
blitHudVgaImage(vgaImages[faceIndex], 136, 164);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user