View Single Post
Old 06-12-2019, 11:18 PM   #3
Hitashi
Junior Member
 
Join Date: Jun 2019
Posts: 2
Default

Hi, thank you for your answer!

From what I've messed around with, the relevant code in that area starts at offset 2703 (here's the code and what it means on screen):

Code:
C7 23 C5 20 C0 20 C1 20 C4 20 B4 20 C0 20 C3 20 B6 20
L     T     O     P     S     C     O     R     E
And after that, it continues this way from offset 2715:

Code:
81 23 82 23 82 23 83 23 84 23 85 23 84 23 85 23 86 23 87 23 87 23 88 23 61 23 62 23 63 23 64 23 65 23 66 23 67 23 68 23 69 23 6A 23 6B 23 6C 23 6D 23 6E 23 6F
In short, what happens is:

81 = renders top left corner of item box.
82 = renders top of the item box. it's repeated because the same sprite is used twice.
83 = renders top right corner of item box.
84 = renders left side of item box. also repeated, tile used twice.
85 = renders right side of item box. both repeated.
86 = renders bottom left of item box.
87 = renders bottom of item box. also repeated, used twice.
88 = renders bottom right of item box.

61 = top left of floor box (where the large digits are, they show what floor you're on)

...And so on. The interface code is basically one long string where everything is packed and there's basically zero room to make changes. This part of the code also includes health bar changes (specific graphics to show a half health bar, for instance).

Here's a picture of the game for reference:


(the item box is the thin brown frame, and the floor box is the one that reads 08)

20 and 23 are spacing or position values, I think.

I don't know quite how to find a pointer here because I'm not even sure how and where the code begins exactly.

And regretfully, it seems the more I try to invest in debugging and assembly, the less I seem to understand it
Hitashi is offline   Reply With Quote