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 8 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 7 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 7 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 7 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
Ich vermute, eine der (beiden?) letzten Änderungen hat etwas verschlimmbessert. Das Kompilieren läuft durch, aber das Programm startet nicht mehr:

Code:
tobia@Tobias-AMD MINGW64 ~/BrightEyes/src/gen
$ 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

tobia@Tobias-AMD MINGW64 ~/BrightEyes/src/gen
$ ./ngen_gcc.exe
Segmentation fault
--------
Warnung! Geschichte kann zu Einsichten führen und verursacht Bewusstsein!
Avatar by: Keven Law (CC BY-SA 2.0)
Zitieren
@Obi-Wahn: Hast du schonmal mit GIT den Projektzustand zurückgespult?
Probier mal:
Code:
git checkout 00b5f43cf54cb1f9ef4164c8bf114e0a61cef959
<COMPILIEREN und TESTEN>
git checkout cf22d73d8da8fc4481a1878f919a671e0b59f790
<COMPILIEREN und TESTEN>
git checkout e507d576ca716fac81e31a48b6e4f52654ba91af
<COMPILIEREN und TESTEN>

ich benötige die letzte Commitnummer bei der es funktioniert hat und die erste bei der es nicht funktioniert hat.
Zitieren




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