[Spielinhalt] Baldurs Tor Tag und Nacht Videos

White Agnus

Senior Member
Registriert
05.09.2008
Beiträge
5.088
Beim durchstreifen von Baldurs Tor ist mir aufgefallen, das wenn es vom Tag zur Nacht oder von der Nacht zum Tag übergeht, das Video aus Handelstreff abgespielt wird. Den schuldigen habe ich gefunden, es ist die BGMain.exe in der dies gespeichert ist.

Man könnte es zwar auch über den unschönen Weg machen in dem mann die DAYNITE.mve und NITEDAY.mve überschreibt und nach der Transition zu BG2 wieder zurück überschreibt. Das Problem ist bloß, die Videos werden nur gestartet wenn sie gebifft sind. Zum deinstallieren muss der Eintrag aus der Chitin.key gelöscht werden, d.h. es werden auch die Handelstreff Videos nicht mehr erkannt. Also müssten die Handelstreff Videos nocheinmal erneut gebifft werden.

Jetzt habe ich eine Frage, kennt jemand ein gutes Tutorial wie man die BGMain.exe mit Weidu bearbeitet?
Das wäre nämlich der schönere Weg. ;)

Oder wäre es besser, diese Aufgabe Ascension64 zuzuspielen?

Das ganze ist zwar nur eine kleinigkeit, es störrt mich aber gewaltig. ;)
 
Zuletzt bearbeitet:

Leomar

Senior Member
Registriert
27.12.2007
Beiträge
2.893
Also eine Kleinigkeit finde ich das nicht. Nur komisch, das dies bis jetzt noch keiner berichtet hat... :hae:

Kannst du bestätigen, das die Videos auch vertauscht werden, wenn man nur BGT installiert hat? Wenn ja und nur dann, ist es ein reines BGT Problem und ich werde es dann im BGT Forum erwähnen. Falls nicht, wurschtelt hier ein Mod darin rum und dann liegt es an uns, den Fehler herauszufinden.

Gruß Leomar
 

White Agnus

Senior Member
Registriert
05.09.2008
Beiträge
5.088
Ja es ist ein reines BGT Problem! Habs gestern bei ner reinen Minimalinstallation getestet. Hab auch selber mit einem Editor den ASCII Code meiner BGMain.exe so geändert das die Baldurs Tor Videos abgespielt werden.

Da ich aber nicht alleine auf meine Tests vertraue, würde ich jemanden bitten nach BG zu reisen und solange STRG+T zu drücken bis die Sonne auf- oder untergeht, damit das mit dem Video bestätigt werden kann.

Wie gesagt eine Lösung hätte ich parat, nachdem mann aber die original DAYNITE.mve und NITEDAY.mve übersschrieben hat, das wieder deinstalliert, müssen die originalen auch nochmnal gebifft werden.

Das Patchen der BGMain.exe wäre der beste Weg. Diesen Fix könnte man in BGTMusic einbetten, da dieses eh nach der Transition wieder deinstalliert wird.

Ich würden den Patch auch selbst herstellen, wenn ich wie gesagt ein gutes Tutorial zur Bearbeitung der BGMain.exe finden würde, nur aus den TP2 Codes von zB Ascension64 Charm Fix, werd ich leider nicht schlau. :(
 

Taimon

Infinity Engineer
Registriert
25.11.2001
Beiträge
1.501
Wieso nochmal biffen?
Wenn du die chitin.key mit ins Backup schiebst, dann steht doch dort die alte Biff-Referenz drin und ein einfaches Deinstallieren des Mods (bzw. der Komponente) stellt den alten Zustand wieder her.

Das Patchen der bgmain.exe würde ich mir zwar zutrauen, allerdings bin ich bei solchen Dingen immer extrem vorsichtig. Kann man das Verhalten nicht über ein Areascript (oder baldur.bcs) simulieren?
Das einzige Problem das ich sehe, ist, dass das Abspielen der originalen Filme irgendwie verhindert werden muss.
 

White Agnus

Senior Member
Registriert
05.09.2008
Beiträge
5.088
Wieso nochmal biffen?
Wenn du die chitin.key mit ins Backup schiebst, dann steht doch dort die alte Biff-Referenz drin und ein einfaches Deinstallieren des Mods (bzw. der Komponente) stellt den alten Zustand wieder her.

Ich habe das mit dem Backup der chitin.key probiert, bei den MVEs findet er leider zumindest bei mir die alten gebifften DAYNITE.mve und die NITEDAY.mve leider nicht, ich weiß auch nicht wieso.

Das Patchen der bgmain.exe würde ich mir zwar zutrauen, allerdings bin ich bei solchen Dingen immer extrem vorsichtig. Kann man das Verhalten nicht über ein Areascript (oder baldur.bcs) simulieren?
Das einzige Problem das ich sehe, ist, dass das Abspielen der originalen Filme irgendwie verhindert werden muss.

Das Verhalten zu simulieren ist kein Problem. Das Abspielen der originalen Filme kann durch entfernen der Location flag "Extended night" verhindert werden. Ich weiß aber leider nicht was dabei sonst noch abgeschaltet wird. Wenn man noch wüsste was sonst noch alles bei Extended Night beinhaltet ist, ausser den Videos könnte man das vielleicht auch per Skript simulieren.
 

Taimon

Infinity Engineer
Registriert
25.11.2001
Beiträge
1.501
Tja, dann entweder jemanden fragen, der sich eventuell damit auskennt (devSin, Avenger [TeamBG], ...) oder selbst in die EXE schauen. (Oder einfach probieren. :))
 

White Agnus

Senior Member
Registriert
05.09.2008
Beiträge
5.088
Hast du vielleicht die eMail Adressen der beiden?
€dit: Avenger hab ich im SHSForum eine PM geschrieben. Bei Pocketplane und bei G3 funktioniert das PM System bei mir scheinbar nicht sonst, hätte ich auch devSin kontaktiert.
 
Zuletzt bearbeitet:

Taimon

Infinity Engineer
Registriert
25.11.2001
Beiträge
1.501
Mach' am besten einen neuen Beitrag im Modding Q&A Forum.
 

White Agnus

Senior Member
Registriert
05.09.2008
Beiträge
5.088
Hier die Antwort von devSin:
"Extended night" means the area has a separate night tileset (there are two tilesets; one for day, and one for night). This functionality cannot be replicated through scripting.

Das heißt wohl oder übel, das wir doch an die BGMain.exe ranmüssen oder die hässliche überschreibungs Methode verwenden müssen....

Was sagt Ihr dazu?
 

Taimon

Infinity Engineer
Registriert
25.11.2001
Beiträge
1.501
Okay, nachdem ich jetzt festgestellt habe, wie schwierig es ist, den exakten Zeitpunkt des Sonnenauf- bzw. -untergangs zu triggern, stimme ich dir zu, dass es besser ist, die EXE zu patchen. (Was übrigens einfacher geht als du denkst - nix mit binär. ;))

Vorschlag (wie immer ungetestet :)):
Code:
BACKUP bgvideos
AUTHOR me

BEGIN ~Baldur's Gate Videos~
INSTALL_BY_DEFAULT

COPY bgmain.exe bgmain.exe
    REPLACE_TEXTUALLY EXACT_MATCH DAYNITE BGSUNSET (8)
    REPLACE_TEXTUALLY EXACT_MATCH NITEDAY BGSUNRIS (8)
BUT_ONLY
Die (8) sollte eigentlich dafür sorgen, dass der erste String mit einem Nullbyte aufgefüllt wird. (Und das EXACT_MATCH ist eigentlich nicht nötig, aber schadet auch nicht.)
 

White Agnus

Senior Member
Registriert
05.09.2008
Beiträge
5.088
Ach Mann, ich hab gerade herausgefunden, wie das ganze Binär geht, dann kommst du mit so einer Lösung daher. ;)
Ich installier gerade eine neue Minimalinstallation, dann wird deins natürlich gleich getestet.
Das mit dem Sonnen Auf- und Untergang ist doch gar nicht so schwer:
Code:
IF
[B]     Time(DUSK_END)[/B]
    Global("SUNSET","GLOBAL",0)
THEN
    RESPONSE #100
        StartMovie("BGSUNSET")
        SetGlobal("SUNSET","GLOBAL",1)
        SetGlobal("SUNRISE","GLOBAL",0)
END

IF
[B]     Time(DAWN_END)[/B]
    Global("SUNRISE","GLOBAL",0)
THEN
    RESPONSE #100
        StartMovie("BGSUNRISE")
        SetGlobal("SUNRISE","GLOBAL",1)
        SetGlobal("SUNSET","GLOBAL",0)
END
DUSK_END und DAWN_END sind doch perfekt für Sonnen Auf- und Untergang. ;)


Aber ich habe auch noch eine Komplett neue Idee. Ich will das DAYNITE und das NITEDAY komplett mit gar nichts überschreiben und dann lieber die Scripts so bearbeiten wie oben gezeigt, dann müsste nach der Transition zu BG2 nichts wieder deinstalliert werden.
In spätestens ner Stunde geb ich die Testergebnisse bekannt. ;)
 
Zuletzt bearbeitet:

White Agnus

Senior Member
Registriert
05.09.2008
Beiträge
5.088
@Taimon,
deine Lösung funktioniert nicht, da DAYNITE sieben Zeichen hat und BGSUNSET acht Zeichen, genauso bei NITEDAY(sieben) und BGSUNRISE(neun).

Ich habe aber meine Lösung mit dem Überschreiben von DAYNITE und NITEDAY durch nichts ausprobiert und das ganze funktioniert perfekt.
D.H. man braucht keine Deinstallation nach der Transitition machen, in BG und in Handelstreff werden via Script die Videos getriggert und nicht mehr durch die BGMain.exe. ;)
Hier gibts den Fix, sollte aber aufjedenfall nochmal richtig durchgetestet werden. Bei meiner derzeitigen Version funktioniert es perfekt. Morgen teste ichs noch an der englischen Version. Ich wäre aber froh wenn das nochjemand testen würde. *Freiwilige vor*:D

€dit: Mir fällt gerade auf, ich hab genau eine Stunde und eine Minute gebraucht. :D
 
Zuletzt bearbeitet:

Taimon

Infinity Engineer
Registriert
25.11.2001
Beiträge
1.501
Bitte auch lesen, was ich da schreibe. :)
Die (8) dahinter sorgt dafür, dass das mit der Länge passt. (Bei 7 Zeichen wird ein Nullbyte hinzugefügt.)
Und der eine Film heißt BGSUNRIS (ohne E -> max. 8 Zeichen).


DAWN_END ist doch gleichbedeutend mit 7, was zu spät ist, da der eigentliche Sonnenaufgang ca. 6:30 stattfindet.
Mein Ansatz war, alles in die baldur.bcs zu packen, bei DAWN_START einen (bzw. zwei) Timer zu starten und nur dann das Video anzuzeigen, wenn der erste Timer abgelaufen ist, der zweite aber noch nicht. (Außerdem noch auf die Area begrenzen.)
 

White Agnus

Senior Member
Registriert
05.09.2008
Beiträge
5.088
Also bei mir hats, bei DAWN_END immer um 06:30 das Video angezeigt, wenn ich mich jetzt nicht ganz täusche...
Ich teste das morgen nochmal. Wenn könnt ich mir ja ein Schleifchen zusammenbasteln. ;)

Ich hab deinen Fix mit der (8) am Schluss installiert aber der hat das Leerzeichen überschrieben, sodass NITEDAYNITEDAYDAYNITEDAYNITE in der BGMain.exe stand und die Videos sind auch nicht gekommen. Ich schätze das liegt daran, das nur 7 Zeichen aus der BGmain.exe ausgelesen werden.
Mit dem BGSUNRIS hattest du Recht. ;)

Warum das ganze in die baldur.bcs packen? Alle anderen Videos liegen doch auch in den ARxxxx.bcs.
 

Taimon

Infinity Engineer
Registriert
25.11.2001
Beiträge
1.501
Bei mir klappt es komischerweise.
Wieso steht denn nach dem Installieren da noch DAYNITE? (sollte doch entsprechend ersetzt worden sein)
Und das das Leerzeichen (welches übrigens ein Nullbyte ist) überschrieben wird, ist durchaus Absicht. (Sonst passt es ja nicht von der Länge her.)

baldur.bcs: Wegen den Timern, aber dass siehst du später noch. :)
 

White Agnus

Senior Member
Registriert
05.09.2008
Beiträge
5.088
Ok, ich probier deins morgen nocheinmal, aber ich find meine Version besser, da so bei der Transition nichts deinstalliert werden muss.

Das mit dem DAYNITE.... war ein Denkfehler von mir, es stand BGSUNSETBGSUNSETBGSUNRISBGSUNRIS da. ;)

Das mit den Timern werde ich auch morgen ähh mittlerweile heute noch mal genau anschauen....
 

Leomar

Senior Member
Registriert
27.12.2007
Beiträge
2.893
Beeindruckend, was Ihr hier auf die Beine stellt, um das Problem zu fixen. Ich fände es super, wenn Ihr den Fix vollbracht habt, diesen mit einer kurzen Erklärung auch im BGT Forum zu posten, so das Ascension64 diesen Fix in die nächste BGT Version mit einbinden kann.

Unglaublich, das so ein Fehler Jahrelang nicht berichtet wurde...

Gruß Leomar
 

White Agnus

Senior Member
Registriert
05.09.2008
Beiträge
5.088
Heute werde ich leider nicht allzuviel Zeit finden, mir die Timing Funktionen richtig anzuschauen, aber ich bin zuversichtlich das ich das dieses Wochenende hinkriege.

Ich werde, wenn der Fix fertig ist, diesen im BGT Forum posten.


Unglaublich, das so ein Fehler Jahrelang nicht berichtet wurde...

Hmm, gut das ich das Modden angefangen habe, ich hab für eine meiner Quest einen Timer eingebaut und musste ihn warten, da bin ich über die Videos gestolpert. ^^
 

Wedge

Wedgetarian
Registriert
04.07.2007
Beiträge
9.373
Mir ist das schon jahrelang aufgefallen, hat mich nur nie gestört, weil ich die Videos sowieso sofort wegklicke, wenn sie anfangen. ^^
 
Oben