19.01.2021, 17:31
(Dieser Beitrag wurde zuletzt bearbeitet: 20.01.2021, 10:35 von siebenstreich.)
Jetzt noch ein Bugfix, der die "unsichtbaren Sperren" behebt.
Die Situation ist so:
Die Situation ist so:
- Die Hinterteile von toten zweifeldrigen Monstern sind unsichtbar. Aber es gibt sie.
- Es gibt sie sogar öfter als man denkt, denn anscheinend können auch geflohene Gegner solche am Spielfeld hinterlassen.
- Die toten Hinterteile können zwar betreten, aber nicht überschritten werden. Für Gegner sind die toten Hinterteile komplett unbetretbar.
- In der Wegfinde-Routine FIG_find_path_to_target(...) (vormals seg038(...))in seg038.cpp werden Felder mit toten Monstern begehbar gemacht, allerdings nicht die Hinterteile von toten zweifeldrigen Monstern. Aus diesem Grund können diese Felder nicht überquert und von Gegnern auch nicht betreten werden.
- In der Routine, die für die Helden-Bewegung zuständig ist, sind Felder mit toten Gegnern erlaubt, wobei explizit auch tote Hinterteile mit einbezogen werden. Somit können diese als Zielfeld ausgewählt werden. Der Weg zum Zielfeld wird wieder von FIG_find_path_to_target berechnet. Vor dem Aufruf wird aber der Inhalt des Zielfelds mit einem Marker (Zahl 124) überschrieben. Somit kriegt FIG_find_path_to_target in diesem Fall nichts mehr von dem toten Hinterteil mit.
- Der Bugfix besteht nun darin, die toten Hinterteile auch in FIG_find_path_to_target begehbar zu machen. Ich habe es mit BrightEyes ausprobiert und mir scheint, dass das Problem behoben ist. Vorher wollte ja nach kürzester Zeit kein Hund mehr nachkommen, weil -- wie ich jetzt weiß -- die toten Hinterteile alles verstopft haben. Mit dem Bugfix kommen brav alle nach und nach angelaufen.