Prev: 60143 Up: Map Next: 60166
60157: Data buffer - Maroc/servant/spell cursor controls and position data
60157 DEFB 0 Store for control left/right calculated value of 0, 1 (right) or -1 (255) (left), plus the value stored at 60075 which is set when Maroc enters a new room
60158 DEFB 0 Store for control up/down calculated value of 0, 1 (up) or -1 (255) (down), plus the value stored at 60076 which is set when Maroc enters a new room
60159 DEFB 0 Vertical (Y) position (in pixels) for controllable icon/servant graphic
Calculated from top of playing area in pixels
Set to 40 (just above Maroc's head) in routine at 59456 after servant or other 'cursor control' spell cast
60160 DEFB 0 Horizontal (X) position (in pixels) for controllable icon/servant graphic
Calculated from left of playing area in pixels
Set to 112 (centre of screen) in routine at 59461 after servant or other 'cursor control' spell cast
60161 DEFB 0 Servant/controllable cursor's horizontal movement speed. Negative values = left, positive = right
60162 DEFB 0 Servant/controllable cursor's vertical movement speed. Negative values = up, positive = down
60163 DEFB 0 Maroc's direction/rotation - see Trivia: Maroc's sprite rotational movement
Direction Value
DOWN 0
DOWN and LEFT 32
LEFT 64
UP and LEFT 96
UP 128
UP and RIGHT 160
RIGHT 192
DOWN and RIGHT 224

Repeatedly adding 32 causes Maroc to rotate in a clockwise direction, like in the animated routine when he runs out of energy at 58476
60164 DEFB 0 Maroc's horizontal movement speed
Negative values = right, positive = left, e.g. 224 = full speed right, 32 = full speed left
Graphic position is adjusted by speed/4 pixels - e.g. a speed of 32/-32 would result in a movement step of 8/-8 pixels
60165 DEFB 0 Maroc's vertical movement speed.
Negative values = down, positive = up, e.g. 224 = full speed down, 32 = full speed up
Graphic position is adjusted by speed/4 pixels - e.g. a speed of 32/-32 would result in a movement step of 8/-8 pixels
Prev: 60143 Up: Map Next: 60166