Pararena2/Sources/IdleRoutines.c

1 line
30 KiB
C
Raw Normal View History

/*============================================================*/ /*============================================================*/ /*== ==*/ /*== Idle Support Routines ==*/ /*== ==*/ /*== (routines called from idle.c) ==*/ /*== ==*/ /*============================================================*/ /*============================================================*/ /*======================================================== Includes */ #include "Globals.h" #include "UnivUtilities.h" #include "SMS.h" #include "IdleRoutines.h" #include "SoundUtils.h" #include "PlayerStats.h" #include "ValidInstall.h" /*======================================================== Functions */ /*======================================================== DrawOpenHand */ void DrawOpenHand (void) { Rect srcRect, destRect; SetRect(&srcRect, 16, 227, 29, 236); SetRect(&destRect, 0, 0, 13, 9); OffsetRect(&destRect, replayRect.left + 74, replayRect.top + 55); if (isColor) CopyBits(&((GrafPtr)offCPartsPtr)->portBits, &(((GrafPtr)mainWndo)->portBits), &srcRect, &destRect, srcCopy, nil); else CopyBits(&offPartsBits, &(mainWndo->portBits), &srcRect, &destRect, srcCopy, nil); } /*======================================================== DrawClosedHand */ void DrawClosedHand (void) { Rect srcRect, destRect; SetRect(&srcRect, 0, 227, 13, 236); SetRect(&destRect, 0, 0, 13, 9); OffsetRect(&destRect, replayRect.left + 74, replayRect.top + 55); if (isColor) CopyBits(&((GrafPtr)offCPartsPtr)->portBits, &(((GrafPtr)mainWndo)->portBits), &srcRect, &destRect, srcCopy, nil); else CopyBits(&offPartsBits, &(mainWndo->portBits), &srcRect, &destRect, srcCopy, nil); } /*======================================================== DrawOpenMouth */ void DrawOpenMouth (short waitFor) { Rect srcRect, destRect; long dummyLong; SetRect(&srcRect, 16, 222, 25, 227); SetRect(&destRect, 0, 0, 9, 5); OffsetRect(&destRect, replayRect.left + 152, replayRect.top + 49); if (isColor) CopyBits(&((GrafPtr)offCPartsPtr)->portBits, &(((GrafPtr)mainWndo)->portBits), &srcRect, &destRect, srcCopy, nil); else CopyBits(&offPartsBits, &(mainWndo->portBits), &srcRect, &destRect, srcCopy, nil); Delay(waitFor, &dummyLong); } /*======================================================== DrawClosedMouth */ void DrawClosedMouth (short waitFor) { Rect srcRect, destRect; long dummyLong; SetRect(&srcRect, 0, 222, 9, 227); SetRect(&destRect, 0, 0, 9, 5); OffsetRect(&destRect, replayRect.left + 152, replayRect.top + 49); if (isColor) CopyBits(&((GrafPtr)offCPartsPtr)->portBits, &(((GrafPtr)mainWndo)->portBits), &srcRect, &destRect, srcCopy, nil); else CopyBits(&offPartsBits, &(mainWndo->portBits), &srcRect, &destRect, srcCopy, nil); Delay(waitFor, &dummyLong); } /*======================================================== DoOpeningAnnouncer */ void DoOpeningAnnouncer (void) { Rect tempRect; GrafPtr wasPort; PicHandle thePict; Handle theSound; long dummyLong; short i; if (soundFileRefNum == -1) return; tempRect = replayRect; InsetRect(&tempRect, 63, 63); GetPort((GrafPtr *)&wasPort); if (isColor) { SetPort((GrafPtr)offCWorkPtr); thePict = GetPicture(kAnnouncerPict4ID); } else { SetPort((GrafPtr)offWorkPtr); thePict = GetPicture(kAnnouncerPict1ID); } if (thePict == kNilPointer) return; DrawPicture(thePict, &replayRect); ReleaseResource((Handle)thePict); SetPort((GrafPtr)mainWndo); for (i = 1; i < 65; i++) { PenPat(black); FrameRect(&tempRect); InsetRect(&tempRect, -1, -1); PenPat(white); FrameRect(&tempRect); } PenNormal(); SetPort((GrafPtr)wasPort); tempRect = replayRect; tempRect.top = tempRect.bottom - 4; for (i = 0; i < 32; i++) { if (isColor) CopyBits(&((GrafPtr)offCWorkPtr)->portBits, &(((GrafPtr)mainWndo)->portBits), &tempRect, &tempRect, srcCopy, nil); else CopyBits(&offWorkBits, &(mainWndo->portBits), &tempRect, &tempRect, srcCopy, nil