| Alien (BUGFIX 1.7) | Routines |
| Prev: 35578 | Up: Map | Next: 35725 |
|
Action on the "Get Item" row (10): rebuild the strip as an item picker listing the room's items — copy RoomItemList into CorridorPosTable, converting each id to its name string via ItemIdToString — put the cursor on the QUIT row and switch to room mode 4 (GetItemPick above handles the selection).
|
||||
| 35638 | LD (IX+0),0 | clear the actor's action timer | ||
| 35642 | LD DE,29630 | DE -> CorridorPosTable | ||
| 35645 | LD HL,29962 | HL -> RoomItemList | ||
| 35648 | LD B,17 | copy 17 entries | ||
| 35650 | LD A,(HL) | |||
| 35651 | CP 255 | 255 = empty row, copied as-is | ||
| 35653 | JR Z,35660 | |||
| 35655 | PUSH DE | |||
| 35656 | CALL 31857 | item id -> name string index | ||
| 35659 | POP DE | |||
| 35660 | LD (DE),A | |||
| 35661 | INC HL | |||
| 35662 | INC DE | |||
| 35663 | DJNZ 35650 | |||
| 35665 | LD A,61 | row 17 = " QUIT ", | ||
| 35667 | LD (29647),A | cursor on it | ||
| 35670 | LD (33685),A | |||
| 35673 | LD A,17 | |||
| 35675 | LD (33683),A | |||
| 35678 | LD HL,22582 | menu attributes: 17 rows white, | ||
| 35681 | LD A,15 | 1 row highlighted | ||
| 35683 | LD C,17 | |||
| 35685 | CALL 31612 | |||
| 35688 | LD A,56 | |||
| 35690 | LD C,1 | |||
| 35692 | CALL 31612 | |||
| 35695 | LD HL,29630 | draw the 19 menu rows | ||
| 35698 | LD (31261),HL | |||
| 35701 | LD HL,16438 | |||
| 35704 | LD (31257),HL | |||
| 35707 | LD B,19 | |||
| 35709 | PUSH BC | |||
| 35710 | CALL 31626 | |||
| 35713 | POP BC | |||
| 35714 | DJNZ 35709 | |||
| 35716 | LD A,4 | room mode = 4 (item picker) | ||
| 35718 | LD (31252),A | |||
| 35721 | CALL 34882 | |||
| 35724 | RET | |||
| Prev: 35578 | Up: Map | Next: 35725 |