![]() |
Routines |
| Prev: CEDA | Up: Map | Next: CF14 |
|
The handler of the object type 58, which is a block that goes backwards and forwards along y, in the same way as RunSliderX does along x.
|
||||||||
| RunSliderY | CEDD | CALL SetSpriteOffset_Minus16_Minus8 | Call SetSpriteOffset_Minus16_Minus8 to set the offsets of the sprite. | |||||
| CEE0 | XOR A | Set the speeds along x and z to zero. | ||||||
| CEE1 | LD (IX+$09),A | |||||||
| CEE4 | LD (IX+$0B),A | |||||||
|
Go towards the end of the run, or turn around if the block is stopped.
|
||||||||
| CEE7 | BIT 0,(IX+$10) | Jump to RunSliderY_Start if the block is going to the start. | ||||||
| CEEB | JR Z,RunSliderY_Start | |||||||
| CEED | LD (IX+$0A),$02 | Set the speed along y to 02. | ||||||
| CEF1 | CALL ApplyGravityAndMove_Move | Call ApplyGravityAndMove_Move to move the block, without gravity. | ||||||
| CEF4 | BIT 1,(IX+$0C) | Jump to RunSliderY_Finish if the block was not stopped along y. | ||||||
| CEF8 | JR Z,RunSliderY_Finish | |||||||
| CEFA | RES 0,(IX+$10) | Make the block go to the start. | ||||||
| RunSliderY_Finish | CEFE | JP SetWipeAndDrawFlags | Jump to SetWipeAndDrawFlags to flag the block as moved. | |||||
|
Go towards the start of the run.
|
||||||||
| RunSliderY_Start | CF01 | LD (IX+$0A),$FE | Set the speed along y to FE. | |||||
| CF05 | CALL ApplyGravityAndMove_Move | Call ApplyGravityAndMove_Move to move the block, without gravity. | ||||||
| CF08 | BIT 1,(IX+$0C) | Jump to RunSliderY_Finish if the block was not stopped along y. | ||||||
| CF0C | JR Z,RunSliderY_Finish | |||||||
| CF0E | SET 0,(IX+$10) | Make the block go to the end. | ||||||
| CF12 | JR RunSliderY_Finish | Jump to RunSliderY_Finish to finish. | ||||||
| Prev: CEDA | Up: Map | Next: CF14 |