void EnableEditorRegion( INT8 bRegionID ) { switch( bRegionID ) { case BASE_TERRAIN_TILE_REGION_ID: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: MSYS_EnableRegion( &TerrainTileButtonRegion[ bRegionID ] ); break; case ITEM_REGION_ID: MSYS_EnableRegion( &ItemsRegion ); break; case MERC_REGION_ID: MSYS_EnableRegion( &MercRegion ); break; } }
void DropDownBase::Create_Drop() { Destroy_Drop(); Init_Drop(); UINT16 i; UINT16 usPosX = musStartX_Drop; UINT16 usPosY = musStartY_Drop; UINT16 usHeight = 0; for( i=0; i< DROPDOWN_REGIONS; ++i) { MSYS_DefineRegion( &mDropDownRegion[i], usPosX, (UINT16)(usPosY+4), (UINT16)(usPosX+musWidth-6), (UINT16)(usPosY+musFontHeight+7), MSYS_PRIORITY_HIGH, CURSOR_WWW, CallBackWrapper((void*) this, DROPDOWN_MOVEMENT, &DropDownBase::Dummyfunc), CallBackWrapper((void*) this, DROPDOWN_REGION, &DropDownBase::Dummyfunc)); MSYS_AddRegion(&mDropDownRegion[i]); MSYS_SetRegionUserData( &mDropDownRegion[ i ], 0, i); usPosY += musFontHeight + 2; } usHeight = usPosY - musStartY_Drop + 10; //create the scroll bars regions //up arrow usPosX = musUpArrowX; usPosY = musUpArrowY; for(i=0; i<2; ++i) { MSYS_DefineRegion( &mgSelectedUpDownArrowOnScrollAreaRegion[i], usPosX, usPosY, (UINT16)(usPosX+musWidth), (UINT16)(usPosY+DEF_SCROLL_ARROW_HEIGHT), MSYS_PRIORITY_HIGH, CURSOR_WWW, MSYS_NO_CALLBACK, CallBackWrapper((void*) this, DROPDOWN_ARROW, &DropDownBase::Dummyfunc)); MSYS_AddRegion(&mgSelectedUpDownArrowOnScrollAreaRegion[i]); MSYS_SetRegionUserData( &mgSelectedUpDownArrowOnScrollAreaRegion[ i ], 0, i); usPosX = musDownArrowX; usPosY = musDownArrowY; } //the scroll area itself usPosX = musUpArrowX; usPosY = musUpArrowY + DEF_SCROLL_ARROW_HEIGHT; usHeight = ( musAreaHeight - DEF_SCROLL_ARROW_HEIGHT - 4 ) / (mNumDisplayedEntries); for(i=0; i<DROPDOWN_REGIONS - 1; ++i) { MSYS_DefineRegion( &mSelectedScrollAreaDropDownRegion[i], usPosX, usPosY, (UINT16)(usPosX+musWidth), (UINT16)(usPosY+usHeight), MSYS_PRIORITY_HIGH+1, CURSOR_LAPTOP_SCREEN, CallBackWrapper((void*) this, DROPDOWN_SCROLL_MOVEMENT, &DropDownBase::Dummyfunc), CallBackWrapper((void*) this, DROPDOWN_SCROLL_REGION, &DropDownBase::Dummyfunc)); MSYS_AddRegion(&mSelectedScrollAreaDropDownRegion[i]); MSYS_SetRegionUserData( &mSelectedScrollAreaDropDownRegion[ i ], 0, i); usPosY += usHeight; } //put the last one down to cover the remaining area MSYS_DefineRegion( &mSelectedScrollAreaDropDownRegion[i], usPosX, usPosY, (UINT16)(usPosX+musWidth), musDownArrowY, MSYS_PRIORITY_HIGH+1, CURSOR_LAPTOP_SCREEN, CallBackWrapper((void*) this, DROPDOWN_SCROLL_MOVEMENT, &DropDownBase::Dummyfunc), CallBackWrapper((void*) this, DROPDOWN_SCROLL_REGION, &DropDownBase::Dummyfunc)); MSYS_AddRegion(&mSelectedScrollAreaDropDownRegion[i]); MSYS_SetRegionUserData( &mSelectedScrollAreaDropDownRegion[ i ], 0, i); MSYS_EnableRegion(&mSelectedCloseDropDownRegion); mfMouseRegionsCreated_Drop = TRUE; }
void EnableDisableChatLogScrollButtonsAndRegions( void ) { UINT8 ubNumMessages; ubNumMessages = GetRangeOfChatLogMessages(); // if no scrolling required, or already showing the topmost message if( ( ubNumMessages <= MAX_CHATLOG_MESSAGES ) || ( gubFirstChatLogMessageIndex == 0 ) ) { DisableButton( guiChatLogScrollButtons[ CHAT_SCROLL_MESSAGE_UP ] ); ButtonList[ guiChatLogScrollButtons[ CHAT_SCROLL_MESSAGE_UP ] ]->uiFlags &= ~( BUTTON_CLICKED_ON ); } else { EnableButton( guiChatLogScrollButtons[ CHAT_SCROLL_MESSAGE_UP ] ); } // if no scrolling required, or already showing the last message if( ( ubNumMessages <= MAX_CHATLOG_MESSAGES ) || ( ( gubFirstChatLogMessageIndex + MAX_CHATLOG_MESSAGES ) >= ubNumMessages ) ) { DisableButton( guiChatLogScrollButtons[ CHAT_SCROLL_MESSAGE_DOWN ] ); ButtonList[ guiChatLogScrollButtons[ CHAT_SCROLL_MESSAGE_DOWN ] ]->uiFlags &= ~( BUTTON_CLICKED_ON ); } else { EnableButton( guiChatLogScrollButtons[ CHAT_SCROLL_MESSAGE_DOWN ] ); } if( ubNumMessages <= MAX_CHATLOG_MESSAGES ) { MSYS_DisableRegion( &gChatLogScrollBarRegion ); } else { MSYS_EnableRegion( &gChatLogScrollBarRegion ); } if (cGameType==MP_TYPE_TEAMDEATMATCH) { // Only enable Allies toggle for team deathmatch EnableButton( guiChatToggles[1] ); } else { gbChatSendToAll = true; DisableButton( guiChatToggles[1] ); } }
void EnableDisableMessageScrollButtonsAndRegions( void ) { UINT8 ubNumMessages; ubNumMessages = GetRangeOfMapScreenMessages(); // if no scrolling required, or already showing the topmost message if( ( ubNumMessages <= MAX_MESSAGES_ON_MAP_BOTTOM ) || ( gubFirstMapscreenMessageIndex == 0 ) ) { DisableButton( guiMapMessageScrollButtons[ MAP_SCROLL_MESSAGE_UP ] ); ButtonList[ guiMapMessageScrollButtons[ MAP_SCROLL_MESSAGE_UP ] ]->uiFlags &= ~( BUTTON_CLICKED_ON ); } else { EnableButton( guiMapMessageScrollButtons[ MAP_SCROLL_MESSAGE_UP ] ); } // if no scrolling required, or already showing the last message if( ( ubNumMessages <= MAX_MESSAGES_ON_MAP_BOTTOM ) || ( ( gubFirstMapscreenMessageIndex + MAX_MESSAGES_ON_MAP_BOTTOM ) >= ubNumMessages ) ) { DisableButton( guiMapMessageScrollButtons[ MAP_SCROLL_MESSAGE_DOWN ] ); ButtonList[ guiMapMessageScrollButtons[ MAP_SCROLL_MESSAGE_DOWN ] ]->uiFlags &= ~( BUTTON_CLICKED_ON ); } else { EnableButton( guiMapMessageScrollButtons[ MAP_SCROLL_MESSAGE_DOWN ] ); } if( ubNumMessages <= MAX_MESSAGES_ON_MAP_BOTTOM ) { MSYS_DisableRegion( &gMapMessageScrollBarRegion ); } else { MSYS_EnableRegion( &gMapMessageScrollBarRegion ); } }
void UpDateIMPMainPageButtons( void ) { // update mainpage button states INT32 iCount = 0; // disable all for( iCount = 2; iCount < 6; iCount++) { DisableButton( giIMPMainPageButton[ iCount ] ); } for( iCount = 0; iCount < 4; iCount++ ) { MSYS_DisableRegion( &pIMPMainPageMouseRegions[ iCount ]); } // enable switch( iCurrentProfileMode ) { case 0: MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 0 ]); MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 1 ]); MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 2 ]); MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 3 ]); break; case( 1 ): EnableButton( giIMPMainPageButton[2] ); MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 1 ]); MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 2 ]); MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 3 ]); break; case( 2 ): EnableButton( giIMPMainPageButton[3] ); MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 0 ]); MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 2 ]); MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 3 ]); break; case( 3 ): EnableButton( giIMPMainPageButton[3] ); EnableButton( giIMPMainPageButton[4] ); MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 0 ]); //MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 1 ]); MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 3 ]); break; case( 4 ): //MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 1 ]); MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 0 ]); EnableButton( giIMPMainPageButton[3] ); EnableButton( giIMPMainPageButton[4] ); EnableButton( giIMPMainPageButton[5] ); break; } return; }
void UpDateIMPMainPageButtons( void ) { // update mainpage button states INT32 iCount = 0; // disable all for( iCount = 2; iCount < 6; iCount++) { DisableButton( giIMPMainPageButton[ iCount ] ); } for( iCount = 0; iCount < 4; iCount++ ) { MSYS_DisableRegion( &pIMPMainPageMouseRegions[ iCount ]); } // enable switch( iCurrentProfileMode ) { //begin case IMP__REGISTRY: MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 0 ]); MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 1 ]); MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 2 ]); MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 3 ]); break; //Personality ( 3RD BUTTON ) case IMP__PERSONALITY: EnableButton( giIMPMainPageButton[2] ); EnableButton( giIMPMainPageButton[4] ); EnableButton( giIMPMainPageButton[5] ); // MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 0 ]); // MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 1 ]); MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 3 ]); /* EnableButton( giIMPMainPageButton[2] ); MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 1 ]); MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 2 ]); MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 3 ]); */ break; //Attributes ( 4th button ) case IMP__ATTRIBUTES: EnableButton( giIMPMainPageButton[2] ); EnableButton( giIMPMainPageButton[4] ); EnableButton( giIMPMainPageButton[5] ); EnableButton( giIMPMainPageButton[3] ); // MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 0 ]); // MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 1 ]); // MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 2 ]); /* EnableButton( giIMPMainPageButton[3] ); MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 0 ]); MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 2 ]); MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 3 ]); */ break; //Portrait ( ist button case IMP__PORTRAIT: // EnableButton( giIMPMainPageButton[3] ); EnableButton( giIMPMainPageButton[4] ); MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 1 ]); MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 2 ]); MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 3 ]); /* EnableButton( giIMPMainPageButton[3] ); EnableButton( giIMPMainPageButton[4] ); MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 0 ]); //MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 1 ]); MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 3 ]); */ break; //Voice ( 2nd button ) case IMP__VOICE: EnableButton( giIMPMainPageButton[4] ); EnableButton( giIMPMainPageButton[5] ); // MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 0 ]); MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 2 ]); MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 3 ]); /* //MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 1 ]); MSYS_EnableRegion( &pIMPMainPageMouseRegions[ 0 ]); EnableButton( giIMPMainPageButton[3] ); EnableButton( giIMPMainPageButton[4] ); EnableButton( giIMPMainPageButton[5] ); */ break; } return; }
BOOLEAN DisplayFlowerAd( BOOLEAN fInit, BOOLEAN fRedraw ) { static UINT32 uiLastTime; static UINT8 ubSubImage=0; static UINT8 ubCount=0; UINT32 uiCurTime = GetJA2Clock(); if( fInit ) { uiLastTime = 0; ubSubImage = 0; ubCount = 0; MSYS_EnableRegion(&gSelectedBannerRegion); } if( ((uiCurTime - uiLastTime) > AIM_FLOWER_AD_DELAY) || fRedraw) { HVOBJECT hAdHandle; if( ubSubImage == AIM_FLOWER_NUM_SUBIMAGES) { if(ubCount == 0 || fRedraw) { //Blit the blue sky frame with text on top GetVideoObject(&hAdHandle, guiFlowerAdvertisement); 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; //Display Aim Warning Text DisplayWrappedString(AIM_WARNING_TEXT_X, AIM_WARNING_TEXT_Y, AIM_WARNING_TEXT_WIDTH, 2, FONT14ARIAL, FONT_GREEN, AimScreenText[AIM_INFO_6], FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED); //Display Aim Warning Text SetFontShadow( FONT_MCOLOR_WHITE ); DisplayWrappedString(AIM_WARNING_TEXT_X, AIM_FLOWER_LINK_TEXT_Y, AIM_WARNING_TEXT_WIDTH, 2, FONT12ARIAL, 2, AimScreenText[AIM_INFO_7], FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED); SetFontShadow( DEFAULT_SHADOW ); InvalidateRegion(AIM_AD_TOP_LEFT_X,AIM_AD_TOP_LEFT_Y, AIM_AD_BOTTOM_RIGHT_X ,AIM_AD_BOTTOM_RIGHT_Y); } uiLastTime = GetJA2Clock(); ubCount++; if( ubCount > 40 ) { return( AIM_AD_DONE ); } else return( AIM_AD_NOT_DONE ); } else { GetVideoObject(&hAdHandle, guiFlowerAdvertisement); 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++; } uiLastTime = GetJA2Clock(); InvalidateRegion(AIM_AD_TOP_LEFT_X,AIM_AD_TOP_LEFT_Y, AIM_AD_BOTTOM_RIGHT_X ,AIM_AD_BOTTOM_RIGHT_Y); } return( AIM_AD_NOT_DONE ); }
void HandleAdAndWarningArea( BOOLEAN fInit, BOOLEAN fRedraw ) { static UINT8 ubPreviousAdvertisment; if( fInit ) gubCurrentAdvertisment = AIM_AD_WARNING_BOX; else { if( ubPreviousAdvertisment == AIM_AD_DONE ) { gubCurrentAdvertisment = GetNextAimAd( gubCurrentAdvertisment ); fInit = TRUE; /* UINT32 uiDay = GetWorldDay(); BOOLEAN fSkip=FALSE; gubCurrentAdvertisment++; //if the add should be for Bobby rays if( gubCurrentAdvertisment == AIM_AD_BOBBY_RAY_AD ) { //if the player has NOT ever been to drassen if( !LaptopSaveInfo.fBobbyRSiteCanBeAccessed ) { //advance to the next add gubCurrentAdvertisment++; } else { fSkip = TRUE; fInit = TRUE; } } else fSkip = FALSE; if( !fSkip ) { //if the current ad is not supposed to be available, loop back to the first ad switch( gubCurrentAdvertisment ) { case AIM_AD_FUNERAL_ADS: if( uiDay < AIM_AD_DAY_FUNERAL_AD_STARTS ) gubCurrentAdvertisment = AIM_AD_WARNING_BOX; break; case AIM_AD_FLOWER_SHOP: if( uiDay < AIM_AD_DAY_FLOWER_AD_STARTS ) gubCurrentAdvertisment = AIM_AD_WARNING_BOX; break; case AIM_AD_INSURANCE_AD: if( uiDay < AIM_AD_DAY_INSURANCE_AD_STARTS ) gubCurrentAdvertisment = AIM_AD_WARNING_BOX; break; } fInit = TRUE; } */ } if( gubCurrentAdvertisment >= AIM_AD_LAST_AD) { gubCurrentAdvertisment = AIM_AD_WARNING_BOX; } } switch( gubCurrentAdvertisment ) { case AIM_AD_WARNING_BOX: MSYS_DisableRegion(&gSelectedBannerRegion); ubPreviousAdvertisment = DrawWarningBox( fInit, fRedraw ); break; case AIM_AD_FLOWER_SHOP: ubPreviousAdvertisment = DisplayFlowerAd( fInit, fRedraw ); break; case AIM_AD_FOR_ADS: // disable the region because only certain banners will be 'clickable' MSYS_DisableRegion(&gSelectedBannerRegion); ubPreviousAdvertisment = DisplayAd( fInit, fRedraw, AIM_AD_FOR_ADS_DELAY, AIM_AD_FOR_ADS__NUM_SUBIMAGES, guiAdForAdsImages ); break; case AIM_AD_INSURANCE_AD: MSYS_EnableRegion(&gSelectedBannerRegion); ubPreviousAdvertisment = DisplayAd( fInit, fRedraw, AIM_AD_INSURANCE_AD_DELAY, AIM_AD_INSURANCE_AD__NUM_SUBIMAGES, guiInsuranceAdImages ); break; case AIM_AD_FUNERAL_ADS: MSYS_EnableRegion(&gSelectedBannerRegion); ubPreviousAdvertisment = DisplayAd( fInit, fRedraw, AIM_AD_FUNERAL_AD_DELAY, AIM_AD_FUNERAL_AD__NUM_SUBIMAGES, guiFuneralAdImages ); break; /* JA25 No Bobbyr in exp case AIM_AD_BOBBY_RAY_AD: MSYS_EnableRegion(&gSelectedBannerRegion); ubPreviousAdvertisment = DisplayBobbyRAd( fInit, fRedraw ); break; */ } }