Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Schicksalsklinge: Umfassender Bugfix-Patch
(22.01.2021, 15:55)siebenstreich schrieb: Ja, das Entfernen der Hinterteile steht noch aus. Ich bin aber tatsächlich schon etwas schlauer.
Ist abzusehen, dass das noch Erfolg haben wird? Sonst mache ich den Patch nur mit den anderen Dingen fertig.

Ich wollte eigentlich nur schnell zum neuen Jahr die von mir behobenenen kleineren Probleme erledigen, und jetzt ist schon wieder Februar, und wir reden von tiefen Eingriffen ins Kampfsystem und bekommen mittelalterliche Darstellungen von Steinschleudern gezeigt. So war das eigentlich nicht geplant. :silly:
Zitieren
Es gibt jetzt einen Bugfix, der die Hinterteile in (hoffentlich!) allen Situationen entfernt.

Was ich noch nicht habe, sind die verschwundenen Leichen, wenn ein zweifeldriges Monster drüberläuft. Ich vermute, dass es in der Funktion 'draw_fight_screen' in seg002.cpp passiert. Der Name der Funktion ist irreführend, denn dort findet sowohl Kampf-Animation als auch Kampf-Logik parallel statt, wodurch es auch etwas unangenehm zu lesen ist.
Zitieren
Nachtrag: Warte damit am besten noch. Denn ich glaube, der Bugfix lässt sich noch vereinfachen. Habe jetzt aber keine Zeit das zu testen, ich mache das heute abend...
Zitieren
Aus der Vereinfachung wird nichts, da war ich etwas naiv.

Aber leider funktioniert noch nicht alles, wie es soll. Bei geflohenen Gegnern wird das Hinterteil jetzt entfernt, aber nicht bei Gegnern, die sich per Attacke-Patzer selber umbringen. Warum, verstehe ich im Moment noch nicht. Der Schaden wird in FIG_damage_enemy in seg041.cpp gesetzt. Und dort wird bei <= 0 LE auch das 'dead' Status-Bit gesetzt, welches mein Bugfix eigentlich abfragt.

Abgesehen davon steht in FIGHTER_CBX und FIGHTER_CBY auch nicht das drin, was ich erwarte, nämlich die Koordinaten des Hinterteils.
Zitieren
1. Entfernen der Phantom-Hinterteile:
Der drei Beiträge weiter oben beschriebene Bugfix war unvollständig, denn er lässt immer noch die Hinterteile von geflohenen Gegnern am Spielfeld.

Hoffentlich korrekter Bugfix:
Diese Änderung zum Entfernen der Hinterteile von geflohenen Gegnern und diese Änderung zum Entfernen der Hinterteile von Gegnern, die sich durch einen Attacke-Patzer selber umgebracht haben.

2. Tote Gegner sind mit Skelettarius nicht mehr anwählbar, nachdem ein zweifeldriger Gegner von hinten nach vorne drübergelaufen ist.

Hierfür habe ich gerade diesen Bugfix erstellt. Die Euphorie, den Fehler endlich gefunden zu haben, ist noch frisch!
Zitieren
(20.01.2021, 10:00)NRS schrieb: Da muss man ja komplett was Neues einfügen. Na, das wird ein Spaß auf Binärcode-Ebene.

Das bezog sich auf diesen Bugfix. Der sollte eigentlich überflüssig sein, wenn der zweiteilige Bugfix aus Punkt 1 im letzten Beitrag implementiert ist (wozu aber auch was neues eingefügt werden muss...). Denn die Hinterteile von toten Gegnern werden damit jetzt hoffentlich alle korrekt vom Spielfeld entfernt. so dass sie der Pfadfinde-Routine nicht mehr im Weg herumliegen.
Zitieren




Benutzer, die gerade dieses Thema anschauen: 3 Gast/Gäste