19.04.2015, 17:01
(Dieser Beitrag wurde zuletzt bearbeitet: 19.04.2015, 18:39 von BastyCDGS.)
Ich sehe, das Gegner offenbar ab Offset 10 anfangen...allerdings hat man ja nur 7 Charaktere max. Wozu sind 8 und 9 gedacht, für beschwörte Wesen? Kann man mehr als zwei Wesen in einem Kampf beschwören?
Vorschlag für diese checks statt target >= 10 && target < 30 und so kram würde ich das in die symbols.h als define aufnehmen. MAX_CHARS = 10 MAX_ENEMIES = 20, so kann man das nachher mal anpassen und z.B. mehr als 20 Gegner im Kampf erlauben uns so:
target >= MAX_CHARS && target < (MAX_CHARS + MAX_ENEMIES)
EDIT:
Du meinst tools/add2sym.sh? Das hatte ich bereits.
EDIT2:
Ich hätte übrigens noch 'ne Idee. Mal nochmal die Amiga-Schick zu disassemblieren und auch auf dieser Basis portieren. Der Vorteil ist, dass bei der m68k-Version der ganze Segmentscheiß vom Realmode wegfällt.
Zur struct-Implementation noch was:
add2sym.sh macht ja nur erstmal die Basispointer soweit und nicht die structs selber. Ich schlage ein weiteres File vor structs.h oder so und dort landet dann Kram wie typedef struct Hero { ... } HERO;
Ein Shellskript dazu add2structs.sh ersetzt dann bspw. hero + 0x2E entspr. durch hero->health.
Ich schlage vor nach dem Namen des typedefs lowercase zu suchen, um die Variable zu finden.
EDIT3:
Für die Heroes könnten wir das hier als Vorlage erstmal nehmen, um die struct aufzubauen:
https://github.com/NewProggie/DSA1-Saveg...c/hero.cpp
EDIT4: Initiale structs.h angehängt.
EDIT5: structs.h verfeinert, u.a. als Kommentar Hex-Offset zur Base addiert, damit Skripte die entspr. Position automatisch in den *.cpp Files ersetzen können.
Vorschlag für diese checks statt target >= 10 && target < 30 und so kram würde ich das in die symbols.h als define aufnehmen. MAX_CHARS = 10 MAX_ENEMIES = 20, so kann man das nachher mal anpassen und z.B. mehr als 20 Gegner im Kampf erlauben uns so:
target >= MAX_CHARS && target < (MAX_CHARS + MAX_ENEMIES)
EDIT:
(19.04.2015, 16:54)Rabenaas schrieb: Da gibt es irgendwo ein Skript, dass einige Hexzahlen mit Labels überschreibt. Lass das erst mal laufen.
Du meinst tools/add2sym.sh? Das hatte ich bereits.
EDIT2:
Ich hätte übrigens noch 'ne Idee. Mal nochmal die Amiga-Schick zu disassemblieren und auch auf dieser Basis portieren. Der Vorteil ist, dass bei der m68k-Version der ganze Segmentscheiß vom Realmode wegfällt.
Zur struct-Implementation noch was:
add2sym.sh macht ja nur erstmal die Basispointer soweit und nicht die structs selber. Ich schlage ein weiteres File vor structs.h oder so und dort landet dann Kram wie typedef struct Hero { ... } HERO;
Ein Shellskript dazu add2structs.sh ersetzt dann bspw. hero + 0x2E entspr. durch hero->health.
Ich schlage vor nach dem Namen des typedefs lowercase zu suchen, um die Variable zu finden.
EDIT3:
Für die Heroes könnten wir das hier als Vorlage erstmal nehmen, um die struct aufzubauen:
https://github.com/NewProggie/DSA1-Saveg...c/hero.cpp
EDIT4: Initiale structs.h angehängt.
EDIT5: structs.h verfeinert, u.a. als Kommentar Hex-Offset zur Base addiert, damit Skripte die entspr. Position automatisch in den *.cpp Files ersetzen können.
Best regards,
:-) Basty/CDGS (-:
:-) Basty/CDGS (-: