Topic: Neues Volk - Europäer
MarkMcWire Topic Opener |
Posted at: 2020-02-01, 13:20
Nach meinem letzten Update habe ich einen neuen Fehler: widelands: /home/fedora/widelands/src/logic/map_objects/description_maintainer.h:82: Widelands::DescriptionIndex Widelands::DescriptionMaintainer<T>::add(T*) [with T = Widelands::BuildingDescr; Widelands::DescriptionIndex = unsigned char]: Assertion `index < (Widelands::INVALID_INDEX - 2)' failed. Aborted (Speicherabzug geschrieben) Liegt an dem neuen Trainingsgebäude "europeans_trainscamp_sword". Ich finde aber den Fehler nicht. My widelands addons: https://drive.google.com/file/d/1jopANlODo41T2reHJ0zaCOMYxq_rxXP-/view?usp=sharing Top Quote |
hessenfarmer |
Posted at: 2020-02-01, 14:13
Wann kommt denn der Fehler. Bei mir läuft es nämlich. konnte das neue Gebäude auch bauen Top Quote |
Nordfriese |
Posted at: 2020-02-01, 14:14
Sieht komisch aus. Da ich nicht davon ausgehe, dass du 2³² Gebäudetypen definierst, wäre eine Backtrace hilfreich. Kannst du widelands in
Top Quote |
MarkMcWire Topic Opener |
Posted at: 2020-02-01, 14:40
Wenn ich ein Trainingsgebäude auskommentiere, egal welches, dann geht es. Hab jetzt die Guardhall entfernt. Edited: 2020-02-01, 14:40
My widelands addons: https://drive.google.com/file/d/1jopANlODo41T2reHJ0zaCOMYxq_rxXP-/view?usp=sharing Top Quote |
hessenfarmer |
Posted at: 2020-02-01, 15:21
ok found it and it might be severe although easy to fix. Top Quote |
Nordfriese |
Posted at: 2020-02-01, 15:31
Und ich dachte immer, DescriptionIndex wäre uint32_t Das sollten wir wirklich dringend ändern. 255 ist nirgnedwo hardcoded, dafür verwenden wir die Konstante Widelands::INVALID_INDEX. Ich weiß allerdings nicht, ob in savegames DescriptionIndices als 8-bit oder 32-bit gespeichert werden (ich habe immer 32-bit verwendet), daher müsste man etliche Dateien durchgehen, um zu sehen, wo bei einer Anpassung auf uint32_t Kompatibilitätscode nötig ist... Top Quote |
hessenfarmer |
Posted at: 2020-02-01, 15:36
na ja uint_32 muss es aus meiner Sicht nicht sein uint_16 sollte auch reichen, da bisher ja 8 bit auch gereicht haben. kann nicht sagen, ob wir sonst zu viel Speicher verbrauchen, da ja jede Instanz glaub ich ihren Index mitnimmt. Top Quote |
Nordfriese |
Posted at: 2020-02-01, 15:48
Die meisten MapObjects haben nur einen Zeiger auf ihre zugehörige Descr, daher ändert sich hier nichts. Der einzige Ort, wo der Speicherplatzverbrauch nennenswert erhöht wird, ist die Liste der Economy Targets in jeder Economy. Edit: Falsch, es ist nicht mal das. Der zusätzliche Platzbedarf ist wirklich zu vernachlässigen. Noch ein edit: Und in Mehrpielerspielen werden DescrIndices für PlayerCommands ausgetauscht, aber auch das ist vernachlässigbar wenig Gute Überlegungen darüber gibt es hier: https://github.com/widelands/widelands/issues/2994 Edited: 2020-02-01, 15:55
Top Quote |
WorldSavior |
Posted at: 2020-02-01, 17:10
@MarkMcWire: Zum Thema Englisch kann ich den deepl-Übersetzer empfehlen.
Hat es nicht. Die Stärke der Wächterhalle ist ihre Kapazität (kostet allerdings einen Diamanten), die Stärke des Bergfriedes ist seine Sichtweite (und er hat mehr Eroberungsradius & Heilungspotenzial, und die Kosten beinhalten einen Stoff).
Eigentlich nicht Wanted to save the world, then I got widetracked Top Quote |
MarkMcWire Topic Opener |
Posted at: 2020-02-01, 17:20
Ich habe das Schwert-Training in ein eigenes Gebäude ausgegliedert. Trotzdem zeigt sich bei mir immer noch das gleiche Verhalten, dass die KI in den anderen Gebäuden Speere, Dreizacke und Äxte auf jeweils 1 pro Waffe reduziert in den Gebäuden und die Schwerter werden voll aufgefüllt. Scheint also was Anderes dahinter zu stecken. My widelands addons: https://drive.google.com/file/d/1jopANlODo41T2reHJ0zaCOMYxq_rxXP-/view?usp=sharing Top Quote |