#include #include "yxm.h" #include "cntrl.h" // --------------------------------------------------------------------- // D E F I N E S // --------------------------------------------------------------------- #define SCREEN_WIDTH 512 #define SCREEN_HEIGHT 256 #define DEF_SCREEN_XOFFSET 4 #define DEF_SCREEN_YOFFSET 18 #define OT_LENGTH 4 #define MAXOBJECTS 1000 #define FONT16CHARS 52 #define SELECTORFONTCHARS 28 #define STONE_CLUT_NUMBER 19 #define STONE_NUMBER 12 #define STONE_V 459-256 #define STONE_WIDTH 20 #define STONE_HEIGHT 12 #define HS_RANK_COLSX 768 #define HS_RANK_COLSY 26 #define HS_NAME_COLSX 768 #define HS_NAME_COLSY 27 #define HS_SCORE_COLSX 768 #define HS_SCORE_COLSY 28 #define HS_LINES_COLSX 768 #define HS_LINES_COLSY 29 #define HS_STONES_COLSX 768 #define HS_STONES_COLSY 30 #define HS_TIME_COLSX 768 #define HS_TIME_COLSY 31 #define SFX_HIHAT 0 // Sound FX #define SFX_SELECT 1 #define SFX_GO_BACK 2 #define SFX_WOOD_BLOCK 3 #define SFX_SHIFT 4 #define SFX_ILLEGAL 5 #define SFX_CLEAR 6 #define GSFX_START_GAME 0 #define GSFX_GAME_OVER 1 #define GSFX_LINE_GONE 2 #define GSFX_PUT 3 #define GSFX_NEW_SCORE 4 #define GSFX_NEW_HISCORE 5 #define GSFX_FLIP 6 #define GSFX_DROP 7 #define GSFX_ZAP_LINE 8 #define PREVIEW_MONITOR_LEFT 258 #define PREVIEW_MONITOR_TOP 16+18 #define PREVIEW_MONITOR_WIDTH 84 #define PREVIEW_MONITOR_HEIGHT 52 #define SCORE_MONITOR_LEFT 252 #define SCORE_MONITOR_TOP 75+16+19 #define HISCORE_MONITOR_LEFT 252+112 #define HISCORE_MONITOR_TOP 75+16+19 #define LINES_MONITOR_LEFT 252 #define LINES_MONITOR_TOP 75+16+48+19 #define STONES_MONITOR_LEFT 252+112 #define STONES_MONITOR_TOP 75+16+48+19 #define TIME_MONITOR_LEFT 258 #define TIME_MONITOR_TOP 75+16+96+19 #define STONES_IN_ROW 11 #define STONES_ROWS 18 #define TETIXX_FIELD_XOFF 16 #define TETIXX_FIELD_YOFF 28 #define TETIXX_FIELD_SPRITES STONES_IN_ROW*STONES_ROWS #define TETIXX_FIELD_SIZE (STONES_IN_ROW+2) * (STONES_ROWS+1) #define SCORE_ZAP_LINE 49 #define SCORE_FLUSH_LINE 2999 #define SCORE_STONE_PUT 99 #define SCORE_DROP 2499 #define SCORE_DOWN 49 #define GAME_OVER_SCORE_LINE 499 #define GAME_OVER_SCORE_STONE 99 #define GAME_OVER_SCORE_TIME 9 #define TIME_OUT_FLIP 10 #define TIME_OUT_MOVE 12 #define TIME_OUT_DOWN 8 // --------------------------------------------------------------------- // S T R C T U R E S // --------------------------------------------------------------------- typedef struct { unsigned long he_score; unsigned long he_lines; unsigned long he_stones; unsigned long he_playtime; char he_name[8]; } HISCORE_ENTRY; typedef struct { unsigned char shape; unsigned char shapes; } StoneHead; typedef struct { unsigned char shshape; //StoneHead shead; unsigned char shshapes; unsigned char shape1[16]; unsigned char shape2[16]; unsigned char shape3[16]; unsigned char shape4[16]; } Stone_Rec; // --------------------------------------------------------------------- // E X T E R N A L S // --------------------------------------------------------------------- extern char bg_left[]; extern char bg_right[]; extern char tx_left[]; extern char tx_right[]; extern char font16[]; extern char SelStartGame[]; extern char SelOptions[]; extern char SelHiscore[]; extern char SelExit[]; extern char SelCtrl[]; extern char SelCtrlBack[]; extern char SelCtrlAdjust[]; extern char SelCtrlCard[]; extern char opt_Load[]; extern char opt_Save[]; extern char opt_AdjustScreen[]; extern char Card1Load[]; extern char Card1Save[]; extern char Card1Error[]; extern char Card2Load[]; extern char Card2Save[]; extern char Card2Error[]; extern char HiscoreLogo[]; extern char ScoreFont[]; extern char Bar[]; extern char HS_CTRL0[]; extern char HS_CTRL1[]; extern char PlayBackText[]; extern char Stone[]; extern char GameScoreMonitor[]; extern char GameLinesMonitor[]; extern char GameStonesMonitor[]; extern char GameTimeMonitor[]; extern char PreviewMonitor[]; extern char HiscoreMonitor[]; extern char ScoreYXM[]; extern char ScoreVB[]; extern char ScoreVH[]; extern char ThemeYXM[]; extern char ThemeVB[]; extern char ThemeVH[]; extern char IngameYXM[]; extern char IngameVB[]; extern char IngameVH[]; extern char ChooseVB[]; extern char ChooseVH[]; extern char GameSFXVB[]; extern char GameSFXVH[]; extern char GameCtrlIngame[]; extern char PauseLogo[]; extern char GameOverLogo[]; extern char BonusLogo[]; extern char ISCntrlLogo[]; extern char TXTitleLogoLeft[]; extern char TXTitleLogoRight[]; extern GsOT WorldOT[2]; extern GsOT_TAG OTab[2][1<