Home | Forum | Downloads | Videos | Artikel | Server-Stats | Impressum |
|
Registrieren | Cup und Liga | Hilfe | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
|
Teilen | Themen-Optionen | Thema durchsuchen |
23.03.2019, 23:03 | #1 | |
Mapping Crocodile
Registriert seit: 03.04.2011
Ort: Südniedersachsen
Beiträge: 183
Beigetretene Cups: 0 Cup Siege: 0 Downloads: 3
Uploads: 0
|
Best Practices für Mod-Entwicklung mit CVS
Gibt es irgendwelche Best Practices, um die Entwicklung mehrerer Mods in unterschiedlichen CVS-Repositories zu ermöglichen?
Zum einen gibt es ja die Standardordnerstruktur im Root-Verzeichnis der UT-Installation:
Jeder dieser Ordner kann potenziell einzelne Dateien enthalten, die zu einer Mod gehören. Das heißt ein Checkout einer Mod aus einem CVS müsste eigentlich ins Wurzelverzeichnis erfolgen. Dann hat man allerdings unzählige unversionierte Dateien, dazwischen die eben nichts mit der aktuellen Mod zu tun haben. Eine Ignore-Liste kann man dafür aber wahrscheinlich eher nicht pflegen. Des Weiteren hat man als Coder noch die ganzen Packages mit dem Quellcode, die man zum Kompilieren braucht. Zum einen den Code für die ganzen offiziellen Packages, zum anderen noch den Code der eigenen Scripte. (Hier sollte es immerhin keine Probleme beim Einteilen einer Ignore-Liste geben) Allerdings hat man prinzipiell auch das Problem, dass man beim Auschecken im Root-Ordner wahrscheinlich nicht mehr als eine Mod gleichzeitig ausgecheckt haben kann, oder irre ich mich da? Ich habe zwar gelesen, dass es prinzipiell auch einen Mod-Switch gibt, dieser scheint aber eher nur für Total Conversions gemacht zu sein und nicht für x-beliebige Mods mit Klassen, die in Maps des Basisspiels zum Einsatz kommen sollen. Die Variante, alle Assets dann in diesen Unterordner der Mod zu packen, fällt also vermutlich flach?
__________________
Zitat:
|
|
24.03.2019, 09:36 | #2 |
ResidentDJ der UTzone!
Registriert seit: 13.11.2009
Ort: Köln
Beiträge: 2.403
Beigetretene Cups: 7 Cup Siege: 2 Downloads: 366
Uploads: 122
|
Theoretisch sollte es möglich sein, jeden einzelnen Mod in einen eigenen Unterordner zu verfrachten und dort wiederum die bekannte Standard-Ordnerstruktur zu pflegen. In der UT2004.ini müssen dann entsprechend die Paths eingetragen werden, zb.:
Code:
[Core.System] Paths=../System/*.u Paths=../Maps/*.ut2 Paths=../Textures/*.utx Paths=../Sounds/*.uax Paths=../Music/*.umx Paths=../StaticMeshes/*.usx Paths=../Animations/*.ukx Paths=../Saves/*.uvx Paths=../System/*.u Paths=../MyMod1/Maps/*.ut2 Paths=../MyMod1/Textures/*.utx Paths=../MyMod1/Sounds/*.uax Paths=../MyMod1/Music/*.umx Paths=../MyMod1/StaticMeshes/*.usx Paths=../MyMod1/Animations/*.ukx Code:
Paths=../*/Maps/*.ut2 Paths=../*/Textures/*.utx Paths=../*/Sounds/*.uax Paths=../*/Music/*.umx Paths=../*/StaticMeshes/*.usx Paths=../*/Animations/*.ukx Dann sollte es auch mit dem Versionskontrollsystem deiner Wahl kein Problem mehr sein dass zu managen. Aber wie gesagt, ungetestet. Was den Mod-Switch angeht, theoretisch sollte der wohl auch mit "kleinen" Mods funktionieren, nur hast du dann einen riesigen Wasserkopf weil lauter ini's etc. dafür angelegt werden müssen. Ich glaube am besten wäre es noch, den gesamten UT2004 Ordner für jede Entwicklungsumgebung zu kopieren und einmalig eine Ignore-Liste dafür anzulegen. Ohnehin denke ich, es macht mehr Sinn mit einer "Vanilla" Installation zu arbeiten damit dir nicht aus versehen andere Mods reinpfuschen. Eine echte "Best Practice" kenne ich zu dem ganzen Thema jedoch nicht. Ich weiß das Epic Submission/CVS und später (ab UE3) Perforce eingesetzt hat, jedoch mussten diese ohnehin auch den Standard-Content mit versionieren.
__________________
|
24.03.2019, 10:03 | #3 | |
Mapping Crocodile
Registriert seit: 03.04.2011
Ort: Südniedersachsen
Beiträge: 183
Beigetretene Cups: 0 Cup Siege: 0 Downloads: 3
Uploads: 0
|
Als sonstige Alternative käme mir sonst noch in den Sinn, die zu einer Mod gehörigen Dateien jeweils in einem separaten Ordner ausßerhalb der UT2004-Installation zu pflegen und dort die Checkouts/Commits vorzunehmen.
Innerhalb des Ordners gibt es dann ein Batch-Skript, das die zu einer Mod gehörenden Dateien (beispielsweise aufgelistet in einer CSV-Datei) in den UT2004-Ordner kopieren und ein weiteres Batch-Skript, das sie wieder zurück kopiert. Solange nur eine Person an der gleichen Mod arbeitet, sollte das machbar sein ohne dass man Gefahr läuft, sich verschiedene Assets in der falschen Reihenfolge zu pushen und zu pullen und somit zu überschreiben. GreatEmerald scheint es bei einer seiner Mods zumindest so ähnlich gemacht zu haben: https://github.com/GreatEmerald/UT3Vehicles Das Repo ist quasi nur im Ordner für das Quellcode-Package, dort liegt aber auch ein Batch-Skript, welches die restlichen Assets von externen Hostern fetcht. Dabei wären die Assets dann allerdings nicht versioniert.
__________________
Zitat:
Geändert von Crusha K. Rool (24.03.2019 um 10:05 Uhr) |
|
24.03.2019, 11:26 | #4 |
ResidentDJ der UTzone!
Registriert seit: 13.11.2009
Ort: Köln
Beiträge: 2.403
Beigetretene Cups: 7 Cup Siege: 2 Downloads: 366
Uploads: 122
|
Bei Git könntest du mit Branches arbeiten. UT2004 Stanardihnalte auf die Ignore und dann einfach den Branch wechseln. Das sollte dann sogar ganz gut Multiuser-fähig sein und UT merkt davon auch nichts.
Allerdings will ich keine Aussage zur Performance mit großen Binärdaten machen, wobei sich das nach heutigen Maßstäben bei UT2004 alles noch im Rahmen befinden sollte.
__________________
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | Thema durchsuchen |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Geht es mit der UT Entwicklung weiter ? | Economic | "New" Unreal Tournament | 10 | 19.08.2019 03:51 |
Update zur Unreal Tournament Entwicklung | Ragnos | News | 74 | 06.07.2014 17:42 |
Die Entwicklung der Unreal Tournament Spiele | Sly. | Off - TopiC | 13 | 13.06.2010 17:07 |
Powered by vBulletin® Version 3.8.11 (Deutsch) Copyright ©2000 - 2024, vBulletin Solutions, Inc. CopyRight-Licence © 1999 - 2024 by UTzone.de |