|
-
[Tool] Spine Mod-Manager #2
Pünktlich zu den Weihnachtsfeiertagen konnte ich die erste Preview-Version zu Spine fertigstellen.
Bei Spine handelt es sich um einen neuen Gothic-Starter für Gothic und Gothic II, mit dem sich Mods ganz einfach installieren, spielen und deinstallieren lassen.
Das System ist ähnlich angelegt wie Steam. Es gibt eine Liste aller möglichen Mods (soweit in der Datenbank vorhanden, wird jetzt ständig erweitert) und die kann man einfach downloaden. In der Bibliothek sind alle installierten Mods gelistet. Spine unterstützt auch normal installierte Mods, allerdings ist es besser, nur Spine zu nutzen, weil ich versuche da möglichst alles abzufangen an Fehlern und Inkompatibilitäten z.B. durchs Systempack usw.
Voraussetzungen:
- Windows XP oder höher (Vista hat auf einem Rechner Probleme gemacht, sollte aber eigentlich funktionieren)
- Internetverbindung
Aktuelle Features:
- Automatisches Update von Gothic und Gothic II auf die aktuellste Version (Gothic: Playerkit 1.08k, Gothic II Report Version)
- Mod installieren mit einem Klick
- Mod vollständig deinstallieren mit einem Klick (außer Saves, die bleiben aktuell noch bestehen)
- Mods für Gothic und Gothic II lassen sich aus dem gleichen Programm starten und verwalten
- (noch interner) Downloadcounter für Mods
- Konzept für neue Script-Funktionen (siehe unten)
- Auto-Update von Spine (sollte funktionieren, hab's aber noch nicht getestet)
- Account-gebunden: Spielzeitstatistik
- Patch- (z.B. Texturpatch) und Tool- (z.B. Systempack, D3D11-Renderer) Support
- Simple Mod-Konfiguration für Patches (Zusammenklicken pro Mod, was genutzt werden soll)
- Filter- und Sortierfunktionen für Datenbank
- Auto-Update für Mods
- Account-gebunden: Nutzung der neuen Features wie Erfolge, Rankings und Multiplayer in Mods, die das unterstützen
- Optionale Pakete pro Mod sofern vorhanden (Sprachausgabe, Texturenpakete)
- News-Funktionalität, um über neue Release oder sonstige relevante Sachen zu informieren
- Detaillierte Mod-Seiten (ähnlich zum Steamshop mit paar Screens und Infos zur jeweiligen Mod)
- Kompatibilitätslisten, um Mod-Patch-Kombinationen, die nicht funktionieren, gar nicht erst anzuzeigen
- Editor für Gothic.ini (Systempack coming soon)
- Mod-Bewertungen (angucken)
- Account-gebunden: Mod bewerten
Noch geplante Features:
- Andere Sprachversionen, falls vorhanden
Die aktuelle Modliste umfasst nur wenige Mods. Ich hab da ein paar ausgesucht, die recht neu, beliebt oder einfach die von mir sind. Ich werde aber so schnell wie möglich weitere Mods nachliefern und die Datenbank erweitern. Mit dabei ist allerdings schon die nagelneue Odyssee 2.0 mit optimiertem Speicherverbrauch, weil weder überflüssige Dateien installiert werden wie mit dem Installer, noch Reste bleiben nach der Deinstallation. Außerdem gibt es die neue Atariar Edition für Gothic II. Wer eine Mod unbedingt gleich über Spine spielen will, kann auch Bescheid sagen, dann bau ich die entsprechende Mod eher ein.
Die neuen Script-Funktionen sähen aktuell so aus:
Code:
const int SPINE_TOPLEFT = 0;
const int SPINE_TOPRIGHT = 1;
const int SPINE_BOTTOMLEFT = 2;
const int SPINE_BOTTOMRIGHT = 3;
var int SPINE_ACHIEVEMENTORIENTATION;
SPINE_ACHIEVEMENTORIENTATION = SPINE_BOTTOMRIGHT;
var int SPINE_SHOWACHIEVEMENTS;
SPINE_SHOWACHIEVEMENTS = TRUE;
// returns the username of the user currently logged in
// if played without account/login, empty string is returned
func string Spine_GetCurrentUsername() { return ""; };
// unlocks achievement for this mod for given id
// contact Bonne to get your achievements on the server
// will also automatically create a view informing about unlocking the achievement
// unless it is disabled via setting Spine_SHOWACHIEVEMENTS = FALSE
// place on the screen can be changed setting Spine_ACHIEVEMENTORIENTATION
func void Spine_UnlockAchievement(var int identifier) {};
// return TRUE or FALSE whether the achievement for the given id is already unlocked or not
func int Spine_IsAchievementUnlocked(var int identifier) { return FALSE; };
// adds a score for a specific identifier
// contact Bonne to get your rankings on the server
func void Spine_AddScore(var int identifier, var int score) {};
// returns the score for the given identifier
// if no score exists for the player/identifier combination, -1 is returned
func int Spine_GetUserScore(var int identifier) { return -1; }
Der Gedanke ist ein paar Online-Funktionen zur Verfügung zu stellen, die automatisch funktionieren, sobald man über Spine startet. Man könnte für den aktuellen User mit dem Clockwork-Account Erfolge freischalten, den Usernamen rauskriegen und Rankings speichern und auslesen. Wer dazu eine Meinung hat oder auch andere Vorschläge, immer her damit.
Tutorial 1 - Initialisierung
Tutorial 2 - Erfolge
Tutorial 3 - Scores
Tutorial 4 - Savegame-übergreifende Daten
Tutorial 5 - Multiplayer
Tutorial 6 - Freunde
Datenbank:
[Bild: Spine_v1_0_0.png]
Profilseite:
[Bild: Spine_Profil.png]
Erfolge:
[Bild: Spine_Achievement.png]
Startseite:
[Bild: Spine_News.png]
Info-Seite:
[Bild: Spine_InfoPage.png]
Kompatibilitätsdialog:
[Bild: Spine_Compatibility.png]
Spine-Signatur:
HTML-Code:
[URL=https://forum.worldofplayers.de/forum/threads/1489970-RELEASE-Spine-2][IMG]http://clockwork-origins.de/spineSignature.php?name=<Spine-Username einsetzen>[/IMG][/URL]
Alte Threads:
[Tool] Spine
Geändert von Bonne6 (04.11.2019 um 15:35 Uhr)
-
Ich hab mal einen neuen Thread erstellt, der andere war voll. Außerdem grad zwei neue "Tutorials" hochgeladen für Gamepad und Freunde (Freunde kommen in Spine 1.10). Das schließt auch eine neue Funktion im Multiplayer-Modul ein, die dann auch im nächsten Schach-Update genutzt wird.
Neue Frage: Was haltet ihr von einer Art Mod-Validator? Oder evtl. direkt ein automatisiertes Packen von Mod-Dateien als weiterer Schritt. Es gibt ja häufig das Problem, dass die Installer und da vor allem die .mod Dateien ewig viel unnötigen Datenmüll enthalten (Backup-Ordner, unveränderte Originaldateien, ungenutzte Dateien, Musik in der .mod usw.). Da könnte man relativ einfach einen Check drüber laufen lassen, der eine Fehlermeldung ausgibt, wenn die .mod solche Dateien enthält, die nicht drin sein müssten, eigentlich sogar automatisiert alle rauswerfen (bzw. würde ich das erstmal optional machen, falls das noch falsche Dinge erkennt, dann kann man selbst entscheiden, was man rauswerfen will). Eine weitere Optimierung wäre direkt über Spine die .mod packen zu können und Spine sorgt dafür, dass nur die richtigen Sachen eingepackt werden und erstellt auch gleich die Batchscripts dafür oder so.
-
Spontan sehe ich nichts, was dagegen spricht, solange das Feature nicht zu viel Zeit frisst. Fände ich sinnvoll.
-
Zitat von Tyra
Spontan sehe ich nichts, was dagegen spricht, solange das Feature nicht zu viel Zeit frisst. Fände ich sinnvoll.
Die grundlegende Version hoffentlich nicht. Wenn man's auf die Spitze treiben will, müsste man dann alle Scripts parsen, um auch wirklich alle unreferenzierten Texturen usw. kicken zu können... aber da man die Namen auch programmatisch ermitteln könnte ConcatStrings("Texture_", IntToString(i)) wäre das recht aussichtslos. Daher wäre es denk ich erstmal schon ausreichend die gröbsten und offensichtlichsten Schnitzer zu fixen, eben
- Backup-Ordner
- Original-Material
- Unnötige Dateien (OU.CSL, Ouinfo.inf, Dateien, die sich nicht geändert haben)
- Musik in .mod
-
Ohja, bitte!
-
Hab's mal auf die ToDo-Liste für Version 1.11 gesetzt, mal sehen, wie ich dazu komme. Lust drauf hätte ich auf jeden Fall
-
Nach einer längeren Zeit ohne Update gibt es heute Spine 1.10. Das Update bietet wieder einige Fixes, vor allem für Modder. Außerdem kann man jetzt über die neue Freunde-Seite Freunde hinzufügen, mit denen man gezielt Mods, die das Feature unterstützen (derzeit nur Schach 1.0, was heute im Laufe des Tages auch noch erscheinen wird), im Multiplayer spielen kann. Außerdem neu: Das Spine-Level. Das ist eine Repräsentation der Aktivität in Spine. Das Level berechnet sich wie in Gothic II, d.h. Level 1 500 EP, Level 2 1500 EP, Level 3 3000 EP usw. Erfahrungspunkte gibt es für:
(In-)Kompatibilität melden: 10 EP
Erfolg freigeschaltet: 50 EP
Scoreeintrag erreicht: 100 EP
Mod bewertet: 250 EP
Es gilt immer jeweils. Wer 10 Erfolge freigeschaltet hat, hat demnach auch 500 EP dafür erhalten.
Wofür es Erfahrung gibt wird sich im Laufe der Zeit sicher noch erweitern und die Werte können sich auch noch ändern. Ich denke z.B. an die Integration der Modderdatenbank, wo man Bonuspunkte für das Einstellen von Material bekommen kann. Oder Tester/Sprecher können sich Punkte verdienen und für Spieler gibt es sicher auch noch einige nette Sachen.
Auch ein neues Scriptpaket gibt es, dass das Freunde-Modul scriptseitig einführt. Infos dazu gibt es im Tutorial. Außerdem gibt es im Multiplayer-Modul jetzt eine neue Funktion für das Matchmaking mit einen bestimmten Gegner.
-
Wenn du hilfe wegen der Moddb Sachen brauchst stehe ich immer noch gerne zu verfügung
-
-
Kannst du ähnlich wie in der Mod-Datenbank auch bei Namen (Rechte freischalten, Freunde) eine Suchfunktion einbauen? Inzwischen haben sich ja schon recht viele Leute auf Spine angemeldet, dementsprechend groß ist ja die Namensliste.
-
Zitat von Tyra
Kannst du ähnlich wie in der Mod-Datenbank auch bei Namen (Rechte freischalten, Freunde) eine Suchfunktion einbauen? Inzwischen haben sich ja schon recht viele Leute auf Spine angemeldet, dementsprechend groß ist ja die Namensliste.
Yes, hab's notiert. Wenn du die Combobox bei Freunden ausgewählt hast kannst du auch den Namen tippen, dann wird der rausgesucht. Ist aber natürlich nicht das gleiche wie ein Filter.
-
Ich habe gerade mal Spine ausprobiert (war für mich bisher uninteressant gewesen, weil ich nicht spiele). Jetzt wollte ich den Entwicklermodus probieren. Ich muss zugeben, dass ich mich bisher noch nicht so gut damit zurecht finde.
Ist es gewollt, dass Spine immer meine GothicGame.ini löscht?
Gibt es schon eine Möglichkeit, die Logging-Stufe vom zSpy einzustellen (10 ist mir ein bisschen zu viel) und auch eine Option zum im Fenstermodus-Starten?
EDIT: Auch wurden bei mir einige Symlinks aus meinem _work-Verzeichnis gelöscht...
EDIT2: Immer wieder. So kann ich mein Gothic gar nicht starten. Ist das schon bekannt? Bzw. was genau macht Spine mit meinem Gothic-Verzeichnis wenn ich es als Modding-Verzeichnis auswähle?
Geändert von mud-freak (12.08.2017 um 16:58 Uhr)
-
Zitat von mud-freak
Ich habe gerade mal Spine ausprobiert (war für mich bisher uninteressant gewesen, weil ich nicht spiele). Jetzt wollte ich den Entwicklermodus probieren. Ich muss zugeben, dass ich mich bisher noch nicht so gut damit zurecht finde.
Wenn irgendwas unklar ist sagen, dann kann ich das verbessern.
Zitat von mud-freak
Ist es gewollt, dass Spine immer meine GothicGame.ini löscht?
Das wird gemacht, damit man nicht das falsche Gothic 2 startet sondern das an Spine angepasste.
Zitat von mud-freak
Gibt es schon eine Möglichkeit, die Logging-Stufe vom zSpy einzustellen (10 ist mir ein bisschen zu viel) und auch eine Option zum im Fenstermodus-Starten?
Noch nicht, wird sobald wie möglich nachgeliefert.
Zitat von mud-freak
EDIT: Auch wurden bei mir einige Symlinks aus meinem _work-Verzeichnis gelöscht...
Oh, was für welche? Das sollte denk ich nicht passieren, evtl. gibt's da irgendwelche Spezialfälle... kommt jetzt wohl drauf an, was es ist... alles im Data-Verzeichnis, was auf .mod endet wird auf jeden Fall plattgemacht...
-
Zitat von Bonne6
Wenn irgendwas unklar ist sagen, dann kann ich das verbessern.
Bei Entwickler->Management fehlen mir z.B. Beschreibungen. Ist das lokal oder was auf dem Server liegt?
Mir ist nicht klar was ich dort ändern kann. Oben scheint es sich um eine Versionsnummer zu handeln. Bedeutet "Abschicken", dass ich dort irgendetwas auf den Server lade oder ist das alles lokal?
Woher kommen die Einträge in dem Panel darunter? Der Inhalt einer .mod-Datei kann es nicht sein, weil dort auch Videos und Icon und Ini angezeigt werden. Was genau passiert wenn ich dort etwas ändere?
Zitat von Bonne6
Oh, was für welche? Das sollte denk ich nicht passieren, evtl. gibt's da irgendwelche Spezialfälle... kommt jetzt wohl drauf an, was es ist... alles im Data-Verzeichnis, was auf .mod endet wird auf jeden Fall plattgemacht...
Ich habe einige Symlinks in den Content-Skripten und in den System-Skripten. Die in den Content-Skripten blieben, die aus dem Systemordner sind immer verschwunden. Es handelt sich um Symlinks zu verschiedenen Ordnern in folgendem Pfad:
_work\data\Scripts\System\freeAim\
Noch eine weitere Sache. Bei den aktuellen Spine Skripten kommt es zu einem Absturz, wenn man das Modul SPINE_MODULE_ACHIEVEMENTS nicht initialisiert (z.B. mit Spine_Init(SPINE_MODULE_GETCURRENTUSERNAME);), denn weiter unten in der Initialisierungsfunktion wird dann folgendes mit Null aufgerufen:
Code:
CALL__cdecl(Spine_GetShowAchievementsFunc);
SPINE_SHOWACHIEVEMENTS = CALL_RetValAsInt();
-
Zitat von mud-freak
Bei Entwickler->Management fehlen mir z.B. Beschreibungen. Ist das lokal oder was auf dem Server liegt?
Mir ist nicht klar was ich dort ändern kann. Oben scheint es sich um eine Versionsnummer zu handeln. Bedeutet "Abschicken", dass ich dort irgendetwas auf den Server lade oder ist das alles lokal?
Woher kommen die Einträge in dem Panel darunter? Der Inhalt einer .mod-Datei kann es nicht sein, weil dort auch Videos und Icon und Ini angezeigt werden. Was genau passiert wenn ich dort etwas ändere?
Okay, das ist alles noch gar nicht dokumentiert, das hatte ich nur mal schnell für Migos zusammengebaut für seinen Test von Jharkendar-Online RP. Das werde ich mal nachholen. Die Benutzerverwaltung ist zum Freischalten für Tester. Die angezeigten Dateien sind die auf dem Server. Die kannst du mit neueren ersetzen... erst lokal bearbeiten und wenn du fertig bist kannst du über abschicken die Sachen hochladen und somit eine neue Version der Mod anbieten. Wichtig, damit das Auto-Update von Spine getriggert wird: Versionsnummer ändern.
Zitat von mud-freak
Ich habe einige Symlinks in den Content-Skripten und in den System-Skripten. Die in den Content-Skripten blieben, die aus dem Systemordner sind immer verschwunden. Es handelt sich um Symlinks zu verschiedenen Ordnern in folgendem Pfad:
_work\data\Scripts\System\freeAim\
Okay, das sollte nicht passieren, werde ich mir anschauen.
Zitat von mud-freak
Noch eine weitere Sache. Bei den aktuellen Spine Skripten kommt es zu einem Absturz, wenn man das Modul SPINE_MODULE_ACHIEVEMENTS nicht initialisiert (z.B. mit Spine_Init(SPINE_MODULE_GETCURRENTUSERNAME);), denn weiter unten in der Initialisierungsfunktion wird dann folgendes mit Null aufgerufen:
Code:
CALL__cdecl(Spine_GetShowAchievementsFunc);
SPINE_SHOWACHIEVEMENTS = CALL_RetValAsInt();
Das ist vermutlich während eines Umbaus für einen anderen Bugfix vor einer Weile kaputt gegangen (oder es war immer kaputt und ist nicht aufgefallen, weil jeder, der's bis jetzt genutzt hat, immer natürlich Erfolge genutzt hat). Werde das auch fixen. Danke für den Hinweis
-
Ist es eigentlich gewollt, dass man den Name der Freunde ändern kann?
Änderet man einmal den Namen und weiß dann nicht mehr wer es war, hat man ein kleines Problem. Praktisch wäre hier eher wie in Steam, dass man eine Notiz bzw. einen Nick/Pseudonym anheften kann, falls man die Person unter einer anderen Bezeichnung kennt.
Andere Sache; Spine setzt regelmäßig meine Konfigurationseinstellungen für (zumindest) Gothic2 zurück. Eine Ahnung woran das liegt?
Übergehend dazu, könnte man die Gothic-Konfiguration entschlacken oder zumindest per Option vereinfachen? Im Moment ist sie eher etwas für jemand, der sich mit erweiterten Optionen auseinander setzen will. Möchte man da hingegen nur die klassischen Optionen ändern, ist man etwas überfordert.
-
Zitat von Orange
Ist es eigentlich gewollt, dass man den Name der Freunde ändern kann?
Änderet man einmal den Namen und weiß dann nicht mehr wer es war, hat man ein kleines Problem. Praktisch wäre hier eher wie in Steam, dass man eine Notiz bzw. einen Nick/Pseudonym anheften kann, falls man die Person unter einer anderen Bezeichnung kennt.
Ah, daran denk ich nie
Zitat von Orange
Andere Sache; Spine setzt regelmäßig meine Konfigurationseinstellungen für (zumindest) Gothic2 zurück. Eine Ahnung woran das liegt?
Ähm, das sollte nur passieren, wenn Spine die ini nicht mehr parsen kann. Wenn das mal wieder passiert und du das im Konfigurator merkst (also er da falsche Werte anzeigt), dann könntest du mir mal die Gothic.ini schicken, dann kann ich das analysieren.
Zitat von Orange
Übergehend dazu, könnte man die Gothic-Konfiguration entschlacken oder zumindest per Option vereinfachen? Im Moment ist sie eher etwas für jemand, der sich mit erweiterten Optionen auseinander setzen will. Möchte man da hingegen nur die klassischen Optionen ändern, ist man etwas überfordert.
Ähm, ja, das wurde schonmal (von dir?) angesprochen, das müsste ich mal machen. Ich hab's nochmal notiert, damit es nicht untergeht, möglicherweise beim letzten Mal vergessen.
-
Zitat von Bonne6
Ah, daran denk ich nie
Ähm, das sollte nur passieren, wenn Spine die ini nicht mehr parsen kann. Wenn das mal wieder passiert und du das im Konfigurator merkst (also er da falsche Werte anzeigt), dann könntest du mir mal die Gothic.ini schicken, dann kann ich das analysieren.
Ähm, ja, das wurde schonmal (von dir?) angesprochen, das müsste ich mal machen. Ich hab's nochmal notiert, damit es nicht untergeht, möglicherweise beim letzten Mal vergessen.
Kein Problem.
Bitte sehr. Die Gothic.ini ist die .ini nach dem Start&Beenden, also die zurückgesetzte Version. Die Gothic.ini-Kopie ist hingegen die konfigurierte Einstellung.
Mein Gothic2 stammt von Steam, falls das relevant ist.
Gracias.
-
Zitat von Orange
Kein Problem.
Bitte sehr. Die Gothic.ini ist die .ini nach dem Start&Beenden, also die zurückgesetzte Version. Die Gothic.ini-Kopie ist hingegen die konfigurierte Einstellung.
Mein Gothic2 stammt von Steam, falls das relevant ist.
Gracias.
Danke, schau's mir am WE mal an
-
Hey Bonne6,
sehr schönes Tool
Mich würde interessieren ob Spine über irgendwelche speziellen Ports oder Protokolle arbeitet. Bei mir auf der Arbeit (Privatnutzung der Laptops und nach Arbeitsende wird gemeinsam gespielt usw.) kann ich den Manager nicht starten, weil er keinen Internet Zugriff hat. Da wird wohl irgendwas von der Firewall blockiert.
Grüße
Marc
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
|
|