Crystals-DSA-Foren

Normale Version: Reverse Engineering der NLT
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Viel mehr würde mich interessieren, für welche Begebenheiten die Bilder mal gedacht waren. Die Schlange könnte ich mir schon als Zufallsbegegnung vorstellen, aber die Häuser passen vom Stil her nicht ubedingt nach Thorwal. Sieht mir mehr nach einem Mittelländischen Hof aus.

Bin ich wieder neugierig.
Glaube, diese Frage gehört nicht mal hierher. Sorry, wenn offtopic
Kjaskar schrieb:Sieht mir mehr nach einem Mittelländischen Hof aus.
Könnte auch mal als "Hjallander Hof" auf Hjalland angedacht gewesen sein. Viel mehr Häuser stehen dort sowieso nicht. :D
Den Zwölfen zum Gruße!

HenneNWH schrieb:Kennt jemand diese Bilder?

Diese Animationsbilder hab ich in der ANIS-Datei gefunden, aber noch nie im Spiel gesehen.

Crystal schrieb:Interessant, was sich alles findet. :up: Schade, dass es die Bilder nicht ins Spiel geschafft haben. Damit sähe Schick gleich um Klassen besser aus.

Noch schöner sehen sie im FreeDSA-Wiki aus. Dort sieht man sie mit der richtigen Palette, d.h. in ihrer ganzen Farbpracht.

Es gibt (mindestens) zwei Dateien, die Texte enthalten, welche zu dem Bild mit der Schlange passen. Da ich diese Texte bereits vorher kannte, bin ich umso erfreuter, jetzt dazu die passende Grafik zu sehen!

MAPTEXT.LTX

* Ihr habt Anzahl Kvillottern aufgescheucht.
* Vor Euch raschelt das Gras. Kvillottern.
* Kvillottern ringeln sich vor Euch im Gras.

Generelle Optionen, welche in der gleichen Datei erwähnt werden:
* Umgehen
* Flucht
* Ansprechen
* Kampf

"Ansprechen" ist bei einer Schlange wohl wenig sinnvoll (außer in diesem Märchen mit der Magd im Kuhstall), aber die Möglichkeiten beziehen sich auf eine Reihe von Reiseereignissen, bei denen man Mensch oder Tier begegnet. Übrigens hat es kaum eine dieser Begegnungen ins fertige Spiel geschafft.

WILD.LTX

* Ihr habt offensichtlich eine Kvillotter aufgeschreckt...
* Ein Held wird ins Bein gebissen! Mit einem wütenden Züngeln verschwindet die Schlange im hohen Gras.
* Mit einem wütenden Züngeln verschwindet die Schlange im hohen Gras.

Interessant daran ist, dass es mit den Kvillottern zahlreiche weitere Möglichkeiten gegeben hätte, dass sich ein Held vergiftet, ohne an dem Gift sofort zu sterben (etwa wie bei Waffengiften). Dadurch hätten die Heiler bzw. das Talent "Gift heilen" (letzteres zumal mitten während einer Reise!) erheblich mehr Bedeutung gehabt.

Es wurde bereits gefragt, warum einige Kämpfe und Gegner im fertigen Spiel nicht auftauchen, obwohl sie mehr oder weniger fertig entwickelt waren. Guido Henkel antwortete darauf, man habe sich noch einige Sachen für den nächsten Teil aufheben wollen, um noch genügend neue Elemente für die Fortsetzung zu haben. Genau das scheint auch hier geschehen zu sein. Betritt die Heldengruppe im Svellttal den Sumpf des Vergessens, kann es immer wieder vorkommen, dass sie auf eine Kvillotter trifft. Manchmal reagieren die Helden noch rechtzeitig, sonst wird einer von ihnen gebissen.
Kunar weiss einfach alles!

Ich könnte wetten, dass du sogar den Quellcode der schickm.exe aus dem Kopf aufsagen kannst, Stimmts :)

Ich versteh leider blos nicht, warum die Animationen überhaupt noch da drin sind.
Immerhin brauchen die ja auch zusammen ca 25 KB, was für damalige Verhältnisse
nicht ganz wenig war. Ich denk auch nicht, dass das das Einzige ist was noch zum Vorschein kommt.

Für Leute die wissen wie man die DosBox selber compiliert und gern mehr über die Schickm.exe erfahren wollen aufgepasst:

Im SVN-repo liegt ein Patch für die DosBox, der die Dos-Dateioperationen sichtbar macht.
Dosbox-Source runterladen, entpacken, patch einspielen, ./configure && make,
dosbox in euer DosBox-Arbeitsverzeichniss kopieren und diese starten, fertig.

Ich habe noch eine saubere und bessere Variante davon in der Pipeline, aber die werde ich erst nächste Woche commiten können.

Schönes Wochenende!
HenneNWH schrieb:Für Leute die wissen wie man die DosBox selber compiliert und gern mehr über die Schickm.exe erfahren wollen aufgepasst:

Im SVN-repo liegt ein Patch für die DosBox, der die Dos-Dateioperationen sichtbar macht.
Dosbox-Source runterladen, entpacken, patch einspielen, ./configure && make,
dosbox in euer DosBox-Arbeitsverzeichniss kopieren und diese starten, fertig.

Ich habe noch eine saubere und bessere Variante davon in der Pipeline, aber die werde ich erst nächste Woche commiten können.

Ich glaube, das gucke ich mir mal an. :)
Das mit den Kvillottern und den Giften hatte letztlich eine Menge mit dem Testaufwand zu tun der nötig gewesen wäre um sicherzustellen, dass das alles richtig funktioniert und dass sich da keine ungewollten Nebeneffekte einschleichen. Es gibt ein paar solche Sachen in Schicksalsklinge die programmiert und fertig waren aber letztendlich abgeschalten wurden weil der Testaufwand zu dem Zeitpunkt zu gross gewesen wäre um Sicherzustellen, dass alles richtig funktioniert und die Konsequenzen das Spiel nicht aus der Balance werfen.

Als wir "Schicksalsklinge" fertigstellten waren wir enorm unter Druck, das Ding fertigzubekommen, weil uns da langsam das Geld ausging wenn ich mich recht erinnere. Es war das erste der Games und wir hatten die gesamte Entwicklng komplett aus eigener Tasche finanziert. Bei den Nachfolgern wurde es *etwas* einfacher weil wir Geldeingänge von den vorhergegegangen Games hatten.
Hmm...verstehe,

und mehr Features machen ein Spiel nicht unbedingt besser. Wenn wir die "Erlaubnis" von Jochen bekommen und noch genug Fragmente davon finden können wir das ja noch einbauen :)
Das ganze kurzfristig und sauber zu entfernen stelle ich mir, unter DOS, eigentlich auch Recht schwierig vor, weil man im Sourcen-Wust sicher schnell die Orientierung verliert.

Weist du noch was es mit dem Bauernhof auf sich hatte?
Ist das der Hjallander Hof? Oder was ganz was anderes?
Hallo,

HenneNWH schrieb:Das ist mir gerade beim basteln mit den Animationen passiert.
Ich ersetze gerade die normale Tempelanimation mit allen anderen Animationen,
um im Wiki eine Beschreibung für die ANIS-Datei zu machen.
Bei Einigen strürzt Schickm.exe ab, bei Anderen kommt dann soetwas heraus.
das ist, wenn auch etwas verbuggt in Bezug auf das nicht dorthin gehörende Travia-Symbol, das Bild vom Altar des Namenlosen in der Kultstätte des Namenlosen auf Hjalland.

Gruß
Zurgrimm
Danke,
der "Bug" war auch nur ein Spass von mir, da ein Symbol der Zwölf gar nicht in einen Namelosen-Tempel passt. ;)

@Obi-Wahn: Ich habe den aktuellen Patch jetzt ins Repo gestellt. Da steht auch drin, wie man ihn installiert. Sag mir bitte was du davon hälst und ob alles geklappt hat.
Ich halte es für ein sehr gutes Wergzeug.
Im Gegensatz zu "lsof" (was "nur" Systemcalls anzapft) kann man mit diesem Patch ganz leich auch die CPU anzapfen.
Eines der nächsten Ziele von mir ist die C-Funktion random() zu finden.
Damit würfeln C++ Programme. ;)
@HenneNWH: Hört sich ja echt toll an, was du da machst. Ich hatte mir auch schon überlegt, dass der Zufallsgenerator vielleicht der beste Ansatzpunkt für ein Auseinandernehmen der schickm.exe wäre, weil man von dort aus leicht an die Funktionen für Eigenschaftsproben etc. rankommt.

Ich weiß zwar nicht, wie du die random()-Funktion finden willst, aber vergiss nicht, dass es auch noch die gleichartige rand()-Funktion gibt.

Ab nächste Woche habe ich hoffentlich ein wenig mehr Zeit, so dass ich mich auch mal ransetzen kann.
@Hendrik:
Da es unter Dos noch keine DLLs gab, mussten die Bibliotheksfunktionen (rand(),random(),fopen(),etc.) in die Exe-Datei eingelinkt werden.
Da ich zu wissen glaube, dass es Schickm.exe mit Borland C++ 3.1 kompiliert wurde,
kann ich mit meinem Kompiler ein kleines Programm schreiben, welches rand(), random() und Konsorten mit eingelinkt hat. Da guck ich dan mit nem Debugger wie die Funktionen aussehen und vergleiche sie mit denen in Schickm.exe, merke mir die Adresse und lasse bei jedem far call einen Test machen ob die Adressen übereinstimmen.

So denke ich mir das jedenfalls. Das ist aber alles CPU-Zeugs. Erstmal will ich das Dos noch ausquetschen (malloc/free/findfirst/findnext/setint/getint, etc.).
Malloc und Free halte ich für besonders wichtig, da man damit auch den Spielstand (Ansehen bei den Göttern, Aktivierte Quests) finden und überwachen kann.
Dass sollte auch für die Lösungsautoren interresant sein.
So, Extract.lua läuft so durch, das ist schon mal ein Fortschritt. ;) Nur sind wohl die Zeilen auskommentiert worden, mit denen man die Grafiken auslesen kann. Ich hab es aber durch auskommentieren und erstellen von /trunk/lua/SHIPSL hinbekommen, die Grafiken zu entpacken. Wäre es nicht sinnvoller die Grafiken nach /work/ entpacken zu lassen?

Den Dosbox-Patch teste ich mal morgen.

Edit: Wie kann ich den andere *.NVF-Dateien entpacken?
Das sind die Probleme die verschiedene Entwickler haben, wenn sie noch nicht meiteinander kommuniziert haben. :)

Mit den Bildern hab ich nicht soviel zu tun, wesswegen ich die SHIPSL-Texturen auch gerade erstmal ausprobiert hab. Leider gehen viele bei mir nicht :(

Es ist aber ne gute Idee, die konvertierten Bilder in ein gemeinsames Unterverzeichniss zu packen, anstatt "erstelle ein Unterverzeichniss XXX und entferne dir Kommentare" zu machen. WORK_DIR will ich nicht nehmen, da es mir sehr gut gefällt, dass sich nur die aufgesplittete SCHICK.DAT befindet. Konvertierte Pics da auch noch mit reizupacken, wäre ein riesen Geraffel.

Ich werde mich der Sache morgen mal annehmen. Wenn es geht klär ich die anderen NVF Konvertierungen gleich im SVN, da
Code:
lua Extract.lua
möglichst funktionieren sollte.
Die Bilder kann man mit Gimp öffnen, .. liegt wohl irgendwie am Format, dass ein normaler Bildbetrachter die nicht öffnen kann.

"Offtopic": Spielst du in der Band hinter deinem Homepage-Link mit? Dann hätten wir ja schon Musik für FreeDSA. ;)
Das mit den nicht zu öffnenden Bildern hängt an einer verbuggten Implementation des Bitmap-Formates. Normalerweise werden .bmp-Dateien von links nach rechts und von unten nach oben abgespeichert, d.h. das erste Nibble/Byte/Word der Bilddaten codiert nicht das Pixel oben links, sondern unten links. Damit ist bmp so ziemlich allein, denn alle anderen Formate codieren von links nach rechts und von oben nach unten.

So auch die Grafiken von Schick. Um die Konvertierung nun schön einfach zu haben, werden die Daten einfach "richtigrum" in die Bitmap gepackt, also von oben nach unten - für bmp ist das die falsche Richtung. Damit das Bild nun aber nicht auf dem Kopf steht, wird für die Bildhöhe ein negativer Wert angegeben, was (laut Standard, soweit ich weiß) eben bedeutet, dass die Bilddaten "richtigrum" drinstehen, also von oben nach unten. Einige Bildbetrachter und Bibilotheken unterstützen das aber nicht. ImageMagick (display) und The Gimp können das zum Beispiel, xv hingegen nicht.

Abhilfe: Entweder die Grafiken mit einem "ordentlichen" Programm öffnen und dann wahlweise konvertiert abspeichern, oder die dumpBMP(...)-Routine in den .lua-Skripten anpassen.
Dosbox gepatched, kompiliert und ausgeführt... nur wo gibts ne Ausgabe für die Infos, die der Patch bringen soll?
DosBox bringt ja immer ein Konsolenfenster mit. In diesem stehen die Dateioperationen der SCHICKM.EXE drin. Wenn du eine Logdatei haben willst, musst du den Ouput des Konsolenfensters umleiten: Dosbox über Kommandozeile starten, und zwar mit
Code:
cd <verzeichnis, wo dosbox liegt>
dosbox > logfile.txt
Das Größer-Als bewirkt die Umleitung in logfile.txt, die du dann im DosBox-Verzeichnis findest.
Naja fast,

die Meldungen kommen auf stderr was man mit
Code:
dosbox 2>logfile.txt
in die Textdatei reinschreiben kannst.

Ich machs immer so, dass ich die DosBox aus dem xterm starte (ohne 2>logfile).
Dort sieht man dann auch die Log-Daten.
Falls nicht hast du vielleicht die DosBox gestartet, welche du per rpm installiert hast.
Oder hast du "dosbox" statt "./dosbox" eingegeben?

Edit: SCHICKM.EXE muss grossgeschrieben sein!
ACHTUNG

Am Mittwoch treffen sich die freeDSA-Entwickler im IRC

Datum: 12.12.2007
Uhrzeit: 22.15 Uhr
Server: irc.freenode.net
Port: 6667
channelname: #freedsa

zum Abstecken der Projektziele, damit wir
a) überhaupt erstmal wissen was wir machen wollen, und
b) Herrn Hamma genaue Angaben liefern können, damit er dann seine Zustimmung geben kann (oder auch nicht).

Wenn der Termin zu kurzfristig ist oder zuviele keine Zeit haben können wir ihn auch auf nächste Woche verschieben.
Feedback als PN an mich oder hier in den Thread posten.
Die Ausgabe der Meldungen klappt. Ganz interessant worauf Schick zugreift.
Auch wenn ich kein Entwickler von FreeDSA bin, werd ich mal versuchen Mittwoch vorbei zu gucken. Warum nicht im Quakenet? ;)