Legend-of-Dragoon-Modding / Script-Recompiler

A disassembler for the Legend of Dragoon scripting engine
GNU Affero General Public License v3.0
0 stars 2 forks source link

Missed pointers in kazas garbage room (DRGN21/597/1 & DRGN22/597/1) #19

Open avionanx opened 6 months ago

avionanx commented 6 months ago

Causes issues in SC


LABEL_131:
rel :JMP_199c_0
rel :JMP_199c_1
rel :JMP_199c_2
rel :JMP_199c_3
rel :JMP_199c_4
rel :JMP_199c_4
rel :JMP_199c_4
rel :JMP_199c_4
rel :JMP_199c_8
rel :JMP_199c_8
rel :JMP_199c_10
rel :JMP_199c_10
data 0xfffffc27
data 0xfffffc27
data 0xfffffc27
data 0xfffffc27
LordMonoxide commented 4 months ago

This is now LABEL_130

LordMonoxide commented 4 months ago

Caused by (this.state.wordAt(entryAddress) > 0 ? entryAddress < earliestDestination : entryAddress > latestDestination)

This was added to improve table end detection since it was assumed that tables would either be before or after their methods, but this table has some methods before it and some after. Unsure if removing would have negative consequences.

avionanx commented 4 months ago

Missed pointers in Divine Dragon, DRGN1/284


; SUBROUTINE TABLE
LABEL_214:
rel :JMP_3cd4_0
data 0xd
data 0xfffff436
data 0x1d
data 0xfffff436
data 0x2d
data 0xfffff436
data 0x3d

; SUBROUTINE TABLE
LABEL_216:
rel :JMP_3cd4_0
data 0x45
data 0xfffff42e
data 0x45
data 0xfffff42e
data 0x148
data 0x900f17e
data 0x148 ```