Portal-Zone Gothic-Zone Gothic II-Zone Gothic 3-Zone Gothic 4-Zone Modifikationen-Zone Download-Zone Foren-Zone RPG-Zone Almanach-Zone Spirit of Gothic

 

Seite 2 von 5 « Erste 12345 Letzte »
Ergebnis 21 bis 40 von 90
  1. Beiträge anzeigen #21 Zitieren
    Ritter Avatar von Kirides
    Registriert seit
    Jul 2009
    Ort
    Norddeutschland
    Beiträge
    1.780
     
    Kirides ist offline
    Zitat Zitat von mud-freak Beitrag anzeigen
    Hey das sieht nun sehr gut aus!

    Mir sind (leider ) noch ein paar Dinge aufgefallen. Um dir mal endlich Ruhe zu lassen, beschränke ich mich auf kritische Dinge:

    Da die Views und Prints nur per Session existieren, solltest du ihre Pointer nicht in Variablen speichern, sondern in Konstanten (wie schon angedeutet). Denn da Variablen in den Speicherstand wandern, sind die Abfragen in Ninja_PickLockHelper_RemoveText immer TRUE und damit hinfällig. Wird die Funktion nun aufgerufen bevor die Views erstellt wurden, kommt es zu einem Absturz. Natürlich rufst du die Funktion nie vor Ninja_PickLockHelper_DisplayText auf, aber darauf würde ich mich nicht verlassen; es gibt ein paar Bugs mit der Benutzung von Vobs. (Siehe z.B. wenn man beim Schlösseröffnen seine Waffe zieht.) Gleiches gilt für die Variable Ninja_PickLockHelper_DisplayIsShown. Wenn du die fünf Variablen stattdessen als Konstanten mit null initialisierst, ist alles sicherer.

    Die Variable Ninja_PickLockHelper_pickLockString_Mob enthält einen Pointer, der nach Spielladen sicher nicht mehr auf das selbe Mob zeigt. Diese Variable (kannst du auch als Konstante anlegen) solltest du während der Initialisierung des Patches auf null setzen.



    Falls du noch an weiteren, optionalen Verbesserungsvorschlägen interessiert bist hier noch eine kleine Liste
    Spoiler:(zum lesen bitte Text markieren)
    • Am Ende der Initialisierungsfunktion wird ausgegeben, dass der Patch erfolgreich initialisiert wurde. Das ist ein guter Anhaltspunkt, falls ein Spieler mal Troubleshooting machen muss. Theoretisch ist es eine vertane Chance, dass diese Ausgabe immer kommt - auch wenn z.B. aus irgendeinem Grund die G_PickLock in der Mod nicht existiert. Du könntest deine Initialisierung so ändern.
      Code:
      func void Ninja_PickLockHelper_Init_Internal() {
          // Ikarus is necessary already here, LeGo not yet
          MEM_InitAll();
      
          // Check if function even exists before anything
          if (MEM_FindParserSymbol("G_PickLock") != -1) {
          
              // Only when really initializing the patch, will we need LeGo
              LeGo_MergeFlags(LeGo_Interface | LeGo_View);
      
      
              // All other initializations here
      
      
              MEM_Info("PickLockHelper 1.2 was initialized successfully.");    
      
          } else {
              MEM_SendToSpy(zERR_TYPE_WARN, "PickLockHelper 1.2 failed to initialize."); // Warning without stack trace
          };
      };
      Beim Schreiben ist mir gerade ein Fehler aufgefallen in einem meiner Vorschläge für den BetterOrcSlayer-Patch. Ich poste da gleich was in den Thread.

    • Wenn du die Variablen der View-Pointer in Konstanten geändert hast, kannst du anstatt der Konstante displayIsCreated einfach einer der View-Pointer Konstanten gegen null abfragen.

    • Anstatt der extra Variable Ninja_PickLockHelper_DisplayIsShown, könntest du auch einfach überprüfen, ob (einer der) Views geöffnet ist. Hier ein Beispiel aus GFA. Das ist aber nur Zucker und funktioniert schon so wie es ist.

    • Die Funktionen Ninja_PickLockHelper_HOOK_MOBINTER_ENDINTERACTION und Ninja_PickLockHelper_HOOK_MOBINTER_STOPINTERACTION scheinen identisch zu sein. Du kannst also einfach die gleiche verwenden:
      Code:
      HookEngine(MEMINT_SwitchG1G2(oCMobInter__EndInteraction_G1,  oCMobInter__EndInteraction_G2),  6, "Ninja_PickLockHelper_HOOK_MOBINTER_ENDINTERACTION");
      HookEngine(MEMINT_SwitchG1G2(oCMobInter__StopInteraction_G1, oCMobInter__StopInteraction_G2), 6, "Ninja_PickLockHelper_HOOK_MOBINTER_ENDINTERACTION");



    Kleine Frage aus Interesse zum Ende:
    Du schreibst im Hinblick auf die Default-Textur:
    Warum? Was genau willst du überprüfen? Die Default-Textur existiert in jeder Gothic-Installation, ansonsten startet das Spiel nicht. Wenn diese Methode wie sie jetzt ist funktioniert, ist sie um einiges eleganter als eine eigene Textur mitzuliefern.

    Das mit den Konstanten übernehme ich gerne - bin leider sehr festgefahren in meinem Job, dort ist es (selbstverständlich) nicht möglich Konstanten zu überschreiben

    rein theoretisch sollte es kein problem sein, wenn der Pointer (Ninja_PickLockHelper_pickLockString_Mob) sich ändert- ist halt nur blöd weil der Fortschritt dann hinüber ist.

    bzgl. des PS: nach deinen ganzen Vorschlägen habe ich kaum noch vertrauen in Daedalus/die Gothic Engine
    Wenn DEFAULT.TGA Immer da ist, nehme ich das Kommentar gerne raus.

  2. Beiträge anzeigen #22 Zitieren
    Ritter Avatar von Kirides
    Registriert seit
    Jul 2009
    Ort
    Norddeutschland
    Beiträge
    1.780
     
    Kirides ist offline
    schon wiederNeue Version 1.3.0



    Vorschläge von @mud-freak eingebaut - der Patch sollte nun wesentlich robuster sein.

  3. Beiträge anzeigen #23 Zitieren
    Kämpfer Avatar von ZeroLord
    Registriert seit
    Mar 2012
    Ort
    Ignadon
    Beiträge
    312
     
    ZeroLord ist offline
    hab bei wdv mod für g1 leider den fehler bei startup mit dieser meldung:
    U:PAR \NINJA\PICKLOCKHELPER\CONTENT\PICKLOCKHELPER\INIT.D: Unknown identifier : TEXT_FONT_DEFAULT

    plz help
    🎵 ... Kampfkraft und Wendigkeit sind die Vorraussetzung für jeden Kämpfer ... 🎶

  4. Beiträge anzeigen #24 Zitieren
    Ritter Avatar von Kirides
    Registriert seit
    Jul 2009
    Ort
    Norddeutschland
    Beiträge
    1.780
     
    Kirides ist offline
    Zitat Zitat von ZeroLord Beitrag anzeigen
    hab bei wdv mod für g1 leider den fehler bei startup mit dieser meldung:
    U:PAR \NINJA\PICKLOCKHELPER\CONTENT\PICKLOCKHELPER\INIT.D: Unknown identifier : TEXT_FONT_DEFAULT

    plz help
    hm, okay - probier mal diesen hier PickLockHelper.zip, alternativ werde ich wohl eine neue Version mit eigener Schrift als Alternative erstellen müssen :/

  5. Beiträge anzeigen #25 Zitieren
    Kämpfer Avatar von ZeroLord
    Registriert seit
    Mar 2012
    Ort
    Ignadon
    Beiträge
    312
     
    ZeroLord ist offline
    Zitat Zitat von Kirides Beitrag anzeigen
    hm, okay - probier mal diesen hier PickLockHelper.zip, alternativ werde ich wohl eine neue Version mit eigener Schrift als Alternative erstellen müssen :/
    danke nutze gothic leider gothic über spine ich probiers glaub aber nicht das es funkts wenn es nicht über spine läuft (meine zumndets zu glauben das zuzmindets das gothic mod mix aus spinemods und lokallen mods nicht immer funktionierten - deshalb hab ich seit monaten nur noch einen reine spine installation)

    edit: habs auspprobiert bei meiner spine gothic installation mit wdv g1 startet auch bekomm allerdings access violation als ich an eine truhe ging
    als marvin an war sofort acvio
    als ich das ganze bnochmal mit einem anderen save ohne das ich mich mit marvin zu einer truhe begeben musste funzte es ganz kurz (hab oben die leiste mit r und l gesehen) dann kommt aber ebenfalls ein acvio ---

    jeder test mit neuer spielsession gothic komplett zu und neustart von g1
    🎵 ... Kampfkraft und Wendigkeit sind die Vorraussetzung für jeden Kämpfer ... 🎶
    Geändert von ZeroLord (21.12.2019 um 16:58 Uhr)

  6. Beiträge anzeigen #26 Zitieren
    Ritter Avatar von Kirides
    Registriert seit
    Jul 2009
    Ort
    Norddeutschland
    Beiträge
    1.780
     
    Kirides ist offline
    Na prima - dann setzt ich mich morgen noch Mal Ran in teste g1 und dwdv

  7. Beiträge anzeigen #27 Zitieren
    Kämpfer Avatar von Zocker01
    Registriert seit
    Jul 2014
    Beiträge
    300
     
    Zocker01 ist offline
    Ich dachte, dass das hier schon viel früher erwähnt werden würde, aber da es noch keiner gemacht hat, tue ich es jetzt.

    Als ich mit diesem Patch zuletzt (vor ein paar Monaten) Gothic 1 Dunkle Geheimnisse starten wollte, ging es nicht. Die Errormeldung weiß ich nicht mehr, es war jedenfalls 100%ig wegen diesem Patch, denn als ich den Patch entfernt habe, konnte ich problemlos starten und spielen.

    Mit Returning 1.15 und der Respawnmod Enhanced hatte ich dann auch Probleme: Als dieser Patch noch installiert war, stürzte das Spiel beim Zumachen von Kisten (egal, ob sie zuvor ein Schloss hatten oder nicht) einfach ab. Als ich den Patch entfernt habe, waren die Abstürze vorbei.

    edit:
    Ich glaube, dass diese Abstürze mit der älteren Version des Patches nicht stattgefunden haben, aber ob das jetzt mit Ninja 2.0 oder anderen Patches zusammenhängt, kann ich nicht beurteilen. Fakt ist, dass der Patch so, wie er jetzt ist, bei mir Abstürze verursacht und die Abstürze nie mehr gekommen sind, nachdem ich den Patch wieder entfernt habe.
    Geändert von Zocker01 (28.03.2020 um 16:29 Uhr) Grund: Erfahrung mit weiterer Mod eingefügt

  8. Beiträge anzeigen #28 Zitieren
    Benutzer, die ihr Benutzerkonto per E-Mail bestätigen müssen
    Registriert seit
    Jan 2007
    Beiträge
    182
     
    Artagan Lahn ist offline
    Zitat Zitat von Kirides Beitrag anzeigen
    hm, okay - probier mal diesen hier PickLockHelper.zip, alternativ werde ich wohl eine neue Version mit eigener Schrift als Alternative erstellen müssen :/
    Ich hatte den Fehler auch und habs mit der anderen Version getestet. Geht!

    Sieht nur nur nicht so schön aus, dass die Zeile mit LRRLL den Text (z.B. Dietrich abgebrochen) überlappt - aber das liegt vielleicht auch an meinen Einstellungen (?).

  9. Beiträge anzeigen #29 Zitieren
    General Avatar von Roland54
    Registriert seit
    Aug 2018
    Ort
    In Sachsen- Anhalt
    Beiträge
    3.448
     
    Roland54 ist gerade online
    Das Problem mit den Abstürzen (Zocker01 am 25.03.) habe ich jetzt ebenfalls gehabt. Mit dem neuesten Ninja 2.1.01 und der Rückkehr 1.15.6 hatte ich laufend Abstürze beim Schließen von Kisten. Seit ich den Picklockhelper deaktiviert habe, treten diese Abstürze nicht mehr auf

  10. Beiträge anzeigen #30 Zitieren
    Ritter Avatar von Kirides
    Registriert seit
    Jul 2009
    Ort
    Norddeutschland
    Beiträge
    1.780
     
    Kirides ist offline
    Zitat Zitat von Roland54 Beitrag anzeigen
    Das Problem mit den Abstürzen (Zocker01 am 25.03.) habe ich jetzt ebenfalls gehabt. Mit dem neuesten Ninja 2.1.01 und der Rückkehr 1.15.6 hatte ich laufend Abstürze beim Schließen von Kisten. Seit ich den Picklockhelper deaktiviert habe, treten diese Abstürze nicht mehr auf
    Hast du vielleicht eine Access Violation für mich? (noch besser wäre ein zSpy Log mit dem Absturz)

  11. Beiträge anzeigen #31 Zitieren
    General Avatar von Roland54
    Registriert seit
    Aug 2018
    Ort
    In Sachsen- Anhalt
    Beiträge
    3.448
     
    Roland54 ist gerade online
    Ich habe den Absturz mit eine leeren Truhe provoziert. Hier ist das zSpylog.

  12. Beiträge anzeigen #32 Zitieren
    Ritter Avatar von Kirides
    Registriert seit
    Jul 2009
    Ort
    Norddeutschland
    Beiträge
    1.780
     
    Kirides ist offline
    Zitat Zitat von Roland54 Beitrag anzeigen
    Ich habe den Absturz mit eine leeren Truhe provoziert. Hier ist das zSpylog.
    Hmm, habe gerade keine Returning 1.15 installation (mache mir heute abend mal eine)

    Aber im Quellcode sehe ich nichts auffälliges, das "zCView::Close" wird lediglich an zwei stellen innerhalb einer Methode ausgeführt

    Code:
    func void Ninja_PickLockHelper_RemoveText() {
        Ninja_PickLockHelper_pickLockString_Current = "";
        if(Ninja_PickLockHelper_ptrTextViewBg) {
            ViewPtr_Close(Ninja_PickLockHelper_ptrTextViewBg);
        };
        if(Ninja_PickLockHelper_ptrTextViewLastBg) {
            ViewPtr_Close(Ninja_PickLockHelper_ptrTextViewLastBg);
        };
        Ninja_PickLockHelper_DisplayIsShown = 0;
    };
    EDIT:
    @Roland54
    Hast du einen Spielstand für mich, damit ich das probieren kann?
    Geändert von Kirides (15.06.2020 um 10:44 Uhr)

  13. Beiträge anzeigen #33 Zitieren
    General Avatar von Roland54
    Registriert seit
    Aug 2018
    Ort
    In Sachsen- Anhalt
    Beiträge
    3.448
     
    Roland54 ist gerade online
    Vielleicht noch eine kleine Ergänzung dazu:

    Ich habe den Picklockhelper vorher schon eine ganze Weile verwendet, ohne Abstürze zu haben. Die Abstürze sind nur aufgetreten bei Truhen, die entweder prinzipiell offen waren, oder die ich vorher schon geöffnet und geleert hatte. Ob es damit zu tun hat? Meines Wissens hat sich dabei auch das Fenster mit den RL- Einträgen nicht geöffnet. Liegt hier eventuell ein Grund?

  14. Beiträge anzeigen #34 Zitieren
    Ritter Avatar von Kirides
    Registriert seit
    Jul 2009
    Ort
    Norddeutschland
    Beiträge
    1.780
     
    Kirides ist offline
    Zitat Zitat von Roland54 Beitrag anzeigen
    Vielleicht noch eine kleine Ergänzung dazu:

    Ich habe den Picklockhelper vorher schon eine ganze Weile verwendet, ohne Abstürze zu haben. Die Abstürze sind nur aufgetreten bei Truhen, die entweder prinzipiell offen waren, oder die ich vorher schon geöffnet und geleert hatte. Ob es damit zu tun hat? Meines Wissens hat sich dabei auch das Fenster mit den RL- Einträgen nicht geöffnet. Liegt hier eventuell ein Grund?
    Hmm, habe gerade mal Die Rückkehr 1.15.6 mit Ninja 2.1 und dem PickLockHelper probiert.
    Mit dem PickLockHelper im \Data\ Verzeichnis, kann ich kein Spiel Starten/Laden - Es bleibt einfach am Ende hängen.

    @Mud-freak:
    Kannst du damit etwas anfangen?

    Es bleibt am Ende hier hängen, egal welchen Patch ich verwende

    Code:
    -4-	07:28 Info:  5 J: NINJA: Injecting infos .... <zError.cpp,#465>
    -4-	07:28 Info:  5 J:  NINJA: Infos before: 6279 .... <zError.cpp,#465>
    -4-	07:28 Info:  5 J:  NINJA: Infos after:  6279 .... <zError.cpp,#465>
    full_zSpy_log.txt

  15. Beiträge anzeigen #35 Zitieren
    Ehrengarde Avatar von mud-freak
    Registriert seit
    Dec 2005
    Beiträge
    2.199
     
    mud-freak ist offline
    Zitat Zitat von Kirides Beitrag anzeigen
    Aber im Quellcode sehe ich nichts auffälliges, das "zCView::Close" wird lediglich an zwei stellen innerhalb einer Methode ausgeführt
    Der Absturz geschieht, weil der String textMaxLength des zCView Objekts ungültig ist. Das kann unter normalen Umständen nicht passieren. Auch nicht, wenn das View noch nie offen war. Anstatt da jetzt groß herumzuforschen wird wahrscheinlich folgendes schon reichen, weil das Problem laut Roland54s Erfahrung nur auftritt, wenn das View nicht offen ist.

    Code:
    func void Ninja_PickLockHelper_RemoveText() {
        Ninja_PickLockHelper_pickLockString_Current = "";
        var zCView view;
        if(Ninja_PickLockHelper_ptrTextViewBg) {
            view = _^(Ninja_PickLockHelper_ptrTextViewBg);
            if (view.isOpen) {
                ViewPtr_Close(Ninja_PickLockHelper_ptrTextViewBg);
            }; 
        };
        if(Ninja_PickLockHelper_ptrTextViewLastBg) {
            view = _^(Ninja_PickLockHelper_ptrTextViewLastBg);
            if (view.isOpen) {
                ViewPtr_Close(Ninja_PickLockHelper_ptrTextViewLastBg);
            }; 
        };
        Ninja_PickLockHelper_DisplayIsShown = 0;
    };

    EDIT:
    Zitat Zitat von Kirides Beitrag anzeigen
    @Mud-freak:
    Kannst du damit etwas anfangen?
    Ich werd mal schauen.

  16. Beiträge anzeigen #36 Zitieren
    General Avatar von Roland54
    Registriert seit
    Aug 2018
    Ort
    In Sachsen- Anhalt
    Beiträge
    3.448
     
    Roland54 ist gerade online
    Falls es hilft: Hier ist ein Spielstand auf Onars Hof, bei der Schmiede. Wenn ich die Truhe dort mit aktiviertem Picklockhelper öffne und schließe, dann stürzt das Spiel ab.

  17. Beiträge anzeigen #37 Zitieren
    Ritter Avatar von Kirides
    Registriert seit
    Jul 2009
    Ort
    Norddeutschland
    Beiträge
    1.780
     
    Kirides ist offline
    Zitat Zitat von Roland54 Beitrag anzeigen
    Falls es hilft: Hier ist ein Spielstand auf Onars Hof, bei der Schmiede. Wenn ich die Truhe dort mit aktiviertem Picklockhelper öffne und schließe, dann stürzt das Spiel ab.

    Probier mal bitte die aktuelle Version https://github.com/Kirides/ninja-pic...ses/tag/v1.4.0

    Dort habe ich @mud-freaks Vorschlag eingebaut. Interessanterweise Funktioniert dein Spielstand bei mir, damit hatte ich dann auch kein Crash beim Verlassen einer Truhe.

  18. Beiträge anzeigen #38 Zitieren
    Ehrengarde Avatar von mud-freak
    Registriert seit
    Dec 2005
    Beiträge
    2.199
     
    mud-freak ist offline
    Zitat Zitat von Kirides Beitrag anzeigen
    @Mud-freak:
    Kannst du damit etwas anfangen?
    Ich kann nicht erkennen, warum es hängen bleiben sollte. Die letzten Ausgaben gibt Ninja aus, kurz bevor es bei 0x6C6D24 in oCGame::LoadSavegame mit oCMissionManager::Unarchive weitergeht. Nach der Ausgabe gibt es innerhalb von Ninja keinerlei Schleifen oder Sprünge bevor es in der Engine weitergeht, in der das Spiel steckenbleiben könnte. Normalerweise kommt danach ein weiteres "ARC: .. Closing (x objects)", bevor die Init_Global aufgerufen wird. Da das ausbleibt, steckt das Spiel scheinbar entweder beim Laden des oCMissionManger oder des oCLogManager fest.

    Falls das Problem bestehen bleibt, erhöhe mal dein zSpy Level auf 9. Dann ließe sich das evtl. noch weiter eingrenzen. Andernfalls würde ich einen Debugger einklinken und schauen was um 0x6C6D24 herum passiert - aber ich bin nicht so motiviert mir dafür jetzt Returning zu installieren.

  19. Beiträge anzeigen #39 Zitieren
    Ritter Avatar von Kirides
    Registriert seit
    Jul 2009
    Ort
    Norddeutschland
    Beiträge
    1.780
     
    Kirides ist offline
    Zitat Zitat von mud-freak Beitrag anzeigen
    Ich kann nicht erkennen, warum es hängen bleiben sollte. Die letzten Ausgaben gibt Ninja aus, kurz bevor es bei 0x6C6D24 in oCGame::LoadSavegame mit oCMissionManager::Unarchive weitergeht. Nach der Ausgabe gibt es innerhalb von Ninja keinerlei Schleifen oder Sprünge bevor es in der Engine weitergeht, in der das Spiel steckenbleiben könnte. Normalerweise kommt danach ein weiteres "ARC: .. Closing (x objects)", bevor die Init_Global aufgerufen wird. Da das ausbleibt, steckt das Spiel scheinbar entweder beim Laden des oCMissionManger oder des oCLogManager fest.

    Falls das Problem bestehen bleibt, erhöhe mal dein zSpy Level auf 9. Dann ließe sich das evtl. noch weiter eingrenzen. Andernfalls würde ich einen Debugger einklinken und schauen was um 0x6C6D24 herum passiert - aber ich bin nicht so motiviert mir dafür jetzt Returning zu installieren.
    Ich denke mal, das wird (vorerst) nicht nötig sein. Der Spielstand wurde mit Union 1.0h (12.06.20) erstellt und gespeichert. Scheinbar macht diese Version (und Vorgänger?) irgendwas komisches mit den Speicherständen.

  20. Beiträge anzeigen #40 Zitieren
    General Avatar von Roland54
    Registriert seit
    Aug 2018
    Ort
    In Sachsen- Anhalt
    Beiträge
    3.448
     
    Roland54 ist gerade online
    Mit dieser Version ist das Spiel zumindest bei dieser Truhe nicht mehr abgestürzt. Ich werde also mit dieser Version weiter testen, danke erst einmal.

    Edit:
    Falls es um meinen Spielstand ging, der wurde nicht mit Union, sondern mit SP1.7 erzeugt. Union 1.0h ist zwar installiert, aber in einem anderen Gothic 2- Verzeichnis.

    Edit2: Ich habe den an euch übermittelten Spielstand noch einmal getestet. Mit der alten Version der PickLockHelper.vdf stürzt das Spiel beim Schließen der Truhe ab. Mit der neuen Version läuft alles weiter, wie es soll, kein Absturz mehr.
    Geändert von Roland54 (15.06.2020 um 13:46 Uhr)

Seite 2 von 5 « Erste 12345 Letzte »

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
Impressum | Link Us | intern
World of Gothic © by World of Gothic Team
Gothic, Gothic 2 & Gothic 3 are © by Piranha Bytes & Egmont Interactive & JoWooD Productions AG, all rights reserved worldwide