Themabewertung:
  • 1 Bewertung(en) - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Reverse Engineering der NLT II
Für diejenigen, die es selbst mal testen wollen, hier die Exe. Es fehlt dann nur noch die DSAGEN.DAT.


.zip   ngen_gcc.zip (Größe: 184,65 KB / Downloads: 0)
--------
Warnung! Geschichte kann zu Einsichten führen und verursacht Bewusstsein!
Avatar by: Keven Law (CC BY-SA 2.0)
Zitieren
Hab gerade experimentellen Maus-Support gepusht. Einen Charakter hab ich auch gerade erstellt. Es sieht schon gut aus.
Zitieren
Super, probiere ich morgen aus. :up:
--------
Warnung! Geschichte kann zu Einsichten führen und verursacht Bewusstsein!
Avatar by: Keven Law (CC BY-SA 2.0)
Zitieren
Dazu bitte keine Issues erstellen, daran arbeite ich gerade aktiv und bemühe mich erstmal um eine funktionierende
anschließend um eine zufriedenstellende Lösung. Die beiden Issues die du erstellt hast waren in Ordnung.
Zitieren
Das Kompilieren funktioniert und die Maus geht auch ... irgendwie. Es geht voran! :jippie:

Es gibt noch ein Problem beim Logo von Fantasy Productions. Das wird bei mir unter Windows verfälscht ausgegeben, siehe Screenshot.
   
--------
Warnung! Geschichte kann zu Einsichten führen und verursacht Bewusstsein!
Avatar by: Keven Law (CC BY-SA 2.0)
Zitieren
(Vor 4 Stunden)Obi-Wahn schrieb: Das Kompilieren funktioniert und die Maus geht auch ... irgendwie. Es geht voran! :jippie:

Es gibt noch ein Problem beim Logo von Fantasy Productions. Das wird bei mir unter Windows verfälscht ausgegeben, siehe Screenshot.

Sieht aus wie RGB -> BGR (bzw. LE -> BE)
Zitieren
Okay, das Bild sieht schon mal gut aus, nur die Farben stimmen nicht.
Zum Vergleichen hab ich mal die Farbpalette unter Linux ausgegeben.
Ich comitte das gleich mal.

So sollte es aussehen:
FANPRO.NVF length = 3401
# 00 = (00, 00, 00)
# 01 = (38, 2c, 30)
# 02 = (38, 28, 2c)
# 03 = (38, 24, 2c)
# 04 = (34, 1c, 24)
# 05 = (30, 14, 1c)
# 06 = (30, 0c, 14)
# 07 = (2c, 04, 10)
# 08 = (28, 04, 04)
# 09 = (24, 04, 04)
# 0a = (1c, 00, 00)
# 0b = (18, 00, 00)
# 0c = (10, 00, 00)
# 0d = (0c, 00, 00)
# 0e = (04, 00, 00)
# 0f = (04, 04, 04)
# 10 = (04, 04, 04)
# 11 = (08, 08, 08)
# 12 = (0c, 0c, 0c)
# 13 = (10, 10, 10)
# 14 = (14, 14, 14)
# 15 = (18, 18, 18)
# 16 = (1c, 1c, 1c)
# 17 = (20, 20, 20)
# 18 = (24, 24, 24)
# 19 = (28, 28, 28)
# 1a = (2c, 2c, 2c)
# 1b = (30, 30, 30)
# 1c = (34, 34, 34)
# 1d = (38, 38, 38)
# 1e = (3c, 3c, 3c)
# 1f = (3c, 3c, 3c)
Zitieren
Die Ausgabe sieht bei mir so aus:

.\ngen_gcc.exe
DSAGEN.DAT DE_CD
FANPRO.NVF length = 587
# 00 = (03, 02, 04)
# 01 = (4d, 9b, d8)
# 02 = (c6, 80, ca)
# 03 = (68, 9e, 3f)
# 04 = (0a, 6f, c4)
# 05 = (18, 20, 1e)
# 06 = (18, 2d, c6)
# 07 = (23, ff, ff)
# 08 = (ff, ff, ff)
# 09 = (ff, ff, ff)
# 0a = (e9, 31, e4)
# 0b = (4c, 3d, 8c)
# 0c = (94, 08, 24)
# 0d = (ec, 7f, 71)
# 0e = (87, 54, 8d)
# 0f = (05, c4, 02)
# 10 = (87, bb, f7)
# 11 = (ff, ff, ff)
# 12 = (ff, ff, ff)
# 13 = (ff, ff, 93)
# 14 = (0f, 69, 98)
# 15 = (0a, 12, 63)
# 16 = (e7, 84, 8b)
# 17 = (93, 3f, fe)
# 18 = (35, 53, d4)
# 19 = (81, e1, 03)
# 1a = (80, d3, d4)
# 1b = (a8, 01, ff)
# 1c = (ff, ff, ff)
# 1d = (ff, ff, ff)
# 1e = (ff, f1, 30)
# 1f = (e2, 00, 4c)
--------
Warnung! Geschichte kann zu Einsichten führen und verursacht Bewusstsein!
Avatar by: Keven Law (CC BY-SA 2.0)
Zitieren
(Vor 4 Stunden)Obi-Wahn schrieb: Die Ausgabe sieht bei mir so aus:

.\ngen_gcc.exe
DSAGEN.DAT DE_CD
FANPRO.NVF length = 587
# 00 = (03, 02, 04)
# 01 = (4d, 9b, d8)
# 02 = (c6, 80, ca)
# 03 = (68, 9e, 3f)
# 04 = (0a, 6f, c4)
# 05 = (18, 20, 1e)
# 06 = (18, 2d, c6)
# 07 = (23, ff, ff)
# 08 = (ff, ff, ff)
# 09 = (ff, ff, ff)
# 0a = (e9, 31, e4)
# 0b = (4c, 3d, 8c)
# 0c = (94, 08, 24)
# 0d = (ec, 7f, 71)
# 0e = (87, 54, 8d)
# 0f = (05, c4, 02)
# 10 = (87, bb, f7)
# 11 = (ff, ff, ff)
# 12 = (ff, ff, ff)
# 13 = (ff, ff, 93)
# 14 = (0f, 69, 98)
# 15 = (0a, 12, 63)
# 16 = (e7, 84, 8b)
# 17 = (93, 3f, fe)
# 18 = (35, 53, d4)
# 19 = (81, e1, 03)
# 1a = (80, d3, d4)
# 1b = (a8, 01, ff)
# 1c = (ff, ff, ff)
# 1d = (ff, ff, ff)
# 1e = (ff, f1, 30)
# 1f = (e2, 00, 4c)

Die Länge stimmt nicht überein. Wird das vielleicht in ASCII/Text Modus geladen, statt in binary?
Zitieren
Das sieht nicht gut aus. Hab gerade noch eine Änderung dazu gemacht. Vielleicht hilfts.
Zitieren
Code:
$ make
gcc -O0 -g -fno-asm -c cda_code.c
gcc -O0 -g -fno-asm -c ngen.c
gcc -O0 -g -fno-asm -c powerp20.c
gcc -O0 -g -fno-asm -c vgalib.c
gcc -O0 -g -fno-asm -c ail_stub.c
gcc -O0 -g -fno-asm -o ngen_gcc cda_code.o ngen.o powerp20.o vgalib.o ail_stub.o -lSDL2
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ngen.o: in function `open_datfile':
C:/msys64/home/tobia/BrightEyes/src/gen/ngen.c:2550:(.text+0x1e45): undefined reference to `flushall'
collect2.exe: error: ld returned 1 exit status
make: *** [Makefile:5: gen] Error 1
--------
Warnung! Geschichte kann zu Einsichten führen und verursacht Bewusstsein!
Avatar by: Keven Law (CC BY-SA 2.0)
Zitieren
Und nochmal!
Zitieren
(Vor 4 Stunden)Obi-Wahn schrieb:
Code:
$ make
gcc -O0 -g -fno-asm -c cda_code.c
gcc -O0 -g -fno-asm -c ngen.c
gcc -O0 -g -fno-asm -c powerp20.c
gcc -O0 -g -fno-asm -c vgalib.c
gcc -O0 -g -fno-asm -c ail_stub.c
gcc -O0 -g -fno-asm -o ngen_gcc cda_code.o ngen.o powerp20.o vgalib.o ail_stub.o -lSDL2
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ngen.o: in function `open_datfile':
C:/msys64/home/tobia/BrightEyes/src/gen/ngen.c:2550:(.text+0x1e45): undefined reference to `flushall'
collect2.exe: error: ld returned 1 exit status
make: *** [Makefile:5: gen] Error 1

_flushall() (mit <Windows.h> ?
Zitieren
Jetzt funktioniert es und alles sieht richtig aus.


.zip   ngen_gcc_2024_04_28.zip (Größe: 187,23 KB / Downloads: 0)

Code:
.\ngen_gcc.exe
DSAGEN.DAT DE_CD
FANPRO.NVF length = 3401
# 00 = (00, 00, 00)
# 01 = (38, 2c, 30)
# 02 = (38, 28, 2c)
# 03 = (38, 24, 2c)
# 04 = (34, 1c, 24)
# 05 = (30, 14, 1c)
# 06 = (30, 0c, 14)
# 07 = (2c, 04, 10)
# 08 = (28, 04, 04)
# 09 = (24, 04, 04)
# 0a = (1c, 00, 00)
# 0b = (18, 00, 00)
# 0c = (10, 00, 00)
# 0d = (0c, 00, 00)
# 0e = (04, 00, 00)
# 0f = (04, 04, 04)
# 10 = (04, 04, 04)
# 11 = (08, 08, 08)
# 12 = (0c, 0c, 0c)
# 13 = (10, 10, 10)
# 14 = (14, 14, 14)
# 15 = (18, 18, 18)
# 16 = (1c, 1c, 1c)
# 17 = (20, 20, 20)
# 18 = (24, 24, 24)
# 19 = (28, 28, 28)
# 1a = (2c, 2c, 2c)
# 1b = (30, 30, 30)
# 1c = (34, 34, 34)
# 1d = (38, 38, 38)
# 1e = (3c, 3c, 3c)
# 1f = (3c, 3c, 3c)
--------
Warnung! Geschichte kann zu Einsichten führen und verursacht Bewusstsein!
Avatar by: Keven Law (CC BY-SA 2.0)
Zitieren
(Vor 4 Stunden)NewProggie schrieb: _flushall() (mit <Windows.h> ?

Das _flushall() halte ich für fehl am Platz, da das einzigen was geschrieben wird, die CHR-Datei ist.
Für den BCC lass ich es noch drin. Falls es später noch zu Problemen kommen sollte überleg ich mir etwas.
Danke für die Tipps und Obi-Wahn fürs melden!
Zitieren




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