32#define ARRAY_SIZE(Source) (sizeof(Source) > 0 ? sizeof(Source) / sizeof(Source[0]) : 0)
34extern const string ProgramVersion;
36extern const unsigned char StringCenterLeftSpacing;
37extern const unsigned char StringCenterWidth;
41extern const unsigned char GameModeClassic;
42extern const unsigned char GameModeScoreAttack;
43extern const unsigned char GameModeMarathon;
45extern const unsigned char GameModes[3];
49extern const unsigned char GameLevelEasy;
50extern const unsigned char GameLevelNormal;
51extern const unsigned char GameLevelHard;
53extern const unsigned char GameLevel[3];
57extern const unsigned char VirusLevelMaximum;
61extern const unsigned char SpeedLow;
62extern const unsigned char SpeedMedium;
63extern const unsigned char SpeedHigh;
65extern const unsigned char GameSpeed[3];
69extern const unsigned int ScoreMaximum;
73extern const unsigned short TimeMaximum;
77extern const unsigned int FrameCountMaximum;
81extern const string PasswordCharacters;
83extern const unsigned char PasswordLength;
87extern const unsigned char PasswordOK;
88extern const unsigned char PasswordInvalidLength;
89extern const unsigned char PasswordInvalidCharacters;
90extern const unsigned char PasswordInvalidChecksum;
91extern const unsigned char PasswordInvalidClassicLevel;
92extern const unsigned char PasswordInvalidNonClassicLevel;
93extern const unsigned char PasswordInvalidScore;
94extern const unsigned char PasswordInvalidTime;
95extern const unsigned char PasswordInvalidPlayerName;
99extern const unsigned char ArgumentInvalidGameMode;
100extern const unsigned char ArgumentInvalidLevel;
101extern const unsigned char ArgumentInvalidSpeed;
102extern const unsigned char ArgumentInvalidScore;
103extern const unsigned char ArgumentInvalidTime;
104extern const unsigned char ArgumentInvalidPlayerName;
105extern const unsigned char ArgumentInvalidFrameCount;
109extern const string AlphabeticNumericASCII;
111extern const unsigned char SpecialCharacterSpace;
112extern const unsigned char SpecialCharacterTilde;
113extern const unsigned char SpecialCharacterSlashSmall;
114extern const unsigned char SpecialCharacterCenteredDot;
115extern const unsigned char SpecialCharacterDot;
116extern const unsigned char SpecialCharacterQuestionMark;
117extern const unsigned char SpecialCharacterHeart;
118extern const unsigned char SpecialCharacterStar;
119extern const unsigned char SpecialCharacterCircle;
120extern const unsigned char SpecialCharacterMarkX;
121extern const unsigned char SpecialCharacterSlashBig;
122extern const unsigned char SpecialCharacterColon;
123extern const unsigned char SpecialCharacterPercentual;
124extern const unsigned char SpecialCharacterAccent;
125extern const unsigned char SpecialCharacterAmpersand;
126extern const unsigned char SpecialCharacterDotAlternate;
128extern const char SpecialToASCIICharactersTable[16];
130extern const unsigned char InternalToASCIICharactersTable[78];
132extern const unsigned char ConversionInternalToAsciiError;
133extern const unsigned char ConversionAsciiToInternalError;
134extern const string ConversionInternalToConversationalError;
138extern const unsigned int TableMaskPasswordChunkX[4];
139extern const unsigned int TableMaskPasswordChunkY[4];
140extern const unsigned int TableMaskPasswordChunkZ[4];
144extern const unsigned int TableMaskFrameCountX[32];
145extern const unsigned int TableMaskFrameCountY[32];