|
-
Blutsplash auf dem Bildschirm
Wir haben folgendes Problem in unserer Mod. Seit einiger Zeit haben wir beim Kämpfen ständig einen Blutsplash auf dem Bildschirm. Der verschwindet auch nicht, wenn wir in der Gothic.ini die blooddetails auf Null setzen. Den Renderer benutzen wir nicht. Hängst das vielleicht mit Einstellungen bei Ikarus oder Lego zusammen? Was könnte man tun um den Splash zu entfernen?
-
Die Blutflecken sind die Bloodsplats von LeGo. Habt ihr die beim Initialisieren ausgeschaltet?
-
Zitat von Lehona
Die Blutflecken sind die Bloodsplats von LeGo. Habt ihr die beim Initialisieren ausgeschaltet?
Ich nicht, aber möglich, dass es jemand anderes im Team war. Was müsste ich denn da ändern?
-
Zitat von blackpirate
Wir haben folgendes Problem in unserer Mod. Seit einiger Zeit haben wir beim Kämpfen ständig einen Blutsplash auf dem Bildschirm. Der verschwindet auch nicht, wenn wir in der Gothic.ini die blooddetails auf Null setzen. Den Renderer benutzen wir nicht. Hängst das vielleicht mit Einstellungen bei Ikarus oder Lego zusammen? Was könnte man tun um den Splash zu entfernen?
Das ist ein LeGo Paket namens "Bloodsplats". Das wird bei LeGo_Init(LeGo_All) mit-initialisiert. Entfernen könnt ihr es entsprechend, wenn ihr die Initialisierung ändert:
Code:
LeGo_Init(/* Eure Initialisierungen */ & ~LeGo_Bloodsplats);
Eventuell wäre es auch nicht schlecht, einmal alle LeGo-Pakete durch zu gehen und nur die zu initialisieren, die man wirklich verwenden möchte.
EDIT: Leicht zu spät..
Es kann auch sein, dass die Bloodsplats-Framefunction noch weiterläuft, weil sie aus einem Spielstand geladen wird. In dem Fall könnt ihr die Einträge aus der LeGo-Speicherdatei entfernen.
Geändert von mud-freak (19.09.2018 um 13:23 Uhr)
-
Zitat von mud-freak
Das ist ein LeGo Paket namens "Bloodsplats". Das wird bei LeGo_Init(LeGo_All) mit-initialisiert. Entfernen könnt ihr es entsprechend, wenn ihr die Initialisierung ändert:
Code:
LeGo_Init(/* Eure Initialisierungen */ & ~LeGo_Bloodsplats);
Eventuell wäre es auch nicht schlecht, einmal alle LeGo-Pakete durch zu gehen und nur die zu initialisieren, die man wirklich verwenden möchte.
EDIT: Leicht zu spät..
Es kann auch sein, dass die Bloodsplats-Framefunction noch weiterläuft, weil sie aus einem Spielstand geladen wird. In dem Fall könnt ihr die Einträge aus der LeGo-Speicherdatei entfernen.
Wir haben folgenden Eintrag in der Startup:
LeGo_Init(LeGo_All| LeGo_Draw3D & ~LeGo_Bloodsplats);
Ich konnte zwar das Problem lösen, indem ich in der Datei Bloodsplats den Wert Bloodsplat(100) auf Bloodsplat(0) gesetzt habe, doch hat das den Nachteil, dass es bei einer neuen Legoversion überschrieben wird.
//========================================
// Screen komplett vollpampen
//========================================
func void Bloodsplats_Rage() {
var int i; i = 0;
var int pos; pos = MEM_StackPos.position;
if(i < BLOODSPLAT_NUM) {
Bloodsplat(0);//vorher 100!
i += 1;
MEM_StackPos.position = pos;
};
};
Geändert von blackpirate (19.09.2018 um 13:41 Uhr)
-
Such mal in der SCRPTSAVE.SAV im Ordner des Spielstands nach "_Bloodsplats_Loop" und lösche den entsprechenden Block
-
Zitat von mud-freak
Such mal in der SCRPTSAVE.SAV im Ordner des Spielstands nach "_Bloodsplats_Loop" und lösche den entsprechenden Block
Das Problem besteht bei jedem Spielstand.
-
Das Problem besteht mit jedem Spielstand, der erstellt wurde, als bei euch LeGo (noch) mit den Bloodsplats initialisiert war. Wenn du ein neues Spiel startest, sollten die Blutspritzer nicht auftreten.
Um das in Zukunft für alle bestehenden Speicherstände rückwirkend zu entfernen, kannst du auch folgendes in die Mod einbauen.
Code:
if (FF_Active(_Bloodsplats_Loop)) {
FF_Remove(_Bloodsplats_Loop);
};
-
Zitat von mud-freak
Das Problem besteht mit jedem Spielstand, der erstellt wurde, als bei euch LeGo (noch) mit den Bloodsplats initialisiert war. Wenn du ein neues Spiel startest, sollten die Blutspritzer nicht auftreten.
Um das in Zukunft für alle bestehenden Speicherstände rückwirkend zu entfernen, kannst du auch folgendes in die Mod einbauen.
Code:
if (FF_Active(_Bloodsplats_Loop)) {
FF_Remove(_Bloodsplats_Loop);
};
Die bestehenden Speicherstände sind nicht schlimm. Danke für deine Hilfe.
-
Zitat von blackpirate
Wir haben folgenden Eintrag in der Startup:
LeGo_Init(LeGo_All| LeGo_Draw3D & ~LeGo_Bloodsplats);
Ich konnte zwar das Problem lösen, indem ich in der Datei Bloodsplats den Wert Bloodsplat(100) auf Bloodsplat(0) gesetzt habe, doch hat das den Nachteil, dass es bei einer neuen Legoversion überschrieben wird.
//========================================
// Screen komplett vollpampen
//========================================
func void Bloodsplats_Rage() {
var int i; i = 0;
var int pos; pos = MEM_StackPos.position;
if(i < BLOODSPLAT_NUM) {
Bloodsplat(0);//vorher 100!
i += 1;
MEM_StackPos.position = pos;
};
};
Der LeGo_Init Aufruf in der Startup.d ist auch falsch.
der sieht so aus als wolltest du mit '~LeGo_Bloodsplats' die Blutspritzew ganz abschalten
Richtig wäre:
Code:
LeGo_Init((LeGo_All & ~LeGo_Bloodsplats) | LeGo_Draw3D);
-
Zitat von karim09
Der LeGo_Init Aufruf in der Startup.d ist auch falsch.
der sieht so aus als wolltest du mit '~LeGo_Bloodsplats' die Blutspritzew ganz abschalten
Will (und tut) er doch auch, oder nicht?
Deine Version ist auf jedenfall äquivalent und in diesem Fall (Initialisierung von LeGo) ist die Reihenfolge der Operatoren/Operanden auch völlig egal, solange man mit LeGo_All anfängt.
-
Zitat von Lehona
Will (und tut) er doch auch, oder nicht?
Deine Version ist auf jedenfall äquivalent und in diesem Fall (Initialisierung von LeGo) ist die Reihenfolge der Operatoren/Operanden auch völlig egal, solange man mit LeGo_All anfängt.
Code:
LeGo_Init(LeGo_All| LeGo_Draw3D & ~LeGo_Bloodsplats);
Schaltet die Bloodsplats NICHT aus
Code:
LeGo_Init((LeGo_All & ~LeGo_Bloodsplats) | LeGo_Draw3D);
Schaltet die Bloodsplats aus
-
Das heißt & wird vor | ausgewertet? Dann sollte ich wohl meinen Parser anpassen, der ist dann nämlich auch falsch
Witzig, dass es vorher noch nicht aufgekommen ist, aber üblicherweise fügt man LeGo_All ja auch nichts hinzu.
-
Ich vermute eher, dass der Compiler hier von rechts nach links arbeitet
-
Falls ihr das Draw3D-Paket nur wegen GFA mitinitialisiert:
Ich will bald eine kleine neue Version rausbringen, wo das Paket (und somit die Debug-Visualisierungen) optional sind. Dann wird die LeGo-Initialisierung nicht so komplex.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
|
|