363 lines
9.9 KiB
XML
Executable File
363 lines
9.9 KiB
XML
Executable File
//////////////////////////////////////////////////////////////////////////////////////////
|
|
// //
|
|
// SCRIPT NAME : menu_globals.sch //
|
|
// AUTHOR : Kenneth Ross //
|
|
// DESCRIPTION : Globals used to store menu data. //
|
|
// //
|
|
//////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
CONST_INT MAX_MENU_ROWS 128 //This cannot go any higher
|
|
CONST_INT MAX_MENU_COLUMNS 5
|
|
|
|
CONST_INT MAX_STORED_MENU_TEXT_LABELS (MAX_MENU_ROWS * 2) // Allow 2 text labels per row for now.
|
|
CONST_INT MAX_STORED_MENU_INTS (MAX_MENU_ROWS * 2)
|
|
CONST_INT MAX_STORED_MENU_FLOATS (MAX_MENU_ROWS * 1)
|
|
CONST_INT MAX_STORED_MENU_ICONS (MAX_MENU_ROWS * 2)
|
|
CONST_INT MAX_STORED_MENU_PLAYER_NAMES 40
|
|
CONST_INT MAX_STORED_DESC_INTS 3
|
|
CONST_INT MAX_STORED_DESC_FLOATS 3
|
|
CONST_INT MAX_STORED_DESC_STRINGS 3
|
|
CONST_INT MAX_STORED_DESC_PLAYER_NAMES 2
|
|
CONST_INT MAX_STORED_TEXT_COMPS 4
|
|
CONST_INT MAX_STORED_HELP_KEYS 12
|
|
CONST_INT MAX_COLOURED_ITEMS 2
|
|
CONST_INT MAX_MENU_IDS 6 //5
|
|
|
|
|
|
///////////////////////////////////////////////////////////
|
|
/// MENU OFFSETS AND SCALES
|
|
/// Pixels based on 1280x720
|
|
/// 1px on x-axis = 0.00078125
|
|
/// 1px on y-axis = 0.00138888
|
|
//CONST_FLOAT CUSTOM_MENU_X 0.05
|
|
FLOAT CUSTOM_MENU_X = 0.05 // Temporarily making this a float so we can change when displaying killstrip in mp.
|
|
FLOAT CUSTOM_MENU_Y = 0.05
|
|
FLOAT CUSTOM_MENU_W = 0.225 // 288px
|
|
|
|
CONST_FLOAT CUSTOM_MENU_PIXEL_WIDTH 0.00078125 // 1px
|
|
CONST_FLOAT CUSTOM_MENU_PIXEL_HEIGHT 0.00138888 // 1px
|
|
|
|
TWEAK_FLOAT CUSTOM_MENU_TEXT_SCALE_Y 0.3500 // 14pt = 14/40
|
|
TWEAK_FLOAT CUSTOM_MENU_CONDENSED_TEXT_SCALE_Y 0.4250 // 17pt = 17/40
|
|
CONST_FLOAT CUSTOM_MENU_TEXT_INDENT_X 0.0046875 // 8px-2px text padding
|
|
CONST_FLOAT CUSTOM_MENU_TEXT_INDENT_Y 0.00277776 // 2px
|
|
|
|
CONST_FLOAT CUSTOM_MENU_TITLE_TEXT_INDENT_X 0.00390625 // 8px-3px text padding
|
|
CONST_FLOAT CUSTOM_MENU_TITLE_TEXT_INDENT_Y 0.00416664 // 3px
|
|
|
|
CONST_FLOAT CUSTOM_MENU_HEADER_H 0.034722 // 25px
|
|
CONST_FLOAT CUSTOM_MENU_FOOTER_H 0.034722 // 25px
|
|
CONST_FLOAT CUSTOM_MENU_WHITE_LINE_H 0.0// 0.00277776 // 2px
|
|
CONST_FLOAT CUSTOM_MENU_ITEM_BAR_H 0.034722 // 25px
|
|
CONST_FLOAT CUSTOM_MENU_MESSAGE_OFFSET_Y 0.00277776 // 2px
|
|
|
|
CONST_FLOAT CUSTOM_MENU_SPACER_H 0.00277776 // 2px
|
|
|
|
TWEAK_INT tiCOMMON_MENU_BG_ALPHA 153//((255/100)*60)
|
|
TWEAK_INT tiCOMMON_MENU_MB_ALPHA 153//((255/100)*60)
|
|
TWEAK_INT tiCOMMON_MENU_H_ALPHA 255//204//((255/100)*80) // [TART UP]
|
|
TWEAK_INT tiCOMMON_MENU_F_ALPHA 204//((255/100)*80)
|
|
|
|
CONST_FLOAT CUSTOM_MENU_SIXTEEN_BY_NINE_ASPECT 1.77777778 // 16/9
|
|
CONST_FLOAT CUSTOM_MENU_TRIPLE_HEAD_THRESHOLD_RATIO 3.5
|
|
|
|
ENUM MENU_ICON_TYPE
|
|
MENU_ICON_DUMMY = 0,
|
|
|
|
// Icons used in shops
|
|
MENU_ICON_STAR,
|
|
MENU_ICON_LEFT_STAR,
|
|
MENU_ICON_CROWN,
|
|
MENU_ICON_TICK,
|
|
MENU_ICON_BOX_TICK,
|
|
MENU_ICON_BOX_CROSS,
|
|
MENU_ICON_BOX_EMPTY,
|
|
MENU_ICON_COLOUR,
|
|
MENU_ICON_TSHIRT,
|
|
MENU_ICON_GUN,
|
|
MENU_ICON_INK,
|
|
MENU_ICON_CAR,
|
|
MENU_ICON_BIKE,
|
|
MENU_ICON_SCISSORS,
|
|
MENU_ICON_LOCK,
|
|
MENU_ICON_LSC,
|
|
MENU_ICON_AMMO,
|
|
MENU_ICON_ARMOUR,
|
|
MENU_ICON_HEALTH,
|
|
MENU_ICON_MAKEUP,
|
|
|
|
MENU_ICON_BLADE,
|
|
MENU_ICON_SYRINGE,
|
|
MENU_ICON_WEED,
|
|
MENU_ICON_METH,
|
|
MENU_ICON_CASH,
|
|
|
|
MENU_ICON_ARROW_L,
|
|
MENU_ICON_ARROW_R,
|
|
|
|
MENU_ICON_ALERT,
|
|
|
|
MENU_ICON_HEADER,
|
|
MENU_ICON_DLC_IMAGE,
|
|
|
|
MENU_ICON_M,
|
|
MENU_ICON_F,
|
|
MENU_ICON_T,
|
|
|
|
MENU_ICON_MISSION,
|
|
MENU_ICON_SURVIVAL,
|
|
MENU_ICON_GANG_ATTACK,
|
|
MENU_ICON_RACE_LAND,
|
|
MENU_ICON_RACE_BIKE,
|
|
MENU_ICON_RACE_WATER,
|
|
MENU_ICON_RACE_AIR,
|
|
MENU_ICON_RACE_FOOT,
|
|
MENU_ICON_BASE_JUMPING,
|
|
MENU_ICON_RACE_OPEN_WHEEL,
|
|
MENU_ICON_DEATHMATCH,
|
|
MENU_ICON_TEAM_DM,
|
|
MENU_ICON_VEH_DM,
|
|
MENU_ICON_CAPTURE,
|
|
MENU_ICON_LTS,
|
|
MENU_ICON_KOTH,
|
|
MENU_ICON_TEAM_KOTH,
|
|
|
|
MENU_ICON_DISCOUNT,
|
|
|
|
MENU_ICON_YACHT,
|
|
|
|
MENU_ICON_RACE_STUNT,
|
|
|
|
MENU_ICON_STAR_FADED,
|
|
|
|
MENU_ICON_BIN_LOCK,
|
|
|
|
MENU_ICON_CLUBS,
|
|
MENU_ICON_HEARTS,
|
|
MENU_ICON_SPADES,
|
|
MENU_ICON_DIAMONDS,
|
|
MENU_ICON_DECORATION,
|
|
MENU_ICON_CHIPS,
|
|
MENU_ICON_DECORATION_FADED,
|
|
|
|
// THIS MUST BE THE LAST ONE
|
|
MAX_ICONS
|
|
|
|
ENDENUM
|
|
CONST_INT CUSTOM_MENU_ICON_COUNT (MAX_ICONS)
|
|
|
|
ENUM MENU_ITEM_TYPE
|
|
MENU_ITEM_DUMMY = 0,
|
|
|
|
MENU_ITEM_TEXT, // 'Some text' //DISPLAY_TEXT(label)
|
|
MENU_ITEM_INT, // '1' //DISPLAY_NUMBER("NUMBER", int)
|
|
MENU_ITEM_FLOAT, // '1.0' //DISPLAY_TEXT_WITH_FLOAT("NUMBER", float)
|
|
MENU_ITEM_ICON, // '@' //DRAW_SPRITE()
|
|
|
|
MENU_ITEM_TAB // ' '
|
|
ENDENUM
|
|
|
|
ENUM MENU_TEXT_COMP_TYPE
|
|
MENU_TEXT_COMP_DUMMY = 0,
|
|
|
|
MENU_TEXT_COMP_TEXT,
|
|
MENU_TEXT_COMP_INT,
|
|
MENU_TEXT_COMP_FLOAT,
|
|
MENU_TEXT_COMP_ICON,
|
|
MENU_TEXT_COMP_PLAYER_NAME,
|
|
MENU_TEXT_COMP_RADIO_STATION,
|
|
MENU_TEXT_COMP_LITERAL,
|
|
MENU_TEXT_COMP_VEHICLE_NAME,
|
|
MENU_TEXT_COMP_CONDENSED_LITERAL
|
|
ENDENUM
|
|
|
|
STRUCT MenuData
|
|
|
|
// Header
|
|
BOOL bUseHeaderGraphic
|
|
|
|
// Title
|
|
TEXT_LABEL_15 tl15Title
|
|
MENU_TEXT_COMP_TYPE eTitleComps[MAX_STORED_TEXT_COMPS]
|
|
INT iTitleInt[MAX_STORED_DESC_INTS]
|
|
FLOAT fTitleFloat[MAX_STORED_DESC_FLOATS]
|
|
INT iTitleFloatDP[MAX_STORED_DESC_FLOATS]
|
|
TEXT_LABEL_23 tl15TitleText[MAX_STORED_DESC_STRINGS]
|
|
TEXT_LABEL_63 tlTitlePlayerName[MAX_STORED_DESC_PLAYER_NAMES]
|
|
INT iTitleTotalParams
|
|
INT iTitleIntParams
|
|
INT iTitleFloatParams
|
|
INT iTitleTextParams
|
|
INT iTitlePlayerNameParams
|
|
|
|
// Main
|
|
TEXT_LABEL_23 tl15Item[MAX_STORED_MENU_TEXT_LABELS]
|
|
#IF IS_DEBUG_BUILD
|
|
TEXT_LABEL_23 realNames[MAX_STORED_MENU_TEXT_LABELS]
|
|
#ENDIF
|
|
BOOL bIsSelectable[MAX_STORED_MENU_TEXT_LABELS]
|
|
BOOL bIsDefault[MAX_STORED_MENU_TEXT_LABELS]
|
|
BOOL bForceCondensedFont[MAX_STORED_MENU_TEXT_LABELS]
|
|
MENU_TEXT_COMP_TYPE eTextItemComps[MAX_STORED_MENU_TEXT_LABELS][MAX_STORED_TEXT_COMPS]
|
|
|
|
TEXT_LABEL_63 tlPlayerNameItem[MAX_STORED_MENU_PLAYER_NAMES]
|
|
INT iItem[MAX_STORED_MENU_INTS]
|
|
FLOAT fItem[MAX_STORED_MENU_FLOATS]
|
|
INT iFloatDP[MAX_STORED_MENU_FLOATS]
|
|
MENU_ICON_TYPE eIconItem[MAX_STORED_MENU_ICONS]
|
|
|
|
// Description
|
|
TEXT_LABEL_23 tl23Desc
|
|
TEXT_LABEL_23 tl23DescExtra
|
|
MENU_TEXT_COMP_TYPE eDescComps[MAX_STORED_TEXT_COMPS]
|
|
INT iDescInt[MAX_STORED_DESC_INTS]
|
|
FLOAT fDescFloat[MAX_STORED_DESC_FLOATS]
|
|
INT iDescFloatDP[MAX_STORED_DESC_FLOATS]
|
|
TEXT_LABEL_63 tl15DescText[MAX_STORED_DESC_STRINGS]
|
|
INT iDescTotalParams
|
|
INT iDescIntParams
|
|
INT iDescFloatParams
|
|
INT iDescTextParams
|
|
INT iDescClearTimer
|
|
INT iDescStartTimer
|
|
MENU_ICON_TYPE eDescIcon
|
|
|
|
// Help
|
|
INT iHelpCount
|
|
BOOL bHelpCreated
|
|
TEXT_LABEL_63 eHelpKey[MAX_STORED_HELP_KEYS]
|
|
TEXT_LABEL_15 tl15HelpText[MAX_STORED_HELP_KEYS]
|
|
INT iHelpTextINT[MAX_STORED_HELP_KEYS]
|
|
CONTROL_ACTION caHelpTextInput[MAX_STORED_HELP_KEYS]
|
|
CONTROL_ACTION_GROUP caHelpTextInputGroup[MAX_STORED_HELP_KEYS]
|
|
INT iHelpKeyIsClickableBits
|
|
FLOAT fHelpKeysX
|
|
FLOAT fHelpKeysY
|
|
BOOL bUseTempKeyCoords
|
|
|
|
// Layout
|
|
MENU_ITEM_TYPE eItemLayout[MAX_MENU_COLUMNS]
|
|
FLOAT fColumnXOffset[MAX_MENU_COLUMNS]
|
|
FLOAT fColumnWidth[MAX_MENU_COLUMNS]
|
|
FLOAT fTitleWidth
|
|
BOOL bItemToggleable[MAX_MENU_COLUMNS]
|
|
FLOAT fHelpKeyClearSpace
|
|
BOOL bStackedKeys
|
|
eTextJustification eJustification[MAX_MENU_COLUMNS]
|
|
|
|
// Setup track
|
|
INT iItemBitset[MAX_MENU_ROWS]
|
|
INT iCurrentRow, iCurrentColumn
|
|
INT iCurrentTextItem
|
|
INT iCurrentPlayerNameItem
|
|
INT iCurrentIntItem
|
|
INT iCurrentFloatItem
|
|
INT iCurrentIconItem
|
|
INT iMenuRows
|
|
INT iMenuColumns
|
|
BOOL bMenuRowDoesntAddToCount[MAX_MENU_ROWS]
|
|
BOOL bMenuRowHasSpacer[MAX_MENU_ROWS]
|
|
BOOL bMenuRowHasDisplayItems[MAX_MENU_ROWS]
|
|
|
|
BOOL bMenuAssetsRequested[MAX_MENU_IDS]
|
|
BOOL bShopDiscountAssetsRequested[MAX_MENU_IDS]
|
|
BOOL bMenuTextRequested[MAX_MENU_IDS]
|
|
TEXT_LABEL_15 tlTextBlockName[MAX_MENU_IDS]
|
|
SCALEFORM_DATA_STRUCT sMenuHelp[MAX_MENU_IDS]
|
|
INT iScriptHash[MAX_MENU_IDS]
|
|
|
|
BOOL bSetupComplete
|
|
BOOL bDisplayRowsDefined
|
|
FLOAT fSetupFinalBodyY
|
|
INT iSetupTotalRows
|
|
INT iSetupTotalDisplayRows
|
|
INT iSetupTotalSelectableRows
|
|
INT iSetupCurrentSelectableItem
|
|
|
|
BOOL bOverrideTitleRowCounts
|
|
INT iTitleRowOverride1
|
|
INT iTitleRowOverride2
|
|
|
|
// Runtime track
|
|
INT iTopItem
|
|
INT iCurrentItem
|
|
INT iLastDisplayItem
|
|
INT iComponentItems
|
|
INT iLastTextItem
|
|
INT iComponentCount
|
|
MENU_ITEM_TYPE eLastAddedItemType
|
|
FLOAT fRowHeight[MAX_MENU_ROWS]
|
|
BOOL bDisplayCurrentItemToggles
|
|
BOOL bDisplayItemCount
|
|
FLOAT fMenuFinalScreenY
|
|
FLOAT fCurrentItemScreenY
|
|
INT iLastDrawTimer
|
|
FLOAT fMenuItemScreenY[MAX_MENU_ROWS]
|
|
INT iCarColourItem[MAX_COLOURED_ITEMS]
|
|
INT iCarColour[MAX_COLOURED_ITEMS]
|
|
BOOL bDefaultOptionAdded
|
|
|
|
INT iRowIsGrayedOutBS[4] // MAX_MENU_ROWS / 32
|
|
|
|
TEXT_LABEL_63 sIconTXDOverride[CUSTOM_MENU_ICON_COUNT]
|
|
TEXT_LABEL_63 sIconTextureOverride[CUSTOM_MENU_ICON_COUNT]
|
|
|
|
|
|
// Cached values to help speed up menu processing
|
|
// - Row data
|
|
INT iDisplayRow[15]
|
|
// - Item data
|
|
INT iStoredTextCount[40]
|
|
INT iStoredIntCount[40]
|
|
INT iStoredFloatCount[40]
|
|
INT iStoredIconCount[40]
|
|
INT iStoredPlayerNameCount[40]
|
|
FLOAT fStoredTempWidth[40]
|
|
FLOAT fStoredTempTextWidth[40]
|
|
FLOAT fStoredTempIconWidth[40]
|
|
|
|
//Keep phone on screen for next menu draw call
|
|
BOOL bKeepPhoneForNextDrawMenuCall
|
|
|
|
INT iHeaderR, iHeaderG, iHeaderB, iHeaderA
|
|
BOOL bUseCustomHeaderColour
|
|
|
|
INT iHeaderTextR, iHeaderTextG, iHeaderTextB, iHeaderTextA
|
|
BOOL bUseCustomHeaderTextColour
|
|
|
|
INT iBodyR, iBodyG, iBodyB, iBodyA
|
|
BOOL bUseCustomBodyColour
|
|
|
|
INT iFooterR, iFooterG, iFooterB, iFooterA
|
|
BOOL bUseCustomFooterColour
|
|
|
|
INT iHelpR, iHelpG, iHelpB, iHelpA
|
|
BOOL bUseCustomHelpColour
|
|
|
|
HUD_COLOURS eSelectionBarColour
|
|
BOOL bUseCustomSelectionBarColour
|
|
|
|
HUD_COLOURS eRowColour[2]
|
|
BOOL bUseCustomRowColour
|
|
INT iCustomRowColour
|
|
|
|
BOOL bUseInvertedScrollColour
|
|
|
|
// Block this menu
|
|
BOOL bDisableMenu
|
|
|
|
// Subitltes moved
|
|
BOOL bSubtitlesMoved
|
|
|
|
// BOOL bForceFooter = False
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
BOOL bDrawDebugSpacers
|
|
FLOAT fSpacerX[4]
|
|
FLOAT fSpacerY[4]
|
|
INT iSpacerScale[4]
|
|
#ENDIF
|
|
|
|
ENDSTRUCT
|
|
MenuData g_sMenuData
|