BOOLEAN DisplayAd( BOOLEAN fInit, BOOLEAN fRedraw, UINT16 usDelay, UINT16 usNumberOfSubImages, UINT32 uiAdImageIdentifier ) { static UINT32 uiLastTime; static UINT8 ubSubImage=0; static UINT8 ubCount=0; UINT32 uiCurTime = GetJA2Clock(); UINT8 ubRetVal = 0; if( fInit ) { uiLastTime = 0; ubSubImage = 0; ubCount = 0; } if( ((uiCurTime - uiLastTime) > usDelay) || fRedraw) { HVOBJECT hAdHandle; if( ubSubImage == 0 ) { if(ubCount == 0 || fRedraw) { //Blit the ad GetVideoObject(&hAdHandle, uiAdImageIdentifier); BltVideoObject(FRAME_BUFFER, hAdHandle, 0,WARNING_X, WARNING_Y, VO_BLT_SRCTRANSPARENCY,NULL); // redraw new mail warning, and create new mail button, if nessacary fReDrawNewMailFlag = TRUE; InvalidateRegion(AIM_AD_TOP_LEFT_X,AIM_AD_TOP_LEFT_Y, AIM_AD_BOTTOM_RIGHT_X ,AIM_AD_BOTTOM_RIGHT_Y); } uiLastTime = GetJA2Clock(); //display first frame longer then rest ubCount++; if( ubCount > 12 ) { ubCount=0; ubSubImage++; } ubRetVal = AIM_AD_NOT_DONE; } else if( ubSubImage == usNumberOfSubImages-1 ) { if(ubCount == 0 || fRedraw) { //Blit the ad GetVideoObject(&hAdHandle, uiAdImageIdentifier); BltVideoObject(FRAME_BUFFER, hAdHandle, ubSubImage,WARNING_X, WARNING_Y, VO_BLT_SRCTRANSPARENCY,NULL); // redraw new mail warning, and create new mail button, if nessacary fReDrawNewMailFlag = TRUE; InvalidateRegion(AIM_AD_TOP_LEFT_X,AIM_AD_TOP_LEFT_Y, AIM_AD_BOTTOM_RIGHT_X ,AIM_AD_BOTTOM_RIGHT_Y); } uiLastTime = GetJA2Clock(); //display first frame longer then rest ubCount++; if( ubCount > 12 ) { ubRetVal = AIM_AD_DONE; } } else { GetVideoObject(&hAdHandle, uiAdImageIdentifier); BltVideoObject(FRAME_BUFFER, hAdHandle, ubSubImage,WARNING_X, WARNING_Y, VO_BLT_SRCTRANSPARENCY,NULL); // redraw new mail warning, and create new mail button, if nessacary fReDrawNewMailFlag = TRUE; ubSubImage++; } //if the add it to have text on it, then put the text on it. HandleTextOnAimAdd( ubSubImage ); uiLastTime = GetJA2Clock(); InvalidateRegion(AIM_AD_TOP_LEFT_X,AIM_AD_TOP_LEFT_Y, AIM_AD_BOTTOM_RIGHT_X ,AIM_AD_BOTTOM_RIGHT_Y); } return( ubRetVal ); }
BOOLEAN DisplayBobbyRAd( BOOLEAN fInit, BOOLEAN fRedraw ) { static UINT32 uiLastTime; static UINT8 ubSubImage=0; static UINT8 ubDuckCount=0; static UINT8 ubCount=0; UINT32 uiCurTime = GetJA2Clock(); UINT8 ubRetVal = 0; UINT16 usDelay = AIM_AD_BOBBYR_AD_DELAY; if( fInit ) { ubDuckCount = 0; uiLastTime = 0; ubSubImage = 0; ubCount = 0; } if( ((uiCurTime - uiLastTime) > usDelay) || fRedraw) { HVOBJECT hAdHandle; //Loop through the first 6 images twice, then start into the later ones GetVideoObject(&hAdHandle, guiBobbyRAdImages); //if we are still looping through the first 6 animations if( ubDuckCount < 2 ) { BltVideoObject(FRAME_BUFFER, hAdHandle, ubSubImage, WARNING_X, WARNING_Y, VO_BLT_SRCTRANSPARENCY,NULL); ubSubImage ++; InvalidateRegion(AIM_AD_TOP_LEFT_X,AIM_AD_TOP_LEFT_Y, AIM_AD_BOTTOM_RIGHT_X ,AIM_AD_BOTTOM_RIGHT_Y); // if we do the first set of images if( ubSubImage > AIM_AD_BOBBYR_AD_NUM_DUCK_SUBIMAGES ) { ubDuckCount++; if( ubDuckCount < 2 ) ubSubImage = 0; else ubSubImage = AIM_AD_BOBBYR_AD_NUM_DUCK_SUBIMAGES+1; } ubRetVal = AIM_AD_NOT_DONE; } else { //Blit the ad BltVideoObject(FRAME_BUFFER, hAdHandle, ubSubImage,WARNING_X, WARNING_Y, VO_BLT_SRCTRANSPARENCY,NULL); ubSubImage ++; if( ubSubImage >= AIM_AD_BOBBYR_AD__NUM_SUBIMAGES-1 ) { //display last frame longer then rest ubCount++; if( ubCount > 12 ) { ubRetVal = AIM_AD_DONE; } ubSubImage = AIM_AD_BOBBYR_AD__NUM_SUBIMAGES - 1; } // redraw new mail warning, and create new mail button, if nessacary fReDrawNewMailFlag = TRUE; InvalidateRegion(AIM_AD_TOP_LEFT_X,AIM_AD_TOP_LEFT_Y, AIM_AD_BOTTOM_RIGHT_X ,AIM_AD_BOTTOM_RIGHT_Y); } //if the add it to have text on it, then put the text on it. HandleTextOnAimAdd( ubSubImage ); uiLastTime = GetJA2Clock(); InvalidateRegion(AIM_AD_TOP_LEFT_X,AIM_AD_TOP_LEFT_Y, AIM_AD_BOTTOM_RIGHT_X ,AIM_AD_BOTTOM_RIGHT_Y); } /* if( ubDuckImage < AIM_AD_BOBBYR_AD_NUM_DUCK_SUBIMAGES ) { ubDuckImage++; } GetVideoObject(&hAdHandle, guiBobbyRAdImages); if( ubDuckImage < AIM_AD_BOBBYR_AD_NUM_DUCK_SUBIMAGES * 2 ) { if( ubDuckImage >= AIM_AD_BOBBYR_AD_NUM_DUCK_SUBIMAGES ) BltVideoObject(FRAME_BUFFER, hAdHandle, (UINT16)(ubDuckImage-AIM_AD_BOBBYR_AD_NUM_DUCK_SUBIMAGES), WARNING_X, WARNING_Y, VO_BLT_SRCTRANSPARENCY,NULL); else BltVideoObject(FRAME_BUFFER, hAdHandle, ubDuckImage,WARNING_X, WARNING_Y, VO_BLT_SRCTRANSPARENCY,NULL); ubDuckImage++; } else ubSubImage = 5; if( ubSubImage == 5 ) { if(ubCount == 0 || fRedraw) { //Blit the ad BltVideoObject(FRAME_BUFFER, hAdHandle, ubSubImage,WARNING_X, WARNING_Y, VO_BLT_SRCTRANSPARENCY,NULL); // redraw new mail warning, and create new mail button, if nessacary fReDrawNewMailFlag = TRUE; InvalidateRegion(AIM_AD_TOP_LEFT_X,AIM_AD_TOP_LEFT_Y, AIM_AD_BOTTOM_RIGHT_X ,AIM_AD_BOTTOM_RIGHT_Y); } uiLastTime = GetJA2Clock(); ubRetVal = AIM_AD_NOT_DONE; } else if( ubSubImage == AIM_AD_BOBBYR_AD__NUM_SUBIMAGES-1 ) { if(ubCount == 0 || fRedraw) { //Blit the ad GetVideoObject(&hAdHandle, guiBobbyRAdImages); BltVideoObject(FRAME_BUFFER, hAdHandle, ubSubImage,WARNING_X, WARNING_Y, VO_BLT_SRCTRANSPARENCY,NULL); // redraw new mail warning, and create new mail button, if nessacary fReDrawNewMailFlag = TRUE; InvalidateRegion(AIM_AD_TOP_LEFT_X,AIM_AD_TOP_LEFT_Y, AIM_AD_BOTTOM_RIGHT_X ,AIM_AD_BOTTOM_RIGHT_Y); } uiLastTime = GetJA2Clock(); //display last frame longer then rest ubCount++; if( ubCount > 12 ) { ubRetVal = AIM_AD_DONE; } } else { GetVideoObject(&hAdHandle, guiBobbyRAdImages); BltVideoObject(FRAME_BUFFER, hAdHandle, ubSubImage,WARNING_X, WARNING_Y, VO_BLT_SRCTRANSPARENCY,NULL); // redraw new mail warning, and create new mail button, if nessacary fReDrawNewMailFlag = TRUE; ubSubImage++; } */ return( ubRetVal ); }