/*============================================================*/
/*============================================================*/
/*==														==*/
/*==					IdleRoutines Header					==*/
/*==														==*/
/*============================================================*/
/*============================================================*/

#pragma once


/*========================================================  Defines  */

#define rReplayDialogID			1001
#define kButtReplayOkay			1
#define kButtReplayCancel		2
#define kCheckGoals				3
#define kCheckFouls				4
#define kCheckOnR				5
#define kUserBalloonReplay		7
#define kCheckReplayZooms		8
#define kReplayTitleLeft		6
#define kReplayTitleTop			16
#define rNamesDialogID			1003
#define kButtNamesOkay			1
#define kButtNamesCancel		2
#define kEditFirstName			3
#define kEditLastName			12
#define kUserBalloonNames		13
#define kNamesTitleLeft			6
#define kNamesTitleTop			16
#define rPrefsDialogID			1002
#define kButtPrefsOkay			1
#define kButtPrefsCancel		2
#define kUserBalloonPrefs		3
#define kCheckUseQD				5
#define kCheckCursor			6
#define kCheckDepth				7
#define kCheckAnnouncer			8
#define kCheckBackground		9
#define kCheckZooms				10
#define kCheckSkip				11
#define kPrefsTitleLeft			6
#define kPrefsTitleTop			16
#define rRecordsDialogID		1006
#define kButtRecordsOkay		1
#define kNameRecordsTitles		2
#define kNameRecordsPoints		3
#define kNameRecordsDelta		4
#define kNameRecordsFouls		5
#define kNameRecordsCrits		6
#define kAmountRecordsTitles	7
#define kAmountRecordsPoints	8
#define kAmountRecordsDelta		9
#define kAmountRecordsFouls		10
#define kAmountRecordsCrits		11
#define kDateRecordsTitles		12
#define kDateRecordsPoints		13
#define kDateRecordsDelta		14
#define kDateRecordsFouls		15
#define kDateRecordsCrits		16
#define kUserBalloonRecords		37
#define kUserFirstFrameRecords	39
#define kUserLastFrameRecords	43
#define kUserHiddenReset		44
#define kRecordsTitleLeft		6
#define kRecordsTitleTop		16
#define rMemoryDialogID			1007
#define kButtMemoryOkay			1
#define kTextPrimarySounds		2
#define kTextIncidentalSounds	3
#define kTextFreeMemory			4
#define kUserBalloonMemory		8
#define kMemoryTitleLeft		6
#define kMemoryTitleTop			16
#define rLeagueDialogID			1008
#define kButtLeagueOkay			1
#define kButtLeagueCancel		2
#define kRadioLittleLeague		3
#define kRadioJrVarsity			4
#define kRadioVarsity			5
#define kRadioMinorLeague		6
#define kRadioProfessional		7
#define kUserBalloonLeague		8
#define kLeagueTitleLeft		6
#define kLeagueTitleTop			16


/*========================================================  Function Prototypes  */

void DrawOpenHand (void);
void DrawClosedHand (void);
void DrawOpenMouth (short);
void DrawClosedMouth (short);
void DoOpeningAnnouncer (void);
void DoNew (void);
void DoOpen (void);
void DoSave (void);
void DoSaveAs (void);
void HandleSwitchItem (void);
void UpdateReplayDialog (DialogPtr);
pascal Boolean ReplayFilter (DialogPtr, EventRecord *, short *);
Boolean ConfigureInstantReplay (void);
void UpdateNamesDialog (DialogPtr);
pascal Boolean EditNameFilter (DialogPtr, EventRecord *, short *);
Boolean ConfigureNames (void);
void UpdatePrefsDialog (DialogPtr);
pascal Boolean PrefsFilter (DialogPtr, EventRecord *, short *);
Boolean ConfigurePreferences (void);
void UpdateRecordsDialog (DialogPtr);
pascal Boolean RecordsFilter (DialogPtr, EventRecord *, short *);
Boolean DisplayRecords (void);
void UpdateMemoryDialog (DialogPtr);
pascal Boolean MemoryFilter (DialogPtr, EventRecord *, short *);
Boolean DisplayMemory (void);
void UpdateLeagueDialog (DialogPtr);
pascal Boolean LeagueFilter (DialogPtr, EventRecord *, short *);
Boolean ConfigureLeague (void);
Boolean ConvertPararena (void);


/*========================================================  Globals  */

extern playerType		thePlayer, theOpponent;
extern macEnvironment	thisMac;
extern string31			theNames[10];
extern string31			mostTitlesName, mostPointsName;
extern string31			mostFoulsName, mostCritsName;
extern soundQueue		crowdQueue;
extern WindowPtr		mainWndo;
extern EventRecord		theEvent;
extern GrafPtr			offWorkPtr;
extern CGrafPtr			offCPartsPtr, offCWorkPtr, offCBackPtr;
extern BitMap			offPartsBits, offWorkBits, offBackBits;
extern Rect				dragRect, sizeRect, replayRect;
extern long				timeElapsed, baseTime, wasTime, lifeTime;
extern long				mostTitlesDate, mostPointsDate;
extern long				mostFoulsDate, mostCritsDate;
extern short			mostTitles, mostPoints, mostFouls, mostCrits, whichGame;
extern short			primaryMode, playerFouls, opponentFouls, isLeague;
extern short			playerScore, opponentScore, displayMode, soundFileRefNum;
extern short			leftPlayerNumber, rightPlayerNumber;
extern Boolean			quitting, isColor, newGame, enableBackground, doZooms;
extern Boolean			replayGoals, replayFouls, replayOnR, replaySomething, soundOn;
extern Boolean			willUseQD, showBoardCursor, enableAnnouncer, autoSetDepth;
extern Boolean			replayZooms, doSkipFrames, netOnly, canNetwork;
extern Boolean			soundLoaded[kMaxNumberOfSounds];
extern Boolean			incidentSoundLoaded[kMaxIncidentalSounds];


