| ← 8F0A | Map | 8FB9 → |
8F67: Object pool
|
The object pool: a count byte, then 9-byte sprite records. A record holds the sprite's position, its sprite pointer and its active flag.
|
|||
| object_count | 8F67 | DEFB $00 | Pool entry count |
| object_table | 8F68 | DEFB $E6 | Bat pixel X |
| bat_y | 8F69 | DEFB $60 | Bat pixel Y |
| 8F6A | DEFB $05,$00,$00,$00 | Bat record: the four bytes after the pixel X and Y | |
| bat_sprite_ptr | 8F6E | DEFW slot_bat_normal | Bat sprite-data pointer |
| 8F70 | DEFB $01 | Bat active flag | |
| ball_a_object | 8F71 | DEFB $DE,$60,$09,$00,$00,$00 | Ball A record head: the pixel X and Y, and the four bytes after them |
| ball_a_sprite_ptr | 8F77 | DEFW slot_ball | Ball A sprite-data pointer |
| 8F79 | DEFB $01 | Ball A active flag | |
| obj2_object | 8F7A | DEFB $6E | Secondary object pixel X |
| obj2_y | 8F7B | DEFB $A0 | Secondary object pixel Y |
| 8F7C | DEFB $05,$00,$00,$00 | Secondary object's sprite record: the four bytes after the pixel X and Y | |
| obj2_sprite_ptr | 8F80 | DEFW slot_visor_1 | Secondary object sprite-data pointer |
| obj2_active | 8F82 | DEFB $00 | Secondary object active flag |
| inhabitant_objects | 8F83 | DEFB $28,$96,$02,$00,$00,$00,$00,$5C,$00 | Sprite records for the five inhabitants, in the layout above. Each inhabitant also has a logic record. |
| 8F8C | DEFB $64,$3C,$08,$00,$00,$00,$00,$5C,$00 | ||
| 8F95 | DEFB $7C,$7F,$04,$00,$00,$00,$00,$5C,$00 | ||
| 8F9E | DEFB $E6,$3C,$0A,$00,$00,$00,$00,$5C,$00 | ||
| 8FA7 | DEFB $32,$8C,$02,$00,$00,$00,$00,$5C,$00 | ||
| bat_ext_object | 8FB0 | DEFB $32 | Bat extension pixel X, the segment attached to the expanded bat |
| bat_ext_y | 8FB1 | DEFB $8C | Bat extension pixel Y |
| 8FB2 | DEFB $05,$00,$00,$00 | Bat extension record: the four bytes after the pixel X and Y | |
| bat_ext_sprite_ptr | 8FB6 | DEFW slot_visor_1 | Bat extension sprite-data pointer |
| bat_ext_active | 8FB8 | DEFB $00 | Bat extension active flag |
| ← 8F0A | Map | 8FB9 → |
