
Zitat von
Netbandit
Sieh recht interessant aus.
Was hältst du davon, wenn dein Programm ein oder mehrere konfigurations XML-Dateien einlesen würde. Dort ist angegeben welche Werte in welcher XML Datei vom Original geändert werden soll, eine Erklärung zur Änderung und ein Standardwert.
Drückt man dann auf "patch" so nimmt er aus dem Colonization-Verzeichnis die original XML Datei ließt diese ein, fügt die Änderungen hinzu und speichert sie im MOD-Verzeichnis ab.
Genau das bau ich grad 
Tests haben ergeben das eine vorläufige "ini" die den Patch enthält so aussehen müsste:
Code:
##### Strassenmodifizierung
# Change
XMLFile = 'Misc\CIV4RouteInfos.xml'
RootNode = 'Civ4RouteInfos/RouteInfos/RouteInfo'
NodeToIdentify = 'Type'
Identify = 'ROUTE_ROAD'
NodeToChange = 'iMovement'
Suggestion = '20'
# Change
XMLFile = 'Misc\CIV4RouteInfos.xml'
RootNode = 'Civ4RouteInfos/RouteInfos/RouteInfo'
NodeToIdentify = 'Type'
Identify = 'ROUTE_ROAD'
NodeToChange = 'iFlatMovement'
Suggestion = '20'
Wäre jetzt die Strassenmodifizierung...
Und es funktioniert soweit schon ganz gut... also im Kern...
Also es läuft wie folgt:
Plugin.ini einlesen
Test ob die XML im angegebenen ModOrdner Vorhanden ist, ansonsten das Original XML File aus dem Programmordner holen (den installpfad hol ich aus der Registry)
und dann schon nacheinander ändern.
gespeichert wird dann die neue xml, sollte ein Backup Häkchen gesetzt sein, wird vorher noch eine Backup_blabla.xml angelegt...
Naja zur ini... ist eigentlich selbsterklärend oder ?
wobei Suggestion, der Wert wäre, den der Pluginschreiber "empfiehlt.
Vorher werden natürlich das Original und das ModXML ausgelesen um die Originalwerte zu erhalten, die man dann auswählt oder einen eigenen einstellt.
Ein # Change leitet immer die nächste Aenderung ein und muss immer mit Suggestion aufhören. Was dann wohl aber nicht das Problem ist 
Muss mir nur noch ne interessante GUI zusammenschustern und ein wenig krimskrams drumrum basteln. Und testen wie es ist, wenn die XML-Nodes noch tiefer gehen.... so unternodes von nodes usw ...
Aber das prinzip ist schon fertig und funktionsfähig... immerhin ein anfang.
Allerdings Weiss ich nicht ob es auch auf Vista laufen wird, da ich das nicht habe...