![]() ![]() |
Routines |
Prev: 29980 | Up: Map | Next: 30056 |
Used by the routine at 29861.
|
||||
ActorFindPosDir | 30018 | LD A,(24075) | A=actor X position. | |
30021 | AND %00000110 | Keep only bits 1-2. | ||
30023 | LD C,A | Store the result in C. | ||
30024 | LD A,(24077) | A=actor movement direction. | ||
Actor: Get Sprite Address
|
||||
ActorGetSpriteAddress | 30027 | BIT 6,A | Jump to ActorFindPosDir_0 if bit 6 of sprite header is reset. | |
30029 | JR Z,ActorFindPosDir_0 | |||
30031 | SET 3,C | |||
ActorFindPosDir_0 | 30033 | DEC A | ||
30034 | CP 3 | |||
30036 | JR NC,30056 | |||
30038 | RLCA | |||
30039 | RLCA | |||
30040 | RLCA | |||
30041 | RLCA | |||
30042 | AND %11110000 | Keep only bits 4-7. | ||
30044 | OR C | |||
30045 | LD HL,30234 | HL=SpritesTable. | ||
This entry point is used by the routine at 30056.
|
||||
ActorFindPosDir_1 | 30048 | LD C,A | Create an offset in BC. | |
30049 | LD B,0 | |||
30051 | ADD HL,BC | HL=sprite table + offset. | ||
30052 | LD E,(HL) | DE=sprite address. | ||
30053 | INC HL | |||
30054 | LD D,(HL) | |||
30055 | RET | Return. |
Prev: 29980 | Up: Map | Next: 30056 |