![]() |
Routines |
| Prev: 38151 | Up: Map | Next: 38239 |
|
The code for an object of type 30, which is run by RunObjectHandler.
|
||||||||
| UpdateType1E | 38180 | LD A,16 | Set the collision effects in 36396 to 16. | |||||
| 38182 | LD (36396),A | |||||||
| 38185 | CALL AccelerateObject | Move the object. | ||||||
| 38188 | CALL MoveObject | Update the position of the object. | ||||||
| 38191 | LD A,(IX+4) | Fetch the map zone of the object. | ||||||
| 38194 | CP (IX+21) | Compare it with the third state byte of the object. | ||||||
| 38197 | JR NZ,UpdateType1E_Flags | Jump to UpdateType1E_Flags if they are different. | ||||||
| 38199 | LD A,(IX+5) | Fetch the vertical position of the object. | ||||||
| 38202 | CP (IX+22) | Compare it with the fourth state byte of the object. | ||||||
| 38205 | JR C,UpdateType1E_Flags | Jump to UpdateType1E_Flags if it is lower. | ||||||
| 38207 | SET 4,(IX+16) | Set bit 4 of the flags of the object. | ||||||
| UpdateType1E_Flags | 38211 | CALL ProcessObjectFlags | Process the flags of the object. | |||||
| 38214 | PUSH HL | Stash HL on the stack. | ||||||
| 38215 | LD HL,(44358) | Fetch the address of the object from CurrentObject. | ||||||
| 38218 | LD A,(HL) | Fetch the type of the object. | ||||||
| 38219 | INC A | Increment it. | ||||||
| 38220 | JR NZ,UpdateType1E_Finish | Jump to UpdateType1E_Finish if it is in use. | ||||||
| 38222 | LD A,(62978) | Fetch the value from 62978. | ||||||
| 38225 | INC A | Add one and store it. | ||||||
| 38226 | LD (62978),A | |||||||
| 38229 | LD BC,5376 | Set the points to 5376. | ||||||
| 38232 | CALL AddToScore | Add them to the score. | ||||||
| UpdateType1E_Finish | 38235 | POP HL | Bring HL back off the stack. | |||||
| 38236 | JP UpdateType14_Draw | Jump to UpdateType14_Draw. | ||||||
| Prev: 38151 | Up: Map | Next: 38239 |