Prev: 38151 Up: Map Next: 38239
38180: Update Type 1E Object
The code for an object of type 30, which is run by RunObjectHandler.
Input
IX Address of the object
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