BOOLEAN InitFlowerButtons() { UINT16 i,j, count; UINT16 usPosY; char sTemp[40]; VOBJECT_DESC VObjectDesc; if( (FLOR_GALLERY_NUMBER_FLORAL_IMAGES - gubCurFlowerIndex) >= 3 ) gubCurNumberOfFlowers = 3; else gubCurNumberOfFlowers = FLOR_GALLERY_NUMBER_FLORAL_IMAGES - gubCurFlowerIndex; gubPrevNumberOfFlowers = gubCurNumberOfFlowers; //the 10 pictures of the flowers count = gubCurFlowerIndex; for(i=0; i<gubCurNumberOfFlowers; i++) { // load the handbullet graphic and add it sprintf( sTemp, "LAPTOP\\Flower_%d.sti", count); VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE; FilenameForBPP(sTemp, VObjectDesc.ImageFile); CHECKF(AddVideoObject(&VObjectDesc, &guiFlowerImages[i])); count++; } //the buttons with the flower pictures on them usPosY = FLOR_GALLERY_FLOWER_BUTTON_Y; // usPosX = FLOR_GALLERY_FLOWER_BUTTON_X; count = gubCurFlowerIndex; guiGalleryButtonImage = LoadButtonImage("LAPTOP\\GalleryButtons.sti", -1,0,-1,1,-1 ); for(j=0; j<gubCurNumberOfFlowers; j++) { guiGalleryButton[j] = QuickCreateButton( guiGalleryButtonImage, FLOR_GALLERY_FLOWER_BUTTON_X, usPosY, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, DEFAULT_MOVE_CALLBACK, (GUI_CALLBACK)BtnGalleryFlowerButtonCallback); SetButtonCursor( guiGalleryButton[j], CURSOR_WWW); MSYS_SetBtnUserData( guiGalleryButton[j], 0, count); SpecifyButtonIcon( guiGalleryButton[j], guiFlowerImages[ j ], 0, 5, 5, FALSE ); usPosY += FLOR_GALLERY_FLOWER_BUTTON_OFFSET_Y; count ++; } //if its the first page, display the 'back' text in place of the 'prev' text on the top left button if( gubCurFlowerIndex == 0 ) SpecifyButtonText( guiFloralGalleryButton[0], sFloristGalleryText[FLORIST_GALLERY_HOME] ); else SpecifyButtonText( guiFloralGalleryButton[0], sFloristGalleryText[FLORIST_GALLERY_PREV] ); //if it is the last page disable the next button if( gubCurFlowerIndex == FLOR_GALLERY_NUMBER_FLORAL_IMAGES-1 ) DisableButton( guiFloralGalleryButton[1] ); else EnableButton( guiFloralGalleryButton[1] ); return(TRUE); }
void BtnIMPFinishPersonalityCallback(GUI_BUTTON *btn,INT32 reason) { // btn callback for Main Page Begin Profiling static BOOLEAN fAnimateFlag = FALSE; static UINT32 uiBaseTime = 0; static BOOLEAN fState = 0; INT32 iDifference = 0; if (!(btn->uiFlags & BUTTON_ENABLED)) return; if(reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) { btn->uiFlags|=(BUTTON_CLICKED_ON); uiBaseTime = GetJA2Clock(); SpecifyButtonText( giIMPFinishButton[2], pImpButtonText[ 23 ] ); fAnimateFlag = TRUE; } else if(reason & MSYS_CALLBACK_REASON_LBUTTON_UP ) { if (btn->uiFlags & BUTTON_CLICKED_ON) { btn->uiFlags&=~(BUTTON_CLICKED_ON); fButtonPendingFlag = TRUE; uiBaseTime = 0; fAnimateFlag = FALSE; iCurrentImpPage = IMP_PERSONALITY_QUIZ; SpecifyButtonText( giIMPFinishButton[2], pImpButtonText[ 2 ] ); } } // get amount of time between callbacks iDifference = GetJA2Clock() - uiBaseTime; if( fAnimateFlag ) { if( iDifference > ANIMATE_MIN_TIME ) { uiBaseTime = GetJA2Clock(); if( fState ) { SpecifyButtonIcon( giIMPFinishButton[2] , guiANALYSE, 1, 33, 23, FALSE ); fState = FALSE; } else { SpecifyButtonIcon( giIMPFinishButton[2] , guiANALYSE, 0, 33, 23, FALSE ); fState = TRUE; } } } }
void BtnIMPFinishAttributesCallback(GUI_BUTTON *btn,INT32 reason) { // btn callback for Main Page Begin Profiling if (!(btn->uiFlags & BUTTON_ENABLED)) return; // if not this far in char generation, don't alot ANY action if( iCurrentProfileMode < 2 ) { btn->uiFlags&=~(BUTTON_CLICKED_ON); return; } if(reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) { btn->uiFlags|=(BUTTON_CLICKED_ON); } else if(reason & MSYS_CALLBACK_REASON_LBUTTON_UP ) { if (btn->uiFlags & BUTTON_CLICKED_ON) { btn->uiFlags&=~(BUTTON_CLICKED_ON); iCurrentImpPage = IMP_ATTRIBUTE_PAGE; fButtonPendingFlag = TRUE; SpecifyButtonText( giIMPFinishButton[2], pImpButtonText[ 2 ] ); } } }
void UpdateActionItem( INT8 bActionItemIndex ) { gbActionItemIndex = bActionItemIndex; //used for future new actionitems as the default. if( !gpItemPool || !gpItem ) return; //If the previous item was a pit, remove it before changing it if( gpItem->usItem == ACTION_ITEM ) { if( gpItem->bActionValue == ACTION_ITEM_SMALL_PIT ) Remove3X3Pit( gWorldItems[ gpItemPool->iItemIndex ].sGridNo ); else if( gpItem->bActionValue == ACTION_ITEM_LARGE_PIT ) Remove5X5Pit( gWorldItems[ gpItemPool->iItemIndex ].sGridNo ); } ChangeActionItem( gpItem, gbActionItemIndex ); SpecifyButtonText( guiActionItemButton, GetActionItemName( gpItem ) ); //If the new item is a pit, add it so we can see how it looks. if( gpItem->usItem == ACTION_ITEM ) { if( gpItem->bActionValue == ACTION_ITEM_SMALL_PIT ) Add3X3Pit( gWorldItems[ gpItemPool->iItemIndex ].sGridNo ); else if( gpItem->bActionValue == ACTION_ITEM_LARGE_PIT ) Add5X5Pit( gWorldItems[ gpItemPool->iItemIndex ].sGridNo ); } }
void SetOwnershipGroup( UINT8 ubNewGroup ) { gpItem->ubOwnerCivGroup = ubNewGroup; SpecifyButtonText( giOwnershipGroupButton, gszCivGroupNames[ ubNewGroup ] ); }
void AddIMPPersonalityQuizAnswerButtons( INT32 iNumberOfButtons ) { // will add iNumberofbuttons to the answer button list INT32 iCounter = 0; CHAR16 sString[ 32 ]; for(iCounter = 0; iCounter < iNumberOfButtons; iCounter++) { switch( iCounter ) { case ( 0 ): giIMPPersonalityQuizAnswerButtonImage[0]= LoadButtonImage( "LAPTOP\\button_6.sti" ,-1,0,-1,1,-1 ); giIMPPersonalityQuizAnswerButton[0] = QuickCreateButton( giIMPPersonalityQuizAnswerButtonImage[0], LAPTOP_SCREEN_UL_X + ( BTN_FIRST_COLUMN_X ), LAPTOP_SCREEN_WEB_UL_Y + ( 97 ), BUTTON_TOGGLE, MSYS_PRIORITY_HIGHEST - 3, MSYS_NO_CALLBACK, (GUI_CALLBACK)BtnIMPPersonalityQuizAnswer0Callback); break; case ( 1 ): giIMPPersonalityQuizAnswerButtonImage[1]= LoadButtonImage( "LAPTOP\\button_6.sti" ,-1,0,-1,1,-1 ); giIMPPersonalityQuizAnswerButton[1] = QuickCreateButton( giIMPPersonalityQuizAnswerButtonImage[1], LAPTOP_SCREEN_UL_X + ( BTN_FIRST_COLUMN_X ), LAPTOP_SCREEN_WEB_UL_Y + ( 147 ), BUTTON_TOGGLE, MSYS_PRIORITY_HIGHEST - 3, MSYS_NO_CALLBACK, (GUI_CALLBACK)BtnIMPPersonalityQuizAnswer1Callback); break; case ( 2 ): giIMPPersonalityQuizAnswerButtonImage[2]= LoadButtonImage( "LAPTOP\\button_6.sti" ,-1,0,-1,1,-1 ); giIMPPersonalityQuizAnswerButton[2] = QuickCreateButton( giIMPPersonalityQuizAnswerButtonImage[2], LAPTOP_SCREEN_UL_X + ( BTN_FIRST_COLUMN_X ), LAPTOP_SCREEN_WEB_UL_Y + ( 197 ), BUTTON_TOGGLE, MSYS_PRIORITY_HIGHEST - 3, MSYS_NO_CALLBACK, (GUI_CALLBACK)BtnIMPPersonalityQuizAnswer2Callback); break; case ( 3 ): giIMPPersonalityQuizAnswerButtonImage[3]= LoadButtonImage( "LAPTOP\\button_6.sti" ,-1,0,-1,1,-1 ); giIMPPersonalityQuizAnswerButton[3] = QuickCreateButton( giIMPPersonalityQuizAnswerButtonImage[3], LAPTOP_SCREEN_UL_X + ( BTN_FIRST_COLUMN_X ), LAPTOP_SCREEN_WEB_UL_Y + ( 247 ), BUTTON_TOGGLE, MSYS_PRIORITY_HIGHEST - 3, MSYS_NO_CALLBACK, (GUI_CALLBACK)BtnIMPPersonalityQuizAnswer3Callback); break; case ( 4 ): giIMPPersonalityQuizAnswerButtonImage[4]= LoadButtonImage( "LAPTOP\\button_6.sti" ,-1,0,-1,1,-1 ); giIMPPersonalityQuizAnswerButton[4] = QuickCreateButton( giIMPPersonalityQuizAnswerButtonImage[4], LAPTOP_SCREEN_UL_X + ( BTN_SECOND_COLUMN_X ), LAPTOP_SCREEN_WEB_UL_Y + ( 97 ), BUTTON_TOGGLE, MSYS_PRIORITY_HIGHEST - 1, MSYS_NO_CALLBACK, (GUI_CALLBACK)BtnIMPPersonalityQuizAnswer4Callback); break; case ( 5 ): giIMPPersonalityQuizAnswerButtonImage[5]= LoadButtonImage( "LAPTOP\\button_6.sti" ,-1,0,-1,1,-1 ); giIMPPersonalityQuizAnswerButton[5] = QuickCreateButton( giIMPPersonalityQuizAnswerButtonImage[5], LAPTOP_SCREEN_UL_X + ( BTN_SECOND_COLUMN_X ), LAPTOP_SCREEN_WEB_UL_Y + ( 147 ), BUTTON_TOGGLE, MSYS_PRIORITY_HIGHEST - 3, MSYS_NO_CALLBACK, (GUI_CALLBACK)BtnIMPPersonalityQuizAnswer5Callback); break; case ( 6 ): giIMPPersonalityQuizAnswerButtonImage[6]= LoadButtonImage( "LAPTOP\\button_6.sti" ,-1,0,-1,1,-1 ); giIMPPersonalityQuizAnswerButton[6] = QuickCreateButton( giIMPPersonalityQuizAnswerButtonImage[6], LAPTOP_SCREEN_UL_X + ( BTN_SECOND_COLUMN_X ), LAPTOP_SCREEN_WEB_UL_Y + ( 197 ), BUTTON_TOGGLE, MSYS_PRIORITY_HIGHEST - 3, MSYS_NO_CALLBACK, (GUI_CALLBACK)BtnIMPPersonalityQuizAnswer6Callback); break; case ( 7 ): giIMPPersonalityQuizAnswerButtonImage[7]= LoadButtonImage( "LAPTOP\\button_6.sti" ,-1,0,-1,1,-1 ); giIMPPersonalityQuizAnswerButton[7] = QuickCreateButton( giIMPPersonalityQuizAnswerButtonImage[7], LAPTOP_SCREEN_UL_X + ( BTN_SECOND_COLUMN_X ), LAPTOP_SCREEN_WEB_UL_Y + ( 247 ), BUTTON_TOGGLE, MSYS_PRIORITY_HIGHEST - 3, MSYS_NO_CALLBACK, (GUI_CALLBACK)BtnIMPPersonalityQuizAnswer7Callback); break; case ( 8 ): giIMPPersonalityQuizAnswerButtonImage[8]= LoadButtonImage( "LAPTOP\\button_6.sti" ,-1,0,-1,1,-1 ); giIMPPersonalityQuizAnswerButton[8] = QuickCreateButton( giIMPPersonalityQuizAnswerButtonImage[8], LAPTOP_SCREEN_UL_X + ( ( BTN_SECOND_COLUMN_X ) ), LAPTOP_SCREEN_WEB_UL_Y + ( 268 ), BUTTON_TOGGLE, MSYS_PRIORITY_HIGHEST - 3, MSYS_NO_CALLBACK, (GUI_CALLBACK)BtnIMPPersonalityQuizAnswer8Callback); break; case ( 9 ): giIMPPersonalityQuizAnswerButtonImage[9]= LoadButtonImage( "LAPTOP\\button_6.sti" ,-1,0,-1,1,-1 ); giIMPPersonalityQuizAnswerButton[9] = QuickCreateButton( giIMPPersonalityQuizAnswerButtonImage[9], LAPTOP_SCREEN_UL_X + ( ( 276 - 46 ) / 2 ), LAPTOP_SCREEN_WEB_UL_Y + ( 147 ), BUTTON_TOGGLE, MSYS_PRIORITY_HIGHEST - 3, MSYS_NO_CALLBACK, (GUI_CALLBACK)BtnIMPPersonalityQuizAnswer9Callback); break; } swprintf( sString, L"%d", iCounter + 1 ); SpecifyButtonUpTextColors( giIMPPersonalityQuizAnswerButton[ iCounter ], FONT_WHITE, FONT_BLACK ); SpecifyButtonDownTextColors( giIMPPersonalityQuizAnswerButton[ iCounter ], FONT_WHITE, FONT_BLACK ); SpecifyButtonTextOffsets( giIMPPersonalityQuizAnswerButton[ iCounter ], +23, +12, TRUE ); SpecifyButtonFont( giIMPPersonalityQuizAnswerButton[ iCounter ], FONT12ARIAL ); SpecifyButtonText( giIMPPersonalityQuizAnswerButton[ iCounter ], sString ); SetButtonCursor( giIMPPersonalityQuizAnswerButton[ iCounter ], CURSOR_WWW); } // previous is current giPreviousPersonalityQuizQuestion = giCurrentPersonalityQuizQuestion; return; }