Files
source/Ja2/Options Screen.h
majcostaandGitHub ae55496e39 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.
2023-10-23 15:46:51 -03:00

132 lines
4.6 KiB
C

#ifndef _OPTIONS_SCREEN__H_
#define _OPTIONS_SCREEN__H_
#include "MessageBoxScreen.h"
/////////////////////////////////
//
// Defines
//
/////////////////////////////////
#define OPT_MAIN_FONT FONT10ARIAL
#define OPT_SLIDER_FONT FONT12ARIAL
#define OPT_MAIN_COLOR OPT_BUTTON_ON_COLOR
#define OPT_HIGHLIGHT_COLOR FONT_MCOLOR_WHITE
// these both could be established at run time, then never worry about it again
// derived from "OPTIONSCREENBASE.sti"
#define OPTIONS_SCREEN_WIDTH 638
#define OPTIONS_SCREEN_HEIGHT 478
#define OPTIONS__TOP_LEFT_X iScreenWidthOffset
#define OPTIONS__TOP_LEFT_Y iScreenHeightOffset
#define OPTIONS__BOTTOM_RIGHT_X OPTIONS__TOP_LEFT_X + OPTIONS_SCREEN_WIDTH
#define OPTIONS__BOTTOM_RIGHT_Y OPTIONS__TOP_LEFT_Y + OPTIONS_SCREEN_HEIGHT
#define OPT_SAVE_BTN_X iScreenWidthOffset + 20
#define OPT_SAVE_BTN_Y iScreenHeightOffset + 443
#define OPT_LOAD_BTN_X OPT_SAVE_BTN_X + 70
#define OPT_LOAD_BTN_Y OPT_SAVE_BTN_Y
#define OPT_QUIT_BTN_X OPT_LOAD_BTN_X + 70
#define OPT_QUIT_BTN_Y OPT_SAVE_BTN_Y
#define OPT_SWAP_BTN_X OPT_QUIT_BTN_X + 70
#define OPT_SWAP_BTN_Y OPT_SAVE_BTN_Y
// ary-05/05/2009 : need more option screen toggles : Add in buttons that allow for options column paging
#define OPT_PREV_BTN_X OPT_SWAP_BTN_X + 100
#define OPT_PREV_BTN_Y OPT_SAVE_BTN_Y
#define OPT_PAGE_X OPT_PREV_BTN_X + 54
#define OPT_PAGE_Y OPT_SAVE_BTN_Y + 7
#define OPT_NEXT_BTN_X OPT_PREV_BTN_X + 110
#define OPT_NEXT_BTN_Y OPT_SAVE_BTN_Y
#define OPT_DONE_BTN_X OPT_NEXT_BTN_X + 110
#define OPT_DONE_BTN_Y OPT_SAVE_BTN_Y
#define OPT_GAP_BETWEEN_TOGGLE_BOXES 18
//Text
#define OPT_TOGGLE_BOX_FIRST_COL_TEXT_X OPT_TOGGLE_BOX_FIRST_COLUMN_X + OPT_SPACE_BETWEEN_TEXT_AND_TOGGLE_BOX
#define OPT_TOGGLE_BOX_FIRST_COL_TEXT_Y OPT_TOGGLE_BOX_FIRST_COLUMN_START_Y
#define OPT_TOGGLE_BOX_SECOND_TEXT_X OPT_TOGGLE_BOX_SECOND_COLUMN_X + OPT_SPACE_BETWEEN_TEXT_AND_TOGGLE_BOX
#define OPT_TOGGLE_BOX_SECOND_TEXT_Y OPT_TOGGLE_BOX_SECOND_COLUMN_START_Y
//toggle boxes
#define OPT_SPACE_BETWEEN_TEXT_AND_TOGGLE_BOX 30
#define OPT_TOGGLE_TEXT_OFFSET_Y 2
#define OPT_TOGGLE_BOX_FIRST_COLUMN_X iScreenWidthOffset + 260
#define OPT_TOGGLE_BOX_FIRST_COLUMN_START_Y iScreenHeightOffset + 82
#define OPT_TOGGLE_BOX_SECOND_COLUMN_X iScreenWidthOffset + 435
#define OPT_TOGGLE_BOX_SECOND_COLUMN_START_Y OPT_TOGGLE_BOX_FIRST_COLUMN_START_Y
#define OPT_TOGGLE_BOX_TEXT_WIDTH OPT_TOGGLE_BOX_SECOND_COLUMN_X - OPT_TOGGLE_BOX_FIRST_COLUMN_X - 20
// Slider bar defines
#define OPT_GAP_BETWEEN_SLIDER_BARS 60
#define OPT_SLIDER_BAR_SIZE 258
#define OPT_SLIDER_TEXT_WIDTH 45
#define OPT_SOUND_FX_TEXT_X iScreenWidthOffset + 38
#define OPT_SOUND_FX_TEXT_Y iScreenHeightOffset + 87
#define OPT_SPEECH_TEXT_X iScreenWidthOffset + 85
#define OPT_SPEECH_TEXT_Y OPT_SOUND_FX_TEXT_Y
#define OPT_MUSIC_TEXT_X iScreenWidthOffset + 137
#define OPT_MUSIC_TEXT_Y OPT_SOUND_FX_TEXT_Y
#define OPT_TEXT_TO_SLIDER_OFFSET_Y 25
#define OPT_SOUND_EFFECTS_SLIDER_X iScreenWidthOffset + 56
#define OPT_SOUND_EFFECTS_SLIDER_Y iScreenHeightOffset + 126
#define OPT_SPEECH_SLIDER_X iScreenWidthOffset + 107
#define OPT_SPEECH_SLIDER_Y OPT_SOUND_EFFECTS_SLIDER_Y
#define OPT_MUSIC_SLIDER_X iScreenWidthOffset + 158
#define OPT_MUSIC_SLIDER_Y OPT_SOUND_EFFECTS_SLIDER_Y
#define OPT_MUSIC_SLIDER_PLAY_SOUND_DELAY 75
#define OPT_FIRST_COLUMN_TOGGLE_CUT_OFF 18
#define MAX_NUMBER_OF_OPTION_TOGGLES (OPT_FIRST_COLUMN_TOGGLE_CUT_OFF * 2)
#define OPT_BUTTON_FONT FONT14ARIAL
#define OPT_BUTTON_FONT2 FONT10ARIAL //smaller button on options screen
#define OPT_BUTTON_ON_COLOR 73//FONT_MCOLOR_WHITE
#define OPT_BUTTON_OFF_COLOR 73//FONT_MCOLOR_WHITE
//Record the previous screen the user was in.
extern UINT32 guiPreviousOptionScreen;
UINT32 OptionsScreenShutdown( void );
UINT32 OptionsScreenHandle( void );
UINT32 OptionsScreenInit( void );
void SetOptionsScreenToggleBoxes();
void GetOptionsScreenToggleBoxes();
// OJW - moved this here so can exit options screen on client disconnect
void SetOptionsExitScreen( UINT32 uiExitScreen );
void SetOptionsPreviousScreen( UINT32 uiPrevScreen, BOOLEAN setFeaturesToo = TRUE );
BOOLEAN DoOptionsMessageBox( UINT8 ubStyle, STR16 zString, UINT32 uiExitScreen, UINT16 usFlags, MSGBOX_CALLBACK ReturnCallback );
#endif