Routines |
Prev: F31C | Up: Map | Next: F3CA |
|
||||
F352 | CALL Monster_CalculatePosition | Call Monster_CalculatePosition. | ||
F355 | LD HL,($D224) | HL=*D224. | ||
F358 | LD (HL),B | Write B to *HL. | ||
F359 | INC HL | Increment HL by one. | ||
F35A | LD (HL),C | Write C to *HL. | ||
F35B | INC HL | Increment HL by one. | ||
F35C | LD A,($D246) | A=*Flag_MonsterClimbing. | ||
F35F | LD (HL),A | Write A to *HL. | ||
F360 | INC HL | Increment HL by one. | ||
F361 | LD A,($D248) | A=*Flag_MonsterJumping. | ||
F364 | LD (HL),A | Write A to *HL. | ||
F365 | INC HL | Increment HL by one. | ||
F366 | LD A,($D244) | A=*JumpTable_Pointer. | ||
F369 | LD (HL),A | Write A to *HL. | ||
F36A | INC HL | Increment HL by one. | ||
F36B | LD A,($D247) | A=*Flag_Orientation. | ||
F36E | LD (HL),A | Write A to *HL. | ||
F36F | INC HL | Increment HL by one. | ||
F370 | LD ($D224),HL | Write HL to *D224. | ||
This entry point is used by the routines at F3EF and F41A.
|
||||
F373 | CALL GetSpriteID | Call GetSpriteID. | ||
F376 | LD B,A | B=A. | ||
F377 | LD C,$00 | C=00. | ||
F379 | LD A,(HL) | A=*HL. | ||
F37A | CP $C1 | Jump to F38B if A is higher than C1. | ||
F37C | JR NC,$F38B | |||
F37E | AND %00111111 | Keep only bits 0-5. | ||
F380 | CP $32 | Jump to F38B if A is higher than 32. | ||
F382 | JR NC,$F38B | |||
F384 | LD A,(HL) | A=*HL. | ||
F385 | AND %11000000 | Keep only bits 6-7. | ||
F387 | RLCA | Rotate A left two positions (bits 6 to 7 are now in positions 0 to 1). | ||
F388 | RLCA | |||
F389 | INC A | Increment A by one. | ||
F38A | LD C,A | C=A. | ||
F38B | CALL $F3AF | Call F3AF. | ||
F38E | INC HL | Increment HL by one. | ||
F38F | CALL $F3AF | Call F3AF. | ||
F392 | LD E,$1F | E=1F. | ||
F394 | ADD HL,DE | HL+=DE. | ||
F395 | CALL $F3AF | Call F3AF. | ||
F398 | INC HL | Increment HL by one. | ||
F399 | CALL $F3AF | Call F3AF. | ||
F39C | LD A,($D3FB) | Return if *D3FB is not zero. | ||
F39F | AND A | |||
F3A0 | RET NZ | |||
F3A1 | LD HL,($D226) | HL=*D226. | ||
F3A4 | LD (HL),B | Write B to *HL. | ||
F3A5 | INC HL | Increment HL by one. | ||
F3A6 | LD ($D226),HL | Write HL to *D226. | ||
F3A9 | LD A,$01 | Write 01 to *D218. | ||
F3AB | LD ($D218),A | |||
F3AE | RET | Return. | ||
F3AF | LD A,(HL) | Jump to F3C5 if *HL is zero. | ||
F3B0 | AND A | |||
F3B1 | JR Z,$F3C5 | |||
F3B3 | CP $FF | Jump to F3C5 if A is equal to FF. | ||
F3B5 | JR Z,$F3C5 | |||
F3B7 | CP B | Return if A is equal to B. | ||
F3B8 | RET Z | |||
F3B9 | LD A,C | Jump to F3C5 if C is zero. | ||
F3BA | AND A | |||
F3BB | JR Z,$F3C5 | |||
F3BD | LD A,(HL) | A=*HL. | ||
F3BE | AND %11000000 | Keep only bits 6-7. | ||
F3C0 | RLCA | Rotate A left two positions (bits 6 to 7 are now in positions 0 to 1). | ||
F3C1 | RLCA | |||
F3C2 | INC A | Increment A by one. | ||
F3C3 | CP C | Return if A is equal to C. | ||
F3C4 | RET Z | |||
F3C5 | POP DE | Restore DE from the stack. | ||
F3C6 | LD B,$00 | B=00. | ||
F3C8 | JR $F39C | Jump to F39C. |
Prev: F31C | Up: Map | Next: F3CA |