#define ZoomFactor (2)
-#define BaseWidth (ZoomFactor * 16)
-#define StretchWidth (ZoomFactor * 16)
-#define StretchWidth2 (StretchWidth / 2)
-#define TwoPixels (ZoomFactor * 2)
+#define BaseWidth (ZoomFactor * 16)
+#define StretchWidth (ZoomFactor * 16)
+#define StretchWidth2 (StretchWidth / 2)
+#define TwoPixels (ZoomFactor * 2)
#else
-#define BaseWidth (16)
-#define StretchWidth (16)
-#define StretchWidth2 (StretchWidth / 2)
-#define TwoPixels (2)
+#define BaseWidth (16)
+#define StretchWidth (16)
+#define StretchWidth2 (StretchWidth / 2)
+#define TwoPixels (2)
#endif
#if 1
-#define fiSpace (0)
-#define fiZonk (1)
-#define fiBase (2)
-#define fiMurphy (3)
-#define fiInfotron (4)
-#define fiRAM (5)
-#define fiHardWare (6)
-#define fiExit (7)
-#define fiOrangeDisk (8)
-#define fiPortRight (9)
-#define fiPortDown (10)
-#define fiPortLeft (11)
-#define fiPortUp (12)
-#define fiSpPortRight (13)
-#define fiSpPortDown (14)
-#define fiSpPortLeft (15)
-#define fiSpPortUp (16)
-#define fiSnikSnak (17)
-#define fiYellowDisk (18)
-#define fiTerminal (19)
-#define fiRedDisk (20)
-#define fiPortUpAndDown (21)
-#define fiPortLeftAndRight (22)
-#define fiPortAllDirections (23)
-#define fiElectron (24)
-#define fiBug (25)
-#define fiRAMLeft (26)
-#define fiRAMRight (27)
-#define fiHWFirst (28)
+#define fiSpace (0)
+#define fiZonk (1)
+#define fiBase (2)
+#define fiMurphy (3)
+#define fiInfotron (4)
+#define fiRAM (5)
+#define fiHardWare (6)
+#define fiExit (7)
+#define fiOrangeDisk (8)
+#define fiPortRight (9)
+#define fiPortDown (10)
+#define fiPortLeft (11)
+#define fiPortUp (12)
+#define fiSpPortRight (13)
+#define fiSpPortDown (14)
+#define fiSpPortLeft (15)
+#define fiSpPortUp (16)
+#define fiSnikSnak (17)
+#define fiYellowDisk (18)
+#define fiTerminal (19)
+#define fiRedDisk (20)
+#define fiPortUpAndDown (21)
+#define fiPortLeftAndRight (22)
+#define fiPortAllDirections (23)
+#define fiElectron (24)
+#define fiBug (25)
+#define fiRAMLeft (26)
+#define fiRAMRight (27)
+#define fiHWFirst (28)
#define fiHW0 (fiHWFirst + 0) // fiHWFirst
#define fiHW1 (fiHWFirst + 1)
#define fiHW2 (fiHWFirst + 2)
#define fiHW7 (fiHWFirst + 7)
#define fiHW8 (fiHWFirst + 8)
#define fiHW9 (fiHWFirst + 9) // fiHWLast
-#define fiHWLast (37)
-#define fiRAMTop (38)
-#define fiRAMBottom (39)
-#define fiWallSpace (40)
-#define fiHWTrash1 (41)
-#define fiHWTrash2 (42)
-#define fiHWMurphy (43)
+#define fiHWLast (37)
+#define fiRAMTop (38)
+#define fiRAMBottom (39)
+#define fiWallSpace (40)
+#define fiHWTrash1 (41)
+#define fiHWTrash2 (42)
+#define fiHWMurphy (43)
-#define fiExplosion (0x1F)
+#define fiExplosion (0x1F)
#else
-#define fiBase (2)
-#define fiBug (25)
-#define fiElectron (24)
-#define fiExit (7)
-#define fiExplosion (0x1F)
-#define fiHWFirst (28)
-#define fiHWLast (37)
-#define fiHWMurphy (43)
-#define fiHWTrash1 (41)
-#define fiHWTrash2 (42)
-#define fiHardWare (6)
-#define fiInfotron (4)
-#define fiMurphy (3)
-#define fiOrangeDisk (8)
-#define fiPortAllDirections (23)
-#define fiPortDown (10)
-#define fiPortLeft (11)
-#define fiPortLeftAndRight (22)
-#define fiPortRight (9)
-#define fiPortUp (12)
-#define fiPortUpAndDown (21)
-#define fiRAM (5)
-#define fiRAMBottom (39)
-#define fiRAMLeft (26)
-#define fiRAMRight (27)
-#define fiRAMTop (38)
-#define fiRedDisk (20)
-#define fiSnikSnak (17)
-#define fiSpPortDown (14)
-#define fiSpPortLeft (15)
-#define fiSpPortRight (13)
-#define fiSpPortUp (16)
-#define fiSpace (0)
-#define fiTerminal (19)
-#define fiWallSpace (40)
-#define fiYellowDisk (18)
-#define fiZonk (1)
+#define fiBase (2)
+#define fiBug (25)
+#define fiElectron (24)
+#define fiExit (7)
+#define fiExplosion (0x1F)
+#define fiHWFirst (28)
+#define fiHWLast (37)
+#define fiHWMurphy (43)
+#define fiHWTrash1 (41)
+#define fiHWTrash2 (42)
+#define fiHardWare (6)
+#define fiInfotron (4)
+#define fiMurphy (3)
+#define fiOrangeDisk (8)
+#define fiPortAllDirections (23)
+#define fiPortDown (10)
+#define fiPortLeft (11)
+#define fiPortLeftAndRight (22)
+#define fiPortRight (9)
+#define fiPortUp (12)
+#define fiPortUpAndDown (21)
+#define fiRAM (5)
+#define fiRAMBottom (39)
+#define fiRAMLeft (26)
+#define fiRAMRight (27)
+#define fiRAMTop (38)
+#define fiRedDisk (20)
+#define fiSnikSnak (17)
+#define fiSpPortDown (14)
+#define fiSpPortLeft (15)
+#define fiSpPortRight (13)
+#define fiSpPortUp (16)
+#define fiSpace (0)
+#define fiTerminal (19)
+#define fiWallSpace (40)
+#define fiYellowDisk (18)
+#define fiZonk (1)
#endif
// graphics and animations directly related to file elements
-#define aniSpace IMG_EMPTY_SPACE
-#define aniZonk IMG_SP_ZONK
-#define aniBase IMG_SP_BASE
-#define aniMurphy IMG_SP_MURPHY
-#define aniInfotron IMG_SP_INFOTRON
-#define aniRAM IMG_SP_CHIP_SINGLE
-#define aniHardWare IMG_SP_HARDWARE_GRAY
-#define aniExit IMG_SP_EXIT_CLOSED
-#define aniOrangeDisk IMG_SP_DISK_ORANGE
-#define aniPortRight IMG_SP_PORT_RIGHT
-#define aniPortDown IMG_SP_PORT_DOWN
-#define aniPortLeft IMG_SP_PORT_LEFT
-#define aniPortUp IMG_SP_PORT_UP
-#define aniSpPortRight IMG_SP_GRAVITY_PORT_RIGHT
-#define aniSpPortDown IMG_SP_GRAVITY_PORT_DOWN
-#define aniSpPortLeft IMG_SP_GRAVITY_PORT_LEFT
-#define aniSpPortUp IMG_SP_GRAVITY_PORT_UP
-#define aniSnikSnak IMG_SP_SNIKSNAK
-#define aniYellowDisk IMG_SP_DISK_YELLOW
-#define aniTerminal IMG_SP_TERMINAL
-#define aniRedDisk IMG_SP_DISK_RED
-#define aniPortUpAndDown IMG_SP_PORT_VERTICAL
-#define aniPortLeftAndRight IMG_SP_PORT_HORIZONTAL
-#define aniPortAllDirections IMG_SP_PORT_ANY
-#define aniElectron IMG_SP_ELECTRON
-#define aniBug IMG_SP_BUGGY_BASE
-#define aniRAMLeft IMG_SP_CHIP_LEFT
-#define aniRAMRight IMG_SP_CHIP_RIGHT
-#define aniHWFirst IMG_SP_HARDWARE_BASE_1
+#define aniSpace IMG_EMPTY_SPACE
+#define aniZonk IMG_SP_ZONK
+#define aniBase IMG_SP_BASE
+#define aniMurphy IMG_SP_MURPHY
+#define aniInfotron IMG_SP_INFOTRON
+#define aniRAM IMG_SP_CHIP_SINGLE
+#define aniHardWare IMG_SP_HARDWARE_GRAY
+#define aniExit IMG_SP_EXIT_CLOSED
+#define aniOrangeDisk IMG_SP_DISK_ORANGE
+#define aniPortRight IMG_SP_PORT_RIGHT
+#define aniPortDown IMG_SP_PORT_DOWN
+#define aniPortLeft IMG_SP_PORT_LEFT
+#define aniPortUp IMG_SP_PORT_UP
+#define aniSpPortRight IMG_SP_GRAVITY_PORT_RIGHT
+#define aniSpPortDown IMG_SP_GRAVITY_PORT_DOWN
+#define aniSpPortLeft IMG_SP_GRAVITY_PORT_LEFT
+#define aniSpPortUp IMG_SP_GRAVITY_PORT_UP
+#define aniSnikSnak IMG_SP_SNIKSNAK
+#define aniYellowDisk IMG_SP_DISK_YELLOW
+#define aniTerminal IMG_SP_TERMINAL
+#define aniRedDisk IMG_SP_DISK_RED
+#define aniPortUpAndDown IMG_SP_PORT_VERTICAL
+#define aniPortLeftAndRight IMG_SP_PORT_HORIZONTAL
+#define aniPortAllDirections IMG_SP_PORT_ANY
+#define aniElectron IMG_SP_ELECTRON
+#define aniBug IMG_SP_BUGGY_BASE
+#define aniRAMLeft IMG_SP_CHIP_LEFT
+#define aniRAMRight IMG_SP_CHIP_RIGHT
+#define aniHWFirst IMG_SP_HARDWARE_BASE_1
#define aniHW0 IMG_SP_HARDWARE_BASE_1
#define aniHW1 IMG_SP_HARDWARE_GREEN
#define aniHW2 IMG_SP_HARDWARE_BLUE
#define aniHW7 IMG_SP_HARDWARE_BASE_4
#define aniHW8 IMG_SP_HARDWARE_BASE_5
#define aniHW9 IMG_SP_HARDWARE_BASE_6
-#define aniHWLast IMG_SP_HARDWARE_BASE_6
-#define aniRAMTop IMG_SP_CHIP_TOP
-#define aniRAMBottom IMG_SP_CHIP_BOTTOM
-#define aniWallSpace IMG_INVISIBLE_WALL
-#define aniHWTrash1
-#define aniHWTrash2
-#define aniHWMurphy
+#define aniHWLast IMG_SP_HARDWARE_BASE_6
+#define aniRAMTop IMG_SP_CHIP_TOP
+#define aniRAMBottom IMG_SP_CHIP_BOTTOM
+#define aniWallSpace IMG_INVISIBLE_WALL
+#define aniHWTrash1
+#define aniHWTrash2
+#define aniHWMurphy
// graphics and animations related to in-game animations for element actions
#define aniMurphyDropping IMG_SP_MURPHY_DROPPING
-#define aniMurphySleepLeft IMG_SP_MURPHY_SLEEPING_LEFT
-#define aniMurphySleepRight IMG_SP_MURPHY_SLEEPING_RIGHT
-#define aniMurphyTouchLeft IMG_SP_MURPHY_SNAPPING_LEFT
-#define aniMurphyTouchRight IMG_SP_MURPHY_SNAPPING_RIGHT
-#define aniMurphyTouchUp IMG_SP_MURPHY_SNAPPING_UP
-#define aniMurphyTouchDown IMG_SP_MURPHY_SNAPPING_DOWN
-#define aniMurphyYawn IMG_SP_MURPHY_BORING_1
-#define aniPushLeft IMG_SP_MURPHY_PUSHING_LEFT
-#define aniPushRight IMG_SP_MURPHY_PUSHING_RIGHT
-#define aniPushUpDown IMG_SP_MURPHY_PUSHING_RIGHT
+#define aniMurphySleepLeft IMG_SP_MURPHY_SLEEPING_LEFT
+#define aniMurphySleepRight IMG_SP_MURPHY_SLEEPING_RIGHT
+#define aniMurphyTouchLeft IMG_SP_MURPHY_SNAPPING_LEFT
+#define aniMurphyTouchRight IMG_SP_MURPHY_SNAPPING_RIGHT
+#define aniMurphyTouchUp IMG_SP_MURPHY_SNAPPING_UP
+#define aniMurphyTouchDown IMG_SP_MURPHY_SNAPPING_DOWN
+#define aniMurphyYawn IMG_SP_MURPHY_BORING_1
+#define aniPushLeft IMG_SP_MURPHY_PUSHING_LEFT
+#define aniPushRight IMG_SP_MURPHY_PUSHING_RIGHT
+#define aniPushUpDown IMG_SP_MURPHY_PUSHING_RIGHT
#define aniBugActivating IMG_SP_BUGGY_BASE_ACTIVATING
#define aniBugDeactivating IMG_SP_BUGGY_BASE_ACTIVATING
#define aniOrangeDisk IMG_SP_DISK_ORANGE
#define aniRedDisk IMG_SP_DISK_RED
-#define aniSnikSnakDown 167
-#define aniSnikSnakLeft 239
-#define aniSnikSnakRight 247
-#define aniSnikSnakUp 159
+#define aniSnikSnakDown IMG_SP_SNIKSNAK_DOWN
+#define aniSnikSnakLeft IMG_SP_SNIKSNAK_LEFT
+#define aniSnikSnakRight IMG_SP_SNIKSNAK_RIGHT
+#define aniSnikSnakUp IMG_SP_SNIKSNAK_UP
+
+#define aniSnikSnakTurnLeftToUp IMG_SP_SNIKSNAK_TURNING_FROM_LEFT_UP
+#define aniSnikSnakTurnLeftToDown IMG_SP_SNIKSNAK_TURNING_FROM_LEFT_DOWN
+#define aniSnikSnakTurnRightToUp IMG_SP_SNIKSNAK_TURNING_FROM_RIGHT_UP
+#define aniSnikSnakTurnRightToDown IMG_SP_SNIKSNAK_TURNING_FROM_RIGHT_DOWN
+#define aniSnikSnakTurnUpToLeft IMG_SP_SNIKSNAK_TURNING_FROM_UP_LEFT
+#define aniSnikSnakTurnUpToRight IMG_SP_SNIKSNAK_TURNING_FROM_UP_RIGHT
+#define aniSnikSnakTurnDownToLeft IMG_SP_SNIKSNAK_TURNING_FROM_DOWN_LEFT
+#define aniSnikSnakTurnDownToRight IMG_SP_SNIKSNAK_TURNING_FROM_DOWN_RIGHT
#define aniTerminalActive IMG_SP_TERMINAL_ACTIVE
-#define aniExplosionInfo (111)
+#define aniExplosionInfo (111)
#else
-#define aniMurphySleepLeft (71)
-#define aniMurphySleepRight (68)
-#define aniMurphyTouchDown (47)
-#define aniMurphyTouchLeft (95)
-#define aniMurphyTouchRight (94)
-#define aniMurphyTouchUp (46)
-#define aniMurphyYawn (56)
-#define aniPushLeft (45)
-#define aniPushRight (44)
-#define aniPushUpDown (79)
-
-#define aniSnikSnakDown (167)
-#define aniSnikSnakLeft (239)
-#define aniSnikSnakRight (247)
-#define aniSnikSnakUp (159)
+#define aniMurphySleepLeft (71)
+#define aniMurphySleepRight (68)
+#define aniMurphyTouchDown (47)
+#define aniMurphyTouchLeft (95)
+#define aniMurphyTouchRight (94)
+#define aniMurphyTouchUp (46)
+#define aniMurphyYawn (56)
+#define aniPushLeft (45)
+#define aniPushRight (44)
+#define aniPushUpDown (79)
+
+#define aniSnikSnakDown (167)
+#define aniSnikSnakLeft (239)
+#define aniSnikSnakRight (247)
+#define aniSnikSnakUp (159)
#define aniTerminal (0x80)
#define aniTerminalActive (0x88)
-#define aniExplosionInfo (111)
+#define aniExplosionInfo (111)
#endif
-#define posFrameCorner (55)
-#define posFrameHorizontal (111)
-#define posFrameVertical (110)
+#define posFrameCorner (55)
+#define posFrameHorizontal (111)
+#define posFrameVertical (110)
#if 1
#if 1
-#define keyNone (0)
-#define keyUp (1)
-#define keyLeft (2)
-#define keyDown (3)
-#define keyRight (4)
-#define keySpaceUp (5)
-#define keySpaceLeft (6)
-#define keySpaceDown (7)
-#define keySpaceRight (8)
-#define keySpace (9)
+#define keyNone (0)
+#define keyUp (1)
+#define keyLeft (2)
+#define keyDown (3)
+#define keyRight (4)
+#define keySpaceUp (5)
+#define keySpaceLeft (6)
+#define keySpaceDown (7)
+#define keySpaceRight (8)
+#define keySpace (9)
#else
-#define keyDown (3)
-#define keyLeft (2)
-#define keyNone (0)
-#define keyRight (4)
-#define keySpace (9)
-#define keySpaceDown (7)
-#define keySpaceLeft (6)
-#define keySpaceRight (8)
-#define keySpaceUp (5)
-#define keyUp (1)
+#define keyDown (3)
+#define keyLeft (2)
+#define keyNone (0)
+#define keyRight (4)
+#define keySpace (9)
+#define keySpaceDown (7)
+#define keySpaceLeft (6)
+#define keySpaceRight (8)
+#define keySpaceUp (5)
+#define keyUp (1)
#endif
extern int getSequenceLength(int sequence);
extern boolean isSnappingSequence(int sequence);
+extern int fiGraphic[];
+extern int aniSnikSnakTurningLeft[];
+extern int aniSnikSnakTurningRight[];
+
extern boolean Alignments;
extern boolean BlockingSpeed;
extern boolean Cracked;