Prev: BF2F Up: Map Next: BF83
BF3D: Set Pixel Adjustments
Sets how many pixels the sprite of an object is moved, in x and y, from the position that CalculatePixelCoordinates works out. The isometric formula finds a corner of the object; these offsets sit the graphic on that box. There is an entry point for each pair of offsets, and the one that is used depends on the sprite. L is the offset in x and H is the offset in y. A plain block (object 1E) and the wall parts (objects 0D to 0F) have no other work, so their update routine is one of these entries.
Input
IX The address of the object
The adjustments of blocks, conveyors, land mines, deadly pyramids and the remote control objects: F0 in x and F7 in y.
SetPixelAdjustments BF3D LD HL,$F7F0 Set the adjustments.
BF40 JR SetPixelAdjustments_Store Jump to SetPixelAdjustments_Store.
The adjustments of F4 in x and F7 in y.
SetPixelAdjustments_F4F7 BF42 LD HL,$F7F4 Set the adjustments.
BF45 JR SetPixelAdjustments_Store Jump to SetPixelAdjustments_Store.
This entry point is used by the routines at HandleEggTop, HandlePlayerAppearing and HandleLastAppearingSparkle.
The adjustments of the top of a broken egg and of the sparkles while the player appears: F4 in x and F8 in y.
SetPixelAdjustments_Appearing BF47 LD HL,$F8F4 Set the adjustments.
BF4A JR SetPixelAdjustments_Store Jump to SetPixelAdjustments_Store.
This entry point is used by the routines at HandleSocket, HandlePlayerLegs and HandleTurningLegs.
The adjustments of the legs of the player and of a socket: F0 in x and F9 in y.
SetPixelAdjustments_Legs BF4C LD HL,$F9F0 Set the adjustments.
BF4F JR SetPixelAdjustments_Store Jump to SetPixelAdjustments_Store.
The adjustments of wall object 0D: F4 in x and F9 in y.
SetPixelAdjustments_Wall_0D BF51 LD HL,$F9F4 Set the adjustments.
BF54 JR SetPixelAdjustments_Store Jump to SetPixelAdjustments_Store.
This entry point is used by the routine at HandleFatTopBlock.
The adjustments of a block which is fat at the top: F0 in x and FA in y.
SetPixelAdjustments_FatTop BF56 LD HL,$FAF0 Set the adjustments.
BF59 JR SetPixelAdjustments_Store Jump to SetPixelAdjustments_Store.
This entry point is used by the routines at HandleClockworkMouse, HandleMouseSecondPart, HandleCircuitMouse and HandleBouncingMouse.
The adjustments of a mouse: F4 in x and FA in y.
SetPixelAdjustments_Mouse BF5B LD HL,$FAF4 Set the adjustments.
BF5E JR SetPixelAdjustments_Store Jump to SetPixelAdjustments_Store.
This entry point is used by the routines at HandleValveGhost, HandleValveGhostSparkle, HandlePlacedValve and HandleValve.
The adjustments of a valve and of its ghost: F4 in x and FB in y.
SetPixelAdjustments_Valve BF60 LD HL,$FBF4 Set the adjustments.
BF63 JR SetPixelAdjustments_Store Jump to SetPixelAdjustments_Store.
The adjustments of wall object 0F: F8 in x and FB in y.
SetPixelAdjustments_Wall_0F BF65 LD HL,$FBF8 Set the adjustments.
BF68 JR SetPixelAdjustments_Store Jump to SetPixelAdjustments_Store.
The adjustments of sparkles, domes, a broken egg and a cryonaut: F4 in x and FC in y.
SetPixelAdjustments_Sparkle BF6A LD HL,$FCF4 Set the adjustments.
BF6D JR SetPixelAdjustments_Store Jump to SetPixelAdjustments_Store.
This entry point is used by the routine at HandlePlayerTop.
The adjustments of the top half of the player: F0 in x and FD in y.
SetPixelAdjustments_PlayerTop BF6F LD HL,$FDF0 Set the adjustments.
BF72 JR SetPixelAdjustments_Store Jump to SetPixelAdjustments_Store.
The adjustments of wall object 0E: FC in x and FD in y.
SetPixelAdjustments_Wall_0E BF74 LD HL,$FDFC Set the adjustments.
This entry point is used by the routines at HandleFarArch and HandleNearArch.
Store the adjustments in the object.
SetPixelAdjustments_Store BF77 LD (IX+$12),L Set the pixel adjustments of the object.
BF7A LD (IX+$13),H
BF7D RET Return.
This entry point is used by the routine at HandleExtraLife.
The adjustments of an extra life: F8 in x and FE in y.
SetPixelAdjustments_ExtraLife BF7E LD HL,$FEF8 Set the adjustments.
BF81 JR SetPixelAdjustments_Store Jump to SetPixelAdjustments_Store.
View the equivalent code in;
Prev: BF2F Up: Map Next: BF83