Seit der Installation der neuesten Skripte weigert sich Spine, in meinen Mods zu starten.
Zuerst crashte das Spiel, als ich in 4k-Auflösung einen Erfolg freischalten wollte (für Texturkonvertierung). Das war aber noch mit den v1.7-Skripten von Spine, also habe ich die neuesten Skripte heruntergeladen und alles außer der Datei UserConstants überschrieben. Seitdem macht Spine gar nichts mehr, nicht mal mehr
“Da ist auch noch ein anderer Geruch in der Luft, der Geruch von Feuern, die in der Ferne brennen, mit einem Hauch Zimt darin - so riecht das Abenteuer!”
― aus Walter Moers' "Die 13 1/2 Leben des Käpt'n Blaubär"
Seit der Installation der neuesten Skripte weigert sich Spine, in meinen Mods zu starten.
Zuerst crashte das Spiel, als ich in 4k-Auflösung einen Erfolg freischalten wollte (für Texturkonvertierung). Das war aber noch mit den v1.7-Skripten von Spine, also habe ich die neuesten Skripte heruntergeladen und alles außer der Datei UserConstants überschrieben. Seitdem macht Spine gar nichts mehr, nicht mal mehr
Hm, schau ich gleich mal. Falls du im Fenstermodus startest oder zwei Monitore hast, kannst du mal gucken, ob nach Start die SpineAPI.dll im System-Ordner liegt?
Ja, SpineAPI.dll wird in den Ordner kopiert. Änderungsdatum ist 18.09.2017, Größe konnte ich nicht nachschauen, weil Gothic 2 nicht out-of-focus bleiben will.
“Da ist auch noch ein anderer Geruch in der Luft, der Geruch von Feuern, die in der Ferne brennen, mit einem Hauch Zimt darin - so riecht das Abenteuer!”
― aus Walter Moers' "Die 13 1/2 Leben des Käpt'n Blaubär"
Ja, SpineAPI.dll wird in den Ordner kopiert. Änderungsdatum ist 18.09.2017, Größe konnte ich nicht nachschauen, weil Gothic 2 nicht out-of-focus bleiben will.
Im Marvin-Modus kommst du mit F3 in den Fenstermodus, dann solltest du relativ problemlos raustabben können.
“Da ist auch noch ein anderer Geruch in der Luft, der Geruch von Feuern, die in der Ferne brennen, mit einem Hauch Zimt darin - so riecht das Abenteuer!”
― aus Walter Moers' "Die 13 1/2 Leben des Käpt'n Blaubär"
Also ich hab grad mal die aktuellste XR-Version gestartet und da vorher noch die Spine-Scripts aktualisiert (waren aktuell bis auf die Versionsnummer, weil in der Regel darin die Spine-Sachen entwickel und teste ^^) und da läuft die Initialisierung durch. Sowohl mit Spine 1.10.3, als auch mit der aktuellen Version, die noch in Arbeit ist.
Hast du die Scripts manuell oder über Spine aktualisiert?
Wobei das eigentlich egal sein sollte... Zu dem Zeitpunkt wo abbricht, muss nur die dll geladen werden können und an dem Code hat sich seit der ersten Spine-Version nichts geändert... Selbst wenn in der SpineAPI.dll was anders ist, kann erst das Laden der Funktionen schief gehen, solang die dll selbst funktioniert... und da du ja nur die Scripts aktualisiert hast...
Bist du auf einem Windows-Rechner (also nicht irgendwie VM oder Wine oder so)?
Irgendwas, was sich sonst noch geändert hat oder vielleicht nicht normal ist? Evtl. ist bei dem Crash auch irgendwas kaputt gegangen...
Upps, das war die falsche Logdatei... Ich hatte zSpy logging in den Einstellungen nicht aktiviert, hatte aber vorher das Parsen mit GothicStarter_mod getestet.
Mit der richtigen Logdatei hat sich der Fehler auch sofort erledigt:
Code:
For Spine Achievement Module you need to initialize LeGo with both FrameFunctions and View
“Da ist auch noch ein anderer Geruch in der Luft, der Geruch von Feuern, die in der Ferne brennen, mit einem Hauch Zimt darin - so riecht das Abenteuer!”
― aus Walter Moers' "Die 13 1/2 Leben des Käpt'n Blaubär"
Upps, das war die falsche Logdatei... Ich hatte zSpy logging in den Einstellungen nicht aktiviert, hatte aber vorher das Parsen mit GothicStarter_mod getestet.
Mit der richtigen Logdatei hat sich der Fehler auch sofort erledigt:
Code:
For Spine Achievement Module you need to initialize LeGo with both FrameFunctions and View
Okay, der Grund für den Crash scheint ein zu langer Name zu sein. Der Erfolg "Diener des Gleichgewichts" führt zu einem Freeze, während "Diener" alleine toll funktioniert. "Epischer Zweikampf" hingegen ist noch kurz genug. Kann es sein, dass der Zeilenumbruch-Code crasht, der in 1.7 noch nicht implementiert war?
“Da ist auch noch ein anderer Geruch in der Luft, der Geruch von Feuern, die in der Ferne brennen, mit einem Hauch Zimt darin - so riecht das Abenteuer!”
― aus Walter Moers' "Die 13 1/2 Leben des Käpt'n Blaubär"
Okay, der Grund für den Crash scheint ein zu langer Name zu sein. Der Erfolg "Diener des Gleichgewichts" führt zu einem Freeze, während "Diener" alleine toll funktioniert. "Epischer Zweikampf" hingegen ist noch kurz genug. Kann es sein, dass der Zeilenumbruch-Code crasht, der in 1.7 noch nicht implementiert war?
Jup, sieht ganz so aus. Der Counter für den aktuellen Index wird scheinbar nicht hochgezählt.
Korrigierte Version hier, kannst einfach den Inhalt der Spine_Achievements.d damit ersetzen:
Code:
// a maximum of 11 (1 active + 10 waiting in queue) achievements can be unlocked at once
// should be enough, otherwise I'll increase the amount
var int SPINE_ACHIEVEMENTSQUEUE[10];
var int Spine_AchievementView;
var int Spine_AchievementImageView;
var int Spine_UnlockAchievementFunc;
var int Spine_IsAchievementUnlockedFunc;
var int Spine_UpdateAchievementProgressFunc;
var int Spine_GetAchievementProgressFunc;
var int Spine_GetAchievementMaxProgressFunc;
var int Spine_GetShowAchievementsFunc;
// return TRUE or FALSE whether the achievement for the given id is already unlocked or not
func int Spine_IsAchievementUnlocked(var int identifier) {
if (Spine_Initialized && Spine_IsAchievementUnlockedFunc) {
CALL_IntParam(identifier);
CALL__cdecl(Spine_IsAchievementUnlockedFunc);
return CALL_RetValAsInt();
};
return TRUE;
};
// private, don't call from outside
func void Spine_ShowAchievementView(var int identifier) {
var zCPar_Symbol sym; sym = _^(MEMINT_SwitchG1G2(MEM_GetSymbol("_STR_FONT_ONSCREEN"), // Font constant G1
MEM_GetSymbol("FONT_SCREENSMALL"))); // Font constant G2
var string Spine_Font; Spine_Font = MEM_ReadString(sym.content);
var int startPosX;
var int startPosY;
var zCView screen; screen = _^(MEM_Game._zCSession_viewport);
if (SPINE_ACHIEVEMENTORIENTATION == SPINE_TOPLEFT) {
startPosX = 0;
startPosY = 0;
} else if (SPINE_ACHIEVEMENTORIENTATION == SPINE_TOPRIGHT) {
startPosX = screen.psizex - SPINE_ACHIEVEMENT_WIDTH;
startPosY = 0;
} else if (SPINE_ACHIEVEMENTORIENTATION == SPINE_BOTTOMLEFT) {
startPosX = 0;
startPosY = screen.psizey - SPINE_ACHIEVEMENT_HEIGHT;
} else if (SPINE_ACHIEVEMENTORIENTATION == SPINE_BOTTOMRIGHT) {
startPosX = screen.psizex - SPINE_ACHIEVEMENT_WIDTH;
startPosY = screen.psizey - SPINE_ACHIEVEMENT_HEIGHT;
};
Spine_AchievementView = View_CreatePxl(startPosX, startPosY, startPosX + SPINE_ACHIEVEMENT_WIDTH, startPosY + SPINE_ACHIEVEMENT_HEIGHT);
View_SetTexture(Spine_AchievementView, "ACHIEVEMENT_BACKGROUND.TGA");
View_Open(Spine_AchievementView);
var int imageStartPosX;
var int imageStartPosY;
var int imageOffset;
imageOffset = (SPINE_ACHIEVEMENT_HEIGHT - SPINE_ACHIEVEMENT_IMAGE_HEIGHT) / 2;
imageStartPosX = startPosX + imageOffset;
imageStartPosY = startPosY + imageOffset;
Spine_AchievementImageView = View_CreatePxl(imageStartPosX, imageStartPosY, imageStartPosX + SPINE_ACHIEVEMENT_IMAGE_WIDTH, imageStartPosY + SPINE_ACHIEVEMENT_IMAGE_HEIGHT);
var string achievementTexture;
achievementTexture = MEM_ReadStatStringArr(SPINE_ACHIEVEMENT_TEXTURES, identifier);
View_SetTexture(Spine_AchievementImageView, achievementTexture);
View_Open(Spine_AchievementImageView);
var string achievementName;
achievementName = MEM_ReadStatStringArr(SPINE_ACHIEVEMENT_NAMES, identifier);
var int textLength; textLength = Print_GetStringWidth(achievementName, Spine_Font);
if (textLength <= SPINE_ACHIEVEMENT_WIDTH - (SPINE_ACHIEVEMENT_IMAGE_WIDTH + imageOffset * 3)) {
View_AddText(Spine_AchievementView, Print_ToVirtual(SPINE_ACHIEVEMENT_IMAGE_WIDTH + imageOffset * 2, SPINE_ACHIEVEMENT_WIDTH), Print_ToVirtual(imageOffset, SPINE_ACHIEVEMENT_HEIGHT), achievementName, Spine_Font);
} else { // Text is too long for the field
var int height; height = 0;
var int splitCount; splitCount = STR_SplitCount(achievementName, " ");
var int i; i = 0;
var string currentLine; currentLine = "";
var int pos; pos = MEM_StackPos.position;
if (i < splitCount) {
var string currentLineTest;
if (STR_Len(currentLine) > 0) {
currentLine = ConcatStrings(currentLine, " ");
};
currentLineTest = ConcatStrings(currentLine, STR_Split(achievementName, " ", i));
textLength = Print_GetStringWidth(currentLineTest, Spine_Font);
if (textLength > SPINE_ACHIEVEMENT_WIDTH - (SPINE_ACHIEVEMENT_IMAGE_WIDTH + imageOffset * 3)) {
if (STR_Len(currentLine) == 0) {
View_AddText(Spine_AchievementView, Print_ToVirtual(SPINE_ACHIEVEMENT_IMAGE_WIDTH + imageOffset * 2, SPINE_ACHIEVEMENT_WIDTH), Print_ToVirtual(imageOffset + height, SPINE_ACHIEVEMENT_HEIGHT), currentLineTest, Spine_Font);
currentLine = "";
currentLineTest = "";
} else {
View_AddText(Spine_AchievementView, Print_ToVirtual(SPINE_ACHIEVEMENT_IMAGE_WIDTH + imageOffset * 2, SPINE_ACHIEVEMENT_WIDTH), Print_ToVirtual(imageOffset + height, SPINE_ACHIEVEMENT_HEIGHT), currentLine, Spine_Font);
currentLine = STR_Split(achievementName, " ", i);
currentLineTest = "";
};
height += Print_GetFontHeight(Spine_Font);
} else {
currentLine = currentLineTest;
};
i += 1;
MEM_StackPos.position = pos;
};
if (STR_Len(currentLine) > 0) {
View_AddText(Spine_AchievementView, Print_ToVirtual(SPINE_ACHIEVEMENT_IMAGE_WIDTH + imageOffset * 2, SPINE_ACHIEVEMENT_WIDTH), Print_ToVirtual(imageOffset + height, SPINE_ACHIEVEMENT_HEIGHT), currentLine, Spine_Font);
};
};
FF_Remove(Spine_RemoveAchievementView);
FF_ApplyOnceExt(Spine_RemoveAchievementView, SPINE_ACHIEVEMENT_DISPLAY_TIME, 1);
};
// 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) {
if (Spine_Initialized && Spine_UnlockAchievementFunc) {
if (!Spine_IsAchievementUnlocked(identifier)) {
CALL_IntParam(identifier);
CALL__cdecl(Spine_UnlockAchievementFunc);
if (Spine_AchievementView == 0) {
Spine_ShowAchievementView(identifier);
} else {
var int i; i = 0;
var int pos; pos = MEM_StackPos.position;
var int hndl; hndl = MEM_ReadStatArr(SPINE_ACHIEVEMENTSQUEUE, i);
if (hndl == -1) {
MEM_WriteStatArr(SPINE_ACHIEVEMENTSQUEUE, i, identifier);
} else {
i += 1;
if (i < 10) {
MEM_StackPos.position = pos;
};
};
};
};
};
};
// updates achievement progress
// in case maximum achievement progress is reached, the achievement is displayed as unlocked automatically
func void Spine_UpdateAchievementProgress(var int identifier, var int progress) {
if (Spine_Initialized && Spine_UpdateAchievementProgressFunc) {
if (!Spine_IsAchievementUnlocked(identifier)) {
CALL_IntParam(progress);
CALL_IntParam(identifier);
CALL__cdecl(Spine_UpdateAchievementProgressFunc);
var int ret; ret = CALL_RetValAsInt();
if (Spine_GetTestMode()) {
var string maxProgressString; maxProgressString = MEM_ReadStatStringArr(SPINE_ACHIEVEMENT_PROGRESS, identifier);
var int maxProgress; maxProgress = STR_ToInt(maxProgressString);
if (maxProgress <= progress) {
ret = TRUE;
};
};
if (ret) {
if (Spine_AchievementView == 0) {
Spine_ShowAchievementView(identifier);
} else {
var int i; i = 0;
var int pos; pos = MEM_StackPos.position;
var int hndl; hndl = MEM_ReadStatArr(SPINE_ACHIEVEMENTSQUEUE, i);
if (hndl == -1) {
MEM_WriteStatArr(SPINE_ACHIEVEMENTSQUEUE, i, identifier);
} else {
i += 1;
if (i < 10) {
MEM_StackPos.position = pos;
};
};
};
};
};
};
};
// returns the current progress of an achievement or 0 in case it is an achievement without progress
func int Spine_GetAchievementProgress(var int identifier) {
if (Spine_Initialized && Spine_GetAchievementProgressFunc) {
CALL_IntParam(identifier);
CALL__cdecl(Spine_GetAchievementProgressFunc);
return CALL_RetValAsInt();
};
return FALSE;
};
// returns the maximum progress to reach of an achievement or 0 in case it is an achievement without progress
func int Spine_GetAchievementMaxProgress(var int identifier) {
if (Spine_Initialized && Spine_GetAchievementMaxProgressFunc) {
if (Spine_GetTestMode()) {
var string maxProgressString; maxProgressString = MEM_ReadStatStringArr(SPINE_ACHIEVEMENT_PROGRESS, identifier);
var int maxProgress; maxProgress = STR_ToInt(maxProgressString);
return maxProgress;
} else {
CALL_IntParam(identifier);
CALL__cdecl(Spine_GetAchievementMaxProgressFunc);
return CALL_RetValAsInt();
};
};
return FALSE;
};
// private, don't call from outside
func void Spine_RemoveAchievementView() {
if (Hlp_IsValidHandle(Spine_AchievementView)) {
View_Delete(Spine_AchievementView);
Spine_AchievementView = 0;
};
if (Hlp_IsValidHandle(Spine_AchievementImageView)) {
View_Delete(Spine_AchievementImageView);
Spine_AchievementImageView = 0;
};
FF_Remove(Spine_ShowAchievementView);
if (SPINE_ACHIEVEMENTSQUEUE[0] != -1) {
var int identifier;
identifier = SPINE_ACHIEVEMENTSQUEUE[0];
var int i; i = 0;
var int pos; pos = MEM_StackPos.position;
var int hndl; hndl = MEM_ReadStatArr(SPINE_ACHIEVEMENTSQUEUE, i);
if (hndl != -1) {
MEM_WriteStatArr(SPINE_ACHIEVEMENTSQUEUE, i, MEM_ReadStatArr(SPINE_ACHIEVEMENTSQUEUE, i + 1));
i += 1;
if (i < 9) {
MEM_StackPos.position = pos;
};
};
MEM_WriteStatArr(SPINE_ACHIEVEMENTSQUEUE, i, -1);
FF_ApplyOnceExtData(Spine_ShowAchievementView, 0, 1, identifier);
};
};
Funktioniert jetzt super, danke für die schnelle Hilfe!
“Da ist auch noch ein anderer Geruch in der Luft, der Geruch von Feuern, die in der Ferne brennen, mit einem Hauch Zimt darin - so riecht das Abenteuer!”
― aus Walter Moers' "Die 13 1/2 Leben des Käpt'n Blaubär"
Dann mach ich mal weiter mit den kleinen, nervigen Bugs:
Der Spine-Client scheint bei den versteckten Erfolgen einen Erfolg zu wenig zu zählen.Bei meiner Mod z.B. steht jetzt +3 versteckte Erfolge, obwohl es vier geben sollte, wie du in der Datei siehst, die ich dir geschickt habe, an den Stellen 0, 2, 5 und 6 im Array.
Ähnlich wie der GothicStarter hört Spine ja auf, zu updaten, sobald man es benutzt, um Gothic zu starten. Allerdings schließt das beim GothicStarter nicht das zSpy-Programm mit ein, während Spine erst wieder aufwacht, sobald sowohl Gothic als auch der von Spine geöffnete zSpy geschlossen wurden.
“Da ist auch noch ein anderer Geruch in der Luft, der Geruch von Feuern, die in der Ferne brennen, mit einem Hauch Zimt darin - so riecht das Abenteuer!”
― aus Walter Moers' "Die 13 1/2 Leben des Käpt'n Blaubär"
Funktioniert jetzt super, danke für die schnelle Hilfe!
Sehr gut.
Zitat von GiftGrün
Dann mach ich mal weiter mit den kleinen, nervigen Bugs:
Der Spine-Client scheint bei den versteckten Erfolgen einen Erfolg zu wenig zu zählen.Bei meiner Mod z.B. steht jetzt +3 versteckte Erfolge, obwohl es vier geben sollte, wie du in der Datei siehst, die ich dir geschickt habe, an den Stellen 0, 2, 5 und 6 im Array.
Uppsi, da hat's wieder den ersten Erfolg verschluckt. Das ist neulich schonmal passiert. #0 hat gefehlt.
Zitat von GiftGrün
Ähnlich wie der GothicStarter hört Spine ja auf, zu updaten, sobald man es benutzt, um Gothic zu starten. Allerdings schließt das beim GothicStarter nicht das zSpy-Programm mit ein, während Spine erst wieder aufwacht, sobald sowohl Gothic als auch der von Spine geöffnete zSpy geschlossen wurden.
Du meinst, dass die Oberfläche deaktiviert wird? Ja, das ist dämlich, dass zSpy Spine auch blockiert, das muss ich besser lösen...
Du meinst, dass die Oberfläche deaktiviert wird? Ja, das ist dämlich, dass zSpy Spine auch blockiert, das muss ich besser lösen...
Ja genau das. Hatte mich schon gewundert, warum Spine plötzlich nicht mehr funktioniert. Könntest du die weißen Elemente in der Oberfläche vielleicht ausgrauen, wenn sie deaktiviert ist (ähnlich wie der GothicStarter), oder eine andere idiotensichere Methode, dem User anzuzeigen, dass das normales, erwartetes Verhalten ist? Die größte Bugquelle sitzt ja bekanntlich vor dem Bildschirm. Da muss man unübersehbare Signale senden:
“Da ist auch noch ein anderer Geruch in der Luft, der Geruch von Feuern, die in der Ferne brennen, mit einem Hauch Zimt darin - so riecht das Abenteuer!”
― aus Walter Moers' "Die 13 1/2 Leben des Käpt'n Blaubär"
Ja genau das. Hatte mich schon gewundert, warum Spine plötzlich nicht mehr funktioniert. Könntest du die weißen Elemente in der Oberfläche vielleicht ausgrauen, wenn sie deaktiviert ist (ähnlich wie der GothicStarter), oder eine andere idiotensichere Methode, dem User anzuzeigen, dass das normales, erwartetes Verhalten ist? Die größte Bugquelle sitzt ja bekanntlich vor dem Bildschirm. Da muss man unübersehbare Signale senden:
Spine 1.11 ist da und auch diese Update bietet wieder einige Bugfixes und neue Features. Die Neuerungen dürften vor allem für die Modder unter euch interessant sein, denn die meisten davon sollen den Moddern die Verwaltung ihrer Mods in Spine leichter machen. So lassen sich jetzt fast alle Einstellungen in der Datenbank über den Management-Dialog einstellen. Desweiteren kann nun jeder für seine Mod selber Übersetzungsanfragen stellen und Übersetzer freischalten.
Durch die Änderungen wird in Zukunft hoffentlich leichter Content für Spine erstellt und auch die Übersetzungen werden hoffentlich besser voran gehen.
Changelog:
Erweiterungen:
- Mods können jetzt auch über die Bibliothek deinstalliert werden
- Optionen "Texturen konvertieren", "Sound deaktivieren" und "Musik deaktivieren" im Entwicklermodus ergänzt
- Übersetzungen können jetzt über Spine angefordert werden
- Es kann jetzt eine Report-Datei generiert werden, die bei der Fehlersuche helfen wird
- Alle eigenen Übersetzungs-Anfragen können jetzt direkt mit Fortschritt angezeigt werden
- Usermanagement und Freundsuche lassen sich jetzt filtern, um schneller User zu finden
- Tooltips im Management-Dialog eingeführt
- Allgemeine Konfigurationsmöglichkeiten für eigenen Modifikation hinzugefügt
- Infoseite kann jetzt aus dem Management-Dialog zum Bearbeiten geöffnet werden
- Übersetzer können jetzt vom Besitzer der jeweiligen Übersetzungsanfrage selbst freigeschaltet werden
Bugfixes:
- Anzeige der Upload-Geschwindigkeit korrigiert
- Gothic-Parser für Übersetzer kann Menütexte jetzt richtig parsen
- Einige Tooltips im Gothic-Konfigurator korrigiert
- Alle Systempack-Einstellungen (Gothic-Konfigurator) werden jetzt korrekt übernommen
- zSpy blockiert jetzt nicht mehr die Spine-GUI nach Beenden einer Mod
- GUI wird bei Spielstart auch optisch besser deaktiviert
- Komprimierte Moddatei wird nach dem Upload jetzt gelöscht
- Crash im Offline-Modus behoben, sobald man die Einstellungen speichern will
EDIT: Ach ja, die Scripts hab ich auch aktualisiert, da ist jetzt der Fix für den Crash bei zu langem Erfolgnamen, den GiftGrün gemeldet hatte, behoben.
Ich weiß jetzt nicht mit Sicherheit, ob es mit Spine zusammenhängt, aber seit dem Update auf 1.11.0 funktioniert der Start per GothicStarter nicht mehr (genauer seit das erste Mal der Dialog "Spine wird jetzt mit Adminrechten neu gestartet" gekommen ist; der hat Spine aber dann doch nicht neu gestartet, sondern nur geschlossen. Dann hab ich versucht, den Spacer über GothicStarter_mod zu starten und es ist abgestürzt). Über Spine startet Gothic sowohl im als auch außerhalb des Entwicklermodus normal. Mit dem GothicStarter_mod, egal welche Einstellungen ich auswähle, crashen sowohl Spacer als auch Gothic II ab mit folgenden Fehlermeldungen:
Spoiler:(zum lesen bitte Text markieren)
Code:
00:05 ---------------
00:05 Warn: 0 X: Failed to open window with x: 3840 y: 2160 .... <zRndD3D_Init.cpp,#1357>
00:05 Info: 5 X: zCDXTCCache_D3D :: ClearCache: Surfaces to clear - 0 .... <zRndD3D_DxtcCache.cpp,#177>
00:06 Warn: 0 X: XD3D_InitPerDX: Can't initialize with 32 bit depth buffer, trying 24 bit ... .... <zRndD3D_Init.cpp,#384>
00:06 Warn: 0 X: XD3D_InitPerDX: Can't initialize with 24 bit depth buffer, trying default ... .... <zRndD3D_Init.cpp,#389>
00:06 Warn: 0 X: XD3D_InitPerDX: Can't initialize with 32 bpp - try 16 bpp ... .... <zRndD3D_Init.cpp,#395>
00:06 Fatal:-1 X: XD3D_InitPerDX: Can't create D3DX context ! Error: DDERR_INVALIDOBJECT .... <zError.cpp,#483>
00:06 Info: 5 X: Vid_SetScreenMode: No changes ... .... <zRndD3D_Vid.cpp,#559>
00:07 Warn: 0 X: XD3D_InitPort: xInitPerDX without ID failed ! .... <zRndD3D_Init.cpp,#513>
00:07 Fatal:-1 D: Direct3D Renderer: Cannot initialize Direct3D Device. Unsupported Video-Hardware or Video-Drivers? Terminating now. .... <zRndD3D_Init.cpp,#1181>
00:07 Info: 5 X: Vid_SetScreenMode: No changes ... .... <zRndD3D_Vid.cpp,#559>
00:07 Warn: 0 X: Vid_SetMode: SetD3Ddevice failed ! .... <zRndD3D_Vid.cpp,#525>
00:07 Info: 3 D: TEX: texMaxSize: 1, texScaleSize: 4, texScaleBPP: -1 .... <zTexture.cpp,#584>
00:07 Fatal:-1 C: maximum texture size is lower than 32. possible reasons: wrong gfx driver setup (install other driver), bad os state (try to reboot), or insufficient gfx hardware (buy better gfx card!) .... <zTexture.cpp,#588>
Die Warnings bzgl. 32/24/16 bpp sind sehr seltsam, weil auf höheren Einstellungen sogar alle unterstützten Auflösungen aufgelistet werden; und da sind viele 16/32 bpp Auflösungen dabei.
“Da ist auch noch ein anderer Geruch in der Luft, der Geruch von Feuern, die in der Ferne brennen, mit einem Hauch Zimt darin - so riecht das Abenteuer!”
― aus Walter Moers' "Die 13 1/2 Leben des Käpt'n Blaubär"
Ich weiß jetzt nicht mit Sicherheit, ob es mit Spine zusammenhängt, aber seit dem Update auf 1.11.0 funktioniert der Start per GothicStarter nicht mehr (genauer seit das erste Mal der Dialog "Spine wird jetzt mit Adminrechten neu gestartet" gekommen ist; der hat Spine aber dann doch nicht neu gestartet, sondern nur geschlossen. Dann hab ich versucht, den Spacer über GothicStarter_mod zu starten und es ist abgestürzt). Über Spine startet Gothic sowohl im als auch außerhalb des Entwicklermodus normal. Mit dem GothicStarter_mod, egal welche Einstellungen ich auswähle, crashen sowohl Spacer als auch Gothic II ab mit folgenden Fehlermeldungen:
Spoiler:(zum lesen bitte Text markieren)
Code:
00:05 ---------------
00:05 Warn: 0 X: Failed to open window with x: 3840 y: 2160 .... <zRndD3D_Init.cpp,#1357>
00:05 Info: 5 X: zCDXTCCache_D3D :: ClearCache: Surfaces to clear - 0 .... <zRndD3D_DxtcCache.cpp,#177>
00:06 Warn: 0 X: XD3D_InitPerDX: Can't initialize with 32 bit depth buffer, trying 24 bit ... .... <zRndD3D_Init.cpp,#384>
00:06 Warn: 0 X: XD3D_InitPerDX: Can't initialize with 24 bit depth buffer, trying default ... .... <zRndD3D_Init.cpp,#389>
00:06 Warn: 0 X: XD3D_InitPerDX: Can't initialize with 32 bpp - try 16 bpp ... .... <zRndD3D_Init.cpp,#395>
00:06 Fatal:-1 X: XD3D_InitPerDX: Can't create D3DX context ! Error: DDERR_INVALIDOBJECT .... <zError.cpp,#483>
00:06 Info: 5 X: Vid_SetScreenMode: No changes ... .... <zRndD3D_Vid.cpp,#559>
00:07 Warn: 0 X: XD3D_InitPort: xInitPerDX without ID failed ! .... <zRndD3D_Init.cpp,#513>
00:07 Fatal:-1 D: Direct3D Renderer: Cannot initialize Direct3D Device. Unsupported Video-Hardware or Video-Drivers? Terminating now. .... <zRndD3D_Init.cpp,#1181>
00:07 Info: 5 X: Vid_SetScreenMode: No changes ... .... <zRndD3D_Vid.cpp,#559>
00:07 Warn: 0 X: Vid_SetMode: SetD3Ddevice failed ! .... <zRndD3D_Vid.cpp,#525>
00:07 Info: 3 D: TEX: texMaxSize: 1, texScaleSize: 4, texScaleBPP: -1 .... <zTexture.cpp,#584>
00:07 Fatal:-1 C: maximum texture size is lower than 32. possible reasons: wrong gfx driver setup (install other driver), bad os state (try to reboot), or insufficient gfx hardware (buy better gfx card!) .... <zTexture.cpp,#588>
Die Warnings bzgl. 32/24/16 bpp sind sehr seltsam, weil auf höheren Einstellungen sogar alle unterstützten Auflösungen aufgelistet werden; und da sind viele 16/32 bpp Auflösungen dabei.
Hm, muss ich mal sehen, ob ich das reproduziert kriege.
Falls es hilft: Ich habe das Systempack, und der Spacer schmiert auch beim Start mit Spine ab (auch, wenn ich das Systempack abwähle). Nur beim Start von Gothic2.exe mit Spine funktioniert es, während es ohne nicht funktioniert.
Was mir jetzt aufgefallen ist: Beim Start einer Mod kommt ja immer kurz ein Fenster, das z.B. sagt: "Überschreibe ini-Einträge". Das kommt beim Start des Spacers nicht. Was könnte denn Spine beim Start einer Mod machen, das den Fehler behebt?
“Da ist auch noch ein anderer Geruch in der Luft, der Geruch von Feuern, die in der Ferne brennen, mit einem Hauch Zimt darin - so riecht das Abenteuer!”
― aus Walter Moers' "Die 13 1/2 Leben des Käpt'n Blaubär"