![]() |
Routines |
| Prev: D224 | Up: Map | Next: D249 |
|
Used by the routines at CharacterAction_BasilPhipps, CheckObjectInCharacterLocation, CheckCharacterState, PointToObjectAttributeByte, CalculateObjectPointerOffset, ProcessEntryWithCounter, ProcessDisplayAction, CheckObjectLocationMatch, GetObjectLocation, CheckObjectMother, GetObjectAttribute, GetObjectMotherID, TestObjectHasSpecialDescription, ProcessObjectAttribute_C8C6, SetObjectPointers, ProcessObjectDisplayEntry, ProcessCharacterDisplay_CBC2, ProcessLocationTokenDisplay, CheckCharacterIDRange, IsCharacterTheChinaMan, PrintObjectDescription, PrintLocationExits, DD0B, DD35, PrintObjectDescriptionText, DFCC, E03A, E17B, E619 and UpdateObjectLocation.
Looks up an object in the objects table and returns a pointer to it's data structure.
|
||||||||||||
| FetchObjectDataPointer | D237 | LD IX,$8B6F | IX=Table_Objects. | |||||||||
| D23B | CALL SearchThreeByteTable | Call SearchThreeByteTable. | ||||||||||
|
This will be restored back into HL by the end of the routine.
|
||||||||||||
| D23E | PUSH HL | Stash HL on the stack temporarily. | ||||||||||
|
Pretty clever way of using the stack here.
|
||||||||||||
| D23F | LD L,(IX+$01) | Load the object pointer into HL. | ||||||||||
| D242 | LD H,(IX+$02) | |||||||||||
| D245 | EX (SP),HL | Swap the *SP with the object pointer, restoring HL to the original value. | ||||||||||
| D246 | POP IX | Restore the object pointer into IX (from the stack). | ||||||||||
| D248 | RET | Return. | ||||||||||
| Prev: D224 | Up: Map | Next: D249 |