Prev: 58365 Up: Map Next: 58472
58397: Print Characters Items
Used by the routines at Handler_PickUpObjects, 60175 and 60490.
58397 CALL ClearCharacterItems Call ClearCharacterItems.
Fetch item 1 (IY+80) for the current character and calculate an offset.
PrintCharacterItems 58400 LD A,(IY+80) E=(IY+80)*2.
58403 ADD A,A
58404 LD E,A
58405 LD D,0 D=0.
58407 LD HL,59176 HL=Table_ItemLabels+DE.
58410 ADD HL,DE
Fetch the item 1 label memory location.
58411 LD E,(HL) E=*HL.
58412 INC HL Increment HL by one.
58413 LD D,(HL) D=*HL.
Fetch item 2 (IY+85) for the current character and calculate an offset.
58414 LD A,(IY+85) C=(IY+85)*2.
58417 ADD A,A
58418 LD C,A
58419 LD B,0 B=0.
58421 LD HL,59176 HL=Table_ItemLabels+BC.
58424 ADD HL,BC
Fetch the item 2 label memory location.
58425 LD C,(HL) C=*HL.
58426 INC HL Increment HL by one.
58427 LD B,(HL) B=*HL.
58428 PUSH BC Stash the item 2 label memory location (BC) on the stack.
58429 EX DE,HL Switch the DE and HL registers.
58430 LD DE,57308 Write Font to 47081.
58433 LD (47081),DE
Print the item labels to the screen.
58437 LD DE,3 DE=0003 (screen co-ordinates).
58440 LD C,67 C=67 (INK: MAGENTA, PAPER: BLACK (BRIGHT) ).
58442 CALL DrawCharacterItemLabel Call DrawCharacterItemLabel.
58445 POP HL Restore the item 2 label memory location from the stack.
58446 LD DE,515 DE=515 (screen co-ordinates).
58449 LD C,69 C=69 (INK: CYAN, PAPER: BLACK (BRIGHT) ).
58451 CALL DrawCharacterItemLabel Call DrawCharacterItemLabel.
Fetch item 1 (IY+80) for the current character.
58454 LD A,(IY+80) A=(IY+80).
58457 LD DE,0 DE=0000 (screen co-ordinates).
58460 CALL DrawCharacterItemGraphics Call DrawCharacterItemGraphics.
Fetch item 2 (IY+85) for the current character.
58463 LD A,(IY+85) A=(IY+85).
58466 LD D,2 D=2 (update screen co-ordinates).
58468 CALL DrawCharacterItemGraphics Call DrawCharacterItemGraphics.
58471 RET Return.
Prev: 58365 Up: Map Next: 58472