Prev: 27893 Up: Map Next: 28561
28115: Meteor Update
MeteorUpdate 28115 CALL StoreEntity
28118 LD HL,24011 HL=$5DCB.
28121 INC (HL)
28122 LD A,(IX+1)
28125 BIT 6,(IX+4)
28129 JR NZ,MeteorUpdate_3
28131 ADD A,(IX+5)
MeteorUpdate_0 28134 LD (IX+1),A
28137 LD A,(IX+2)
28140 ADD A,(IX+6)
28143 LD (IX+2),A
28146 CALL 29290
28149 CALL ColouriseSprite
28152 CALL 30237
28155 BIT 2,E
28157 JR NZ,MeteorUpdate_2
28159 CALL MeteorUpdate_9
28162 LD A,C
28163 AND A
28164 JR NZ,MeteorUpdate_1
28166 CALL MeteorUpdate_4
28169 DEC E
28170 JP Z,25741
28173 RET
MeteorUpdate_1 28174 LD BC,37
28177 CALL AddPointsToScore
MeteorUpdate_2 28180 CALL EndAnimation
28183 XOR A
28184 JP ExplosionInitialise
MeteorUpdate_3 28187 SUB (IX+5)
28190 JR MeteorUpdate_0
This entry point is used by the routines at 25562, 25752, 25887, 26375, 27244, 27375, 27695 and 27893.
MeteorUpdate_4 28192 LD HL,23808
28195 LD E,0
28197 LD A,(HL)
28198 AND 63
28200 DEC A
28201 JR Z,MeteorUpdate_5
28203 DEC A
28204 RET NZ
MeteorUpdate_5 28205 INC HL
28206 LD A,(HL)
28207 SUB (IX+1)
28210 JP P,MeteorUpdate_6
28213 NEG
MeteorUpdate_6 28215 CP 12
28217 RET NC
28218 INC HL
28219 LD A,(HL)
28220 SUB (IX+2)
28223 JP P,MeteorUpdate_7
28226 NEG
28228 LD D,(IX+7)
28231 ADD A,14
28233 JR MeteorUpdate_8
MeteorUpdate_7 28235 LD D,21
MeteorUpdate_8 28237 CP D
28238 RET NC
28239 LD E,1
28241 RET
This entry point is used by the routines at 25562, 27244, 27375, 27695 and 27893.
MeteorUpdate_9 28242 LD DE,8
28245 LD HL,23816
28248 LD B,4
MeteorUpdate_10 28250 PUSH HL
28251 LD A,(HL)
28252 AND A
28253 JR Z,MeteorUpdate_13
28255 INC HL
28256 INC HL
28257 INC HL
28258 LD A,(HL)
28259 DEC HL
28260 BIT 2,A
28262 JR Z,MeteorUpdate_13
28264 AND 248
28266 SUB (IX+1)
28269 JP P,MeteorUpdate_11
28272 NEG
28274 LD C,8
28276 JR MeteorUpdate_12
MeteorUpdate_11 28278 LD C,32
MeteorUpdate_12 28280 CP C
28281 JR NC,MeteorUpdate_13
28283 DEC HL
28284 LD A,(HL)
28285 SUB (IX+2)
28288 NEG
28290 JP M,MeteorUpdate_13
28293 ADD A,12
28295 CP (IX+7)
28298 JP NC,MeteorUpdate_13
28301 LD C,1
28303 INC HL
28304 LD A,(HL)
28305 AND 248
28307 LD (HL),A
28308 POP HL
28309 RET
MeteorUpdate_13 28310 POP HL
28311 ADD HL,DE
28312 DJNZ MeteorUpdate_10 Decrease B by one, and loop back to MeteorUpdate_10 until zero.
28314 LD C,0
28316 RET
MeteorUpdate_14 28317 LD A,B
28318 EX AF,AF'
28319 LD E,0
28321 LD C,(HL)
28322 INC HL
28323 LD D,(HL)
28324 INC HL
28325 LD A,B
28326 AND A
28327 RET Z
MeteorUpdate_15 28328 SRL C
28330 RR D
28332 RR E
28334 DJNZ MeteorUpdate_15 Decrease B by one, and loop back to MeteorUpdate_15 until zero.
28336 EX AF,AF'
28337 LD B,A
28338 RET
MeteorUpdate_16 28339 PUSH BC
28340 LD B,8
MeteorUpdate_17 28342 RRCA
28343 RL C
28345 DJNZ MeteorUpdate_17 Decrease B by one, and loop back to MeteorUpdate_17 until zero.
28347 LD A,C
28348 POP BC
28349 RET
MeteorUpdate_18 28350 LD A,B
28351 EX AF,AF'
28352 LD C,0
28354 LD A,(HL)
28355 CALL MeteorUpdate_16
28358 LD E,A
28359 INC HL
28360 LD A,(HL)
28361 CALL MeteorUpdate_16
28364 LD D,A
28365 INC HL
28366 LD A,B
28367 AND A
28368 RET Z
MeteorUpdate_19 28369 SLA E
28371 RL D
28373 RL C
28375 DJNZ MeteorUpdate_19 Decrease B by one, and loop back to MeteorUpdate_19 until zero.
28377 EX AF,AF'
28378 LD B,A
28379 RET
MeteorUpdate_20 28380 EXX
28381 LD A,(24018)
28384 AND A
28385 JR Z,MeteorUpdate_22
28387 CALL MeteorUpdate_18
MeteorUpdate_21 28390 PUSH DE
28391 PUSH BC
28392 EXX
28393 POP DE
28394 LD (HL),E
28395 INC HL
28396 POP DE
28397 LD (HL),D
28398 INC HL
28399 LD (HL),E
28400 INC HL
28401 DJNZ MeteorUpdate_20 Decrease B by one, and loop back to MeteorUpdate_20 until zero.
28403 RET
MeteorUpdate_22 28404 CALL MeteorUpdate_14
28407 JR MeteorUpdate_21
This entry point is used by the routines at RocketReset, PlayerReset and 25887.
MeteorUpdate_23 28409 LD C,A
28410 LD A,(24048) A=ActivePlayer_Level
28413 RRCA
28414 AND 6
28416 OR C
28417 LD C,A
28418 LD B,0
28420 LD HL,26563
28423 ADD HL,BC
28424 LD DE,24268
28427 LD A,2
28429 LD (24019),A
28432 XOR A
28433 LD (24018),A
28436 LD C,4
28438 XOR A
MeteorUpdate_24 28439 PUSH BC
28440 LD B,A
28441 LD C,1
28443 CALL MeteorUpdate_27
28446 LD A,B
28447 POP BC
28448 DEC HL
28449 DEC HL
28450 DEC C
28451 JR NZ,MeteorUpdate_24
28453 RET
This entry point is used by the routine at 26921.
MeteorUpdate_25 28454 LD BC,2
28457 LD A,4
28459 LD (24019),A
MeteorUpdate_26 28462 XOR A
28463 JR MeteorUpdate_30
28465 LD BC,4
28468 LD A,2
28470 LD (24019),A
28473 JR MeteorUpdate_26
28475 LD BC,4
28478 LD A,2
28480 JR MeteorUpdate_29
MeteorUpdate_27 28482 PUSH HL
28483 PUSH DE
28484 PUSH BC
28485 LD A,(HL)
28486 INC HL
28487 LD H,(HL)
28488 LD L,A
28489 INC HL
28490 INC HL
28491 JR MeteorUpdate_32
This entry point is used by the routine at 26921.
MeteorUpdate_28 28493 LD BC,2
28496 LD A,4
MeteorUpdate_29 28498 LD A,(24019)
28501 LD A,1
MeteorUpdate_30 28503 LD (24018),A
MeteorUpdate_31 28506 PUSH HL
28507 PUSH DE
28508 PUSH BC
28509 LD A,(HL)
28510 INC HL
28511 LD H,(HL)
28512 LD L,A
MeteorUpdate_32 28513 PUSH HL
28514 EX DE,HL
28515 EXX
28516 POP HL
28517 POP BC
28518 PUSH BC
28519 LD A,(HL)
28520 EX AF,AF'
28521 INC HL
28522 EXX
28523 LD (HL),0
28525 INC HL
28526 LD (HL),3
28528 INC HL
28529 EX AF,AF'
28530 CP 17
28532 JR C,MeteorUpdate_33
28534 LD A,16
MeteorUpdate_33 28536 LD (HL),A
28537 INC HL
28538 LD B,A
28539 CALL MeteorUpdate_20
28542 POP BC
28543 POP HL
28544 LD DE,51
28547 ADD HL,DE
28548 POP DE
28549 EX DE,HL
28550 INC HL
28551 INC HL
28552 LD A,(24019)
28555 ADD A,B
28556 LD B,A
28557 DEC C
28558 JR NZ,MeteorUpdate_31
28560 RET
Prev: 27893 Up: Map Next: 28561