home *** CD-ROM | disk | FTP | other *** search
- #define SETTINGS_C
- #include "Settings.h"
-
- #include "Abalone.h"
-
-
- #if defined(__MWERKS__)
- #pragma segment __%Main
- #else
- #pragma segment Main
- #endif
-
-
- Settings gSet =
- {
- // The settings must be initialised properly,
- // in case no valid preferences file is present.
-
- /* Version */ kSettingsVersion,
- /* Players */ 2,
- /* FieldWidth */ 54,
- /* FieldHeight */ 47,
- /* SoundOn */ true,
- /* Balls3D */ true,
- /* BackgroundPictID */ 200,
- /* ShowNotation */ false,
-
- /* PlayerKind[] */ { humanPlayer, /* unused */
- humanPlayer,
- macPlayer,
- macPlayer
- },
-
- /* Strategy[] */ { firstStrategy, /* unused */
- firstStrategy,
- fourthStrategy,
- firstStrategy
- },
- /* Level[] */ { 0, /* unused */
- 0,
- 2,
- 0
- },
- /* Connected[] */ { false, /* unused */
- false,
- false,
- false
- },
- /* PlayerName[] */ { "\pBoard", /* unused */
- "\pBlack",
- "\pWhite",
- "\pRed"
- },
- /* Color[] */ { { 0xA000, 0xC000, 0xC000 }, /* background */
- { 0x1000, 0x0000, 0x1000 },
- { 0xF000, 0xFFFF, 0xFFFF },
- { 0xFFFF, 0x1000, 0x1000 }
- }
- };
-
-
-
- void
- SetPlayerName (SettingsPtr settings, short player, StringPtr name)
- {
- pstrncpy (settings->PlayerName[player], (char *) name, 32);
- }
-
-
-
- StringPtr
- GetPlayerName (SettingsPtr settings, short player)
- {
- return (StringPtr) settings->PlayerName[player];
- }
-
-
-
- Boolean
- ConfirmPlayerKind (short player, short type)
- {
- if ( GetPlayerKind (& gSet, player) == networkPlayer
- && IsConnected (player)
- && type != networkPlayer
- )
- {
- CurrentCursor (arrowCursor);
- switch (Alert (402, nil))
- {
- case 1: // Send Quit
- BreakConnections();
- break;
- case 2: // Keep Quiet
- ;
- break;
- case 3: // Cancel
- return false;
- }
- }
- return true;
- }
-
-
-
- Boolean
- ConfirmNetQuit (void)
- {
- if (! Connected())
- return true;
-
- CurrentCursor (arrowCursor);
- switch (Alert (404, nil))
- {
- case 2: // Quit
- BreakConnections();
- return true;
- break;
- }
- return false;
- }
-
-
-
- void
- SetPlayerKind (SettingsPtr settings, short player, short type)
- {
- settings->PlayerKind[player] = type;
- }
-
-
-
- short
- GetPlayerKind (SettingsPtr settings, short player)
- {
- return settings->PlayerKind[player];
- }
-
-
- Boolean
- IsNetPlayer (SettingsPtr settings, short player)
- {
- return (GetPlayerKind (settings, player) == networkPlayer);
- }
-
-
- Boolean
- IsMacPlayer (SettingsPtr settings, short player)
- {
- return (GetPlayerKind (settings, player) == macPlayer);
- }
-
-
- Boolean
- IsHumanPlayer (SettingsPtr settings, short player)
- {
- return (GetPlayerKind (settings, player) == humanPlayer);
- }
-
-
-
- short
- CountPlayerKind (SettingsPtr settings, short type)
- {
- short p, count = 0;
-
- for (p = 1; p <= settings->Players; p++)
- {
- if (GetPlayerKind (settings, p) == type)
- count++;
- }
- return count;
- }
-
-
-
- short
- CountNetPlayers (SettingsPtr settings)
- {
- return CountPlayerKind(settings, networkPlayer);
- }
-
-
- short
-
- CountMacPlayers (SettingsPtr settings)
- {
- return CountPlayerKind(settings, macPlayer);
- }
-
-
-
- short
- CountHumanPlayers (SettingsPtr settings)
- {
- return CountPlayerKind(settings, humanPlayer);
- }