Karten-Fortschritt wie im Original: erledigte Punkte blau, bereister Weg als orange Punktspur, Unerreichtes unsichtbar (Stefans Durchspiel-Screenshots)
This commit is contained in:
+15
-2
@@ -120,6 +120,7 @@ class WorldMap:
|
||||
self.dot_big_on = intro.make_border_bg_transparent(assets.pcc_surface('KARTE0'))
|
||||
self.dot_big_off = intro.make_border_bg_transparent(assets.pcc_surface('KARTE2'))
|
||||
self.dot_small = intro.make_border_bg_transparent(assets.pcc_surface('KARTE3'))
|
||||
self.dot_trail = intro.make_border_bg_transparent(assets.pcc_surface('KARTE1'))
|
||||
self.heads = {c: intro.make_border_bg_transparent(assets.pcc_surface(n))
|
||||
for c, n in HEAD_SPRITE.items()}
|
||||
self.current = 0 # Segment 0 = W1L1 (DOSBox-Messung: Startpunkt (53,56))
|
||||
@@ -128,6 +129,11 @@ class WorldMap:
|
||||
canvas.blit(self.karte, (0, 0))
|
||||
head = self.heads.get(char, self.heads['TONY'])
|
||||
head_phase = int(t / BLINK_SECONDS) % 2 == 0
|
||||
# Original-Anzeigeregeln (Stefans Screenshot nach Durchspielen von
|
||||
# Level 1): bereiste Wege = Spur kleiner ORANGER Punkte (KARTE1)
|
||||
# entlang der Wegpunkte, erledigte/besuchte Level = BLAUER Punkt
|
||||
# (KARTE2), aktueller Punkt = orange + blinkender Kopf, alles
|
||||
# noch nicht Erreichte bleibt UNSICHTBAR.
|
||||
for i, seg in enumerate(self.segments):
|
||||
if seg['label'] is None:
|
||||
continue
|
||||
@@ -138,8 +144,15 @@ class WorldMap:
|
||||
canvas.blit(self.dot_big_on, (bx + DOT_OFF[0], by + DOT_OFF[1]))
|
||||
if head_phase:
|
||||
canvas.blit(head, (bx + HEAD_OFF[0], by + HEAD_OFF[1]))
|
||||
else:
|
||||
canvas.blit(self.dot_small, (bx + SMALL_OFF[0], by + SMALL_OFF[1]))
|
||||
elif i < self.current:
|
||||
canvas.blit(self.dot_big_off, (bx + DOT_OFF[0], by + DOT_OFF[1]))
|
||||
# Punktspur auf den bereisten Pfaden (Segmente bis zum aktuellen).
|
||||
# Wegpunkte liegen auf der Stand-Linie; die Punktgrafik sitzt wie
|
||||
# die Levelpunkte um (-5,-16) versetzt (Label-Offset des Binaries).
|
||||
for i in range(1, self.current + 1):
|
||||
for wx, wy in self.segments[i]['waypoints'][1:-1]:
|
||||
canvas.blit(self.dot_trail,
|
||||
(wx - 5 + SMALL_OFF[0], wy - 16 + SMALL_OFF[1]))
|
||||
# waehrend des Laufens: Kopf entlang des Pfads
|
||||
if walk_pos is not None:
|
||||
px, py = walk_pos
|
||||
|
||||
Reference in New Issue
Block a user