#ifdef PRECOMPILEDHEADERS #include "Laptop All.h" #include "BobbyRShipments.h" #else #include "laptop.h" #include "BobbyRShipments.h" #include "bobbyr.h" #include "utilities.h" #include "WCheck.h" #include "Text.h" #include "BobbyRGuns.h" #include "cursors.h" #include "BobbyRMailOrder.h" #include "wordwrap.h" #include "strategic.h" #include "strategicmap.h" #endif #define BOBBYR_SHIPMENT_TITLE_TEXT_FONT FONT14ARIAL #define BOBBYR_SHIPMENT_TITLE_TEXT_COLOR 157 #define BOBBYR_SHIPMENT_STATIC_TEXT_FONT FONT12ARIAL #define BOBBYR_SHIPMENT_STATIC_TEXT_COLOR 145 #define BOBBYR_BOBBY_RAY_TITLE_X LAPTOP_SCREEN_UL_X + 171 #define BOBBYR_BOBBY_RAY_TITLE_Y LAPTOP_SCREEN_WEB_UL_Y + 3 #define BOBBYR_ORDER_FORM_TITLE_X BOBBYR_BOBBY_RAY_TITLE_X #define BOBBYR_ORDER_FORM_TITLE_Y BOBBYR_BOBBY_RAY_TITLE_Y + 37 #define BOBBYR_ORDER_FORM_TITLE_WIDTH 159 #define BOBBYR_SHIPMENT_DELIVERY_GRID_X LAPTOP_SCREEN_UL_X + 2 #define BOBBYR_SHIPMENT_DELIVERY_GRID_Y BOBBYR_SHIPMENT_ORDER_GRID_Y #define BOBBYR_SHIPMENT_DELIVERY_GRID_WIDTH 183 #define BOBBYR_SHIPMENT_ORDER_GRID_X LAPTOP_SCREEN_UL_X + 223 #define BOBBYR_SHIPMENT_ORDER_GRID_Y LAPTOP_SCREEN_WEB_UL_Y + 62 #define BOBBYR_SHIPMENT_BACK_BUTTON_X iScreenWidthOffset + 130 #define BOBBYR_SHIPMENT_BACK_BUTTON_Y iScreenHeightOffset + 400 + LAPTOP_SCREEN_WEB_DELTA_Y + 4 #define BOBBYR_SHIPMENT_HOME_BUTTON_X iScreenWidthOffset + 515 #define BOBBYR_SHIPMENT_HOME_BUTTON_Y BOBBYR_SHIPMENT_BACK_BUTTON_Y #define BOBBYR_SHIPMENT_NUM_PREVIOUS_SHIPMENTS 13 #define BOBBYR_SHIPMENT_ORDER_NUM_X iScreenWidthOffset + 116//LAPTOP_SCREEN_UL_X + 9 #define BOBBYR_SHIPMENT_ORDER_NUM_START_Y iScreenHeightOffset + 144 #define BOBBYR_SHIPMENT_ORDER_NUM_WIDTH 64 #define BOBBYR_SHIPMENT_GAP_BTN_LINES 20 #define BOBBYR_SHIPMENT_SHIPMENT_ORDER_NUM_X BOBBYR_SHIPMENT_ORDER_NUM_X #define BOBBYR_SHIPMENT_SHIPMENT_ORDER_NUM_Y iScreenHeightOffset + 117 #define BOBBYR_SHIPMENT_NUM_ITEMS_X iScreenWidthOffset + 183//BOBBYR_SHIPMENT_ORDER_NUM_X+BOBBYR_SHIPMENT_ORDER_NUM_WIDTH+2 #define BOBBYR_SHIPMENT_NUM_ITEMS_Y BOBBYR_SHIPMENT_SHIPMENT_ORDER_NUM_Y #define BOBBYR_SHIPMENT_NUM_ITEMS_WIDTH 116 //#define BOBBYR_SHIPMENT_ UINT32 guiBobbyRShipmentGrid; BOOLEAN gfBobbyRShipmentsDirty = FALSE; INT32 giBobbyRShipmentSelectedShipment = -1; //Back Button void BtnBobbyRShipmentBackCallback(GUI_BUTTON *btn,INT32 reason); UINT32 guiBobbyRShipmetBack; INT32 guiBobbyRShipmentBackImage; //Home Button void BtnBobbyRShipmentHomeCallback(GUI_BUTTON *btn,INT32 reason); UINT32 guiBobbyRShipmentHome; INT32 giBobbyRShipmentHomeImage; MOUSE_REGION gSelectedPreviousShipmentsRegion[BOBBYR_SHIPMENT_NUM_PREVIOUS_SHIPMENTS]; void SelectPreviousShipmentsRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason ); // // Function Prototypes // void DisplayShipmentGrid(); void DisplayPreviousShipments(); void DisplayShipmentTitles(); void RemovePreviousShipmentsMouseRegions(); void CreatePreviousShipmentsMouseRegions(); INT32 CountNumberValidShipmentForTheShipmentsPage(); //ppp // // Function // void GameInitBobbyRShipments() { } BOOLEAN EnterBobbyRShipments() { VOBJECT_DESC VObjectDesc; InitBobbyRWoodBackground(); // load the Order Grid graphic and add it VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE; FilenameForBPP("LAPTOP\\BobbyRay_OnOrder.sti", VObjectDesc.ImageFile); CHECKF(AddVideoObject(&VObjectDesc, &guiBobbyRShipmentGrid)); guiBobbyRShipmentBackImage = LoadButtonImage("LAPTOP\\CatalogueButton.sti", -1,0,-1,1,-1 ); guiBobbyRShipmetBack = CreateIconAndTextButton( guiBobbyRShipmentBackImage, BobbyROrderFormText[BOBBYR_BACK], BOBBYR_GUNS_BUTTON_FONT, BOBBYR_GUNS_TEXT_COLOR_ON, BOBBYR_GUNS_SHADOW_COLOR, BOBBYR_GUNS_TEXT_COLOR_OFF, BOBBYR_GUNS_SHADOW_COLOR, TEXT_CJUSTIFIED, BOBBYR_SHIPMENT_BACK_BUTTON_X, BOBBYR_SHIPMENT_BACK_BUTTON_Y, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, DEFAULT_MOVE_CALLBACK, BtnBobbyRShipmentBackCallback); SetButtonCursor( guiBobbyRShipmetBack, CURSOR_LAPTOP_SCREEN); giBobbyRShipmentHomeImage = UseLoadedButtonImage( guiBobbyRShipmentBackImage, -1,0,-1,1,-1 ); guiBobbyRShipmentHome = CreateIconAndTextButton( giBobbyRShipmentHomeImage, BobbyROrderFormText[BOBBYR_HOME], BOBBYR_GUNS_BUTTON_FONT, BOBBYR_GUNS_TEXT_COLOR_ON, BOBBYR_GUNS_SHADOW_COLOR, BOBBYR_GUNS_TEXT_COLOR_OFF, BOBBYR_GUNS_SHADOW_COLOR, TEXT_CJUSTIFIED, BOBBYR_SHIPMENT_HOME_BUTTON_X, BOBBYR_SHIPMENT_HOME_BUTTON_Y, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, DEFAULT_MOVE_CALLBACK, BtnBobbyRShipmentHomeCallback); SetButtonCursor( guiBobbyRShipmentHome, CURSOR_LAPTOP_SCREEN); CreateBobbyRayOrderTitle(); giBobbyRShipmentSelectedShipment = -1; //if there are shipments if( giNumberOfNewBobbyRShipment != 0 ) { INT32 iCnt; //get the first shipment # for( iCnt=0; iCntuiFlags |= BUTTON_CLICKED_ON; InvalidateRegion(btn->Area.RegionTopLeftX, btn->Area.RegionTopLeftY, btn->Area.RegionBottomRightX, btn->Area.RegionBottomRightY); } if(reason & MSYS_CALLBACK_REASON_LBUTTON_UP ) { btn->uiFlags &= (~BUTTON_CLICKED_ON ); guiCurrentLaptopMode = LAPTOP_MODE_BOBBY_R_MAILORDER; InvalidateRegion(btn->Area.RegionTopLeftX, btn->Area.RegionTopLeftY, btn->Area.RegionBottomRightX, btn->Area.RegionBottomRightY); } if(reason & MSYS_CALLBACK_REASON_LOST_MOUSE) { btn->uiFlags &= (~BUTTON_CLICKED_ON ); InvalidateRegion(btn->Area.RegionTopLeftX, btn->Area.RegionTopLeftY, btn->Area.RegionBottomRightX, btn->Area.RegionBottomRightY); } } void BtnBobbyRShipmentHomeCallback(GUI_BUTTON *btn,INT32 reason) { if(reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) { btn->uiFlags |= BUTTON_CLICKED_ON; InvalidateRegion(btn->Area.RegionTopLeftX, btn->Area.RegionTopLeftY, btn->Area.RegionBottomRightX, btn->Area.RegionBottomRightY); } if(reason & MSYS_CALLBACK_REASON_LBUTTON_UP ) { btn->uiFlags &= (~BUTTON_CLICKED_ON ); guiCurrentLaptopMode = LAPTOP_MODE_BOBBY_R; InvalidateRegion(btn->Area.RegionTopLeftX, btn->Area.RegionTopLeftY, btn->Area.RegionBottomRightX, btn->Area.RegionBottomRightY); } if(reason & MSYS_CALLBACK_REASON_LOST_MOUSE) { btn->uiFlags &= (~BUTTON_CLICKED_ON ); InvalidateRegion(btn->Area.RegionTopLeftX, btn->Area.RegionTopLeftY, btn->Area.RegionBottomRightX, btn->Area.RegionBottomRightY); } } void DisplayShipmentGrid() { HVOBJECT hPixHandle; GetVideoObject(&hPixHandle, guiBobbyRShipmentGrid); // Shipment Order Grid BltVideoObject(FRAME_BUFFER, hPixHandle, 0, BOBBYR_SHIPMENT_DELIVERY_GRID_X, BOBBYR_SHIPMENT_DELIVERY_GRID_Y, VO_BLT_SRCTRANSPARENCY,NULL); // Order Grid BltVideoObject(FRAME_BUFFER, hPixHandle, 1, BOBBYR_SHIPMENT_ORDER_GRID_X, BOBBYR_SHIPMENT_ORDER_GRID_Y, VO_BLT_SRCTRANSPARENCY,NULL); } void DisplayShipmentTitles() { //output the order # DrawTextToScreen( gzBobbyRShipmentText[BOBBYR_SHIPMENT__ORDERED_ON], BOBBYR_SHIPMENT_SHIPMENT_ORDER_NUM_X, BOBBYR_SHIPMENT_SHIPMENT_ORDER_NUM_Y, BOBBYR_SHIPMENT_ORDER_NUM_WIDTH, BOBBYR_SHIPMENT_STATIC_TEXT_FONT, BOBBYR_SHIPMENT_STATIC_TEXT_COLOR, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED ); //Output the # of items DrawTextToScreen( gzBobbyRShipmentText[BOBBYR_SHIPMENT__NUM_ITEMS], BOBBYR_SHIPMENT_NUM_ITEMS_X, BOBBYR_SHIPMENT_NUM_ITEMS_Y, BOBBYR_SHIPMENT_NUM_ITEMS_WIDTH, BOBBYR_SHIPMENT_STATIC_TEXT_FONT, BOBBYR_SHIPMENT_STATIC_TEXT_COLOR, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED ); } void DisplayPreviousShipments() { UINT32 uiCnt; CHAR16 zText[512]; UINT16 usPosY = BOBBYR_SHIPMENT_ORDER_NUM_START_Y; UINT32 uiNumItems = CountNumberValidShipmentForTheShipmentsPage(); UINT32 uiNumberItemsInShipments = 0; UINT32 uiItemCnt; UINT8 ubFontColor = BOBBYR_SHIPMENT_STATIC_TEXT_COLOR; //loop through all the shipments for( uiCnt=0; uiCnt iSlotID ) { INT32 iCnt; INT32 iValidShipmentCounter=0; giBobbyRShipmentSelectedShipment = -1; //loop through and get the "x" iSlotID shipment for( iCnt=0; iCnt BOBBYR_SHIPMENT_NUM_PREVIOUS_SHIPMENTS ) return( BOBBYR_SHIPMENT_NUM_PREVIOUS_SHIPMENTS ); else return( giNumberOfNewBobbyRShipment ); }