Antwort schreiben 
 
Themabewertung:
  • 5 Bewertungen - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Reverse Engineering der NLT
Verfasser Nachricht
Zurgrimm
Super Moderator
******

Super Moderatoren

Beiträge: 13.539
Gruppe: Super Moderatoren
Registriert seit: Sep 2006
Bewertung 42
Offline
Beitrag: #1881
RE: Reverse Engineering der NLT


(21.01.2017 14:40)Shihan schrieb:  Sieht so aus:
Diese sonderbaren hinteren Zeichen in dem Font6 sehen sehr nach den Runensymbolen aus "Spirit of Adventure", einem Schick-Vorgängerspiel, aus. In Schick selbst kommen sie ja wohl nicht vor. Aber ob das ein Zufall ist?






"Haut die Säbel auffe Schnäbel."
21.01.2017 17:46
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren Hoch
gaor
Gelegenheitsspieler
**


Beiträge: 43
Gruppe: Vollmitglieder
Registriert seit: Jan 2009
Bewertung 1
Offline
Beitrag: #1882
RE: Reverse Engineering der NLT


So, jetzt kann man sich auch durch Dialoge durchklicken:

[Bild: screenshot3.png]





(Dieser Beitrag wurde zuletzt bearbeitet: 21.01.2017 19:30 von gaor.)

21.01.2017 19:29
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren Hoch
Rabenaas
Спам-бот
******

Super Moderatoren

Beiträge: 10.418
Gruppe: Super Moderatoren
Registriert seit: Jul 2008
Bewertung 32
Offline
Beitrag: #1883
RE: Reverse Engineering der NLT


Läuft hier ganz wunderbar unter Linux. :up:






Dwarf Fortress (Wiki), Cataclysm: Dark Days Ahead, Dungeon Crawl
22.01.2017 17:58
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren Hoch
Shihan
erfahrener Abenteurer
***


Beiträge: 65
Gruppe: Vollmitglieder
Registriert seit: Oct 2012
Bewertung 1
Offline
Beitrag: #1884
RE: Reverse Engineering der NLT


@gaor:
Numpy hatte ich tatsächlich schon drauf. Gehört ja zu einer vernünftigen Python-Installation hinzu ;)






22.01.2017 21:09
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren Hoch
HenneNWH
sehr erfahrener Abenteurer
****

HEX-Service

Beiträge: 580
Gruppe: HEX-Service
Registriert seit: Nov 2007
Bewertung 16
Offline
Beitrag: #1885
RE: Reverse Engineering der NLT


Phase 2: Das Bauen einer SCHICKM.EXE aus dem Code von Bright-Eyes.

Neues in diesem Release:

Neue Features:
  • Auswahl: Audio-CD oder Midi-Musik (evtl. Die Schicksalsklinge Midipatch installieren)
  • Informationen der Händler und Heiler werden wieder ausgegeben

Technisches:
  • Goar hat fast alle fehlenden Adressen des Datensegments durch Symbolnamen ersetzt. :thx:
  • Goar hat die Datei mit den Symbolnamen in ein Maschinenlesbares Format gebracht. :thx:
  • Die main()-Funktion wird jetzt wieder nativ ausgeführt.
  • Eine von den 6 unterschiedlichen Funktionen (get_diskspace():seg120.cpp) ist jetzt doch noch identisch geworden. Bleiben noch 5.

Bau der EXE-Datei:
Eine EXE-Datei kann schon mit dem BCC gebaut werden, aber es gibt noch viele technische Ungereimtheiten.


TODO-Liste:
  • Mit dem Compiler eine neue SCHICKM.EXE bauen, welche bis auf wenige Ausnahmen, identisch mit der deutschen CD-Version von SCHICK sein sollte (der ultimative Beweis für die Äquivalenz von SCHICKM.EXE und BrightEyes)
  • Erneut versuchen die letzten Unterschiede im Code auszumerzen.
  • Ersetzen von Hex-Werten in Symbolnamen für Zugriffe aufs Datensegment
  • Original-Bugs fixen, fixen, fixen

Statistik:

Es sind 1237 von 1237 Funktionen nachgebaut (100%).
Davon sind 1232 identisch mit dem Originalcode.


Viele Spaß beim Testen,
HenneNWH






22.01.2017 21:56
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren Hoch
gaor
Gelegenheitsspieler
**


Beiträge: 43
Gruppe: Vollmitglieder
Registriert seit: Jan 2009
Bewertung 1
Offline
Beitrag: #1886
RE: Reverse Engineering der NLT


Ich finde es echt spannend, wie das alles auf ein grandioses Finale zuläuft :D

Ich habe nun auch die Unterstützung für die komprimierten Grafiken (NVFs) in mein Tool eingebaut. Leider habe ich für einige Grafiken noch nicht die richtige Farbpalette gefunden. Aber das wäre gerade ein wichtiger Punkt, um die restlichen Einträge in der symbols.h zu verstehen. Gibt's denn jemanden, der sich schonmal mit den Paletten (z.B. für die Texturen von Häusern) auseinandergesetzt hat?

Das Tool soll auch dabei helfen, zu erklären, wie Animationen (etwa im Kampf) funktionieren. In dem Zusammenhang gibt's nämlich noch eine Menge "kryptischen" Code. Das gleiche trifft auf die Texturen in Städten und Dungeons zu. Die werden irgendwie ad hoc zusammengestückelt und der Code ist an den entscheidenden Stellen echt extrem schwer zu entziffern.





(Dieser Beitrag wurde zuletzt bearbeitet: 22.01.2017 22:13 von gaor.)

22.01.2017 22:13
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren Hoch
Rabenaas
Спам-бот
******

Super Moderatoren

Beiträge: 10.418
Gruppe: Super Moderatoren
Registriert seit: Jul 2008
Bewertung 32
Offline
Beitrag: #1887
RE: Reverse Engineering der NLT


Hier ist die Palette. Im Inventar ändert sie sich, aber nur teilweise. Ich habe auch schon eigene Texturen eingefügt. Müsste ich mir aber selbst erst mal wieder ansehen, bevor ich dazu was sagen kann.

EDIT: Eventuell sind die Beiträge #60, #61 oder #73 dort hilfreich?

EDIT2: Ach ja, jetzt erinnere ich mich. Mein Skript hat in die Zeichenroutine eingegriffen, und einfach in jedem Pixel eines Items im Inventar die mit 0, 1, 2, ..., 255 indizierte Farbe gezeichnet.





(Dieser Beitrag wurde zuletzt bearbeitet: 22.01.2017 23:35 von Rabenaas.)

Dwarf Fortress (Wiki), Cataclysm: Dark Days Ahead, Dungeon Crawl
22.01.2017 23:16
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren Hoch
gaor
Gelegenheitsspieler
**


Beiträge: 43
Gruppe: Vollmitglieder
Registriert seit: Jan 2009
Bewertung 1
Offline
Beitrag: #1888
RE: Reverse Engineering der NLT


Bei dem von dir verlinkten Thread geht es um die Farbpalette für Gegenstände. Da gibt es nur eine, dementsprechend unterhaltet ihr euch da auch immer nur über eine Palette. Im Spiel gibt es aber jede Menge Farbpaletten, je nach aktuellem Bildschirminhalt (das ist dir bekannt, darüber sprichst du nämlich auch im Bezug auf den Händlerbildschirm). Mir geht es jetzt konkret darum, zu verstehen, woher die Paletten geladen werden und welche Palette da genau welchen Zweck hat.

Die Palette für die Gegenstände in der GGSTS.NVF habe ich mir bereits aus globalen Variablen zusammengeschustert. Das wird in meinem Tool alles richtig angezeigt. Auch viele andere Grafiken werden mit dieser Palette richtig angezeigt. Ausnahmen sind leider noch die Texturen HOUSE1.NVF bis HOUSE4.NVF, FINGER.NVF und ein paar weitere (FIGHTOBJ.NVF, TEMPICON, OBJECTS.NVF, wenn ich das richtig sehe).






Gestern 00:00
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren Hoch
Rabenaas
Спам-бот
******

Super Moderatoren

Beiträge: 10.418
Gruppe: Super Moderatoren
Registriert seit: Jul 2008
Bewertung 32
Offline
Beitrag: #1889
RE: Reverse Engineering der NLT


Du könntest im Prinzip meinem Ansatz für das Inventar folgen und in die Zeichenroutine für Häuser einfügen, dass Pixel mit den Farben 0 bis 255 gezeichnet werden. Ich schaue mir das morgen mal an. Wenn Du die RGB-Werte hast, sollte es einfach sein, sie im Code zu lokalisieren. Aber jetzt :sleep:





(Dieser Beitrag wurde zuletzt bearbeitet: Gestern 00:10 von Rabenaas.)

Dwarf Fortress (Wiki), Cataclysm: Dark Days Ahead, Dungeon Crawl
Gestern 00:09
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren Hoch
Borbaradwurm
Veteran
*****


Beiträge: 766
Gruppe: Vollmitglieder
Registriert seit: Feb 2007
Bewertung 10
Offline
Beitrag: #1890
RE: Reverse Engineering der NLT


(Gestern 00:00)gaor schrieb:  Ausnahmen sind leider noch die Texturen HOUSE1.NVF bis HOUSE4.NVF, FINGER.NVF und ein paar weitere (FIGHTOBJ.NVF, TEMPICON, OBJECTS.NVF, wenn ich das richtig sehe).
HOUSE1.NVF bis HOUSE4.NVF und FINGER.NVF enthalten selbst keine Palette, nutzen aber alle die Palette von TDIVERSE.NVF.

FIGHTOBJ.NVF nutzt vier verschiedene Paletten, und zwar die Palette ihrer Kampfhintergrundtextur:
* Texturen #0 bis #9 nutzen die Palette aus KDBACK.DAT und KDLBACK.DAT.
* Texturen #10 bis #18 nutzen die Palette aus KCBACK.DAT und KCLBACK.DAT.
* Texturen #19 bis #27 nutzen die Palette aus KSBACK.DAT und KSLBACK.DAT.
* Texturen #28 bis #57 und #62 nutzen die Palette aus KLBACK.DAT und KLLBACK.DAT.
* Texturen #58 bis #61 funktionieren mit allen vier Kampfhintergrundpaletten, da sie nur zwei Farbeindicies nutzen: Schwarz und 100%-Transparenz; die bei allen vier Paletten gleich sind.

TEMPICON enthält selbst keine Palette, nutzt die Palette der Tempel-Animation (die Palette der Animation #2 aus ANIS).

OBJECTS.NVF weiss ich auch noch nicht. Scheint aber auch mehr als eine Palette zu sein (wie bei FIGHTOBJ.NVF). Wobei die Texturen mit den Indices 0-9, 10-11, 12-16 und 17-18 zusammen gehören.






Gestern 08:24
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren Hoch
Obi-Wahn
Tech-Admin
*******


Beiträge: 2.334
Gruppe: Tech-Administratoren
Registriert seit: Aug 2006
Bewertung 17
Offline
Beitrag: #1891
RE: Reverse Engineering der NLT


Neue Version vom 23.01.2017!

Hier die Übersicht, die Henne erstellt hat: https://bright-eyes.obiwahn.de/Bright-Eyes/details.html






--------
Warnung! Geschichte kann zu Einsichten führen und verursacht Bewusstsein!
Laberrabarber

Avatar by: Keven Law (CC BY-SA 2.0)
Gestern 08:57
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren Hoch
gaor
Gelegenheitsspieler
**


Beiträge: 43
Gruppe: Vollmitglieder
Registriert seit: Jan 2009
Bewertung 1
Offline
Beitrag: #1892
RE: Reverse Engineering der NLT


(Gestern 08:24)Borbaradwurm schrieb:  HOUSE1.NVF bis HOUSE4.NVF und FINGER.NVF enthalten selbst keine Palette, nutzen aber alle die Palette von TDIVERSE.NVF.

FIGHTOBJ.NVF nutzt vier verschiedene Paletten, und zwar die Palette ihrer Kampfhintergrundtextur:
* Texturen #0 bis #9 nutzen die Palette aus KDBACK.DAT und KDLBACK.DAT.
* Texturen #10 bis #18 nutzen die Palette aus KCBACK.DAT und KCLBACK.DAT.
* Texturen #19 bis #27 nutzen die Palette aus KSBACK.DAT und KSLBACK.DAT.
* Texturen #28 bis #57 und #62 nutzen die Palette aus KLBACK.DAT und KLLBACK.DAT.
* Texturen #58 bis #61 funktionieren mit allen vier Kampfhintergrundpaletten, da sie nur zwei Farbeindicies nutzen: Schwarz und 100%-Transparenz; die bei allen vier Paletten gleich sind.

TEMPICON enthält selbst keine Palette, nutzt die Palette der Tempel-Animation (die Palette der Animation #2 aus ANIS).

OBJECTS.NVF weiss ich auch noch nicht. Scheint aber auch mehr als eine Palette zu sein (wie bei FIGHTOBJ.NVF). Wobei die Texturen mit den Indices 0-9, 10-11, 12-16 und 17-18 zusammen gehören.

Oh, cool. Allerhand :thx:

Darf man fragen, woher du das weißt bzw. wie du das jetzt so schnell herausgefunden hast?






Gestern 10:32
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren Hoch
Wetzer
erfahrener Abenteurer
***


Beiträge: 60
Gruppe: Vollmitglieder
Registriert seit: May 2014
Bewertung 1
Offline
Beitrag: #1893
RE: Reverse Engineering der NLT


Habe die neue Version mit CD Musik ausprobiert.

Wenn man die Cycles mit AltGR+F11 reduziert, funktioniert das.

Das Erhöhen mit AltGR+F12 führt zu einem komischen Geräusch und im Fenster steht mehrfach "Fast Forward ON", "Fast Forward OFF",...





(Dieser Beitrag wurde zuletzt bearbeitet: Gestern 17:44 von Wetzer.)

Gestern 17:43
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren Hoch
Obi-Wahn
Tech-Admin
*******


Beiträge: 2.334
Gruppe: Tech-Administratoren
Registriert seit: Aug 2006
Bewertung 17
Offline
Beitrag: #1894
RE: Reverse Engineering der NLT


Muss die DosBox eigentlich auch in Zukunft noch mitkompiliert werden, oder können die beiden Sourcecodes irgendwann "wieder" getrennt werden?






--------
Warnung! Geschichte kann zu Einsichten führen und verursacht Bewusstsein!
Laberrabarber

Avatar by: Keven Law (CC BY-SA 2.0)
Gestern 18:32
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren Hoch
Wetzer
erfahrener Abenteurer
***


Beiträge: 60
Gruppe: Vollmitglieder
Registriert seit: May 2014
Bewertung 1
Offline
Beitrag: #1895
RE: Reverse Engineering der NLT


(Gestern 18:32)Obi-Wahn schrieb:  Muss die DosBox eigentlich auch in Zukunft noch mitkompiliert werden, oder können die beiden Sourcecodes irgendwann "wieder" getrennt werden?

So wie ich das verstanden habe, ist das Phase II, an deren Anfang wir stehen. Der 100% originäre Code wird sicherlich nur mit einer DosBox (oder jeder anderem Dos-Umgebung) laufen. Wenn aber der Sourcecode der Schickm vorliegt, kann man angepasste, native <hier dein Betriebssystem deiner Wahl einsetzen> -Versionen generieren. So mein Verständnis.





(Dieser Beitrag wurde zuletzt bearbeitet: Gestern 19:09 von Wetzer.)

Gestern 18:51
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren Hoch
Rabenaas
Спам-бот
******

Super Moderatoren

Beiträge: 10.418
Gruppe: Super Moderatoren
Registriert seit: Jul 2008
Bewertung 32
Offline
Beitrag: #1896
RE: Reverse Engineering der NLT


Sobald der DosBox-Teil wie der Schwanz einer Kaulquappe abgestoßen wurde, haben wir ein Programm, das nativ unter DOS läuft. :lol:

Da BE über die DOSBox indirekt auf SDL zugreift, können diese Zugriffe auch in den BE-Teil gezogen werden, so dass das Programm per Compiler-Flag auch für Linux, Windows, Mac etc. (AmigaOS :pfeif: ) kompiliert werden kann. :D





(Dieser Beitrag wurde zuletzt bearbeitet: Gestern 19:15 von Rabenaas.)

Dwarf Fortress (Wiki), Cataclysm: Dark Days Ahead, Dungeon Crawl
Gestern 19:14
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren Hoch
Antwort schreiben 




Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste