Level-/Karteneditor für Historyline 1914-18

  • Anscheinend können alle Schiffe auf das Feld mit den Panzersperren fahren, solange es direkt an der Küste oder mitten im Meer/See liegt.


    Das hat mit dem Editor nichts zu tun.


    Bei allen Karten, die ich erstellt und gegen den Computer gespielt habe, scheint er mittlere und schwere Artillerie sowie das Schienengeschütz nicht für Angriffe zu benutzen, obwohl sie jeweils in Reichweite waren.

    Vielleicht hat das mit den .COM Dateien zu tun. Dort könnten doch evtl. auch sowas wie Strategieanweisungen drin sein. Diese gibt es ja nicht für unsere neuen Karten nicht.

  • Anscheinend können alle Schiffe auf das Feld mit den Panzersperren fahren, solange es direkt an der Küste oder mitten im Meer/See liegt.


    Das hat mit dem Editor nichts zu tun.

    ja, diesen Bug bzw. Feature ☺️ gab es schon damals und auf bestimmten Karten konnte man das kreativ nutzen. Es ging aber meines Wissens nach nur für Flachwasserfähige Schiffe

  • Anscheinend können alle Schiffe auf das Feld mit den Panzersperren fahren, solange es direkt an der Küste oder mitten im Meer/See liegt.


    Das hat mit dem Editor nichts zu tun.

    ja, diesen Bug bzw. Feature ☺️ gab es schon damals und auf bestimmten Karten konnte man das kreativ nutzen. Es ging aber meines Wissens nach nur für Flachwasserfähige Schiffe

    Ja, eindeutig ein Fehler im Code des Spiels. Die Panzersperren-Grafik hat die ID "SMOUN130" und ist der Kategorie "hohe Berge" zugeordnet, damit solle sie nur von Einheiten betreten werden können, die auch auf Berge steigen können.Und das Schiffe, auch für die flachwasserfähigen, keine Bergsteiger sind, ist in der UNIT.DAT auch korrekt gesetzt. Von den Datendateien des Spiels her, dürfte das also nicht passieren können :)

    Bei allen Karten, die ich erstellt und gegen den Computer gespielt habe, scheint er mittlere und schwere Artillerie sowie das Schienengeschütz nicht für Angriffe zu benutzen, obwohl sie jeweils in Reichweite waren.

    Vielleicht hat das mit den .COM Dateien zu tun. Dort könnten doch evtl. auch sowas wie Strategieanweisungen drin sein. Diese gibt es ja nicht für unsere neuen Karten nicht.

    Du kannst ja mal eine .COM Datei einer von der Größe/Einheitenzahl her ähnlichen Karte so umbenennen, dass sie zu deiner Karte passt und dann testen, ob sich das Verhalten des Computergegners ändert.

    Und wie ist das eigentlich mit den regulären Zwei-Spieler-Karten des Spiels? Benutzt der Computergegner da Artillerie/Schienengeschütz? Dürfte dann ja eigentlich auch nicht so sein....

    Meine DOS-Rechner:

    Kleiner Industrie-486er mit 100 MHz (Intel 80486DX-4), 32 MB SD-RAM, Diamond SpeedSTAR 24 und SB 16 ( CT2770 ) + TNDY

    "Frankenstein" Pentium II mit 266 MHz, Elsa Winner 1000 TrioV + Voodoo I, SB 16 (CT2290) + Yamaha DB50XG


    Von mir geschriebene DOS-Programme gibt es hier.

  • Habe mehrere .COM ausprobiert in einer simplen Karte nur mir schwerer Ari auf beiden Seiten. Der Computer Gegner hat leider nie angegriffen, weder als Spieler 1 noch als 2.

  • Habe mehrere .COM ausprobiert in einer simplen Karte nur mir schwerer Ari auf beiden Seiten. Der Computer Gegner hat leider nie angegriffen, weder als Spieler 1 noch als 2.

    Das kann auch nicht funktionieren, denn ich habe bei meinem Vorschlag etwas wesentliches nicht bedacht gehabt. Sorry! In der CODES.DAT Datei gibt es ja einen Marker, ob eine Karte eine Ein- oder Zweispielerkarte ist. Der muss natürlich auch entsprechend gesetzt werden und dann gibt das Spiel auch eine Fehlermeldung aus, wenn es keine passende .COM zur Karte gibt.

    Ich habe das jetzt auch mal ausprobiert mit einer kleinen Karte mit nur jeweils einer schweren Ari auf beiden Seiten. Ist die Karte als Zwei-Spieler-Karte konfiguriert, greift der Computergegner nie an, ist sie dagegen als Singleplayer-Karte konfiguriert und ich kopiere die 00.COM (also die von PULSE) passend zur Karte, dann greift er in der zweiten Angriffsrunde mit seiner Ari an! Aber auch erst in seiner zweiten Angriffsrunde und nicht direkt...


    Also ja, die .COM Dateien sind die Strategieanweisungen für den Computergegner und ohne ist er noch dümmer, als ohnehinschon. Wie kriegen wir nun raus, wie die Dateien aufgebaut sind? :lupe:

    Entpackt sind alle .COM Dateien 306 Byte groß und sie unterscheiden sich oft nur in wenigen Bytes, wenn überhaupt.

    Ein Vergleich der Dateiinhalte ergibt, dass es nur vier unterschiedliche .COM Dateien für alle Karten gibt!


    00.COM bis 20.COM sind identisch.

    21.COM,23.COM bis 44.COM und 46.COM sind identisch.

    45.COM und 47.COM sind identisch.

    22.COM gibt es nur einmal.


    00 bis 23 sind ja die Karten der deutschen Einzelspieler-Kampagne und 24 bis 47 die der französischen

    Karte Nummer 22, die eine eigene .COM-Datei hat, ist die Karte CANDL

    Meine DOS-Rechner:

    Kleiner Industrie-486er mit 100 MHz (Intel 80486DX-4), 32 MB SD-RAM, Diamond SpeedSTAR 24 und SB 16 ( CT2770 ) + TNDY

    "Frankenstein" Pentium II mit 266 MHz, Elsa Winner 1000 TrioV + Voodoo I, SB 16 (CT2290) + Yamaha DB50XG


    Von mir geschriebene DOS-Programme gibt es hier.

  • Ich habe in den nächsten Tagen auch wieder ein größeres Editor-Update für euch!

    Am Wochenende habe ich viel am Editor gemacht, so ziemlich alle eure Anregungen sind inzwischen eingebaut (bis auf die Undo-Funktion) und Fehler behoben. Auch gibt es einige neue Features, die mir selber noch fehlten.


    Das habe ich gemacht:

    - Jahreszeit wird gelesen/gespeichert (bei Karten, die noch nicht im Spiel sind, per Temp.-Datei, sonst direkt in der CODES.DAT des Spiels).

    - Karten aus dem Spiel lassen sich nun auch anhand des Levelcodes laden

    - Der Levelcode der gerade editierten Karte erscheint nun in der Titelleiste des Fensters

    - Wenn ein Gebäude an Stelle eines anderen gebaut wird, bleiben nun enthaltene Einheiten und eingestellte Rohstoffeinnahmen erhalten.

    - Damit ist auch der Zuordnungsfehler bei den Gebäudedaten behoben.

    - Deutsche Einheiten werden im Auswahlfenster gedreht dargestellt.

    - Das Feld unter einer Einheit kann nun geändert werden, ohne das die Einheit entfernt/neu gesetzt werden muss.

    - Zuvor gesetzte Einheiten lassen sich nun per Doppelklick von einem Feld entfernen.

    - Auch das "ü" wird nun korrekt als "ue" geschrieben, um Kodierungsprobleme zu vermeiden

    - Es kann jetzt eingestellt werden, ob die Karte als Einzelspieler- oder Zweispielerkarte gespeichert werden soll (dann fehlt nur noch der .COM file).

    - Kleinere Fehlerbehebungen.



    Ich muss nur noch ein paar letzte Kleinigkeiten anpassen, dann gibt es hier die inzwischen sechste Beta-Version. :)

    Meine DOS-Rechner:

    Kleiner Industrie-486er mit 100 MHz (Intel 80486DX-4), 32 MB SD-RAM, Diamond SpeedSTAR 24 und SB 16 ( CT2770 ) + TNDY

    "Frankenstein" Pentium II mit 266 MHz, Elsa Winner 1000 TrioV + Voodoo I, SB 16 (CT2290) + Yamaha DB50XG


    Von mir geschriebene DOS-Programme gibt es hier.

  • Undo Funktion spare ich mir immer gerne bei Programmen... ist einfach total aufwendig meist.

    Genau so geht es mir auch und darum gibt es die hier bisher auch nicht :D

    Meine DOS-Rechner:

    Kleiner Industrie-486er mit 100 MHz (Intel 80486DX-4), 32 MB SD-RAM, Diamond SpeedSTAR 24 und SB 16 ( CT2770 ) + TNDY

    "Frankenstein" Pentium II mit 266 MHz, Elsa Winner 1000 TrioV + Voodoo I, SB 16 (CT2290) + Yamaha DB50XG


    Von mir geschriebene DOS-Programme gibt es hier.

  • Hier nun Betaversion 1.6 :D


    Ich habe gestern Abend noch schnell eine Funktion für die .COM Dateien ergänzt: Wenn ihr nun eine Karte in das Spiel integriert und kein Häkchen bei "Two-Player-Map" (unter Edit) gesetzt ist, werdet ihr gefragt, welchen Typ von .COM Datei ihr für die Karte verwenden wollt (s.o.). Es wird dann automatisch eine passende Datei kopiert und passend zu euerer Karte benannt.

    Ansonsten eine Version mit deutlichen Verbesserungen und Neuerungen, wie gestern schon geschrieben.


    Viel Spaß damit :)


    Aktueller Quellcode natürlich wieder bei Github...

  • Karte Nummer 22, die eine eigene .COM-Datei hat, ist die Karte CANDL

    Das macht aus meiner Sicht auch Sinn, weil es bestimmt Regeln/Einstellungen sind, die dazu führen, dass in dieser Karte der Gegner seine drückende Überlegenheit nicht sofort Richtung unserem HQ schickt.

    Sonst hätte man keine Chance.

  • Danke Dragonsphere, es funktioniert perfekt! Habe Type II ausgewählt und alle Kanonen jeglicher Größe feuern aus allen Rohren :) Hast Du super gemacht :thumbup:

    Es gibt dann sogar das übliche Verhalten des Gegners, das eigene HQ mit Charrons und Renaults schützen zu wollen.

  • du hast Fehler im code


    Code
    //Try to fix the error
    if (Field.Part = 0x0C)
    Bdata.Owner = 2;  //neutral
    if (Field.Part = 0x0D)
    Bdata.Owner = 0;  //german
    if (Field.Part = 0x0E)
    Bdata.Owner = 1;  //french


    deine ifs sind mit nur = nicht == d.h. es sind Zuweisungen die immer true ergeben - d.h. deine ifs machen nur quark :) sollte eigentlich als Warnung bei deinem Kompiler raus kommen



    und der HL-Editor baut auch mit dem aktuellen Qt6.2.2

  • und nur so als Tip: du schreibst Kommentare was du geändert hast teilweise in die Dateiköpfe - nutz die doch eher für sinnvolle git Kommentare :)

    Changes und Versionen in die Dateien schreiben ist total 1985

    jeder git commit sollte einfach als kurze Info enthalten was du gemacht hast - dafür sind die da

  • Danke Dragonsphere, es funktioniert perfekt! Habe Type II ausgewählt und alle Kanonen jeglicher Größe feuern aus allen Rohren :) Hast Du super gemacht :thumbup:

    Es gibt dann sogar das übliche Verhalten des Gegners, das eigene HQ mit Charrons und Renaults schützen zu wollen.

    Danke, schön das es gut funktioniert!


    Ich habe gestern Abend auch noch einen Versuch gemacht:

    Die Karte TROLL habe ich mal zur Einzelspielerkarte umkonfiguriert und vier mal mit den verschiedenen .COM Dateien dem Spiel hinzugefügt.

    Dnn in vier DOSBox-Instanzen das Spiel geöfnet und parallel die Karten laufen lassen. Ich habe den Computer Frankreich spielen lassen und mich einfach gar nicht bewegt oder angegriffen, so konnte ich genau sehen, ob er etwas grundsätzlich anders macht.

    Dabei zeigte sich, dass bei Type I und Type II das Vorgehen/die Bewegungen identisch sind, aber unterschiedliche Einheiten gebaut werden, wodurch sich der spätere Spielverlauf natürlich ändert. Bei Type III sind die ersten Züge auch dieselben wie bei den ersten beiden Typen, aber ab einem Punkt (Runde 5) weichen dann die Bewegungen zunehmend ab. Bei Type IV geht er von Anfang an ganz andere Wege und deutlich defensiver vor. Da Type IV die 22.COM ist, macht er also genau das, was du vermutet hast tbc21

    Mit Type IV zieht er z.B. auch den beschädifgten Charron zur Reparatur zurück, nachdem er damit den Bunker zerstört hat. Bei den anderen COM-Typen wird der Bunker mit Kavallerie angegriffen und diese stumpf verheizt.


    Spannend fand ich auch, was der Computer nacheinander so gebaut hat:

    Type I: Kavallerie, Eliteinfanterie, Voisin Bomber, leichte Ari, zwei Infanterieeinheiten.

    Type II: stat. FLAK, leichte Ari, Eliteinfanterie und normale Infanterie, leichte Ari, stat. FLAK.

    Type III: stat. FLAK, Kavallerie, schwere Ari, Kavallerie, Kavallerie und Infanterie

    Type IV: Infanterie, mittlere Ari, mittlere Ari, Eliteinfanterie, mittlere Ari.


    Da ich keine Flugzeuge hatte und ja auch nicht gebaut habe, ist die Baupolitik von Typ II eine ziemliche Ressourcenvergeudung. Auch bei III macht die FLAK keinen Sinn, aber die Mischung aus schneller Kavallerie und schwerer Ari bringt ja doch eine sinnvolle Dynamik. Auch I und IV mit einer Mischung aus Artillerie / Bomber und viel Infanterie fand ich da durchaus sinnvoll.

    Meine DOS-Rechner:

    Kleiner Industrie-486er mit 100 MHz (Intel 80486DX-4), 32 MB SD-RAM, Diamond SpeedSTAR 24 und SB 16 ( CT2770 ) + TNDY

    "Frankenstein" Pentium II mit 266 MHz, Elsa Winner 1000 TrioV + Voodoo I, SB 16 (CT2290) + Yamaha DB50XG


    Von mir geschriebene DOS-Programme gibt es hier.

  • Danke! Das wird nur unter bestimmten Bedingungen ausgeführt, wenn beim Speichern keine Gebäudedaten im Speicher gefunden werde und machte sich daher nicht bemerkbar. Der Qt Creator hat es tatsächlich auch nicht beanstandet, ich hatte keine Warnungen mehr beim Erstellen ?(

    Changes und Versionen in die Dateien schreiben ist total 1985

    Hey, das ist Retro! 8)

    Oder kommt davon, wenn man nur noch als Hobby programmiert und das Jahrzehnte lang mehr auf einem 486er und uralt IDE unter DOS als auf neuen Systemen. :D

    Meine DOS-Rechner:

    Kleiner Industrie-486er mit 100 MHz (Intel 80486DX-4), 32 MB SD-RAM, Diamond SpeedSTAR 24 und SB 16 ( CT2770 ) + TNDY

    "Frankenstein" Pentium II mit 266 MHz, Elsa Winner 1000 TrioV + Voodoo I, SB 16 (CT2290) + Yamaha DB50XG


    Von mir geschriebene DOS-Programme gibt es hier.

  • und der HL-Editor baut auch mit dem aktuellen Qt6.2.2

    Super. Mich würde aber auch mal die Gegenrichtung interessieren, ob es auch mit einer alten Qt Version 4.x für Win 9x geht.

    Hat hier zufällig jemand Windows 98 mit Qt drauf laufen oder mag Qt auf seinen Windows 98 PC installieren?

    Meine DOS-Rechner:

    Kleiner Industrie-486er mit 100 MHz (Intel 80486DX-4), 32 MB SD-RAM, Diamond SpeedSTAR 24 und SB 16 ( CT2770 ) + TNDY

    "Frankenstein" Pentium II mit 266 MHz, Elsa Winner 1000 TrioV + Voodoo I, SB 16 (CT2290) + Yamaha DB50XG


    Von mir geschriebene DOS-Programme gibt es hier.

  • if (Field.Part = 0x0C)


    Sowas beanstanden die Compiler nicht, ist mir vor allem anfangs bei c++ passiert.

    Basic arbeitet überall mit = , da muss man sich erstmal umgewöhnen.


    Änderungen schreibe ich aber auch oft am Funktions Anfang oder da wo Änderungen waren. Oft auch so das ich es über Suchbegriffe schnell finde während der Überarbeitung.

  • Also Cobol-Entwickler muss ich mir das auch immer wieder sagen, dass es in anderen Programmiersprachen eine Zuweisung ist und für Vergleiche nicht taugt... Bin da beim wieder Einstieg in Java auch paar mal drüber gestolpert (obwohl man da mitteile auch nicht mehr mit == arbeiten sollte).

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!