mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
For more info, see http://thepit.ja-galaxy-forum.com/index.php?t=msg&goto=360075&#msg_360075 Requires GameDir >= r2534 git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8804 3b4a5df2-a311-0410-b5c6-a8a6f20db521
283 lines
8.4 KiB
C
283 lines
8.4 KiB
C
#ifndef __LAPTOP_H
|
|
#define __LAPTOP_H
|
|
|
|
#include "types.h"
|
|
#include "sgp.h"
|
|
#include "Font Control.h"
|
|
#include "messageboxscreen.h"
|
|
|
|
|
|
|
|
|
|
|
|
INT32 EnterLaptop();
|
|
void ExitLaptop();
|
|
void RenderLaptop();
|
|
UINT32 ExitLaptopMode(UINT32 uiMode);
|
|
void EnterNewLaptopMode();
|
|
UINT32 DrawLapTopIcons();
|
|
UINT32 DrawLapTopText();
|
|
void ReDrawHighLight();
|
|
void DrawButtonText();
|
|
void InitBookMarkList();
|
|
void SetBookMark(INT32 iBookId);
|
|
void RemoveBookmark(INT32 iBookId);
|
|
BOOLEAN IsBookMarkSet( INT32 iBookId );
|
|
BOOLEAN LeaveLapTopScreen( );
|
|
void SetLaptopExitScreen( UINT32 uiExitScreen );
|
|
void SetLaptopNewGameFlag( );
|
|
UINT32 DrawLapTopIcons( );
|
|
void LapTopScreenCallBack(MOUSE_REGION * pRegion, INT32 iReason );
|
|
void HandleRightButtonUpEvent( void );
|
|
|
|
BOOLEAN DoLapTopMessageBox( UINT8 ubStyle, const STR16 zString, UINT32 uiExitScreen, UINT8 ubFlags, MSGBOX_CALLBACK ReturnCallback );
|
|
void GoToWebPage(INT32 iPageId);
|
|
BOOLEAN WebPageTileBackground(UINT8 ubNumX, UINT8 ubNumY, UINT16 usWidth, UINT16 usHeight, UINT32 uiBackGround);
|
|
void BlitTitleBarIcons( void );
|
|
void HandleKeyBoardShortCutsForLapTop( UINT16 usEvent, UINT32 usParam, UINT16 usKeyState );
|
|
BOOLEAN RenderWWWProgramTitleBar( void );
|
|
void DisplayProgramBoundingBox( BOOLEAN fMarkButtons );
|
|
BOOLEAN DoLapTopSystemMessageBox( UINT8 ubStyle, STR16 zString, UINT32 uiExitScreen, UINT32 usFlags, MSGBOX_CALLBACK ReturnCallback );
|
|
BOOLEAN RemoveBookMark( INT32 iBookId );
|
|
void CreateFileAndNewEmailIconFastHelpText( UINT32 uiHelpTextID, BOOLEAN fClearHelpText );
|
|
BOOLEAN InitLaptopAndLaptopScreens();
|
|
void HandleLapTopESCKey( void );
|
|
|
|
// clear out all tempf iles from laptop
|
|
void ClearOutTempLaptopFiles( void );
|
|
|
|
void HaventMadeImpMercEmailCallBack();
|
|
|
|
extern INT32 guiCurrentGunFilterMode;
|
|
extern INT32 guiPrevGunFilterMode;
|
|
|
|
extern INT32 guiCurrentAmmoFilterMode;
|
|
extern INT32 guiPrevAmmoFilterMode;
|
|
|
|
extern INT32 guiCurrentUsedFilterMode;
|
|
extern INT32 guiPrevUsedFilterMode;
|
|
|
|
extern INT32 guiCurrentArmourFilterMode;
|
|
extern INT32 guiPrevArmourFilterMode;
|
|
|
|
extern INT32 guiCurrentMiscFilterMode;
|
|
extern INT32 guiPrevMiscFilterMode;
|
|
extern INT32 guiCurrentMiscSubFilterMode;
|
|
extern INT32 guiPrevMiscSubFilterMode;
|
|
|
|
extern BOOLEAN gbMessageDisplayed;
|
|
|
|
extern UINT32 guiCurrentLaptopMode;
|
|
extern UINT32 guiPreviousLaptopMode;
|
|
extern INT32 giCurrentSubPage;
|
|
extern UINT32 guiCurrentLapTopCursor;
|
|
extern UINT32 guiPreviousLapTopCursor;
|
|
extern BOOLEAN fMarkButtonsDirtyFlag;
|
|
extern BOOLEAN fNotVistedImpYet;
|
|
extern BOOLEAN fReDrawScreenFlag;
|
|
extern BOOLEAN fPausedReDrawScreenFlag;
|
|
extern BOOLEAN fIntermediateReDrawFlag;
|
|
extern BOOLEAN fLoadPendingFlag;
|
|
extern BOOLEAN fEscKeyHandled;
|
|
extern BOOLEAN fReDrawPostButtonRender;
|
|
extern BOOLEAN fCurrentlyInLaptop;
|
|
//extern BOOLEAN gfNewGameLaptop;
|
|
extern UINT32 guiLaptopBACKGROUND;
|
|
extern UINT32 guiTITLEBARICONS;
|
|
extern BOOLEAN fDoneLoadPending;
|
|
extern BOOLEAN fReConnectingFlag;
|
|
extern BOOLEAN fConnectingToSubPage;
|
|
extern BOOLEAN fFastLoadFlag;
|
|
extern BOOLEAN gfShowBookmarks;
|
|
extern BOOLEAN fShowBookmarkInfo;
|
|
extern BOOLEAN fReDrawBookMarkInfo;
|
|
|
|
|
|
enum
|
|
{
|
|
LAPTOP_MODE_NONE = 0,
|
|
LAPTOP_MODE_FINANCES,
|
|
LAPTOP_MODE_PERSONNEL,
|
|
LAPTOP_MODE_HISTORY,
|
|
LAPTOP_MODE_FILES,
|
|
LAPTOP_MODE_FILES_ENRICO,
|
|
LAPTOP_MODE_FILES_PLANS,
|
|
LAPTOP_MODE_EMAIL,
|
|
LAPTOP_MODE_EMAIL_NEW,
|
|
LAPTOP_MODE_EMAIL_VIEW,
|
|
LAPTOP_MODE_WWW,
|
|
LAPTOP_MODE_AIM,
|
|
LAPTOP_MODE_AIM_MEMBERS,
|
|
LAPTOP_MODE_AIM_MEMBERS_FACIAL_INDEX,
|
|
LAPTOP_MODE_AIM_MEMBERS_SORTED_FILES,
|
|
LAPTOP_MODE_AIM_MEMBERS_SORTED_FILES_VIDEO,
|
|
LAPTOP_MODE_AIM_MEMBERS_ARCHIVES,
|
|
LAPTOP_MODE_AIM_POLICIES,
|
|
LAPTOP_MODE_AIM_HISTORY,
|
|
LAPTOP_MODE_AIM_LINKS,
|
|
LAPTOP_MODE_MERC,
|
|
LAPTOP_MODE_MERC_ACCOUNT,
|
|
LAPTOP_MODE_MERC_NO_ACCOUNT,
|
|
LAPTOP_MODE_MERC_FILES,
|
|
LAPTOP_MODE_BOBBY_R,
|
|
LAPTOP_MODE_BOBBY_R_GUNS,
|
|
LAPTOP_MODE_BOBBY_R_AMMO,
|
|
LAPTOP_MODE_BOBBY_R_ARMOR,
|
|
LAPTOP_MODE_BOBBY_R_MISC,
|
|
LAPTOP_MODE_BOBBY_R_USED,
|
|
LAPTOP_MODE_BOBBY_R_MAILORDER,
|
|
LAPTOP_MODE_CHAR_PROFILE,
|
|
LAPTOP_MODE_CHAR_PROFILE_QUESTIONAIRE,
|
|
LAPTOP_MODE_FLORIST,
|
|
LAPTOP_MODE_FLORIST_FLOWER_GALLERY,
|
|
LAPTOP_MODE_FLORIST_ORDERFORM,
|
|
LAPTOP_MODE_FLORIST_CARD_GALLERY,
|
|
LAPTOP_MODE_INSURANCE,
|
|
LAPTOP_MODE_INSURANCE_INFO,
|
|
LAPTOP_MODE_INSURANCE_CONTRACT,
|
|
LAPTOP_MODE_INSURANCE_COMMENTS,
|
|
LAPTOP_MODE_FUNERAL,
|
|
LAPTOP_MODE_SIRTECH,
|
|
LAPTOP_MODE_BROKEN_LINK,
|
|
|
|
// Flugente: Campaign History
|
|
LAPTOP_MODE_CAMPAIGNHISTORY_SUMMARY,
|
|
LAPTOP_MODE_CAMPAIGNHISTORY_MOSTIMPORTANT,
|
|
LAPTOP_MODE_CAMPAIGNHISTORY_LATESTNEWS,
|
|
LAPTOP_MODE_CAMPAIGNHISTORY_ABOUTTUS,
|
|
|
|
// Flugente: MercCompare
|
|
LAPTOP_MODE_MERCCOMPARE_MAIN,
|
|
LAPTOP_MODE_MERCCOMPARE_MATRIX,
|
|
LAPTOP_MODE_MERCCOMPARE_ANALYZE,
|
|
LAPTOP_MODE_MERCCOMPARE_CUSTOMERS,
|
|
|
|
// Flugente: World Health Organization
|
|
LAPTOP_MODE_WHO_MAIN,
|
|
LAPTOP_MODE_WHO_CONTRACT,
|
|
LAPTOP_MODE_WHO_TIPS,
|
|
|
|
// Flugente: PMC
|
|
LAPTOP_MODE_PMC_MAIN,
|
|
LAPTOP_MODE_PMC_CONTRACT_MILITIA,
|
|
LAPTOP_MODE_PMC_CONTRACT_INDIVIDUAL,
|
|
|
|
// Flugente: militia roster
|
|
LAPTOP_MODE_MILITIAROSTER_MAIN,
|
|
|
|
// Flugente: intel websites
|
|
LAPTOP_MODE_INTELMARKET_BUYINFO,
|
|
LAPTOP_MODE_INTELMARKET_SELLINFO,
|
|
LAPTOP_MODE_INTELMARKET_ABOUT,
|
|
|
|
// Flugente: facility production
|
|
LAPTOP_MODE_FACILITY_PRODUCTION,
|
|
|
|
LAPTOP_MODE_BOBBYR_SHIPMENTS,
|
|
|
|
//ENCYCLOPEDIA
|
|
LAPTOP_MODE_ENCYCLOPEDIA,//main page
|
|
LAPTOP_MODE_ENCYCLOPEDIA_DATA,//subpage for locations, items, profiles or quests
|
|
|
|
//BRIEFING ROOM
|
|
LAPTOP_MODE_BRIEFING_ROOM_PAGE,
|
|
LAPTOP_MODE_BRIEFING_ROOM,
|
|
LAPTOP_MODE_BRIEFING_ROOM_ENTER,
|
|
|
|
LAPTOP_MODE_AIM_MEMBERS_ARCHIVES_NEW,
|
|
|
|
LAPTOP_MODE_MAX,
|
|
};
|
|
|
|
// bookamrks for WWW bookmark list
|
|
|
|
|
|
enum{
|
|
FIRST_SIDE_PANEL=1,
|
|
SECOND_SIDE_PANEL,
|
|
};
|
|
enum{
|
|
LAPTOP_NO_CURSOR=0,
|
|
LAPTOP_PANEL_CURSOR,
|
|
LAPTOP_SCREEN_CURSOR,
|
|
LAPTOP_WWW_CURSOR,
|
|
};
|
|
|
|
//#define LAPTOP_SIDE_PANEL_X 0
|
|
//#define LAPTOP_SIDE_PANEL_Y 0
|
|
//#define LAPTOP_SIDE_PANEL_WIDTH 640
|
|
//#define LAPTOP_SIDE_PANEL_HEIGHT 480
|
|
#define LAPTOP_X iScreenWidthOffset
|
|
#define LAPTOP_Y iScreenHeightOffset
|
|
|
|
//Moa: added brackets around definitions below to make them work. Especialy LAPTOP_SCREEN_HEIGHT and all its references resulted in wrong regions for invalidating screen which in return forced to redraw the screen emidiatly after render as invalidate did not work. Removed those redraw flags from all render functions I found (f.i.RenderBobbyRUsed()), but most likely missed some of them.
|
|
#define LAPTOP_SCREEN_UL_X (iScreenWidthOffset + 111)
|
|
#define LAPTOP_SCREEN_UL_Y (iScreenHeightOffset + 27)
|
|
|
|
|
|
#define LAPTOP_SCREEN_LR_X (iScreenWidthOffset + 613)
|
|
#define LAPTOP_SCREEN_LR_Y (iScreenHeightOffset + 427)
|
|
#define LAPTOP_UL_X (iScreenWidthOffset + 24)
|
|
#define LAPTOP_UL_Y (iScreenHeightOffset + 27)
|
|
|
|
#define LAPTOP_SCREEN_WIDTH (LAPTOP_SCREEN_LR_X - LAPTOP_SCREEN_UL_X)
|
|
#define LAPTOP_SCREEN_HEIGHT (LAPTOP_SCREEN_LR_Y - LAPTOP_SCREEN_UL_Y)
|
|
|
|
// new positions for web browser
|
|
#define LAPTOP_SCREEN_WEB_UL_Y (LAPTOP_SCREEN_UL_Y + 19)
|
|
#define LAPTOP_SCREEN_WEB_LR_Y (LAPTOP_SCREEN_WEB_UL_Y + LAPTOP_SCREEN_HEIGHT)
|
|
#define LAPTOP_SCREEN_WEB_DELTA_Y 19 //LAPTOP_SCREEN_WEB_UL_Y - LAPTOP_SCREEN_UL_Y
|
|
#define LAPTOP_TITLE_Y (LAPTOP_SCREEN_WEB_UL_Y + 12)
|
|
#define LAPTOP_TEXT_WIDTH ((LAPTOP_SCREEN_LR_X - LAPTOP_SCREEN_UL_X + 1) + (2 * 111))
|
|
|
|
// the laptop on/off button
|
|
#define ON_X iScreenWidthOffset + 113
|
|
#define ON_Y iScreenHeightOffset + 445
|
|
|
|
|
|
// the bookmark values, move cancel down as bookmarks added
|
|
|
|
enum{
|
|
AIM_BOOKMARK=0,
|
|
BOBBYR_BOOKMARK,
|
|
IMP_BOOKMARK,
|
|
MERC_BOOKMARK,
|
|
FUNERAL_BOOKMARK,
|
|
FLORIST_BOOKMARK,
|
|
INSURANCE_BOOKMARK,
|
|
CANCEL_STRING,
|
|
ENCYCLOPEDIA_BOOKMARK, //Encyclopedia
|
|
BRIEFING_ROOM_BOOKMARK,
|
|
CAMPAIGNHISTORY_BOOKMARK, // added by Flugente
|
|
MERCCOMPARE_BOOKMARK, // added by Flugente
|
|
WHO_BOOKMARK, // added by Flugente
|
|
PMC_BOOKMARK, // added by Flugente
|
|
MILITIAROSTER_BOOKMARK, // added by Flugente
|
|
INTELMARKET_BOOKMARK, // added by Flugente
|
|
PRODUCTION_BOOKMARK, // added by Flugente
|
|
TEXT_NUM_LAPTOP_BOOKMARKS
|
|
};
|
|
|
|
|
|
extern UINT32 guiLaptopBACKGROUND;
|
|
|
|
|
|
#define DEAD_MERC_COLOR_RED 255
|
|
#define DEAD_MERC_COLOR_GREEN 55
|
|
#define DEAD_MERC_COLOR_BLUE 55
|
|
|
|
#ifdef JA2UB
|
|
//ja25 UB
|
|
void ShouldImpReminderEmailBeSentWhenLaptopBackOnline();
|
|
|
|
extern BOOLEAN gfProcessCustomMaps;
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|