mirror of
https://github.com/1dot13/source.git
synced 2026-08-12 14:10:23 +02:00
Move main executable source to its own directory (#248)
* Move main executable files to their own directory * Adapt the build to the new file structure ... and fix some weird #include's that were relying on the project root being an include directory.
This commit is contained in:
@@ -0,0 +1,155 @@
|
||||
#ifndef _MSGBOX_H
|
||||
#define _MSGBOX_H
|
||||
|
||||
#include "mousesystem.h"
|
||||
|
||||
// Message box flags
|
||||
#define MSG_BOX_FLAG_USE_CENTERING_RECT 0x00000001 // Pass in a rect to center in
|
||||
#define MSG_BOX_FLAG_OK 0x00000002 // Displays OK button
|
||||
#define MSG_BOX_FLAG_YESNO 0x00000004 // Displays YES NO buttons
|
||||
#define MSG_BOX_FLAG_CANCEL 0x00000008 // Displays YES NO buttons
|
||||
#define MSG_BOX_FLAG_FOUR_NUMBERED_BUTTONS 0x00000010 // Displays four numbered buttons, 1-4
|
||||
#define MSG_BOX_FLAG_YESNOCONTRACT 0x00000020 // yes no and contract buttons
|
||||
#define MSG_BOX_FLAG_OKCONTRACT 0x00000040 // ok and contract buttons
|
||||
#define MSG_BOX_FLAG_YESNOLIE 0x00000080 // ok and contract buttons
|
||||
#define MSG_BOX_FLAG_CONTINUESTOP 0x00000100 // continue stop box
|
||||
#define MSG_BOX_FLAG_OKSKIP 0x00000200 // Displays ok or skip (meanwhile) buttons
|
||||
#define MSG_BOX_FLAG_GENERICCONTRACT 0x00000400 // displays contract buttoin + 2 user-defined text buttons
|
||||
#define MSG_BOX_FLAG_GENERIC_TWO_BUTTONS 0x00000800 // 2 user-defined text buttons
|
||||
// OJW - Adding text chatbox
|
||||
#define MSG_BOX_FLAG_INPUTBOX 0x00001000 // has a text input field
|
||||
// Flugente - added boxes with multiple buttons that can be renamed easily
|
||||
#define MSG_BOX_FLAG_GENERIC_FOUR_BUTTONS 0x00002000 // Displays four numbered buttons with definable labels
|
||||
#define MSG_BOX_FLAG_GENERIC_EIGHT_BUTTONS 0x00004000 // Displays eight numbered buttons with definable labels
|
||||
#define MSG_BOX_FLAG_GENERIC_SIXTEEN_BUTTONS 0x00008000 // Displays sixteen numbered buttons with definable labels
|
||||
|
||||
#define MSG_BOX_FLAG_DROPDOWN_1 0x00010000 // Displays an additional dropdown box
|
||||
#define MSG_BOX_FLAG_DROPDOWN_2 0x00020000 // Displays another additional dropdown box
|
||||
#define MSG_BOX_FLAG_IMAGE 0x00040000 // Displays an image
|
||||
#define MSG_BOX_BUTTONS_HORIZONTAL_ORIENTATION 0x00080000 // MSG_BOX_FLAG_GENERIC_FOUR_BUTTONS sets the buttons horizontally
|
||||
|
||||
// rftr - bigger msg box
|
||||
#define MSG_BOX_FLAG_BIGGER 0x00100000 // Bigger msg box
|
||||
#define MSG_BOX_FLAG_WIDE_BUTTONS 0x00200000 // Wide buttons
|
||||
|
||||
// message box return codes
|
||||
#define MSG_BOX_RETURN_OK 1 // ENTER or on OK button
|
||||
#define MSG_BOX_RETURN_YES 2 // ENTER or YES button
|
||||
#define MSG_BOX_RETURN_NO 3 // ESC, Right Click or NO button
|
||||
#define MSG_BOX_RETURN_CONTRACT 4 // contract button
|
||||
#define MSG_BOX_RETURN_LIE 5 // LIE BUTTON
|
||||
|
||||
// message box style flags
|
||||
enum
|
||||
{
|
||||
MSG_BOX_BASIC_STYLE = 0, // We'll have other styles, like in laptop, etc
|
||||
// Graphics are all that are required here...
|
||||
MSG_BOX_RED_ON_WHITE,
|
||||
MSG_BOX_BLUE_ON_GREY,
|
||||
MSG_BOX_BASIC_SMALL_BUTTONS,
|
||||
MSG_BOX_IMP_STYLE,
|
||||
MSG_BOX_LAPTOP_DEFAULT,
|
||||
MSG_BOX_BASIC_MEDIUM_BUTTONS,
|
||||
MSG_BOX_MINIEVENT_STYLE,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
MSG_BOX_DEFAULT_BUTTON_NONE = 0,
|
||||
|
||||
MSG_BOX_DEFAULT_BUTTON_1,
|
||||
MSG_BOX_DEFAULT_BUTTON_2,
|
||||
MSG_BOX_DEFAULT_BUTTON_3,
|
||||
MSG_BOX_DEFAULT_BUTTON_4,
|
||||
MSG_BOX_DEFAULT_BUTTON_5,
|
||||
MSG_BOX_DEFAULT_BUTTON_6,
|
||||
MSG_BOX_DEFAULT_BUTTON_7,
|
||||
MSG_BOX_DEFAULT_BUTTON_8,
|
||||
MSG_BOX_DEFAULT_BUTTON_9,
|
||||
MSG_BOX_DEFAULT_BUTTON_10,
|
||||
MSG_BOX_DEFAULT_BUTTON_11,
|
||||
MSG_BOX_DEFAULT_BUTTON_12,
|
||||
MSG_BOX_DEFAULT_BUTTON_13,
|
||||
MSG_BOX_DEFAULT_BUTTON_14,
|
||||
MSG_BOX_DEFAULT_BUTTON_15,
|
||||
MSG_BOX_DEFAULT_BUTTON_16,
|
||||
};
|
||||
|
||||
typedef void (*MSGBOX_CALLBACK)( UINT8 bExitValue );
|
||||
|
||||
// Flugente: made an array for user-defined buttons
|
||||
#define NUM_CUSTOM_BUTTONS 16
|
||||
|
||||
extern CHAR16 gzUserDefinedButton[ NUM_CUSTOM_BUTTONS ][ 128 ];
|
||||
// sevenfm: color for buttons
|
||||
extern UINT16 gzUserDefinedButtonColor[ NUM_CUSTOM_BUTTONS ];
|
||||
|
||||
typedef struct
|
||||
{
|
||||
UINT32 usFlags;
|
||||
UINT32 uiExitScreen;
|
||||
MSGBOX_CALLBACK ExitCallback;
|
||||
INT16 sX;
|
||||
INT16 sY;
|
||||
UINT32 uiSaveBuffer;
|
||||
MOUSE_REGION BackRegion;
|
||||
UINT16 usWidth;
|
||||
UINT16 usHeight;
|
||||
INT32 iButtonImages;
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
UINT32 uiOKButton;
|
||||
UINT32 uiYESButton;
|
||||
UINT32 uiNOButton;
|
||||
UINT32 uiUnusedButton;
|
||||
};
|
||||
struct
|
||||
{
|
||||
UINT32 uiButton[16];
|
||||
};
|
||||
};
|
||||
BOOLEAN fRenderBox;
|
||||
INT8 bHandled;
|
||||
INT32 iBoxId;
|
||||
|
||||
BOOLEAN fWasPaused;
|
||||
} MESSAGE_BOX_STRUCT;
|
||||
|
||||
|
||||
|
||||
|
||||
extern MESSAGE_BOX_STRUCT gMsgBox;
|
||||
extern BOOLEAN fRestoreBackgroundForMessageBox;
|
||||
|
||||
//this variable can be unset if ur in a non gamescreen and DONT want the msg box to use the save buffer
|
||||
extern BOOLEAN gfDontOverRideSaveBuffer;
|
||||
|
||||
//OJW - 20090208
|
||||
extern CHAR16 gszMsgBoxInputString[255];
|
||||
////////////////////////////////
|
||||
// ubStyle: Determines the look of graphics including buttons
|
||||
// zString: 16-bit string
|
||||
// uiExitScreen The screen to exit to
|
||||
// ubFlags Some flags for button style
|
||||
// ReturnCallback Callback for return. Can be NULL. Returns any above return value
|
||||
// pCenteringRect Rect to send if MSG_BOX_FLAG_USE_CENTERING_RECT set. Can be NULL
|
||||
////////////////////////////////
|
||||
|
||||
INT32 DoMessageBox( UINT8 ubStyle, const STR16 zString, UINT32 uiExitScreen, UINT32 usFlags, MSGBOX_CALLBACK ReturnCallback, SGPRect *pCenteringRect, UINT8 ubDefaultButton = MSG_BOX_DEFAULT_BUTTON_NONE );
|
||||
void DoScreenIndependantMessageBoxFullScreen( const STR16 zString, UINT32 usFlags, MSGBOX_CALLBACK ReturnCallback );
|
||||
void DoScreenIndependantMessageBox( const STR16 zString, UINT32 usFlags, MSGBOX_CALLBACK ReturnCallback );
|
||||
void DoUpperScreenIndependantMessageBox( const STR16 zString, UINT32 usFlags, MSGBOX_CALLBACK ReturnCallback );
|
||||
|
||||
void DoLowerScreenIndependantMessageBox( const STR16 zString, UINT32 usFlags, MSGBOX_CALLBACK ReturnCallback );
|
||||
void DoScreenIndependantMessageBoxWithRect( const STR16 zString, UINT32 usFlags, MSGBOX_CALLBACK ReturnCallback, SGPRect *pCenteringRect );
|
||||
|
||||
//wrappers for other screens
|
||||
BOOLEAN DoLapTopSystemMessageBoxWithRect( UINT8 ubStyle, const STR16 zString, UINT32 uiExitScreen, UINT32 usFlags, MSGBOX_CALLBACK ReturnCallback, SGPRect *pCenteringRect );
|
||||
INT32 DoMapMessageBoxWithRect( UINT8 ubStyle, const STR16 zString, UINT32 uiExitScreen, UINT32 usFlags, MSGBOX_CALLBACK ReturnCallback, SGPRect *pCenteringRect );
|
||||
BOOLEAN DoOptionsMessageBoxWithRect( UINT8 ubStyle, const STR16 zString, UINT32 uiExitScreen, UINT32 usFlags, MSGBOX_CALLBACK ReturnCallback, SGPRect *pCenteringRect );
|
||||
BOOLEAN DoSaveLoadMessageBoxWithRect( UINT8 ubStyle, const STR16 zString, UINT32 uiExitScreen, UINT32 usFlags, MSGBOX_CALLBACK ReturnCallback, SGPRect *pCenteringRect );
|
||||
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user