void RenderProfileBackGround( void ) { HVOBJECT hHandle; INT32 iCurrentHeight = 0; INT32 iCounter = 0; // this procedure will render the generic backgound to the screen // get the video object GetVideoObject(&hHandle, guiBACKGROUND); // render each row 5 times wide, 5 tiles high for(iCounter = 0; iCounter < 4; iCounter++) { // blt background to screen from left to right BltVideoObject(FRAME_BUFFER, hHandle, 0,LAPTOP_SCREEN_UL_X + 0 * CHAR_PROFILE_BACKGROUND_TILE_WIDTH, LAPTOP_SCREEN_WEB_UL_Y + iCounter * CHAR_PROFILE_BACKGROUND_TILE_HEIGHT, VO_BLT_SRCTRANSPARENCY,NULL); BltVideoObject(FRAME_BUFFER, hHandle, 0,LAPTOP_SCREEN_UL_X + 1 * CHAR_PROFILE_BACKGROUND_TILE_WIDTH, LAPTOP_SCREEN_WEB_UL_Y + iCounter * CHAR_PROFILE_BACKGROUND_TILE_HEIGHT, VO_BLT_SRCTRANSPARENCY,NULL); BltVideoObject(FRAME_BUFFER, hHandle, 0,LAPTOP_SCREEN_UL_X + 2 * CHAR_PROFILE_BACKGROUND_TILE_WIDTH, LAPTOP_SCREEN_WEB_UL_Y + iCounter * CHAR_PROFILE_BACKGROUND_TILE_HEIGHT, VO_BLT_SRCTRANSPARENCY,NULL); BltVideoObject(FRAME_BUFFER, hHandle, 0,LAPTOP_SCREEN_UL_X + 3 * CHAR_PROFILE_BACKGROUND_TILE_WIDTH, LAPTOP_SCREEN_WEB_UL_Y + iCounter * CHAR_PROFILE_BACKGROUND_TILE_HEIGHT, VO_BLT_SRCTRANSPARENCY,NULL); } // dirty buttons MarkButtonsDirty( ); // force refresh of screen InvalidateRegion( LAPTOP_SCREEN_UL_X, LAPTOP_SCREEN_WEB_UL_Y, 640, 480 ); return; }
void RenderAttributeFrame(INT16 sX, INT16 sY) { HVOBJECT hHandle; INT32 iCounter = 0; INT16 sCurrentY = 0; // get the video object GetVideoObject(&hHandle, guiATTRIBUTEFRAME); // blt to sX, sY relative to upper left corner BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL); sCurrentY += 10; for( iCounter = 0; iCounter < 10; iCounter++ ) { // blt to sX, sY relative to upper left corner BltVideoObject(FRAME_BUFFER, hHandle, 2, LAPTOP_SCREEN_UL_X + sX + 134, LAPTOP_SCREEN_WEB_UL_Y + sY + sCurrentY, VO_BLT_SRCTRANSPARENCY,NULL); BltVideoObject(FRAME_BUFFER, hHandle, 1, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY + sCurrentY, VO_BLT_SRCTRANSPARENCY,NULL); BltVideoObject(FRAME_BUFFER, hHandle, 3, LAPTOP_SCREEN_UL_X + sX + 368, LAPTOP_SCREEN_WEB_UL_Y + sY + sCurrentY, VO_BLT_SRCTRANSPARENCY,NULL); sCurrentY += 20; } BltVideoObject(FRAME_BUFFER, hHandle, 4, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY + sCurrentY, VO_BLT_SRCTRANSPARENCY,NULL); return; }
BOOLEAN DrawAimDefaults() { HVOBJECT hRustBackGroundHandle; HVOBJECT hAimSymbolHandle; UINT16 x,y, uiPosX, uiPosY; // Blt the rust background GetVideoObject(&hRustBackGroundHandle, guiRustBackGround); uiPosY = RUSTBACKGROUND_1_Y; for(y=0; y<4; y++) { uiPosX = RUSTBACKGROUND_1_X; for(x=0; x<4; x++) { BltVideoObject(FRAME_BUFFER, hRustBackGroundHandle, 0,uiPosX, uiPosY, VO_BLT_SRCTRANSPARENCY,NULL); uiPosX += RUSTBACKGROUND_SIZE_X; } uiPosY += RUSTBACKGROUND_SIZE_Y; } // Aim Symbol GetVideoObject(&hAimSymbolHandle, guiAimSymbol); BltVideoObject(FRAME_BUFFER, hAimSymbolHandle, 0,AIM_SYMBOL_X, AIM_SYMBOL_Y, VO_BLT_SRCTRANSPARENCY,NULL); return(TRUE); }
void RenderMapBorderEtaPopUp( void ) { // renders map border corner to the FRAME_BUFFER HVOBJECT hHandle; if( fShowMapInventoryPool ) { return; } if( fPlotForHelicopter == TRUE ) { DisplayDistancesForHelicopter( ); return; } // get and blt ETA box GetVideoObject(&hHandle, guiMapBorderEtaPopUp ); // coordinates should depend on the actual ETA display UINT16 xVal = (CLOCK_ETA_X - 10) ; UINT16 yVal = (CLOCK_Y_START - 7); if (iResolution >= _640x480 && iResolution < _800x600) BltVideoObject( FRAME_BUFFER , hHandle, 0, xVal, yVal, VO_BLT_SRCTRANSPARENCY,NULL ); else if (iResolution < _1024x768) BltVideoObject( FRAME_BUFFER , hHandle, 1, xVal, yVal, VO_BLT_SRCTRANSPARENCY,NULL ); else BltVideoObject( FRAME_BUFFER , hHandle, 2, xVal, yVal, VO_BLT_SRCTRANSPARENCY,NULL ); InvalidateRegion( xVal, yVal, xVal + 100 , yVal + 19); return; }
void DisplayInfoTocPage() { wchar_t sText[800]; UINT16 usNewLineOffset = 0; HVOBJECT hPixHandle; UINT16 usPosY; usNewLineOffset = INS_INFO_FIRST_PARAGRAPH_Y; //Display the title slogan GetInsuranceText( INS_SNGL_HOW_DOES_INS_WORK, sText ); DrawTextToScreen( sText, INS_INFO_INFO_TOC_TITLE_X, INS_INFO_INFO_TOC_TITLE_Y, 439, INS_FONT_BIG, INS_FONT_COLOR, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED ); //Display the First paragraph GetInsuranceText( INS_MLTI_HIRING_4_SHORT_TERM_HIGH_RISK_1, sText ); usNewLineOffset += DisplayWrappedString( INS_INFO_FIRST_PARAGRAPH_X, usNewLineOffset, INS_INFO_FIRST_PARAGRAPH_WIDTH, 2, INS_FONT_MED, INS_FONT_COLOR, sText, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); usNewLineOffset += INS_INFO_SPACE_BN_PARAGRAPHS; //Display the 2nd paragraph GetInsuranceText( INS_MLTI_HIRING_4_SHORT_TERM_HIGH_RISK_2, sText ); usNewLineOffset += DisplayWrappedString( INS_INFO_FIRST_PARAGRAPH_X, usNewLineOffset, INS_INFO_FIRST_PARAGRAPH_WIDTH, 2, INS_FONT_MED, INS_FONT_COLOR, sText, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); usNewLineOffset += INS_INFO_SPACE_BN_PARAGRAPHS; //Display the sub title GetInsuranceText( INS_SNGL_WE_CAN_OFFER_U, sText ); DrawTextToScreen( sText, INS_INFO_TOC_SUBTITLE_X, usNewLineOffset, 640-INS_INFO_INFO_TOC_TITLE_X, INS_FONT_BIG, INS_FONT_COLOR, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED ); usPosY = usNewLineOffset + 12; DisplaySmallRedLineWithShadow( INS_INFO_SUBTITLE_X, usPosY, (UINT16)(INS_INFO_SUBTITLE_X+INS_INFO_SUBTITLE_LINE_WIDTH), usPosY ); usNewLineOffset += INS_INFO_SPACE_BN_PARAGRAPHS; usNewLineOffset += INS_INFO_SPACE_BN_PARAGRAPHS; // // Premiuns bulleted sentence // //Get and display the insurance bullet GetVideoObject(&hPixHandle, guiBulletImage ); BltVideoObject(FRAME_BUFFER, hPixHandle, 0, INS_INFO_FIRST_PARAGRAPH_X, usNewLineOffset, VO_BLT_SRCTRANSPARENCY,NULL); GetInsuranceText( INS_MLTI_REASONABLE_AND_FLEXIBLE, sText ); usNewLineOffset += DisplayWrappedString( INS_INFO_FIRST_PARAGRAPH_X+INSURANCE_BULLET_TEXT_OFFSET_X, usNewLineOffset, INS_INFO_FIRST_PARAGRAPH_WIDTH, 2, INS_FONT_MED, INS_FONT_COLOR, sText, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); usNewLineOffset += INS_INFO_SPACE_BN_PARAGRAPHS; // // Quick and efficient claims // //Get and display the insurance bullet GetVideoObject(&hPixHandle, guiBulletImage ); BltVideoObject(FRAME_BUFFER, hPixHandle, 0, INS_INFO_FIRST_PARAGRAPH_X, usNewLineOffset, VO_BLT_SRCTRANSPARENCY,NULL); GetInsuranceText( INS_MLTI_QUICKLY_AND_EFFICIENT, sText ); usNewLineOffset += DisplayWrappedString( INS_INFO_FIRST_PARAGRAPH_X+INSURANCE_BULLET_TEXT_OFFSET_X, usNewLineOffset, INS_INFO_FIRST_PARAGRAPH_WIDTH, 2, INS_FONT_MED, INS_FONT_COLOR, sText, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); usNewLineOffset += INS_INFO_SPACE_BN_PARAGRAPHS; }
BOOLEAN DrawAimDefaults() { HVOBJECT hRustBackGroundHandle; HVOBJECT hAimSymbolHandle; UINT16 x,y, uiPosX, uiPosY; // Blt the rust background GetVideoObject(&hRustBackGroundHandle, guiRustBackGround); uiPosY = RUSTBACKGROUND_1_Y; for(y=0; y<4; y++) { uiPosX = RUSTBACKGROUND_1_X; for(x=0; x<4; x++) { BltVideoObject(FRAME_BUFFER, hRustBackGroundHandle, 0,uiPosX, uiPosY, VO_BLT_SRCTRANSPARENCY,NULL); uiPosX += RUSTBACKGROUND_SIZE_X; } uiPosY += RUSTBACKGROUND_SIZE_Y; } // Aim Symbol if(gGameExternalOptions.gfUseNewStartingGearInterface) { GetVideoObject(&hAimSymbolHandle, guiAimSymbol); BltVideoObject(FRAME_BUFFER, hAimSymbolHandle, 0,AIM_SYMBOL_SMALL_X, AIM_SYMBOL_SMALL_Y, VO_BLT_SRCTRANSPARENCY,NULL); } else { GetVideoObject(&hAimSymbolHandle, guiAimSymbol); BltVideoObject(FRAME_BUFFER, hAimSymbolHandle, 0,AIM_SYMBOL_X, AIM_SYMBOL_Y, VO_BLT_SRCTRANSPARENCY,NULL); } return(TRUE); }
void IMPMinorTraitDisplaySkills() { UINT32 uiCnt; UINT16 usPosX, usPosY; UINT16 usBoxPosX, usBoxPosY; HVOBJECT hImageHandle; //Display the title DrawTextToScreen( gzIMPSkillTraitsTextNewMinor[ IMP_SKILL_TRAITS_NEW_NUMBER_MINOR_SKILLS ], IMP_MINOR_TRAIT__TITLE_X, LAPTOP_TITLE_Y, LAPTOP_TEXT_WIDTH, IMP_MINOR_TRAIT__TITLE_FONT, IMP_MINOR_TRAIT__COLOR, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED ); // Stats GetVideoObject(&hImageHandle, guiIMT_GreyGoldBox ); usPosX = IMP_MINOR_TRAIT__LEFT_COLUMN_START_X + IMP_MINOR_TRAIT__TEXT_OFFSET_X; usPosY = IMP_MINOR_TRAIT__LEFT_COLUMN_START_Y + IMP_MINOR_TRAIT__TEXT_OFFSET_Y; for( uiCnt=0; uiCnt<IMP_SKILL_TRAITS_NEW_NUMBER_MINOR_SKILLS; uiCnt++ ) { usBoxPosX = usPosX - IMP_MINOR_TRAIT__GREY_BOX_OFFSET_X; usBoxPosY = usPosY - IMP_MINOR_TRAIT__GREY_BOX_OFFSET_Y; //if the trait is selected if( gfMinorTraitQuestions[ uiCnt ] ) { //Display the gold background box BltVideoObject(FRAME_BUFFER, hImageHandle, 1, usBoxPosX, usBoxPosY, VO_BLT_SRCTRANSPARENCY,NULL); } else { //Display the grey background box BltVideoObject(FRAME_BUFFER, hImageHandle, 0,usBoxPosX, usBoxPosY, VO_BLT_SRCTRANSPARENCY,NULL); } //draw the text to the screenx DrawTextToScreen( gzIMPSkillTraitsTextNewMinor[ uiCnt ], usPosX, usPosY, 0, IMP_MINOR_TRAIT__FONT, IMP_MINOR_TRAIT__COLOR, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED ); AssignMinorTraitHelpText( uiCnt ); //Determine the next x location if( uiCnt < IMP_MINOR_TRAIT__TRAITS_TO_START_RIGHT_COL ) usPosX = IMP_MINOR_TRAIT__LEFT_COLUMN_START_X + IMP_MINOR_TRAIT__TEXT_OFFSET_X; else usPosX = IMP_MINOR_TRAIT__RIGHT_COLUMN_START_X + IMP_MINOR_TRAIT__TEXT_OFFSET_X; //Determine the next Y location if( uiCnt == IMP_MINOR_TRAIT__TRAITS_TO_START_RIGHT_COL ) usPosY = IMP_MINOR_TRAIT__RIGHT_COLUMN_START_Y + IMP_MINOR_TRAIT__TEXT_OFFSET_Y; else usPosY += IMP_MINOR_TRAIT__SPACE_BTN_BUTTONS; //if its the none button if( uiCnt == IMP_SKILL_TRAITS_NEW_MINOR_NONE-1 ) { usPosX = IMP_MINOR_TRAIT__NONE_BTN_LOC_X + IMP_MINOR_TRAIT__TEXT_OFFSET_X; usPosY = IMP_MINOR_TRAIT__NONE_BTN_LOC_Y + IMP_MINOR_TRAIT__TEXT_OFFSET_Y; } } }
void RenderBriefingRoomEnter() { UINT16 i, idText, usPosY; UINT16 usHeight; HVOBJECT hContentButtonHandle; UINT16 usWidth=0; HVOBJECT hHandle; DrawBriefingRoomEnterDefaults(); DrawBriefingRoomEnterLogoAim(); ShadowVideoSurfaceRect( FRAME_BUFFER, BRIEFINGROOM_MISSION_LOCATION_BOX_X+BRIEFINGROOM_MISSION_LOCATION_BOX_SHADOW_GAP+150, BRIEFINGROOM_MISSION_LOCATION_BOX_Y + 13 + BRIEFINGROOM_MISSION_LOCATION_BOX_SHADOW_GAP - 227 , BRIEFINGROOM_MISSION_LOCATION_BOX_X + 400 + BRIEFINGROOM_MISSION_LOCATION_BOX_SHADOW_GAP, BRIEFINGROOM_MISSION_LOCATION_BOX_Y + BRIEFINGROOM_MISSION_LOCATION_BOX_SHADOW_GAP-42); DisplayWrappedString(BRIEFINGROOM_MISSION_BOX_DESC_X + 150, BRIEFINGROOM_MISSION_BOX_DESC_Y - 210, BRIEFINGROOM_MISSION_BOX_TEXT_WIDTH, 6, BRIEFINGROOM_MISSION_BOX_FONT, BRIEFINGROOM_MISSION_BOX_COLOR, pSectorPageText[6], FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); GetVideoObject(&hContentButtonHandle, guiContentButtonBriefingRoomEnter); usHeight = GetFontHeight(BRIEFINGROOM_MISSION_FONT12ARIAL); usPosY = BRIEFINGROOM_MISSION_CONTENTBUTTON_Y + 120; for(i=0; i<BRIEFINGROOM_MISSION_BUTTONS_DEF; i++) { idText = i + 16; BltVideoObject(FRAME_BUFFER, hContentButtonHandle, 0,BRIEFINGROOM_MISSION_TOC_X+120, usPosY, VO_BLT_SRCTRANSPARENCY,NULL); usWidth = StringPixLength(pMenuStrings[idText], BRIEFINGROOM_MISSION_FONT12ARIAL); DrawTextToScreen(pMenuStrings[idText], BRIEFINGROOM_MISSION_TOC_X+120, (UINT16)(usPosY + BRIEFINGROOM_MISSION_TOC_Y+10), BRIEFINGROOM_MISSION_BUTTON_SIZE_X, BRIEFINGROOM_MISSION_FONT12ARIAL, BRIEFINGROOM_MISSION_FONT_MCOLOR_WHITE, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED); usPosY += BRIEFINGROOM_MISSION_TOC_GAP_Y; } // get the video object GetVideoObject(&hHandle, guiBRIEFINGROOM_MISSIONACTIVATIONINDENT); // blt to sX, sY relative to upper left corner BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + 100, LAPTOP_SCREEN_WEB_UL_Y + 240 , VO_BLT_SRCTRANSPARENCY,NULL); DisplayBriefingRoomEnterSlogan(); DisplayBriefingRoomEnterCopyright(); RenderWWWProgramTitleBar( ); // render the activation string //------------- DisplayPlayerActivationBriefingRoomEnterString( ); //------------- InvalidateRegion(LAPTOP_SCREEN_UL_X,LAPTOP_SCREEN_WEB_UL_Y,LAPTOP_SCREEN_LR_X,LAPTOP_SCREEN_WEB_LR_Y); }
void IMPDisabilityTraitDisplayDisabilityTraits() { UINT8 ubCnt; UINT16 usPosX, usPosY; UINT16 usBoxPosX, usBoxPosY; HVOBJECT hImageHandle; // Stats GetVideoObject(&hImageHandle, guiIST_GreyGoldBox3 ); usPosX = IMP_DISABILITY_COLUMN_START_X + IMP_DISABILITY_TRAIT__TEXT_OFFSET_X; usPosY = IMP_DISABILITY_COLUMN_START_Y + IMP_DISABILITY_TRAIT__TEXT_OFFSET_Y; for( ubCnt=0; ubCnt<IMP_DISABILITIES_NUMBER; ubCnt++ ) { usBoxPosX = usPosX - IMP_DISABILITY_TRAIT__GREY_BOX_OFFSET_X; usBoxPosY = usPosY - IMP_DISABILITY_TRAIT__GREY_BOX_OFFSET_Y; //if the trait is selected if( gfDisabilityTraitQuestions[ ubCnt ] ) { //Display the gold background box BltVideoObject(FRAME_BUFFER, hImageHandle, 1, usBoxPosX, usBoxPosY, VO_BLT_SRCTRANSPARENCY,NULL); } else { //Display the grey background box BltVideoObject(FRAME_BUFFER, hImageHandle, 0,usBoxPosX, usBoxPosY, VO_BLT_SRCTRANSPARENCY,NULL); } //draw the text to the screenx DrawTextToScreen( gzIMPDisabilityTraitText[ ubCnt ], usPosX, usPosY, 0, IMP_DISABILITY_TRAIT__FONT, IMP_DISABILITY_TRAIT__COLOR, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED ); AssignDisabilityHelpText( ubCnt ); //Determine the next x location if( ubCnt < IMP_DISABILITY_TRAIT_NUMBER_TO_START_2ND_COLUMN ) usPosX = IMP_DISABILITY_COLUMN_START_X + IMP_DISABILITY_TRAIT__TEXT_OFFSET_X; else usPosX = IMP_DISABILITY_2ND_COLUMN_START_X + IMP_DISABILITY_TRAIT__TEXT_OFFSET_X; //Determine the next Y location if( ubCnt == IMP_DISABILITY_TRAIT_NUMBER_TO_START_2ND_COLUMN ) usPosY = IMP_DISABILITY_2ND_COLUMN_START_Y + IMP_DISABILITY_TRAIT__TEXT_OFFSET_Y; else usPosY += IMP_DISABILITY_TRAIT__SPACE_BTN_BUTTONS; } }
void RenderMapBorder( void ) { // renders the actual border to the guiSAVEBUFFER HVOBJECT hHandle; /* if( fDisabledMapBorder ) { return; } */ if( fShowMapInventoryPool ) { // render background, then leave BlitInventoryPoolGraphic( ); return; } // get and blt border GetVideoObject(&hHandle, guiMapBorder ); BltVideoObject( guiSAVEBUFFER , hHandle, 0,MAP_BORDER_X, MAP_BORDER_Y, VO_BLT_SRCTRANSPARENCY,NULL ); // show the level marker DisplayCurrentLevelMarker( ); return; }
void RenderAttributeFrameForIndex( INT16 sX, INT16 sY, INT32 iIndex ) { INT16 sCurrentY = 0; HVOBJECT hHandle; // valid index? if( iIndex == -1 ) { return; } sCurrentY = ( INT16 )( 10 + ( iIndex * 20 ) ); // get the video object GetVideoObject(&hHandle, guiATTRIBUTEFRAME); // blt to sX, sY relative to upper left corner BltVideoObject(FRAME_BUFFER, hHandle, 2, LAPTOP_SCREEN_UL_X + sX + 134, LAPTOP_SCREEN_WEB_UL_Y + sY + sCurrentY, VO_BLT_SRCTRANSPARENCY,NULL); RenderAttrib2IndentFrame(350, 42 ); // amt of bonus pts DrawBonusPointsRemaining( ); // render attribute boxes RenderAttributeBoxes( ); InvalidateRegion( LAPTOP_SCREEN_UL_X + sX + 134, LAPTOP_SCREEN_WEB_UL_Y + sY + sCurrentY, LAPTOP_SCREEN_UL_X + sX + 400, LAPTOP_SCREEN_WEB_UL_Y + sY + sCurrentY + 21 ); return; }
void RenderMapBorderEtaPopUp( void ) { // renders map border corner to the FRAME_BUFFER HVOBJECT hHandle; /* if( fDisabledMapBorder ) { return; } */ if( fShowMapInventoryPool ) { return; } if( fPlotForHelicopter == TRUE ) { DisplayDistancesForHelicopter( ); return; } // get and blt ETA box GetVideoObject(&hHandle, guiMapBorderEtaPopUp ); BltVideoObject( FRAME_BUFFER , hHandle, 0, MAP_BORDER_X + 215, 291, VO_BLT_SRCTRANSPARENCY,NULL ); InvalidateRegion( MAP_BORDER_X + 215, 291, MAP_BORDER_X + 215 + 100 , 310); return; }
void HandleCreditEyeBlinking() { HVOBJECT hPixHandle; UINT8 ubCnt; GetVideoObject(&hPixHandle, guiCreditFaces ); for( ubCnt=0; ubCnt<NUM_PEOPLE_IN_CREDITS; ubCnt++ ) { if( ( GetJA2Clock() - gCreditFaces[ubCnt].uiLastBlinkTime ) > (UINT32)gCreditFaces[ubCnt].sBlinkFreq ) { BltVideoObject( FRAME_BUFFER, hPixHandle, (UINT8)(ubCnt*3), gCreditFaces[ubCnt].sEyeX + xResOffset, gCreditFaces[ubCnt].sEyeY + yResOffset, VO_BLT_SRCTRANSPARENCY, NULL); InvalidateRegion( gCreditFaces[ubCnt].sEyeX + xResOffset, gCreditFaces[ubCnt].sEyeY + yResOffset, gCreditFaces[ubCnt].sEyeX + CRDT_EYE_WIDTH + xResOffset, gCreditFaces[ubCnt].sEyeY + CRDT_EYE_HEIGHT + yResOffset ); gCreditFaces[ubCnt].uiLastBlinkTime = GetJA2Clock(); gCreditFaces[ubCnt].uiEyesClosedTime = GetJA2Clock() + CRDT_EYES_CLOSED_TIME + Random( CRDT_EYES_CLOSED_TIME ); } else if( GetJA2Clock() > gCreditFaces[ubCnt].uiEyesClosedTime ) { gCreditFaces[ubCnt].uiEyesClosedTime = 0; RestoreExternBackgroundRect( gCreditFaces[ubCnt].sEyeX + xResOffset, gCreditFaces[ubCnt].sEyeY + yResOffset, CRDT_EYE_WIDTH, CRDT_EYE_HEIGHT ); } } }
void RenderAIM() { HVOBJECT hMemberCardHandle; HVOBJECT hPoliciesHandle; HVOBJECT hLinksHandle; HVOBJECT hHistoryHandle; // UINT16 x,y, uiPosX, uiPosY; DrawAimDefaults(); //MemberCard GetVideoObject(&hMemberCardHandle, guiMemberCard); BltVideoObject(FRAME_BUFFER, hMemberCardHandle, 0,MEMBERCARD_X, MEMBERCARD_Y, VO_BLT_SRCTRANSPARENCY,NULL); //Policies GetVideoObject(&hPoliciesHandle, guiPolicies); BltVideoObject(FRAME_BUFFER, hPoliciesHandle, 0,POLICIES_X, POLICIES_Y, VO_BLT_SRCTRANSPARENCY,NULL); //Links GetVideoObject(&hLinksHandle, guiLinks); BltVideoObject(FRAME_BUFFER, hLinksHandle, 0,LINKS_X, LINKS_Y, VO_BLT_SRCTRANSPARENCY,NULL); //History GetVideoObject(&hHistoryHandle, guiHistory); BltVideoObject(FRAME_BUFFER, hHistoryHandle, 0,HISTORY_X, HISTORY_Y, VO_BLT_SRCTRANSPARENCY,NULL); // Draw the aim slogan under the symbol DisplayAimSlogan(); DisplayAimCopyright(); //Draw text under boxes // members DrawTextToScreen(AimBottomMenuText[AIM_MEMBERS], MEMBERCARD_X, MEMBERS_TEXT_Y, LINK_SIZE_X, FONT12ARIAL, AIM_FONT_MCOLOR_WHITE, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED); // Policies DrawTextToScreen(AimBottomMenuText[AIM_POLICIES], POLICIES_X, POLICIES_TEXT_Y, LINK_SIZE_X, FONT12ARIAL, AIM_FONT_MCOLOR_WHITE, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED); // History DrawTextToScreen(AimBottomMenuText[AIM_HISTORY], HISTORY_X, HISTORY_TEXT_Y, LINK_SIZE_X, FONT12ARIAL, AIM_FONT_MCOLOR_WHITE, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED); // Links DrawTextToScreen(AimBottomMenuText[AIM_LINKS], LINKS_X, LINK_TEXT_Y, LINK_SIZE_X, FONT12ARIAL, AIM_FONT_MCOLOR_WHITE, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED); HandleAdAndWarningArea( gfInitAdArea, TRUE ); RenderWWWProgramTitleBar( ); InvalidateRegion(LAPTOP_SCREEN_UL_X,LAPTOP_SCREEN_WEB_UL_Y,LAPTOP_SCREEN_LR_X,LAPTOP_SCREEN_WEB_LR_Y); }
BOOLEAN DrawBriefingRoomEnterLogoAim() { HVOBJECT hLogoEncyklopedia; GetVideoObject(&hLogoEncyklopedia, guiRustBriefingRoomEnterLogoAim); BltVideoObject(FRAME_BUFFER, hLogoEncyklopedia, 0,BRIEFINGROOM_MISSION_TOC_X-120, RUSTBACKGROUND_1_Y + 20, VO_BLT_SRCTRANSPARENCY,NULL); return(TRUE); }
BOOLEAN RenderPortrait( INT16 sX, INT16 sY ) { // render the portrait of the current picture VOBJECT_DESC VObjectDesc; HVOBJECT hHandle; UINT32 uiGraphicHandle; if( fCharacterIsMale ) { // load it VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE; FilenameForBPP( pPlayerSelectedBigFaceFileNames[ iCurrentPortrait ] , VObjectDesc.ImageFile); CHECKF(AddVideoObject(&VObjectDesc, &uiGraphicHandle)); // show it GetVideoObject(&hHandle, uiGraphicHandle); BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL); // and kick it's sorry ..umm never mind, outta here DeleteVideoObjectFromIndex( uiGraphicHandle ); } else { // load it VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE; FilenameForBPP( pPlayerSelectedBigFaceFileNames[ iCurrentPortrait + 8 ] , VObjectDesc.ImageFile); CHECKF(AddVideoObject(&VObjectDesc, &uiGraphicHandle)); // show it GetVideoObject(&hHandle, uiGraphicHandle); BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL); // and kick it's sorry ..umm never mind, outta here DeleteVideoObjectFromIndex( uiGraphicHandle ); } return ( TRUE ); }
void RenderMapBorder( void ) { // renders the actual border to the guiSAVEBUFFER HVOBJECT hHandle; // HEADROCK HAM 5: Do not redraw if the filter menu is open. if( fShowMapInventoryPool ) { if (gfMapInventoryFilterPopupVisible) { if (gfQueueRecreateMapInventoryFilterMenu) { ButtonList[guiMapInvenFilterButton[ 0 ]]->uiFlags |= (BUTTON_CLICKED_ON); CreateMapInventoryFilterMenu(); } gMapInventoryFilterPopup->show(); } else { // render background, then leave BlitInventoryPoolGraphic( ); } return; } // get and blt border GetVideoObject(&hHandle, guiMapBorder ); // HEADROCK HAM 4: Load different map border depending on whether we want to display the mobile militia button or not. if (gGameExternalOptions.gfAllowMilitiaGroups) { BltVideoObject( guiSAVEBUFFER , hHandle, 1, xResOffset + MAP_BORDER_X, MAP_BORDER_Y, VO_BLT_SRCTRANSPARENCY,NULL ); } else { BltVideoObject( guiSAVEBUFFER , hHandle, 0, xResOffset + MAP_BORDER_X, MAP_BORDER_Y, VO_BLT_SRCTRANSPARENCY,NULL ); } RestoreExternBackgroundRect( xResOffset + MAP_BORDER_X, MAP_BORDER_Y, SCREEN_WIDTH - MAP_BORDER_X - 2 * xResOffset, SCREEN_HEIGHT ); // show the level marker DisplayCurrentLevelMarker( ); return; }
void DisplayPremiumPage() { wchar_t sText[800]; UINT16 usNewLineOffset = 0; HVOBJECT hPixHandle; usNewLineOffset = INS_INFO_FIRST_PARAGRAPH_Y; //Display the title slogan GetInsuranceText( INS_SNGL_PREMIUMS, sText ); DrawTextToScreen( sText, INS_INFO_SUBTITLE_X, INS_INFO_SUBTITLE_Y, 0, INS_FONT_BIG, INS_FONT_COLOR, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED ); GetInsuranceText( INS_MLTI_EACH_TIME_U_COME_TO_US, sText ); usNewLineOffset += DisplayWrappedString( INS_INFO_FIRST_PARAGRAPH_X, usNewLineOffset, INS_INFO_FIRST_PARAGRAPH_WIDTH, 2, INS_FONT_MED, INS_FONT_COLOR, sText, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); usNewLineOffset += INS_INFO_SPACE_BN_PARAGRAPHS; //Get and display the insurance bullet GetVideoObject(&hPixHandle, guiBulletImage ); BltVideoObject(FRAME_BUFFER, hPixHandle, 0, INS_INFO_FIRST_PARAGRAPH_X, usNewLineOffset, VO_BLT_SRCTRANSPARENCY,NULL); GetInsuranceText( INS_MLTI_LENGTH_OF_EMPLOYMENT_CONTRACT, sText ); usNewLineOffset += DisplayWrappedString( INS_INFO_FIRST_PARAGRAPH_X+INSURANCE_BULLET_TEXT_OFFSET_X, usNewLineOffset, INS_INFO_FIRST_PARAGRAPH_WIDTH, 2, INS_FONT_MED, INS_FONT_COLOR, sText, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); usNewLineOffset += INS_INFO_SPACE_BN_PARAGRAPHS; //Get and display the insurance bullet GetVideoObject(&hPixHandle, guiBulletImage ); BltVideoObject(FRAME_BUFFER, hPixHandle, 0, INS_INFO_FIRST_PARAGRAPH_X, usNewLineOffset, VO_BLT_SRCTRANSPARENCY,NULL); GetInsuranceText( INS_MLTI_EMPLOYEES_AGE_AND_HEALTH, sText ); usNewLineOffset += DisplayWrappedString( INS_INFO_FIRST_PARAGRAPH_X+INSURANCE_BULLET_TEXT_OFFSET_X, usNewLineOffset, INS_INFO_FIRST_PARAGRAPH_WIDTH, 2, INS_FONT_MED, INS_FONT_COLOR, sText, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); usNewLineOffset += INS_INFO_SPACE_BN_PARAGRAPHS; //Get and display the insurance bullet GetVideoObject(&hPixHandle, guiBulletImage ); BltVideoObject(FRAME_BUFFER, hPixHandle, 0, INS_INFO_FIRST_PARAGRAPH_X, usNewLineOffset, VO_BLT_SRCTRANSPARENCY,NULL); GetInsuranceText( INS_MLTI_EMPLOOYEES_TRAINING_AND_EXP, sText ); usNewLineOffset += DisplayWrappedString( INS_INFO_FIRST_PARAGRAPH_X+INSURANCE_BULLET_TEXT_OFFSET_X, usNewLineOffset, INS_INFO_FIRST_PARAGRAPH_WIDTH, 2, INS_FONT_MED, INS_FONT_COLOR, sText, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); usNewLineOffset += INS_INFO_SPACE_BN_PARAGRAPHS; }
BOOLEAN DrawBriefingRoomEnterDefaults() { HVOBJECT hRustBackGroundHandle; // Blt the rust background GetVideoObject(&hRustBackGroundHandle, guiRustBriefingRoomEnterBackGround); BltVideoObject(FRAME_BUFFER, hRustBackGroundHandle, 0,RUSTBACKGROUND_1_X, RUSTBACKGROUND_1_Y, VO_BLT_SRCTRANSPARENCY,NULL); return(TRUE); }
void DropDownBase::Display_Drop() { if( !mfMouseRegionsCreated_Drop ) return; HVOBJECT hArrowHandle; //Display the background for the drop down window ColorFillVideoSurfaceArea( FRAME_BUFFER, musStartX_Drop, musStartY_Drop, musStartX_Drop+musWidth+musArrowWidth, musStartY_Drop+musAreaHeight, Get16BPPColor( FROMRGB( 0, 0, 0 ) ) ); // top Display2Line2ShadowHorizontal( musStartX_Drop, musStartY_Drop-4, musStartX_Drop + musWidth + musArrowWidth - 1, mColorLine, mColorLineShadow ); // left Display2Line2ShadowVertical( musStartX_Drop, musStartY_Drop-2, musStartY_Drop + musAreaHeight - 1, mColorLine, mColorLineShadow ); // right between text and arrow Display2Line2ShadowVertical( musStartX_Drop + musWidth - 4, musStartY_Drop-2, musStartY_Drop + musAreaHeight - 1, mColorLine, mColorLineShadow ); // bottom Display2Line2ShadowHorizontal( musStartX_Drop, musStartY_Drop + musAreaHeight - 4, musStartX_Drop + musWidth + musArrowWidth - 1, mColorLine, mColorLineShadow ); // right Display2Line2ShadowVertical( musStartX_Drop + musWidth + musArrowWidth - 4, musStartY_Drop-4, musStartY_Drop + musAreaHeight - 3, mColorLine, mColorLineShadow ); DrawSelectedCity(); //get and display the up and down arrows GetVideoObject(&hArrowHandle, muiGoldArrowImages); // top arrow BltVideoObject(FRAME_BUFFER, hArrowHandle, 1, musUpArrowX, musUpArrowY, VO_BLT_SRCTRANSPARENCY,NULL); // down arrow BltVideoObject(FRAME_BUFFER, hArrowHandle, 0, musDownArrowX, musDownArrowY, VO_BLT_SRCTRANSPARENCY,NULL); //display the scroll rectangle DrawGoldRectangle(); InvalidateRegion(LAPTOP_SCREEN_UL_X,LAPTOP_SCREEN_WEB_UL_Y,LAPTOP_SCREEN_LR_X,LAPTOP_SCREEN_WEB_LR_Y); }
void RenderHistoryBackGround( void ) { // render generic background for history system HVOBJECT hHandle; INT32 iCounter=0; // get title bar object GetVideoObject(&hHandle, guiTITLE); // blt title bar to screen BltVideoObject(FRAME_BUFFER, hHandle, 0,TOP_X, TOP_Y -2 , VO_BLT_SRCTRANSPARENCY,NULL); // get and blt the top part of the screen, video object and blt to screen GetVideoObject(&hHandle, guiTOP); BltVideoObject(FRAME_BUFFER, hHandle, 0,TOP_X, TOP_Y + 22, VO_BLT_SRCTRANSPARENCY,NULL); // display background for history list DisplayHistoryListBackground( ); return; }
void RenderIMPSymbol(INT16 sX, INT16 sY) { HVOBJECT hHandle; // get the video object GetVideoObject(&hHandle, guiIMPSYMBOL); // blt to sX, sY relative to upper left corner BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL); return; }
void RenderQtnShort2IndentHighFrame(INT16 sX, INT16 sY) { HVOBJECT hHandle; // get the video object GetVideoObject(&hHandle, guiSHORT2HINDENT); // blt to sX, sY relative to upper left corner BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL); return; }
void RenderFrontPageIndent(INT16 sX, INT16 sY) { HVOBJECT hHandle; // get the video object GetVideoObject(&hHandle, guiFRONTPAGEINDENT); // blt to sX, sY relative to upper left corner BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL); return; }
void RenderAttributeBarGraph(INT16 sX, INT16 sY) { HVOBJECT hHandle; // get the video object GetVideoObject(&hHandle, guiATTRIBUTEGRAPHBAR); // blt to sX, sY relative to upper left corner BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL); return; }
void RenderLargeSilhouette(INT16 sX, INT16 sY) { HVOBJECT hHandle; // get the video object GetVideoObject(&hHandle, guiLARGESILHOUETTE); // blt to sX, sY relative to upper left corner BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL); return; }
void DrawSelectLight(UINT8 ubMode, UINT8 ubImage) { HVOBJECT hSelectLightHandle; ubMode *= 2; GetVideoObject(&hSelectLightHandle, guiSelectLight); BltVideoObject(FRAME_BUFFER, hSelectLightHandle, ubImage, (AimSortCheckBoxLoc[ubMode] ), ( AimSortCheckBoxLoc[ubMode + 1] ), VO_BLT_SRCTRANSPARENCY,NULL); // InvalidateRegion(LAPTOP_SCREEN_UL_X,LAPTOP_SCREEN_WEB_UL_Y,LAPTOP_SCREEN_LR_X,LAPTOP_SCREEN_WEB_LR_Y); InvalidateRegion(AimSortCheckBoxLoc[ubMode],AimSortCheckBoxLoc[ubMode+1], (AimSortCheckBoxLoc[ubMode] + AIM_SORT_CHECKBOX_SIZE), (AimSortCheckBoxLoc[ubMode+1] + AIM_SORT_CHECKBOX_SIZE) ); }
BOOLEAN InitTocMenu() { UINT16 i, usPosY; UINT16 usHeight; UINT16 usWidth=0; CHAR16 sText[400]; UINT8 ubLocInFile[] = { IN_THE_BEGINNING, THE_ISLAND_METAVIRA, GUS_TARBALLS, WORD_FROM_FOUNDER, INCORPORATION}; HVOBJECT hContentButtonHandle; GetVideoObject(&hContentButtonHandle, guiContentButton); usHeight = GetFontHeight(AIM_HISTORY_TOC_TEXT_FONT); usPosY = AIM_HISTORY_CONTENTBUTTON_Y; for(i=0; i<NUM_AIM_HISTORY_PAGES; i++) { if(!g_bUseXML_Strings) { UINT32 uiStartLoc = AIM_HISTORY_LINE_SIZE * ubLocInFile[i]; LoadEncryptedDataFromFile(AIMHISTORYFILE, sText, uiStartLoc, AIM_HISTORY_LINE_SIZE); } else { Loc::GetString(Loc::AIM_HISTORY, L"Line", ubLocInFile[i], sText, 400); } usWidth = StringPixLength(sText, AIM_HISTORY_TOC_TEXT_FONT); //if the mouse regions havent been inited, init them if( !gfInToc ) { //Mouse region for the history toc buttons MSYS_DefineRegion( &gSelectedHistoryTocMenuRegion[i], AIM_HISTORY_TOC_X, usPosY, (UINT16)(AIM_HISTORY_TOC_X + AIM_CONTENTBUTTON_WIDTH), (UINT16)(usPosY + AIM_CONTENTBUTTON_HEIGHT), MSYS_PRIORITY_HIGH, CURSOR_WWW, MSYS_NO_CALLBACK, SelectHistoryTocMenuRegionCallBack); MSYS_AddRegion(&gSelectedHistoryTocMenuRegion[i]); MSYS_SetRegionUserData( &gSelectedHistoryTocMenuRegion[i], 0, i+1); } BltVideoObject(FRAME_BUFFER, hContentButtonHandle, 0,AIM_HISTORY_TOC_X, usPosY, VO_BLT_SRCTRANSPARENCY,NULL); DrawTextToScreen(sText, AIM_HISTORY_TOC_X, (UINT16)(usPosY + AIM_HISTORY_TOC_Y), AIM_CONTENTBUTTON_WIDTH, AIM_HISTORY_TOC_TEXT_FONT, AIM_HISTORY_TOC_TEXT_COLOR, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED); usPosY += AIM_HISTORY_TOC_GAP_Y; } gfInToc = TRUE; return(TRUE); }
void RenderFloristCards() { UINT8 i,j, ubCount; UINT16 usPosX, usPosY; wchar_t sTemp[ 640 ]; UINT32 uiStartLoc=0; HVOBJECT hPixHandle; UINT16 usHeightOffset; DisplayFloristDefaults(); DrawTextToScreen( sFloristCards[FLORIST_CARDS_CLICK_SELECTION], FLORIST_CARD_TITLE_SENTENCE_X, FLORIST_CARD_TITLE_SENTENCE_Y, FLORIST_CARD_TITLE_SENTENCE_WIDTH, FONT10ARIAL, FLORIST_CARDS_SENTENCE_COLOR, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED ); GetVideoObject(&hPixHandle, guiCardBackground); usPosY = FLORIST_CARD_FIRST_POS_Y; ubCount = 0; for(j=0; j<3; j++) { usPosX = FLORIST_CARD_FIRST_POS_X; for(i=0; i<3; i++) { //The flowe account box BltVideoObject(FRAME_BUFFER, hPixHandle, 0, usPosX, usPosY, VO_BLT_SRCTRANSPARENCY,NULL); //Get and display the card saying uiStartLoc = FLOR_CARD_TEXT_TITLE_SIZE * ubCount; LoadEncryptedDataFromFile(FLOR_CARD_TEXT_FILE, sTemp, uiStartLoc, FLOR_CARD_TEXT_TITLE_SIZE); // DisplayWrappedString((UINT16)(usPosX+7), (UINT16)(usPosY+15), FLORIST_CARD_TEXT_WIDTH, 2, FLORIST_CARDS_SENTENCE_FONT, FLORIST_CARDS_SENTENCE_COLOR, sTemp, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED); usHeightOffset = IanWrappedStringHeight( (UINT16)(usPosX+7), (UINT16)(usPosY), FLORIST_CARD_TEXT_WIDTH, 2, FLORIST_CARDS_SENTENCE_FONT, FLORIST_CARDS_SENTENCE_COLOR, sTemp, 0, FALSE, 0); usHeightOffset = ( FLORIST_CARD_TEXT_HEIGHT - usHeightOffset ) / 2; IanDisplayWrappedString( (UINT16)(usPosX+7), (UINT16)(usPosY+10+usHeightOffset), FLORIST_CARD_TEXT_WIDTH, 2, FLORIST_CARDS_SENTENCE_FONT, FLORIST_CARDS_SENTENCE_COLOR, sTemp, 0, FALSE, 0); ubCount++; usPosX += FLORIST_CARD_FIRST_OFFSET_X; } usPosY += FLORIST_CARD_FIRST_OFFSET_Y; } MarkButtonsDirty( ); RenderWWWProgramTitleBar( ); InvalidateRegion(LAPTOP_SCREEN_UL_X,LAPTOP_SCREEN_WEB_UL_Y,LAPTOP_SCREEN_LR_X,LAPTOP_SCREEN_WEB_LR_Y); }
void RenderAnalyse(INT16 sX, INT16 sY, INT8 bImageNumber) { HVOBJECT hHandle; // get the video object GetVideoObject(&hHandle, guiANALYSE); // blt to sX, sY relative to upper left corner BltVideoObject(FRAME_BUFFER, hHandle, bImageNumber, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL); return; }