![]() |
Routines |
| Prev: C315 | Up: Map | Next: C35F |
|
Used by the routine at Parser_ProcessItem.
Parser_ProcessItem has just matched a word to an object in Table_TokenItemList. Walk that object's item group from Data_ItemGroup_Match and call ValidateItemPresent for each item. Return if one is in the current room or the inventory. Otherwise print "I can't see ©", the object name from Pointer_ObjectNounPhrases and " here.©", then set the carry flag.
|
||||||||||||
| Parser_CheckObjectIsHere | C32A | INC BC | Increment BC by one. | |||||||||
| C32B | LD A,($BD2A) | E=*Count_Objects-C. | ||||||||||
| C32E | SUB C | |||||||||||
| C32F | LD E,A | |||||||||||
| C330 | PUSH DE | Stash DE on the stack. | ||||||||||
| C331 | LD IX,($BD1A) | IX=*Pointer_ItemGroupingTable. | ||||||||||
| C335 | CALL GetTableEntry | Call GetTableEntry. | ||||||||||
| C338 | POP DE | Restore DE from the stack. | ||||||||||
| C339 | JR CheckObjectIsHere | Jump to CheckObjectIsHere. | ||||||||||
| CheckObjectIsHere_Loop | C33B | INC HL | Increment HL by one. | |||||||||
| CheckObjectIsHere | C33C | LD A,(HL) | Jump to Response_ItemNotHere if *HL is equal to FF. | |||||||||
| C33D | CP $FF | |||||||||||
| C33F | JR Z,Response_ItemNotHere | |||||||||||
| C341 | CALL ValidateItemPresent | Call ValidateItemPresent. | ||||||||||
| C344 | JR NZ,CheckObjectIsHere_Loop | Jump to CheckObjectIsHere_Loop if the item wasn't found. | ||||||||||
| C346 | RET | Return. | ||||||||||
|
None of this object's items is in the room or the inventory.
Print "I can't see ".
|
||||||||||||
| Response_ItemNotHere | C347 | LD HL,$BE1D | HL=Messaging_ICantSee. | |||||||||
| C34A | CALL PrintString | Call PrintString. | ||||||||||
|
Print the object name.
|
||||||||||||
| C34D | LD IX,($BD1C) | IX=*Pointer_ObjectNounPhrases. | ||||||||||
| C351 | CALL GetTableEntry | Call GetTableEntry. | ||||||||||
| C354 | CALL PrintString | Call PrintString. | ||||||||||
|
Print " here.".
|
||||||||||||
| C357 | LD HL,$BE2A | HL=Messaging_Here. | ||||||||||
| C35A | CALL PrintStringAndNewline | Call PrintStringAndNewline. | ||||||||||
| C35D | SCF | Set the carry flag. | ||||||||||
| C35E | RET | Return. | ||||||||||
|
View the equivalent code in;
|
||||||||||||
| Prev: C315 | Up: Map | Next: C35F |