Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: AnnoZone Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

millimarg

Freibeuter

  • »millimarg« ist der Autor dieses Themas

Beiträge: 319

Registrierungsdatum: 10. Juli 2013

  • Nachricht senden

1

Dienstag, 12. März 2024, 23:59

Millimargs Modding-Tools

Millimargs Modding-Tools


Ich habe in den letzten Jahren sporadisch an meinen Anno-Sachen herumgebastelt und habe daran gearbeitet, meine überall verteilten Notizen und meine verschiedenen Tools in einer gemeinsamen Dokumentation und Programm-Bibliothek zu sammeln. Das ganze Projekt ist zwar noch sehr schlecht dokumentiert, aber es funktioniert.

Zustande gekommen ist eine Reihe von XML-Beschreibungen der binären Dateiformate aus denen sich dann eine Dokumentation generieren lässt, zusammen mit einer Python-Bibliothek und Tools zum Kodieren und Dekodieren der Dateien und Grafiken sowie zum Anwenden von Mods (Patches).

Jetzt ist es soweit ...


Amsel

Amsel (Anno Modding System and Exploration Library) ist eine Python-Bibliothek, mit der die Anno-Dateien gelesen, verändert und geschrieben werden können.


A₂E - Anno Explorer

A₂E ist eine grafische Oberfläche für Amsel. In Zukunft soll es damit möglich sein, Mods per GUI zu basteln - aber bisher geht das noch nicht. Siehe unten wie es bis jetzt geht.


A₂X - Graphics Decoder

Mit A₂X können alle Grafiken aus allen Gamedateien extrahiert werden. Klein und simpel.


Und wie baue ich jetzt Mods?!


Eigentlich ist es ganz einfach: Ein Mod ist eine XML-Beschreibung der Änderungen, die dann von Amsel gelesen und angewendet wird.
  • Amsel einrichten:

    Quellcode

    1
    2
    3
    
    git clone https://gitlab.com/millimarg/amsel
    pushd amsel
    ./amsel-py.sh -h


  • Eigenen Mod basteln ... und dann verwenden!

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Mein Mod ist in: mein-mod/main.xml

# Mod überprüfen:
./amsel-py.sh mv -x mein-mod

# Mod kompilieren
# Das ist nicht bei allen Mods notwendig. Beim Kompilieren werden alle externen
# Grafiken in Anno-Daten übersetzt, sodass das Anwenden schneller geht.
# Bei Mods ohne externe Grafiken ist das nicht so wichtig.
./amsel-py.sh mc mein-mod

# Mod anwenden
# Dieser Befehl sollte im Anno-Ordner ausgeführt werden, weil da ja die zu moddenden Dateien sind.
# Die Dateiendung ".a2x.gz" wird beim Kompilieren angehängt.
./amsel-py.sh mod mein-mod.a2x.gz
  • fertig!
Fragen und Antworten

  • Geht das überhaupt auf Windows? Keine Ahnung ?( . Aber das gemoddete Anno läuft nachher auf Windows und Linux wie geschmiert. Im AnnoPool habe ich eine alte Fassung vom Anno-Explorer hochgeladen, die auf Windows läuft. Die aktuelle Version braucht aber Python und ich brauche Hilfe von jemandem mit einem Windows-Compi, um es für Windows hochladen zu können.
  • Mit welchen Anno-Versionen funktioniert es? So weit ich weiss sollte es mit allen funktionieren.
  • Wie sieht denn jetzt so ein Mod aus? Siehe Bild im Anhang, und siehe hier für Beispiele. Das ist ein ganz simpler Mod, der macht, dass der Marktkarren ohne Strassen fahren kann. Die Änderung ist eigentlich nur eine Zeile: <change> usw.

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?xml version="1.0" encoding="utf-8"?>
<file type="mod">
	<meta id="free-carrier" author="millimarg" version="0.1.0" xver="0.1.0">
		<title>Allow the market carrier to travel off-road</title>
		<details>
			<p>This mod allows the carrier's wheel barrow to move anywhere. The
			carrier unit itself is not bound to roads anyway, but its wheel
			barrow is normally preventing it from going off-road.</p>
		</details>
		<sources url="https://gitlab.com/millimarg/amsel/-/tree/main/mods">
			<license files="*" copyright="2024 millimarg" spdxId="CC-BY-NC-SA-4.0" />
		</sources>
	</meta>

	<prepare id="figuren" action="autoselect-figuren" />

	<changeset target="@figuren">
		<change action="counter:set" select="ANNO/FIGUREN/ENTRY@220/LOGIC/#use-roads" value="0" />
	</changeset>
</file>

  • Ich will unbedingt mithelfen! Jaa :jaaaaa: Es gibt viel zu tun! Am wichtigsten ist die Dokumentation, denn die existiert bisher kaum.

Ich freue mich auf Rückmeldungen, eure Basteleien und über jegliche Hilfe bei der Dokumentation und beim Kompilieren für Windows!
Viel Spass! :blumen:
»millimarg« hat folgendes Bild angehängt:
  • Modding mit Amsel.jpg

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »millimarg« (28. März 2024, 21:04)


Samuel 99

Piratenschreck

Beiträge: 568

Registrierungsdatum: 20. Juni 2010

  • Nachricht senden

2

Mittwoch, 13. März 2024, 14:52

Sehr schön ;)
1503 war nie mein Lieblingsanno, aber es freut mich, wenn die Community durch diese Tools am Leben gehalten wird. Ich hoffe, es finden sich Personen, die das dann verwenden, damit die Arbeit nicht umsonst war.
  Herausforderung gesucht?
Meine Welt Szenarien! Downloadbar im Annopool!

millimarg

Freibeuter

  • »millimarg« ist der Autor dieses Themas

Beiträge: 319

Registrierungsdatum: 10. Juli 2013

  • Nachricht senden

3

Mittwoch, 13. März 2024, 18:36

Danke dir, ganz deiner Meinung ;).

Und naja, Sinn der Arbeit war ja, dass es Spass macht, also war es sowieso nicht umsonst :). Die Tools liegen jetzt zum Teil schon seit ~10 Jahren bei mir auf der Festplatte, also ist es Zeit, die endlich zu veröffentlichen!

Hin und wieder gibt es hier ja Leute, die sich noch für 1503 interessieren, also hat vielleicht noch jemand Spass an den Sachen ...

Mein Ziel ist eigentlich, (in ferner Zukunft) ein eigenes Spiel zu basteln, das dann die Daten von 1503 verwendet. Modding ist da sozusagen die Voraussetzung.