13647 lines
551 KiB
XML
Executable File
13647 lines
551 KiB
XML
Executable File
|
|
|
|
USING "commands_graphics.sch"
|
|
USING "net_include.sch"
|
|
USING "Screen_placements.sch"
|
|
USING "Cellphone_public.sch"
|
|
USING "fm_in_Corona_header.sch"
|
|
//USING "fm_playlist_header.sch"
|
|
|
|
//USING "Net_Spectator_cam_common.sch"
|
|
//USING "net_spectator_cam.sch"
|
|
|
|
CONST_INT MAX_NUM_CHECKPOINT_SPRITE 4
|
|
CONST_INT MAX_NUM_CHECKPOINT_RECT 1
|
|
CONST_INT MAX_NUM_CHECKPOINT_TEXT 5
|
|
|
|
CONST_INT FIVE_ICON_SCORE_BAR_DELAY_TIME 3000
|
|
|
|
CONST_FLOAT PLAYERNAME_TITLE_OFFSET -0.004
|
|
CONST_FLOAT RIGHT_EDGE_CORONA_OFFSET -0.113
|
|
|
|
CONST_FLOAT TITLE_NON_ROMANIC_OFFSET -0.008
|
|
CONST_FLOAT TITLE_NON_ROMANIC_OFFSET_CHINESE -0.012
|
|
|
|
|
|
|
|
CONST_FLOAT TITLE_NON_ROMANIC_OFFSET_LITTLE -0.003
|
|
CONST_FLOAT TITLE_NON_ROMANIC_OFFSET_LITTLE_CHINESE -0.009
|
|
|
|
CONST_FLOAT TITLE_NON_ROMANIC_OFFSET_LITTLE_DOTS -0.007
|
|
|
|
CONST_INT TIMER_METER_NON_SELECTED_ALPHA 51
|
|
|
|
ENUM UIELEMENTS
|
|
UIELEMENTS_NOTSET = 0,
|
|
UIELEMENTS_BOTTOMRIGHT,
|
|
UIELEMENTS_MIDDLERIGHT
|
|
ENDENUM
|
|
|
|
|
|
CONST_INT NUMBER_SPACES_FOR_HUD_ELEMENTS 12
|
|
|
|
CONST_FLOAT TIMER_OVERLAY_X 0.079
|
|
CONST_FLOAT TIMER_OVERLAY_W 0.157
|
|
|
|
|
|
CONST_FLOAT TIMER_OVERLAY_X_NON_ROMANIC_OFFSET -0.025
|
|
CONST_FLOAT TIMER_OVERLAY_W_NON_ROMANIC_OFFSET 0.050
|
|
|
|
CONST_FLOAT TIMER_OVERLAY_Y_TIME 0.008
|
|
CONST_FLOAT TIMER_OVERLAY_H_TIME 0.036
|
|
|
|
|
|
CONST_FLOAT TIMER_OVERLAY_Y_SCORE 0.008
|
|
CONST_FLOAT TIMER_OVERLAY_H_SCORE 0.036
|
|
|
|
CONST_FLOAT TIMER_OVERLAY_Y_SCORESML 0.01
|
|
CONST_FLOAT TIMER_OVERLAY_H_SCORESML 0.033
|
|
|
|
CONST_FLOAT TIMER_OVERLAY_Y_BIGNUM 0.002 //-0.003+0.005
|
|
CONST_FLOAT TIMER_OVERLAY_H_BIGNUM 0.049 //0.056-0.007
|
|
|
|
CONST_FLOAT TIMER_OVERLAY_Y_BIGNUMSML 0.009
|
|
CONST_FLOAT TIMER_OVERLAY_H_BIGNUMSML 0.035
|
|
|
|
CONST_FLOAT TIMER_OVERLAY_Y_BIGNUMPLACE 0.002 //-0.003+0.005
|
|
CONST_FLOAT TIMER_OVERLAY_H_BIGNUMPLACE 0.048 //0.058
|
|
|
|
|
|
CONST_FLOAT TIMER_OVERLAY_Y_SINGLEBIGNUM 0.002 //-0.002
|
|
CONST_FLOAT TIMER_OVERLAY_H_SINGLEBIGNUM 0.049 //0.057
|
|
CONST_FLOAT TIMER_OVERLAY_Y_SPRITES 0.012
|
|
CONST_FLOAT TIMER_OVERLAY_H_SPRITES 0.028
|
|
|
|
CONST_FLOAT TIMER_OVERLAY_Y_BIGMETER 0.008
|
|
CONST_FLOAT TIMER_OVERLAY_H_BIGMETER 0.036
|
|
|
|
CONST_FLOAT TIMER_OVERLAY_Y_SPRITEMETER 0.008
|
|
CONST_FLOAT TIMER_OVERLAY_H_SPRITEMETER 0.036
|
|
|
|
CONST_FLOAT TIMER_OVERLAY_Y_BIGTIME 0.002
|
|
CONST_FLOAT TIMER_OVERLAY_H_BIGTIME 0.048
|
|
|
|
CONST_FLOAT CHECKPOINT_DOT_SPACING -0.0094
|
|
CONST_FLOAT CHECKPOINT_DOT_W 0.012
|
|
CONST_FLOAT CHECKPOINT_DOT_H 0.023
|
|
|
|
CONST_INT TIMER_OVERLAY_ALPHA HUD_COLOUR_INGAME_BG
|
|
|
|
CONST_INT CHECKPOINT_TIMER_SWITCH 9
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
////////////////// PUBLIC FUNCTIONS /////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
FUNC BOOL IS_RANKUP_RUNNING_BAR_AND_DISPLAY()
|
|
RETURN MPGlobalsHud.bIsaRankupRunningBarAndBanner
|
|
ENDFUNC
|
|
|
|
PROC SET_RANKUP_RUNNING_BAR_AND_DISPLAY(BOOL isRunning)
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
BOOL bPrint
|
|
IF G_bTurnOnAllHUDBlockers
|
|
bPrint = TRUE
|
|
ENDIF
|
|
IF MPGlobalsHud.bIsaRankupRunningBarAndBanner <> MPGlobalsHud.bIsaRankupRunningBarAndBannerLastFrame
|
|
|
|
bPrint = TRUE
|
|
ENDIF
|
|
|
|
IF bPrint
|
|
DEBUG_PRINTCALLSTACK()
|
|
NET_NL()NET_PRINT("<<< SET_RANKUP_RUNNING_BAR_AND_DISPLAY called with ")NET_PRINT_BOOL(isRunning)NET_PRINT(" >>>")
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
|
|
|
|
MPGlobalsHud.bIsaRankupRunningBarAndBanner = isRunning
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
MPGlobalsHud.bIsaRankupRunningBarAndBannerLastFrame = isRunning
|
|
#ENDIF
|
|
ENDPROC
|
|
|
|
|
|
FUNC BOOL CAN_DISPLAY_DPADDOWN_PARTS()
|
|
|
|
// IF ((IS_RANKUP_RUNNING_BAR_AND_DISPLAY() AND IS_SCRIPT_HUD_DISABLED(HUDPART_RANKBAR) = FALSE)
|
|
// OR IS_SCRIPT_HUD_DISABLED(HUDPART_RANKBAR))
|
|
RETURN TRUE
|
|
// ENDIF
|
|
|
|
RETURN FALSE
|
|
ENDFUNC
|
|
|
|
|
|
FUNC GFX_DRAW_ORDER SET_GFX_TIMERS_DRAW_ORDER()
|
|
//GFX_ORDER_AFTER_HUD - Works
|
|
//GFX_ORDER_BEFORE_HUD - Broken Damage Meter
|
|
|
|
GFX_DRAW_ORDER anOrder = GFX_ORDER_BEFORE_HUD
|
|
/*IF g_bDeathmatchPlayerDead
|
|
anOrder = GFX_ORDER_AFTER_FADE
|
|
ENDIF*/
|
|
IF MPGlobalsScoreHud.bSniperScopeOn
|
|
anOrder = GFX_ORDER_AFTER_FADE
|
|
ENDIF
|
|
|
|
RETURN anOrder
|
|
ENDFUNC
|
|
PROC RESET_GFX_TIMERS_DRAW_ORDER()
|
|
SET_SCRIPT_GFX_DRAW_ORDER(GFX_ORDER_AFTER_HUD)
|
|
|
|
ENDPROC
|
|
|
|
PROC UPDATE_ALL_PROGRESSHUD_LAST_FRAME()
|
|
INT I
|
|
FOR I = 0 TO NUMBER_OF_PROGRESSHUD_ELEMENTS-1
|
|
MPGlobalsScoreHud.ProgressHud_LastFrameBitset[I] = MPGlobalsScoreHud.ProgressHud_ActivationBitset[I]
|
|
ENDFOR
|
|
ENDPROC
|
|
|
|
PROC FORCE_TIMER_ORDER_REFRESH()
|
|
MPGlobalsScoreHud.ProgressHud_ForceReset = TRUE
|
|
ENDPROC
|
|
|
|
FUNC BOOL HAS_ANY_PROGRESSHUD_ACTIVATION_CHANGED()
|
|
INT I
|
|
FOR I = 0 TO NUMBER_OF_PROGRESSHUD_ELEMENTS-1
|
|
IF MPGlobalsScoreHud.ProgressHud_LastFrameBitset[I] <> MPGlobalsScoreHud.ProgressHud_ActivationBitset[I]
|
|
RETURN TRUE
|
|
ENDIF
|
|
ENDFOR
|
|
|
|
IF MPGlobalsScoreHud.ProgressHud_ForceReset
|
|
MPGlobalsScoreHud.ProgressHud_ForceReset = FALSE
|
|
RETURN TRUE
|
|
ENDIF
|
|
|
|
|
|
RETURN FALSE
|
|
ENDFUNC
|
|
|
|
|
|
PROC UPDATE_PROGRESSHUD_LAST_FRAME(PROGRESSHUD_ELEMENTS aProgressHudPart)
|
|
MPGlobalsScoreHud.ProgressHud_LastFrameBitset[ENUM_TO_INT(aProgressHudPart)] = MPGlobalsScoreHud.ProgressHud_ActivationBitset[ENUM_TO_INT(aProgressHudPart)]
|
|
ENDPROC
|
|
|
|
FUNC BOOL HAS_PROGRESSHUD_ACTIVATION_CHANGED(PROGRESSHUD_ELEMENTS aProgressHudPart)
|
|
IF MPGlobalsScoreHud.ProgressHud_LastFrameBitset[ENUM_TO_INT(aProgressHudPart)] <> MPGlobalsScoreHud.ProgressHud_ActivationBitset[ENUM_TO_INT(aProgressHudPart)]
|
|
RETURN TRUE
|
|
ENDIF
|
|
RETURN FALSE
|
|
ENDFUNC
|
|
|
|
PROC SET_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_ELEMENTS aProgressHudPart, INT Index)
|
|
SET_BIT(MPGlobalsScoreHud.ProgressHud_ActivationBitset[ENUM_TO_INT(aProgressHudPart)], Index)
|
|
ENDPROC
|
|
|
|
//PROC SET_PROGRESSHUD_ACTIVATION_OFF(PROGRESSHUD_ELEMENTS aProgressHudPart, INT Index)
|
|
// CLEAR_BIT(MPGlobalsScoreHud.ProgressHud_ActivationBitset[ENUM_TO_INT(aProgressHudPart)], Index)
|
|
//ENDPROC
|
|
|
|
FUNC BOOL IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_ELEMENTS aProgressHudPart, INT Index)
|
|
RETURN IS_BIT_SET(MPGlobalsScoreHud.ProgressHud_ActivationBitset[ENUM_TO_INT(aProgressHudPart)], Index)
|
|
ENDFUNC
|
|
|
|
FUNC BOOL IS_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_ELEMENTS aProgressHudPart)
|
|
IF MPGlobalsScoreHud.ProgressHud_ActivationBitset[ENUM_TO_INT(aProgressHudPart)] > 0
|
|
RETURN TRUE
|
|
ENDIF
|
|
RETURN FALSE
|
|
ENDFUNC
|
|
|
|
PROC RESET_PROGRESSHUD_BITSET()
|
|
|
|
INT I
|
|
|
|
FOR I = 0 TO NUMBER_OF_PROGRESSHUD_ELEMENTS-1
|
|
MPGlobalsScoreHud.ProgressHud_ActivationBitset[I] = 0
|
|
ENDFOR
|
|
|
|
ENDPROC
|
|
|
|
PROC SET_PROGRESSHUD_INIT_DONE(PROGRESSHUD_ELEMENTS aProgressHudPart, INT Index)
|
|
SET_BIT(MPGlobalsScoreHud.ProgressHud_InitBitset[ENUM_TO_INT(aProgressHudPart)], Index)
|
|
ENDPROC
|
|
|
|
PROC SET_PROGRESSHUD_INIT_NOT_DONE(PROGRESSHUD_ELEMENTS aProgressHudPart, INT Index)
|
|
CLEAR_BIT(MPGlobalsScoreHud.ProgressHud_InitBitset[ENUM_TO_INT(aProgressHudPart)], Index)
|
|
ENDPROC
|
|
|
|
FUNC BOOL IS_PROGRESSHUD_INIT_DONE_INDEXED(PROGRESSHUD_ELEMENTS aProgressHudPart, INT Index)
|
|
RETURN IS_BIT_SET(MPGlobalsScoreHud.ProgressHud_InitBitset[ENUM_TO_INT(aProgressHudPart)], Index)
|
|
ENDFUNC
|
|
|
|
FUNC BOOL IS_PROGRESSHUD_INIT_DONE(PROGRESSHUD_ELEMENTS aProgressHudPart)
|
|
IF MPGlobalsScoreHud.ProgressHud_InitBitset[ENUM_TO_INT(aProgressHudPart)] > 0
|
|
RETURN TRUE
|
|
ENDIF
|
|
RETURN FALSE
|
|
ENDFUNC
|
|
|
|
PROC RESET_PROGRESSHUD_INIT_BITSET()
|
|
|
|
INT I
|
|
FOR I = 0 TO NUMBER_OF_PROGRESSHUD_ELEMENTS-1
|
|
MPGlobalsScoreHud.ProgressHud_InitBitset[I] = 0
|
|
ENDFOR
|
|
|
|
ENDPROC
|
|
|
|
|
|
PROC SET_PROGRESSHUD_EXTENDDISPLAY(PROGRESSHUD_ELEMENTS aProgressHudPart, INT Index)
|
|
SET_BIT(MPGlobalsScoreHud.ProgressHud_ExtendDisplayBitset[ENUM_TO_INT(aProgressHudPart)], Index)
|
|
ENDPROC
|
|
|
|
PROC CLEAR_PROGRESSHUD_EXTENDDISPLAY(PROGRESSHUD_ELEMENTS aProgressHudPart, INT Index)
|
|
CLEAR_BIT(MPGlobalsScoreHud.ProgressHud_ExtendDisplayBitset[ENUM_TO_INT(aProgressHudPart)], Index)
|
|
ENDPROC
|
|
|
|
FUNC BOOL IS_PROGRESSHUD_EXTENDDISPLAY_SET_INDEXED(PROGRESSHUD_ELEMENTS aProgressHudPart, INT Index)
|
|
RETURN IS_BIT_SET(MPGlobalsScoreHud.ProgressHud_ExtendDisplayBitset[ENUM_TO_INT(aProgressHudPart)], Index)
|
|
ENDFUNC
|
|
|
|
FUNC BOOL IS_PROGRESSHUD_EXTENDDISPLAY_SET(PROGRESSHUD_ELEMENTS aProgressHudPart)
|
|
IF MPGlobalsScoreHud.ProgressHud_ExtendDisplayBitset[ENUM_TO_INT(aProgressHudPart)] > 0
|
|
RETURN TRUE
|
|
ENDIF
|
|
RETURN FALSE
|
|
ENDFUNC
|
|
|
|
PROC RESET_PROGRESSHUD_EXTENDDISPLAY_BITSET()
|
|
|
|
INT I
|
|
FOR I = 0 TO NUMBER_OF_PROGRESSHUD_ELEMENTS-1
|
|
MPGlobalsScoreHud.ProgressHud_ExtendDisplayBitset[I] = 0
|
|
ENDFOR
|
|
|
|
ENDPROC
|
|
|
|
|
|
|
|
FUNC FLOAT CAST_METRES_TO_MILES(FLOAT fMetres)
|
|
RETURN(fMetres * 0.000621371192)
|
|
ENDFUNC
|
|
|
|
|
|
FUNC BOOL IS_BOTTOM_RIGHT_AREA_FREE()
|
|
// IF g_sSelectorUI.bOnScreen = TRUE
|
|
// RETURN FALSE
|
|
// ENDIF
|
|
RETURN TRUE
|
|
ENDFUNC
|
|
|
|
|
|
FUNC TEXT_LABEL_63 GET_POSITION_STRING_WITH_NUMBER(INT Position)
|
|
TEXT_LABEL_63 tl_63 = ""
|
|
IF Position > 0
|
|
|
|
INT Units
|
|
|
|
Position = Position%100 //Shave off third column
|
|
Units = Position%10
|
|
|
|
|
|
IF Units = 1
|
|
tl_63 += "TIMER_ST"
|
|
ELIF Units = 2
|
|
tl_63 += "TIMER_ND"
|
|
ELIF Units = 3
|
|
tl_63 += "TIMER_RD"
|
|
ELSE
|
|
tl_63 += "TIMER_TH"
|
|
ENDIF
|
|
|
|
IF Position > 9
|
|
AND Position < 21
|
|
tl_63 = ""
|
|
tl_63 += "TIMER_TH"
|
|
ENDIF
|
|
|
|
ENDIF
|
|
RETURN tl_63
|
|
ENDFUNC
|
|
|
|
FUNC TEXT_LABEL_63 GET_POSITION_STRING(INT Position)
|
|
TEXT_LABEL_63 tl_63 = ""
|
|
IF Position > 0
|
|
INT Units
|
|
|
|
Position = Position%100 //Shave off third column
|
|
Units = Position%10
|
|
|
|
IF Units = 1
|
|
tl_63 += "TIMER_NST"
|
|
ELIF Units = 2
|
|
tl_63 += "TIMER_NND"
|
|
ELIF Units = 3
|
|
tl_63 += "TIMER_NRD"
|
|
ELSE
|
|
tl_63 += "TIMER_NTH"
|
|
ENDIF
|
|
|
|
|
|
|
|
IF Position > 9
|
|
AND Position < 21
|
|
tl_63 = ""
|
|
tl_63 += "TIMER_NTH"
|
|
ENDIF
|
|
|
|
|
|
|
|
ENDIF
|
|
RETURN tl_63
|
|
ENDFUNC
|
|
|
|
|
|
|
|
|
|
///// PURPOSE:
|
|
///// Draws a Timer hud in the bottom right of the screen to be used in races
|
|
/////
|
|
/// PARAMS:
|
|
/// TimerRunning - The time the race will run for
|
|
/// RacePos - The players current position
|
|
/// MaxRacePos - the number of racers in the race
|
|
/// iPlayerTeam - Pass in the players gang so the lap meter can match the gang colour.
|
|
/// LapNum - the number of laps completed
|
|
/// MaxLaps - the maximum number of laps to complete
|
|
/// ExtraTime - If the player is to be given or subtracing extra time from the TimerRunning amount, this shows up a -num or +num
|
|
/// FlashTime - how long you want the hud to flash. Only does all the hud, let Brenda know if you need this indivdual
|
|
/// Title - The text next to the TimerRunning, defaults to "TIMER" if left blank
|
|
/// FixedTitle - The title for the fixed timer, defaults to "BEST TIME" if left blank
|
|
/// Medal - adds text and colouring for the fixed timer. Used if the fixed timer is telling the player "this time will get you a silver medal"
|
|
//PROC DRAW_RACE_TIMER_HUD(INT TimerRunning = -1, INT RacePos = 0, INT MaxRacePos = 0, INT iPlayerTeam = -1, INT LapNum = 0, INT MaxLaps = 0, INT ExtraTime = 0, INT BestTime = -1, INT FlashTime = 0, STRING Title = NULL, STRING FixedTitle = NULL, PODIUMPOS Medal = PODIUMPOS_NONE )
|
|
//
|
|
// IF TimerRunning = 0
|
|
// ENDIF
|
|
// IF RacePos = 0
|
|
// ENDIF
|
|
// IF MaxRacePos = 0
|
|
// ENDIF
|
|
// IF iPlayerTeam = 9
|
|
// ENDIF
|
|
// IF LapNum = 9
|
|
// ENDIF
|
|
// IF MaxLaps = 9
|
|
// ENDIF
|
|
// IF BestTime = 9
|
|
// ENDIF
|
|
// IF FlashTime = 9
|
|
// ENDIF
|
|
// IF ExtraTime = 9
|
|
// ENDIF
|
|
// IF Medal = PODIUMPOS_NONE
|
|
// ENDIF
|
|
// IF IS_STRING_EMPTY_HUD(Title)
|
|
// ENDIF
|
|
// IF IS_STRING_EMPTY_HUD(FixedTitle)
|
|
// ENDIF
|
|
//
|
|
//ENDPROC
|
|
|
|
|
|
FUNC BOOL IS_LANGUAGE_NON_ROMANIC()
|
|
|
|
|
|
IF GET_CURRENT_LANGUAGE() = LANGUAGE_KOREAN
|
|
OR GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE
|
|
OR GET_CURRENT_LANGUAGE() = LANGUAGE_JAPANESE
|
|
OR GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE_SIMPLIFIED
|
|
RETURN TRUE
|
|
ENDIF
|
|
|
|
RETURN FALSE
|
|
|
|
ENDFUNC
|
|
|
|
|
|
PROC RESET_GENERIC_NUMBER_FLASHING(INT Index)
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iFlashing_GenericNumber_Hud[Index])
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iFlashing_GenericNumber_MiniHud[Index])
|
|
|
|
ENDPROC
|
|
|
|
PROC RESET_GENERIC_NUMBER_FLASHING_COLOUR(INT Index)
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iColourFlashing_GenericNumber_Hud[Index])
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iColourFlashing_GenericNumber_MiniHud[Index])
|
|
|
|
ENDPROC
|
|
|
|
PROC RESET_GENERIC_SCORE_FLASHING(INT Index)
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iFlashing_GenericScore_Hud[Index])
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iFlashing_GenericScore_MiniHud[Index])
|
|
ENDPROC
|
|
|
|
PROC RESET_GENERIC_SCORE_FLASHING_COLOUR(INT Index)
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iColourFlashing_GenericScore_Hud[Index])
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iColourFlashing_GenericScore_MiniHud[Index])
|
|
ENDPROC
|
|
|
|
PROC RESET_GENERIC_TIMER_FLASHING(INT Index)
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iFlashing_GenericTimer_Hud[Index])
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iFlashing_GenericTimer_MiniHud[Index])
|
|
|
|
ENDPROC
|
|
|
|
PROC RESET_GENERIC_TIMER_FLASHING_COLOUR(INT Index)
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iColourFlashing_GenericTimer_Hud[Index])
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iColourFlashing_GenericTimer_MiniHud[Index])
|
|
ENDPROC
|
|
|
|
PROC RESET_GENERIC_DOUBLE_NUMBER_FLASHING(INT Index)
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iFlashing_GenericDoubleNumber_Hud[Index])
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iFlashing_GenericDoubleNumber_MiniHud[Index])
|
|
|
|
ENDPROC
|
|
|
|
PROC RESET_GENERIC_DOUBLE_NUMBER_FLASHING_COLOUR(INT Index)
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iColourFlashing_GenericDoubleNumber_Hud[Index])
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iColourFlashing_GenericDoubleNumber_MiniHud[Index])
|
|
|
|
ENDPROC
|
|
|
|
PROC RESET_GENERIC_DOUBLE_NUMBER_PLACE_FLASHING(INT Index)
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iFlashing_GenericDoubleNumberPlace_Hud[Index])
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iFlashing_GenericDoubleNumberPlace_MiniHud[Index])
|
|
|
|
ENDPROC
|
|
|
|
PROC RESET_GENERIC_DOUBLE_NUMBER_PLACE_FLASHING_COLOUR(INT Index)
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iColourFlashing_GenericDoubleNumberPlace_Hud[Index])
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iColourFlashing_GenericDoubleNumberPlace_MiniHud[Index])
|
|
|
|
ENDPROC
|
|
|
|
PROC RESET_GENERIC_CHECKPOINT_FLASHING(INT Index)
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iFlashing_GenericCheckpoint_Hud[Index] )
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iFlashing_GenericCheckpoint_MiniHud[Index] )
|
|
|
|
MPGlobalsScoreHud.ElementHud_CHECKPOINT.iGenericCheckpoint_TitleNumber[Index] = -1
|
|
ENDPROC
|
|
|
|
PROC RESET_GENERIC_CHECKPOINT_FLASHING_COLOUR(INT Index)
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iColourFlashing_GenericCheckpoint_Hud[Index] )
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iColourFlashing_GenericCheckpoint_MiniHud[Index] )
|
|
|
|
ENDPROC
|
|
|
|
PROC RESET_GENERIC_METER_FLASHING(INT Index)
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iFlashing_GenericMeter_Hud[Index])
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iFlashing_GenericMeter_MiniHud[Index])
|
|
|
|
MPGlobalsScoreHud.ElementHud_METER.iGenericMeter_TitleNumber[Index] = -1
|
|
|
|
ENDPROC
|
|
|
|
PROC RESET_GENERIC_METER_FLASHING_COLOUR(INT Index)
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iColourFlashing_GenericMeter_Hud[Index])
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iColourFlashing_GenericMeter_MiniHud[Index])
|
|
ENDPROC
|
|
|
|
PROC RESET_GENERIC_ELIMINATION_FLASHING(INT Index)
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iFlashing_GenericElimination_Hud[Index])
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iFlashing_GenericElimination_MiniHud[Index])
|
|
|
|
ENDPROC
|
|
|
|
PROC RESET_GENERIC_ELIMINATION_FLASHING_COLOUR(INT Index)
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iColourFlashing_GenericElimination_Hud[Index])
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iColourFlashing_GenericElimination_MiniHud[Index])
|
|
|
|
ENDPROC
|
|
|
|
PROC RESET_GENERIC_FOUR_ICON_BAR_FLASHING(INT Index)
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iFlashing_GenericFourIconBar_Hud[Index])
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iFlashing_GenericFourIconBar_MiniHud[Index])
|
|
ENDPROC
|
|
|
|
PROC RESET_GENERIC_FIVE_ICON_SCORE_BAR_FLASHING(INT Index)
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iFlashing_GenericFiveIconScoreBar_Hud[Index])
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iFlashing_GenericFiveIconScoreBar_MiniHud[Index])
|
|
ENDPROC
|
|
|
|
PROC RESET_GENERIC_FIVE_ICON_SCORE_BAR_AVATAR_FLASHING(INT Index)
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iFlashing_GenericFiveIconScoreBar_Avatar_Hud[Index])
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iFlashing_GenericFiveIconScoreBar_Avatar_MiniHud[Index])
|
|
ENDPROC
|
|
|
|
PROC RESET_GENERIC_SIX_ICON_BAR_FLASHING(INT Index)
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iFlashing_GenericSixIconBar_Hud[Index])
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.iFlashing_GenericSixIconBar_MiniHud[Index])
|
|
ENDPROC
|
|
|
|
//FLOAT TheHudOffset
|
|
//FLOAT HudOffsetArray[20]
|
|
//BOOL CreatedWidget
|
|
|
|
PROC RESET_HUDELEMENT_METERS(INT Index)
|
|
|
|
MPGlobalsScoreHud.ElementHud_METER.iGenericMeter_Number[Index] = 0
|
|
MPGlobalsScoreHud.ElementHud_METER.iGenericMeter_MaxNumber[Index] = 0
|
|
MPGlobalsScoreHud.ElementHud_METER.sGenericMeter_Title[Index] = ""
|
|
|
|
MPGlobalsScoreHud.ElementHud_METER.iGenericMeter_FlashTimer[Index] = -1
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_Colour[Index] = HUD_COLOUR_WHITE
|
|
MPGlobalsScoreHud.ElementHud_METER.iGenericMeter_TitleNumber[Index] = -1
|
|
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_HUDOrder[Index] = HUDORDER_DONTCARE
|
|
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_FreeRoamPos[Index] = <<0.5, 0.5, 0.0>>
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_bIsPlayer[Index] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_bOnlyZeroIsEmpty[Index] = FALSE
|
|
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.ElementHud_METER.iGenericMeter_ExtendedStartTimer[Index] )
|
|
MPGlobalsScoreHud.ElementHud_METER.iGenericMeter_ExtendedTimer[Index] = -1
|
|
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_bBigMeter[Index] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_iDrawRedDangerZonePercent[Index] = 0
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_bIsLiteralString[Index] = FALSE
|
|
|
|
MPGlobalsScoreHud.ElementHud_METER.PulseToColour[Index] = HUD_COLOUR_WHITE
|
|
MPGlobalsScoreHud.ElementHud_METER.iPulseTime[Index] = -1
|
|
|
|
// RESET_GENERIC_METER_FLASHING(Index)
|
|
|
|
ENDPROC
|
|
PROC RESET_HUDELEMENT_CHECKPOINTS(INT Index)
|
|
// HUDELEMENT_CHECKPOINT_STUCT emptyCheckpointStruct
|
|
// MPGlobalsScoreHud.ElementHud_CHECKPOINT = emptyCheckpointStruct
|
|
|
|
|
|
MPGlobalsScoreHud.ElementHud_CHECKPOINT.iGenericCheckpoint_Number[Index] = 0
|
|
MPGlobalsScoreHud.ElementHud_CHECKPOINT.iGenericCheckpoint_MaxNumber[Index] = 0
|
|
MPGlobalsScoreHud.ElementHud_CHECKPOINT.sGenericCheckpoint_Title[Index] = ""
|
|
|
|
MPGlobalsScoreHud.ElementHud_CHECKPOINT.iGenericCheckpoint_FlashTimer[Index] = -1
|
|
MPGlobalsScoreHud.ElementHud_CHECKPOINT.GenericCheckpoint_Colour[Index] = HUD_COLOUR_WHITE
|
|
MPGlobalsScoreHud.ElementHud_CHECKPOINT.iGenericCheckpoint_TitleNumber[Index] = -1
|
|
|
|
MPGlobalsScoreHud.ElementHud_CHECKPOINT.GenericCheckpoint_HUDOrder[Index] = HUDORDER_DONTCARE
|
|
|
|
MPGlobalsScoreHud.ElementHud_CHECKPOINT.GenericCheckpoint_FreeRoamPos[Index] = <<0.5, 0.5, 0.0>>
|
|
MPGlobalsScoreHud.ElementHud_CHECKPOINT.GenericCheckpoint_bIsPlayer[Index]= FALSE
|
|
|
|
#IF USE_TU_CHANGES
|
|
GenericCheckpoint_Cross0[Index] = FALSE
|
|
GenericCheckpoint_Cross1[Index] = FALSE
|
|
GenericCheckpoint_Cross2[Index] = FALSE
|
|
GenericCheckpoint_Cross3[Index] = FALSE
|
|
GenericCheckpoint_Cross4[Index] = FALSE
|
|
GenericCheckpoint_Cross5[Index] = FALSE
|
|
GenericCheckpoint_Cross6[Index] = FALSE
|
|
GenericCheckpoint_Cross7[Index] = FALSE
|
|
|
|
GenericElimination_Cross0[Index] = FALSE
|
|
GenericElimination_Cross1[Index] = FALSE
|
|
GenericElimination_Cross2[Index] = FALSE
|
|
GenericElimination_Cross3[Index] = FALSE
|
|
GenericElimination_Cross4[Index] = FALSE
|
|
GenericElimination_Cross5[Index] = FALSE
|
|
GenericElimination_Cross6[Index] = FALSE
|
|
GenericElimination_Cross7[Index] = FALSE
|
|
|
|
#ENDIF
|
|
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.ElementHud_CHECKPOINT.iGenericCheckpoint_ExtendedStartTimer[Index])
|
|
MPGlobalsScoreHud.ElementHud_CHECKPOINT.iGenericCheckpoint_ExtendedTimer[Index] = -1
|
|
|
|
// RESET_GENERIC_CHECKPOINT_FLASHING(Index)
|
|
|
|
ENDPROC
|
|
PROC RESET_HUDELEMENT_ELIMINATION(INT Index)
|
|
// HUDELEMENT_ELIMINATION_STUCT emptyEliminationStruct
|
|
// MPGlobalsScoreHud.ElementHud_ELIMINATION = emptyEliminationStruct
|
|
|
|
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.iGenericElimination_MaxNumber[Index] = 0
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.bGenericElimination_IsActive1[Index] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.bGenericElimination_IsActive2[Index] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.bGenericElimination_IsActive3[Index] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.bGenericElimination_IsActive4[Index] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.bGenericElimination_IsActive5[Index] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.bGenericElimination_IsActive6[Index] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.bGenericElimination_IsActive7[Index] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.bGenericElimination_IsActive8[Index] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.sGenericElimination_Title[Index] = ""
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.iGenericElimination_VisibleBoxes[Index] = -1
|
|
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.iGenericElimination_FlashTimer[Index] = -1
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_ColourFirst[Index] = HUD_COLOUR_GREEN
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_ColourSecond[Index] = HUD_COLOUR_RED
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.iGenericElimination_TitleNumber[Index] = -1
|
|
|
|
// MPGlobalsScoreHud.ElementHud_ELIMINATION.bRunning_GenericElimination[Index] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_HUDOrder[Index] = HUDORDER_DONTCARE
|
|
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_FreeRoamPos[Index] = <<0.5, 0.5, 0.0>>
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_bIsPlayer[Index] = FALSE
|
|
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box1Colour[Index] = HUD_COLOUR_WHITE
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box2Colour[Index] = HUD_COLOUR_WHITE
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box3Colour[Index] = HUD_COLOUR_WHITE
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box4Colour[Index] = HUD_COLOUR_WHITE
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box5Colour[Index] = HUD_COLOUR_WHITE
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box6Colour[Index] = HUD_COLOUR_WHITE
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box7Colour[Index] = HUD_COLOUR_WHITE
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box8Colour[Index] = HUD_COLOUR_WHITE
|
|
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box1Colour_InActive[Index] = HUD_COLOUR_WHITE
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box2Colour_InActive[Index] = HUD_COLOUR_WHITE
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box3Colour_InActive[Index] = HUD_COLOUR_WHITE
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box4Colour_InActive[Index] = HUD_COLOUR_WHITE
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box5Colour_InActive[Index] = HUD_COLOUR_WHITE
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box6Colour_InActive[Index] = HUD_COLOUR_WHITE
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box7Colour_InActive[Index] = HUD_COLOUR_WHITE
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box8Colour_InActive[Index] = HUD_COLOUR_WHITE
|
|
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.ElementHud_ELIMINATION.iGenericElimination_ExtendedStartTimer[Index])
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.iGenericElimination_ExtendedTimer[Index] = -1
|
|
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_bUseNonPlayerFont[Index] = FALSE
|
|
|
|
|
|
// RESET_GENERIC_ELIMINATION_FLASHING(Index)
|
|
ENDPROC
|
|
PROC RESET_HUDELEMENT_SINGLENUMBER(INT Index)
|
|
// HUDELEMENT_SINGLE_NUMBER_STUCT emptySINGLENUMStruct
|
|
// MPGlobalsScoreHud.ElementHud_SINGLENUMBER = emptySINGLENUMStruct
|
|
|
|
MPGlobalsScoreHud.ElementHud_SINGLENUMBER.iGenericNumber_Number[Index] = 0
|
|
MPGlobalsScoreHud.ElementHud_SINGLENUMBER.sGenericNumber_NumberTitle[Index] = ""
|
|
|
|
MPGlobalsScoreHud.ElementHud_SINGLENUMBER.iGenericNumber_FlashTimer[Index] = -1
|
|
MPGlobalsScoreHud.ElementHud_SINGLENUMBER.GenericNumber_Colour[Index] = HUD_COLOUR_WHITE
|
|
MPGlobalsScoreHud.ElementHud_SINGLENUMBER.iGenericNumber_TitleNumber[Index] = -1
|
|
|
|
MPGlobalsScoreHud.ElementHud_SINGLENUMBER.GenericNumber_HUDOrder[Index] = HUDORDER_DONTCARE
|
|
MPGlobalsScoreHud.ElementHud_SINGLENUMBER.GenericNumber_bIsPlayer[Index] = FALSE
|
|
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.ElementHud_SINGLENUMBER.iGenericNumber_ExtendedStartTimer[Index])
|
|
MPGlobalsScoreHud.ElementHud_SINGLENUMBER.iGenericNumber_ExtendedTimer[Index] = -1
|
|
|
|
|
|
// RESET_GENERIC_NUMBER_FLASHING(Index)
|
|
|
|
ENDPROC
|
|
PROC RESET_HUDELEMENT_DOUBLENUMBER(INT Index)
|
|
// HUDELEMENT_DOUBLE_NUMBER_STUCT emptyDOUBLENUMStruct
|
|
// MPGlobalsScoreHud.ElementHud_DOUBLENUMBER = emptyDOUBLENUMStruct
|
|
|
|
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.iGenericDoubleNumber_Number[Index] = -1
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.sGenericDoubleNumber_Title[Index] = ""
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.iGenericDoubleNumber_NumberTwo[Index] = -1
|
|
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.iGenericDoubleNumber_FlashTimer[Index] = -1
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.GenericDoubleNumber_COLOUR[Index] =HUD_COLOUR_WHITE
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.iGenericDoubleNumber_TitleNumber[Index] = -1
|
|
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.GenericDoubleNumber_HUDOrder[Index] = HUDORDER_DONTCARE
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.GenericDoubleNumber_bIsPlayer[Index] = FALSE
|
|
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.iGenericDoubleNumber_ExtendedStartTimer[Index])
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.iGenericDoubleNumber_ExtendedTimer[Index] = -1
|
|
|
|
|
|
// RESET_GENERIC_DOUBLE_NUMBER_FLASHING(Index)
|
|
|
|
ENDPROC
|
|
PROC RESET_HUDELEMENT_DOUBLENUMPLACE(INT Index)
|
|
// HUDELEMENT_DOUBLE_NUMBER_PLACE_STUCT emptyDOUBLENUMPLACEStruct
|
|
// MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE = emptyDOUBLENUMPLACEStruct
|
|
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.iGenericDoubleNumberPlace_Number[Index] = 0
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.sGenericDoubleNumberPlace_Title[Index] = ""
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.iGenericDoubleNumberPlace_NumberTwo[Index] = -1
|
|
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.iGenericDoubleNumberPlace_FlashTimer[Index] = -1
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.GenericDoubleNumberPlace_COLOUR[Index] = HUD_COLOUR_WHITE
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.iGenericDoubleNumberPlace_TitleNumber[Index] = -1
|
|
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.GenericDoubleNumberPlace_HUDOrder[Index] = HUDORDER_DONTCARE
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.GenericDoubleNumberPlace_bIsPlayer[Index] = FALSE
|
|
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.iGenericDoubleNumberPlace_ExtendedStartTimer[Index] )
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.iGenericDoubleNumberPlace_ExtendedTimer[Index] = -1
|
|
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.GenericDoubleNumberPlace_bCustomFont[Index] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.GenericDoubleNumberPlace_eCustomFont[Index] = FONT_STANDARD
|
|
|
|
// RESET_GENERIC_DOUBLE_NUMBER_PLACE_FLASHING(Index)
|
|
|
|
ENDPROC
|
|
PROC RESET_HUDELEMENT_SCORE(INT Index)
|
|
// HUDELEMENT_SCORE_STUCT emptyScoreStruct
|
|
// MPGlobalsScoreHud.ElementHud_SCORE = emptyScoreStruct
|
|
|
|
MPGlobalsScoreHud.ElementHud_SCORE.iGenericScore_Number[Index] = 0
|
|
MPGlobalsScoreHud.ElementHud_SCORE.sGenericScore_Title[Index] = ""
|
|
|
|
MPGlobalsScoreHud.ElementHud_SCORE.iGenericScore_FlashTimer[Index] = -1
|
|
MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_Colour[Index] = HUD_COLOUR_WHITE
|
|
MPGlobalsScoreHud.ElementHud_SCORE.iGenericScore_TitleNumber[Index] = -1
|
|
|
|
MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_HUDOrder[Index] = HUDORDER_DONTCARE
|
|
MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_bIsPlayer[Index] = FALSE
|
|
|
|
MPGlobalsScoreHud.ElementHud_SCORE.sGenericScore_NumberString[Index] = ""
|
|
MPGlobalsScoreHud.ElementHud_SCORE.bGenericScore_IsFloat[Index] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_SCORE.bGenericScore_FloatValue[Index] = -1
|
|
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.ElementHud_SCORE.iGenericScore_ExtendedStartTimer[Index])
|
|
MPGlobalsScoreHud.ElementHud_SCORE.iGenericScore_ExtendedTimer[Index] = -1
|
|
|
|
MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_Style[Index] = HUD_COUNTER_STYLE_DEFAULT
|
|
|
|
// RESET_GENERIC_SCORE_FLASHING(Index)
|
|
|
|
ENDPROC
|
|
PROC RESET_HUDELEMENT_TIMER(INT Index)
|
|
// HUDELEMENT_TIMER_STUCT emptyTimerStruct
|
|
// MPGlobalsScoreHud.ElementHud_TIMER = emptyTimerStruct
|
|
|
|
MPGlobalsScoreHud.ElementHud_TIMER.iGenericTimer_Timer[Index] = 0
|
|
MPGlobalsScoreHud.ElementHud_TIMER.sGenericTimer_TimerTitle[Index] = ""
|
|
MPGlobalsScoreHud.ElementHud_TIMER.iGenericTimer_ExtraTime[Index] = -1
|
|
|
|
MPGlobalsScoreHud.ElementHud_TIMER.iGenericTimer_FlashTimer[Index] = -1
|
|
MPGlobalsScoreHud.ElementHud_TIMER.iGenericTimer_MedalDisplay[Index] = PODIUMPOS_NONE
|
|
MPGlobalsScoreHud.ElementHud_TIMER.GenericTimer_Colour[Index] = HUD_COLOUR_WHITE
|
|
MPGlobalsScoreHud.ElementHud_TIMER.bGenericTimer_TimerStyle[Index] = TIMER_STYLE_DONTUSEMILLISECONDS
|
|
MPGlobalsScoreHud.ElementHud_TIMER.iGenericTimer_TitleNumber[Index] = -1
|
|
|
|
MPGlobalsScoreHud.ElementHud_TIMER.GenericTimer_HUDOrder[Index] = HUDORDER_DONTCARE
|
|
MPGlobalsScoreHud.ElementHud_TIMER.GenericTimer_bIsPlayer[Index] = FALSE
|
|
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.ElementHud_TIMER.iGenericTimer_ExtendedStartTimer[Index] )
|
|
MPGlobalsScoreHud.ElementHud_TIMER.iGenericTimer_ExtendedTimer[Index] = -1
|
|
|
|
|
|
// RESET_GENERIC_TIMER_FLASHING(Index)
|
|
|
|
ENDPROC
|
|
PROC RESET_HUDELEMENT_WINDMETER(INT idx)
|
|
MPGlobalsScoreHud.ElementHud_WIND.fGenericMeter_Heading[idx] = 0.0
|
|
MPGlobalsScoreHud.ElementHud_WIND.sGenericMeter_Title[idx] = ""
|
|
|
|
MPGlobalsScoreHud.ElementHud_WIND.iGenericMeter_WindSpeed[idx] = 0
|
|
MPGlobalsScoreHud.ElementHud_WIND.fGenericMeter_Heading[idx] = 0.0
|
|
MPGlobalsScoreHud.ElementHud_WIND.iGenericMeter_RedComponent[idx] = 0
|
|
MPGlobalsScoreHud.ElementHud_WIND.iGenericMeter_BlueComponent[idx] = 0
|
|
MPGlobalsScoreHud.ElementHud_WIND.iGenericMeter_GreenComponent[idx] = 0
|
|
|
|
MPGlobalsScoreHud.ElementHud_WIND.eGenericMeter_HUDOrder[idx] = HUDORDER_DONTCARE
|
|
ENDPROC
|
|
PROC RESET_HUDELEMENT_BIG_RACE_POSITION(INT idx)
|
|
MPGlobalsScoreHud.ElementHud_BIGRACEPOSITION.eGenericBigRacePos_iRacePosition[idx] = 0
|
|
MPGlobalsScoreHud.ElementHud_BIGRACEPOSITION.eGenericBigRacePos_eRacePositionHUDColour[idx] = HUD_COLOUR_WHITE
|
|
|
|
MPGlobalsScoreHud.ElementHud_BIGRACEPOSITION.eGenericBigRacePos_HUDOrder[idx] = HUDORDER_DONTCARE
|
|
ENDPROC
|
|
PROC RESET_HUDELEMENT_SPRITE_METERS(INT Index)
|
|
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.iGenericMeter_Number[Index] = 0
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.iGenericMeter_MaxNumber[Index] = 0
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.sGenericMeter_Title[Index] = ""
|
|
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.iGenericMeter_FlashTimer[Index] = -1
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.GenericMeter_Colour[Index] = HUD_COLOUR_WHITE
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.iGenericMeter_TitleNumber[Index] = -1
|
|
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.GenericMeter_HUDOrder[Index] = HUDORDER_DONTCARE
|
|
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.GenericMeter_bIsPlayer[Index] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.GenericMeter_bOnlyZeroIsEmpty[Index] = FALSE
|
|
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.ElementHud_SPRITEMETER.iGenericMeter_ExtendedStartTimer[Index] )
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.iGenericMeter_ExtendedTimer[Index] = -1
|
|
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.GenericMeter_bIsLiteralString[Index] = FALSE
|
|
// RESET_GENERIC_METER_FLASHING(Index)
|
|
|
|
ENDPROC
|
|
|
|
PROC RESET_HUDELEMENT_FOUR_ICON_BAR(INT idx)
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_TitleColour[idx] = HUD_COLOUR_PURE_WHITE
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_pPlayerOne[idx] = NULL
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_pPlayerTwo[idx] = NULL
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_pPlayerThree[idx] = NULL
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_pPlayerFour[idx] = NULL
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_aPowerupOne[idx] = ACTIVITY_POWERUP_NONE
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_aPowerupTwo[idx] = ACTIVITY_POWERUP_NONE
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_aPowerupThree[idx] = ACTIVITY_POWERUP_NONE
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_aPowerupFour[idx] = ACTIVITY_POWERUP_NONE
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_HUDOrder[idx] = HUDORDER_DONTCARE
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_bFlashIconOne[idx] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_bFlashIconTwo[idx] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_bFlashIconThree[idx] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_bFlashIconFour[idx] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_iFlashTime[idx] = -1
|
|
ENDPROC
|
|
|
|
PROC RESET_HUDELEMENT_FIVE_ICON_SCORE_BAR(INT idx)
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_Number[idx] = 0
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_MaXNumber[idx] = 0
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_FloatValue[idx] = 0.0
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_NumberString[idx] = ""
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_isFloat[idx] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_DrawInfinity[idx] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_TitleColour[idx] = HUD_COLOUR_PURE_WHITE
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_pPlayerOne[idx] = NULL
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_pPlayerTwo[idx] = NULL
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_pPlayerThree[idx] = NULL
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_pPlayerFour[idx] = NULL
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_pPlayerFive[idx] = NULL
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_aPowerupOne[idx] = ACTIVITY_POWERUP_NONE
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_aPowerupTwo[idx] = ACTIVITY_POWERUP_NONE
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_aPowerupThree[idx] = ACTIVITY_POWERUP_NONE
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_aPowerupFour[idx] = ACTIVITY_POWERUP_NONE
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_aPowerupFive[idx] = ACTIVITY_POWERUP_NONE
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_HUDOrder[idx] = HUDORDER_DONTCARE
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_pPlayerToHighlight[idx] = NULL
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_bEnablePlayerHighlight[idx] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_ePowerupOneColour[idx] = HUD_COLOUR_PURE_WHITE
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_ePowerupTwoColour[idx] = HUD_COLOUR_PURE_WHITE
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_ePowerupThreeColour[idx] = HUD_COLOUR_PURE_WHITE
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_ePowerupFourColour[idx] = HUD_COLOUR_PURE_WHITE
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_ePowerupFiveColour[idx] = HUD_COLOUR_PURE_WHITE
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_iInstanceToHighlight[idx] = 0
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_bPulseHighlight[idx] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_iPulseTime[idx] = 0
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_pAvatarToFlash[idx] = NULL
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_bFlashAvatar[idx] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_iAvatarFlashTime[idx] = 0
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_iAvatarSlotToFlash[idx] = 0
|
|
ENDPROC
|
|
|
|
PROC RESET_HUDELEMENT_SIX_ICON_BAR(INT idx)
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_TitleColour[idx] = HUD_COLOUR_PURE_WHITE
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_pPlayerOne[idx] = NULL
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_pPlayerTwo[idx] = NULL
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_pPlayerThree[idx] = NULL
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_pPlayerFour[idx] = NULL
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_pPlayerFive[idx] = NULL
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_pPlayerSix[idx] = NULL
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_aPowerupOne[idx] = ACTIVITY_POWERUP_NONE
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_aPowerupTwo[idx] = ACTIVITY_POWERUP_NONE
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_aPowerupThree[idx] = ACTIVITY_POWERUP_NONE
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_aPowerupFour[idx] = ACTIVITY_POWERUP_NONE
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_aPowerupFive[idx] = ACTIVITY_POWERUP_NONE
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_aPowerupSix[idx] = ACTIVITY_POWERUP_NONE
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_HUDOrder[idx] = HUDORDER_DONTCARE
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_bFlashIconOne[idx] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_bFlashIconTwo[idx] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_bFlashIconThree[idx] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_bFlashIconFour[idx] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_bFlashIconFive[idx] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_bFlashIconSix[idx] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_iFlashTime[idx] = -1
|
|
ENDPROC
|
|
|
|
PROC RESET_HUDELEMENT_DOUBLE_TEXT(INT idx)
|
|
MPGlobalsScoreHud.ElementHud_DOUBLETEXT.sGenericDoubleText_TitleLeft[idx] = ""
|
|
MPGlobalsScoreHud.ElementHud_DOUBLETEXT.sGenericDoubleText_TitleRight[idx] = ""
|
|
MPGlobalsScoreHud.ElementHud_DOUBLETEXT.GenericDoubleText_bTitleLeftLiteral[idx] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_DOUBLETEXT.GenericDoubleText_bTitleRightLiteral[idx] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_DOUBLETEXT.GenericDoubleText_HUDOrder[idx] = HUDORDER_DONTCARE
|
|
MPGlobalsScoreHud.ElementHud_DOUBLETEXT.GenericDoubleText_TitleCOLOUR[idx] = HUD_COLOUR_PURE_WHITE
|
|
MPGlobalsScoreHud.ElementHud_DOUBLETEXT.GenericDoubleText_bCustomFont[idx] = FALSE
|
|
MPGlobalsScoreHud.ElementHud_DOUBLETEXT.GenericDoubleText_eCustomFont[idx] = FONT_STANDARD
|
|
ENDPROC
|
|
|
|
PROC EXTEND_ALL_HUD_ELEMENTS()
|
|
|
|
INT I
|
|
|
|
// FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
// IF IS_PROGRESSHUD_INIT_DONE_INDEXED(PROGRESSHUD_SINGLE_NUMBER, I)
|
|
// AND IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_SINGLE_NUMBER, I)
|
|
// RESET_NET_TIMER(MPGlobalsScoreHud.ElementHud_SINGLENUMBER.iGenericNumber_ExtendedStartTimer[I])
|
|
// ELSE
|
|
// IF HAS_NET_TIMER_EXPIRED(MPGlobalsScoreHud.ElementHud_SINGLENUMBER.iGenericNumber_ExtendedStartTimer[I], MPGlobalsScoreHud.ElementHud_SINGLENUMBER.iGenericNumber_ExtendedTimer[I]) = FALSE
|
|
// MPGlobalsScoreHud.isSomethingDisplaying = TRUE
|
|
// SET_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_SINGLE_NUMBER, I)
|
|
// ENDIF
|
|
// ENDIF
|
|
// ENDFOR
|
|
|
|
// FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
// IF IS_PROGRESSHUD_INIT_DONE_INDEXED(PROGRESSHUD_SCORE, I)
|
|
// AND IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_SCORE, I)
|
|
// RESET_NET_TIMER(MPGlobalsScoreHud.ElementHud_SCORE.iGenericScore_ExtendedStartTimer[I])
|
|
// ELSE
|
|
// IF HAS_NET_TIMER_EXPIRED(MPGlobalsScoreHud.ElementHud_SCORE.iGenericScore_ExtendedStartTimer[I], MPGlobalsScoreHud.ElementHud_SCORE.iGenericScore_ExtendedTimer[I]) = FALSE
|
|
// MPGlobalsScoreHud.isSomethingDisplaying = TRUE
|
|
// SET_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_SCORE, I)
|
|
// ENDIF
|
|
// ENDIF
|
|
// ENDFOR
|
|
|
|
// FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
// IF IS_PROGRESSHUD_INIT_DONE_INDEXED(PROGRESSHUD_TIMER, I)
|
|
// AND IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_TIMER, I)
|
|
// RESET_NET_TIMER(MPGlobalsScoreHud.ElementHud_TIMER.iGenericTimer_ExtendedStartTimer[I])
|
|
// ELSE
|
|
// IF HAS_NET_TIMER_EXPIRED(MPGlobalsScoreHud.ElementHud_TIMER.iGenericTimer_ExtendedStartTimer[I], MPGlobalsScoreHud.ElementHud_TIMER.iGenericTimer_ExtendedTimer[I]) = FALSE
|
|
// MPGlobalsScoreHud.isSomethingDisplaying = TRUE
|
|
// SET_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_TIMER, I)
|
|
// ENDIF
|
|
// ENDIF
|
|
// ENDFOR
|
|
|
|
// FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
// IF IS_PROGRESSHUD_INIT_DONE_INDEXED(PROGRESSHUD_DOUBLE_NUMBER_PLACE, I)
|
|
// AND IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_DOUBLE_NUMBER_PLACE, I)
|
|
// RESET_NET_TIMER(MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.iGenericDoubleNumberPlace_ExtendedStartTimer[I])
|
|
//
|
|
// ELSE
|
|
// IF HAS_NET_TIMER_EXPIRED(MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.iGenericDoubleNumberPlace_ExtendedStartTimer[I], MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.iGenericDoubleNumberPlace_ExtendedTimer[I]) = FALSE
|
|
//
|
|
// MPGlobalsScoreHud.isSomethingDisplaying = TRUE
|
|
// SET_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_DOUBLE_NUMBER_PLACE, I)
|
|
// ENDIF
|
|
// ENDIF
|
|
// ENDFOR
|
|
|
|
// FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
// IF IS_PROGRESSHUD_INIT_DONE_INDEXED(PROGRESSHUD_DOUBLE_NUMBER, I)
|
|
// AND IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_DOUBLE_NUMBER, I)
|
|
// RESET_NET_TIMER(MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.iGenericDoubleNumber_ExtendedStartTimer[I])
|
|
//
|
|
// ELSE
|
|
// IF HAS_NET_TIMER_EXPIRED(MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.iGenericDoubleNumber_ExtendedStartTimer[I], MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.iGenericDoubleNumber_ExtendedTimer[I]) = FALSE
|
|
//
|
|
// MPGlobalsScoreHud.isSomethingDisplaying = TRUE
|
|
// SET_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_DOUBLE_NUMBER, I)
|
|
// ENDIF
|
|
// ENDIF
|
|
// ENDFOR
|
|
|
|
// FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
// IF IS_PROGRESSHUD_INIT_DONE_INDEXED(PROGRESSHUD_CHECKPOINT, I)
|
|
// AND IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_CHECKPOINT, I)
|
|
// RESET_NET_TIMER(MPGlobalsScoreHud.ElementHud_CHECKPOINT.iGenericCheckpoint_ExtendedStartTimer[I])
|
|
// ELSE
|
|
// IF HAS_NET_TIMER_EXPIRED(MPGlobalsScoreHud.ElementHud_CHECKPOINT.iGenericCheckpoint_ExtendedStartTimer[I], MPGlobalsScoreHud.ElementHud_CHECKPOINT.iGenericCheckpoint_ExtendedTimer[I]) = FALSE
|
|
// MPGlobalsScoreHud.isSomethingDisplaying = TRUE
|
|
// SET_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_CHECKPOINT, I)
|
|
// ENDIF
|
|
// ENDIF
|
|
// ENDFOR
|
|
|
|
// FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
// IF IS_PROGRESSHUD_INIT_DONE_INDEXED(PROGRESSHUD_METER, I)
|
|
// AND IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_METER, I)
|
|
// RESET_NET_TIMER(MPGlobalsScoreHud.ElementHud_METER.iGenericMeter_ExtendedStartTimer[I])
|
|
// ELSE
|
|
// IF HAS_NET_TIMER_EXPIRED(MPGlobalsScoreHud.ElementHud_METER.iGenericMeter_ExtendedStartTimer[I], MPGlobalsScoreHud.ElementHud_METER.iGenericMeter_ExtendedTimer[I]) = FALSE
|
|
// MPGlobalsScoreHud.isSomethingDisplaying = TRUE
|
|
// SET_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_METER, I)
|
|
// ENDIF
|
|
// ENDIF
|
|
// ENDFOR
|
|
|
|
|
|
IF IS_PROGRESSHUD_EXTENDDISPLAY_SET(PROGRESSHUD_ELIMINATION)
|
|
|
|
FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
// IF MPGlobalsScoreHud.bInit_GenericElimination[I] = TRUE
|
|
// NET_NL()NET_PRINT("MPGlobalsScoreHud.bInit_GenericElimination[I] = TRUE ")NET_PRINT_INT(I)NET_NL()
|
|
// ELSE
|
|
// NET_NL()NET_PRINT("MPGlobalsScoreHud.bInit_GenericElimination[I] = FALSE ")NET_PRINT_INT(I)NET_NL()
|
|
// ENDIF
|
|
// IF IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_ELIMINATION, I) = TRUE
|
|
// NET_NL()NET_PRINT("PROGRESSHUD_ELIMINATION = TRUE ")NET_PRINT_INT(I)NET_NL()
|
|
// ELSE
|
|
// NET_NL()NET_PRINT("PROGRESSHUD_ELIMINATION = FALSE ")NET_PRINT_INT(I)NET_NL()
|
|
// ENDIF
|
|
// NET_NL()NET_PRINT("MPGlobalsScoreHud.ElementHud_ELIMINATION.iGenericElimination_ExtendedTimer[I] = ")NET_PRINT_INT(MPGlobalsScoreHud.ElementHud_ELIMINATION.iGenericElimination_ExtendedTimer[I])NET_PRINT(" I = ")NET_PRINT_INT(I) NET_NL()
|
|
|
|
IF IS_PROGRESSHUD_INIT_DONE_INDEXED(PROGRESSHUD_ELIMINATION, I)
|
|
AND IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_ELIMINATION, I)
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.ElementHud_ELIMINATION.iGenericElimination_ExtendedStartTimer[I])
|
|
// NET_NL()NET_PRINT("MPGlobalsScoreHud.ElementHud_ELIMINATION.iGenericElimination_ExtendedTimer[I] = RESET_NET_TIMER")
|
|
ELSE
|
|
IF HAS_NET_TIMER_EXPIRED(MPGlobalsScoreHud.ElementHud_ELIMINATION.iGenericElimination_ExtendedStartTimer[I], MPGlobalsScoreHud.ElementHud_ELIMINATION.iGenericElimination_ExtendedTimer[I]) = FALSE
|
|
MPGlobalsScoreHud.isSomethingDisplaying = TRUE
|
|
SET_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_ELIMINATION, I)
|
|
// NET_NL()NET_PRINT("MPGlobalsScoreHud.ElementHud_ELIMINATION.iGenericElimination_ExtendedTimer[I] = HAS_NET_TIMER_EXPIRED TRUE")
|
|
ELSE
|
|
CLEAR_PROGRESSHUD_EXTENDDISPLAY(PROGRESSHUD_ELIMINATION, I)
|
|
// NET_NL()NET_PRINT("MPGlobalsScoreHud.ElementHud_ELIMINATION.iGenericElimination_ExtendedTimer[I] = HAS_NET_TIMER_EXPIRED = FALSE ")
|
|
ENDIF
|
|
ENDIF
|
|
ENDFOR
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
//BOOL InitWidgetBaseLine
|
|
//FLOAT BaseLineWidgetOffset
|
|
FUNC FLOAT BASE_LINE_OFFSET()
|
|
|
|
FLOAT result = 0.925-0.002
|
|
|
|
result += -0.036*MPGlobalsScoreHud.bNumberOfInstructionalButtonsRowsUnderHud
|
|
|
|
IF MPGlobalsScoreHud.bGolfScoreUnderHud = TRUE
|
|
result += -0.15
|
|
ELIF MPGlobalsScoreHud.bCoronaUnderHud = TRUE
|
|
result += -0.048-0.753
|
|
ENDIF
|
|
IF MPGlobalsScoreHud.bTopRightHud = TRUE
|
|
result += -0.919
|
|
ENDIF
|
|
IF MPGlobalsScoreHud.bSwitchWheel = TRUE
|
|
result += -0.184
|
|
ENDIF
|
|
IF MPGlobalsScoreHud.bSwitchWheelAndStats = TRUE
|
|
result += -0.522
|
|
ENDIF
|
|
|
|
|
|
IF MPGlobalsScoreHud.bPhoneUnderHud = TRUE
|
|
AND MPGlobalsScoreHud.bPhoneUnderHudNoRise = FALSE
|
|
SWITCH get_current_player_ped_enum()
|
|
CASE CHAR_MICHAEL
|
|
result += -0.405
|
|
BREAK
|
|
CASE CHAR_TREVOR
|
|
result += -0.405
|
|
BREAK
|
|
CASE CHAR_FRANKLIN
|
|
result += -0.414
|
|
BREAK
|
|
DEFAULT //MP
|
|
IF NOT IS_CELLPHONE_CAMERA_IN_USE()
|
|
result += -0.405
|
|
ENDIF
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
ENDIF
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF InitWidgetBaseLine = FALSE
|
|
// START_WIDGET_GROUP("BOTTOM RIGHT START POSITION")
|
|
// ADD_WIDGET_FLOAT_SLIDER("BaseLineWidgetOffset", BaseLineWidgetOffset, -1, 1, 0.001)
|
|
// ADD_WIDGET_BOOL("bTopRightHud", MPGlobalsScoreHud.bTopRightHud)
|
|
// ADD_WIDGET_BOOL("bPhoneUnderHud", MPGlobalsScoreHud.bPhoneUnderHud)
|
|
// STOP_WIDGET_GROUP()
|
|
// InitWidgetBaseLine = TRUE
|
|
// ENDIF
|
|
// result += BaseLineWidgetOffset
|
|
// #ENDIF
|
|
|
|
|
|
|
|
|
|
RETURN result
|
|
ENDFUNC
|
|
|
|
PROC RESET_ALL_HUD_ELEMENTS_PRIVATE()
|
|
|
|
|
|
MPGlobalsScoreHud.iHowManyDisplays = 0
|
|
MPGlobalsScoreHud.HudStartY = 0.725
|
|
MPGlobalsScoreHud.BottomStartY = BASE_LINE_OFFSET()
|
|
MPGlobalsScoreHud.isSomethingDisplaying = FALSE
|
|
MPGlobalsScoreHud.bNumberOfInstructionalButtonsRowsUnderHud = 0
|
|
MPGlobalsScoreHud.bGolfScoreUnderHud = FALSE
|
|
MPGlobalsScoreHud.bCoronaUnderHud = FALSE
|
|
MPGlobalsScoreHud.bPhoneUnderHud = FALSE
|
|
MPGlobalsScoreHud.bPhoneUnderHudNoRise = FALSE
|
|
MPGlobalsScoreHud.bTopRightHud = FALSE
|
|
MPGlobalsScoreHud.bSwitchWheel = FALSE
|
|
MPGlobalsScoreHud.bSwitchWheelAndStats = FALSE
|
|
MPGlobalsScoreHud.bSniperScopeOn = FALSE
|
|
MPGlobalsScoreHud.bTitleFarLeftJustified = FALSE
|
|
MPGlobalsScoreHud.bTitleMiddleJustified = FALSE
|
|
MPGlobalsScoreHud.bTitleExtraLeftJustified = FALSE
|
|
MPGlobalsScoreHud.bTitleInsaneLeftJustified = FALSE
|
|
MPGlobalsScoreHud.bTitleInsanePlusLeftJustified = FALSE
|
|
|
|
|
|
#IF USE_TU_CHANGES
|
|
g_b_HoldOffDrawingTimersThisFrame = FALSE
|
|
#ENDIF
|
|
|
|
g_b_ChangePlayerNameToTeamName = FALSE
|
|
g_b_UseBottomRightTitleColour = FALSE
|
|
g_b_iNumberOfDecimalPlacesForScore = 1
|
|
#IF USE_TU_CHANGES
|
|
g_b_IsATMrenderingForTimers = FALSE
|
|
#ENDIF
|
|
|
|
//BC Added a reset for the Generic Number UI
|
|
INT I
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_SINGLE_NUMBER)
|
|
FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
IF IS_PROGRESSHUD_INIT_DONE_INDEXED(PROGRESSHUD_SINGLE_NUMBER, I)
|
|
AND IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_SINGLE_NUMBER, I)
|
|
RESET_HUDELEMENT_SINGLENUMBER(I)
|
|
SET_PROGRESSHUD_INIT_NOT_DONE(PROGRESSHUD_SINGLE_NUMBER, I)
|
|
ENDIF
|
|
// SET_PROGRESSHUD_ACTIVATION_OFF(PROGRESSHUD_SINGLE_NUMBER, I)
|
|
ENDFOR
|
|
ENDIF
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_SCORE)
|
|
FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
IF IS_PROGRESSHUD_INIT_DONE_INDEXED(PROGRESSHUD_SCORE, I)
|
|
AND IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_SCORE, I)
|
|
RESET_HUDELEMENT_SCORE(I)
|
|
SET_PROGRESSHUD_INIT_NOT_DONE(PROGRESSHUD_SCORE, I)
|
|
ENDIF
|
|
// SET_PROGRESSHUD_ACTIVATION_OFF(PROGRESSHUD_SCORE, I)
|
|
ENDFOR
|
|
ENDIF
|
|
|
|
//BC Added a reset for the Generic Timer UI
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_TIMER)
|
|
FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
IF IS_PROGRESSHUD_INIT_DONE_INDEXED(PROGRESSHUD_TIMER, I)
|
|
AND IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_TIMER, I)
|
|
RESET_HUDELEMENT_TIMER(I)
|
|
SET_PROGRESSHUD_INIT_NOT_DONE(PROGRESSHUD_TIMER, I)
|
|
ENDIF
|
|
// SET_PROGRESSHUD_ACTIVATION_OFF(PROGRESSHUD_TIMER, I)
|
|
ENDFOR
|
|
ENDIF
|
|
|
|
//BC Added a reset for the Generic Double Number UI
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_DOUBLE_NUMBER)
|
|
FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
IF IS_PROGRESSHUD_INIT_DONE_INDEXED(PROGRESSHUD_DOUBLE_NUMBER, I)
|
|
AND IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_DOUBLE_NUMBER, I)
|
|
RESET_HUDELEMENT_DOUBLENUMBER(I)
|
|
SET_PROGRESSHUD_INIT_NOT_DONE(PROGRESSHUD_DOUBLE_NUMBER, I)
|
|
ENDIF
|
|
// SET_PROGRESSHUD_ACTIVATION_OFF(PROGRESSHUD_DOUBLE_NUMBER, I)
|
|
ENDFOR
|
|
ENDIF
|
|
|
|
//BC Added a reset for the Generic Double with Placement Number UI
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_DOUBLE_NUMBER_PLACE)
|
|
FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
IF IS_PROGRESSHUD_INIT_DONE_INDEXED(PROGRESSHUD_DOUBLE_NUMBER_PLACE, I)
|
|
AND IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_DOUBLE_NUMBER_PLACE, I)
|
|
RESET_HUDELEMENT_DOUBLENUMPLACE(I)
|
|
SET_PROGRESSHUD_INIT_NOT_DONE(PROGRESSHUD_DOUBLE_NUMBER_PLACE, I)
|
|
ENDIF
|
|
// SET_PROGRESSHUD_ACTIVATION_OFF(PROGRESSHUD_DOUBLE_NUMBER_PLACE, I)
|
|
ENDFOR
|
|
ENDIF
|
|
|
|
//BC Added a reset for the Generic Checkpoint UI
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_CHECKPOINT)
|
|
FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
IF IS_PROGRESSHUD_INIT_DONE_INDEXED(PROGRESSHUD_CHECKPOINT, I)
|
|
AND IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_CHECKPOINT, I)
|
|
RESET_HUDELEMENT_CHECKPOINTS(I)
|
|
SET_PROGRESSHUD_INIT_NOT_DONE(PROGRESSHUD_CHECKPOINT, I)
|
|
ENDIF
|
|
// SET_PROGRESSHUD_ACTIVATION_OFF(PROGRESSHUD_CHECKPOINT, I)
|
|
ENDFOR
|
|
ENDIF
|
|
|
|
//BC Added a reset for the Generic Meter UI
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_METER)
|
|
FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
IF IS_PROGRESSHUD_INIT_DONE_INDEXED(PROGRESSHUD_METER, I)
|
|
AND IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_METER, I)
|
|
RESET_HUDELEMENT_METERS(I)
|
|
SET_PROGRESSHUD_INIT_NOT_DONE(PROGRESSHUD_METER, I)
|
|
ENDIF
|
|
// SET_PROGRESSHUD_ACTIVATION_OFF(PROGRESSHUD_METER, I)
|
|
ENDFOR
|
|
ENDIF
|
|
|
|
//BC Added a reset for the Generic Elimination UI
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_ELIMINATION)
|
|
FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
IF IS_PROGRESSHUD_INIT_DONE_INDEXED(PROGRESSHUD_ELIMINATION, I)
|
|
AND IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_ELIMINATION, I) = FALSE
|
|
RESET_HUDELEMENT_ELIMINATION(I)
|
|
SET_PROGRESSHUD_INIT_NOT_DONE(PROGRESSHUD_ELIMINATION, I)
|
|
|
|
ENDIF
|
|
// SET_PROGRESSHUD_ACTIVATION_OFF(PROGRESSHUD_ELIMINATION, I)
|
|
ENDFOR
|
|
ENDIF
|
|
|
|
//RP Added a reset for Generic Wind Meter UI
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_WINDMETER)
|
|
FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
IF IS_PROGRESSHUD_INIT_DONE_INDEXED(PROGRESSHUD_WINDMETER, I)
|
|
AND IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_WINDMETER, I) = FALSE
|
|
RESET_HUDELEMENT_WINDMETER(I)
|
|
SET_PROGRESSHUD_INIT_NOT_DONE(PROGRESSHUD_WINDMETER, I)
|
|
ENDIF
|
|
// SET_PROGRESSHUD_ACTIVATION_OFF(PROGRESSHUD_WINDMETER, I)
|
|
ENDFOR
|
|
ENDIF
|
|
|
|
//SR Added a reset for Generic Big Race Position UI
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_BIG_RACE_POSITION)
|
|
FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
IF IS_PROGRESSHUD_INIT_DONE_INDEXED(PROGRESSHUD_BIG_RACE_POSITION, I)
|
|
AND IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_BIG_RACE_POSITION, I) = FALSE
|
|
RESET_HUDELEMENT_BIG_RACE_POSITION(I)
|
|
SET_PROGRESSHUD_INIT_NOT_DONE(PROGRESSHUD_BIG_RACE_POSITION, I)
|
|
ENDIF
|
|
// SET_PROGRESSHUD_ACTIVATION_OFF(PROGRESSHUD_BIG_RACE_POSITION, I)
|
|
ENDFOR
|
|
ENDIF
|
|
|
|
//SR Added a reset for Generic Sprite Meter UI
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_SPRITE_METER)
|
|
FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
IF IS_PROGRESSHUD_INIT_DONE_INDEXED(PROGRESSHUD_SPRITE_METER, I)
|
|
AND IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_SPRITE_METER, I) = FALSE
|
|
RESET_HUDELEMENT_SPRITE_METERS(I)
|
|
SET_PROGRESSHUD_INIT_NOT_DONE(PROGRESSHUD_SPRITE_METER, I)
|
|
ENDIF
|
|
// SET_PROGRESSHUD_ACTIVATION_OFF(PROGRESSHUD_SPRITE_METER, I)
|
|
ENDFOR
|
|
ENDIF
|
|
|
|
//SR Added a reset for Generic Four Icon Bar
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_FOUR_ICON_BAR)
|
|
FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
IF IS_PROGRESSHUD_INIT_DONE_INDEXED(PROGRESSHUD_FOUR_ICON_BAR, I)
|
|
AND IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_FOUR_ICON_BAR, I) = FALSE
|
|
RESET_HUDELEMENT_FOUR_ICON_BAR(I)
|
|
SET_PROGRESSHUD_INIT_NOT_DONE(PROGRESSHUD_FOUR_ICON_BAR, I)
|
|
ENDIF
|
|
// SET_PROGRESSHUD_ACTIVATION_OFF(PROGRESSHUD_FOUR_ICON_BAR, I)
|
|
ENDFOR
|
|
ENDIF
|
|
|
|
//SR Added a reset for Generic Five Icon Score Bar
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_FIVE_ICON_SCORE_BAR)
|
|
FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
IF IS_PROGRESSHUD_INIT_DONE_INDEXED(PROGRESSHUD_FIVE_ICON_SCORE_BAR, I)
|
|
AND IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_FIVE_ICON_SCORE_BAR, I) = FALSE
|
|
RESET_HUDELEMENT_FIVE_ICON_SCORE_BAR(I)
|
|
SET_PROGRESSHUD_INIT_NOT_DONE(PROGRESSHUD_FIVE_ICON_SCORE_BAR, I)
|
|
ENDIF
|
|
// SET_PROGRESSHUD_ACTIVATION_OFF(PROGRESSHUD_FIVE_ICON_SCORE_BAR, I)
|
|
ENDFOR
|
|
ENDIF
|
|
|
|
//SR Added a reset for Generic Six Icon Bar
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_SIX_ICON_BAR)
|
|
FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT - 1
|
|
IF IS_PROGRESSHUD_INIT_DONE_INDEXED(PROGRESSHUD_SIX_ICON_BAR, I)
|
|
AND IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_SIX_ICON_BAR, I) = FALSE
|
|
RESET_HUDELEMENT_SIX_ICON_BAR(I)
|
|
|
|
SET_PROGRESSHUD_INIT_NOT_DONE(PROGRESSHUD_SIX_ICON_BAR, I)
|
|
ENDIF
|
|
ENDFOR
|
|
ENDIF
|
|
|
|
//SR Added a reset for Generic Double Text
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_DOUBLE_TEXT)
|
|
FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
IF IS_PROGRESSHUD_INIT_DONE_INDEXED(PROGRESSHUD_DOUBLE_TEXT, I)
|
|
AND IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_DOUBLE_TEXT, I) = FALSE
|
|
RESET_HUDELEMENT_DOUBLE_TEXT(I)
|
|
SET_PROGRESSHUD_INIT_NOT_DONE(PROGRESSHUD_DOUBLE_TEXT, I)
|
|
ENDIF
|
|
// SET_PROGRESSHUD_ACTIVATION_OFF(PROGRESSHUD_DOUBLE_TEXT, I)
|
|
ENDFOR
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
|
|
//BOOL RightEdgeWidgetStart
|
|
//FLOAT RightEdge_WIDGETVAlue
|
|
//FLOAT RightEdge_UI_SINGLE_NUMBER_WIDGETVAlue
|
|
|
|
PROC SET_WORD_WRAPPING_RIGHTEDGE(TEXT_STYLE& aTitle)
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF RightEdgeWidgetStart = FALSE
|
|
//
|
|
// START_WIDGET_GROUP("SET_WORD_WRAPPING_RIGHTEDGE")
|
|
// ADD_WIDGET_FLOAT_SLIDER("SET_WORD_WRAPPING_RIGHTEDGE: RightEdge_WIDGETVAlue", RightEdge_WIDGETVAlue, -1, 1, 0.001)
|
|
// ADD_WIDGET_FLOAT_SLIDER("SET_WORD_WRAPPING_RIGHTEDGE: SINGLE NUMBER", RightEdge_UI_SINGLE_NUMBER_WIDGETVAlue, -1, 1, 0.001)
|
|
//
|
|
// STOP_WIDGET_GROUP()
|
|
// RightEdgeWidgetStart = TRUE
|
|
// ENDIF
|
|
// #ENDIF
|
|
|
|
FLOAT Offset = 0.95-0.047+0.001+0.047-0.002+0.001
|
|
aTitle.WrapEndX = Offset
|
|
|
|
IF MPGlobalsScoreHud.bCoronaUnderHud = FALSE
|
|
SWITCH aTitle.aTextType
|
|
CASE TEXTTYPE_TS_UI_SINGLE_NUMBER
|
|
aTitle.WrapEndX += 0.001
|
|
// #IF IS_DEBUG_BUILD
|
|
// aTitle.WrapEndX += RightEdge_UI_SINGLE_NUMBER_WIDGETVAlue
|
|
// #ENDIF
|
|
BREAK
|
|
CASE TEXTTYPE_TS_UI_TIMERNUMBER_TWOSETS
|
|
aTitle.WrapEndX += 0.001
|
|
// #IF IS_DEBUG_BUILD
|
|
// aTitle.WrapEndX += RightEdge_UI_SINGLE_NUMBER_WIDGETVAlue
|
|
// #ENDIF
|
|
BREAK
|
|
|
|
|
|
DEFAULT
|
|
|
|
BREAK
|
|
|
|
|
|
ENDSWITCH
|
|
ENDIF
|
|
|
|
|
|
|
|
IF MPGlobalsScoreHud.bCoronaUnderHud = TRUE
|
|
aTitle.WrapEndX = Offset
|
|
aTitle.WrapEndX += RIGHT_EDGE_CORONA_OFFSET
|
|
ENDIF
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// aTitle.WrapEndX += RightEdge_WIDGETVAlue
|
|
// #ENDIF
|
|
|
|
ENDPROC
|
|
|
|
//BOOL RightEdgeDOTWidgetStart
|
|
//FLOAT RightEdgeDOT_WIDGETVAlue
|
|
|
|
PROC SET_WORD_WRAPPING_RIGHTEDGE_AND_DOT(TEXT_STYLE& aTitle)
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF RightEdgeDOTWidgetStart = FALSE
|
|
//
|
|
// START_WIDGET_GROUP("SET_WORD_WRAPPING_RIGHTEDGE_AND_DOT")
|
|
// ADD_WIDGET_FLOAT_SLIDER("SET_WORD_WRAPPING_RIGHTEDGE_AND_DOT: RightEdge_WIDGETVAlue", RightEdgeDOT_WIDGETVAlue, -1, 1, 0.001)
|
|
// STOP_WIDGET_GROUP()
|
|
// RightEdgeDOTWidgetStart = TRUE
|
|
// ENDIF
|
|
// #ENDIF
|
|
|
|
|
|
|
|
|
|
aTitle.WrapEndX = 0.95-0.047+0.001+0.047-0.002-0.013
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// aTitle.WrapEndX += RightEdgeDOT_WIDGETVAlue
|
|
// #ENDIF
|
|
|
|
ENDPROC
|
|
|
|
|
|
|
|
//BOOL RightEdgePLACEWidgetStart
|
|
//FLOAT RightEdgePLACE_WIDGETVAlue
|
|
|
|
PROC SET_WORD_WRAPPING_RIGHTEDGE_AND_PLACE(TEXT_STYLE& aTitle)
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF RightEdgePLACEWidgetStart = FALSE
|
|
//
|
|
// START_WIDGET_GROUP("SET_WORD_WRAPPING_RIGHTEDGE_AND_PLACE")
|
|
// ADD_WIDGET_FLOAT_SLIDER("SET_WORD_WRAPPING_RIGHTEDGE_AND_PLACE: RightEdge_WIDGETVAlue", RightEdgePLACE_WIDGETVAlue, -1, 1, 0.001)
|
|
// STOP_WIDGET_GROUP()
|
|
// RightEdgePLACEWidgetStart = TRUE
|
|
// ENDIF
|
|
// #ENDIF
|
|
|
|
|
|
|
|
|
|
aTitle.WrapEndX = 0.95-0.047+0.001+0.047-0.002-0.013+0.014
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// aTitle.WrapEndX += RightEdgePLACE_WIDGETVAlue
|
|
// #ENDIF
|
|
|
|
ENDPROC
|
|
|
|
//BOOL RightEdgeAMPMWidgetStart
|
|
//FLOAT RightEdgeAMPM_WIDGETVAlue
|
|
|
|
PROC SET_WORD_WRAPPING_RIGHTEDGE_AMPM(TEXT_STYLE& aTitle)
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF RightEdgeAMPMWidgetStart = FALSE
|
|
//
|
|
// START_WIDGET_GROUP("SET_WORD_WRAPPING_RIGHTEDGE_AND_AMPM")
|
|
// ADD_WIDGET_FLOAT_SLIDER("SET_WORD_WRAPPING_RIGHTEDGE_AND_AMPM: RightEdge_WIDGETVAlue", RightEdgeAMPM_WIDGETVAlue, -1, 1, 0.001)
|
|
// STOP_WIDGET_GROUP()
|
|
// RightEdgeAMPMWidgetStart = TRUE
|
|
// ENDIF
|
|
// #ENDIF
|
|
|
|
|
|
|
|
|
|
aTitle.WrapEndX = 0.95-0.047+0.001+0.047-0.002-0.013+0.014-0.024+0.005
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// aTitle.WrapEndX += RightEdgeAMPM_WIDGETVAlue
|
|
// #ENDIF
|
|
|
|
ENDPROC
|
|
|
|
//BOOL RightEdgeXPWidgetStart
|
|
//FLOAT RightEdgeXP_WIDGETVAlue
|
|
|
|
PROC SET_WORD_WRAPPING_RIGHTEDGE_AND_XP(TEXT_STYLE& aTitle)
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF RightEdgeXPWidgetStart = FALSE
|
|
//
|
|
// START_WIDGET_GROUP("SET_WORD_WRAPPING_RIGHTEDGE_AND_XP")
|
|
// ADD_WIDGET_FLOAT_SLIDER("SET_WORD_WRAPPING_RIGHTEDGE_AND_XP: RightEdge_WIDGETVAlue", RightEdgeXP_WIDGETVAlue, -1, 1, 0.001)
|
|
// STOP_WIDGET_GROUP()
|
|
// RightEdgeXPWidgetStart = TRUE
|
|
// ENDIF
|
|
// #ENDIF
|
|
|
|
aTitle.WrapEndX = 0.95-0.047+0.001+0.047-0.002-0.013-0.002-0.001
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// aTitle.WrapEndX += RightEdgeXP_WIDGETVAlue
|
|
// #ENDIF
|
|
|
|
ENDPROC
|
|
|
|
|
|
|
|
PROC SET_WORD_HUD_COLOUR(TEXT_STYLE& aTitle, HUD_COLOURS aColour)
|
|
INT RED, GREEN, BLUE, AlphaValue
|
|
GET_HUD_COLOUR(aColour, RED, GREEN, BLUE, AlphaValue)
|
|
aTitle.r = RED
|
|
aTitle.g = GREEN
|
|
aTitle.b = BLUE
|
|
aTitle.a = AlphaValue
|
|
ENDPROC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#IF USE_TU_CHANGES
|
|
|
|
FUNC BOOL DRAW_CROSSED_DOT(INT Index, BOOL CrossedDot0,BOOL CrossedDot1,BOOL CrossedDot2,BOOL CrossedDot3,BOOL CrossedDot4,BOOL CrossedDot5,BOOL CrossedDot6,BOOL CrossedDot7)
|
|
|
|
IF Index = 0
|
|
AND CrossedDot0 = TRUE
|
|
RETURN TRUE
|
|
ENDIF
|
|
|
|
IF Index = 1
|
|
AND CrossedDot1 = TRUE
|
|
RETURN TRUE
|
|
ENDIF
|
|
|
|
IF Index = 2
|
|
AND CrossedDot2 = TRUE
|
|
RETURN TRUE
|
|
ENDIF
|
|
|
|
IF Index = 3
|
|
AND CrossedDot3 = TRUE
|
|
RETURN TRUE
|
|
ENDIF
|
|
|
|
IF Index = 4
|
|
AND CrossedDot4 = TRUE
|
|
RETURN TRUE
|
|
ENDIF
|
|
|
|
IF Index = 5
|
|
AND CrossedDot5 = TRUE
|
|
RETURN TRUE
|
|
ENDIF
|
|
|
|
|
|
IF Index = 6
|
|
AND CrossedDot6 = TRUE
|
|
RETURN TRUE
|
|
ENDIF
|
|
|
|
IF Index = 7
|
|
AND CrossedDot7 = TRUE
|
|
RETURN TRUE
|
|
ENDIF
|
|
|
|
|
|
RETURN FALSE
|
|
|
|
ENDFUNC
|
|
|
|
#ENDIF
|
|
|
|
|
|
//#IF IS_DEBUG_BUILD
|
|
//BOOL InitiMask
|
|
//SPRITE_PLACEMENT CheckpointWidget
|
|
//FLOAT CheckpointSpacingWidget
|
|
//TEXT_STYLE NumberStyle_Widget
|
|
//TEXT_PLACEMENT NumberPlacement_Widget
|
|
//#ENDIF
|
|
PROC RUN_CHECKPOINT_GUTS(INT NumCheckpointsPassed, INT MaxNumCheckpoints, SPRITE_PLACEMENT& Sprites[], TEXT_STYLE& NumberStyle, TEXT_PLACEMENT& NumberPlace, HUD_COLOURS Colour, GFX_DRAW_ORDER anOrder, BOOL DisplaySingleDot
|
|
#IF USE_TU_CHANGES , BOOL CrossedDot0,BOOL CrossedDot1,BOOL CrossedDot2,BOOL CrossedDot3,BOOL CrossedDot4,BOOL CrossedDot5,BOOL CrossedDot6,BOOL CrossedDot7 #ENDIF)
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF InitiMask = FALSE
|
|
////
|
|
// START_WIDGET_GROUP("CHECKPOINT")
|
|
// CREATE_A_SPRITE_PLACEMENT_WIDGET(CheckpointWidget, "CheckpointWidget")
|
|
// ADD_WIDGET_FLOAT_SLIDER("CheckpointSpacingWidget", CheckpointSpacingWidget, -1, 1, 0.001)
|
|
//
|
|
// CREATE_A_TEXT_STYLE_WIGET(NumberStyle_Widget, "NumberStyle_Widget")
|
|
// CREATE_A_TEXT_PLACEMENT_WIDGET(NumberPlacement_Widget, "NumberPlacement_Widget")
|
|
// STOP_WIDGET_GROUP()
|
|
////
|
|
// InitiMask = TRUE
|
|
// ENDIF
|
|
// #ENDIF
|
|
|
|
|
|
|
|
// FLOAT WidthOffsetTimers = -0.002
|
|
// FLOAT XOffsetTimers = 0.001
|
|
//
|
|
// FLOAT MaskWidthOffsetTimersCheckPoint = -0.001//0.001 //0.0 if you want a sliver at 0
|
|
// IF NumCheckpointsPassed = 0
|
|
// MaskWidthOffsetTimersCheckPoint = 0.0
|
|
// ENDIF
|
|
// FLOAT MaskXOffsetTimersCheckPoint = 0.002
|
|
//
|
|
// FLOAT MainMaskHeight = -0.003
|
|
// FLOAT OverlayMaskHeight = 0.004
|
|
// FLOAT FillMaskHeight = 0.002
|
|
|
|
IF MaxNumCheckpoints < CHECKPOINT_TIMER_SWITCH
|
|
|
|
FLOAT SpacingofDots = CHECKPOINT_DOT_SPACING
|
|
// #IF IS_DEBUG_BUILD
|
|
// SpacingofDots += CheckpointSpacingWidget
|
|
// #ENDIF
|
|
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBars")
|
|
#IF IS_DEBUG_BUILD
|
|
REQUEST_STREAMED_TEXTURE_DICT("Cross")
|
|
#ENDIF
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBars")
|
|
#IF IS_DEBUG_BUILD
|
|
AND HAS_STREAMED_TEXTURE_DICT_LOADED("Cross")
|
|
#ENDIF
|
|
|
|
INT I
|
|
FOR I = 0 TO MaxNumCheckpoints-1
|
|
// #if IS_DEBUG_BUILD
|
|
//
|
|
// UPDATE_SPRITE_WIDGET_VALUE(Sprites[I], CheckpointWidget)
|
|
// #ENDIF
|
|
|
|
Sprites[I].x += SpacingofDots*I
|
|
IF ((MaxNumCheckpoints-I) > NumCheckpointsPassed)
|
|
// Sprites[I].x += SpacingofDots*I
|
|
|
|
|
|
|
|
SET_SPRITE_HUD_COLOUR(Sprites[I], Colour)
|
|
|
|
Sprites[I].a = TIMER_METER_NON_SELECTED_ALPHA
|
|
|
|
DRAW_2D_SPRITE("TimerBars", "Circle_checkpoints_Outline", Sprites[I], FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
ELSE
|
|
|
|
|
|
// IF (MaxNumCheckpoints-I) > NumCheckpointsPassed
|
|
// SET_SPRITE_HUD_COLOUR(Sprites[I], HUD_COLOUR_BLACK)
|
|
// ELSE
|
|
SET_SPRITE_HUD_COLOUR(Sprites[I], Colour)
|
|
// ENDIF
|
|
|
|
DRAW_2D_SPRITE("TimerBars", "Circle_checkpoints", Sprites[I], FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
|
|
#IF USE_TU_CHANGES
|
|
IF DRAW_CROSSED_DOT(I, CrossedDot0, CrossedDot1, CrossedDot2, CrossedDot3, CrossedDot4, CrossedDot5, CrossedDot6, CrossedDot7)
|
|
|
|
SET_SPRITE_HUD_COLOUR(Sprites[I], HUD_COLOUR_BLACK)
|
|
DRAW_2D_SPRITE("Cross", "Circle_checkpoints_Cross", Sprites[I], FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
|
|
ENDIF
|
|
|
|
|
|
ENDFOR
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// SET_SPRITE_HUD_COLOUR(Sprites[0], OuterRingColour)
|
|
//
|
|
// DRAW_2D_SPRITE("TimerBars", "GaugeForIngameHUD_Outline", Sprites[0], FALSE)
|
|
//
|
|
// Sprites[0].w += WidthOffsetTimers
|
|
// Sprites[0].x += XOffsetTimers
|
|
// Sprites[0].h += MainMaskHeight
|
|
//
|
|
// GET_SPRITE_LEVEL_BAR(Sprites[0], 100,Sprites[1], FALSE)
|
|
//
|
|
//
|
|
// SET_SPRITE_HUD_COLOUR(Sprites[1], Colour)
|
|
//
|
|
// GET_SPRITE_LEVEL_BAR(Sprites[0], 100,Sprites[3], FALSE)
|
|
// IF GET_BAR_CONTRAST_COLOUR(Colour) = HUD_COLOUR_BLACK
|
|
// Sprites[3].a = 90
|
|
// ENDIF
|
|
// Sprites[3].h += FillMaskHeight
|
|
// SET_SPRITE_HUD_COLOUR(Sprites[3], GET_BAR_CONTRAST_COLOUR(Colour))
|
|
// DRAW_2D_SPRITE("TimerBars", "GaugeForIngameHUD_BackgroundAndFill", Sprites[3], FALSE)
|
|
//
|
|
// IF NumCheckpointsPassed > 0
|
|
// FLOAT Percent = (TO_FLOAT(NumCheckpointsPassed)/TO_FLOAT(MaxNumCheckpoints) *100)
|
|
//
|
|
// GET_SPRITE_LEVEL_BAR(Sprites[0], Percent,Sprites[2], FALSE, FALSE, 0, FALSE)
|
|
// Sprites[2].w += MaskWidthOffsetTimersCheckPoint
|
|
// Sprites[2].x += MaskXOffsetTimersCheckPoint
|
|
// Sprites[2].h += OverlayMaskHeight
|
|
//
|
|
//
|
|
// //SET_SPRITES_DRAW_BEFORE_FADE(FALSE)
|
|
//
|
|
// SET_SCRIPT_GFX_DRAW_ORDER(GFX_ORDER_AFTER_HUD)
|
|
// SET_MASK_ATTRIBUTES(Sprites[2].x, Sprites[2].y, Sprites[2].w, Sprites[2].h)
|
|
// SET_MASK_ACTIVE(TRUE)
|
|
// DRAW_2D_SPRITE("TimerBars", "GaugeForIngameHUD_BackgroundAndFill", Sprites[1], FALSE)
|
|
// SET_MASK_ATTRIBUTES(0,0,0,0)
|
|
// SET_MASK_ACTIVE(FALSE)
|
|
// ENDIF
|
|
//
|
|
// DRAW_DIVIDING_LINES(Sprites[0],aRect, MaxNumCheckpoints)
|
|
ELSE
|
|
NET_NL()NET_PRINT("waiting on TimerBars to load")NET_NL()
|
|
|
|
ENDIF
|
|
|
|
ELSE
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// UPDATE_TEXT_STYLE_WIDGET_VALUE(NumberStyle, NumberStyle_Widget)
|
|
// UPDATE_TEXT_PLACEMENT_WIDGET_VALUE(NumberPlace, NumberPlacement_Widget)
|
|
// #ENDIF
|
|
|
|
IF Colour = HUD_COLOUR_WHITE
|
|
DRAW_TEXT_WITH_2_NUMBERS(NumberPlace,NumberStyle,"TIMER_DASHES", NumCheckpointsPassed,MaxNumCheckpoints,FONT_RIGHT)
|
|
|
|
ELSE
|
|
|
|
SET_WORD_WRAPPING_RIGHTEDGE_AND_DOT(NumberStyle)
|
|
|
|
IF DisplaySingleDot
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBars")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBars")
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// UPDATE_SPRITE_WIDGET_VALUE(Sprites[0], CheckpointWidget)
|
|
// #ENDIF
|
|
|
|
Sprites[0].x += 0.058-0.060
|
|
Sprites[0].y += -0.005
|
|
Sprites[0].w += 0.003-0.005+0.002
|
|
Sprites[0].h += 0.009-0.010
|
|
|
|
SET_SPRITE_HUD_COLOUR(Sprites[0], Colour)
|
|
|
|
DRAW_2D_SPRITE("TimerBars", "Circle_checkpoints_Big", Sprites[0], FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
STRING Dashes = "TIMER_DASHES"
|
|
|
|
IF DisplaySingleDot = TRUE
|
|
AND NumCheckpointsPassed > 99
|
|
AND MaxNumCheckpoints > 99
|
|
Dashes = "TIMER_DASHES"
|
|
ENDIF
|
|
|
|
DRAW_TEXT_WITH_2_NUMBERS(NumberPlace,NumberStyle,Dashes, NumCheckpointsPassed,MaxNumCheckpoints,FONT_RIGHT)
|
|
ENDIF
|
|
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
|
|
|
|
|
|
//BOOL DamagedWidgetINIT
|
|
//SPRITE_PLACEMENT Offset_Widget_Sprite[2]
|
|
|
|
PROC SET_SPRITE_PULSE_COLOUR(SPRITE_PLACEMENT &thisSprite, HUD_COLOURS eStartingColour, HUD_COLOURS ePulseColour, INT iPulseTime, SCRIPT_TIMER stPulseTimer)
|
|
INT iR, iG, iB, iA, iPR, iPG, iPB, iPA
|
|
INT iElapsedTime = GET_NET_TIMER_DIFFERENCE_WITH_CURRENT_TIME(stPulseTimer)
|
|
FLOAT fPulseTime
|
|
|
|
IF (iPulseTime / 2) > iElapsedTime
|
|
fPulseTime = (TO_FLOAT(iElapsedTime / 2) / TO_FLOAT(iPulseTime / 2))
|
|
GET_HUD_COLOUR(eStartingColour, iR, iG, iB, iA)
|
|
GET_HUD_COLOUR(ePulseColour, iPR, iPG, iPB, iPA)
|
|
ELSE
|
|
fPulseTime = (TO_FLOAT(iElapsedTime) / TO_FLOAT(iPulseTime))
|
|
GET_HUD_COLOUR(ePulseColour, iR, iG, iB, iA)
|
|
GET_HUD_COLOUR(eStartingColour, iPR, iPG, iPB, iPA)
|
|
ENDIF
|
|
|
|
thisSprite.r = FLOOR(LERP_FLOAT(TO_FLOAT(iR), TO_FLOAT(iPR), fPulseTime))
|
|
thisSprite.g = FLOOR(LERP_FLOAT(TO_FLOAT(iG), TO_FLOAT(iPG), fPulseTime))
|
|
thisSprite.b = FLOOR(LERP_FLOAT(TO_FLOAT(iB), TO_FLOAT(iPB), fPulseTime))
|
|
thisSprite.a = FLOOR(LERP_FLOAT(TO_FLOAT(iA), TO_FLOAT(iPA), fPulseTime))
|
|
ENDPROC
|
|
|
|
PROC RUN_METER_GUTS(INT CurrentLevel, INT MaxLevel, SPRITE_PLACEMENT& Sprites[], HUD_COLOURS Colour, BOOL OnlyZeroIsEmpty, GFX_DRAW_ORDER anOrder , SCRIPT_TIMER &stPulseTimer, SCRIPT_TIMER &stSecBarPulseTimer, INT iDrawRedDangerZonePercent = 0, PERCENTAGE_METER_LINE Percentage = PERCENTAGE_METER_LINE_NONE, BOOL MakeBarUrgent = FALSE, INT iUrgentPercentage = 0, FLOAT fCurrentLevel = -1.0, FLOAT fMaxLevel = -1.0, HUD_COLOURS PulseToColour = HUD_COLOUR_WHITE, INT iPulseTime = -1, BOOL bUseSecondaryBar = FALSE, HUD_COLOURS eSecondaryBarColour = HUD_COLOUR_WHITE, FLOAT fSecondaryBarPercentage = -1.0, BOOL bTransparentSecBarIntersectingMainBar = FALSE, HUD_COLOURS eSecBarPulseToColour = HUD_COLOUR_WHITE, INT iSecBarPulseTime = -1, FLOAT fSecBarStartPercentage = 0.0, BOOL bCapMaxPercentage = TRUE)
|
|
|
|
|
|
CONST_FLOAT METER_WIDTH 0.007
|
|
CONST_FLOAT METER_HEIGHT 0.004
|
|
|
|
|
|
SPRITE_PLACEMENT Offsets[2]
|
|
|
|
Offsets[0].y = 0.0
|
|
Offsets[0].w = METER_WIDTH
|
|
Offsets[0].h = METER_HEIGHT
|
|
|
|
Offsets[1].x = 0
|
|
Offsets[1].w = METER_WIDTH
|
|
Offsets[1].h = METER_HEIGHT
|
|
|
|
|
|
|
|
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// UPDATE_SPRITE_WIDGET_VALUE(Offsets[0], Offset_Widget_Sprite[0])
|
|
// UPDATE_SPRITE_WIDGET_VALUE(Offsets[1], Offset_Widget_Sprite[1])
|
|
//
|
|
// #ENDIF
|
|
|
|
|
|
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBars")
|
|
IF Percentage != PERCENTAGE_METER_LINE_NONE
|
|
REQUEST_STREAMED_TEXTURE_DICT("timerbar_lines")
|
|
ENDIF
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBars")
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF DamagedWidgetINIT = FALSE
|
|
// START_WIDGET_GROUP("DAMAGE METER GUTS")
|
|
// CREATE_A_SPRITE_PLACEMENT_WIDGET(Offset_Widget_Sprite[0], "Offset_Widget_Sprite[0]")
|
|
// CREATE_A_SPRITE_PLACEMENT_WIDGET(Offset_Widget_Sprite[1], "Offset_Widget_Sprite[1]")
|
|
//
|
|
//
|
|
// STOP_WIDGET_GROUP()
|
|
// DamagedWidgetINIT = TRUE
|
|
// ENDIF
|
|
// #ENDIF
|
|
|
|
UPDATE_SPRITE_VALUE(Sprites[0], Offsets[0])
|
|
UPDATE_SPRITE_VALUE(Sprites[1], Offsets[1])
|
|
|
|
Sprites[3] = Sprites[0]
|
|
|
|
|
|
|
|
SET_SPRITE_HUD_COLOUR(Sprites[1], Colour)
|
|
|
|
IF MakeBarUrgent
|
|
SET_SPRITE_HUD_COLOUR(Sprites[3], HUD_COLOUR_GREY)
|
|
ELSE
|
|
SET_SPRITE_HUD_COLOUR(Sprites[3], Colour)
|
|
ENDIF
|
|
|
|
IF iUrgentPercentage != 0
|
|
AND CurrentLevel < iUrgentPercentage
|
|
SET_SPRITE_HUD_COLOUR(Sprites[1], HUD_COLOUR_RED)
|
|
ENDIF
|
|
|
|
IF iPulseTime > 0
|
|
IF NOT HAS_NET_TIMER_STARTED(stPulseTimer)
|
|
START_NET_TIMER(stPulseTimer)
|
|
ELIF HAS_NET_TIMER_EXPIRED(stPulseTimer, iPulseTime)
|
|
REINIT_NET_TIMER(stPulseTimer)
|
|
ENDIF
|
|
|
|
SET_SPRITE_PULSE_COLOUR(Sprites[1], Colour, PulseToColour, iPulseTime, stPulseTimer)
|
|
ENDIF
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
IF GET_COMMANDLINE_PARAM_EXISTS("sc_displaytimerhudcolour")
|
|
PRINTLN("[BCTIMER] TimerBars hud colour = ", HUD_COLOUR_AS_STRING(Colour))
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
FLOAT Percent = ((TO_FLOAT(CurrentLevel)/TO_FLOAT(MaxLevel)) *100)
|
|
|
|
IF (fCurrentLevel != -1.0 AND fMaxLevel != -1.0)
|
|
Percent = (fCurrentLevel/fMaxLevel)*100.0
|
|
ELIF (fCurrentLevel != -1.0 AND fMaxLevel = -1.0)
|
|
Percent = (fCurrentLevel/TO_FLOAT(MaxLevel))*100.0
|
|
ELIF (fCurrentLevel = -1.0 AND fMaxLevel != -1.0)
|
|
Percent = (TO_FLOAT(CurrentLevel)/fMaxLevel)*100.0
|
|
ENDIF
|
|
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
Sprites[3].a = TIMER_METER_NON_SELECTED_ALPHA
|
|
DRAW_2D_SPRITE("TimerBars", "DamageBarFill_128", Sprites[3], FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
|
|
IF MakeBarUrgent
|
|
SET_SPRITE_HUD_COLOUR(Sprites[3], HUD_COLOUR_GREY)
|
|
ELSE
|
|
SET_SPRITE_HUD_COLOUR(Sprites[3], Colour)
|
|
ENDIF
|
|
|
|
Sprites[3].a = TIMER_METER_NON_SELECTED_ALPHA
|
|
DRAW_2D_SPRITE("TimerBars", "DamageBarFill_128", Sprites[3], FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
Sprites[3].a = 255
|
|
|
|
GET_SPRITE_LEVEL_BAR(Sprites[0], Percent, Sprites[1], TRUE, TRUE, OnlyZeroIsEmpty, DEFAULT, bCapMaxPercentage)
|
|
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
DRAW_2D_SPRITE("TimerBars", "DamageBarFill_128", Sprites[1], FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
|
|
IF (bUseSecondaryBar)
|
|
SPRITE_PLACEMENT SecondaryBar = Sprites[1]
|
|
GET_SPRITE_LEVEL_BAR(Sprites[0], fSecondaryBarPercentage, SecondaryBar, TRUE, TRUE, OnlyZeroIsEmpty, fSecBarStartPercentage, bCapMaxPercentage)
|
|
SET_SPRITE_HUD_COLOUR(SecondaryBar, eSecondaryBarColour)
|
|
SecondaryBar.a = 255
|
|
|
|
IF iSecBarPulseTime > 0
|
|
IF NOT HAS_NET_TIMER_STARTED(stSecBarPulseTimer)
|
|
START_NET_TIMER(stSecBarPulseTimer)
|
|
ELIF HAS_NET_TIMER_EXPIRED(stSecBarPulseTimer, iSecBarPulseTime)
|
|
REINIT_NET_TIMER(stSecBarPulseTimer)
|
|
ENDIF
|
|
SET_SPRITE_PULSE_COLOUR(SecondaryBar, eSecondaryBarColour, eSecBarPulseToColour, iSecBarPulseTime, stSecBarPulseTimer)
|
|
ENDIF
|
|
|
|
IF (bTransparentSecBarIntersectingMainBar)
|
|
IF (Percent <= fSecondaryBarPercentage)
|
|
SecondaryBar.a = 100
|
|
ENDIF
|
|
ENDIF
|
|
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
DRAW_2D_SPRITE("TimerBars", "DamageBarFill_128", SecondaryBar, FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder, FALSE)
|
|
ENDIF
|
|
|
|
// NET_NL()NET_PRINT("Percentage = ")NET_PRINT_INT(ENUM_TO_INT(Percentage))
|
|
IF Percentage != PERCENTAGE_METER_LINE_NONE
|
|
REQUEST_STREAMED_TEXTURE_DICT("timerbar_lines")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("timerbar_lines")
|
|
|
|
IF Percentage != PERCENTAGE_METER_LINE_ALL_20
|
|
STRING LineTexture = "LineMarker90_128"
|
|
|
|
SWITCH Percentage
|
|
CASE PERCENTAGE_METER_LINE_10 LineTexture = "LineMarker10_128" BREAK
|
|
CASE PERCENTAGE_METER_LINE_20 LineTexture = "LineMarker20_128" BREAK
|
|
CASE PERCENTAGE_METER_LINE_30 LineTexture = "LineMarker30_128" BREAK
|
|
CASE PERCENTAGE_METER_LINE_40 LineTexture = "LineMarker40_128" BREAK
|
|
CASE PERCENTAGE_METER_LINE_50 LineTexture = "LineMarker50_128" BREAK
|
|
CASE PERCENTAGE_METER_LINE_60 LineTexture = "LineMarker60_128" BREAK
|
|
CASE PERCENTAGE_METER_LINE_70 LineTexture = "LineMarker70_128" BREAK
|
|
CASE PERCENTAGE_METER_LINE_80 LineTexture = "LineMarker80_128" BREAK
|
|
CASE PERCENTAGE_METER_LINE_90 LineTexture = "LineMarker90_128" BREAK
|
|
ENDSWITCH
|
|
Sprites[3].a = 255
|
|
SET_SPRITE_HUD_COLOUR(Sprites[3], HUD_COLOUR_BLACK)
|
|
// NET_NL()NET_PRINT("LineTexture = ")NET_PRINT(LineTexture)
|
|
|
|
DRAW_2D_SPRITE("timerbar_lines", LineTexture, Sprites[3], FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
ELSE
|
|
|
|
Sprites[3].a = 255
|
|
SET_SPRITE_HUD_COLOUR(Sprites[3], HUD_COLOUR_BLACK)
|
|
DRAW_2D_SPRITE("timerbar_lines", "LineMarker20_128", Sprites[3], FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
DRAW_2D_SPRITE("timerbar_lines", "LineMarker40_128", Sprites[3], FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
DRAW_2D_SPRITE("timerbar_lines", "LineMarker60_128", Sprites[3], FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
DRAW_2D_SPRITE("timerbar_lines", "LineMarker80_128", Sprites[3], FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
|
|
|
|
ENDIF
|
|
ELSE
|
|
NET_NL()NET_PRINT("waiting on timerbar_lines to load")NET_NL()
|
|
ENDIF
|
|
ENDIF
|
|
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
|
|
IF (iDrawRedDangerZonePercent > 0)
|
|
AND (Percent >= iDrawRedDangerZonePercent)
|
|
SET_SPRITE_HUD_COLOUR(Sprites[1], HUD_COLOUR_RED)
|
|
GET_SPRITE_LEVEL_BAR(Sprites[0], TO_FLOAT(iDrawRedDangerZonePercent), Sprites[1], TRUE, TRUE, OnlyZeroIsEmpty, DEFAULT, bCapMaxPercentage)
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
DRAW_2D_SPRITE("TimerBars", "DamageBarFill_128", Sprites[1], FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
ENDIF
|
|
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
// DRAW_2D_SPRITE("TimerBars", "DamageBar_128", Sprites[0], FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
|
|
|
|
|
|
ELSE
|
|
NET_NL()NET_PRINT("waiting on TimerBars to load")NET_NL()
|
|
|
|
ENDIF
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// SPRITE_PLACEMENT Offsets[4]
|
|
//
|
|
// Offsets[0].y += 0.00025
|
|
// Offsets[0].w = 0.006-0.003+0.004
|
|
// Offsets[0].h = 0.006-0.002
|
|
//
|
|
// Offsets[1].x = 0.001+0.001
|
|
// Offsets[1].y += -0.001
|
|
// Offsets[1].w = 0.003
|
|
// Offsets[1].h = 0.003-0.008
|
|
//
|
|
// Offsets[2].x = 0.002+0.001+0.001
|
|
//
|
|
// Offsets[2].w = 0.003+0.002
|
|
// Offsets[2].h = 0.002+0.003
|
|
//
|
|
// Offsets[3].x = 0.001-0.001
|
|
// Offsets[3].y += -0.0005-0.001
|
|
// Offsets[3].w = 0.005-0.006
|
|
// Offsets[3].h = 0.018-0.005-0.010-0.005
|
|
//
|
|
// #IF IS_DEBUG_BUILD
|
|
// UPDATE_SPRITE_WIDGET_VALUE(Offsets[0], Offset_Widget_Sprite[0])
|
|
// UPDATE_SPRITE_WIDGET_VALUE(Offsets[1], Offset_Widget_Sprite[1])
|
|
// UPDATE_SPRITE_WIDGET_VALUE(Offsets[2], Offset_Widget_Sprite[2])
|
|
// UPDATE_SPRITE_WIDGET_VALUE(Offsets[3], Offset_Widget_Sprite[3])
|
|
// #ENDIF
|
|
//
|
|
// REQUEST_STREAMED_TEXTURE_DICT("TimerBars")
|
|
// IF HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBars")
|
|
//
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF DamagedWidgetINIT = FALSE
|
|
// START_WIDGET_GROUP("DAMAGE METER GUTS")
|
|
// CREATE_A_SPRITE_PLACEMENT_WIDGET(Offset_Widget_Sprite[0], "Offset_Widget_Sprite[0]")
|
|
// CREATE_A_SPRITE_PLACEMENT_WIDGET(Offset_Widget_Sprite[1], "Offset_Widget_Sprite[1]")
|
|
// CREATE_A_SPRITE_PLACEMENT_WIDGET(Offset_Widget_Sprite[2], "Offset_Widget_Sprite[2]")
|
|
// CREATE_A_SPRITE_PLACEMENT_WIDGET(Offset_Widget_Sprite[3], "Offset_Widget_Sprite[3]")
|
|
//
|
|
// STOP_WIDGET_GROUP()
|
|
// DamagedWidgetINIT = TRUE
|
|
// ENDIF
|
|
// #ENDIF
|
|
//
|
|
// UPDATE_SPRITE_VALUE(Sprites[0], Offsets[0])
|
|
//
|
|
// Sprites[1] = Sprites[0]
|
|
// Sprites[3] = Sprites[0]
|
|
//
|
|
//
|
|
//
|
|
//
|
|
//
|
|
//
|
|
//
|
|
//
|
|
//
|
|
// SET_SPRITE_HUD_COLOUR(Sprites[1], Colour)
|
|
// SET_SPRITE_HUD_COLOUR(Sprites[3], HUD_COLOUR_BLACK)// GET_BAR_CONTRAST_COLOUR(Colour))
|
|
//
|
|
//
|
|
//
|
|
// FLOAT Percent = ((TO_FLOAT(CurrentLevel)/TO_FLOAT(MaxLevel)) *100)
|
|
//
|
|
// SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
// UPDATE_SPRITE_VALUE(Sprites[3], Offsets[3])
|
|
// Sprites[3].a = 128
|
|
// DRAW_2D_SPRITE("TimerBars", "DamageBarFill_128", Sprites[3], FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
// SET_SPRITE_HUD_COLOUR(Sprites[3], GET_BAR_CONTRAST_COLOUR(Colour))
|
|
// Sprites[3].a = 178
|
|
// DRAW_2D_SPRITE("TimerBars", "DamageBarFill_128", Sprites[3], FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
// Sprites[3].a = 255
|
|
//
|
|
// GET_SPRITE_LEVEL_BAR(Sprites[0], Percent,Sprites[2], FALSE, FALSE, OnlyZeroIsEmpty)
|
|
//
|
|
// SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
// UPDATE_SPRITE_VALUE(Sprites[2], Offsets[2])
|
|
// SET_MASK_ATTRIBUTES(Sprites[2].x, Sprites[2].y, Sprites[2].w, Sprites[2].h)
|
|
// SET_MASK_ACTIVE(TRUE)
|
|
// SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
// UPDATE_SPRITE_VALUE(Sprites[1], Offsets[1])
|
|
// DRAW_2D_SPRITE("TimerBars", "DamageBarFill_128", Sprites[1], FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
// SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
// SET_MASK_ATTRIBUTES(0,0,0,0)
|
|
// SET_MASK_ACTIVE(FALSE)
|
|
//
|
|
//
|
|
//
|
|
// SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
//// DRAW_2D_SPRITE("TimerBars", "DamageBar_128", Sprites[0], FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
//
|
|
//
|
|
//
|
|
// ELSE
|
|
// NET_NL()NET_PRINT("waiting on TimerBars to load")NET_NL()
|
|
//
|
|
// ENDIF
|
|
|
|
|
|
|
|
ENDPROC
|
|
|
|
//BOOL DamagedBIGWidgetINIT
|
|
//SPRITE_PLACEMENT Offset_BIGWidget_Sprite[2]
|
|
|
|
|
|
|
|
PROC RUN_BIG_METER_GUTS(INT CurrentLevel, INT MaxLevel, SPRITE_PLACEMENT& Sprites[], HUD_COLOURS Colour, BOOL OnlyZeroIsEmpty, GFX_DRAW_ORDER anOrder, PERCENTAGE_METER_LINE Percentage, SCRIPT_TIMER &stPulseTimer, SCRIPT_TIMER &stSecBarPulseTimer, FLOAT fCurrentLevel = -1.0, FLOAT fMaxLevel = -1.0, HUD_COLOURS PulseToColour = HUD_COLOUR_WHITE, INT iPulseTime = -1, BOOL bUseSecondaryBar = FALSE, HUD_COLOURS eSecondaryBarColour = HUD_COLOUR_WHITE, FLOAT fSecondaryBarPercentage = 0.0, BOOL bTransparentSecBarIntersectingMainBar = FALSE, HUD_COLOURS eSecBarPulseToColour = HUD_COLOUR_WHITE, INT iSecBarPulseTime = -1, BOOL bCapMaxPercentage = TRUE)
|
|
|
|
|
|
CONST_FLOAT METER_WIDTH 0.007
|
|
CONST_FLOAT METER_HEIGHT 0.016
|
|
|
|
|
|
SPRITE_PLACEMENT Offsets[2]
|
|
Offsets[0].y = -0.004
|
|
Offsets[0].w = METER_WIDTH
|
|
Offsets[0].h = METER_HEIGHT
|
|
|
|
Offsets[1].w = METER_WIDTH
|
|
Offsets[1].h = METER_HEIGHT
|
|
|
|
|
|
|
|
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// UPDATE_SPRITE_WIDGET_VALUE(Offsets[0], Offset_BIGWidget_Sprite[0])
|
|
// UPDATE_SPRITE_WIDGET_VALUE(Offsets[1], Offset_BIGWidget_Sprite[1])
|
|
//
|
|
// #ENDIF
|
|
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF DamagedBIGWidgetINIT = FALSE
|
|
// START_WIDGET_GROUP("DAMAGE BIG METER GUTS")
|
|
// CREATE_A_SPRITE_PLACEMENT_WIDGET(Offset_BIGWidget_Sprite[0], "Offset_Widget_Sprite[0]")
|
|
// CREATE_A_SPRITE_PLACEMENT_WIDGET(Offset_BIGWidget_Sprite[1], "Offset_Widget_Sprite[1]")
|
|
//
|
|
//
|
|
// STOP_WIDGET_GROUP()
|
|
// DamagedBIGWidgetINIT = TRUE
|
|
// ENDIF
|
|
// #ENDIF
|
|
|
|
|
|
|
|
|
|
|
|
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBars")
|
|
IF Percentage != PERCENTAGE_METER_LINE_NONE
|
|
REQUEST_STREAMED_TEXTURE_DICT("timerbar_lines")
|
|
ENDIF
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBars")
|
|
|
|
|
|
|
|
|
|
UPDATE_SPRITE_VALUE(Sprites[0], Offsets[0])
|
|
UPDATE_SPRITE_VALUE(Sprites[1], Offsets[1])
|
|
|
|
Sprites[3] = Sprites[0]
|
|
|
|
|
|
SET_SPRITE_HUD_COLOUR(Sprites[1], Colour)
|
|
SET_SPRITE_HUD_COLOUR(Sprites[3], Colour)
|
|
|
|
IF iPulseTime > 0
|
|
IF NOT HAS_NET_TIMER_STARTED(stPulseTimer)
|
|
START_NET_TIMER(stPulseTimer)
|
|
ELIF HAS_NET_TIMER_EXPIRED(stPulseTimer, iPulseTime)
|
|
REINIT_NET_TIMER(stPulseTimer)
|
|
ENDIF
|
|
|
|
SET_SPRITE_PULSE_COLOUR(Sprites[1], Colour, PulseToColour, iPulseTime, stPulseTimer)
|
|
ENDIF
|
|
|
|
FLOAT Percent = ((TO_FLOAT(CurrentLevel)/TO_FLOAT(MaxLevel)) *100)
|
|
|
|
IF (fCurrentLevel != -1.0 AND fMaxLevel != -1.0)
|
|
Percent = (fCurrentLevel/fMaxLevel)*100.0
|
|
ELIF (fCurrentLevel != -1.0 AND fMaxLevel = -1.0)
|
|
Percent = (fCurrentLevel/TO_FLOAT(MaxLevel))*100.0
|
|
ELIF (fCurrentLevel = -1.0 AND fMaxLevel != -1.0)
|
|
Percent = (TO_FLOAT(CurrentLevel)/fMaxLevel)*100.0
|
|
ENDIF
|
|
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
Sprites[3].a = TIMER_METER_NON_SELECTED_ALPHA
|
|
DRAW_2D_SPRITE("TimerBars", "DamageBarFill_128", Sprites[3], FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
SET_SPRITE_HUD_COLOUR(Sprites[3], Colour)
|
|
Sprites[3].a = TIMER_METER_NON_SELECTED_ALPHA
|
|
DRAW_2D_SPRITE("TimerBars", "DamageBarFill_128", Sprites[3], FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
Sprites[3].a = 255
|
|
|
|
GET_SPRITE_LEVEL_BAR(Sprites[0], Percent,Sprites[1], TRUE, TRUE, OnlyZeroIsEmpty, DEFAULT, bCapMaxPercentage)
|
|
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
DRAW_2D_SPRITE("TimerBars", "DamageBarFill_128", Sprites[1], FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
|
|
IF (bUseSecondaryBar)
|
|
SPRITE_PLACEMENT SecondaryBar = Sprites[1]
|
|
GET_SPRITE_LEVEL_BAR(Sprites[0], fSecondaryBarPercentage, SecondaryBar, TRUE, TRUE, OnlyZeroIsEmpty, DEFAULT, bCapMaxPercentage)
|
|
SET_SPRITE_HUD_COLOUR(SecondaryBar, eSecondaryBarColour)
|
|
SecondaryBar.a = 255
|
|
|
|
IF iSecBarPulseTime > 0
|
|
IF NOT HAS_NET_TIMER_STARTED(stSecBarPulseTimer)
|
|
START_NET_TIMER(stSecBarPulseTimer)
|
|
ELIF HAS_NET_TIMER_EXPIRED(stSecBarPulseTimer, iSecBarPulseTime)
|
|
REINIT_NET_TIMER(stSecBarPulseTimer)
|
|
ENDIF
|
|
SET_SPRITE_PULSE_COLOUR(SecondaryBar, eSecondaryBarColour, eSecBarPulseToColour, iSecBarPulseTime, stSecBarPulseTimer)
|
|
ENDIF
|
|
|
|
IF (bTransparentSecBarIntersectingMainBar)
|
|
IF (Percent <= fSecondaryBarPercentage)
|
|
SecondaryBar.a = 100
|
|
ENDIF
|
|
ENDIF
|
|
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
DRAW_2D_SPRITE("TimerBars", "DamageBarFill_128", SecondaryBar, FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
ENDIF
|
|
|
|
IF Percentage != PERCENTAGE_METER_LINE_NONE
|
|
REQUEST_STREAMED_TEXTURE_DICT("timerbar_lines")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("timerbar_lines")
|
|
STRING LineTexture = "LineMarker90_128"
|
|
|
|
SWITCH Percentage
|
|
CASE PERCENTAGE_METER_LINE_10 LineTexture = "LineMarker10_128" BREAK
|
|
CASE PERCENTAGE_METER_LINE_20 LineTexture = "LineMarker20_128" BREAK
|
|
CASE PERCENTAGE_METER_LINE_30 LineTexture = "LineMarker30_128" BREAK
|
|
CASE PERCENTAGE_METER_LINE_40 LineTexture = "LineMarker40_128" BREAK
|
|
CASE PERCENTAGE_METER_LINE_50 LineTexture = "LineMarker50_128" BREAK
|
|
CASE PERCENTAGE_METER_LINE_60 LineTexture = "LineMarker60_128" BREAK
|
|
CASE PERCENTAGE_METER_LINE_70 LineTexture = "LineMarker70_128" BREAK
|
|
CASE PERCENTAGE_METER_LINE_80 LineTexture = "LineMarker80_128" BREAK
|
|
CASE PERCENTAGE_METER_LINE_90 LineTexture = "LineMarker90_128" BREAK
|
|
ENDSWITCH
|
|
Sprites[1].a = 255
|
|
SET_SPRITE_HUD_COLOUR(Sprites[1], HUD_COLOUR_BLACK)
|
|
NET_NL()NET_PRINT("LineTexture = ")NET_PRINT(LineTexture)
|
|
DRAW_2D_SPRITE("timerbar_lines", LineTexture, Sprites[1], FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
ELSE
|
|
NET_NL()NET_PRINT("waiting on timerbar_lines to load")NET_NL()
|
|
ENDIF
|
|
ENDIF
|
|
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
|
|
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
// DRAW_2D_SPRITE("TimerBars", "DamageBar_128", Sprites[0], FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
|
|
|
|
|
|
|
|
ELSE
|
|
NET_NL()NET_PRINT("waiting on TimerBars to load")NET_NL()
|
|
|
|
ENDIF
|
|
|
|
|
|
|
|
|
|
ENDPROC
|
|
|
|
|
|
//BOOL DamagedWidgetSpriteMeterINIT
|
|
//SPRITE_PLACEMENT Offset_Widget_SpriteMeter[2]
|
|
|
|
|
|
PROC RUN_SPRITE_METER_GUTS(INT CurrentLevel, INT MaxLevel, SPRITE_PLACEMENT& Sprites[], HUD_COLOURS Colour, BOOL OnlyZeroIsEmpty, GFX_DRAW_ORDER anOrder)
|
|
|
|
|
|
CONST_FLOAT METER_WIDTH 0.011
|
|
CONST_FLOAT METER_HEIGHT 0.059
|
|
|
|
|
|
SPRITE_PLACEMENT Offsets[2]
|
|
|
|
Offsets[0].x = 0.003
|
|
Offsets[0].y = -0.004
|
|
Offsets[0].w = METER_WIDTH
|
|
Offsets[0].h = METER_HEIGHT
|
|
|
|
Offsets[1].x = 0
|
|
Offsets[1].w = METER_WIDTH
|
|
Offsets[1].h = METER_HEIGHT
|
|
|
|
|
|
|
|
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// UPDATE_SPRITE_WIDGET_VALUE(Offsets[0], Offset_Widget_SpriteMeter[0])
|
|
// UPDATE_SPRITE_WIDGET_VALUE(Offsets[1], Offset_Widget_SpriteMeter[1])
|
|
//
|
|
// #ENDIF
|
|
|
|
|
|
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBars")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBars")
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF DamagedWidgetSpriteMeterINIT = FALSE
|
|
// START_WIDGET_GROUP("DAMAGE SPRITE METER GUTS")
|
|
// CREATE_A_SPRITE_PLACEMENT_WIDGET(Offset_Widget_SpriteMeter[0], "Offset_Widget_SpriteMeter[0]")
|
|
// CREATE_A_SPRITE_PLACEMENT_WIDGET(Offset_Widget_SpriteMeter[1], "Offset_Widget_SpriteMeter[1]")
|
|
//
|
|
//
|
|
// STOP_WIDGET_GROUP()
|
|
// DamagedWidgetSpriteMeterINIT = TRUE
|
|
// ENDIF
|
|
// #ENDIF
|
|
|
|
UPDATE_SPRITE_VALUE(Sprites[0], Offsets[0])
|
|
UPDATE_SPRITE_VALUE(Sprites[1], Offsets[1])
|
|
|
|
Sprites[3] = Sprites[0]
|
|
|
|
|
|
SET_SPRITE_HUD_COLOUR(Sprites[1], Colour)
|
|
SET_SPRITE_HUD_COLOUR(Sprites[3], Colour)
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF GET_COMMANDLINE_PARAM_EXISTS("sc_displaytimerhudcolour")
|
|
// PRINTLN("[BCTIMER] TimerBars hud colour = ", HUD_COLOUR_AS_STRING(Colour))
|
|
// ENDIF
|
|
// #ENDIF
|
|
|
|
FLOAT Percent = ((TO_FLOAT(CurrentLevel)/TO_FLOAT(MaxLevel)) *100)
|
|
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
Sprites[3].a = TIMER_METER_NON_SELECTED_ALPHA
|
|
DRAW_2D_SPRITE("TimerBars", "DamageBarFill_128", Sprites[3], FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
SET_SPRITE_HUD_COLOUR(Sprites[3], Colour)
|
|
Sprites[3].a = TIMER_METER_NON_SELECTED_ALPHA
|
|
DRAW_2D_SPRITE("TimerBars", "DamageBarFill_128", Sprites[3], FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
Sprites[3].a = 255
|
|
|
|
GET_SPRITE_LEVEL_BAR(Sprites[0], Percent, Sprites[1], TRUE, TRUE, OnlyZeroIsEmpty)
|
|
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
DRAW_2D_SPRITE("TimerBars", "DamageBarFill_128", Sprites[1], FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
|
|
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
|
|
|
|
|
|
|
|
ELSE
|
|
NET_NL()NET_PRINT("waiting on TimerBars to load")NET_NL()
|
|
|
|
ENDIF
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ENDPROC
|
|
|
|
FUNC STRING GET_MODELNAME_TEXTURE(MODEL_NAMES modelName)
|
|
SWITCH modelname
|
|
|
|
CASE HUNTER RETURN "hunter"
|
|
CASE ROGUE RETURN "rogue"
|
|
CASE HAVOK RETURN "havok"
|
|
CASE MOGUL RETURN "mogul"
|
|
CASE STARLING RETURN "starling"
|
|
CASE MOLOTOK RETURN "molotok"
|
|
CASE NOKOTA RETURN "nokota"
|
|
CASE PYRO RETURN "pyro"
|
|
CASE LAZER RETURN "lazer"
|
|
CASE TULA RETURN "tula"
|
|
CASE MICROLIGHT RETURN "ultralight"
|
|
CASE HYDRA RETURN "hydra"
|
|
CASE ANNIHILATOR RETURN "annihl"
|
|
CASE BUZZARD RETURN "buzzard"
|
|
CASE SAVAGE RETURN "savage"
|
|
CASE THRUSTER RETURN "thruster"
|
|
CASE AKULA RETURN "akula"
|
|
ENDSWITCH
|
|
RETURN ""
|
|
ENDFUNC
|
|
|
|
FUNC STRING GET_WEAPONTYPE_TEXTURE(WEAPON_TYPE aWeapon)
|
|
|
|
SWITCH aWeapon
|
|
|
|
|
|
CASE WEAPONTYPE_DLC_ASSAULTMG RETURN "WEAPON_ASSAULT_MG"
|
|
CASE WEAPONTYPE_BALL RETURN "WEAPON_BALL"
|
|
CASE WEAPONTYPE_BAT RETURN "WEAPON_BAT"
|
|
CASE WEAPONTYPE_DLC_BOTTLE RETURN "WEAPON_BOTTLE"
|
|
CASE WEAPONTYPE_DLC_BULLPUPRIFLE RETURN "WEAPON_BULLPUPRIFLE"
|
|
CASE WEAPONTYPE_DLC_COMBATPDW RETURN "WEAPON_COMBATPDW"
|
|
CASE WEAPONTYPE_DLC_COMPACTRIFLE RETURN "WEAPON_COMPACTRIFLE"
|
|
CASE WEAPONTYPE_CROWBAR RETURN "WEAPON_CROWBAR"
|
|
CASE WEAPONTYPE_DLC_DAGGER RETURN "WEAPON_DAGGER"
|
|
CASE WEAPONTYPE_DLC_DBSHOTGUN RETURN "WEAPON_DBSHOTGUN"
|
|
CASE WEAPONTYPE_DLC_FIREWORK RETURN "WEAPON_FIREWORK"
|
|
CASE WEAPONTYPE_FLARE RETURN "WEAPON_FLARE"
|
|
CASE WEAPONTYPE_DLC_FLAREGUN RETURN "WEAPON_FLARE_GUN"
|
|
CASE WEAPONTYPE_DLC_FLASHLIGHT RETURN "WEAPON_FLASHLIGHT"
|
|
CASE WEAPONTYPE_GOLFCLUB RETURN "WEAPON_GOLFCLUB"
|
|
CASE WEAPONTYPE_DLC_GUSENBERG RETURN "WEAPON_GUSENBERG"
|
|
CASE WEAPONTYPE_HAMMER RETURN "WEAPON_HAMMER"
|
|
CASE WEAPONTYPE_DLC_HATCHET RETURN "WEAPON_HATCHET"
|
|
CASE WEAPONTYPE_GRENADELAUNCHER RETURN "WEAPON_HEAVY_GRENADE_LAUNCHER"
|
|
CASE WEAPONTYPE_MINIGUN RETURN "WEAPON_HEAVY_MINIGUN"
|
|
CASE WEAPONTYPE_DLC_HEAVYRIFLE RETURN "WEAPON_HEAVY_RIFLE"
|
|
CASE WEAPONTYPE_RPG RETURN "WEAPON_HEAVY_RPG"
|
|
CASE WEAPONTYPE_DLC_HEAVYPISTOL RETURN "WEAPON_HEAVYPISTOL"
|
|
CASE WEAPONTYPE_DLC_HEAVYSHOTGUN RETURN "WEAPON_HEAVYSHOTGUN"
|
|
CASE WEAPONTYPE_DLC_HOMINGLAUNCHER RETURN "WEAPON_HOMINGLAUNCHER"
|
|
CASE WEAPONTYPE_PETROLCAN RETURN "WEAPON_JERRY_CAN"
|
|
CASE WEAPONTYPE_KNIFE RETURN "WEAPON_KNIFE"
|
|
CASE WEAPONTYPE_DLC_KNUCKLE RETURN "WEAPON_KNUCKLE"
|
|
CASE WEAPONTYPE_MG RETURN "WEAPON_LMG"
|
|
CASE WEAPONTYPE_COMBATMG RETURN "WEAPON_LMG_COMBAT"
|
|
CASE WEAPONTYPE_DLC_MACHETE RETURN "WEAPON_MACHETE"
|
|
CASE WEAPONTYPE_DLC_MACHINEPISTOL RETURN "WEAPON_MACHINEPISTOL"
|
|
CASE WEAPONTYPE_DLC_MARKSMANPISTOL RETURN "WEAPON_MARKSMANPISTOL"
|
|
CASE WEAPONTYPE_DLC_MARKSMANRIFLE RETURN "WEAPON_MARKSMANRIFLE"
|
|
CASE WEAPONTYPE_MOLOTOV RETURN "WEAPON_MOLOTOV"
|
|
CASE WEAPONTYPE_DLC_MUSKET RETURN "WEAPON_MUSKET"
|
|
CASE WEAPONTYPE_NIGHTSTICK RETURN "WEAPON_NIGHTSTICK"
|
|
CASE WEAPONTYPE_PISTOL RETURN "WEAPON_PISTOL"
|
|
CASE WEAPONTYPE_DLC_PISTOL50 RETURN "WEAPON_PISTOL_50"
|
|
CASE WEAPONTYPE_APPISTOL RETURN "WEAPON_PISTOL_AP"
|
|
CASE WEAPONTYPE_COMBATPISTOL RETURN "WEAPON_PISTOL_COMBAT"
|
|
CASE WEAPONTYPE_DLC_PROGRAMMABLEAR RETURN "WEAPON_PROGRAMMABLE_AR"
|
|
CASE WEAPONTYPE_DLC_PROXMINE RETURN "WEAPON_PROXIMINE"
|
|
CASE WEAPONTYPE_DLC_RAILGUN RETURN "WEAPON_RAILGUN"
|
|
CASE WEAPONTYPE_DLC_REVOLVER RETURN "WEAPON_REVOLVER"
|
|
CASE WEAPONTYPE_ADVANCEDRIFLE RETURN "WEAPON_RIFLE_ADVANCED"
|
|
CASE WEAPONTYPE_ASSAULTRIFLE RETURN "WEAPON_RIFLE_ASSAULT"
|
|
CASE WEAPONTYPE_CARBINERIFLE RETURN "WEAPON_RIFLE_CARBINE"
|
|
CASE WEAPONTYPE_ASSAULTSHOTGUN RETURN "WEAPON_SHOTGUN_ASSAULT"
|
|
CASE WEAPONTYPE_DLC_BULLPUPSHOTGUN RETURN "WEAPON_SHOTGUN_BULLPUP"
|
|
CASE WEAPONTYPE_PUMPSHOTGUN RETURN "WEAPON_SHOTGUN_PUMP"
|
|
CASE WEAPONTYPE_SAWNOFFSHOTGUN RETURN "WEAPON_SHOTGUN_SAWNOFF"
|
|
CASE WEAPONTYPE_SMG RETURN "WEAPON_SMG"
|
|
CASE WEAPONTYPE_DLC_ASSAULTSMG RETURN "WEAPON_SMG_ASSAULT"
|
|
CASE WEAPONTYPE_MICROSMG RETURN "WEAPON_SMG_MICRO"
|
|
CASE WEAPONTYPE_SNIPERRIFLE RETURN "WEAPON_SNIPER"
|
|
CASE WEAPONTYPE_DLC_ASSAULTSNIPER RETURN "WEAPON_SNIPER_ASSAULT"
|
|
CASE WEAPONTYPE_HEAVYSNIPER RETURN "WEAPON_SNIPER_HEAVY"
|
|
CASE WEAPONTYPE_DLC_SNOWBALL RETURN "WEAPON_SNOWBALL"
|
|
CASE WEAPONTYPE_DLC_SNSPISTOL RETURN "WEAPON_SNSPISTOL"
|
|
CASE WEAPONTYPE_DLC_SPECIALCARBINE RETURN "WEAPON_SPECIALCARBINE"
|
|
CASE WEAPONTYPE_STUNGUN RETURN "WEAPON_STUNGUN"
|
|
CASE WEAPONTYPE_DLC_SWITCHBLADE RETURN "WEAPON_SWITCHBLADE"
|
|
CASE WEAPONTYPE_BZGAS RETURN "WEAPON_THROWN_BZ_GAS"
|
|
CASE WEAPONTYPE_GRENADE RETURN "WEAPON_THROWN_GRENADE"
|
|
CASE WEAPONTYPE_STICKYBOMB RETURN "WEAPON_THROWN_STICKY"
|
|
CASE WEAPONTYPE_UNARMED RETURN "WEAPON_UNARMED"
|
|
CASE WEAPONTYPE_DLC_VINTAGEPISTOL RETURN "WEAPON_VINTAGEPISTOL"
|
|
|
|
CASE WEAPONTYPE_DLC_AUTOSHOTGUN RETURN "WEAPON_AUTOMATIC_SHOTGUN"
|
|
CASE WEAPONTYPE_DLC_BATTLEAXE RETURN "WEAPON_BATTLE_AXE"
|
|
CASE WEAPONTYPE_DLC_COMPACTLAUNCHER RETURN "WEAPON_COMPACT_GRENADE_LAUNCHER"
|
|
CASE WEAPONTYPE_DLC_MINISMG RETURN "WEAPON_MINI_SMG"
|
|
CASE WEAPONTYPE_DLC_PIPEBOMB RETURN "WEAPON_PIPEBOMB"
|
|
CASE WEAPONTYPE_DLC_POOLCUE RETURN "WEAPON_POOL_CUE"
|
|
CASE WEAPONTYPE_DLC_WRENCH RETURN "WEAPON_WRENCH"
|
|
|
|
ENDSWITCH
|
|
|
|
|
|
RETURN ""
|
|
ENDFUNC
|
|
|
|
|
|
//BOOL DamagedWidgetSpriteWeaponINIT
|
|
//SPRITE_PLACEMENT Offset_Widget_SpriteWeapon[2]
|
|
|
|
|
|
PROC RUN_SPRITE_METER_SPRITE(STRING spriteName, SPRITE_PLACEMENT& Sprites[], GFX_DRAW_ORDER anOrder, STRING dictionaryName)
|
|
|
|
|
|
|
|
SPRITE_PLACEMENT Offsets[1]
|
|
|
|
Offsets[0].x = 0
|
|
Offsets[0].y = 0
|
|
Offsets[0].w = -0.015
|
|
Offsets[0].h = -0.025
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// UPDATE_SPRITE_WIDGET_VALUE(Offsets[0], Offset_Widget_SpriteWeapon[0])
|
|
//
|
|
//
|
|
// #ENDIF
|
|
|
|
|
|
REQUEST_STREAMED_TEXTURE_DICT(dictionaryName)
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED(dictionaryName)
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF DamagedWidgetSpriteWeaponINIT = FALSE
|
|
// START_WIDGET_GROUP("DAMAGE SPRITE METER WEAPONS")
|
|
// CREATE_A_SPRITE_PLACEMENT_WIDGET(Offset_Widget_SpriteWeapon[0], "Offset_Widget_SpriteWeapon[0]")
|
|
// STOP_WIDGET_GROUP()
|
|
// DamagedWidgetSpriteWeaponINIT = TRUE
|
|
// ENDIF
|
|
// #ENDIF
|
|
|
|
UPDATE_SPRITE_VALUE(Sprites[0], Offsets[0])
|
|
|
|
|
|
|
|
|
|
SET_SPRITE_HUD_COLOUR(Sprites[0], HUD_COLOUR_WHITE)
|
|
|
|
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
Sprites[0].a = 255
|
|
DRAW_2D_SPRITE(dictionaryName, spriteName, Sprites[0], FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
|
|
|
|
|
|
|
|
ELSE
|
|
NET_NL()NET_PRINT("waiting on TimerBars to load")NET_NL()
|
|
|
|
ENDIF
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ENDPROC
|
|
|
|
|
|
|
|
|
|
FUNC BOOL SHOULD_DRAW_SQUARE(INT iCurrentSquare, INT NumVisibleSquares)
|
|
|
|
IF NumVisibleSquares = -1
|
|
RETURN TRUE
|
|
ENDIF
|
|
IF iCurrentSquare > NumVisibleSquares
|
|
RETURN FALSE
|
|
ENDIF
|
|
RETURN TRUE
|
|
ENDFUNC
|
|
FUNC SPRITE_PLACEMENT SET_SPRITE_COLOUR_ACTIVE(SPRITE_PLACEMENT aSprite, BOOL Active)
|
|
SPRITE_PLACEMENT TempSprite = aSprite
|
|
IF Active
|
|
TempSprite.r = 20
|
|
TempSprite.g = 120
|
|
TempSprite.b = 20
|
|
ELSE
|
|
TempSprite.r = 120
|
|
TempSprite.g = 20
|
|
TempSprite.b = 20
|
|
ENDIF
|
|
RETURN TempSprite
|
|
ENDFUNC
|
|
FUNC SPRITE_PLACEMENT SET_SPRITE_COLOUR_ELIMINATION(SPRITE_PLACEMENT aSprite, BOOL Active, HUD_COLOURS ActiveColour, HUD_COLOURS inActiveColour, HUD_COLOURS BoxColour, HUD_COLOURS BoxColour_Inactive)
|
|
SPRITE_PLACEMENT TempSprite = aSprite
|
|
IF BoxColour = HUD_COLOUR_PURE_WHITE
|
|
// AND BoxColour_Inactive = HUD_COLOUR_PURE_WHITE //Potential fix if your buttons are pure_white.
|
|
IF Active
|
|
SET_SPRITE_HUD_COLOUR(TempSprite, ActiveColour)
|
|
ELSE
|
|
SET_SPRITE_HUD_COLOUR(TempSprite, inActiveColour)
|
|
ENDIF
|
|
ELSE
|
|
IF Active
|
|
SET_SPRITE_HUD_COLOUR(TempSprite,BoxColour)
|
|
ELSE
|
|
SET_SPRITE_HUD_COLOUR(TempSprite,BoxColour_Inactive)
|
|
ENDIF
|
|
ENDIF
|
|
IF Active = FALSE
|
|
// TempSprite.a = 90
|
|
ENDIF
|
|
RETURN TempSprite
|
|
ENDFUNC
|
|
|
|
|
|
|
|
//#IF IS_DEBUG_BUILD
|
|
// BOOL InitiMaskElim
|
|
// SPRITE_PLACEMENT EliminationWidget
|
|
// FLOAT EliminationSpacingWidget
|
|
//#ENDIF
|
|
PROC RUN_ELIMINATION_GUTS(INT MaxNumCheckpoints, SPRITE_PLACEMENT& Sprites[], HUD_COLOURS FirstColour, HUD_COLOURS SecondColour, INT iVisibleBoxes, BOOL IsEliminated1, BOOL IsEliminated2, BOOL IsEliminated3, BOOL IsEliminated4, BOOL IsEliminated5, BOOL IsEliminated6, BOOL IsEliminated7, BOOL IsEliminated8,
|
|
HUD_COLOURS Box1Colour,HUD_COLOURS Box2Colour, HUD_COLOURS Box3Colour, HUD_COLOURS Box4Colour, HUD_COLOURS Box5Colour, HUD_COLOURS Box6Colour, HUD_COLOURS Box7Colour, HUD_COLOURS Box8Colour, HUD_COLOURS Box1Colour_Inactive,HUD_COLOURS Box2Colour_Inactive, HUD_COLOURS Box3Colour_Inactive,
|
|
HUD_COLOURS Box4Colour_Inactive, HUD_COLOURS Box5Colour_Inactive, HUD_COLOURS Box6Colour_Inactive, HUD_COLOURS Box7Colour_Inactive, HUD_COLOURS Box8Colour_Inactive, GFX_DRAW_ORDER anOrder
|
|
#IF USE_TU_CHANGES , BOOL CrossedDot0, BOOL CrossedDot1, BOOL CrossedDot2, BOOL CrossedDot3, BOOL CrossedDot4, BOOL CrossedDot5, BOOL CrossedDot6, BOOL CrossedDot7,
|
|
HUD_COLOURS CrossedDot0Colour, HUD_COLOURS CrossedDot1Colour, HUD_COLOURS CrossedDot2Colour, HUD_COLOURS CrossedDot3Colour, HUD_COLOURS CrossedDot4Colour, HUD_COLOURS CrossedDot5Colour, HUD_COLOURS CrossedDot6Colour, HUD_COLOURS CrossedDot7Colour #ENDIF )
|
|
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF InitiMaskElim = FALSE
|
|
//
|
|
// START_WIDGET_GROUP("RUN ELIMINATION GUTS")
|
|
// CREATE_A_SPRITE_PLACEMENT_WIDGET(EliminationWidget, "EliminationWidget")
|
|
// ADD_WIDGET_FLOAT_SLIDER("EliminationSpacingWidget", EliminationSpacingWidget, -1, 1, 0.001)
|
|
//
|
|
// STOP_WIDGET_GROUP()
|
|
//
|
|
// InitiMaskElim = TRUE
|
|
// ENDIF
|
|
// #ENDIF
|
|
|
|
|
|
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBars")
|
|
#IF USE_TU_CHANGES
|
|
REQUEST_STREAMED_TEXTURE_DICT("Cross")
|
|
#ENDIF
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBars")
|
|
#IF USE_TU_CHANGES
|
|
AND HAS_STREAMED_TEXTURE_DICT_LOADED("Cross")
|
|
#ENDIF
|
|
|
|
|
|
BOOL IsActive
|
|
HUD_COLOURS BoxColour, BoxColour_Inactive
|
|
FLOAT SpacingofDots = CHECKPOINT_DOT_SPACING
|
|
// #IF IS_DEBUG_BUILD
|
|
// SpacingofDots += EliminationSpacingWidget
|
|
// #ENDIF
|
|
|
|
INT I
|
|
FOR I = 0 TO MaxNumCheckpoints-1
|
|
// #IF IS_DEBUG_BUILD
|
|
// UPDATE_SPRITE_WIDGET_VALUE(Sprites[I], EliminationWidget)
|
|
// #ENDIF
|
|
Sprites[I].x += SpacingofDots*(I)
|
|
IF SHOULD_DRAW_SQUARE(i, iVisibleBoxes)
|
|
|
|
|
|
SWITCH I
|
|
|
|
CASE 0
|
|
IsActive = IsEliminated1
|
|
BoxColour = Box1Colour
|
|
BoxColour_Inactive = Box1Colour_Inactive
|
|
BREAK
|
|
CASE 1
|
|
IsActive = IsEliminated2
|
|
BoxColour = Box2Colour
|
|
BoxColour_Inactive = Box2Colour_Inactive
|
|
BREAK
|
|
CASE 2
|
|
IsActive = IsEliminated3
|
|
BoxColour = Box3Colour
|
|
BoxColour_Inactive = Box3Colour_Inactive
|
|
BREAK
|
|
CASE 3
|
|
IsActive = IsEliminated4
|
|
BoxColour = Box4Colour
|
|
BoxColour_Inactive = Box4Colour_Inactive
|
|
BREAK
|
|
CASE 4
|
|
IsActive = IsEliminated5
|
|
BoxColour = Box5Colour
|
|
BoxColour_Inactive = Box5Colour_Inactive
|
|
BREAK
|
|
CASE 5
|
|
IsActive = IsEliminated6
|
|
BoxColour = Box6Colour
|
|
BoxColour_Inactive = Box6Colour_Inactive
|
|
BREAK
|
|
CASE 6
|
|
IsActive = IsEliminated7
|
|
BoxColour = Box7Colour
|
|
BoxColour_Inactive = Box7Colour_Inactive
|
|
BREAK
|
|
CASE 7
|
|
IsActive = IsEliminated8
|
|
BoxColour = Box8Colour
|
|
BoxColour_Inactive = Box8Colour_Inactive
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
// NET_NL()NET_PRINT("RUN_ELIMINATION_GUTS: FirstColour = ")NET_PRINT(HUD_COLOUR_AS_STRING(FirstColour))
|
|
// NET_NL()NET_PRINT("RUN_ELIMINATION_GUTS: SecondColour = ")NET_PRINT(HUD_COLOUR_AS_STRING(SecondColour))
|
|
// NET_NL()NET_PRINT("RUN_ELIMINATION_GUTS: BoxColour_Inactive = ")NET_PRINT(HUD_COLOUR_AS_STRING(BoxColour_Inactive))
|
|
// NET_NL()NET_PRINT("RUN_ELIMINATION_GUTS: BoxColour = ")NET_PRINT(HUD_COLOUR_AS_STRING(BoxColour))
|
|
|
|
|
|
|
|
SPRITE_PLACEMENT sTempPlacement
|
|
BOOL reduceAlpha = FALSE
|
|
|
|
IF BoxColour_Inactive = HUD_COLOUR_BLACK
|
|
reduceAlpha = TRUE
|
|
BoxColour_Inactive = HUD_COLOUR_WHITE
|
|
ENDIF
|
|
|
|
sTempPlacement = SET_SPRITE_COLOUR_ELIMINATION(Sprites[I], IsActive, FirstColour, SecondColour, BoxColour, BoxColour_Inactive)
|
|
|
|
IF reduceAlpha
|
|
sTempPlacement.a = TIMER_METER_NON_SELECTED_ALPHA
|
|
ENDIF
|
|
|
|
DRAW_2D_SPRITE("TimerBars", "Circle_checkpoints", sTempPlacement, FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
|
|
#IF USE_TU_CHANGES
|
|
IF DRAW_CROSSED_DOT(I, CrossedDot0, CrossedDot1, CrossedDot2, CrossedDot3, CrossedDot4, CrossedDot5, CrossedDot6, CrossedDot7)
|
|
|
|
SWITCH I
|
|
CASE 0 SET_SPRITE_HUD_COLOUR(Sprites[I], CrossedDot0Colour) BREAK
|
|
CASE 1 SET_SPRITE_HUD_COLOUR(Sprites[I], CrossedDot1Colour) BREAK
|
|
CASE 2 SET_SPRITE_HUD_COLOUR(Sprites[I], CrossedDot2Colour) BREAK
|
|
CASE 3 SET_SPRITE_HUD_COLOUR(Sprites[I], CrossedDot3Colour) BREAK
|
|
CASE 4 SET_SPRITE_HUD_COLOUR(Sprites[I], CrossedDot4Colour) BREAK
|
|
CASE 5 SET_SPRITE_HUD_COLOUR(Sprites[I], CrossedDot5Colour) BREAK
|
|
CASE 6 SET_SPRITE_HUD_COLOUR(Sprites[I], CrossedDot6Colour) BREAK
|
|
CASE 7 SET_SPRITE_HUD_COLOUR(Sprites[I], CrossedDot7Colour) BREAK
|
|
ENDSWITCH
|
|
|
|
DRAW_2D_SPRITE("Cross", "Circle_checkpoints_Cross", Sprites[I], FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
|
|
ENDIF
|
|
|
|
ENDFOR
|
|
|
|
|
|
|
|
ENDIF
|
|
|
|
//
|
|
//
|
|
//
|
|
// SET_SPRITE_HUD_COLOUR(Sprites[0], OuterRingColour)
|
|
// DRAW_2D_SPRITE("TimerBars", "GaugeForIngameHUD_Outline", Sprites[0], FALSE)
|
|
// INT I
|
|
// BOOL IsActive
|
|
// HUD_COLOURS BoxColour, BoxColour_Inactive
|
|
//
|
|
// IF iVisibleBoxes > -1
|
|
// GET_SPRITE_LEVEL_BAR(Sprites[0], 100,Sprites[2], FALSE)
|
|
//
|
|
//// SET_SPRITE_BLACK(Sprites[2])
|
|
// Sprites[2].a = 90
|
|
//
|
|
// DRAW_2D_SPRITE("TimerBars", "GaugeForIngameHUD_BackgroundAndFill", Sprites[2], FALSE)
|
|
// ENDIF
|
|
//
|
|
// FOR I = 1 TO MaxNumCheckpoints
|
|
//
|
|
//
|
|
// SWITCH I
|
|
// CASE 1
|
|
// IsActive = IsEliminated1
|
|
// BoxColour = Box1Colour
|
|
// BoxColour_Inactive = Box1Colour_Inactive
|
|
// BREAK
|
|
// CASE 2
|
|
// IsActive = IsEliminated2
|
|
// BoxColour = Box2Colour
|
|
// BoxColour_Inactive = Box2Colour_Inactive
|
|
// BREAK
|
|
// CASE 3
|
|
// IsActive = IsEliminated3
|
|
// BoxColour = Box3Colour
|
|
// BoxColour_Inactive = Box3Colour_Inactive
|
|
// BREAK
|
|
// CASE 4
|
|
// IsActive = IsEliminated4
|
|
// BoxColour = Box4Colour
|
|
// BoxColour_Inactive = Box4Colour_Inactive
|
|
// BREAK
|
|
// CASE 5
|
|
// IsActive = IsEliminated5
|
|
// BoxColour = Box5Colour
|
|
// BoxColour_Inactive = Box5Colour_Inactive
|
|
// BREAK
|
|
// CASE 6
|
|
// IsActive = IsEliminated6
|
|
// BoxColour = Box6Colour
|
|
// BoxColour_Inactive = Box6Colour_Inactive
|
|
// BREAK
|
|
// CASE 7
|
|
// IsActive = IsEliminated7
|
|
// BoxColour = Box7Colour
|
|
// BoxColour_Inactive = Box7Colour_Inactive
|
|
// BREAK
|
|
// CASE 8
|
|
// IsActive = IsEliminated8
|
|
// BoxColour = Box8Colour
|
|
// BoxColour_Inactive = Box8Colour_Inactive
|
|
// BREAK
|
|
// ENDSWITCH
|
|
//
|
|
// FLOAT BlockPercentage = TO_FLOAT(I)/TO_FLOAT(MaxNumCheckpoints)
|
|
// BlockPercentage *= 100
|
|
// FLOAT iBlockPercentage = (BlockPercentage)
|
|
//
|
|
// IF SHOULD_DRAW_SQUARE(i, iVisibleBoxes)
|
|
// GET_SPRITE_LEVEL_BAR(Sprites[0], iBlockPercentage,Sprites[1], FALSE, TRUE, MaxNumCheckpoints)
|
|
// SPRITE_PLACEMENT sTempPlacement = SET_SPRITE_COLOUR_ELIMINATION(Sprites[1], IsActive, FirstColour, SecondColour, BoxColour, BoxColour_Inactive)
|
|
// DRAW_2D_SPRITE("TimerBars", "GaugeForIngameHUD_BackgroundAndFill", sTempPlacement, FALSE)
|
|
// ENDIF
|
|
// ENDFOR
|
|
// DRAW_DIVIDING_LINES(Sprites[0],aRect, MaxNumCheckpoints)
|
|
// ELSE
|
|
// NET_NL()NET_PRINT("waiting on TimerBars to load")NET_NL()
|
|
//
|
|
// ENDIF
|
|
|
|
|
|
|
|
ENDPROC
|
|
|
|
|
|
|
|
|
|
//FUNC BOOL IS_CHECKBOX_DISPLAYING()
|
|
// RETURN MPGlobalsScoreHud.bRunningCheckbox
|
|
//ENDFUNC
|
|
//
|
|
//FUNC BOOL IS_SCREEN_TIMER_DISPLAYING()
|
|
// RETURN MPGlobalsScoreHud.bRunningScreenTimer
|
|
//ENDFUNC
|
|
|
|
//FUNC INT GET_NUM_BAR_DISPLAYS_ON_SCREEN()
|
|
// INT Count
|
|
// IF IS_CHECKBOX_DISPLAYING()
|
|
// Count++
|
|
// ENDIF
|
|
// IF IS_SCREEN_TIMER_DISPLAYING()
|
|
// Count++
|
|
// ENDIF
|
|
// RETURN Count
|
|
//ENDFUNC
|
|
|
|
|
|
FUNC FLOAT GET_Y_SHIFT(UIELEMENTS WhichSpace)
|
|
SWITCH WhichSpace
|
|
CASE UIELEMENTS_BOTTOMRIGHT
|
|
RETURN MPGlobalsScoreHud.BottomStartY
|
|
BREAK
|
|
CASE UIELEMENTS_MIDDLERIGHT
|
|
RETURN MPGlobalsScoreHud.HudStartY
|
|
BREAK
|
|
ENDSWITCH
|
|
RETURN MPGlobalsScoreHud.BottomStartY
|
|
ENDFUNC
|
|
|
|
|
|
PROC CHANGE_Y_SHIFT_END(UIELEMENTS WhichSpace, FLOAT Amount)
|
|
SWITCH WhichSpace
|
|
CASE UIELEMENTS_BOTTOMRIGHT
|
|
MPGlobalsScoreHud.BottomStartY += Amount
|
|
BREAK
|
|
CASE UIELEMENTS_MIDDLERIGHT
|
|
MPGlobalsScoreHud.HudStartY += Amount
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
ENDPROC
|
|
|
|
|
|
|
|
|
|
PROC SET_INSTRUCTIONAL_BUTTONS_UNDER_HUD_THIS_FRAME(INT iNumRows = 1)
|
|
#IF IS_DEBUG_BUILD
|
|
IF GET_COMMANDLINE_PARAM_EXISTS("sc_TraceTimersShiftUp")
|
|
DEBUG_PRINTCALLSTACK()
|
|
NET_NL()NET_PRINT("SET_INSTRUCTIONAL_BUTTONS_UNDER_HUD_THIS_FRAME - called - iNumRows = ")NET_PRINT_INT(iNumRows)
|
|
ENDIF
|
|
#ENDIF
|
|
MPGlobalsScoreHud.bNumberOfInstructionalButtonsRowsUnderHud = iNumRows
|
|
ENDPROC
|
|
|
|
PROC SET_GOLF_SCORE_UNDER_HUD_THIS_FRAME()
|
|
MPGlobalsScoreHud.bGolfScoreUnderHud = TRUE
|
|
ENDPROC
|
|
|
|
PROC SET_CORONA_UNDER_HUD_THIS_FRAME()
|
|
MPGlobalsScoreHud.bCoronaUnderHud = TRUE
|
|
ENDPROC
|
|
|
|
PROC SET_PHONE_UNDER_HUD_THIS_FRAME()
|
|
MPGlobalsScoreHud.bPhoneUnderHud = TRUE
|
|
ENDPROC
|
|
PROC SET_PHONE_UNDER_HUD_NO_RISE_THIS_FRAME()
|
|
MPGlobalsScoreHud.bPhoneUnderHudNoRise = TRUE
|
|
ENDPROC
|
|
PROC SET_TOP_RIGHT_HUD_THIS_FRAME()
|
|
MPGlobalsScoreHud.bTopRightHud = TRUE
|
|
ENDPROC
|
|
|
|
PROC SET_SWITCH_WHEEL_UNDER_HUD_THIS_FRAME()
|
|
MPGlobalsScoreHud.bSwitchWheel = TRUE
|
|
ENDPROC
|
|
|
|
PROC SET_SWITCH_WHEEL_AND_STATS_UNDER_HUD_THIS_FRAME()
|
|
MPGlobalsScoreHud.bSwitchWheelAndStats = TRUE
|
|
ENDPROC
|
|
|
|
PROC SET_SNIPER_SCOPE_UNDER_HUD_THIS_FRAME()
|
|
MPGlobalsScoreHud.bSniperScopeOn = TRUE
|
|
ENDPROC
|
|
|
|
PROC SET_FAR_RIGHT_TITLE_POSITION_HUD_THIS_FRAME()
|
|
MPGlobalsScoreHud.bTitleFarLeftJustified = TRUE
|
|
ENDPROC
|
|
|
|
PROC SET_MIDDLE_TITLE_POSITION_HUD_THIS_FRAME()
|
|
MPGlobalsScoreHud.bTitleMiddleJustified = TRUE
|
|
ENDPROC
|
|
|
|
PROC SET_DECIMAL_POINTS_FOR_BOTTOM_RIGHT_HUD_THIS_FRAME(INT iDecimalPoints = 1)
|
|
g_b_iNumberOfDecimalPlacesForScore = iDecimalPoints
|
|
ENDPROC
|
|
|
|
|
|
|
|
//BOOL ValueToTitleWidgetStart
|
|
//FLOAT ValueToTitle_THREESETS_WIDGET
|
|
//FLOAT ValueToTitle_TWOSETS_WIDGET
|
|
//FLOAT ValueToTitle_SINGLE_NUMBER_WIDGET
|
|
//
|
|
//FLOAT ValueToTitle_DASHSINGLE_WIDGET
|
|
//FLOAT ValueToTitle_DASHDOUBLE_WIDGET
|
|
//FLOAT ValueToTitle_DASHTRIPLE_WIDGET
|
|
//FLOAT ValueToTitle_POSITION_SYMBOL_WIDGET
|
|
//FLOAT ValueToTitle_SCORE_WIDGET
|
|
//FLOAT ValueToTitle_SCORE_SMALL_WIDGET
|
|
//FLOAT ValueToTitle_SCORE_SMALL_NON_ROMANIC_WIDGET
|
|
//FLOAT ValueToTitle_TIMER_PLYR_NAME
|
|
//FLOAT ValueToTitle_TIMER_AMPM
|
|
|
|
FUNC FLOAT GET_VALUE_TO_TITLE_OFFSET(TEXT_STYLE& BottomTextUsed)
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF ValueToTitleWidgetStart = FALSE
|
|
// START_WIDGET_GROUP("GET_VALUE_TO_TITLE_OFFSET")
|
|
// ADD_WIDGET_FLOAT_SLIDER("GET_VALUE_TO_TITLE_OFFSET: THREESETS", ValueToTitle_THREESETS_WIDGET, -1, 1, 0.001)
|
|
// ADD_WIDGET_FLOAT_SLIDER("GET_VALUE_TO_TITLE_OFFSET: TWOSETS", ValueToTitle_TWOSETS_WIDGET, -1, 1, 0.001)
|
|
// ADD_WIDGET_FLOAT_SLIDER("GET_VALUE_TO_TITLE_OFFSET: SINGLE NUMBER", ValueToTitle_SINGLE_NUMBER_WIDGET, -1, 1, 0.001)
|
|
//
|
|
// ADD_WIDGET_FLOAT_SLIDER("GET_VALUE_TO_TITLE_OFFSET: DASHSINGLE", ValueToTitle_DASHSINGLE_WIDGET, -1, 1, 0.001)
|
|
// ADD_WIDGET_FLOAT_SLIDER("GET_VALUE_TO_TITLE_OFFSET: DASHDOUBLE", ValueToTitle_DASHDOUBLE_WIDGET, -1, 1, 0.001)
|
|
// ADD_WIDGET_FLOAT_SLIDER("GET_VALUE_TO_TITLE_OFFSET: DASHTRIPLE", ValueToTitle_DASHTRIPLE_WIDGET, -1, 1, 0.001)
|
|
// ADD_WIDGET_FLOAT_SLIDER("GET_VALUE_TO_TITLE_OFFSET: POSITION", ValueToTitle_POSITION_SYMBOL_WIDGET, -1, 1, 0.001)
|
|
// ADD_WIDGET_FLOAT_SLIDER("GET_VALUE_TO_TITLE_OFFSET: SCORE", ValueToTitle_SCORE_WIDGET, -1, 1, 0.001)
|
|
// ADD_WIDGET_FLOAT_SLIDER("GET_VALUE_TO_TITLE_OFFSET: SCORE SMALL", ValueToTitle_SCORE_SMALL_WIDGET, -1, 1, 0.001)
|
|
// ADD_WIDGET_FLOAT_SLIDER("GET_VALUE_TO_TITLE_OFFSET: SCORE SMALL NON ROMANIC", ValueToTitle_SCORE_SMALL_NON_ROMANIC_WIDGET, -1, 1, 0.001)
|
|
//
|
|
// ADD_WIDGET_FLOAT_SLIDER("GET_VALUE_TO_TITLE_OFFSET: PLAYER NAME", ValueToTitle_TIMER_PLYR_NAME, -1, 1, 0.001)
|
|
// ADD_WIDGET_FLOAT_SLIDER("GET_VALUE_TO_TITLE_OFFSET: AMPM", ValueToTitle_TIMER_AMPM, -1, 1, 0.001)
|
|
// STOP_WIDGET_GROUP()
|
|
// ValueToTitleWidgetStart = TRUE
|
|
// ENDIF
|
|
// #ENDIF
|
|
|
|
FLOAT Result
|
|
|
|
SWITCH BottomTextUsed.aTextType
|
|
|
|
CASE TEXTTYPE_TS_UI_TIMERNUMBER_THREESETS
|
|
Result = (-0.010)-0.005+0.004-0.0005-0.002+0.002+0.0005
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += ValueToTitle_THREESETS_WIDGET
|
|
// #ENDIF
|
|
BREAK
|
|
CASE TEXTTYPE_TS_UI_TIMERNUMBER_TWOSETS
|
|
Result = (-0.025)-0.003+0.002-0.006+0.001
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += ValueToTitle_TWOSETS_WIDGET
|
|
// #ENDIF
|
|
BREAK
|
|
CASE TEXTTYPE_TS_UI_SINGLE_NUMBER
|
|
Result = (-0.047)-0.004+0.012+0.001+0.007
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += ValueToTitle_SINGLE_NUMBER_WIDGET
|
|
// #ENDIF
|
|
BREAK
|
|
CASE TEXTTYPE_TS_UI_DASHSINGLE
|
|
Result = (-0.019)+0.011+0.004
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += ValueToTitle_DASHSINGLE_WIDGET
|
|
// #ENDIF
|
|
BREAK
|
|
CASE TEXTTYPE_TS_UI_DASHDOUBLE
|
|
Result = (-0.012)+0.001
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += ValueToTitle_DASHDOUBLE_WIDGET
|
|
// #ENDIF
|
|
BREAK
|
|
CASE TEXTTYPE_TS_UI_DASHTRIPLE
|
|
Result = (-0.012)+0.001+0.001
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += ValueToTitle_DASHTRIPLE_WIDGET
|
|
// #ENDIF
|
|
BREAK
|
|
CASE TEXTTYPE_TS_UI_POSITION_SYMBOL
|
|
Result = (-0.035)-0.008+0.006+0.013+0.0005
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += ValueToTitle_POSITION_SYMBOL_WIDGET
|
|
// #ENDIF
|
|
BREAK
|
|
CASE TEXTTYPE_TS_UI_SCORE
|
|
Result = (-0.010)-0.005+0.004-0.001+0.001
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += ValueToTitle_SCORE_WIDGET
|
|
// #ENDIF
|
|
BREAK
|
|
CASE TEXTTYPE_TS_UI_SCORE_SMALL
|
|
Result = (-0.010)-0.005+0.004+0.005+0.0007
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += ValueToTitle_SCORE_SMALL_WIDGET
|
|
// #ENDIF
|
|
BREAK
|
|
CASE TEXTTYPE_TS_UI_SCORE_SMALL_NON_ROMANIC
|
|
Result = (-0.010)-0.005+0.004+0.005+0.003
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += ValueToTitle_SCORE_SMALL_NON_ROMANIC_WIDGET
|
|
// #ENDIF
|
|
BREAK
|
|
CASE TEXTTYPE_TS_TIMER_PLYR_NAME
|
|
Result = (-0.010)-0.005+0.004+0.005
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += ValueToTitle_TIMER_PLYR_NAME
|
|
// #ENDIF
|
|
BREAK
|
|
CASE TEXTTYPE_TS_UI_AMPM
|
|
Result = (-0.010)-0.005+0.004+0.005
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += ValueToTitle_TIMER_AMPM
|
|
// #ENDIF
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
Result += 0.003
|
|
ENDIF
|
|
|
|
|
|
RETURN Result
|
|
|
|
ENDFUNC
|
|
|
|
|
|
//BOOL TITLEToTitleWidgetStart
|
|
//FLOAT TitleOffset_TIMER_PLYR_NAME
|
|
//FLOAT TitleOffset_TS_STANDARDSMALLHUD
|
|
|
|
FUNC FLOAT GET_TITLE_OFFSET(TEXT_STYLE& BottomTextUsed)
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF TITLEToTitleWidgetStart = FALSE
|
|
// START_WIDGET_GROUP("GET_TITLE_OFFSET")
|
|
// ADD_WIDGET_FLOAT_SLIDER("GET_TITLE_OFFSET: PLAYER NAME", TitleOffset_TIMER_PLYR_NAME, -1, 1, 0.001)
|
|
// ADD_WIDGET_FLOAT_SLIDER("GET_TITLE_OFFSET: SMALL HUD", TitleOffset_TS_STANDARDSMALLHUD, -1, 1, 0.001)
|
|
// STOP_WIDGET_GROUP()
|
|
// TITLEToTitleWidgetStart = TRUE
|
|
// ENDIF
|
|
// #ENDIF
|
|
|
|
FLOAT Result
|
|
|
|
SWITCH BottomTextUsed.aTextType
|
|
|
|
|
|
CASE TEXTTYPE_TS_TIMER_PLYR_NAME
|
|
Result = 0
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += TitleOffset_TIMER_PLYR_NAME
|
|
// #ENDIF
|
|
BREAK
|
|
// CASE TEXTTYPE_TS_STANDARDSMALLHUD
|
|
// Result = 0.0
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += TitleOffset_TS_STANDARDSMALLHUD
|
|
// #ENDIF
|
|
// BREAK
|
|
ENDSWITCH
|
|
|
|
|
|
|
|
RETURN Result
|
|
|
|
ENDFUNC
|
|
|
|
//BOOL BarToTitleWidgetStart
|
|
//FLOAT BAR_TO_TITLE_WIDGET
|
|
|
|
FUNC FLOAT GET_BAR_TO_TITLE_OFFSET()
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF BarToTitleWidgetStart = FALSE
|
|
// START_WIDGET_GROUP("GET_BAR_TO_TITLE_OFFSET")
|
|
// ADD_WIDGET_FLOAT_SLIDER("GET_BAR_TO_TITLE_OFFSET: BAR_TO_TITLE", BAR_TO_TITLE_WIDGET, -1, 1, 0.001)
|
|
// STOP_WIDGET_GROUP()
|
|
// BarToTitleWidgetStart = TRUE
|
|
// ENDIF
|
|
// #ENDIF
|
|
|
|
FLOAT Result = (0.013)-0.002+0.001+0.001-0.001
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += BAR_TO_TITLE_WIDGET
|
|
// #ENDIF
|
|
RETURN Result
|
|
ENDFUNC
|
|
|
|
|
|
//BOOL CHECKPOINTToTitleWidgetStartX
|
|
//FLOAT CHECKPOINT_TO_TITLE_WIDGETX
|
|
|
|
FUNC FLOAT GET_CHECKPOINT_TO_TITLE_OFFSET_X()
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF CHECKPOINTToTitleWidgetStartX = FALSE
|
|
// START_WIDGET_GROUP("GET_CHECKPOINT_TO_TITLE_OFFSET_X")
|
|
// ADD_WIDGET_FLOAT_SLIDER("GET_CHECKPOINT_TO_TITLE_OFFSET_X: CHECKPOINT_TO_TITLE_WIDGETX", CHECKPOINT_TO_TITLE_WIDGETX, -1, 1, 0.001)
|
|
// STOP_WIDGET_GROUP()
|
|
// CHECKPOINTToTitleWidgetStartX = TRUE
|
|
// ENDIF
|
|
// #ENDIF
|
|
|
|
FLOAT Result = 0.919-0.081+0.004-0.006+0.050-0.001-0.005+0.065-0.0005
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += CHECKPOINT_TO_TITLE_WIDGETX
|
|
// #ENDIF
|
|
RETURN Result
|
|
ENDFUNC
|
|
|
|
//BOOL BarToTitleWidgetStartX
|
|
//FLOAT BAR_TO_TITLE_WIDGETX
|
|
|
|
|
|
FUNC FLOAT GET_BAR_TO_TITLE_OFFSET_X()
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF BarToTitleWidgetStartX = FALSE
|
|
// START_WIDGET_GROUP("GET_BAR_TO_TITLE_OFFSET_X")
|
|
// ADD_WIDGET_FLOAT_SLIDER("GET_BAR_TO_TITLE_OFFSET_X: BAR_TO_TITLE_WIDGETX", BAR_TO_TITLE_WIDGETX, -1, 1, 0.001)
|
|
// STOP_WIDGET_GROUP()
|
|
// BarToTitleWidgetStartX = TRUE
|
|
// ENDIF
|
|
// #ENDIF
|
|
|
|
FLOAT Result = 0.919-0.081+0.004-0.006+0.050-0.001
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += BAR_TO_TITLE_WIDGETX
|
|
// #ENDIF
|
|
RETURN Result
|
|
ENDFUNC
|
|
|
|
//BOOL DamageBarToTitleWidgetStartX
|
|
//FLOAT DAMAGE_BAR_TO_TITLE_WIDGETX
|
|
|
|
FUNC FLOAT GET_DAMAGE_BAR_TO_TITLE_OFFSET_X()
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF DamageBarToTitleWidgetStartX = FALSE
|
|
// START_WIDGET_GROUP("GET_DAMAGE_BAR_TO_TITLE_OFFSET_X")
|
|
// ADD_WIDGET_FLOAT_SLIDER("GET_DAMAGE_BAR_TO_TITLE_OFFSET_X: BAR_TO_TITLE_WIDGETX", DAMAGE_BAR_TO_TITLE_WIDGETX, -1, 1, 0.001)
|
|
// STOP_WIDGET_GROUP()
|
|
// DamageBarToTitleWidgetStartX = TRUE
|
|
// ENDIF
|
|
// #ENDIF
|
|
|
|
FLOAT Result = 0.919-0.081+0.028+0.050-0.001-0.002
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += DAMAGE_BAR_TO_TITLE_WIDGETX
|
|
// #ENDIF
|
|
RETURN Result
|
|
ENDFUNC
|
|
|
|
|
|
//BOOL EXTRATIMEToTitleWidgetStart
|
|
//FLOAT EXTRATIME_TO_TITLE_WIDGET
|
|
|
|
FUNC FLOAT GET_EXTRATIME_TO_TITLE_OFFSET()
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF EXTRATIMEToTitleWidgetStart = FALSE
|
|
// START_WIDGET_GROUP("GET_EXTRATIME_TO_TITLE_OFFSET")
|
|
// ADD_WIDGET_FLOAT_SLIDER("GET_EXTRATIME_TO_TITLE_OFFSET: EXTRATIME_TO_TITLE", EXTRATIME_TO_TITLE_WIDGET, -1, 1, 0.001)
|
|
// STOP_WIDGET_GROUP()
|
|
// EXTRATIMEToTitleWidgetStart = TRUE
|
|
// ENDIF
|
|
// #ENDIF
|
|
|
|
FLOAT Result = -0.004-0.007
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += EXTRATIME_TO_TITLE_WIDGET
|
|
// #ENDIF
|
|
RETURN Result
|
|
ENDFUNC
|
|
|
|
//BOOL GapWordWidgetStart
|
|
//FLOAT TIMERNUMBER_THREESETS_WIDGET
|
|
//FLOAT TIMERNUMBER_TWOSETS_WIDGET
|
|
//FLOAT SINGLE_NUMBER_WIDGET
|
|
//FLOAT TRIPLE_NUMBER_WIDGET
|
|
//FLOAT DOUBLE_NUMBER_WIDGET
|
|
//FLOAT SCORE_NUMBER_WIDGET
|
|
//FLOAT SCORE_SMALL_NUMBER_WIDGET
|
|
//FLOAT SCORE_SMALL_NUMBER_NON_ROMANIC_WIDGET
|
|
//FLOAT AMPM_NUMBER_WIDGET
|
|
|
|
FUNC FLOAT GET_VALUE_OF_GAP(TEXT_STYLE& BottomTextUsed)
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF GapWordWidgetStart = FALSE
|
|
//
|
|
// START_WIDGET_GROUP("GET_VALUE_OF_GAP")
|
|
// ADD_WIDGET_FLOAT_SLIDER("GET_VALUE_OF_GAP: THREESETS", TIMERNUMBER_THREESETS_WIDGET, -1, 1, 0.001)
|
|
// ADD_WIDGET_FLOAT_SLIDER("GET_VALUE_OF_GAP: TWOSETS", TIMERNUMBER_TWOSETS_WIDGET, -1, 1, 0.001)
|
|
// ADD_WIDGET_FLOAT_SLIDER("GET_VALUE_OF_GAP: SINGLE NUMBER", SINGLE_NUMBER_WIDGET, -1, 1, 0.001)
|
|
// ADD_WIDGET_FLOAT_SLIDER("GET_VALUE_OF_GAP: TRIPLE NUMBER", TRIPLE_NUMBER_WIDGET, -1, 1, 0.001)
|
|
// ADD_WIDGET_FLOAT_SLIDER("GET_VALUE_OF_GAP: DOUBLE NUMBER", DOUBLE_NUMBER_WIDGET, -1, 1, 0.001)
|
|
// ADD_WIDGET_FLOAT_SLIDER("GET_VALUE_OF_GAP: SCORE NUMBER", SCORE_NUMBER_WIDGET, -1, 1, 0.001)
|
|
// ADD_WIDGET_FLOAT_SLIDER("GET_VALUE_OF_GAP: SCORE SMALL NUMBER", SCORE_SMALL_NUMBER_WIDGET, -1, 1, 0.001)
|
|
// ADD_WIDGET_FLOAT_SLIDER("GET_VALUE_OF_GAP: AMPM NUMBER", AMPM_NUMBER_WIDGET, -1, 1, 0.001)
|
|
// ADD_WIDGET_FLOAT_SLIDER("GET_VALUE_OF_GAP: SCORE SMALL NON ROMANIC NUMBER", SCORE_SMALL_NUMBER_NON_ROMANIC_WIDGET, -1, 1, 0.001)
|
|
//
|
|
// STOP_WIDGET_GROUP()
|
|
// GapWordWidgetStart = TRUE
|
|
// ENDIF
|
|
// #ENDIF
|
|
|
|
FLOAT Result
|
|
|
|
SWITCH BottomTextUsed.aTextType
|
|
|
|
|
|
CASE TEXTTYPE_TS_UI_TIMERNUMBER_THREESETS
|
|
Result= (0.035)+0.023-0.003+0.001-0.007-0.012+0.001+0.0018+0.0005-0.0005
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += TIMERNUMBER_THREESETS_WIDGET
|
|
// #ENDIF
|
|
|
|
BREAK
|
|
CASE TEXTTYPE_TS_UI_TIMERNUMBER_TWOSETS
|
|
Result= (0.035)+0.023-0.003+0.001-0.007+0.003+0.002-0.004
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += TIMERNUMBER_TWOSETS_WIDGET
|
|
// #ENDIF
|
|
BREAK
|
|
CASE TEXTTYPE_TS_UI_SINGLE_NUMBER
|
|
Result= (0.065)+0.009-0.006-0.009+0.001-0.009
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += SINGLE_NUMBER_WIDGET
|
|
// #ENDIF
|
|
BREAK
|
|
CASE TEXTTYPE_TS_UI_DASHSINGLE
|
|
Result= 0.0 //HudOffsetArray[3]
|
|
BREAK
|
|
CASE TEXTTYPE_TS_UI_DASHDOUBLE
|
|
Result= (0.065)+0.009
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += DOUBLE_NUMBER_WIDGET
|
|
// #ENDIF
|
|
BREAK
|
|
CASE TEXTTYPE_TS_UI_DASHTRIPLE
|
|
Result= (0.065)+0.009-0.015-0.022
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += TRIPLE_NUMBER_WIDGET
|
|
// #ENDIF
|
|
BREAK
|
|
CASE TEXTTYPE_TS_UI_POSITION_SYMBOL
|
|
Result= 0.0 //HudOffsetArray[5]
|
|
BREAK
|
|
CASE TEXTTYPE_TS_UI_SCORE
|
|
Result= (0.035)+0.023-0.003+0.001-0.007-0.012+0.001+0.002+0.0003
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += SCORE_NUMBER_WIDGET
|
|
// #ENDIF
|
|
BREAK
|
|
CASE TEXTTYPE_TS_UI_SCORE_SMALL
|
|
Result= (0.035)+0.023-0.003+0.001-0.007-0.012-0.0005
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += SCORE_SMALL_NUMBER_WIDGET
|
|
// #ENDIF
|
|
BREAK
|
|
CASE TEXTTYPE_TS_UI_SCORE_SMALL_NON_ROMANIC
|
|
Result= (0.035)+0.023-0.003+0.001-0.007-0.012
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += SCORE_SMALL_NUMBER_NON_ROMANIC_WIDGET
|
|
// #ENDIF
|
|
BREAK
|
|
CASE TEXTTYPE_TS_UI_AMPM
|
|
Result= (0.035)+0.023-0.003+0.001-0.007-0.012
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += AMPM_NUMBER_WIDGET
|
|
// #ENDIF
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
|
|
RETURN Result
|
|
|
|
ENDFUNC
|
|
|
|
|
|
//BOOL GapBarWidgetStart
|
|
//FLOAT GapBarWidgetValue
|
|
|
|
FUNC FLOAT GET_VALUE_OF_GAP_BAR_SPRITE(BOOL bBigMeter , BOOL SpriteBar)
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF GapBarWidgetStart = FALSE
|
|
//
|
|
// START_WIDGET_GROUP("GET_VALUE_OF_GAP_BAR_SPRITE")
|
|
// ADD_WIDGET_FLOAT_SLIDER("GET_VALUE_OF_GAP_BAR_SPRITE: GapBarWidgetValue", GapBarWidgetValue, -1, 1, 0.001)
|
|
// STOP_WIDGET_GROUP()
|
|
// GapBarWidgetStart = TRUE
|
|
// ENDIF
|
|
// #ENDIF
|
|
|
|
FLOAT Result = (0.025)+0.006+0.0009
|
|
IF bBigMeter = TRUE
|
|
Result += 0.008
|
|
ENDIF
|
|
IF SpriteBar
|
|
Result += 0.008
|
|
ENDIF
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += GapBarWidgetValue
|
|
// #ENDIF
|
|
|
|
|
|
RETURN Result
|
|
ENDFUNC
|
|
|
|
|
|
//PROC SET_Y_SHIFT_START(UIELEMENTS WhichSpace, TEXT_STYLE& BottomTextUsed)
|
|
PROC SET_Y_SHIFT_START(UIELEMENTS WhichSpace)
|
|
SWITCH WhichSpace
|
|
CASE UIELEMENTS_BOTTOMRIGHT
|
|
MPGlobalsScoreHud.BottomStartY = BASE_LINE_OFFSET()
|
|
BREAK
|
|
CASE UIELEMENTS_MIDDLERIGHT
|
|
MPGlobalsScoreHud.HudStartY = BASE_LINE_OFFSET()
|
|
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
ENDPROC
|
|
|
|
FUNC BOOL IS_SCREEN_NARROW()
|
|
IF IS_PC_VERSION()
|
|
INT iX, iY
|
|
GET_ACTUAL_SCREEN_RESOLUTION(iX, iY)
|
|
IF iX <= 1024
|
|
RETURN TRUE
|
|
ENDIF
|
|
ENDIF
|
|
RETURN FALSE
|
|
ENDFUNC
|
|
|
|
//BOOL TitleWrapWidgetStart
|
|
//FLOAT TitleWrapWidgetValue
|
|
|
|
PROC SET_WORD_WRAPPING_TITLE(TEXT_STYLE& aTitle)
|
|
|
|
FLOAT Result = 0.880-0.062+0.026+0.027+0.030
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF TitleWrapWidgetStart = FALSE
|
|
//
|
|
// START_WIDGET_GROUP("SET_WORD_WRAPPING_TITLE")
|
|
// ADD_WIDGET_FLOAT_SLIDER("SET_WORD_WRAPPING_TITLE: TitleWrapWidgetValue", TitleWrapWidgetValue, -1, 1, 0.001)
|
|
// STOP_WIDGET_GROUP()
|
|
// TitleWrapWidgetStart = TRUE
|
|
// ENDIF
|
|
// Result += TitleWrapWidgetValue
|
|
// #ENDIF
|
|
|
|
|
|
IF MPGlobalsScoreHud.bTitleFarLeftJustified
|
|
// NET_NL()NET_PRINT("SET_WORD_WRAPPING_TITLE: bTitleFarLeftJustified = TRUE ")
|
|
Result += -0.034
|
|
IF GET_IS_WIDESCREEN() = FALSE
|
|
Result += -0.02
|
|
ENDIF
|
|
ENDIF
|
|
|
|
|
|
IF MPGlobalsScoreHud.bTitleMiddleJustified
|
|
AND MPGlobalsScoreHud.bTitleFarLeftJustified = FALSE
|
|
// NET_NL()NET_PRINT("SET_WORD_WRAPPING_TITLE: bTitleMiddleJustified = TRUE ")
|
|
Result += -0.015-0.003
|
|
IF GET_IS_WIDESCREEN() = FALSE
|
|
Result += -0.017
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF MPGlobalsScoreHud.bTitleExtraLeftJustified
|
|
AND MPGlobalsScoreHud.bTitleMiddleJustified = FALSE
|
|
AND MPGlobalsScoreHud.bTitleFarLeftJustified = FALSE
|
|
// NET_NL()NET_PRINT("SET_WORD_WRAPPING_TITLE: bTitleExtraLeftJustified = TRUE ")
|
|
Result += -0.038
|
|
ENDIF
|
|
|
|
IF MPGlobalsScoreHud.bCoronaUnderHud = TRUE
|
|
// NET_NL()NET_PRINT("SET_WORD_WRAPPING_TITLE: bCoronaUnderHud = TRUE ")
|
|
Result += RIGHT_EDGE_CORONA_OFFSET
|
|
ENDIF
|
|
|
|
IF GET_CURRENT_LANGUAGE() = LANGUAGE_RUSSIAN
|
|
AND GET_CURRENT_LANGUAGE() = LANGUAGE_FRENCH
|
|
AND NOT GET_IS_WIDESCREEN()
|
|
AND MPGlobalsScoreHud.bTitleExtraLeftJustified
|
|
|
|
Result += -0.007
|
|
ENDIF
|
|
|
|
IF MPGlobalsScoreHud.bTitleInsaneLeftJustified
|
|
IF GET_CURRENT_LANGUAGE() != LANGUAGE_ENGLISH
|
|
AND GET_CURRENT_LANGUAGE() != LANGUAGE_PORTUGUESE
|
|
AND GET_CURRENT_LANGUAGE() != LANGUAGE_POLISH
|
|
AND GET_CURRENT_LANGUAGE() != LANGUAGE_CHINESE
|
|
AND GET_CURRENT_LANGUAGE() != LANGUAGE_MEXICAN
|
|
AND GET_CURRENT_LANGUAGE() != LANGUAGE_CHINESE_SIMPLIFIED
|
|
Result += -0.009
|
|
ELSE
|
|
Result += -0.009
|
|
ENDIF
|
|
ENDIF
|
|
|
|
|
|
IF MPGlobalsScoreHud.bTitleInsanePlusLeftJustified
|
|
IF IS_SCREEN_NARROW()
|
|
Result += -0.03
|
|
ELSE
|
|
IF GET_CURRENT_LANGUAGE() != LANGUAGE_ENGLISH
|
|
AND GET_CURRENT_LANGUAGE() != LANGUAGE_PORTUGUESE
|
|
AND GET_CURRENT_LANGUAGE() != LANGUAGE_POLISH
|
|
AND GET_CURRENT_LANGUAGE() != LANGUAGE_CHINESE
|
|
AND GET_CURRENT_LANGUAGE() != LANGUAGE_MEXICAN
|
|
AND GET_CURRENT_LANGUAGE() != LANGUAGE_CHINESE_SIMPLIFIED
|
|
Result += -0.024
|
|
ELSE
|
|
Result += -0.019 //-0.014
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
|
|
IF (GET_CURRENT_LANGUAGE() = LANGUAGE_KOREAN
|
|
OR GET_CURRENT_LANGUAGE() = LANGUAGE_RUSSIAN
|
|
OR GET_CURRENT_LANGUAGE() = LANGUAGE_FRENCH)
|
|
AND MPGlobalsScoreHud.bTitleMiddleJustified = FALSE
|
|
AND MPGlobalsScoreHud.bTitleFarLeftJustified = FALSE
|
|
AND MPGlobalsScoreHud.bCoronaUnderHud = FALSE
|
|
AND MPGlobalsScoreHud.bTitleExtraLeftJustified = FALSE
|
|
AND MPGlobalsScoreHud.bTitleInsaneLeftJustified = FALSE
|
|
AND MPGlobalsScoreHud.bTitleInsanePlusLeftJustified = FALSE
|
|
AND IS_PC_VERSION()
|
|
Result += -0.005
|
|
ENDIF
|
|
|
|
|
|
|
|
aTitle.WrapEndX = Result
|
|
ENDPROC
|
|
|
|
|
|
//BOOL MULTIPLYERWrapWidgetStart
|
|
//FLOAT MULTIPLYERWrapWidgetValue
|
|
|
|
PROC SET_WORD_WRAPPING_MULTIPLYER(TEXT_STYLE& aTitle)
|
|
|
|
FLOAT Result = 0.880-0.062+0.026+0.027+0.037+0.003
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF MULTIPLYERWrapWidgetStart = FALSE
|
|
//
|
|
// START_WIDGET_GROUP("SET_WORD_WRAPPING_MULTIPLYER")
|
|
// ADD_WIDGET_FLOAT_SLIDER("SET_WORD_WRAPPING_MULTIPLYER: MULTIPLYERWrapWidgetValue", MULTIPLYERWrapWidgetValue, -1, 1, 0.001)
|
|
// STOP_WIDGET_GROUP()
|
|
// MULTIPLYERWrapWidgetStart = TRUE
|
|
// ENDIF
|
|
// Result += MULTIPLYERWrapWidgetValue
|
|
// #ENDIF
|
|
|
|
|
|
aTitle.WrapEndX = Result
|
|
ENDPROC
|
|
|
|
|
|
PROC SET_WORD_WRAPPING_EXTRATIME(TEXT_STYLE& aTitle, INT Number)//, STRING Title)
|
|
// FLOAT Width = GET_STRING_WIDTH(Title)
|
|
// aTitle.WrapEndX = (1/Width*(0.006))+0.790 // (1/Width*(HudOffsetArray[1]))+HudOffsetArray[0]//
|
|
IF Number < 9999
|
|
aTitle.WrapEndX = 0.933
|
|
ELSE
|
|
aTitle.WrapEndX = 0.933+0.008
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
//BOOL GapWordDASHDOUBLEWidgetStart
|
|
//FLOAT DASH_DOUBLE_WIDGET
|
|
|
|
PROC SET_WORD_WRAPPING_DASH_DOUBLE(TEXT_STYLE& aTitle)
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF GapWordDASHDOUBLEWidgetStart = FALSE
|
|
//
|
|
// START_WIDGET_GROUP("SET_WORD_WRAPPING_DASH_DOUBLE")
|
|
// ADD_WIDGET_FLOAT_SLIDER("SET_WORD_WRAPPING_DASH_DOUBLE: DASH_DOUBLE_WIDGET", DASH_DOUBLE_WIDGET, -1, 1, 0.001)
|
|
// STOP_WIDGET_GROUP()
|
|
// GapWordDASHDOUBLEWidgetStart = TRUE
|
|
// ENDIF
|
|
// #ENDIF
|
|
aTitle.WrapEndX = (0.928)-0.051+0.050-0.021-0.005+0.011-0.005
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// aTitle.WrapEndX += DASH_DOUBLE_WIDGET
|
|
// #ENDIF
|
|
|
|
ENDPROC
|
|
|
|
//BOOL GapWordDASHDOUBLEPlaceWidgetStart
|
|
//FLOAT DASH_DOUBLE_PLACE_WIDGET
|
|
|
|
PROC SET_WORD_WRAPPING_DASH_DOUBLE_PLACE(TEXT_STYLE& aTitle)
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF GapWordDASHDOUBLEPlaceWidgetStart = FALSE
|
|
//
|
|
// START_WIDGET_GROUP("SET_WORD_WRAPPING_DASH_DOUBLE_PLACE")
|
|
// ADD_WIDGET_FLOAT_SLIDER("SET_WORD_WRAPPING_DASH_DOUBLE_PLACE: DASH_DOUBLE_PLACE_WIDGET", DASH_DOUBLE_PLACE_WIDGET, -1, 1, 0.001)
|
|
// STOP_WIDGET_GROUP()
|
|
// GapWordDASHDOUBLEPlaceWidgetStart = TRUE
|
|
// ENDIF
|
|
// #ENDIF
|
|
aTitle.WrapEndX = (0.928)-0.051+0.050-0.021+0.023
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// aTitle.WrapEndX += DASH_DOUBLE_PLACE_WIDGET
|
|
// #ENDIF
|
|
|
|
ENDPROC
|
|
|
|
//BOOL GapWordDASHTRIPLEWidgetStart
|
|
//FLOAT DASH_TRIPLE_WIDGET
|
|
|
|
PROC SET_WORD_WRAPPING_DASH_TRIPLE(TEXT_STYLE& aTitle)
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF GapWordDASHTRIPLEWidgetStart = FALSE
|
|
//
|
|
// START_WIDGET_GROUP("SET_WORD_WRAPPING_DASH_TRIPLE")
|
|
// ADD_WIDGET_FLOAT_SLIDER("SET_WORD_WRAPPING_DASH_TRIPLE: DASH_TRIPLE_WIDGET", DASH_TRIPLE_WIDGET, -1, 1, 0.001)
|
|
// STOP_WIDGET_GROUP()
|
|
// GapWordDASHTRIPLEWidgetStart = TRUE
|
|
// ENDIF
|
|
// #ENDIF
|
|
aTitle.WrapEndX = (0.928)-0.051+0.050-0.010+0.001
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// aTitle.WrapEndX += DASH_TRIPLE_WIDGET
|
|
// #ENDIF
|
|
|
|
ENDPROC
|
|
|
|
//BOOL GapWordDASHTRIPLEPLACEWidgetStart
|
|
//FLOAT DASH_TRIPLE_PLACE_WIDGET
|
|
|
|
PROC SET_WORD_WRAPPING_DASH_TRIPLE_PLACE(TEXT_STYLE& aTitle)
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF GapWordDASHTRIPLEPLACEWidgetStart = FALSE
|
|
//
|
|
// START_WIDGET_GROUP("SET_WORD_WRAPPING_DASH_TRIPLE_PLACE")
|
|
// ADD_WIDGET_FLOAT_SLIDER("SET_WORD_WRAPPING_DASH_TRIPLE_PLACE: DASH_TRIPLE_PLACE_WIDGET", DASH_TRIPLE_PLACE_WIDGET, -1, 1, 0.001)
|
|
// STOP_WIDGET_GROUP()
|
|
// GapWordDASHTRIPLEPLACEWidgetStart = TRUE
|
|
// ENDIF
|
|
// #ENDIF
|
|
aTitle.WrapEndX = (0.928)-0.051+0.050-0.010+0.001+0.007-0.002
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// aTitle.WrapEndX += DASH_TRIPLE_PLACE_WIDGET
|
|
// #ENDIF
|
|
|
|
ENDPROC
|
|
|
|
//BOOL GapWordDASHSINGLEWidgetStart
|
|
//FLOAT DASH_SINGLE_WIDGET
|
|
|
|
PROC SET_WORD_WRAPPING_DASH_SINGLE(TEXT_STYLE& aTitle)
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF GapWordDASHSINGLEWidgetStart = FALSE
|
|
//
|
|
// START_WIDGET_GROUP("SET_WORD_WRAPPING_DASH_SINGLE")
|
|
// ADD_WIDGET_FLOAT_SLIDER("SET_WORD_WRAPPING_DASH_SINGLE: DASH_SINGLE_WIDGET", DASH_SINGLE_WIDGET, -1, 1, 0.001)
|
|
// STOP_WIDGET_GROUP()
|
|
// GapWordDASHSINGLEWidgetStart = TRUE
|
|
// ENDIF
|
|
// #ENDIF
|
|
|
|
aTitle.WrapEndX = (0.918)-0.054+0.050+0.010
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// aTitle.WrapEndX += DASH_SINGLE_WIDGET
|
|
// #ENDIF
|
|
ENDPROC
|
|
|
|
//BOOL GapWordDASHSINGLEPLACEWidgetStart
|
|
//FLOAT DASH_SINGLEPLACE_WIDGET
|
|
|
|
PROC SET_WORD_WRAPPING_DASH_SINGLE_PLACE(TEXT_STYLE& aTitle)
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF GapWordDASHSINGLEPLACEWidgetStart = FALSE
|
|
//
|
|
// START_WIDGET_GROUP("SET_WORD_WRAPPING_DASH_SINGLE_PLACE")
|
|
// ADD_WIDGET_FLOAT_SLIDER("SET_WORD_WRAPPING_DASH_SINGLE_PLACE: DASH_SINGLEPLACE_WIDGET", DASH_SINGLEPLACE_WIDGET, -1, 1, 0.001)
|
|
// STOP_WIDGET_GROUP()
|
|
// GapWordDASHSINGLEPLACEWidgetStart = TRUE
|
|
// ENDIF
|
|
// #ENDIF
|
|
|
|
aTitle.WrapEndX = (0.933)-0.050+0.049+0.001-0.001
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// aTitle.WrapEndX += DASH_SINGLEPLACE_WIDGET
|
|
// #ENDIF
|
|
|
|
ENDPROC
|
|
|
|
|
|
|
|
|
|
|
|
PROC SET_WORD_WRAPPING_TO_POSITION(TEXT_STYLE& aTitle, FLOAT WrapTo)
|
|
aTitle.WrapEndX = WrapTo
|
|
ENDPROC
|
|
|
|
|
|
|
|
/// PURPOSE:
|
|
/// Multiplier for spacing between timer elements based on screen aspect ratio
|
|
FUNC FLOAT GET_TIMER_TEXT_ASPECT_RATIO_OFFSET_MULT()
|
|
FLOAT fAR = GET_ASPECT_RATIO(FALSE)
|
|
|
|
|
|
INT x, y
|
|
GET_ACTUAL_SCREEN_RESOLUTION(x, y)
|
|
// PRINTLN("x = ",x," y = ", y, " " )
|
|
FLOAT vAR = TO_FLOAT(x)/TO_FLOAT(y)
|
|
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
BOOL bPrint = FALSE
|
|
IF GET_COMMANDLINE_PARAM_EXISTS("sc_ScreenRatioPrints")
|
|
bPrint = TRUE
|
|
ENDIF
|
|
|
|
IF bPrint
|
|
PRINTLN("[TIMERRATIO] fAR = ", fAR)
|
|
PRINTLN("[TIMERRATIO] vAR = ", vAR)
|
|
PRINTLN("[TIMERRATIO] PROFILE_DISPLAY_SAFEZONE_SIZE = ",GET_PROFILE_SETTING(PROFILE_DISPLAY_SAFEZONE_SIZE))
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
fAR = fMIN(fAR, vAR)
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
IF bPrint
|
|
PRINTLN("[TIMERRATIO] after fAR = ", fAR)
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
IF vAR > 3.5
|
|
AND fAR > 1.7
|
|
#IF IS_DEBUG_BUILD
|
|
IF bPrint
|
|
PRINTLN("[TIMERRATIO] Big adjustment actually needed vAR is very large, returning 1.4 ")
|
|
ENDIF
|
|
#ENDIF
|
|
RETURN 1.4
|
|
|
|
ENDIF
|
|
|
|
if fAR > 1.7 //16:9, default
|
|
#IF IS_DEBUG_BUILD
|
|
IF bPrint
|
|
PRINTLN("[TIMERRATIO] RETURN 1.0 ")
|
|
ENDIF
|
|
#ENDIF
|
|
RETURN 1.0
|
|
elif fAR > 1.5 //16:10, mild adjustment
|
|
#IF IS_DEBUG_BUILD
|
|
IF bPrint
|
|
PRINTLN("[TIMERRATIO] RETURN 1.2 ")
|
|
ENDIF
|
|
#ENDIF
|
|
RETURN 1.2
|
|
ELIF fAR > 1.3 //4:3, big adjustment
|
|
#IF IS_DEBUG_BUILD
|
|
IF bPrint
|
|
PRINTLN("[TIMERRATIO] RETURN 1.3 ")
|
|
ENDIF
|
|
#ENDIF
|
|
RETURN 1.3
|
|
ENDIF
|
|
#IF IS_DEBUG_BUILD
|
|
IF bPrint
|
|
PRINTLN("[TIMERRATIO] RETURN 1.4 ")
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
RETURN 1.4 //Shouldn't get here, almost square AR, even bigger adjustment
|
|
ENDFUNC
|
|
|
|
|
|
//BOOL OFleckWidgets
|
|
//RECT aFleckDebug
|
|
|
|
PROC DRAW_ORGANISATION_FLECK(SPRITE_PLACEMENT& Overlay, HUD_COLOURS aColour)
|
|
|
|
IF aColour = HUD_COLOUR_PURE_WHITE
|
|
EXIT
|
|
ENDIF
|
|
|
|
// IF OFleckWidgets = FALSE
|
|
//
|
|
// START_WIDGET_GROUP("SCORE PLACE")
|
|
// CREATE_A_RECT_PLACEMENT_WIDGET(aFleckDebug, "Rectangle Fleck")
|
|
//
|
|
// STOP_WIDGET_GROUP()
|
|
// OFleckWidgets = TRUE
|
|
// ENDIF
|
|
|
|
RECT aFleck
|
|
aFleck.x = 0.951
|
|
aFleck.y = Overlay.y
|
|
aFleck.w = 0.002
|
|
aFleck.h = Overlay.h
|
|
|
|
INT R, G, B, A
|
|
GET_HUD_COLOUR(aColour, R, G, B, A)
|
|
aFleck.r = R
|
|
aFleck.g = G
|
|
aFleck.b = B
|
|
aFleck.a = A
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// UPDATE_RECT_WIDGET_VALUE(aFleck, aFleckDebug)
|
|
// #ENDIF
|
|
|
|
|
|
DRAW_RECTANGLE(aFleck)
|
|
|
|
|
|
ENDPROC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PROC INIT_SCREEN_GENERAL_SINGLE_SCORE(TEXT_STYLE& NumberStyle, TEXT_PLACEMENT& TitlePlace, TEXT_PLACEMENT& NumberPlace, UIELEMENTS WhichSpace, TEXT_STYLE& TitleStyle )
|
|
|
|
FLOAT LargeGap = GET_VALUE_OF_GAP(NumberStyle) //0.115
|
|
|
|
TitlePlace.x = 0.795
|
|
TitlePlace.y = GET_Y_SHIFT(WhichSpace)
|
|
|
|
TitlePlace.y += GET_TITLE_OFFSET(TitleStyle)
|
|
|
|
NumberPlace.x = 0.795
|
|
NumberPlace.y = TitlePlace.y+GET_VALUE_TO_TITLE_OFFSET(NumberStyle)
|
|
|
|
CHANGE_Y_SHIFT_END(WhichSpace, -LargeGap)
|
|
|
|
|
|
ENDPROC
|
|
|
|
|
|
PROC DISPLAY_TEXT_FROM_SINGLE_SCORE_GUTS(TEXT_STYLE& TitleStyle, TEXT_PLACEMENT& TitlePlace, STRING Title, HUD_COLOURS TitleColour, HUD_COLOURS aColour, INT TitleNumber, BOOL IsPlayer, BOOL UseTitleColourForTitle)
|
|
|
|
IF IsPlayer = TRUE
|
|
IF UseTitleColourForTitle
|
|
DRAW_TEXT_WITH_PLAYER_NAME(TitlePlace, TitleStyle, Title,"", TitleColour, FONT_RIGHT)
|
|
ELSE
|
|
DRAW_TEXT_WITH_PLAYER_NAME(TitlePlace, TitleStyle, Title,"", aColour, FONT_RIGHT)
|
|
ENDIF
|
|
|
|
ELSE
|
|
IF TitleNumber = -1
|
|
DRAW_TEXT_WITH_ALIGNMENT(TitlePlace, TitleStyle, Title, FALSE, TRUE)
|
|
ELSE
|
|
TitlePlace.y += (TITLE_NON_ROMANIC_OFFSET_LITTLE - 0.001)
|
|
DRAW_TEXT_WITH_NUMBER(TitlePlace, TitleStyle, Title, TitleNumber, FONT_RIGHT)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
//
|
|
//TEXT_STYLE TitleStyleWidgetScore, NumberStyleWidgetScore
|
|
//TEXT_PLACEMENT TitlePlacementWidgetScore, NumberPlacmentWidgetScore
|
|
//SPRITE_PLACEMENT OverlayWidgetScore, XPWidgetScore
|
|
//BOOL ScoreWidgets
|
|
//FLOAT TitleWidgetOffset
|
|
//
|
|
//
|
|
//FLOAT WidgetStringLengthConverter_SCORE
|
|
//FLOAT WidgetStringLengthConverter_x_SCORE
|
|
//FLOAT WidgetStringLengthConverter_b_SCORE
|
|
//FLOAT WidgetStringLengthConverter_m_SCORE
|
|
//SPRITE_PLACEMENT WarningWidgetSCORE
|
|
|
|
PROC SET_NUMBER_PULSE_COLOUR(TEXT_STYLE &eNumberStyle, HUD_COLOURS eStartingColour, HUD_COLOURS ePulseColour, INT iPulseTime, SCRIPT_TIMER stPulseTimer)
|
|
INT iR, iG, iB, iA, iPR, iPG, iPB, iPA
|
|
INT iElapsedTime = GET_NET_TIMER_DIFFERENCE_WITH_CURRENT_TIME(stPulseTimer)
|
|
FLOAT fPulseTime
|
|
|
|
IF (iPulseTime / 2) > iElapsedTime
|
|
fPulseTime = (TO_FLOAT(iElapsedTime / 2) / TO_FLOAT(iPulseTime / 2))
|
|
GET_HUD_COLOUR(eStartingColour, iR, iG, iB, iA)
|
|
GET_HUD_COLOUR(ePulseColour, iPR, iPG, iPB, iPA)
|
|
ELSE
|
|
fPulseTime = (TO_FLOAT(iElapsedTime) / TO_FLOAT(iPulseTime))
|
|
GET_HUD_COLOUR(ePulseColour, iR, iG, iB, iA)
|
|
GET_HUD_COLOUR(eStartingColour, iPR, iPG, iPB, iPA)
|
|
ENDIF
|
|
|
|
eNumberStyle.r = FLOOR(LERP_FLOAT(TO_FLOAT(iR), TO_FLOAT(iPR), fPulseTime))
|
|
eNumberStyle.g = FLOOR(LERP_FLOAT(TO_FLOAT(iG), TO_FLOAT(iPG), fPulseTime))
|
|
eNumberStyle.b = FLOOR(LERP_FLOAT(TO_FLOAT(iB), TO_FLOAT(iPB), fPulseTime))
|
|
eNumberStyle.a = FLOOR(LERP_FLOAT(TO_FLOAT(iA), TO_FLOAT(iPA), fPulseTime))
|
|
ENDPROC
|
|
|
|
PROC DRAW_GENERAL_SINGLE_SCORE_GUTS(INT index, TEXT_STYLE& TitleStyle, TEXT_STYLE& NumberStyle,TEXT_PLACEMENT& TitlePlace, TEXT_PLACEMENT& NumberPlace, INT Number, UIELEMENTS WhichSpace, STRING Title, HUD_COLOURS aColour, INT FlashTime, INT TitleNumber, BOOL isPlayer, STRING NumberString, BOOL isFloat, FLOAT FloatValue, HUDFLASHING ColourFlashType, INT ColourFlash, HUD_COLOURS TitleColour, BOOL bDisplayWarning, INT MaXNumber, BOOL DrawInfinity, ACTIVITY_POWERUP aPowerup, HUD_COUNTER_STYLE eCounterStyle, STRING sPlacementText, BOOL bUseNonPlayerFont = FALSE, HUD_COLOURS FleckColour = HUD_COLOUR_PURE_WHITE, INT iAlpha = 255, BOOL bDisplayBlankScore = FALSE, PLAYER_INDEX pPlayerID = NULL, BOOL bFlashTitle = FALSE, BOOL bDrawLineUnderName = FALSE, HUD_COLOURS LineUnderNameColour = HUD_COLOUR_WHITE, BOOL bEnablePulsing = FALSE, HUD_COLOURS PulseToColour = HUD_COLOUR_PURE_WHITE, INT iPulseTime = -1, BOOL bUsePlacementText = FALSE, BOOL bLiteralPlacementText = FALSE, BOOL bCustomFont = FALSE, TEXT_FONTS eCustomFont = FONT_STANDARD)
|
|
|
|
MPGlobalsScoreHud.iHowManyDisplays++
|
|
// INT I
|
|
IF IS_BOTTOM_RIGHT_AREA_FREE()
|
|
|
|
|
|
|
|
SPRITE_PLACEMENT WarningIcon
|
|
SET_SPRITE_PLACEMENT(WarningIcon, 0.0, 0.0, 0.0, 0.0, 0,0,0,255)
|
|
SPRITE_PLACEMENT UpIcon
|
|
SET_SPRITE_PLACEMENT(UpIcon, 0.0, 0.0, 0.0, 0.0, 0,0,0,255)
|
|
SPRITE_PLACEMENT DownIcon
|
|
SET_SPRITE_PLACEMENT(DownIcon, 0.0, 0.0, 0.0, 0.0, 0,0,0,255)
|
|
SPRITE_PLACEMENT Overlays
|
|
SET_SPRITE_PLACEMENT(Overlays, 0.0, 0.0, 0.0, 0.0, 0,0,0,255)
|
|
|
|
BOOL bDisplayTimerCheckbox
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
IF bUseNonPlayerFont
|
|
SET_STANDARD_SMALL_HUD_TEXT_NON_ROMANIC(TitleStyle, DROPSTYLE_NONE)
|
|
ELIF isPlayer
|
|
SET_STANDARD_TIMER_PLYR_NAME_TEXT(TitleStyle, DROPSTYLE_DROPSHADOWONLY)
|
|
ELSE
|
|
SET_STANDARD_SMALL_HUD_TEXT_NON_ROMANIC(TitleStyle, DROPSTYLE_NONE)
|
|
ENDIF
|
|
ELSE
|
|
IF bUseNonPlayerFont
|
|
SET_STANDARD_SMALL_HUD_TEXT(TitleStyle, DROPSTYLE_NONE)
|
|
ELIF isPlayer
|
|
SET_STANDARD_TIMER_PLYR_NAME_TEXT(TitleStyle, DROPSTYLE_DROPSHADOWONLY)
|
|
ELSE
|
|
SET_STANDARD_SMALL_HUD_TEXT(TitleStyle, DROPSTYLE_NONE)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
|
|
#IF USE_TU_CHANGES
|
|
IF g_b_ChangePlayerNameToTeamName
|
|
AND isPlayer
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
SET_STANDARD_SMALL_HUD_TEXT_NON_ROMANIC(TitleStyle, DROPSTYLE_NONE)
|
|
ELSE
|
|
SET_STANDARD_SMALL_HUD_TEXT(TitleStyle, DROPSTYLE_NONE)
|
|
ENDIF
|
|
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
|
|
|
|
IF Number < 1000000
|
|
|
|
IF GET_CURRENT_LANGUAGE() = LANGUAGE_KOREAN
|
|
AND (FloatValue >= 100)
|
|
AND ARE_STRINGS_EQUAL("AMCH_KMHN", NumberString)
|
|
SET_STANDARD_UI_SCORE_SMALL_NUMBER_NON_ROMANIC(NumberStyle, DROPSTYLE_NONE)
|
|
ELIF (GET_CURRENT_LANGUAGE() = LANGUAGE_KOREAN OR GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE OR GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE_SIMPLIFIED )
|
|
AND (Number > 999 OR MaXNumber > 999 OR FloatValue > 1000)
|
|
SET_STANDARD_UI_SCORE_SMALL_NUMBER_NON_ROMANIC(NumberStyle, DROPSTYLE_NONE)
|
|
ELSE
|
|
IF MaXNumber > 99
|
|
SET_STANDARD_UI_SCORE_SMALL_NUMBER(NumberStyle, DROPSTYLE_NONE)
|
|
ELSE
|
|
SET_STANDARD_UI_SCORE_NUMBER(NumberStyle, DROPSTYLE_NONE)
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF GET_CURRENT_LANGUAGE() = LANGUAGE_KOREAN
|
|
AND ( ARE_STRINGS_EQUAL("HUD_CASH", NumberString)
|
|
OR ARE_STRINGS_EQUAL("HUD_CASH_NEG", NumberString))
|
|
|
|
SET_STANDARD_UI_SCORE_SMALL_NUMBER_NON_ROMANIC(NumberStyle, DROPSTYLE_NONE)
|
|
ELSE
|
|
SET_STANDARD_UI_SCORE_SMALL_NUMBER(NumberStyle, DROPSTYLE_NONE)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
|
|
SET_WORD_WRAPPING_TITLE(TitleStyle)
|
|
SET_WORD_WRAPPING_RIGHTEDGE(NumberStyle)
|
|
|
|
//B* Adjust the title WrapEndX coordinate on aspect ratios other than 16:9
|
|
TitleStyle.wrapEndX += 0.03*(1-GET_TIMER_TEXT_ASPECT_RATIO_OFFSET_MULT())
|
|
//CPRINTLN(debug_dan,"moved wrap by ",0.03*(1-GET_TIMER_TEXT_ASPECT_RATIO_OFFSET_MULT())," to ",TitleStyle.wrapEndX )
|
|
|
|
|
|
|
|
// IF ScoreWidgets = FALSE
|
|
//
|
|
// START_WIDGET_GROUP("SCORE PLACE")
|
|
//
|
|
// CREATE_A_TEXT_PLACEMENT_WIDGET(TitlePlacementWidgetScore, "TitlePlacementWidgetScore")
|
|
// CREATE_A_TEXT_PLACEMENT_WIDGET(NumberPlacmentWidgetScore, "NumberPlacmentWidgetScore")
|
|
//
|
|
// CREATE_A_TEXT_STYLE_WIGET(TitleStyleWidgetScore, "TitleStyleWidgetScore")
|
|
// CREATE_A_TEXT_STYLE_WIGET(NumberStyleWidgetScore, "NumberStyleWidgetScore")
|
|
//
|
|
// CREATE_A_SPRITE_PLACEMENT_WIDGET(XPWidgetScore, "XPWidgetScore")
|
|
//
|
|
// ADD_WIDGET_FLOAT_SLIDER("TitleWidgetOffset", TitleWidgetOffset, -5, 5, 0.001)
|
|
//
|
|
//
|
|
// STOP_WIDGET_GROUP()
|
|
//
|
|
// START_WIDGET_GROUP("SINGLE SCORE OVERLAY")
|
|
// CREATE_A_SPRITE_PLACEMENT_WIDGET(OverlayWidgetScore, "OverlayWidgetScore")
|
|
//
|
|
// STOP_WIDGET_GROUP()
|
|
//
|
|
//
|
|
// START_WIDGET_GROUP("SINGLE SCORE WARNING")
|
|
// CREATE_A_SPRITE_PLACEMENT_WIDGET(WarningWidgetSCORE, "WarningWidgetSCORE")
|
|
// ADD_WIDGET_FLOAT_SLIDER("WidgetStringLengthConverter_SCORE", WidgetStringLengthConverter_SCORE, -1000, 1000, 0.001)
|
|
// ADD_WIDGET_FLOAT_SLIDER("WidgetStringLengthConverter_x_SCORE", WidgetStringLengthConverter_x_SCORE, -1000, 1000, 0.001)
|
|
//
|
|
// ADD_WIDGET_FLOAT_SLIDER("WidgetStringLengthConverter_m_SCORE", WidgetStringLengthConverter_m_SCORE, -1000, 1000, 0.001)
|
|
// ADD_WIDGET_FLOAT_SLIDER("WidgetStringLengthConverter_b_SCORE", WidgetStringLengthConverter_b_SCORE, -1000, 1000, 0.001)
|
|
//
|
|
// STOP_WIDGET_GROUP()
|
|
//
|
|
// ScoreWidgets = TRUE
|
|
//
|
|
// ENDIF
|
|
|
|
SET_PROGRESSHUD_INIT_DONE(PROGRESSHUD_SCORE, Index)
|
|
|
|
IF MPGlobalsScoreHud.iHowManyDisplays = 1
|
|
SET_Y_SHIFT_START(WhichSpace)
|
|
ENDIF
|
|
INIT_SCREEN_GENERAL_SINGLE_SCORE(NumberStyle, TitlePlace, NumberPlace, WhichSpace, TitleStyle)
|
|
|
|
|
|
// Invert black/white foreground/background to highlight as input counter
|
|
IF eCounterStyle = HUD_COUNTER_STYLE_INPUT_ARROWS
|
|
TitleColour = HUD_COLOUR_BLACK
|
|
aColour = HUD_COLOUR_BLACK
|
|
ENDIF
|
|
|
|
SET_WORD_HUD_COLOUR(NumberStyle, aColour)
|
|
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
//
|
|
// UPDATE_TEXT_PLACEMENT_WIDGET_VALUE(TitlePlace, TitlePlacementWidgetScore)
|
|
// UPDATE_TEXT_PLACEMENT_WIDGET_VALUE(NumberPlace, NumberPlacmentWidgetScore)
|
|
//
|
|
// UPDATE_TEXT_STYLE_WIDGET_VALUE(TitleStyle, TitleStyleWidgetScore)
|
|
// UPDATE_TEXT_STYLE_WIDGET_VALUE(NumberStyle,NumberStyleWidgetScore)
|
|
//
|
|
// #ENDIF
|
|
|
|
IF FlashTime = 0
|
|
RESET_GENERIC_SCORE_FLASHING(Index)
|
|
ENDIF
|
|
|
|
IF ColourFlash = 0
|
|
RESET_GENERIC_SCORE_FLASHING_COLOUR(Index)
|
|
ENDIF
|
|
|
|
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBars")
|
|
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBars")
|
|
|
|
GFX_DRAW_ORDER anOrder = SET_GFX_TIMERS_DRAW_ORDER()
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
|
|
|
|
IF DO_FLASHING(FlashTime, MPGlobalsScoreHud.iFlashing_GenericScore_Hud[index],MPGlobalsScoreHud.iFlashing_GenericScore_MiniHud[index])
|
|
bDisplayTimerCheckbox = TRUE
|
|
ELSE
|
|
bDisplayTimerCheckbox = FALSE
|
|
ENDIF
|
|
|
|
Overlays.x = TitlePlace.x
|
|
Overlays.y = TitlePlace.y
|
|
|
|
WarningIcon.x = TitlePlace.x
|
|
WarningIcon.y = TitlePlace.y+0.001
|
|
|
|
// Display with larger background height to highlight as input counter
|
|
IF eCounterStyle = HUD_COUNTER_STYLE_INPUT_ARROWS
|
|
|
|
Overlays.x += TIMER_OVERLAY_X
|
|
Overlays.y += TIMER_OVERLAY_Y_BIGNUM
|
|
Overlays.w += TIMER_OVERLAY_W
|
|
Overlays.h += TIMER_OVERLAY_H_BIGNUM
|
|
Overlays.r += 255
|
|
Overlays.g += 255
|
|
Overlays.b += 255
|
|
Overlays.a = TIMER_OVERLAY_ALPHA //reduce by 20% 931421
|
|
|
|
ELIF Number < 1000000
|
|
|
|
Overlays.x += TIMER_OVERLAY_X
|
|
Overlays.y += TIMER_OVERLAY_Y_SCORE
|
|
Overlays.w += TIMER_OVERLAY_W
|
|
Overlays.h += TIMER_OVERLAY_H_SCORE
|
|
Overlays.r += 255
|
|
Overlays.g += 255
|
|
Overlays.b += 255
|
|
Overlays.a = TIMER_OVERLAY_ALPHA //reduce by 20% 931421
|
|
|
|
ELSE
|
|
Overlays.x += TIMER_OVERLAY_X
|
|
Overlays.y += TIMER_OVERLAY_Y_SCORESML
|
|
Overlays.w += TIMER_OVERLAY_W
|
|
Overlays.h += TIMER_OVERLAY_H_SCORESML
|
|
Overlays.r += 255
|
|
Overlays.g += 255
|
|
Overlays.b += 255
|
|
Overlays.a = TIMER_OVERLAY_ALPHA //reduce by 20% 931421
|
|
ENDIF
|
|
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
Overlays.x += TIMER_OVERLAY_X_NON_ROMANIC_OFFSET
|
|
Overlays.w += TIMER_OVERLAY_W_NON_ROMANIC_OFFSET
|
|
ENDIF
|
|
|
|
MPGlobalsScoreHud.TopOfTimers += Overlays.h
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// UPDATE_SPRITE_WIDGET_VALUE(Overlays, OverlayWidgetScore)
|
|
// UPDATE_SPRITE_WIDGET_VALUE(WarningIcon, WarningWidgetSCORE)
|
|
// #ENDIF
|
|
|
|
|
|
|
|
IF ColourFlash > 0
|
|
SPRITE_PLACEMENT ColourOverlays = Overlays
|
|
IF HAS_NET_TIMER_EXPIRED(MPGlobalsScoreHud.iGoalMetFlashing_GenericScore[Index], 2000) = FALSE
|
|
IF HAS_NET_TIMER_EXPIRED_READ_ONLY(MPGlobalsScoreHud.iGoalMetFlashing_GenericScore[Index], 1250)
|
|
MPGlobalsScoreHud.iGoalFadeFlashing_GenericScore[Index] = MPGlobalsScoreHud.iGoalFadeFlashing_GenericScore[Index]-17
|
|
ENDIF
|
|
ColourOverlays.a = MPGlobalsScoreHud.iGoalFadeFlashing_GenericScore[Index]
|
|
IF ColourFlashType = HUDFLASHING_FLASHRED
|
|
SET_SPRITE_HUD_COLOUR(ColourOverlays, HUD_COLOUR_RED)
|
|
ELIF ColourFlashType = HUDFLASHING_FLASHGREEN
|
|
SET_SPRITE_HUD_COLOUR(ColourOverlays, HUD_COLOUR_GREEN)
|
|
ELSE
|
|
SET_SPRITE_HUD_COLOUR(ColourOverlays, aColour)
|
|
ENDIF
|
|
DRAW_2D_SPRITE("TimerBars", "ALL_WHITE_bg",ColourOverlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
ENDIF
|
|
ELSE
|
|
MPGlobalsScoreHud.iGoalFadeFlashing_GenericScore[Index] = 255
|
|
REINIT_NET_TIMER(MPGlobalsScoreHud.iGoalMetFlashing_GenericScore[Index])
|
|
ENDIF
|
|
|
|
// Invert black/white foreground/background to highlight as input counter
|
|
IF eCounterStyle = HUD_COUNTER_STYLE_INPUT_ARROWS
|
|
DRAW_2D_SPRITE("TimerBars", "ALL_WHITE_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
ELSE
|
|
DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
ENDIF
|
|
|
|
|
|
DRAW_ORGANISATION_FLECK(Overlays, FleckColour)
|
|
|
|
anOrder = SET_GFX_TIMERS_DRAW_ORDER()
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
|
|
SET_TEXT_COLOUR_WITH_HUD_COLOUR(TitleStyle, TitleColour)
|
|
|
|
BOOL UseTitleColourForTitle = TRUE
|
|
#IF USE_TU_CHANGES
|
|
IF g_b_ChangePlayerNameToTeamName
|
|
UseTitleColourForTitle = FALSE
|
|
ENDIF
|
|
IF g_b_UseBottomRightTitleColour = TRUE
|
|
UseTitleColourForTitle = TRUE
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
SET_TEXT_STYLE(TitleStyle)
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
|
|
IF isPlayer
|
|
|
|
IF GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE
|
|
OR GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE_SIMPLIFIED
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET_CHINESE
|
|
NumberPlace.y += PLAYERNAME_TITLE_OFFSET
|
|
ELSE
|
|
TitlePlace.y += PLAYERNAME_TITLE_OFFSET
|
|
ENDIF
|
|
ELIF IS_LANGUAGE_NON_ROMANIC()
|
|
IF GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE
|
|
OR GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE_SIMPLIFIED
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET_CHINESE
|
|
NumberPlace.y += PLAYERNAME_TITLE_OFFSET
|
|
ELSE
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ELSE
|
|
IF bUseNonPlayerFont
|
|
TitlePlace.y +=0.0
|
|
ELIF isPlayer
|
|
#IF USE_TU_CHANGES
|
|
AND g_b_ChangePlayerNameToTeamName = FALSE
|
|
#ENDIF
|
|
TitlePlace.y += -0.002-0.004
|
|
ENDIF
|
|
ENDIF
|
|
|
|
|
|
// Display with larger background height to highlight as input counter
|
|
IF eCounterStyle = HUD_COUNTER_STYLE_INPUT_ARROWS
|
|
TitlePlace.y -= 0.007
|
|
NumberPlace.y -= 0.007
|
|
ENDIF
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// TitlePlace.y += TitleWidgetOffset
|
|
// #ENDIF
|
|
|
|
IF aPowerup = ACTIVITY_POWERUP_ROCKETS
|
|
AND IS_STRING_NULL_OR_EMPTY(Title)
|
|
Title = "HUD_ROCKET"
|
|
|
|
ELIF aPowerup = ACTIVITY_POWERUP_BOOSTS
|
|
Title = "HUD_BOOST"
|
|
|
|
ELIF aPowerup = ACTIVITY_POWERUP_SPIKES
|
|
Title = "HUD_SPIKES"
|
|
|
|
ENDIF
|
|
|
|
// Set title and score alpha B* 3360285
|
|
TitleStyle.a = iAlpha
|
|
NumberStyle.a = iAlpha
|
|
|
|
// Display blank score B* 3360276
|
|
IF bDisplayBlankScore
|
|
NumberStyle.a = 0
|
|
ENDIF
|
|
|
|
IF (bCustomFont)
|
|
TitleStyle.aFont = eCustomFont
|
|
ENDIF
|
|
|
|
IF bFlashTitle
|
|
IF bDisplayTimerCheckbox
|
|
DISPLAY_TEXT_FROM_SINGLE_SCORE_GUTS(TitleStyle, TitlePlace, Title, TitleColour, aColour, TitleNumber, IsPlayer, UseTitleColourForTitle)
|
|
ENDIF
|
|
ELSE
|
|
DISPLAY_TEXT_FROM_SINGLE_SCORE_GUTS(TitleStyle, TitlePlace, Title, TitleColour, aColour, TitleNumber, IsPlayer, UseTitleColourForTitle)
|
|
ENDIF
|
|
|
|
// Pulse between aColour & PulseToColour
|
|
IF bEnablePulsing
|
|
IF iPulseTime > 0
|
|
IF NOT HAS_NET_TIMER_STARTED(MPGlobalsScoreHud.iColourPulsing_GenericBigNumber_Hud[index])
|
|
START_NET_TIMER(MPGlobalsScoreHud.iColourPulsing_GenericBigNumber_Hud[index])
|
|
ELIF HAS_NET_TIMER_EXPIRED(MPGlobalsScoreHud.iColourPulsing_GenericBigNumber_Hud[index], iPulseTime)
|
|
REINIT_NET_TIMER(MPGlobalsScoreHud.iColourPulsing_GenericBigNumber_Hud[index])
|
|
ENDIF
|
|
|
|
SET_NUMBER_PULSE_COLOUR(NumberStyle, aColour, PulseToColour, iPulseTime, MPGlobalsScoreHud.iColourPulsing_GenericBigNumber_Hud[index])
|
|
ENDIF
|
|
ENDIF
|
|
|
|
// Display with up/down arrows to highlight as input counter
|
|
IF eCounterStyle = HUD_COUNTER_STYLE_INPUT_ARROWS
|
|
|
|
UpIcon.x = NumberStyle.WrapEndX
|
|
UpIcon.y = NumberPlace.y-0.0175
|
|
|
|
DownIcon.x = NumberStyle.WrapEndX
|
|
DownIcon.y = NumberPlace.y+0.0175
|
|
|
|
REQUEST_STREAMED_TEXTURE_DICT("MPArrow")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("MPArrow")
|
|
|
|
UpIcon.x += 0.0095
|
|
UpIcon.x -= 0.015
|
|
UpIcon.y += 0.019//0.008
|
|
UpIcon.w += 0.01//0.0125//0.022
|
|
UpIcon.h += 0.01//0.0125//0.022//0.040
|
|
UpIcon.r += 0//194
|
|
UpIcon.g += 0//80
|
|
UpIcon.b += 0//80
|
|
UpIcon.a -= 50
|
|
UpIcon.fRotation = -90.0
|
|
|
|
DRAW_2D_SPRITE("MPArrow", "MP_ArrowXLarge", UpIcon, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
|
|
DownIcon.x += 0.0095
|
|
DownIcon.x -= 0.015
|
|
DownIcon.y += 0.019//0.008
|
|
DownIcon.w += 0.01//0.0125//0.022
|
|
DownIcon.h += 0.01//0.0125//0.022//0.040
|
|
DownIcon.r += 0//194
|
|
DownIcon.g += 0//80
|
|
DownIcon.b += 0//80
|
|
DownIcon.a -= 50
|
|
DownIcon.fRotation = 90.0
|
|
|
|
DRAW_2D_SPRITE("MPArrow", "MP_ArrowXLarge", DownIcon, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF bDrawLineUnderName
|
|
FLOAT BarYPos
|
|
FLOAT BarXPos
|
|
SPRITE_PLACEMENT LineSprite
|
|
|
|
BarYPos = GET_BAR_TO_TITLE_OFFSET()+GET_Y_SHIFT(WhichSpace)
|
|
BarXPos = GET_DAMAGE_BAR_TO_TITLE_OFFSET_X()
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
LineSprite.x = BarXPos-0.061
|
|
ELSE
|
|
LineSprite.x = BarXPos-0.0365
|
|
ENDIF
|
|
|
|
LineSprite.y = BarYPos+0.057
|
|
LineSprite.w = Overlays.w-0.004
|
|
LineSprite.h = 0.01
|
|
LineSprite.r = 255
|
|
LineSprite.g = 255
|
|
LineSprite.b = 255
|
|
LineSprite.a = 255
|
|
|
|
SET_SPRITE_HUD_COLOUR(LineSprite, LineUnderNameColour)
|
|
DRAW_2D_SPRITE("TimerBars", "DamagebarFill_128", LineSprite, FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
ENDIF
|
|
|
|
IF bDisplayWarning
|
|
|
|
REQUEST_STREAMED_TEXTURE_DICT("CommonMenu")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("CommonMenu")
|
|
|
|
FLOAT StringIconOffset = 0.0
|
|
FLOAT x
|
|
IF IsPlayer = TRUE
|
|
BEGIN_TEXT_COMMAND_GET_SCREEN_WIDTH_OF_DISPLAY_TEXT("STRING")
|
|
ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(Title)
|
|
x = END_TEXT_COMMAND_GET_SCREEN_WIDTH_OF_DISPLAY_TEXT(TRUE)
|
|
|
|
ELSE
|
|
BEGIN_TEXT_COMMAND_GET_SCREEN_WIDTH_OF_DISPLAY_TEXT((Title))
|
|
IF TitleNumber != -1
|
|
// Double spacing so display warning symbol doesn't intersect
|
|
ADD_TEXT_COMPONENT_INTEGER(TitleNumber)
|
|
ADD_TEXT_COMPONENT_INTEGER(TitleNumber)
|
|
ENDIF
|
|
x = END_TEXT_COMMAND_GET_SCREEN_WIDTH_OF_DISPLAY_TEXT(TRUE)
|
|
ENDIF
|
|
|
|
FLOAT b
|
|
FLOAT m
|
|
IF GET_CURRENT_LANGUAGE() = LANGUAGE_KOREAN
|
|
AND IsPlayer = FALSE
|
|
b = 0.153-0.072
|
|
m = -0.457
|
|
ELIF GET_CURRENT_LANGUAGE() = LANGUAGE_JAPANESE
|
|
AND IsPlayer = FALSE
|
|
b = 0.153-0.010-0.060
|
|
m = -0.457
|
|
ELIF GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE
|
|
AND IsPlayer = FALSE
|
|
b = 0.153-0.012-0.060
|
|
m = -0.457
|
|
|
|
ELIF GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE_SIMPLIFIED
|
|
AND IsPlayer = FALSE
|
|
b = 0.153-0.012-0.060
|
|
m = -0.457
|
|
|
|
ELSE
|
|
|
|
b = 0.153-0.037-0.036
|
|
m = -0.457+0.194
|
|
ENDIF
|
|
|
|
b += 0.03
|
|
IF MPGlobalsScoreHud.bTitleFarLeftJustified
|
|
b += -0.030
|
|
ENDIF
|
|
|
|
IF IS_PC_VERSION()
|
|
AND NOT GET_IS_WIDESCREEN()
|
|
b += -0.015
|
|
ENDIF
|
|
|
|
|
|
IF MPGlobalsScoreHud.bTitleMiddleJustified
|
|
AND MPGlobalsScoreHud.bTitleFarLeftJustified = FALSE
|
|
b += -0.015-0.003
|
|
ENDIF
|
|
|
|
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// StringIconOffset += WidgetStringLengthConverter_SCORE
|
|
// x += WidgetStringLengthConverter_x_SCORE
|
|
// b += WidgetStringLengthConverter_b_SCORE
|
|
// m += WidgetStringLengthConverter_m_SCORE
|
|
//
|
|
//
|
|
// NET_NL()
|
|
// IF IsPlayer
|
|
// NET_PRINT("PLAYER NAME - ")
|
|
// ENDIF
|
|
// NET_PRINT(" x = ")NET_PRINT_FLOAT(x)
|
|
// NET_PRINT(" b = ")NET_PRINT_FLOAT(b)
|
|
// NET_PRINT(" m = ")NET_PRINT_FLOAT(m)
|
|
//
|
|
// #ENDIF
|
|
StringIconOffset = (m*x)+B
|
|
|
|
WarningIcon.x += StringIconOffset
|
|
WarningIcon.x -= 0.015
|
|
WarningIcon.y += 0.008
|
|
WarningIcon.w += 0.022
|
|
WarningIcon.h += 0.040
|
|
WarningIcon.r += 194
|
|
WarningIcon.g += 80
|
|
WarningIcon.b += 80
|
|
WarningIcon.a -= 50
|
|
|
|
|
|
DRAW_2D_SPRITE("CommonMenu", "MP_AlertTriangle",WarningIcon, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF bDisplayTimerCheckbox
|
|
|
|
|
|
IF aPowerup != ACTIVITY_POWERUP_NONE
|
|
|
|
|
|
SET_WORD_WRAPPING_RIGHTEDGE_AND_XP(NumberStyle)
|
|
|
|
|
|
SPRITE_PLACEMENT XPIconSprite
|
|
SPRITE_PLACEMENT secondaryXPIconSprite
|
|
|
|
XPIconSprite.x = NumberPlace.x+0.145+0.001
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
XPIconSprite.y = NumberPlace.y+0.016-0.006
|
|
ELSE
|
|
XPIconSprite.y = NumberPlace.y+0.016
|
|
ENDIF
|
|
XPIconSprite.w = 0.016+0.003
|
|
XPIconSprite.h = 0.032+0.004
|
|
XPIconSprite.a = iAlpha // Set powerup alpha B* 3360285
|
|
SET_SPRITE_HUD_COLOUR(XPIconSprite, HUD_COLOUR_WHITE)
|
|
|
|
|
|
// For Overlaping Icon - Powerup ACTIVITY_POWERUP_PED_HEADSHOT_DEAD
|
|
secondaryXPIconSprite.x = NumberPlace.x+0.145+0.001
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
secondaryXPIconSprite.y = NumberPlace.y+0.016-0.006
|
|
ELSE
|
|
secondaryXPIconSprite.y = NumberPlace.y+0.016
|
|
ENDIF
|
|
secondaryXPIconSprite.w = 0.016+0.003
|
|
secondaryXPIconSprite.h = 0.032+0.004
|
|
secondaryXPIconSprite.a = 255
|
|
SET_SPRITE_HUD_COLOUR(secondaryXPIconSprite, HUD_COLOUR_WHITE)
|
|
|
|
|
|
// Display blank icon B* 3360276
|
|
IF bDisplayBlankScore
|
|
XPIconSprite.a = 0
|
|
ENDIF
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// UPDATE_SPRITE_WIDGET_VALUE(XPIconSprite, XPWidgetScore)
|
|
// #ENDIF
|
|
|
|
PEDHEADSHOT_ID pHeadshotID
|
|
STRING secondaryTextureDictName = ""
|
|
STRING secondaryTextureSpriteName
|
|
HUD_COLOURS secondaryTextureHudColour = HUD_COLOUR_WHITE
|
|
|
|
STRING textureDictName = ""
|
|
STRING textureSpriteName
|
|
HUD_COLOURS textureHudColour = HUD_COLOUR_WHITE
|
|
SWITCH aPowerup
|
|
CASE ACTIVITY_POWERUP_XP
|
|
XPIconSprite.h += -0.009
|
|
XPIconSprite.w += -0.002
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
XPIconSprite.y += 0.0055
|
|
ELSE
|
|
XPIconSprite.y += 0.0025
|
|
ENDIF
|
|
|
|
textureDictName = "MPRPSymbol"
|
|
textureSpriteName = "RP"
|
|
BREAK
|
|
|
|
CASE ACTIVITY_POWERUP_ROCKETS
|
|
textureDictName = "TimerBars"
|
|
textureSpriteName = "Rockets"
|
|
BREAK
|
|
|
|
CASE ACTIVITY_POWERUP_HOMING_ROCKETS
|
|
textureDictName = "MpSpecialRace"
|
|
textureSpriteName = "HOMING_ROCKET"
|
|
BREAK
|
|
|
|
CASE ACTIVITY_POWERUP_SPIKES
|
|
textureDictName = "TimerBars"
|
|
textureSpriteName = "Spikes"
|
|
BREAK
|
|
|
|
CASE ACTIVITY_POWERUP_BOOSTS
|
|
textureDictName = "TimerBars"
|
|
textureSpriteName = "Boost"
|
|
BREAK
|
|
|
|
CASE ACTIVITY_POWERUP_TICK
|
|
textureDictName = "CrossTheLine"
|
|
textureSpriteName = "Timer_LargeTick_32"
|
|
textureHudColour = HUD_COLOUR_GREEN
|
|
BREAK
|
|
|
|
CASE ACTIVITY_POWERUP_CROSS
|
|
textureDictName = "CrossTheLine"
|
|
textureSpriteName = "Timer_LargeCross_32"
|
|
textureHudColour = HUD_COLOUR_RED
|
|
BREAK
|
|
|
|
CASE ACTIVITY_POWERUP_BEAST
|
|
textureDictName = "TimerBar_Icons"
|
|
textureSpriteName = "Pickup_Beast"
|
|
textureHudColour = HUD_COLOUR_FRIENDLY
|
|
BREAK
|
|
|
|
CASE ACTIVITY_POWERUP_BULLET
|
|
textureDictName = "MPSpecialRace"
|
|
textureSpriteName = "MACHINE_GUN"
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_RANDOM
|
|
textureDictName = "TimerBar_Icons"
|
|
textureSpriteName = "Pickup_Random"
|
|
textureHudColour = HUD_COLOUR_FRIENDLY
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_SLOW_TIME
|
|
textureDictName = "TimerBar_Icons"
|
|
textureSpriteName = "Pickup_Slow_Time"
|
|
//textureHudColour = HUD_COLOUR_FRIENDLY
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_SWAP
|
|
textureDictName = "TimerBar_Icons"
|
|
textureSpriteName = "Pickup_Swap"
|
|
textureHudColour = HUD_COLOUR_FRIENDLY
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_TESTOSTERONE
|
|
textureDictName = "TimerBar_Icons"
|
|
textureSpriteName = "Pickup_Testosterone"
|
|
textureHudColour = HUD_COLOUR_FRIENDLY
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_THERMAL
|
|
textureDictName = "TimerBar_Icons"
|
|
textureSpriteName = "Pickup_Thermal"
|
|
textureHudColour = HUD_COLOUR_FRIENDLY
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_WEED
|
|
textureDictName = "TimerBar_Icons"
|
|
textureSpriteName = "Pickup_Weed"
|
|
textureHudColour = HUD_COLOUR_FRIENDLY
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_HIDDEN
|
|
textureDictName = "TimerBar_Icons"
|
|
textureSpriteName = "Pickup_Hidden"
|
|
textureHudColour = HUD_COLOUR_FRIENDLY
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_PED_HEADSHOT
|
|
CASE ACTIVITY_POWERUP_PED_HEADSHOT_DEAD
|
|
IF pPlayerID != INVALID_PLAYER_INDEX()
|
|
pHeadshotID = Get_HeadshotID_For_Player(pPlayerID)
|
|
IF pHeadshotID != NULL
|
|
textureDictName = GET_PEDHEADSHOT_TXD_STRING(pHeadshotID)
|
|
textureSpriteName = GET_PEDHEADSHOT_TXD_STRING(pHeadshotID)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
// Headshot Positioning
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
XPIconSprite.y = NumberPlace.y+0.016-0.0005
|
|
ELSE
|
|
XPIconSprite.y = NumberPlace.y+0.0185
|
|
ENDIF
|
|
|
|
XPIconSprite.w = 0.016+0.004
|
|
XPIconSprite.h = 0.032+0.002
|
|
|
|
// Dead Headshot Cross Overlay
|
|
IF aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_DEAD
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
secondaryXPIconSprite.y = NumberPlace.y+0.016
|
|
ELSE
|
|
secondaryXPIconSprite.y = NumberPlace.y+0.019
|
|
ENDIF
|
|
|
|
secondaryXPIconSprite.w = 0.016+0.004
|
|
secondaryXPIconSprite.h = 0.032+0.002
|
|
|
|
secondaryTextureDictName = "timerbar_sr"
|
|
secondaryTextureSpriteName = "timer_cross"
|
|
secondaryTextureHudColour = TitleColour
|
|
XPIconSprite.a = 127 // Dead headshot half alpha
|
|
ENDIF
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
|
|
IF NOT IS_STRING_NULL_OR_EMPTY(textureDictName)
|
|
REQUEST_STREAMED_TEXTURE_DICT(textureDictName)
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED(textureDictName)
|
|
SET_SPRITE_HUD_COLOUR(XPIconSprite, textureHudColour)
|
|
DRAW_2D_SPRITE(textureDictName, textureSpriteName, XPIconSprite)
|
|
ELSE
|
|
PRINTLN("[BCTIMERS] ", aPowerup, " - ", textureDictName, " dict is loading... ")
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_DEAD
|
|
IF NOT IS_STRING_NULL_OR_EMPTY(secondaryTextureDictName)
|
|
REQUEST_STREAMED_TEXTURE_DICT(secondaryTextureDictName)
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED(secondaryTextureDictName)
|
|
SET_SPRITE_HUD_COLOUR(secondaryXPIconSprite, secondaryTextureHudColour)
|
|
DRAW_2D_SPRITE(secondaryTextureDictName, secondaryTextureSpriteName, secondaryXPIconSprite)
|
|
ELSE
|
|
PRINTLN("[BCTIMERS] (SECONDARY) ", aPowerup, " - ", secondaryTextureDictName, " dict is loading... ")
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDIF
|
|
|
|
|
|
|
|
SET_TEXT_STYLE(NumberStyle)
|
|
anOrder = SET_GFX_TIMERS_DRAW_ORDER()
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
|
|
IF aPowerup = ACTIVITY_POWERUP_NONE
|
|
OR aPowerup = ACTIVITY_POWERUP_XP
|
|
OR aPowerup = ACTIVITY_POWERUP_BULLET
|
|
|
|
TEXT_STYLE ePlacementTextStyle = TitleStyle
|
|
SET_WORD_WRAPPING_RIGHTEDGE(ePlacementTextStyle)
|
|
|
|
IF DrawInfinity
|
|
|
|
DRAW_TEXT_WITH_PLAYER_NAME(NumberPlace, NumberStyle, "∞", "", HUD_COLOUR_WHITE, FONT_RIGHT)
|
|
ELSE
|
|
IF aPowerup = ACTIVITY_POWERUP_XP
|
|
|
|
IF (bUsePlacementText)
|
|
IF NOT IS_STRING_NULL_OR_EMPTY(sPlacementText)
|
|
DISPLAY_TEXT_FROM_SINGLE_SCORE_GUTS(ePlacementTextStyle, TitlePlace, sPlacementText, TitleColour, aColour, -1, bLiteralPlacementText, UseTitleColourForTitle)
|
|
ENDIF
|
|
ELSE
|
|
IF isFloat = FALSE
|
|
DRAW_TEXT_WITH_NUMBER(NumberPlace,NumberStyle,"HUD_KSMULTI", Number,FONT_RIGHT)
|
|
ELSE
|
|
DRAW_TEXT_WITH_FLOAT(NumberPlace,NumberStyle,"HUD_KSMULTI", FloatValue,g_b_iNumberOfDecimalPlacesForScore,FONT_RIGHT)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ELSE
|
|
IF IS_STRING_EMPTY_HUD(NumberString)
|
|
|
|
IF (bUsePlacementText)
|
|
IF NOT IS_STRING_NULL_OR_EMPTY(sPlacementText)
|
|
DISPLAY_TEXT_FROM_SINGLE_SCORE_GUTS(ePlacementTextStyle, TitlePlace, sPlacementText, TitleColour, aColour, -1, bLiteralPlacementText, UseTitleColourForTitle)
|
|
ENDIF
|
|
ELSE
|
|
IF MaXNumber = 0
|
|
IF isFloat = FALSE
|
|
DRAW_TEXT_WITH_NUMBER(NumberPlace,NumberStyle,"NUMBER", Number,FONT_RIGHT)
|
|
ELSE
|
|
DRAW_TEXT_WITH_FLOAT(NumberPlace, NumberStyle,"NUMBER", FloatValue,g_b_iNumberOfDecimalPlacesForScore,FONT_RIGHT)
|
|
ENDIF
|
|
ELSE
|
|
DRAW_TEXT_WITH_2_NUMBERS(NumberPlace,NumberStyle,"TIMER_DASHES", Number, MaXNumber ,FONT_RIGHT)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ELSE
|
|
|
|
IF (bUsePlacementText)
|
|
IF NOT IS_STRING_NULL_OR_EMPTY(sPlacementText)
|
|
DISPLAY_TEXT_FROM_SINGLE_SCORE_GUTS(ePlacementTextStyle, TitlePlace, sPlacementText, TitleColour, aColour, -1, bLiteralPlacementText, UseTitleColourForTitle)
|
|
ENDIF
|
|
ELSE
|
|
|
|
IF ARE_STRINGS_EQUAL("HUD_CASH", NumberString)
|
|
OR ARE_STRINGS_EQUAL("HUD_CASH_S", NumberString)
|
|
NumberString = "HUD_CASH_S"
|
|
NumberStyle.aFont = FONT_STYLE_FIXED_WIDTH_NUMBERS
|
|
SET_TEXT_STYLE(NumberStyle)
|
|
DRAW_CASH_WITH_NUMBER(NumberPlace,NumberStyle,NumberString, Number,FONT_RIGHT)
|
|
|
|
ELIF ARE_STRINGS_EQUAL("HUD_CASH_NEG", NumberString)
|
|
OR ARE_STRINGS_EQUAL("HUD_CASH_NEG_S", NumberString)
|
|
NumberStyle.aFont = FONT_STYLE_FIXED_WIDTH_NUMBERS
|
|
SET_TEXT_STYLE(NumberStyle)
|
|
NumberString = "HUD_CASH_NEG_S"
|
|
DRAW_CASH_WITH_NUMBER(NumberPlace,NumberStyle,NumberString, Number,FONT_RIGHT)
|
|
ELSE
|
|
IF isFloat = FALSE
|
|
DRAW_TEXT_WITH_NUMBER(NumberPlace,NumberStyle,NumberString, Number,FONT_RIGHT)
|
|
ELSE
|
|
DRAW_TEXT_WITH_FLOAT(NumberPlace,NumberStyle,NumberString, FloatValue,g_b_iNumberOfDecimalPlacesForScore,FONT_RIGHT)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDIF
|
|
RESET_GFX_TIMERS_DRAW_ORDER()
|
|
ENDIF
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
|
|
PROC ACTUALLY_DRAW_GENERAL_SINGLE_SCORE(INT Index, INT Number, STRING Title, HUD_COLOURS aColour, INT FlashTime, INT TitleNumber,BOOL isPlayer, STRING NumberString, BOOL isFloat, FLOAT FloatValue, HUDFLASHING ColourFlashType, INT ColourFlash, HUD_COLOURS TitleColour, BOOL bDisplayWarning, INT MaXNumber, BOOL DrawInfinity, ACTIVITY_POWERUP aPowerup, HUD_COUNTER_STYLE eCounterStyle, BOOL bIsLiteralTitle, HUD_COLOURS FleckColour, INT iAlpha, BOOL bDisplayBlankScore, PLAYER_INDEX pPlayerID, BOOL bFlashTitle, BOOL bDrawLineUnderName, HUD_COLOURS LineUnderNameColour)
|
|
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_SCORE, Index)
|
|
TEXT_STYLE TitleStyle, NumberStyle
|
|
TEXT_PLACEMENT TitlePlace, NumberPlace
|
|
|
|
DRAW_GENERAL_SINGLE_SCORE_GUTS(index, TitleStyle, NumberStyle, TitlePlace, NumberPlace, Number, UIELEMENTS_BOTTOMRIGHT, Title, aColour, FlashTime, TitleNumber, isPlayer, NumberString, isFloat, FloatValue, ColourFlashType, ColourFlash, TitleColour, bDisplayWarning, MaXNumber, DrawInfinity, aPowerup, eCounterStyle, "", bIsLiteralTitle, FleckColour, iAlpha, bDisplayBlankScore, pPlayerID, bFlashTitle, bDrawLineUnderName, LineUnderNameColour)
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
IF g_DisplayTimersDisplaying
|
|
NET_NL()NET_PRINT("ACTUALLY_DRAW_GENERAL_SINGLE_SCORE index = ")NET_PRINT_INT(index)
|
|
ENDIF
|
|
#ENDIF
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PROC INIT_SCREEN_GENERAL_TIME_TIMER(TEXT_STYLE& NumberStyle, TEXT_PLACEMENT& TitlePlace, TEXT_PLACEMENT& TimerPlace, TEXT_PLACEMENT& ExtraTimePlace, UIELEMENTS WhichSpace, TEXT_STYLE& TitleStyle, TEXT_STYLE& AmPmStyle, TEXT_PLACEMENT& AMPMPLace )
|
|
|
|
FLOAT Gap = GET_VALUE_OF_GAP(NumberStyle) //0.04
|
|
|
|
TitlePlace.x = 0.795
|
|
TitlePlace.y = GET_Y_SHIFT(WhichSpace)
|
|
|
|
TitlePlace.y += GET_TITLE_OFFSET(TitleStyle)
|
|
|
|
TimerPlace.x = 0.795
|
|
TimerPlace.y = TitlePlace.y+GET_VALUE_TO_TITLE_OFFSET(NumberStyle) //-0.017
|
|
|
|
AMPMPLace.x = 0.795
|
|
AMPMPLace.y = TitlePlace.y+GET_VALUE_TO_TITLE_OFFSET(AmPmStyle) //-0.017
|
|
|
|
ExtraTimePlace.x = TimerPlace.x
|
|
ExtraTimePlace.y = TimerPlace.y //TitlePlace.y+GET_EXTRATIME_TO_TITLE_OFFSET() //0.038
|
|
|
|
CHANGE_Y_SHIFT_END(WhichSpace, -Gap)
|
|
|
|
ENDPROC
|
|
|
|
PROC RESET_HUD_TIMER_EXTRA_TIME(INT Index)
|
|
RESET_NET_TIMER(MPGlobalsScoreHud.ElementHud_TIMER.iGenericTimer_ExtraTimeTimer[Index])
|
|
ENDPROC
|
|
|
|
|
|
|
|
//TEXT_STYLE TitleStyleWidget, TimerTextStyleWidget, ExtraDisplayStyleWidget, AMPMStyleWidget
|
|
//TEXT_PLACEMENT TitlePlacementWidget, TimerPlacementWidget, ExtraDisplayPlacementWidget, AMPMPlacementWidget
|
|
//SPRITE_PLACEMENT OverlayWidgetTime
|
|
//BOOL TimerTimerWidgetBOol
|
|
//FLOAT RatioMultiplyerWidget
|
|
////
|
|
//INT ColourFlashTypeWidget
|
|
//INT ColourFlashingTime
|
|
|
|
PROC DRAW_GENERAL_TIME_TIMER_GUTS(INT Index, TEXT_STYLE& TitleStyle, TEXT_STYLE& NumberStyle, TEXT_STYLE& ExtraTimeStyle, TEXT_PLACEMENT& TitlePlace, TEXT_PLACEMENT& TimerPlace, TEXT_PLACEMENT& ExtraTimePlace, INT TimerRunner, UIELEMENTS WhichSpace, INT ExtraTime, PODIUMPOS MedalDisplay, STRING Title, HUD_COLOURS aColour, TIMER_STYLE aTimerStyle, INT FlashTime, INT TitleNumber, BOOL isPlayer, HUDFLASHING ColourFlashType, INT ColourFlash, BOOL bDisplayAllAsDashes, HUD_COLOURS TitleColour, BOOL bIsLiteral, HUD_COLOURS FleckColour, ACTIVITY_POWERUP aPowerup, BOOL bHideUnusedZeros)
|
|
MPGlobalsScoreHud.iHowManyDisplays++
|
|
// INT I
|
|
// IF IS_BOTTOM_RIGHT_AREA_FREE()
|
|
|
|
IF ColourFlashType = HUDFLASHING_FLASHRED
|
|
ENDIF
|
|
|
|
TEXT_STYLE AMPMStyle
|
|
TEXT_PLACEMENT AMPMPlace
|
|
SPRITE_PLACEMENT Overlays
|
|
SET_SPRITE_PLACEMENT(Overlays, 0.0, 0.0, 0.0, 0.0, 0,0,0,255)
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF TimerTimerWidgetBOol = FALSE
|
|
//
|
|
// WIDGET_GROUP_ID MpToSpWidgetGroup = GET_ID_OF_TOP_LEVEL_WIDGET_GROUP()
|
|
// SET_CURRENT_WIDGET_GROUP(MpToSpWidgetGroup)
|
|
// START_WIDGET_GROUP("TIMER TIME")
|
|
// CREATE_A_TEXT_STYLE_WIGET(TitleStyleWidget, "Timer Title")
|
|
// CREATE_A_TEXT_STYLE_WIGET(TimerTextStyleWidget, "Timer Number Style")
|
|
// CREATE_A_TEXT_STYLE_WIGET(ExtraDisplayStyleWidget, "Extra Number Style")
|
|
// CREATE_A_TEXT_STYLE_WIGET(AMPMStyleWidget, "AM PM Style")
|
|
//
|
|
// CREATE_A_TEXT_PLACEMENT_WIDGET(TitlePlacementWidget, "Timer Title Placement")
|
|
// CREATE_A_TEXT_PLACEMENT_WIDGET(ExtraDisplayPlacementWidget, "Extra Number Placement")
|
|
// CREATE_A_TEXT_PLACEMENT_WIDGET(TimerPlacementWidget, "Timer Number Placement")
|
|
// CREATE_A_TEXT_PLACEMENT_WIDGET(AMPMPlacementWidget, "AM PM Placement")
|
|
//
|
|
// ADD_WIDGET_FLOAT_SLIDER("RatioMultiplyerWidget", RatioMultiplyerWidget, -5, 5, 0.001)
|
|
//
|
|
// STOP_WIDGET_GROUP()
|
|
//
|
|
//
|
|
// START_WIDGET_GROUP("TIME OVERLAY")
|
|
// CREATE_A_SPRITE_PLACEMENT_WIDGET(OverlayWidgetTime, "OverlayWidgetTime")
|
|
// ADD_WIDGET_INT_SLIDER("FlashTypeWidget", ColourFlashTypeWidget, 0, 5, 1)
|
|
// ADD_WIDGET_INT_SLIDER("ColourFlashingTime", ColourFlashingTime, 0, 50000, 500)
|
|
// STOP_WIDGET_GROUP()
|
|
// CLEAR_CURRENT_WIDGET_GROUP(MpToSpWidgetGroup)
|
|
//
|
|
// TimerTimerWidgetBOol = TRUE
|
|
// ENDIF
|
|
// #ENDIF
|
|
|
|
SET_PROGRESSHUD_INIT_DONE(PROGRESSHUD_TIMER, Index)
|
|
|
|
|
|
IF bIsLiteral
|
|
SET_STANDARD_SMALL_HUD_TEXT(TitleStyle, DROPSTYLE_NONE)
|
|
ELIF isPlayer
|
|
SET_STANDARD_TIMER_PLYR_NAME_TEXT(TitleStyle, DROPSTYLE_DROPSHADOWONLY)
|
|
ELIF IS_LANGUAGE_NON_ROMANIC()
|
|
SET_STANDARD_SMALL_HUD_TEXT_NON_ROMANIC(TitleStyle, DROPSTYLE_NONE)
|
|
ELSE
|
|
SET_STANDARD_SMALL_HUD_TEXT(TitleStyle, DROPSTYLE_NONE)
|
|
ENDIF
|
|
SET_STANDARD_UI_AMPM(AMPMStyle, DROPSTYLE_NONE)
|
|
|
|
|
|
|
|
SWITCH aTimerStyle
|
|
CASE TIMER_STYLE_USEMILLISECONDS
|
|
CASE TIMER_STYLE_DONTUSEMILLISECONDS
|
|
CASE TIMER_STYLE_ONLY_SECONDS
|
|
|
|
IF bDisplayAllAsDashes
|
|
SET_STANDARD_UI_POSITION_SYMBOL(ExtraTimeStyle, DROPSTYLE_NONE)
|
|
SET_STANDARD_UI_TIMERNUMBER_THREESET(NumberStyle, DROPSTYLE_NONE, FONT_STANDARD)
|
|
ELSE
|
|
SET_STANDARD_UI_POSITION_SYMBOL(ExtraTimeStyle, DROPSTYLE_NONE)
|
|
SET_STANDARD_UI_TIMERNUMBER_THREESET(NumberStyle, DROPSTYLE_NONE, FONT_STYLE_FIXED_WIDTH_NUMBERS)
|
|
ENDIF
|
|
|
|
SET_WORD_WRAPPING_RIGHTEDGE(NumberStyle)
|
|
SET_WORD_WRAPPING_RIGHTEDGE(ExtraTimeStyle)//, Title)
|
|
|
|
BREAK
|
|
// CASE TIMER_STYLE_DONTUSEMILLISECONDS
|
|
//
|
|
// IF bDisplayAllAsDashes
|
|
// SET_STANDARD_UI_TIMERNUMBER_TWOSET(ExtraTimeStyle, DROPSTYLE_NONE, FONT_STANDARD)
|
|
// SET_STANDARD_UI_TIMERNUMBER_TWOSET(NumberStyle, DROPSTYLE_NONE, FONT_STANDARD)
|
|
// ELSE
|
|
// SET_STANDARD_UI_TIMERNUMBER_TWOSET(ExtraTimeStyle, DROPSTYLE_NONE, FONT_STANDARD)
|
|
// SET_STANDARD_UI_TIMERNUMBER_TWOSET(NumberStyle, DROPSTYLE_NONE, FONT_STYLE_FIXED_WIDTH_NUMBERS)
|
|
// ENDIF
|
|
// SET_WORD_WRAPPING_RIGHTEDGE(NumberStyle)
|
|
// SET_WORD_WRAPPING_RIGHTEDGE(ExtraTimeStyle)//, Title)
|
|
// BREAK
|
|
CASE TIMER_STYLE_CLOCKAM
|
|
|
|
SET_STANDARD_UI_TIMERNUMBER_THREESET(NumberStyle, DROPSTYLE_NONE, FONT_STANDARD)
|
|
SET_WORD_WRAPPING_RIGHTEDGE(AMPMStyle )
|
|
SET_WORD_WRAPPING_RIGHTEDGE(ExtraTimeStyle)//, Title)
|
|
SET_WORD_WRAPPING_RIGHTEDGE_AMPM(NumberStyle)
|
|
|
|
BREAK
|
|
CASE TIMER_STYLE_CLOCKPM
|
|
|
|
SET_STANDARD_UI_TIMERNUMBER_THREESET(NumberStyle, DROPSTYLE_NONE, FONT_STANDARD)
|
|
SET_WORD_WRAPPING_RIGHTEDGE(AMPMStyle )
|
|
SET_WORD_WRAPPING_RIGHTEDGE(ExtraTimeStyle)//, Title)
|
|
SET_WORD_WRAPPING_RIGHTEDGE_AMPM(NumberStyle)
|
|
BREAK
|
|
CASE TIMER_STYLE_STUNTPLANE
|
|
|
|
SET_STANDARD_UI_TIMERNUMBER_THREESET(ExtraTimeStyle, DROPSTYLE_NONE, FONT_STANDARD)
|
|
IF bDisplayAllAsDashes
|
|
|
|
SET_STANDARD_UI_TIMERNUMBER_THREESET(NumberStyle, DROPSTYLE_NONE, FONT_STANDARD)
|
|
ELSE
|
|
SET_STANDARD_UI_TIMERNUMBER_THREESET(NumberStyle, DROPSTYLE_NONE, FONT_STYLE_FIXED_WIDTH_NUMBERS)
|
|
ENDIF
|
|
SET_WORD_WRAPPING_RIGHTEDGE(NumberStyle)
|
|
SET_WORD_WRAPPING_RIGHTEDGE(ExtraTimeStyle)//, Title)
|
|
BREAK
|
|
// CASE TIMER_STYLE_ONLY_SECONDS
|
|
//
|
|
// SET_STANDARD_UI_TIMERNUMBER_TWOSET(ExtraTimeStyle, DROPSTYLE_NONE, FONT_STANDARD)
|
|
// SET_STANDARD_UI_TIMERNUMBER_TWOSET(NumberStyle, DROPSTYLE_NONE, FONT_STYLE_FIXED_WIDTH_NUMBERS)
|
|
// SET_WORD_WRAPPING_RIGHTEDGE(NumberStyle)
|
|
// SET_WORD_WRAPPING_RIGHTEDGE(ExtraTimeStyle)//, Title)
|
|
// BREAK
|
|
|
|
|
|
ENDSWITCH
|
|
|
|
|
|
SET_WORD_WRAPPING_TITLE(TitleStyle)
|
|
|
|
|
|
|
|
IF MPGlobalsScoreHud.bTitleFarLeftJustified = FALSE
|
|
AND MPGlobalsScoreHud.bTitleMiddleJustified = FALSE
|
|
IF aTimerStyle = TIMER_STYLE_USEMILLISECONDS
|
|
TitleStyle.wrapEndX += -0.016
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
TitleStyle.wrapEndX += -0.008
|
|
ENDIF
|
|
ENDIF
|
|
ELIF MPGlobalsScoreHud.bTitleFarLeftJustified = FALSE
|
|
AND MPGlobalsScoreHud.bTitleMiddleJustified = TRUE
|
|
IF aTimerStyle = TIMER_STYLE_USEMILLISECONDS
|
|
TitleStyle.wrapEndX += 0.0
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
TitleStyle.wrapEndX += -0.009
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF MPGlobalsScoreHud.iHowManyDisplays = 1
|
|
SET_Y_SHIFT_START(WhichSpace)
|
|
ENDIF
|
|
INIT_SCREEN_GENERAL_TIME_TIMER( NumberStyle, TitlePlace, TimerPlace, ExtraTimePlace, WhichSpace, TitleStyle, AMPMStyle,AMPMPlace )
|
|
|
|
|
|
|
|
//B* Adjust the title WrapEndX coordinate on aspect ratios other than 16:9
|
|
TitleStyle.wrapEndX += 0.03*(1-GET_TIMER_TEXT_ASPECT_RATIO_OFFSET_MULT())
|
|
//CPRINTLN(debug_dan,"moved wrap by ",0.03*(1-GET_TIMER_TEXT_ASPECT_RATIO_OFFSET_MULT())," to ",TitleStyle.wrapEndX )
|
|
|
|
|
|
|
|
SET_WORD_HUD_COLOUR(NumberStyle, aColour)
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// UPDATE_TEXT_PLACEMENT_WIDGET_VALUE(TitlePlace, TitlePlacementWidget)
|
|
// UPDATE_TEXT_PLACEMENT_WIDGET_VALUE(TimerPlace, TimerPlacementWidget)
|
|
// UPDATE_TEXT_PLACEMENT_WIDGET_VALUE(TimerPlace, ExtraDisplayPlacementWidget)
|
|
// UPDATE_TEXT_PLACEMENT_WIDGET_VALUE(AMPMPlace, AMPMPlacementWidget)
|
|
//
|
|
// UPDATE_TEXT_STYLE_WIDGET_VALUE(TitleStyle,TitleStyleWidget)
|
|
// UPDATE_TEXT_STYLE_WIDGET_VALUE(NumberStyle,TimerTextStyleWidget)
|
|
// UPDATE_TEXT_STYLE_WIDGET_VALUE(ExtraTimeStyle, ExtraDisplayStyleWidget)
|
|
// UPDATE_TEXT_STYLE_WIDGET_VALUE(AMPMStyle, AMPMStyleWidget)
|
|
// #ENDIF
|
|
|
|
|
|
BOOL bDisplayTimerCheckbox
|
|
|
|
IF FlashTime = 0
|
|
RESET_GENERIC_TIMER_FLASHING(Index)
|
|
ENDIF
|
|
|
|
IF ColourFlash = 0
|
|
RESET_GENERIC_TIMER_FLASHING_COLOUR(Index)
|
|
ENDIF
|
|
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBars")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBars")
|
|
|
|
GFX_DRAW_ORDER anOrder = SET_GFX_TIMERS_DRAW_ORDER()
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
|
|
IF DO_FLASHING(FlashTime, MPGlobalsScoreHud.iFlashing_GenericTimer_Hud[Index],MPGlobalsScoreHud.iFlashing_GenericTimer_MiniHud[Index])
|
|
bDisplayTimerCheckbox = TRUE
|
|
ELSE
|
|
bDisplayTimerCheckbox = FALSE
|
|
ENDIF
|
|
|
|
|
|
//Setting up rectangular overlay below the timer text/bar
|
|
Overlays.x = TitlePlace.x
|
|
Overlays.y = TitlePlace.y
|
|
|
|
IF MPGlobalsScoreHud.bCoronaUnderHud = TRUE
|
|
Overlays.x += RIGHT_EDGE_CORONA_OFFSET
|
|
ENDIF
|
|
|
|
SWITCH aTimerStyle
|
|
CASE TIMER_STYLE_USEMILLISECONDS
|
|
CASE TIMER_STYLE_DONTUSEMILLISECONDS
|
|
CASE TIMER_STYLE_ONLY_SECONDS
|
|
Overlays.x += TIMER_OVERLAY_X
|
|
Overlays.y += TIMER_OVERLAY_Y_TIME
|
|
Overlays.w += TIMER_OVERLAY_W
|
|
Overlays.h += TIMER_OVERLAY_H_TIME
|
|
Overlays.r += 255
|
|
Overlays.g += 255
|
|
Overlays.b += 255
|
|
Overlays.a = TIMER_OVERLAY_ALPHA //reduce by 20% 931421
|
|
BREAK
|
|
// CASE TIMER_STYLE_DONTUSEMILLISECONDS
|
|
// Overlays.x += TIMER_OVERLAY_X
|
|
// Overlays.y += TIMER_OVERLAY_Y_BIGTIME
|
|
// Overlays.w += TIMER_OVERLAY_W
|
|
// Overlays.h += TIMER_OVERLAY_H_BIGTIME
|
|
// Overlays.r += 255
|
|
// Overlays.g += 255
|
|
// Overlays.b += 255
|
|
// Overlays.a = TIMER_OVERLAY_ALPHA //reduce by 20% 931421
|
|
// BREAK
|
|
CASE TIMER_STYLE_CLOCKAM
|
|
Overlays.x += TIMER_OVERLAY_X
|
|
Overlays.y += TIMER_OVERLAY_Y_TIME
|
|
Overlays.w += TIMER_OVERLAY_W
|
|
Overlays.h += TIMER_OVERLAY_H_TIME
|
|
Overlays.r += 255
|
|
Overlays.g += 255
|
|
Overlays.b += 255
|
|
Overlays.a = TIMER_OVERLAY_ALPHA //reduce by 20% 931421
|
|
BREAK
|
|
CASE TIMER_STYLE_CLOCKPM
|
|
Overlays.x += TIMER_OVERLAY_X
|
|
Overlays.y += TIMER_OVERLAY_Y_TIME
|
|
Overlays.w += TIMER_OVERLAY_W
|
|
Overlays.h += TIMER_OVERLAY_H_TIME
|
|
Overlays.r += 255
|
|
Overlays.g += 255
|
|
Overlays.b += 255
|
|
Overlays.a = TIMER_OVERLAY_ALPHA //reduce by 20% 931421
|
|
BREAK
|
|
CASE TIMER_STYLE_STUNTPLANE
|
|
Overlays.x += TIMER_OVERLAY_X
|
|
Overlays.y += TIMER_OVERLAY_Y_TIME
|
|
Overlays.w += TIMER_OVERLAY_W
|
|
Overlays.h += TIMER_OVERLAY_H_TIME
|
|
Overlays.r += 255
|
|
Overlays.g += 255
|
|
Overlays.b += 255
|
|
Overlays.a = TIMER_OVERLAY_ALPHA //reduce by 20% 931421
|
|
BREAK
|
|
// CASE TIMER_STYLE_ONLY_SECONDS
|
|
// Overlays.x += TIMER_OVERLAY_X
|
|
// Overlays.y += TIMER_OVERLAY_Y_BIGTIME
|
|
// Overlays.w += TIMER_OVERLAY_W
|
|
// Overlays.h += TIMER_OVERLAY_H_BIGTIME
|
|
// Overlays.r += 255
|
|
// Overlays.g += 255
|
|
// Overlays.b += 255
|
|
// Overlays.a = TIMER_OVERLAY_ALPHA //reduce by 20% 931421
|
|
// BREAK
|
|
|
|
|
|
ENDSWITCH
|
|
|
|
|
|
SPRITE_PLACEMENT XPIconSprite
|
|
XPIconSprite.x = TimerPlace.x+0.145+0.001
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
XPIconSprite.y = TimerPlace.y+0.019-0.006
|
|
ELSE
|
|
XPIconSprite.y = TimerPlace.y+0.019
|
|
ENDIF
|
|
XPIconSprite.w = 0.016+0.003
|
|
XPIconSprite.h = 0.032+0.004
|
|
XPIconSprite.a = 255
|
|
SET_SPRITE_HUD_COLOUR(XPIconSprite, HUD_COLOUR_WHITE)
|
|
|
|
// Position icon between title and timer
|
|
XPIconSprite.x = TitleStyle.WrapEndX - ((NumberStyle.WrapEndX - TitleStyle.WrapEndX)/8)
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
XPIconSprite.x -= 0.003
|
|
ENDIF
|
|
|
|
SWITCH aPowerup
|
|
CASE ACTIVITY_POWERUP_XP
|
|
XPIconSprite.h += -0.009
|
|
XPIconSprite.w += -0.002
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
XPIconSprite.y += 0.0055
|
|
ELSE
|
|
XPIconSprite.y += 0.0025
|
|
ENDIF
|
|
|
|
REQUEST_STREAMED_TEXTURE_DICT("MPRPSymbol")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("MPRPSymbol")
|
|
DRAW_2D_SPRITE("MPRPSymbol", "RP", XPIconSprite)
|
|
ENDIF
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_ROCKETS
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBars")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBars")
|
|
DRAW_2D_SPRITE("TimerBars", "Rockets", XPIconSprite)
|
|
ENDIF
|
|
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_SPIKES
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBars")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBars")
|
|
DRAW_2D_SPRITE("TimerBars", "Spikes", XPIconSprite)
|
|
ENDIF
|
|
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_BOOSTS
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBars")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBars")
|
|
DRAW_2D_SPRITE("TimerBars", "Boost", XPIconSprite)
|
|
ENDIF
|
|
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_TICK
|
|
REQUEST_STREAMED_TEXTURE_DICT("CrossTheLine")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("CrossTheLine")
|
|
SET_SPRITE_HUD_COLOUR(XPIconSprite, HUD_COLOUR_GREEN)
|
|
DRAW_2D_SPRITE("CrossTheLine", "Timer_LargeTick_32", XPIconSprite)
|
|
ELSE
|
|
NET_NL()NET_PRINT("[BCTIMERS] ACTIVITY_POWERUP_TICK - CrossTheLine dict is loading... ")
|
|
ENDIF
|
|
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_CROSS
|
|
REQUEST_STREAMED_TEXTURE_DICT("CrossTheLine")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("CrossTheLine")
|
|
SET_SPRITE_HUD_COLOUR(XPIconSprite, HUD_COLOUR_RED)
|
|
DRAW_2D_SPRITE("CrossTheLine", "Timer_LargeCross_32", XPIconSprite)
|
|
ELSE
|
|
NET_NL()NET_PRINT("[BCTIMERS] ACTIVITY_POWERUP_CROSS - CrossTheLine dict is loading... ")
|
|
ENDIF
|
|
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_BEAST
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBar_Icons")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBar_Icons")
|
|
SET_SPRITE_HUD_COLOUR(XPIconSprite, HUD_COLOUR_FRIENDLY)
|
|
DRAW_2D_SPRITE("TimerBar_Icons", "Pickup_Beast", XPIconSprite)
|
|
ELSE
|
|
NET_NL()NET_PRINT("[BCTIMERS] ACTIVITY_POWERUP_BEAST - TimerBar_Icons dict is loading... ")
|
|
ENDIF
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_BULLET
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBar_Icons")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBar_Icons")
|
|
SET_SPRITE_HUD_COLOUR(XPIconSprite, HUD_COLOUR_FRIENDLY)
|
|
DRAW_2D_SPRITE("TimerBar_Icons", "Pickup_B_Time", XPIconSprite)
|
|
ELSE
|
|
NET_NL()NET_PRINT("[BCTIMERS] ACTIVITY_POWERUP_BULLET - TimerBar_Icons dict is loading... ")
|
|
ENDIF
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_RANDOM
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBar_Icons")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBar_Icons")
|
|
SET_SPRITE_HUD_COLOUR(XPIconSprite, HUD_COLOUR_FRIENDLY)
|
|
DRAW_2D_SPRITE("TimerBar_Icons", "Pickup_Random", XPIconSprite)
|
|
ELSE
|
|
NET_NL()NET_PRINT("[BCTIMERS] ACTIVITY_POWERUP_RANDOM - TimerBar_Icons dict is loading... ")
|
|
ENDIF
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_SLOW_TIME
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBar_Icons")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBar_Icons")
|
|
SET_SPRITE_HUD_COLOUR(XPIconSprite, HUD_COLOUR_FRIENDLY)
|
|
DRAW_2D_SPRITE("TimerBar_Icons", "Pickup_Slow_Time", XPIconSprite)
|
|
ELSE
|
|
NET_NL()NET_PRINT("[BCTIMERS] ACTIVITY_POWERUP_SLOW_TIME - TimerBar_Icons dict is loading... ")
|
|
ENDIF
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_SWAP
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBar_Icons")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBar_Icons")
|
|
SET_SPRITE_HUD_COLOUR(XPIconSprite, HUD_COLOUR_FRIENDLY)
|
|
DRAW_2D_SPRITE("TimerBar_Icons", "Pickup_Swap", XPIconSprite)
|
|
ELSE
|
|
NET_NL()NET_PRINT("[BCTIMERS] ACTIVITY_POWERUP_SWAP - TimerBar_Icons dict is loading... ")
|
|
ENDIF
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_TESTOSTERONE
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBar_Icons")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBar_Icons")
|
|
SET_SPRITE_HUD_COLOUR(XPIconSprite, HUD_COLOUR_FRIENDLY)
|
|
DRAW_2D_SPRITE("TimerBar_Icons", "Pickup_Testosterone", XPIconSprite)
|
|
ELSE
|
|
NET_NL()NET_PRINT("[BCTIMERS] ACTIVITY_POWERUP_TESTOSTERONE - TimerBar_Icons dict is loading... ")
|
|
ENDIF
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_THERMAL
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBar_Icons")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBar_Icons")
|
|
SET_SPRITE_HUD_COLOUR(XPIconSprite, HUD_COLOUR_FRIENDLY)
|
|
DRAW_2D_SPRITE("TimerBar_Icons", "Pickup_Thermal", XPIconSprite)
|
|
ELSE
|
|
NET_NL()NET_PRINT("[BCTIMERS] ACTIVITY_POWERUP_THERMAL - TimerBar_Icons dict is loading... ")
|
|
ENDIF
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_WEED
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBar_Icons")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBar_Icons")
|
|
SET_SPRITE_HUD_COLOUR(XPIconSprite, HUD_COLOUR_FRIENDLY)
|
|
DRAW_2D_SPRITE("TimerBar_Icons", "Pickup_Weed", XPIconSprite)
|
|
ELSE
|
|
NET_NL()NET_PRINT("[BCTIMERS] ACTIVITY_POWERUP_WEED - TimerBar_Icons dict is loading... ")
|
|
ENDIF
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_HIDDEN
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBar_Icons")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBar_Icons")
|
|
SET_SPRITE_HUD_COLOUR(XPIconSprite, HUD_COLOUR_FRIENDLY)
|
|
DRAW_2D_SPRITE("TimerBar_Icons", "Pickup_Hidden", XPIconSprite)
|
|
ELSE
|
|
NET_NL()NET_PRINT("[BCTIMERS] ACTIVITY_POWERUP_HIDDEN - TimerBar_Icons dict is loading... ")
|
|
ENDIF
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
Overlays.x += TIMER_OVERLAY_X_NON_ROMANIC_OFFSET
|
|
Overlays.w += TIMER_OVERLAY_W_NON_ROMANIC_OFFSET
|
|
ENDIF
|
|
|
|
MPGlobalsScoreHud.TopOfTimers += Overlays.h
|
|
|
|
|
|
IF MPGlobalsScoreHud.bCoronaUnderHud = FALSE
|
|
|
|
|
|
|
|
|
|
IF ColourFlash > 0
|
|
SPRITE_PLACEMENT ColourOverlays = Overlays
|
|
IF HAS_NET_TIMER_EXPIRED(MPGlobalsScoreHud.iGoalMetFlashing_GenericTimer[Index], 2000) = FALSE
|
|
IF HAS_NET_TIMER_EXPIRED_READ_ONLY(MPGlobalsScoreHud.iGoalMetFlashing_GenericTimer[Index], 1250)
|
|
MPGlobalsScoreHud.iGoalFadeFlashing_GenericTimer[Index] = MPGlobalsScoreHud.iGoalFadeFlashing_GenericTimer[Index]-17
|
|
ENDIF
|
|
ColourOverlays.a = MPGlobalsScoreHud.iGoalFadeFlashing_GenericTimer[Index]
|
|
IF ColourFlashType = HUDFLASHING_FLASHRED
|
|
SET_SPRITE_HUD_COLOUR(ColourOverlays, HUD_COLOUR_RED)
|
|
ELIF ColourFlashType = HUDFLASHING_FLASHGREEN
|
|
SET_SPRITE_HUD_COLOUR(ColourOverlays, HUD_COLOUR_GREEN)
|
|
ELSE
|
|
SET_SPRITE_HUD_COLOUR(ColourOverlays, aColour)
|
|
ENDIF
|
|
|
|
DRAW_2D_SPRITE("TimerBars", "ALL_WHITE_bg",ColourOverlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
ENDIF
|
|
ELSE
|
|
MPGlobalsScoreHud.iGoalFadeFlashing_GenericTimer[Index] = 255
|
|
REINIT_NET_TIMER(MPGlobalsScoreHud.iGoalMetFlashing_GenericTimer[Index])
|
|
ENDIF
|
|
|
|
DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
|
|
|
|
ENDIF
|
|
|
|
DRAW_ORGANISATION_FLECK(Overlays, FleckColour)
|
|
|
|
IF isPlayer
|
|
IF GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE
|
|
OR GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE_SIMPLIFIED
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET_CHINESE
|
|
ELSE
|
|
TitlePlace.y += PLAYERNAME_TITLE_OFFSET
|
|
ENDIF
|
|
ELIF IS_LANGUAGE_NON_ROMANIC()
|
|
IF GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE
|
|
OR GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE_SIMPLIFIED
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET_CHINESE
|
|
ELSE
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET
|
|
ENDIF
|
|
ENDIF
|
|
|
|
anOrder = SET_GFX_TIMERS_DRAW_ORDER()
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
SET_WORD_HUD_COLOUR(TitleStyle, TitleColour)
|
|
|
|
IF MPGlobalsScoreHud.bCoronaUnderHud = FALSE
|
|
SET_TEXT_STYLE(TitleStyle)
|
|
IF IS_STRING_EMPTY_HUD(Title) = FALSE
|
|
|
|
IF bIsLiteral = TRUE
|
|
DRAW_TEXT_WITH_PLAYER_NAME(TitlePlace, TitleStyle, Title, "", TitleColour, FONT_RIGHT)
|
|
|
|
ELIF IsPlayer = TRUE
|
|
|
|
TitleStyle.aFont = FONT_CONDENSED
|
|
DRAW_TEXT_WITH_PLAYER_NAME(TitlePlace, TitleStyle, Title, "", TitleColour, FONT_RIGHT)
|
|
ELSE
|
|
IF TitleNumber = -1
|
|
DRAW_TEXT_WITH_ALIGNMENT(TitlePlace, TitleStyle, Title, FALSE, TRUE)
|
|
ELSE
|
|
DRAW_TEXT_WITH_NUMBER(TitlePlace, TitleStyle, Title, TitleNumber, FONT_RIGHT)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
|
|
IF bDisplayTimerCheckbox
|
|
|
|
|
|
|
|
IF ExtraTime = 0
|
|
RESET_HUD_TIMER_EXTRA_TIME(Index)
|
|
ENDIF
|
|
|
|
|
|
|
|
IF ExtraTime <> 0
|
|
AND HAS_NET_TIMER_EXPIRED(MPGlobalsScoreHud.ElementHud_TIMER.iGenericTimer_ExtraTimeTimer[Index], 4000) = FALSE
|
|
|
|
|
|
IF (aTimerStyle != TIMER_STYLE_STUNTPLANE)
|
|
IF ExtraTime > 0
|
|
SET_TEXT_GREEN(ExtraTimeStyle)
|
|
DRAW_TEXT_TIMER(ExtraTimePlace, ExtraTimeStyle, ExtraTime, TIME_FORMAT_SECONDS|TEXT_FORMAT_HIDE_LEADING_ZEROS_ON_LEADING_UNITS, "TIMER_POS", FALSE, TRUE)
|
|
SET_TEXT_WHITE(ExtraTimeStyle)
|
|
ELSE
|
|
SET_TEXT_RED(ExtraTimeStyle)
|
|
DRAW_TEXT_TIMER(ExtraTimePlace, ExtraTimeStyle, ExtraTime, TIME_FORMAT_SECONDS|TEXT_FORMAT_HIDE_LEADING_ZEROS_ON_LEADING_UNITS, "STRING", FALSE, TRUE)
|
|
SET_TEXT_WHITE(ExtraTimeStyle)
|
|
ENDIF
|
|
ELSE
|
|
|
|
|
|
IF ExtraTime > 0
|
|
SET_TEXT_RED(ExtraTimeStyle)
|
|
DRAW_TEXT_TIMER(ExtraTimePlace, ExtraTimeStyle, ExtraTime, TIME_FORMAT_SECONDS|TEXT_FORMAT_HIDE_LEADING_ZEROS_ON_LEADING_UNITS, "TIMER_POS", FALSE, TRUE)
|
|
SET_TEXT_WHITE(ExtraTimeStyle)
|
|
ELSE
|
|
SET_TEXT_GREEN(ExtraTimeStyle)
|
|
//Do not add ABSI to this. Pass in the correct number instead.
|
|
DRAW_TEXT_TIMER(ExtraTimePlace, ExtraTimeStyle, (ExtraTime), TIME_FORMAT_SECONDS|TEXT_FORMAT_HIDE_LEADING_ZEROS_ON_LEADING_UNITS, "STRING", FALSE, TRUE)
|
|
SET_TEXT_WHITE(ExtraTimeStyle)
|
|
ENDIF
|
|
|
|
ENDIF
|
|
ELSE
|
|
|
|
IF MedalDisplay <> PODIUMPOS_NONE
|
|
IF MedalDisplay = PODIUMPOS_BRONZE
|
|
SET_TEXT_BRONZE(NumberStyle)
|
|
ELIF MedalDisplay = PODIUMPOS_SILVER
|
|
SET_TEXT_SILVER(NumberStyle)
|
|
ELIF MedalDisplay = PODIUMPOS_GOLD
|
|
SET_TEXT_GOLD(NumberStyle)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
|
|
IF MPGlobalsScoreHud.bCoronaUnderHud = TRUE
|
|
NumberStyle.drop = DROPSTYLE_NONE
|
|
SET_SCRIPT_GFX_DRAW_ORDER(GFX_ORDER_AFTER_FADE)
|
|
ENDIF
|
|
|
|
|
|
|
|
SET_TEXT_STYLE(NumberStyle)
|
|
|
|
|
|
|
|
SWITCH aTimerStyle
|
|
CASE TIMER_STYLE_USEMILLISECONDS
|
|
|
|
IF bDisplayAllAsDashes
|
|
DRAW_TEXT_WITH_PLAYER_NAME(TimerPlace,NumberStyle, "--:--:--","", HUD_COLOUR_WHITE, FONT_RIGHT )
|
|
ELSE
|
|
|
|
TimerPlace.x += 0.117
|
|
IF bHideUnusedZeros
|
|
DRAW_TEXT_TIMER(TimerPlace,NumberStyle, TimerRunner, TIME_FORMAT_SECONDS|TIME_FORMAT_MILLISECONDS|TEXT_FORMAT_USE_DOT_FOR_MILLISECOND_DIVIDER|TEXT_FORMAT_HIDE_MILLISECONDS_UNITS_DIGIT|TEXT_FORMAT_HIDE_LEADING_ZEROS_ON_LEADING_UNITS, "", FALSE, TRUE)
|
|
ELSE
|
|
DRAW_TEXT_TIMER(TimerPlace,NumberStyle, TimerRunner, TIME_FORMAT_MINUTES|TIME_FORMAT_SECONDS|TIME_FORMAT_MILLISECONDS|TEXT_FORMAT_USE_DOT_FOR_MILLISECOND_DIVIDER|TEXT_FORMAT_HIDE_MILLISECONDS_UNITS_DIGIT, "", FALSE, TRUE)
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
CASE TIMER_STYLE_DONTUSEMILLISECONDS
|
|
|
|
IF bDisplayAllAsDashes
|
|
DRAW_TEXT_WITH_PLAYER_NAME(TimerPlace,NumberStyle, "--:--","", HUD_COLOUR_WHITE, FONT_RIGHT )
|
|
ELSE
|
|
TimerPlace.x += 0.117
|
|
DRAW_TEXT_TIMER(TimerPlace,NumberStyle, TimerRunner, TIME_FORMAT_MINUTES|TIME_FORMAT_SECONDS, "", FALSE, TRUE)
|
|
ENDIF
|
|
BREAK
|
|
CASE TIMER_STYLE_CLOCKAM
|
|
TimerPlace.x += 0.120
|
|
DRAW_TEXT_TIMER(TimerPlace,NumberStyle, TimerRunner, TIME_FORMAT_MINUTES|TIME_FORMAT_SECONDS, "", FALSE, TRUE)
|
|
DRAW_TEXT_WITH_ALIGNMENT(AMPMPlace, AMPMStyle, "TIMER_AM_O", FALSE, TRUE)
|
|
|
|
BREAK
|
|
CASE TIMER_STYLE_CLOCKPM
|
|
TimerPlace.x += 0.120
|
|
DRAW_TEXT_TIMER(TimerPlace,NumberStyle, TimerRunner, TIME_FORMAT_MINUTES|TIME_FORMAT_SECONDS, "", FALSE, TRUE)
|
|
DRAW_TEXT_WITH_ALIGNMENT(AMPMPlace, AMPMStyle, "TIMER_PM_O", FALSE, TRUE)
|
|
|
|
|
|
BREAK
|
|
CASE TIMER_STYLE_STUNTPLANE
|
|
TimerPlace.x += 0.120
|
|
IF bDisplayAllAsDashes
|
|
DRAW_TEXT_WITH_PLAYER_NAME(TimerPlace,NumberStyle, "--:--:--","", HUD_COLOUR_WHITE, FONT_RIGHT )
|
|
ELSE
|
|
DRAW_TEXT_TIMER(TimerPlace, NumberStyle, TimerRunner, TIME_FORMAT_MINUTES|TIME_FORMAT_SECONDS|TIME_FORMAT_MILLISECONDS|TEXT_FORMAT_HIDE_MILLISECONDS_UNITS_DIGIT|TEXT_FORMAT_USE_DOT_FOR_MILLISECOND_DIVIDER|TEXT_FORMAT_HIDE_MILLISECONDS_UNITS_DIGIT, "", FALSE, TRUE)
|
|
ENDIF
|
|
BREAK
|
|
CASE TIMER_STYLE_ONLY_SECONDS
|
|
TimerPlace.x += 0.117
|
|
DRAW_TEXT_TIMER(TimerPlace,NumberStyle, TimerRunner, TIME_FORMAT_SECONDS, "", FALSE, TRUE)
|
|
|
|
BREAK
|
|
ENDSWITCH
|
|
ENDIF
|
|
ENDIF
|
|
RESET_GFX_TIMERS_DRAW_ORDER()
|
|
ENDIF
|
|
|
|
// ENDIF
|
|
ENDPROC
|
|
|
|
|
|
PROC ACTUALLY_DRAW_GENERAL_TIME_TIMER(INT index, INT TimerRunning, STRING Title, INT ExtraTimeGiven, PODIUMPOS MedalDisplay, TIMER_STYLE TimerStyle, HUD_COLOURS aColour, INT iFlashingTimer, INT TitleNumber,BOOL isPlayer, HUDFLASHING ColourFlashType, INT ColourFlash, BOOL bDisplayAsDashes, HUD_COLOURS TitleColour, BOOL bIsLiteral, HUD_COLOURS FleckColour, ACTIVITY_POWERUP aPowerup, BOOL bHideUnusedZeros)
|
|
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_TIMER, Index)
|
|
|
|
TEXT_STYLE TitleStyle, TimerTextStyle, ExtraDisplayStyle
|
|
TEXT_PLACEMENT TitlePlacement, TimerPlacement, ExtraDisplayPlacement
|
|
|
|
DRAW_GENERAL_TIME_TIMER_GUTS(Index, TitleStyle, TimerTextStyle,ExtraDisplayStyle, TitlePlacement, TimerPlacement, ExtraDisplayPlacement, TimerRunning, UIELEMENTS_BOTTOMRIGHT, ExtraTimeGiven, MedalDisplay, Title, aColour, TimerStyle, iFlashingTimer, TitleNumber, isPlayer, ColourFlashType, ColourFlash, bDisplayAsDashes, TitleColour, bIsLiteral, FleckColour, aPowerup, bHideUnusedZeros)
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
IF g_DisplayTimersDisplaying
|
|
NET_NL()NET_PRINT("ACTUALLY_DRAW_GENERAL_TIME_TIMER index = ")NET_PRINT_INT(index)
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
PROC INIT_SCREEN_GENERAL_SINGLE_BIG_NUMBER(TEXT_STYLE& NumberStyle, TEXT_PLACEMENT& TitlePlace, TEXT_PLACEMENT& NumberPlace, UIELEMENTS WhichSpace, TEXT_STYLE& TitleStyle )
|
|
|
|
FLOAT LargeGap = GET_VALUE_OF_GAP(NumberStyle) //0.115
|
|
|
|
TitlePlace.x = 0.795
|
|
TitlePlace.y = GET_Y_SHIFT(WhichSpace)
|
|
|
|
TitlePlace.y += GET_TITLE_OFFSET(TitleStyle)
|
|
|
|
NumberPlace.x = 0.795
|
|
NumberPlace.y = TitlePlace.y+GET_VALUE_TO_TITLE_OFFSET(NumberStyle)
|
|
|
|
CHANGE_Y_SHIFT_END(WhichSpace, -LargeGap)
|
|
|
|
ENDPROC
|
|
|
|
//SPRITE_PLACEMENT OverlayWidgetSingleBig
|
|
//TEXT_STYLE styleWidgetSingleBig
|
|
//TEXT_STYLE styleWidgetSingleBigTitle
|
|
//
|
|
//BOOL SingleBigWidget
|
|
|
|
PROC DRAW_GENERAL_SINGLE_BIG_NUMBER_GUTS(INT index, TEXT_STYLE& TitleStyle, TEXT_STYLE& NumberStyle,TEXT_PLACEMENT& TitlePlace, TEXT_PLACEMENT& NumberPlace, INT Number, UIELEMENTS WhichSpace, STRING Title, HUD_COLOURS aColour, INT FlashTime, INT TitleNumber,BOOL isPlayer, STRING NumberString, HUD_COLOURS TitleColour, BOOL bDrawInfinity, HUDFLASHING ColourFlashType, INT ColourFlash,HUD_COLOURS FleckColour)
|
|
|
|
IF ColourFlashType = HUDFLASHING_FLASHRED
|
|
ENDIF
|
|
|
|
MPGlobalsScoreHud.iHowManyDisplays++
|
|
// INT I
|
|
// IF IS_BOTTOM_RIGHT_AREA_FREE()
|
|
|
|
SPRITE_PLACEMENT Overlays
|
|
SET_SPRITE_PLACEMENT(Overlays, 0.0, 0.0, 0.0, 0.0, 0,0,0,255)
|
|
BOOL bDisplayTimerCheckbox
|
|
|
|
// IF SingleBigWidget = FALSE
|
|
//
|
|
// START_WIDGET_GROUP("SINGLE BIG NUMBER STYLE")
|
|
// CREATE_A_TEXT_STYLE_WIGET(styleWidgetSingleBig, "styleWidgetSingleBig")
|
|
// CREATE_A_TEXT_STYLE_WIGET(styleWidgetSingleBigTitle, "styleWidgetSingleBigTitle")
|
|
// STOP_WIDGET_GROUP()
|
|
//
|
|
// START_WIDGET_GROUP("SINGLE BIG NUMBER OVERLAY")
|
|
// CREATE_A_SPRITE_PLACEMENT_WIDGET(OverlayWidgetSingleBig, "OverlayWidgetSingleBig")
|
|
// STOP_WIDGET_GROUP()
|
|
//
|
|
// SingleBigWidget = TRUE
|
|
//
|
|
// ENDIF
|
|
|
|
|
|
SET_PROGRESSHUD_INIT_DONE(PROGRESSHUD_SINGLE_NUMBER, Index)
|
|
|
|
IF isPlayer
|
|
SET_STANDARD_TIMER_PLYR_NAME_TEXT(TitleStyle, DROPSTYLE_DROPSHADOWONLY)
|
|
ELSE
|
|
SET_STANDARD_SMALL_HUD_TEXT(TitleStyle, DROPSTYLE_NONE)
|
|
ENDIF
|
|
SET_STANDARD_UI_SINGLE_NUMBER(NumberStyle, DROPSTYLE_NONE)
|
|
SET_WORD_WRAPPING_TITLE(TitleStyle)
|
|
|
|
//B* Adjust the title WrapEndX coordinate on aspect ratios other than 16:9
|
|
TitleStyle.wrapEndX += 0.03*(1-GET_TIMER_TEXT_ASPECT_RATIO_OFFSET_MULT())
|
|
//CPRINTLN(debug_dan,"moved wrap by ",0.03*(1-GET_TIMER_TEXT_ASPECT_RATIO_OFFSET_MULT())," to ",TitleStyle.wrapEndX )
|
|
|
|
SET_WORD_WRAPPING_RIGHTEDGE(NumberStyle)
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// UPDATE_TEXT_STYLE_WIDGET_VALUE(NumberStyle, styleWidgetSingleBig)
|
|
// UPDATE_TEXT_STYLE_WIDGET_VALUE(TitleStyle, styleWidgetSingleBigTitle)
|
|
//
|
|
// #ENDIF
|
|
|
|
IF MPGlobalsScoreHud.iHowManyDisplays = 1
|
|
SET_Y_SHIFT_START(WhichSpace)
|
|
ENDIF
|
|
INIT_SCREEN_GENERAL_SINGLE_BIG_NUMBER(NumberStyle, TitlePlace, NumberPlace, WhichSpace, TitleStyle)
|
|
|
|
|
|
SET_WORD_HUD_COLOUR(NumberStyle, aColour)
|
|
|
|
IF FlashTime = 0
|
|
RESET_GENERIC_NUMBER_FLASHING(index)
|
|
ENDIF
|
|
IF ColourFlash = 0
|
|
RESET_GENERIC_NUMBER_FLASHING_COLOUR(Index)
|
|
ENDIF
|
|
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBars")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBars")
|
|
|
|
GFX_DRAW_ORDER anOrder = SET_GFX_TIMERS_DRAW_ORDER()
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
|
|
IF DO_FLASHING(FlashTime, MPGlobalsScoreHud.iFlashing_GenericNumber_Hud[index],MPGlobalsScoreHud.iFlashing_GenericNumber_MiniHud[index])
|
|
bDisplayTimerCheckbox = TRUE
|
|
ELSE
|
|
bDisplayTimerCheckbox = FALSE
|
|
ENDIF
|
|
|
|
SET_WORD_HUD_COLOUR(TitleStyle, TitleColour)
|
|
|
|
|
|
Overlays.x = TitlePlace.x
|
|
Overlays.y = TitlePlace.y
|
|
|
|
Overlays.x += TIMER_OVERLAY_X
|
|
Overlays.y += TIMER_OVERLAY_Y_SINGLEBIGNUM
|
|
Overlays.w += TIMER_OVERLAY_W
|
|
Overlays.h += TIMER_OVERLAY_H_SINGLEBIGNUM
|
|
Overlays.r += 255
|
|
Overlays.g += 255
|
|
Overlays.b += 255
|
|
Overlays.a = TIMER_OVERLAY_ALPHA //reduce by 20% 931421
|
|
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
Overlays.x += TIMER_OVERLAY_X_NON_ROMANIC_OFFSET
|
|
Overlays.w += TIMER_OVERLAY_W_NON_ROMANIC_OFFSET
|
|
ENDIF
|
|
|
|
MPGlobalsScoreHud.TopOfTimers += Overlays.h
|
|
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// UPDATE_SPRITE_WIDGET_VALUE(Overlays, OverlayWidgetSingleBig)
|
|
// #ENDIF
|
|
|
|
// IF DO_COLOUR_FLASHING(ColourFlash, MPGlobalsScoreHud.iColourFlashing_GenericNumber_Hud[Index], MPGlobalsScoreHud.iColourFlashing_GenericNumber_MiniHud[Index])
|
|
//
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays,TRUE,HIGHLIGHT_OPTION_NORMAL, anOrder )
|
|
// ELSE
|
|
//
|
|
// SWITCH ColourFlashType
|
|
// CASE HUDFLASHING_FLASHWHITE
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_WHITE_bg",Overlays,TRUE,HIGHLIGHT_OPTION_NORMAL, anOrder )
|
|
// BREAK
|
|
// CASE HUDFLASHING_FLASHRED
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_RED_bg",Overlays,TRUE,HIGHLIGHT_OPTION_NORMAL, anOrder )
|
|
// BREAK
|
|
//
|
|
// DEFAULT
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays,TRUE,HIGHLIGHT_OPTION_NORMAL, anOrder )
|
|
//
|
|
// BREAK
|
|
//
|
|
// ENDSWITCH
|
|
// ENDIF
|
|
|
|
// IF DO_COLOUR_FLASHING(ColourFlash, MPGlobalsHud.iColourFlashing_GenericNumber_Hud[Index], MPGlobalsHud.iColourFlashing_GenericNumber_MiniHud[Index])
|
|
|
|
IF ColourFlash > 0
|
|
SPRITE_PLACEMENT ColourOverlays = Overlays
|
|
IF HAS_NET_TIMER_EXPIRED(MPGlobalsScoreHud.iGoalMetFlashing_GenericNumber[Index], 2000) = FALSE
|
|
IF HAS_NET_TIMER_EXPIRED_READ_ONLY(MPGlobalsScoreHud.iGoalMetFlashing_GenericNumber[Index], 1250)
|
|
MPGlobalsScoreHud.iGoalFadeFlashing_GenericNumber[Index] = MPGlobalsScoreHud.iGoalFadeFlashing_GenericNumber[Index]-17
|
|
ENDIF
|
|
ColourOverlays.a = MPGlobalsScoreHud.iGoalFadeFlashing_GenericNumber[Index]
|
|
SET_SPRITE_HUD_COLOUR(ColourOverlays, aColour)
|
|
DRAW_2D_SPRITE("TimerBars", "ALL_WHITE_bg",ColourOverlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
ENDIF
|
|
ELSE
|
|
MPGlobalsScoreHud.iGoalFadeFlashing_GenericNumber[Index] = 255
|
|
REINIT_NET_TIMER(MPGlobalsScoreHud.iGoalMetFlashing_GenericNumber[Index])
|
|
ENDIF
|
|
|
|
DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
|
|
// ELSE
|
|
//
|
|
// SWITCH ColourFlashType
|
|
// CASE HUDFLASHING_FLASHWHITE
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
// Overlays.a = 255
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_WHITE_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
//
|
|
// BREAK
|
|
// CASE HUDFLASHING_FLASHRED
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
// Overlays.a = 255
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_RED_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
// BREAK
|
|
//
|
|
// DEFAULT
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
//
|
|
// BREAK
|
|
//
|
|
// ENDSWITCH
|
|
// ENDIF
|
|
|
|
|
|
DRAW_ORGANISATION_FLECK(Overlays, FleckColour)
|
|
|
|
anOrder = SET_GFX_TIMERS_DRAW_ORDER()
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
|
|
IF isPlayer
|
|
IF GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE
|
|
OR GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE_SIMPLIFIED
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET_CHINESE
|
|
ELSE
|
|
TitlePlace.y += PLAYERNAME_TITLE_OFFSET
|
|
ENDIF
|
|
ELIF IS_LANGUAGE_NON_ROMANIC()
|
|
IF GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE
|
|
OR GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE_SIMPLIFIED
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET_CHINESE
|
|
ELSE
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET
|
|
ENDIF
|
|
ENDIF
|
|
|
|
SET_TEXT_STYLE(TitleStyle)
|
|
IF IsPlayer = TRUE
|
|
TitleStyle.aFont = FONT_CONDENSED
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// TitlePlace.y += GET_VALUE_TO_TITLE_OFFSET(TitleStyle)
|
|
// #ENDIF
|
|
|
|
DRAW_TEXT_WITH_PLAYER_NAME(TitlePlace, TitleStyle, Title, "", TitleColour, FONT_RIGHT)
|
|
ELSE
|
|
IF TitleNumber = -1
|
|
DRAW_TEXT_WITH_ALIGNMENT(TitlePlace, TitleStyle, Title, FALSE, TRUE)
|
|
ELSE
|
|
DRAW_TEXT_WITH_NUMBER(TitlePlace, TitleStyle, Title, TitleNumber, FONT_RIGHT)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF bDisplayTimerCheckbox
|
|
|
|
|
|
SET_TEXT_STYLE(NumberStyle)
|
|
IF bDrawInfinity = FALSE
|
|
DRAW_TEXT_WITH_NUMBER(NumberPlace,NumberStyle,NumberString, Number,FONT_RIGHT)
|
|
ELSE
|
|
DRAW_TEXT_WITH_PLAYER_NAME(NumberPlace, NumberStyle, "∞", "", HUD_COLOUR_WHITE, FONT_RIGHT)
|
|
ENDIF
|
|
ENDIF
|
|
RESET_GFX_TIMERS_DRAW_ORDER()
|
|
ENDIF
|
|
// ENDIF
|
|
ENDPROC
|
|
|
|
|
|
PROC ACTUALLY_DRAW_GENERAL_SINGLE_BIG_NUMBER(INT Index, INT Number, STRING Title, HUD_COLOURS aColour, INT FlashTime, INT TitleNumber,BOOL isPlayer, STRING NumberString, HUD_COLOURS TitleColour, BOOL bDrawInfinity, HUDFLASHING ColourFlashType, INT ColourFlash, HUD_COLOURS Fleckcolour, BOOL bEnablePulsing, HUD_COLOURS PulseToColour, INT iPulseTime)
|
|
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_SINGLE_NUMBER, Index)
|
|
TEXT_STYLE TitleStyle, NumberStyle
|
|
TEXT_PLACEMENT TitlePlace, NumberPlace
|
|
|
|
// DRAW_GENERAL_SINGLE_BIG_NUMBER_GUTS(index, TitleStyle, NumberStyle, TitlePlace, NumberPlace, Number, UIELEMENTS_BOTTOMRIGHT, Title, aColour, FlashTime, TitleNumber, isPlayer, NumberString, TitleColour, bDrawInfinity, ColourFlashType, ColourFlash)
|
|
|
|
|
|
DRAW_GENERAL_SINGLE_SCORE_GUTS(index, TitleStyle, NumberStyle, TitlePlace, NumberPlace, Number,UIELEMENTS_BOTTOMRIGHT,Title, aColour, FlashTime, TitleNumber, isPlayer,NumberString, FALSE, 0.0, ColourFlashType, ColourFlash, TitleColour, FALSE, 0,bDrawInfinity, ACTIVITY_POWERUP_NONE, HUD_COUNTER_STYLE_DEFAULT, "", DEFAULT, Fleckcolour, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, bEnablePulsing, PulseToColour, iPulseTime)
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
IF g_DisplayTimersDisplaying
|
|
NET_NL()NET_PRINT("ACTUALLY_DRAW_GENERAL_SINGLE_BIG_NUMBER index = ")NET_PRINT_INT(index)
|
|
ENDIF
|
|
#ENDIF
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PROC INIT_SCREEN_GENERAL_DOUBLE_BIG_NUMBER(TEXT_STYLE& NumberStyle,TEXT_STYLE& NumberTwoStyle, TEXT_PLACEMENT& TitlePlace, TEXT_PLACEMENT& NumberPlace, TEXT_PLACEMENT& NumberTwoPlace, UIELEMENTS WhichSpace, TEXT_STYLE& TitleStyle )
|
|
|
|
FLOAT LargeGap = GET_VALUE_OF_GAP(NumberTwoStyle) //0.115
|
|
|
|
TitlePlace.x = 0.795
|
|
TitlePlace.y = GET_Y_SHIFT(WhichSpace)
|
|
|
|
TitlePlace.y += GET_TITLE_OFFSET(TitleStyle)
|
|
|
|
|
|
NumberPlace.x = 0.795
|
|
NumberPlace.y = TitlePlace.y+GET_VALUE_TO_TITLE_OFFSET(NumberStyle)
|
|
|
|
NumberTwoPlace.x = 0.795
|
|
NumberTwoPlace.y = TitlePlace.y+GET_VALUE_TO_TITLE_OFFSET(NumberTwoStyle)
|
|
|
|
CHANGE_Y_SHIFT_END(WhichSpace, -LargeGap)
|
|
|
|
ENDPROC
|
|
//
|
|
//TEXT_STYLE TitleStyleWidgetDouble, NumberStyleWidgetDouble, SecondNumberStyleWidgetDouble
|
|
//TEXT_PLACEMENT TitlePlacementWidgetDouble, NumberPlacmentWidgetDouble, SecondNumberPlacementWidgetDouble
|
|
//SPRITE_PLACEMENT OverlayWidgetBig
|
|
//SPRITE_PLACEMENT WarningWidgetBig
|
|
//FLOAT WidgetStringLengthConverter
|
|
//FLOAT WidgetStringLengthConverter_x
|
|
//FLOAT WidgetStringLengthConverter_m
|
|
//FLOAT WidgetStringLengthConverter_b
|
|
//BOOL BIG_Number_Widget
|
|
|
|
PROC DRAW_GENERAL_DOUBLE_BIG_NUMBER_GUTS(INT INDEX, TEXT_STYLE& TitleStyle, TEXT_STYLE& NumberStyle,TEXT_STYLE& NumberTwoStyle, TEXT_PLACEMENT& TitlePlace, TEXT_PLACEMENT& NumberPlace,TEXT_PLACEMENT& NumberTwoPlace, INT Number, INT Number2, UIELEMENTS WhichSpace,
|
|
STRING Title, HUD_COLOURS aColour, INT FlashTime, INT TitleNumber,BOOL isPlayer, HUDFLASHING ColourFlashType, INT ColourFlash, BOOL bDisplayWarning, HUD_COLOURS FleckColour)
|
|
|
|
IF ColourFlashType = HUDFLASHING_FLASHRED
|
|
ENDIF
|
|
|
|
MPGlobalsScoreHud.iHowManyDisplays++
|
|
|
|
IF IS_BOTTOM_RIGHT_AREA_FREE()
|
|
|
|
BOOL bDisplayTimerCheckbox
|
|
SPRITE_PLACEMENT Overlays
|
|
SPRITE_PLACEMENT WarningIcon
|
|
SET_SPRITE_PLACEMENT(Overlays, 0.0, 0.0, 0.0, 0.0, 0,0,0,255)
|
|
SET_SPRITE_PLACEMENT(WarningIcon, 0.0, 0.0, 0.0, 0.0, 0,0,0,255)
|
|
|
|
// IF BIG_Number_Widget = FALSE
|
|
//
|
|
// START_WIDGET_GROUP("DOUBLE BIG NUMBER")
|
|
//
|
|
// CREATE_A_TEXT_PLACEMENT_WIDGET(TitlePlacementWidgetDouble, "TitlePlacementWidgetDouble")
|
|
// CREATE_A_TEXT_PLACEMENT_WIDGET(NumberPlacmentWidgetDouble, "NumberPlacmentWidgetDouble")
|
|
// CREATE_A_TEXT_PLACEMENT_WIDGET(SecondNumberPlacementWidgetDouble, "SecondNumberPlacementWidgetDouble")
|
|
//
|
|
// CREATE_A_TEXT_STYLE_WIGET(TitleStyleWidgetDouble, "TitleStyleWidgetDouble")
|
|
// CREATE_A_TEXT_STYLE_WIGET(NumberStyleWidgetDouble, "NumberStyleWidgetDouble")
|
|
// CREATE_A_TEXT_STYLE_WIGET(SecondNumberStyleWidgetDouble, "SecondNumberStyleWidgetDouble")
|
|
//
|
|
// STOP_WIDGET_GROUP()
|
|
// START_WIDGET_GROUP("BIG NUMBER OVERLAY")
|
|
// CREATE_A_SPRITE_PLACEMENT_WIDGET(OverlayWidgetBig, "OverlayWidgetBig")
|
|
//
|
|
// STOP_WIDGET_GROUP()
|
|
// START_WIDGET_GROUP("BIG NUMBER WARNING")
|
|
// CREATE_A_SPRITE_PLACEMENT_WIDGET(WarningWidgetBig, "WarningWidgetBig")
|
|
// ADD_WIDGET_FLOAT_SLIDER("WidgetStringLengthConverter", WidgetStringLengthConverter, -1000, 1000, 0.001)
|
|
// ADD_WIDGET_FLOAT_SLIDER("WidgetStringLengthConverter_x", WidgetStringLengthConverter_x, -1000, 1000, 0.001)
|
|
//
|
|
// ADD_WIDGET_FLOAT_SLIDER("WidgetStringLengthConverter_m", WidgetStringLengthConverter_m, -1000, 1000, 0.001)
|
|
// ADD_WIDGET_FLOAT_SLIDER("WidgetStringLengthConverter_b", WidgetStringLengthConverter_b, -1000, 1000, 0.001)
|
|
//
|
|
// STOP_WIDGET_GROUP()
|
|
//
|
|
// BIG_Number_Widget = TRUE
|
|
//
|
|
//
|
|
// ENDIF
|
|
|
|
SET_PROGRESSHUD_INIT_DONE(PROGRESSHUD_DOUBLE_NUMBER, Index)
|
|
|
|
// IF Number2 > 99
|
|
// SET_STANDARD_UI_DASHTRIPLE(NumberStyle, DROPSTYLE_NONE)
|
|
// ELSE
|
|
// SET_STANDARD_UI_SINGLE_NUMBER(NumberStyle, DROPSTYLE_NONE)
|
|
// ENDIF
|
|
|
|
// IF Number2 > 9
|
|
// SET_STANDARD_UI_DASHDOUBLE(NumberTwoStyle, DROPSTYLE_NONE)
|
|
// ELSE
|
|
|
|
IF Number2 > 99
|
|
SET_STANDARD_UI_DASHTRIPLE(NumberTwoStyle, DROPSTYLE_NONE)
|
|
ELSE
|
|
SET_STANDARD_UI_SINGLE_NUMBER(NumberTwoStyle, DROPSTYLE_NONE)
|
|
ENDIF
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
|
|
IF isPlayer
|
|
SET_STANDARD_TIMER_PLYR_NAME_TEXT(TitleStyle, DROPSTYLE_DROPSHADOWONLY)
|
|
ELSE
|
|
SET_STANDARD_SMALL_HUD_TEXT_NON_ROMANIC(TitleStyle, DROPSTYLE_NONE)
|
|
ENDIF
|
|
ELSE
|
|
|
|
IF isPlayer
|
|
SET_STANDARD_TIMER_PLYR_NAME_TEXT(TitleStyle, DROPSTYLE_DROPSHADOWONLY)
|
|
ELSE
|
|
SET_STANDARD_SMALL_HUD_TEXT(TitleStyle, DROPSTYLE_NONE)
|
|
ENDIF
|
|
|
|
ENDIF
|
|
SET_WORD_WRAPPING_TITLE(TitleStyle)
|
|
|
|
//B* Adjust the title WrapEndX coordinate on aspect ratios other than 16:9
|
|
TitleStyle.wrapEndX += 0.03*(1-GET_TIMER_TEXT_ASPECT_RATIO_OFFSET_MULT())
|
|
//CPRINTLN(debug_dan,"moved wrap by ",0.03*(1-GET_TIMER_TEXT_ASPECT_RATIO_OFFSET_MULT())," to ",TitleStyle.wrapEndX )
|
|
|
|
// IF Number2 > 99
|
|
// SET_WORD_WRAPPING_DASH_TRIPLE(NumberStyle)
|
|
// ELIF Number2 > 9
|
|
// SET_WORD_WRAPPING_DASH_DOUBLE(NumberStyle)
|
|
// ELSE
|
|
// SET_WORD_WRAPPING_DASH_SINGLE(NumberStyle)
|
|
// ENDIF
|
|
SET_WORD_WRAPPING_RIGHTEDGE(NumberTwoStyle)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IF MPGlobalsScoreHud.iHowManyDisplays = 1
|
|
SET_Y_SHIFT_START(WhichSpace)
|
|
ENDIF
|
|
INIT_SCREEN_GENERAL_DOUBLE_BIG_NUMBER(NumberStyle, NumberTwoStyle,TitlePlace, NumberPlace, NumberTwoPlace, WhichSpace, TitleStyle)
|
|
|
|
|
|
SET_WORD_HUD_COLOUR(NumberStyle, aColour)
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
//
|
|
// UPDATE_TEXT_PLACEMENT_WIDGET_VALUE(TitlePlace, TitlePlacementWidgetDouble)
|
|
// UPDATE_TEXT_PLACEMENT_WIDGET_VALUE(NumberPlace, NumberPlacmentWidgetDouble)
|
|
// UPDATE_TEXT_PLACEMENT_WIDGET_VALUE(NumberTwoPlace, SecondNumberPlacementWidgetDouble)
|
|
//
|
|
// UPDATE_TEXT_STYLE_WIDGET_VALUE(TitleStyle, TitleStyleWidgetDouble)
|
|
// UPDATE_TEXT_STYLE_WIDGET_VALUE(NumberStyle,NumberStyleWidgetDouble )
|
|
// UPDATE_TEXT_STYLE_WIDGET_VALUE(NumberTwoStyle, SecondNumberStyleWidgetDouble)
|
|
//
|
|
//
|
|
// #ENDIF
|
|
|
|
IF FlashTime = 0
|
|
RESET_GENERIC_DOUBLE_NUMBER_FLASHING(Index)
|
|
ENDIF
|
|
|
|
IF ColourFlash = 0
|
|
RESET_GENERIC_DOUBLE_NUMBER_FLASHING_COLOUR(Index)
|
|
ENDIF
|
|
|
|
IF bDisplayWarning
|
|
REQUEST_STREAMED_TEXTURE_DICT("CommonMenu")
|
|
ENDIF
|
|
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBars")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBars")
|
|
|
|
GFX_DRAW_ORDER anOrder = SET_GFX_TIMERS_DRAW_ORDER()
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
|
|
IF DO_FLASHING(FlashTime, MPGlobalsScoreHud.iFlashing_GenericDoubleNumber_Hud[INDEX] ,MPGlobalsScoreHud.iFlashing_GenericDoubleNumber_MiniHud[INDEX])
|
|
bDisplayTimerCheckbox = TRUE
|
|
ELSE
|
|
bDisplayTimerCheckbox = FALSE
|
|
ENDIF
|
|
|
|
|
|
Overlays.x = TitlePlace.x
|
|
Overlays.y = TitlePlace.y
|
|
|
|
WarningIcon.x = TitlePlace.x
|
|
WarningIcon.y = TitlePlace.y+0.001
|
|
|
|
|
|
IF Number2 > 99
|
|
Overlays.x += TIMER_OVERLAY_X
|
|
Overlays.y += TIMER_OVERLAY_Y_BIGNUMSML
|
|
Overlays.w += TIMER_OVERLAY_W
|
|
Overlays.h += TIMER_OVERLAY_H_BIGNUMSML
|
|
Overlays.r += 255
|
|
Overlays.g += 255
|
|
Overlays.b += 255
|
|
Overlays.a = TIMER_OVERLAY_ALPHA //reduce by 20% 931421
|
|
|
|
ELSE
|
|
Overlays.x += TIMER_OVERLAY_X
|
|
Overlays.y += TIMER_OVERLAY_Y_BIGNUM
|
|
Overlays.w += TIMER_OVERLAY_W
|
|
Overlays.h += TIMER_OVERLAY_H_BIGNUM
|
|
Overlays.r += 255
|
|
Overlays.g += 255
|
|
Overlays.b += 255
|
|
Overlays.a = TIMER_OVERLAY_ALPHA //reduce by 20% 931421
|
|
ENDIF
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
Overlays.x += TIMER_OVERLAY_X_NON_ROMANIC_OFFSET
|
|
Overlays.w += TIMER_OVERLAY_W_NON_ROMANIC_OFFSET
|
|
ENDIF
|
|
|
|
|
|
MPGlobalsScoreHud.TopOfTimers += Overlays.h
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// UPDATE_SPRITE_WIDGET_VALUE(Overlays, OverlayWidgetBig)
|
|
// UPDATE_SPRITE_WIDGET_VALUE(WarningIcon, WarningWidgetSCORE)
|
|
// #ENDIF
|
|
|
|
|
|
// IF DO_COLOUR_FLASHING(ColourFlash, MPGlobalsScoreHud.iColourFlashing_GenericDoubleNumber_Hud[Index], MPGlobalsScoreHud.iColourFlashing_GenericDoubleNumber_MiniHud[Index])
|
|
//
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder )
|
|
// ELSE
|
|
//
|
|
// SWITCH ColourFlashType
|
|
// CASE HUDFLASHING_FLASHWHITE
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_WHITE_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
// BREAK
|
|
// CASE HUDFLASHING_FLASHRED
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_RED_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
// BREAK
|
|
//
|
|
// DEFAULT
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
//
|
|
// BREAK
|
|
//
|
|
// ENDSWITCH
|
|
// ENDIF
|
|
|
|
|
|
|
|
// IF DO_COLOUR_FLASHING(ColourFlash, MPGlobalsHud.iColourFlashing_GenericDoubleNumber_Hud[Index], MPGlobalsHud.iColourFlashing_GenericDoubleNumber_MiniHud[Index])
|
|
|
|
IF ColourFlash > 0
|
|
SPRITE_PLACEMENT ColourOverlays = Overlays
|
|
IF HAS_NET_TIMER_EXPIRED(MPGlobalsScoreHud.iGoalMetFlashing_GenericDoubleNumber[Index], 2000) = FALSE
|
|
IF HAS_NET_TIMER_EXPIRED_READ_ONLY(MPGlobalsScoreHud.iGoalMetFlashing_GenericDoubleNumber[Index], 1250)
|
|
MPGlobalsScoreHud.iGoalFadeFlashing_GenericDoubleNumber[Index] = MPGlobalsScoreHud.iGoalFadeFlashing_GenericDoubleNumber[Index]-17
|
|
ENDIF
|
|
ColourOverlays.a = MPGlobalsScoreHud.iGoalFadeFlashing_GenericDoubleNumber[Index]
|
|
SET_SPRITE_HUD_COLOUR(ColourOverlays, aColour)
|
|
DRAW_2D_SPRITE("TimerBars", "ALL_WHITE_bg",ColourOverlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
ENDIF
|
|
ELSE
|
|
MPGlobalsScoreHud.iGoalFadeFlashing_GenericDoubleNumber[Index] = 255
|
|
REINIT_NET_TIMER(MPGlobalsScoreHud.iGoalMetFlashing_GenericDoubleNumber[Index])
|
|
ENDIF
|
|
|
|
DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
|
|
// ELSE
|
|
//
|
|
// SWITCH ColourFlashType
|
|
// CASE HUDFLASHING_FLASHWHITE
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
// Overlays.a = 255
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_WHITE_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
//
|
|
// BREAK
|
|
// CASE HUDFLASHING_FLASHRED
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
// Overlays.a = 255
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_RED_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
// BREAK
|
|
//
|
|
// DEFAULT
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
//
|
|
// BREAK
|
|
//
|
|
// ENDSWITCH
|
|
// ENDIF
|
|
|
|
|
|
DRAW_ORGANISATION_FLECK(Overlays, FleckColour)
|
|
|
|
anOrder = SET_GFX_TIMERS_DRAW_ORDER()
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
|
|
IF isPlayer
|
|
IF GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE
|
|
OR GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE_SIMPLIFIED
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET_CHINESE
|
|
ELSE
|
|
TitlePlace.y += PLAYERNAME_TITLE_OFFSET
|
|
ENDIF
|
|
ELIF IS_LANGUAGE_NON_ROMANIC()
|
|
IF GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE
|
|
OR GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE_SIMPLIFIED
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET_CHINESE
|
|
ELSE
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET
|
|
ENDIF
|
|
ENDIF
|
|
|
|
SET_TEXT_STYLE(TitleStyle)
|
|
IF IsPlayer = TRUE
|
|
DRAW_TEXT_WITH_PLAYER_NAME(TitlePlace, TitleStyle, Title,"", HUD_COLOUR_WHITE, FONT_RIGHT)
|
|
ELSE
|
|
IF TitleNumber = -1
|
|
DRAW_TEXT_WITH_ALIGNMENT(TitlePlace, TitleStyle, Title, FALSE, TRUE)
|
|
ELSE
|
|
DRAW_TEXT_WITH_NUMBER(TitlePlace, TitleStyle, Title, TitleNumber, FONT_RIGHT)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF bDisplayWarning
|
|
|
|
REQUEST_STREAMED_TEXTURE_DICT("CommonMenu")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("CommonMenu")
|
|
|
|
FLOAT StringIconOffset = 0.0
|
|
|
|
|
|
|
|
FLOAT x = TO_FLOAT(GET_LENGTH_OF_STRING_WITH_THIS_TEXT_LABEL(Title))
|
|
FLOAT b = 0.081
|
|
FLOAT m = -0.0059
|
|
|
|
|
|
b += 0.03
|
|
IF MPGlobalsScoreHud.bTitleFarLeftJustified
|
|
b += -0.030
|
|
ENDIF
|
|
|
|
|
|
IF MPGlobalsScoreHud.bTitleMiddleJustified
|
|
AND MPGlobalsScoreHud.bTitleFarLeftJustified = FALSE
|
|
b += -0.015-0.003
|
|
ENDIF
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// StringIconOffset += WidgetStringLengthConverter
|
|
// x += WidgetStringLengthConverter_x
|
|
// b += WidgetStringLengthConverter_b
|
|
// m += WidgetStringLengthConverter_m
|
|
//
|
|
// #ENDIF
|
|
StringIconOffset = (m*x)+B
|
|
|
|
WarningIcon.x += StringIconOffset
|
|
WarningIcon.x -= 0.015
|
|
WarningIcon.y += 0.008
|
|
WarningIcon.w += 0.022
|
|
WarningIcon.h += 0.040
|
|
WarningIcon.r += 194
|
|
WarningIcon.g += 80
|
|
WarningIcon.b += 80
|
|
WarningIcon.a -= 50
|
|
|
|
|
|
|
|
DRAW_2D_SPRITE("CommonMenu", "MP_AlertTriangle",WarningIcon, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF bDisplayTimerCheckbox
|
|
|
|
// SET_TEXT_STYLE(NumberStyle)
|
|
SET_TEXT_STYLE(NumberTwoStyle)
|
|
|
|
// DRAW_TEXT_WITH_NUMBER(NumberPlace,NumberStyle,"NUMBER", Number,FONT_RIGHT)
|
|
// DRAW_TEXT_WITH_NUMBER(NumberTwoPlace,NumberTwoStyle,"TIMER_DASH", Number2,FONT_RIGHT)
|
|
DRAW_TEXT_WITH_2_NUMBERS(NumberTwoPlace,NumberTwoStyle, "TIMER_DASHES",Number, Number2, FONT_RIGHT)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
|
|
|
|
RESET_GFX_TIMERS_DRAW_ORDER()
|
|
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC ACTUALLY_DRAW_GENERAL_DOUBLE_BIG_NUMBER(INT index, INT CurrentNumber, INT MaxNumber, STRING Title, HUD_COLOURS aColour, INT iFlashTimer, INT TitleNumber, BOOL isPlayer, HUDFLASHING ColourFlashType, INT ColourFlash, BOOL bDisplayWarning, BOOL bUseNonPlayerFont, HUD_COLOURS TitleColour, HUD_COLOURS FleckColour, INT iAlpha, BOOL bFlashTitle)
|
|
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_DOUBLE_NUMBER, Index)
|
|
TEXT_STYLE TitleStyle, NumberStyle//, SecondNumberStyle
|
|
TEXT_PLACEMENT TitlePlace, NumberPlace//, SecondNumberPlacement
|
|
|
|
// DRAW_GENERAL_DOUBLE_BIG_NUMBER_GUTS(Index,TitleStyle, NumberStyle, SecondNumberStyle, TitlePlace, NumberPlace, SecondNumberPlacement,
|
|
// CurrentNumber, MaxNumber, UIELEMENTS_BOTTOMRIGHT, Title, aColour, iFlashTimer, TitleNumber, isPlayer,
|
|
// ColourFlashType, ColourFlash, bDisplayWarning)
|
|
|
|
|
|
|
|
DRAW_GENERAL_SINGLE_SCORE_GUTS(index, TitleStyle, NumberStyle, TitlePlace, NumberPlace, CurrentNumber,UIELEMENTS_BOTTOMRIGHT, Title, aColour,iFlashTimer, TitleNumber, isPlayer,
|
|
"", FALSE, 0, ColourFlashType, ColourFlash, TitleColour, bDisplayWarning, MaxNumber, FALSE, ACTIVITY_POWERUP_NONE, HUD_COUNTER_STYLE_DEFAULT, "",
|
|
bUseNonPlayerFont,FleckColour, iAlpha, DEFAULT, DEFAULT, bFlashTitle)
|
|
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
IF g_DisplayTimersDisplaying
|
|
NET_NL()NET_PRINT("ACTUALLY_DRAW_GENERAL_DOUBLE_BIG_NUMBER index = ")NET_PRINT_INT(index)
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
|
|
ENDIF
|
|
ENDPROC
|
|
//
|
|
//BOOL PlacementStandingWidget
|
|
//FLOAT PlacementStandingWidget_VAlueSingle
|
|
//FLOAT PlacementStandingWidget_VAlueDouble
|
|
//FLOAT PlacementStandingWidget_VAlueTriple
|
|
|
|
FUNC FLOAT GET_POSITION_SYMBOL_XPOS(TEXT_STYLE& NumberTwoStyle, TEXT_STYLE& NumberStyle)
|
|
|
|
// IF PlacementStandingWidget = FALSE
|
|
//
|
|
// START_WIDGET_GROUP("GET_POSITION_SYMBOL_XPOS")
|
|
// ADD_WIDGET_FLOAT_SLIDER("PlacementStandingWidget_VAlueSingle", PlacementStandingWidget_VAlueSingle, -2, 2, 0.001)
|
|
// ADD_WIDGET_FLOAT_SLIDER("PlacementStandingWidget_VAlueDouble", PlacementStandingWidget_VAlueDouble, -2, 2, 0.001)
|
|
// ADD_WIDGET_FLOAT_SLIDER("PlacementStandingWidget_VAlueTriple", PlacementStandingWidget_VAlueTriple, -2, 2, 0.001)
|
|
// STOP_WIDGET_GROUP()
|
|
// PlacementStandingWidget = TRUE
|
|
//
|
|
// ENDIF
|
|
|
|
FLOAT Result
|
|
|
|
|
|
SWITCH NumberTwoStyle.aTextType
|
|
|
|
CASE TEXTTYPE_TS_UI_DASHSINGLE
|
|
Result = (0.930)-0.049+0.048+0.001
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += PlacementStandingWidget_VAlueSingle
|
|
// #ENDIF
|
|
|
|
RETURN Result
|
|
BREAK
|
|
CASE TEXTTYPE_TS_UI_DASHDOUBLE
|
|
IF NumberStyle.aTextType = TEXTTYPE_TS_UI_DASHTRIPLE
|
|
|
|
Result = (0.925)-0.046+0.048-0.001-0.010+0.002
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += PlacementStandingWidget_VAlueTriple
|
|
// #ENDIF
|
|
|
|
ELSE
|
|
Result = (0.925)-0.046+0.048-0.001
|
|
// #IF IS_DEBUG_BUILD
|
|
// Result += PlacementStandingWidget_VAlueDouble
|
|
// #ENDIF
|
|
ENDIF
|
|
|
|
RETURN Result
|
|
BREAK
|
|
|
|
|
|
ENDSWITCH
|
|
RETURN 0.0
|
|
ENDFUNC
|
|
|
|
PROC INIT_SCREEN_GENERAL_DOUBLE_BIG_NUMBER_PLACE(TEXT_STYLE& NumberStyle,TEXT_STYLE& NumberTwoStyle,TEXT_STYLE& PlaceStyle, TEXT_PLACEMENT& TitlePlace, TEXT_PLACEMENT& NumberPlace, TEXT_PLACEMENT& NumberTwoPlace, TEXT_PLACEMENT& ThePlacePlace, UIELEMENTS WhichSpace, TEXT_STYLE& TitleStyle )
|
|
|
|
FLOAT LargeGap = GET_VALUE_OF_GAP(NumberStyle) //0.115
|
|
|
|
TitlePlace.x = 0.795
|
|
TitlePlace.y = GET_Y_SHIFT(WhichSpace)
|
|
|
|
TitlePlace.y += GET_TITLE_OFFSET(TitleStyle)
|
|
|
|
NumberPlace.x = 0.795
|
|
NumberPlace.y = TitlePlace.y+GET_VALUE_TO_TITLE_OFFSET(NumberStyle)
|
|
|
|
NumberTwoPlace.x = 0.795
|
|
NumberTwoPlace.y = TitlePlace.y+GET_VALUE_TO_TITLE_OFFSET(NumberTwoStyle)
|
|
|
|
ThePlacePlace.x = GET_POSITION_SYMBOL_XPOS(NumberTwoStyle, NumberStyle)
|
|
ThePlacePlace.y = TitlePlace.y+GET_VALUE_TO_TITLE_OFFSET(PlaceStyle)
|
|
|
|
|
|
CHANGE_Y_SHIFT_END(WhichSpace, -LargeGap)
|
|
|
|
ENDPROC
|
|
|
|
//TEXT_STYLE TitleStyleWidgetDoublePlace, NumberStyleWidgetDoublePlace, SecondNumberStyleWidgetDoublePlace, PlaceStyleWidgetDoublePlace
|
|
//TEXT_PLACEMENT TitlePlacementWidgetDoublePlace, NumberPlacmentWidgetDoublePlace, SecondNumberPlacementWidgetDoublePlace, PlacePlacmentWidgetDoublePlace
|
|
//SPRITE_PLACEMENT OverlayWidgetBigPlace
|
|
//BOOL DoubleNumberPlaceWidget
|
|
|
|
PROC DRAW_GENERAL_DOUBLE_BIG_NUMBER_PLACE_GUTS(INT Index, TEXT_STYLE& TitleStyle, TEXT_STYLE& NumberStyle,TEXT_STYLE& NumberTwoStyle, TEXT_STYLE& PlaceStyle, TEXT_PLACEMENT& TitlePlace, TEXT_PLACEMENT& NumberPlace,TEXT_PLACEMENT& NumberTwoPlace,TEXT_PLACEMENT& PlacePlace, INT Number, INT Number2, UIELEMENTS WhichSpace, STRING Title, HUD_COLOURS aColour, INT FlashTime, INT TitleNumber,BOOL isPlayer, HUDFLASHING ColourFlashType, INT ColourFlash, HUD_COLOURS FleckColour)
|
|
|
|
MPGlobalsScoreHud.iHowManyDisplays++
|
|
|
|
|
|
IF ColourFlashType = HUDFLASHING_FLASHRED
|
|
ENDIF
|
|
|
|
IF IS_BOTTOM_RIGHT_AREA_FREE()
|
|
|
|
|
|
SPRITE_PLACEMENT Overlays
|
|
SET_SPRITE_PLACEMENT(Overlays, 0.0, 0.0, 0.0, 0.0, 0,0,0,255)
|
|
// SET_SPRITE_PLACEMENT(Overlays[1], 0.0, 0.0, 0.0, 0.0, 0,0,0,255)
|
|
BOOL bDisplayTimerCheckbox
|
|
|
|
// IF DoubleNumberPlaceWidget = FALSE
|
|
//
|
|
// START_WIDGET_GROUP("DOUBLE BIG NUMBER PLACE")
|
|
//
|
|
// CREATE_A_TEXT_PLACEMENT_WIDGET(TitlePlacementWidgetDoublePlace, "TitlePlacementWidgetDoublePlace")
|
|
// CREATE_A_TEXT_PLACEMENT_WIDGET(NumberPlacmentWidgetDoublePlace, "NumberPlacmentWidgetDoublePlace")
|
|
// CREATE_A_TEXT_PLACEMENT_WIDGET(SecondNumberPlacementWidgetDoublePlace, "SecondNumberPlacementWidgetDoublePlace")
|
|
// CREATE_A_TEXT_PLACEMENT_WIDGET(PlacePlacmentWidgetDoublePlace, "PlacePlacmentWidgetDoublePlace")
|
|
//
|
|
// CREATE_A_TEXT_STYLE_WIGET(TitleStyleWidgetDoublePlace, "TitleStyleWidgetDoublePlace")
|
|
// CREATE_A_TEXT_STYLE_WIGET(NumberStyleWidgetDoublePlace, "NumberStyleWidgetDoublePlace")
|
|
// CREATE_A_TEXT_STYLE_WIGET(SecondNumberStyleWidgetDoublePlace, "SecondNumberStyleWidgetDoublePlace")
|
|
// CREATE_A_TEXT_STYLE_WIGET(PlaceStyleWidgetDoublePlace, "PlaceStyleWidgetDoublePlace")
|
|
//
|
|
// STOP_WIDGET_GROUP()
|
|
//
|
|
// START_WIDGET_GROUP("BIG NUMBER PLACE OVERLAY")
|
|
// CREATE_A_SPRITE_PLACEMENT_WIDGET(OverlayWidgetBigPlace, "OverlayWidgetBigPlace")
|
|
//
|
|
// STOP_WIDGET_GROUP()
|
|
// DoubleNumberPlaceWidget = TRUE
|
|
//
|
|
// ENDIF
|
|
|
|
SET_PROGRESSHUD_INIT_DONE(PROGRESSHUD_DOUBLE_NUMBER_PLACE, Index)
|
|
|
|
|
|
|
|
|
|
SET_STANDARD_UI_SINGLE_NUMBER(NumberStyle, DROPSTYLE_NONE)
|
|
|
|
SET_STANDARD_UI_DASHSINGLE(NumberTwoStyle, DROPSTYLE_NONE)
|
|
SET_STANDARD_UI_POSITION_SINGLE_SYMBOL(PlaceStyle, DROPSTYLE_NONE)
|
|
|
|
IF isPlayer
|
|
SET_STANDARD_TIMER_PLYR_NAME_TEXT(TitleStyle, DROPSTYLE_DROPSHADOWONLY)
|
|
ELSE
|
|
SET_STANDARD_SMALL_HUD_TEXT(TitleStyle, DROPSTYLE_NONE)
|
|
ENDIF
|
|
SET_WORD_WRAPPING_TITLE(TitleStyle)
|
|
|
|
//B* Adjust the title WrapEndX coordinate on aspect ratios other than 16:9
|
|
TitleStyle.wrapEndX += 0.03*(1-GET_TIMER_TEXT_ASPECT_RATIO_OFFSET_MULT())
|
|
//CPRINTLN(debug_dan,"moved wrap by ",0.03*(1-GET_TIMER_TEXT_ASPECT_RATIO_OFFSET_MULT())," to ",TitleStyle.wrapEndX )
|
|
|
|
IF Number2 > 99
|
|
SET_WORD_WRAPPING_DASH_TRIPLE_PLACE(NumberStyle)
|
|
ELSE
|
|
SET_WORD_WRAPPING_DASH_SINGLE_PLACE(NumberStyle)
|
|
ENDIF
|
|
SET_WORD_WRAPPING_RIGHTEDGE(NumberTwoStyle)
|
|
SET_WORD_WRAPPING_RIGHTEDGE_AND_PLACE(PlaceStyle)
|
|
|
|
IF MPGlobalsScoreHud.iHowManyDisplays = 1
|
|
SET_Y_SHIFT_START(WhichSpace)
|
|
ENDIF
|
|
INIT_SCREEN_GENERAL_DOUBLE_BIG_NUMBER_PLACE(NumberStyle, NumberTwoStyle, PlaceStyle, TitlePlace, NumberPlace,NumberTwoPlace,PlacePlace, WhichSpace, TitleStyle)
|
|
|
|
|
|
SET_WORD_HUD_COLOUR(NumberStyle, aColour)
|
|
SET_WORD_HUD_COLOUR(NumberTwoStyle, aColour)
|
|
SET_WORD_HUD_COLOUR(PlaceStyle, aColour)
|
|
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
//
|
|
// UPDATE_TEXT_PLACEMENT_WIDGET_VALUE(TitlePlace, TitlePlacementWidgetDoublePlace)
|
|
// UPDATE_TEXT_PLACEMENT_WIDGET_VALUE(NumberPlace, NumberPlacmentWidgetDoublePlace)
|
|
// UPDATE_TEXT_PLACEMENT_WIDGET_VALUE(NumberTwoPlace, SecondNumberPlacementWidgetDoublePlace)
|
|
// UPDATE_TEXT_PLACEMENT_WIDGET_VALUE(PlacePlace, PlacePlacmentWidgetDoublePlace)
|
|
//
|
|
// UPDATE_TEXT_STYLE_WIDGET_VALUE(TitleStyle, TitleStyleWidgetDoublePlace)
|
|
// UPDATE_TEXT_STYLE_WIDGET_VALUE(NumberStyle,NumberStyleWidgetDoublePlace )
|
|
// UPDATE_TEXT_STYLE_WIDGET_VALUE(NumberTwoStyle, SecondNumberStyleWidgetDoublePlace)
|
|
// UPDATE_TEXT_STYLE_WIDGET_VALUE(PlaceStyle,PlaceStyleWidgetDoublePlace)
|
|
//
|
|
// #ENDIF
|
|
|
|
IF FlashTime = 0
|
|
RESET_GENERIC_DOUBLE_NUMBER_PLACE_FLASHING(Index)
|
|
ENDIF
|
|
|
|
IF ColourFlash = 0
|
|
RESET_GENERIC_DOUBLE_NUMBER_PLACE_FLASHING_COLOUR(Index)
|
|
ENDIF
|
|
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBars")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBars")
|
|
|
|
GFX_DRAW_ORDER anOrder = SET_GFX_TIMERS_DRAW_ORDER()
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
|
|
|
|
IF DO_FLASHING(FlashTime, MPGlobalsScoreHud.iFlashing_GenericDoubleNumberPlace_Hud[Index],MPGlobalsScoreHud.iFlashing_GenericDoubleNumberPlace_MiniHud[Index])
|
|
bDisplayTimerCheckbox = TRUE
|
|
ELSE
|
|
bDisplayTimerCheckbox = FALSE
|
|
ENDIF
|
|
|
|
|
|
Overlays.x = TitlePlace.x
|
|
Overlays.y = TitlePlace.y
|
|
|
|
Overlays.x += TIMER_OVERLAY_X
|
|
Overlays.y += TIMER_OVERLAY_Y_BIGNUMPLACE
|
|
Overlays.w += TIMER_OVERLAY_W
|
|
Overlays.h += TIMER_OVERLAY_H_BIGNUMPLACE
|
|
Overlays.r += 255
|
|
Overlays.g += 255
|
|
Overlays.b += 255
|
|
Overlays.a = TIMER_OVERLAY_ALPHA //reduce by 20% 931421
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
Overlays.x += TIMER_OVERLAY_X_NON_ROMANIC_OFFSET
|
|
Overlays.w += TIMER_OVERLAY_W_NON_ROMANIC_OFFSET
|
|
ENDIF
|
|
|
|
MPGlobalsScoreHud.TopOfTimers += Overlays.h
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// UPDATE_SPRITE_WIDGET_VALUE(Overlays, OverlayWidgetBigPlace)
|
|
// #ENDIF
|
|
|
|
|
|
// IF DO_COLOUR_FLASHING(ColourFlash, MPGlobalsScoreHud.iColourFlashing_GenericDoubleNumberPlace_Hud[Index], MPGlobalsScoreHud.iColourFlashing_GenericDoubleNumberPlace_MiniHud[Index])
|
|
//
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
// ELSE
|
|
//
|
|
// SWITCH ColourFlashType
|
|
// CASE HUDFLASHING_FLASHWHITE
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_WHITE_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
// BREAK
|
|
// CASE HUDFLASHING_FLASHRED
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_RED_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
// BREAK
|
|
//
|
|
// DEFAULT
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
//
|
|
// BREAK
|
|
//
|
|
// ENDSWITCH
|
|
// ENDIF
|
|
//
|
|
// IF DO_COLOUR_FLASHING(ColourFlash, MPGlobalsHud.iColourFlashing_GenericDoubleNumberPlace_Hud[Index], MPGlobalsHud.iColourFlashing_GenericDoubleNumberPlace_MiniHud[Index])
|
|
|
|
IF ColourFlash > 0
|
|
SPRITE_PLACEMENT ColourOverlays = Overlays
|
|
IF HAS_NET_TIMER_EXPIRED(MPGlobalsScoreHud.iGoalMetFlashing_GenericDoubleNumberPlace[Index], 2000) = FALSE
|
|
IF HAS_NET_TIMER_EXPIRED_READ_ONLY(MPGlobalsScoreHud.iGoalMetFlashing_GenericDoubleNumberPlace[Index], 1250)
|
|
MPGlobalsScoreHud.iGoalFadeFlashing_GenericDoubleNumberPlace[Index] = MPGlobalsScoreHud.iGoalFadeFlashing_GenericDoubleNumberPlace[Index]-17
|
|
ENDIF
|
|
ColourOverlays.a = MPGlobalsScoreHud.iGoalFadeFlashing_GenericDoubleNumberPlace[Index]
|
|
SET_SPRITE_HUD_COLOUR(ColourOverlays, aColour)
|
|
DRAW_2D_SPRITE("TimerBars", "ALL_WHITE_bg",ColourOverlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
ENDIF
|
|
ELSE
|
|
MPGlobalsScoreHud.iGoalFadeFlashing_GenericDoubleNumberPlace[Index] = 255
|
|
REINIT_NET_TIMER(MPGlobalsScoreHud.iGoalMetFlashing_GenericDoubleNumberPlace[Index])
|
|
ENDIF
|
|
|
|
DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
|
|
// ELSE
|
|
//
|
|
// SWITCH ColourFlashType
|
|
// CASE HUDFLASHING_FLASHWHITE
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
// Overlays.a = 255
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_WHITE_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
//
|
|
// BREAK
|
|
// CASE HUDFLASHING_FLASHRED
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
// Overlays.a = 255
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_RED_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
// BREAK
|
|
//
|
|
// DEFAULT
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
//
|
|
// BREAK
|
|
//
|
|
// ENDSWITCH
|
|
// ENDIF
|
|
|
|
DRAW_ORGANISATION_FLECK(Overlays, FleckColour)
|
|
|
|
anOrder = SET_GFX_TIMERS_DRAW_ORDER()
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
|
|
IF isPlayer
|
|
IF GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE
|
|
OR GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE_SIMPLIFIED
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET_CHINESE
|
|
ELSE
|
|
TitlePlace.y += PLAYERNAME_TITLE_OFFSET
|
|
ENDIF
|
|
ELIF IS_LANGUAGE_NON_ROMANIC()
|
|
IF GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE
|
|
OR GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE_SIMPLIFIED
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET_CHINESE
|
|
ELSE
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET
|
|
ENDIF
|
|
ENDIF
|
|
|
|
SET_TEXT_STYLE(TitleStyle)
|
|
IF IsPlayer = TRUE
|
|
DRAW_TEXT_WITH_PLAYER_NAME(TitlePlace, TitleStyle, Title,"", HUD_COLOUR_WHITE, FONT_RIGHT)
|
|
ELSE
|
|
IF TitleNumber = -1
|
|
DRAW_TEXT_WITH_ALIGNMENT(TitlePlace, TitleStyle, Title, FALSE, TRUE)
|
|
ELSE
|
|
DRAW_TEXT_WITH_NUMBER(TitlePlace, TitleStyle, Title, TitleNumber, FONT_RIGHT)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF bDisplayTimerCheckbox
|
|
|
|
|
|
SET_TEXT_STYLE(NumberStyle)
|
|
SET_TEXT_STYLE(NumberTwoStyle)
|
|
SET_TEXT_STYLE(PlaceStyle)
|
|
|
|
TEXT_LABEL_63 Position = GET_POSITION_STRING(Number)
|
|
|
|
|
|
DRAW_TEXT_WITH_NUMBER(NumberPlace,NumberStyle,"NUMBER", Number,FONT_RIGHT)
|
|
DRAW_TEXT_WITH_NUMBER(NumberTwoPlace,NumberTwoStyle, "TIMER_DASH", Number2, FONT_RIGHT)
|
|
DRAW_TEXT_WITH_ALIGNMENT(PlacePlace, PlaceStyle, Position, FALSE, TRUE)
|
|
ENDIF
|
|
RESET_GFX_TIMERS_DRAW_ORDER()
|
|
ENDIF
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
|
|
PROC ACTUALLY_DRAW_GENERAL_DOUBLE_BIG_NUMBER_PLACE(INT Index, INT CurrentNumber, INT MaxNumber, STRING Title, HUD_COLOURS aColour, INT FlashTime, INT TitleNumber,BOOL isPlayer, HUDFLASHING ColourFlashType, INT ColourFlash, HUD_COLOURS TitleColour, HUD_COLOURS FleckColour, BOOL bCustomFont, TEXT_FONTS eCustomFont)
|
|
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_DOUBLE_NUMBER_PLACE, Index)
|
|
|
|
TEXT_STYLE TitleStyle, NumberStyle//, SecondNumberStyle, PlacementStyle
|
|
TEXT_PLACEMENT TitlePlace, NumberPlace//, SecondNumberPlace, PlacePlace
|
|
|
|
|
|
//
|
|
// DRAW_GENERAL_DOUBLE_BIG_NUMBER_PLACE_GUTS(Index, TitleStyle, NumberStyle,SecondNumberStyle, PlacementStyle,
|
|
// TitlePlace, NumberPlace,SecondNumberPlace,PlacePlace, CurrentNumber, MaxNumber,
|
|
// UIELEMENTS_BOTTOMRIGHT, Title, aColour, FlashTime, TitleNumber, isPlayer,
|
|
// ColourFlashType, ColourFlash)
|
|
//
|
|
|
|
DRAW_GENERAL_SINGLE_SCORE_GUTS(Index, TitleStyle, NumberStyle, TitlePlace, NumberPlace, CurrentNumber, UIELEMENTS_BOTTOMRIGHT,
|
|
Title, aColour, FlashTime, TitleNumber, isPlayer, "", FALSE, 0.0, ColourFlashType, ColourFlash,
|
|
TitleColour, FALSE,MaxNumber,FALSE, ACTIVITY_POWERUP_NONE, HUD_COUNTER_STYLE_DEFAULT, "", DEFAULT,
|
|
FleckColour, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
|
|
DEFAULT, DEFAULT, bCustomFont, eCustomFont)
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
IF g_DisplayTimersDisplaying
|
|
NET_NL()NET_PRINT("ACTUALLY_DRAW_GENERAL_DOUBLE_BIG_NUMBER_PLACE index = ")NET_PRINT_INT(index)
|
|
ENDIF
|
|
#ENDIF
|
|
ENDIF
|
|
|
|
|
|
ENDPROC
|
|
|
|
|
|
|
|
|
|
FUNC BOOL IS_BAR_FREEROAM(FLOAT Xpos, FLOAT Ypos)
|
|
IF Xpos = -1
|
|
AND Ypos = -1
|
|
RETURN FALSE
|
|
ENDIF
|
|
RETURN TRUE
|
|
|
|
ENDFUNC
|
|
|
|
|
|
PROC SET_BAR_SPRITES(SPRITE_PLACEMENT& Sprite[], UIELEMENTS WhichSpace, FLOAT Xpos, FLOAT Ypos)
|
|
|
|
FLOAT BarYPos
|
|
FLOAT BarXPos
|
|
|
|
IF NOT IS_BAR_FREEROAM(Xpos, Ypos)
|
|
BarYPos = GET_BAR_TO_TITLE_OFFSET()+GET_Y_SHIFT(WhichSpace)
|
|
BarXPos = GET_DAMAGE_BAR_TO_TITLE_OFFSET_X() //0.919
|
|
ELSE
|
|
BarYPos = Ypos
|
|
BarXPos = Xpos
|
|
ENDIF
|
|
|
|
Sprite[0].x = BarXPos
|
|
Sprite[0].y = BarYPos
|
|
Sprite[0].w = 0.062
|
|
Sprite[0].h = 0.016
|
|
Sprite[0].r = 255
|
|
Sprite[0].g = 255
|
|
Sprite[0].b = 0
|
|
Sprite[0].a = 250
|
|
|
|
//Masked Sprite
|
|
Sprite[1].x = BarXPos
|
|
Sprite[1].y = BarYPos
|
|
Sprite[1].w = 0.069
|
|
Sprite[1].h = 0.011
|
|
Sprite[1].r = 255
|
|
Sprite[1].g = 255
|
|
Sprite[1].b = 0
|
|
Sprite[1].a = 250
|
|
|
|
|
|
Sprite[2].x = BarXPos
|
|
Sprite[2].y = BarYPos
|
|
Sprite[2].w = 0.069
|
|
Sprite[2].h = 0.009
|
|
Sprite[2].r = 0
|
|
Sprite[2].g = 0
|
|
Sprite[2].b = 0
|
|
Sprite[2].a = 120
|
|
|
|
//Fill rect
|
|
Sprite[3].x = BarXPos
|
|
Sprite[3].y = BarYPos
|
|
Sprite[3].w = 0.069
|
|
Sprite[3].h = 0.008
|
|
Sprite[3].r = 0
|
|
Sprite[3].g = 0
|
|
Sprite[3].b = 0
|
|
Sprite[3].a = 90
|
|
|
|
|
|
ENDPROC
|
|
|
|
|
|
PROC SET_CIRCLE_SPRITES(SPRITE_PLACEMENT& Sprite[], UIELEMENTS WhichSpace, FLOAT Xpos, FLOAT Ypos)
|
|
|
|
FLOAT BarYPos
|
|
FLOAT BarXPos
|
|
|
|
IF NOT IS_BAR_FREEROAM(Xpos, Ypos)
|
|
BarYPos = GET_BAR_TO_TITLE_OFFSET()+GET_Y_SHIFT(WhichSpace)
|
|
BarXPos = GET_CHECKPOINT_TO_TITLE_OFFSET_X() //0.919
|
|
ELSE
|
|
BarYPos = Ypos
|
|
BarXPos = Xpos
|
|
ENDIF
|
|
|
|
//Circle 1
|
|
Sprite[0].x = BarXPos
|
|
Sprite[0].y = BarYPos
|
|
Sprite[0].w = CHECKPOINT_DOT_W
|
|
Sprite[0].h = CHECKPOINT_DOT_H
|
|
Sprite[0].r = 0
|
|
Sprite[0].g = 0
|
|
Sprite[0].b = 0
|
|
Sprite[0].a = 250
|
|
|
|
//Circle 2
|
|
Sprite[1].x = BarXPos
|
|
Sprite[1].y = BarYPos
|
|
Sprite[1].w = CHECKPOINT_DOT_W
|
|
Sprite[1].h = CHECKPOINT_DOT_H
|
|
Sprite[1].r = 0
|
|
Sprite[1].g = 0
|
|
Sprite[1].b = 0
|
|
Sprite[1].a = 250
|
|
|
|
//Circle 3
|
|
Sprite[2].x = BarXPos
|
|
Sprite[2].y = BarYPos
|
|
Sprite[2].w = CHECKPOINT_DOT_W
|
|
Sprite[2].h = CHECKPOINT_DOT_H
|
|
Sprite[2].r = 0
|
|
Sprite[2].g = 0
|
|
Sprite[2].b = 0
|
|
Sprite[2].a = 250
|
|
|
|
//Circle 4
|
|
Sprite[3].x = BarXPos
|
|
Sprite[3].y = BarYPos
|
|
Sprite[3].w = CHECKPOINT_DOT_W
|
|
Sprite[3].h = CHECKPOINT_DOT_H
|
|
Sprite[3].r = 0
|
|
Sprite[3].g = 0
|
|
Sprite[3].b = 0
|
|
Sprite[3].a = 250
|
|
|
|
//Circle 5
|
|
Sprite[4].x = BarXPos
|
|
Sprite[4].y = BarYPos
|
|
Sprite[4].w = CHECKPOINT_DOT_W
|
|
Sprite[4].h = CHECKPOINT_DOT_H
|
|
Sprite[4].r = 0
|
|
Sprite[4].g = 0
|
|
Sprite[4].b = 0
|
|
Sprite[4].a = 250
|
|
|
|
//Circle 6
|
|
Sprite[5].x = BarXPos
|
|
Sprite[5].y = BarYPos
|
|
Sprite[5].w = CHECKPOINT_DOT_W
|
|
Sprite[5].h = CHECKPOINT_DOT_H
|
|
Sprite[5].r = 0
|
|
Sprite[5].g = 0
|
|
Sprite[5].b = 0
|
|
Sprite[5].a = 250
|
|
|
|
//Circle 7
|
|
Sprite[6].x = BarXPos
|
|
Sprite[6].y = BarYPos
|
|
Sprite[6].w = CHECKPOINT_DOT_W
|
|
Sprite[6].h = CHECKPOINT_DOT_H
|
|
Sprite[6].r = 0
|
|
Sprite[6].g = 0
|
|
Sprite[6].b = 0
|
|
Sprite[6].a = 250
|
|
|
|
//Circle 8
|
|
Sprite[7].x = BarXPos
|
|
Sprite[7].y = BarYPos
|
|
Sprite[7].w = CHECKPOINT_DOT_W
|
|
Sprite[7].h = CHECKPOINT_DOT_H
|
|
Sprite[7].r = 0
|
|
Sprite[7].g = 0
|
|
Sprite[7].b = 0
|
|
Sprite[7].a = 250
|
|
|
|
|
|
|
|
ENDPROC
|
|
|
|
|
|
PROC SET_CIRCLE_CHECKPOINT_SPRITES(SPRITE_PLACEMENT& Sprite[], UIELEMENTS WhichSpace, FLOAT Xpos, FLOAT Ypos)
|
|
|
|
FLOAT BarYPos
|
|
FLOAT BarXPos
|
|
|
|
IF NOT IS_BAR_FREEROAM(Xpos, Ypos)
|
|
BarYPos = GET_BAR_TO_TITLE_OFFSET()+GET_Y_SHIFT(WhichSpace)
|
|
BarXPos = GET_CHECKPOINT_TO_TITLE_OFFSET_X() //0.919
|
|
ELSE
|
|
BarYPos = Ypos
|
|
BarXPos = Xpos
|
|
ENDIF
|
|
|
|
//Circle 1
|
|
Sprite[0].x = BarXPos
|
|
Sprite[0].y = BarYPos
|
|
Sprite[0].w = CHECKPOINT_DOT_W
|
|
Sprite[0].h = CHECKPOINT_DOT_H
|
|
Sprite[0].r = 0
|
|
Sprite[0].g = 0
|
|
Sprite[0].b = 0
|
|
Sprite[0].a = 250
|
|
|
|
//Circle 2
|
|
Sprite[1].x = BarXPos
|
|
Sprite[1].y = BarYPos
|
|
Sprite[1].w = CHECKPOINT_DOT_W
|
|
Sprite[1].h = CHECKPOINT_DOT_H
|
|
Sprite[1].r = 0
|
|
Sprite[1].g = 0
|
|
Sprite[1].b = 0
|
|
Sprite[1].a = 250
|
|
|
|
//Circle 3
|
|
Sprite[2].x = BarXPos
|
|
Sprite[2].y = BarYPos
|
|
Sprite[2].w = CHECKPOINT_DOT_W
|
|
Sprite[2].h = CHECKPOINT_DOT_H
|
|
Sprite[2].r = 0
|
|
Sprite[2].g = 0
|
|
Sprite[2].b = 0
|
|
Sprite[2].a = 250
|
|
|
|
//Circle 4
|
|
Sprite[3].x = BarXPos
|
|
Sprite[3].y = BarYPos
|
|
Sprite[3].w = CHECKPOINT_DOT_W
|
|
Sprite[3].h = CHECKPOINT_DOT_H
|
|
Sprite[3].r = 0
|
|
Sprite[3].g = 0
|
|
Sprite[3].b = 0
|
|
Sprite[3].a = 250
|
|
|
|
//Circle 5
|
|
Sprite[4].x = BarXPos
|
|
Sprite[4].y = BarYPos
|
|
Sprite[4].w = CHECKPOINT_DOT_W
|
|
Sprite[4].h = CHECKPOINT_DOT_H
|
|
Sprite[4].r = 0
|
|
Sprite[4].g = 0
|
|
Sprite[4].b = 0
|
|
Sprite[4].a = 250
|
|
|
|
//Circle 6
|
|
Sprite[5].x = BarXPos
|
|
Sprite[5].y = BarYPos
|
|
Sprite[5].w = CHECKPOINT_DOT_W
|
|
Sprite[5].h = CHECKPOINT_DOT_H
|
|
Sprite[5].r = 0
|
|
Sprite[5].g = 0
|
|
Sprite[5].b = 0
|
|
Sprite[5].a = 250
|
|
|
|
//Circle 7
|
|
Sprite[6].x = BarXPos
|
|
Sprite[6].y = BarYPos
|
|
Sprite[6].w = CHECKPOINT_DOT_W
|
|
Sprite[6].h = CHECKPOINT_DOT_H
|
|
Sprite[6].r = 0
|
|
Sprite[6].g = 0
|
|
Sprite[6].b = 0
|
|
Sprite[6].a = 250
|
|
|
|
//Circle 8
|
|
Sprite[7].x = BarXPos
|
|
Sprite[7].y = BarYPos
|
|
Sprite[7].w = CHECKPOINT_DOT_W
|
|
Sprite[7].h = CHECKPOINT_DOT_H
|
|
Sprite[7].r = 0
|
|
Sprite[7].g = 0
|
|
Sprite[7].b = 0
|
|
Sprite[7].a = 250
|
|
|
|
|
|
//Circle 9
|
|
Sprite[8].x = BarXPos
|
|
Sprite[8].y = BarYPos
|
|
Sprite[8].w = CHECKPOINT_DOT_W
|
|
Sprite[8].h = CHECKPOINT_DOT_H
|
|
Sprite[8].r = 0
|
|
Sprite[8].g = 0
|
|
Sprite[8].b = 0
|
|
Sprite[8].a = 250
|
|
|
|
//Circle 10
|
|
Sprite[9].x = BarXPos
|
|
Sprite[9].y = BarYPos
|
|
Sprite[9].w = CHECKPOINT_DOT_W
|
|
Sprite[9].h = CHECKPOINT_DOT_H
|
|
Sprite[9].r = 0
|
|
Sprite[9].g = 0
|
|
Sprite[9].b = 0
|
|
Sprite[9].a = 250
|
|
|
|
|
|
ENDPROC
|
|
|
|
PROC SET_LINE_DIVIDER(RECT& aRECT)
|
|
//First line divider
|
|
aRECT.x = 0.851
|
|
aRECT.y = 0.0750
|
|
aRECT.w = 0.001
|
|
aRECT.h = 0.009
|
|
aRECT.r = 0
|
|
aRECT.g = 0
|
|
aRECT.b = 0
|
|
aRECT.a = 250
|
|
|
|
ENDPROC
|
|
|
|
PROC HIDE_ALL_TOP_RIGHT_HUD(BOOL bHideReticle = TRUE, BOOL bHideWeapon = TRUE)
|
|
HIDE_HUD_COMPONENT_THIS_FRAME(NEW_HUD_CASH)
|
|
IF bHideWeapon
|
|
HIDE_HUD_COMPONENT_THIS_FRAME(NEW_HUD_WEAPON_ICON)
|
|
ENDIF
|
|
IF bHideReticle
|
|
HIDE_HUD_COMPONENT_THIS_FRAME(NEW_HUD_RETICLE)
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC HIDE_ALL_BOTTOM_RIGHT_HUD()
|
|
HIDE_HUD_COMPONENT_THIS_FRAME(NEW_HUD_AREA_NAME)
|
|
HIDE_HUD_COMPONENT_THIS_FRAME(NEW_HUD_VEHICLE_NAME)
|
|
HIDE_HUD_COMPONENT_THIS_FRAME(NEW_HUD_DISTRICT_NAME)
|
|
HIDE_HUD_COMPONENT_THIS_FRAME(NEW_HUD_STREET_NAME)
|
|
ENDPROC
|
|
|
|
PROC INIT_SCREEN_GENERAL_CHECKPOINT(INT MaxNum, TEXT_PLACEMENT& TitlePlace, SPRITE_PLACEMENT& Sprites[],SPRITE_PLACEMENT& Overlays, TEXT_PLACEMENT& NumberPlace,TEXT_STYLE& NumberStyle, RECT& Rects, UIELEMENTS WhichSpace, FLOAT xPos, FLOAT yPos, TEXT_STYLE& TitleStyle, BOOL bBigCheckpoint )
|
|
|
|
|
|
FLOAT TheGap = GET_VALUE_OF_GAP(NumberStyle)
|
|
|
|
IF MaxNum < CHECKPOINT_TIMER_SWITCH
|
|
TheGap = GET_VALUE_OF_GAP_BAR_SPRITE(bBigCheckpoint, FALSE)
|
|
ENDIF
|
|
|
|
TitlePlace.x = 0.795
|
|
TitlePlace.y = GET_Y_SHIFT(WhichSpace)
|
|
|
|
TitlePlace.y += GET_TITLE_OFFSET(TitleStyle)
|
|
|
|
NumberPlace.x = 0.795
|
|
NumberPlace.y = TitlePlace.y+GET_VALUE_TO_TITLE_OFFSET(NumberStyle)
|
|
|
|
SET_CIRCLE_CHECKPOINT_SPRITES(Sprites,WhichSpace, XPos, YPos)
|
|
SET_LINE_DIVIDER(Rects)
|
|
|
|
IF NOT IS_BAR_FREEROAM(Xpos, Ypos)
|
|
CHANGE_Y_SHIFT_END(WhichSpace, -TheGap)
|
|
ENDIF
|
|
|
|
SET_SPRITE_PLACEMENT(Overlays, 0.0, 0.0, 0.0, 0.0, 0,0,0,255)
|
|
|
|
ENDPROC
|
|
|
|
//SPRITE_PLACEMENT OverlayWidgetsCheckpoint
|
|
//BOOL InitCheckpointWidgets
|
|
//TEXT_STYLE CheckpointNumberStyle_Widget
|
|
//TEXT_STYLE CheckpointTitleStyle_Widget
|
|
//TEXT_STYLE CheckpointMultiplyerStyle_Widget
|
|
//
|
|
//TEXT_PLACEMENT CheckpointNumberPlacement_Widget
|
|
//TEXT_PLACEMENT CheckpointMultiplyerPlacement_Widget
|
|
//
|
|
//FLOAT TitleOffset_Widget
|
|
|
|
|
|
PROC DRAW_GENERAL_CHECKPOINT_GUTS(INT index, TEXT_STYLE& TitleStyle, TEXT_PLACEMENT& TitlePlace, SPRITE_PLACEMENT& Sprites[], RECT& aRect,
|
|
TEXT_STYLE& NumberStyle, TEXT_PLACEMENT& NumberPlace, INT Number,
|
|
INT MaxNumber, UIELEMENTS WhichSpace, STRING Title, HUD_COLOURS aColour, INT TitleNumber,BOOL isPlayer, INT FlashTime,
|
|
FLOAT XPos, FLOAT YPos, HUDFLASHING ColourFlashType, INT ColourFlash, BOOL DisplaySingleDot, INT iInBuiltMultiplyer
|
|
#IF USE_TU_CHANGES , BOOL CrossedDot0,BOOL CrossedDot1,BOOL CrossedDot2,BOOL CrossedDot3,BOOL CrossedDot4,BOOL CrossedDot5,BOOL CrossedDot6,BOOL CrossedDot7 #ENDIF,
|
|
HUD_COLOURS FleckColour)
|
|
|
|
|
|
|
|
MPGlobalsScoreHud.iHowManyDisplays++
|
|
|
|
IF IS_BOTTOM_RIGHT_AREA_FREE()
|
|
|
|
IF ColourFlashType = HUDFLASHING_FLASHRED
|
|
ENDIF
|
|
|
|
SPRITE_PLACEMENT Overlays
|
|
TEXT_PLACEMENT InBuiltMultiplyer_Placement
|
|
TEXT_STYLE MultiplyerStyle
|
|
|
|
|
|
|
|
BOOL bDisplayTimerCheckbox
|
|
|
|
// IF InitCheckpointWidgets = FALSE
|
|
// START_WIDGET_GROUP("CHECKPOINT SIZE")
|
|
// CREATE_A_SPRITE_PLACEMENT_WIDGET(OverlayWidgetsCheckpoint, "OverlayWidgetsCheckpoint")
|
|
// CREATE_A_TEXT_STYLE_WIGET(CheckpointNumberStyle_Widget, "CheckpointNumberStyle_Widget")
|
|
// CREATE_A_TEXT_STYLE_WIGET(CheckpointTitleStyle_Widget, "CheckpointTitleStyle_Widget")
|
|
// CREATE_A_TEXT_PLACEMENT_WIDGET(CheckpointNumberPlacement_Widget, "CheckpointNumberPlacement_Widget")
|
|
//
|
|
// CREATE_A_TEXT_PLACEMENT_WIDGET(CheckpointMultiplyerPlacement_Widget, "CheckpointMultiplyerPlacement_Widget")
|
|
// CREATE_A_TEXT_STYLE_WIGET(CheckpointMultiplyerStyle_Widget, "CheckpointMultiplyerStyle_Widget")
|
|
// ADD_WIDGET_FLOAT_SLIDER("TitleOffset_Widget", TitleOffset_Widget, -1, 1, 0.001)
|
|
// STOP_WIDGET_GROUP()
|
|
//
|
|
// InitCheckpointWidgets = TRUE
|
|
//
|
|
//
|
|
// ENDIF
|
|
|
|
SET_PROGRESSHUD_INIT_DONE(PROGRESSHUD_CHECKPOINT, Index)
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
|
|
// IF isPlayer
|
|
// SET_STANDARD_TIMER_PLYR_NAME_TEXT(TitleStyle, DROPSTYLE_DROPSHADOWONLY)
|
|
// ELSE
|
|
SET_STANDARD_UI_METER_BIG_TITLE(TitleStyle, DROPSTYLE_NONE)
|
|
// ENDIF
|
|
|
|
ELSE
|
|
|
|
IF isPlayer
|
|
SET_STANDARD_TIMER_PLYR_NAME_TEXT(TitleStyle, DROPSTYLE_DROPSHADOWONLY)
|
|
ELSE
|
|
SET_STANDARD_SMALL_HUD_TEXT(TitleStyle, DROPSTYLE_NONE)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
SET_STANDARD_SMALL_HUD_TEXT(MultiplyerStyle, DROPSTYLE_NONE)
|
|
MultiplyerStyle.YScale += 0.166+0.095
|
|
|
|
|
|
IF MPGlobalsScoreHud.iHowManyDisplays = 1
|
|
SET_Y_SHIFT_START(WhichSpace)
|
|
ENDIF
|
|
|
|
SET_STANDARD_UI_TIMERNUMBER_THREESET(NumberStyle, DROPSTYLE_NONE)
|
|
SET_WORD_WRAPPING_RIGHTEDGE(NumberStyle)
|
|
SET_TEXT_STYLE(NumberStyle)
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// UPDATE_TEXT_STYLE_WIDGET_VALUE(NumberStyle, CheckpointNumberStyle_Widget)
|
|
// UPDATE_TEXT_STYLE_WIDGET_VALUE(TitleStyle, CheckpointTitleStyle_Widget)
|
|
// UPDATE_TEXT_PLACEMENT_WIDGET_VALUE(NumberPlace,CheckpointNumberPlacement_Widget)
|
|
//
|
|
//
|
|
// #ENDIF
|
|
|
|
BOOL bBigCheckpoint = FALSE
|
|
IF iInBuiltMultiplyer > 0
|
|
bBigCheckpoint = TRUE
|
|
ENDIF
|
|
|
|
INIT_SCREEN_GENERAL_CHECKPOINT(MaxNumber, TitlePlace, Sprites, Overlays,NumberPlace, NumberStyle, aRect, WhichSpace, XPos, YPos, TitleStyle, bBigCheckpoint)
|
|
|
|
InBuiltMultiplyer_Placement.x = TitlePlace.x
|
|
InBuiltMultiplyer_Placement.y = TitlePlace.y
|
|
|
|
InBuiltMultiplyer_Placement.y += -0.006-0.007
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// UPDATE_TEXT_STYLE_WIDGET_VALUE(MultiplyerStyle, CheckpointMultiplyerStyle_Widget)
|
|
// UPDATE_TEXT_PLACEMENT_WIDGET_VALUE(InBuiltMultiplyer_Placement,CheckpointMultiplyerPlacement_Widget)
|
|
//
|
|
// #ENDIF
|
|
|
|
SET_WORD_WRAPPING_TITLE(TitleStyle)
|
|
|
|
//B* Adjust the title WrapEndX coordinate on aspect ratios other than 16:9
|
|
TitleStyle.wrapEndX += 0.03*(1-GET_TIMER_TEXT_ASPECT_RATIO_OFFSET_MULT())
|
|
//CPRINTLN(debug_dan,"moved wrap by ",0.03*(1-GET_TIMER_TEXT_ASPECT_RATIO_OFFSET_MULT())," to ",TitleStyle.wrapEndX )
|
|
|
|
SET_WORD_WRAPPING_MULTIPLYER(MultiplyerStyle)
|
|
|
|
IF FlashTime = 0
|
|
RESET_GENERIC_CHECKPOINT_FLASHING(Index)
|
|
ENDIF
|
|
|
|
IF ColourFlash = 0
|
|
RESET_GENERIC_CHECKPOINT_FLASHING_COLOUR(Index)
|
|
ENDIF
|
|
|
|
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBars")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBars")
|
|
|
|
GFX_DRAW_ORDER anOrder = SET_GFX_TIMERS_DRAW_ORDER()
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
|
|
IF DO_FLASHING(FlashTime, MPGlobalsScoreHud.iFlashing_GenericCheckpoint_Hud[index],MPGlobalsScoreHud.iFlashing_GenericCheckpoint_MiniHud[index])
|
|
bDisplayTimerCheckbox = TRUE
|
|
ELSE
|
|
bDisplayTimerCheckbox = FALSE
|
|
ENDIF
|
|
|
|
IF NOT IS_BAR_FREEROAM(Xpos, Ypos)
|
|
Overlays.x = TitlePlace.x
|
|
Overlays.y = TitlePlace.y
|
|
|
|
IF MaxNumber < CHECKPOINT_TIMER_SWITCH
|
|
AND iInBuiltMultiplyer = 0
|
|
Overlays.x += TIMER_OVERLAY_X
|
|
Overlays.y += TIMER_OVERLAY_Y_SPRITES
|
|
Overlays.w += TIMER_OVERLAY_W
|
|
Overlays.h += TIMER_OVERLAY_H_SPRITES
|
|
Overlays.r += 255
|
|
Overlays.g += 255
|
|
Overlays.b += 255
|
|
Overlays.a = TIMER_OVERLAY_ALPHA //reduce by 20% 931421 //reduce furhter 1291727
|
|
|
|
|
|
ELSE
|
|
Overlays.x += TIMER_OVERLAY_X
|
|
Overlays.y += TIMER_OVERLAY_Y_TIME
|
|
Overlays.w += TIMER_OVERLAY_W
|
|
Overlays.h += TIMER_OVERLAY_H_TIME
|
|
Overlays.r += 255
|
|
Overlays.g += 255
|
|
Overlays.b += 255
|
|
Overlays.a = TIMER_OVERLAY_ALPHA //reduce by 20% 931421
|
|
ENDIF
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
Overlays.x += TIMER_OVERLAY_X_NON_ROMANIC_OFFSET
|
|
Overlays.w += TIMER_OVERLAY_W_NON_ROMANIC_OFFSET
|
|
ENDIF
|
|
|
|
MPGlobalsScoreHud.TopOfTimers += Overlays.h
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// UPDATE_SPRITE_WIDGET_VALUE(Overlays, OverlayWidgetsCheckpoint)
|
|
// #ENDIF
|
|
|
|
|
|
|
|
|
|
// IF DO_COLOUR_FLASHING(ColourFlash, MPGlobalsScoreHud.iColourFlashing_GenericCheckpoint_Hud[Index], MPGlobalsScoreHud.iColourFlashing_GenericCheckpoint_MiniHud[Index])
|
|
|
|
IF (Number = MaxNumber
|
|
AND Number > 0)
|
|
OR ColourFlash > 0
|
|
SPRITE_PLACEMENT ColourOverlays = Overlays
|
|
IF HAS_NET_TIMER_EXPIRED(MPGlobalsScoreHud.iGoalMetFlashing_GenericCheckpoint[Index], 2000) = FALSE
|
|
IF HAS_NET_TIMER_EXPIRED_READ_ONLY(MPGlobalsScoreHud.iGoalMetFlashing_GenericCheckpoint[Index], 1250)
|
|
MPGlobalsScoreHud.iGoalFadeFlashing_GenericCheckpoint[Index] = MPGlobalsScoreHud.iGoalFadeFlashing_GenericCheckpoint[Index]-17
|
|
ENDIF
|
|
ColourOverlays.a = MPGlobalsScoreHud.iGoalFadeFlashing_GenericCheckpoint[Index]
|
|
SET_SPRITE_HUD_COLOUR(ColourOverlays, aColour)
|
|
DRAW_2D_SPRITE("TimerBars", "ALL_WHITE_bg",ColourOverlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
ENDIF
|
|
ELSE
|
|
MPGlobalsScoreHud.iGoalFadeFlashing_GenericCheckpoint[Index] = 255
|
|
REINIT_NET_TIMER(MPGlobalsScoreHud.iGoalMetFlashing_GenericCheckpoint[Index])
|
|
ENDIF
|
|
|
|
DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
|
|
// ELSE
|
|
//
|
|
// SWITCH ColourFlashType
|
|
// CASE HUDFLASHING_FLASHWHITE
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
// Overlays.a = 255
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_WHITE_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
//
|
|
// BREAK
|
|
// CASE HUDFLASHING_FLASHRED
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
// Overlays.a = 255
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_RED_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
// BREAK
|
|
//
|
|
// DEFAULT
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
//
|
|
// BREAK
|
|
//
|
|
// ENDSWITCH
|
|
// ENDIF
|
|
ENDIF
|
|
|
|
DRAW_ORGANISATION_FLECK(Overlays, FleckColour)
|
|
|
|
IF isPlayer
|
|
|
|
IF GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE
|
|
OR GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE_SIMPLIFIED
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET_LITTLE_CHINESE
|
|
ELSE
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET_LITTLE
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC() = FALSE
|
|
TitlePlace.y += -0.002
|
|
ENDIF
|
|
|
|
ENDIF
|
|
|
|
ELIF IS_LANGUAGE_NON_ROMANIC()
|
|
|
|
IF GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE
|
|
OR GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE_SIMPLIFIED
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET_LITTLE_CHINESE
|
|
ELSE
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET_LITTLE
|
|
ENDIF
|
|
|
|
|
|
|
|
ENDIF
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// TitlePlace.y += TitleOffset_Widget
|
|
// #ENDIF
|
|
|
|
anOrder = SET_GFX_TIMERS_DRAW_ORDER()
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
|
|
IF NOT IS_BAR_FREEROAM(Xpos, Ypos)
|
|
SET_TEXT_STYLE(TitleStyle)
|
|
|
|
IF isPlayer = TRUE
|
|
DRAW_TEXT_WITH_PLAYER_NAME(TitlePlace, TitleStyle, Title, "", HUD_COLOUR_WHITE, FONT_RIGHT)
|
|
ELSE
|
|
IF TitleNumber = -1
|
|
DRAW_TEXT_WITH_ALIGNMENT(TitlePlace, TitleStyle, Title, FALSE, TRUE)
|
|
ELSE
|
|
DRAW_TEXT_WITH_NUMBER(TitlePlace, TitleStyle, Title, TitleNumber, FONT_RIGHT)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF iInBuiltMultiplyer > 0
|
|
|
|
|
|
|
|
DRAW_TEXT_WITH_NUMBER(InBuiltMultiplyer_Placement, MultiplyerStyle, "HUD_MULTSMAL", iInBuiltMultiplyer, FONT_RIGHT)
|
|
ENDIF
|
|
|
|
|
|
IF bDisplayTimerCheckbox
|
|
RUN_CHECKPOINT_GUTS(Number, MaxNumber, Sprites, NumberStyle, NumberPlace, aColour, anOrder, DisplaySingleDot
|
|
#IF USE_TU_CHANGES , CrossedDot0, CrossedDot1, CrossedDot2, CrossedDot3, CrossedDot4, CrossedDot5, CrossedDot6, CrossedDot7 #ENDIF)
|
|
ENDIF
|
|
|
|
RESET_GFX_TIMERS_DRAW_ORDER()
|
|
ENDIF
|
|
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC ACTUALLY_DRAW_GENERAL_CHECKPOINT(INT index, INT CurrentNumber, INT MaxNumber, STRING Title, HUD_COLOURS aColour, INT TitleNumber, BOOL IsPlayer, INT FlashTime, FLOAT XPos, FLOAT YPos, HUDFLASHING ColourFlashType, INT ColourFlash, INT inBuiltMultiplyer
|
|
#IF USE_TU_CHANGES , BOOL CrossedDot1,BOOL CrossedDot2,BOOL CrossedDot3,BOOL CrossedDot4,BOOL CrossedDot5,BOOL CrossedDot6,BOOL CrossedDot7,BOOL CrossedDot8 #ENDIF, HUD_COLOURS FleckColour)
|
|
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_CHECKPOINT, Index)
|
|
|
|
TEXT_STYLE TitleStyle
|
|
TEXT_PLACEMENT TitlePlacement
|
|
SPRITE_PLACEMENT CheckpointSprites[11]
|
|
TEXT_STYLE NumberStyle
|
|
TEXT_PLACEMENT NumberPlacement
|
|
RECT CheckpointRect
|
|
|
|
|
|
// IF MaxNumber < 11
|
|
DRAW_GENERAL_CHECKPOINT_GUTS(index, TitleStyle, TitlePlacement, CheckpointSprites, CheckpointRect, NumberStyle, NumberPlacement, CurrentNumber, MaxNumber, UIELEMENTS_BOTTOMRIGHT, Title, aColour, TitleNumber, IsPlayer, FlashTime, XPos, YPos, ColourFlashType, ColourFlash, TRUE, inBuiltMultiplyer
|
|
#IF USE_TU_CHANGES , CrossedDot1,CrossedDot2,CrossedDot3,CrossedDot4,CrossedDot5,CrossedDot6,CrossedDot7, CrossedDot8 #ENDIF, FleckColour)
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
IF g_DisplayTimersDisplaying
|
|
NET_NL()NET_PRINT("ACTUALLY_DRAW_GENERAL_CHECKPOINT index = ")NET_PRINT_INT(index)
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
|
|
// ELSE
|
|
// NET_NL()NET_PRINT("DRAW_GENERIC_CHECKPOINT MaxNumber needs to be 10 or less. If you need something bigger I'd recommend DRAW_GENERIC_BIG_NUMBER. ")
|
|
// ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
PROC INIT_SCREEN_GENERAL_METER(TEXT_PLACEMENT& TitlePlace, SPRITE_PLACEMENT& Sprites[],SPRITE_PLACEMENT& Overlays,UIELEMENTS WhichSpace, FLOAT Xpos, FLOAT YPos, TEXT_STYLE& TitleStyle, BOOL bBigMeter )
|
|
|
|
|
|
FLOAT TheGap = GET_VALUE_OF_GAP_BAR_SPRITE(bBigMeter, FALSE)
|
|
|
|
TitlePlace.x = 0.795
|
|
TitlePlace.y = GET_Y_SHIFT(WhichSpace)
|
|
|
|
TitlePlace.y += GET_TITLE_OFFSET(TitleStyle)
|
|
|
|
SET_BAR_SPRITES(Sprites, WhichSpace, XPos, YPos)
|
|
|
|
IF NOT IS_BAR_FREEROAM(Xpos, Ypos)
|
|
CHANGE_Y_SHIFT_END(WhichSpace, -TheGap)
|
|
ENDIF
|
|
|
|
SET_SPRITE_PLACEMENT(Overlays, 0.0, 0.0, 0.0, 0.0, 0,0,0,255)
|
|
|
|
ENDPROC
|
|
|
|
FUNC BOOL IS_VALID_GFX_DRAW_ORDER(GFX_DRAW_ORDER eGFXDrawOrder)
|
|
RETURN (eGFXDrawOrder >= GFX_ORDER_BEFORE_HUD_PRIORITY_LOW AND eGFXDrawOrder <= GFX_ORDER_AFTER_FADE_PRIORITY_HIGH)
|
|
ENDFUNC
|
|
|
|
//SPRITE_PLACEMENT OverlayWidgetsMeter
|
|
//TEXT_STYLE MeterTitleStyleWidgetsMeter
|
|
//TEXT_PLACEMENT MeterTitlePLACEMENTWidgetsMeter
|
|
//BOOL MeterGutsWidget
|
|
//FLOAT MeterTitleOffsetWidget
|
|
|
|
PROC DRAW_GENERAL_METER_GUTS(INT index, TEXT_STYLE& TitleStyle, TEXT_PLACEMENT& TitlePlace, SPRITE_PLACEMENT& Sprites[], INT Number, INT MaxNumber, UIELEMENTS WhichSpace, STRING Title, HUD_COLOURS aColour, INT TitleNumber,BOOL isPlayer, INT FlashTime, FLOAT Xpos, FLOAT YPos, BOOL OnlyZeroIsEmpty, HUDFLASHING ColourFlashType, INT ColourFlash, BOOL bBigMeter, INT iDrawRedDangerZonePercent = 0, BOOL isLiteralString=FALSE, PERCENTAGE_METER_LINE PercentageLine = PERCENTAGE_METER_LINE_NONE, HUD_COLOURS FleckColour = HUD_COLOUR_PURE_WHITE, HUD_COLOURS TextColour = HUD_COLOUR_PURE_WHITE, BOOL bDrawLineUnderName = FALSE, HUD_COLOURS LineUnderNameColour = HUD_COLOUR_WHITE, BOOL MakeBarUrgent = FALSE, INT iUrgentPercentage = 0, HUD_COLOURS PulseToColour = HUD_COLOUR_WHITE, INT iPulseTime = -1, BOOL bUseScoreTitle = FALSE, FLOAT fNumber = -1.0, FLOAT fMaxNumber = -1.0, BOOL bUseSecondaryBar = FALSE, HUD_COLOURS eSecondaryBarColour = HUD_COLOUR_WHITE, FLOAT fSecondaryBarPercentage = 0.0, BOOL bTransparentSecBarIntersectingMainBar = FALSE, HUD_COLOURS eSecBarPulseToColour = HUD_COLOUR_WHITE, INT iSecBarPulseTime = -1, FLOAT fSecBarStartPercentage = 0.0, INT iGFXDrawOrder = -1, BOOL bCapMaxPercentage = TRUE)
|
|
|
|
MPGlobalsScoreHud.iHowManyDisplays++
|
|
|
|
IF IS_BOTTOM_RIGHT_AREA_FREE()
|
|
|
|
IF ColourFlashType = HUDFLASHING_FLASHRED
|
|
ENDIF
|
|
|
|
SPRITE_PLACEMENT Overlays
|
|
|
|
BOOL bDisplayTimerCheckbox
|
|
//
|
|
// IF MeterGutsWidget = FALSE
|
|
//
|
|
// START_WIDGET_GROUP("DAMAGE METER")
|
|
//
|
|
// CREATE_A_SPRITE_PLACEMENT_WIDGET(OverlayWidgetsMeter, "OverlayWidgetsMeter")
|
|
// CREATE_A_TEXT_STYLE_WIGET(MeterTitleStyleWidgetsMeter, "MeterTitleStyleWidgetsMeter")
|
|
// CREATE_A_TEXT_PLACEMENT_WIDGET(MeterTitlePLACEMENTWidgetsMeter, "MeterTitlePLACEMENTWidgetsMeter")
|
|
//
|
|
// ADD_WIDGET_FLOAT_SLIDER("MeterTitleOffsetWidget", MeterTitleOffsetWidget, -5, 5, 0.001)
|
|
//
|
|
// STOP_WIDGET_GROUP()
|
|
//
|
|
// MeterGutsWidget = TRUE
|
|
//
|
|
// ENDIF
|
|
|
|
|
|
|
|
SET_PROGRESSHUD_INIT_DONE(PROGRESSHUD_METER, Index)
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
// IF isPlayer
|
|
// SET_STANDARD_TIMER_PLYR_NAME_TEXT(TitleStyle, DROPSTYLE_DROPSHADOWONLY)
|
|
// ELSE
|
|
IF bBigMeter
|
|
SET_STANDARD_UI_METER_BIG_TITLE_NON_ROMAN(TitleStyle, DROPSTYLE_NONE)
|
|
ELSE
|
|
SET_STANDARD_UI_METER_BIG_TITLE(TitleStyle, DROPSTYLE_NONE)
|
|
ENDIF
|
|
// ENDIF
|
|
ELSE
|
|
IF isLiteralString
|
|
SET_STANDARD_SMALL_HUD_TEXT(TitleStyle, DROPSTYLE_NONE)
|
|
ELSE
|
|
IF isPlayer
|
|
SET_STANDARD_TIMER_PLYR_NAME_TEXT(TitleStyle, DROPSTYLE_DROPSHADOWONLY)
|
|
ELSE
|
|
IF bBigMeter
|
|
SET_STANDARD_UI_METER_BIG_TITLE_WAVE(TitleStyle, DROPSTYLE_NONE)
|
|
ELSE
|
|
SET_STANDARD_SMALL_HUD_TEXT(TitleStyle, DROPSTYLE_NONE)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF MPGlobalsScoreHud.iHowManyDisplays = 1
|
|
SET_Y_SHIFT_START(WhichSpace)
|
|
ENDIF
|
|
INIT_SCREEN_GENERAL_METER(TitlePlace, Sprites,Overlays, WhichSpace, Xpos, YPos, TitleStyle, bBigMeter)
|
|
|
|
SET_WORD_WRAPPING_TITLE(TitleStyle)
|
|
|
|
//B* Adjust the title WrapEndX coordinate on aspect ratios other than 16:9
|
|
TitleStyle.wrapEndX += 0.03*(1-GET_TIMER_TEXT_ASPECT_RATIO_OFFSET_MULT())
|
|
//CPRINTLN(debug_dan,"moved wrap by ",0.03*(1-GET_TIMER_TEXT_ASPECT_RATIO_OFFSET_MULT())," to ",TitleStyle.wrapEndX )
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// UPDATE_TEXT_STYLE_WIDGET_VALUE(TitleStyle, MeterTitleStyleWidgetsMeter)
|
|
//
|
|
// #ENDIF
|
|
|
|
|
|
|
|
|
|
IF FlashTime = 0
|
|
RESET_GENERIC_METER_FLASHING(Index)
|
|
ENDIF
|
|
|
|
IF ColourFlash = 0
|
|
RESET_GENERIC_METER_FLASHING_COLOUR(Index)
|
|
ENDIF
|
|
|
|
IF DO_FLASHING(FlashTime, MPGlobalsScoreHud.iFlashing_GenericMeter_Hud[index],MPGlobalsScoreHud.iFlashing_GenericMeter_MiniHud[index])
|
|
bDisplayTimerCheckbox = TRUE
|
|
ELSE
|
|
bDisplayTimerCheckbox = FALSE
|
|
ENDIF
|
|
|
|
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBars")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBars")
|
|
|
|
GFX_DRAW_ORDER anOrder = SET_GFX_TIMERS_DRAW_ORDER()
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
|
|
IF NOT IS_BAR_FREEROAM(Xpos, Ypos)
|
|
Overlays.x = TitlePlace.x
|
|
Overlays.y = TitlePlace.y
|
|
|
|
IF bBigMeter
|
|
Overlays.x += TIMER_OVERLAY_X
|
|
Overlays.y += TIMER_OVERLAY_Y_BIGMETER
|
|
Overlays.w += TIMER_OVERLAY_W
|
|
Overlays.h += TIMER_OVERLAY_H_BIGMETER
|
|
Overlays.r += 255
|
|
Overlays.g += 255
|
|
Overlays.b += 255
|
|
Overlays.a = TIMER_OVERLAY_ALPHA //reduce by 20% 931421
|
|
ELSE
|
|
Overlays.x += TIMER_OVERLAY_X
|
|
Overlays.y += TIMER_OVERLAY_Y_SPRITES
|
|
Overlays.w += TIMER_OVERLAY_W
|
|
Overlays.h += TIMER_OVERLAY_H_SPRITES
|
|
Overlays.r += 255
|
|
Overlays.g += 255
|
|
Overlays.b += 255
|
|
Overlays.a = TIMER_OVERLAY_ALPHA //reduce by 20% 931421
|
|
|
|
|
|
ENDIF
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
Overlays.x += TIMER_OVERLAY_X_NON_ROMANIC_OFFSET
|
|
Overlays.w += TIMER_OVERLAY_W_NON_ROMANIC_OFFSET
|
|
ENDIF
|
|
|
|
|
|
MPGlobalsScoreHud.TopOfTimers += Overlays.h
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// UPDATE_SPRITE_WIDGET_VALUE(Overlays, OverlayWidgetsMeter)
|
|
// #ENDIF
|
|
|
|
// IF DO_COLOUR_FLASHING(ColourFlash, MPGlobalsScoreHud.iColourFlashing_GenericMeter_Hud[Index], MPGlobalsScoreHud.iColourFlashing_GenericMeter_MiniHud[Index])
|
|
//
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
// ELSE
|
|
//
|
|
// SWITCH ColourFlashType
|
|
// CASE HUDFLASHING_FLASHWHITE
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_WHITE_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
// BREAK
|
|
// CASE HUDFLASHING_FLASHRED
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_RED_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
// BREAK
|
|
//
|
|
// DEFAULT
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
//
|
|
// BREAK
|
|
//
|
|
// ENDSWITCH
|
|
// ENDIF
|
|
|
|
|
|
|
|
// IF DO_COLOUR_FLASHING(ColourFlash, MPGlobalsmeterHud.iColourFlashing_Genericmeter_Hud[Index], MPGlobalsmeterHud.iColourFlashing_Genericmeter_MiniHud[Index])
|
|
|
|
IF ColourFlash > 0
|
|
SPRITE_PLACEMENT ColourOverlays = Overlays
|
|
IF HAS_NET_TIMER_EXPIRED(MPGlobalsScoreHud.iGoalMetFlashing_GenericMeter[Index], 2000) = FALSE
|
|
IF HAS_NET_TIMER_EXPIRED_READ_ONLY(MPGlobalsScoreHud.iGoalMetFlashing_GenericMeter[Index], 1250)
|
|
MPGlobalsScoreHud.iGoalFadeFlashing_GenericMeter[Index] = MPGlobalsScoreHud.iGoalFadeFlashing_GenericMeter[Index]-17
|
|
ENDIF
|
|
ColourOverlays.a = MPGlobalsScoreHud.iGoalFadeFlashing_GenericMeter[Index]
|
|
SET_SPRITE_HUD_COLOUR(ColourOverlays, aColour)
|
|
DRAW_2D_SPRITE("TimerBars", "ALL_WHITE_bg",ColourOverlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
ENDIF
|
|
ELSE
|
|
MPGlobalsScoreHud.iGoalFadeFlashing_GenericMeter[Index] = 255
|
|
REINIT_NET_TIMER(MPGlobalsScoreHud.iGoalMetFlashing_GenericMeter[Index])
|
|
ENDIF
|
|
|
|
DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
|
|
// ELSE
|
|
//
|
|
// SWITCH ColourFlashType
|
|
// CASE HUDFLASHING_FLASHWHITE
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
// Overlays.a = 255
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_WHITE_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
//
|
|
// BREAK
|
|
// CASE HUDFLASHING_FLASHRED
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
// Overlays.a = 255
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_RED_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
// BREAK
|
|
//
|
|
// DEFAULT
|
|
// DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
//
|
|
// BREAK
|
|
//
|
|
// ENDSWITCH
|
|
// ENDIF
|
|
|
|
ENDIF
|
|
|
|
DRAW_ORGANISATION_FLECK(Overlays, FleckColour)
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// UPDATE_TEXT_PLACEMENT_WIDGET_VALUE(TitlePlace, MeterTitlePLACEMENTWidgetsMeter)
|
|
// #ENDIF
|
|
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
IF bBigMeter
|
|
TitlePlace.y += -0.010
|
|
|
|
|
|
ELIF isPlayer
|
|
IF GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE
|
|
OR GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE_SIMPLIFIED
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET_LITTLE_CHINESE
|
|
ELSE
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET_LITTLE
|
|
|
|
ENDIF
|
|
ELSE
|
|
IF bBigMeter = FALSE
|
|
IF GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE
|
|
OR GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE_SIMPLIFIED
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET_LITTLE_CHINESE
|
|
ELSE
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET_LITTLE
|
|
ENDIF
|
|
ELSE
|
|
IF GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE
|
|
OR GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE_SIMPLIFIED
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET_CHINESE
|
|
ELSE
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDIF
|
|
ELSE
|
|
|
|
IF bBigMeter
|
|
TitlePlace.y += -0.010+0.0022+0.001
|
|
|
|
ELIF isPlayer
|
|
TitlePlace.y += -0.005+0.001
|
|
TitlePlace.y += -0.002
|
|
|
|
ENDIF
|
|
|
|
|
|
ENDIF
|
|
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// TitlePlace.y += MeterTitleOffsetWidget
|
|
// #ENDIF
|
|
|
|
anOrder = SET_GFX_TIMERS_DRAW_ORDER()
|
|
IF (iGFXDrawOrder != -1)
|
|
IF IS_VALID_GFX_DRAW_ORDER(INT_TO_ENUM(GFX_DRAW_ORDER, iGFXDrawOrder))
|
|
anOrder = INT_TO_ENUM(GFX_DRAW_ORDER, iGFXDrawOrder)
|
|
ENDIF
|
|
ENDIF
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
|
|
IF NOT IS_BAR_FREEROAM(Xpos, Ypos)
|
|
|
|
IF isLiteralString
|
|
SET_TEXT_COLOUR_WITH_HUD_COLOUR(TitleStyle, aColour)
|
|
SET_TEXT_STYLE(TitleStyle)
|
|
DRAW_TEXT_WITH_PLAYER_NAME(TitlePlace, TitleStyle, Title, "", TextColour, FONT_RIGHT)
|
|
ELSE
|
|
IF isPlayer = TRUE
|
|
SET_TEXT_COLOUR_WITH_HUD_COLOUR(TitleStyle, aColour)
|
|
SET_TEXT_STYLE(TitleStyle)
|
|
DRAW_TEXT_WITH_PLAYER_NAME(TitlePlace, TitleStyle, Title, "", TextColour, FONT_RIGHT)
|
|
ELSE
|
|
SET_TEXT_COLOUR_WITH_HUD_COLOUR(TitleStyle, TextColour)
|
|
SET_TEXT_STYLE(TitleStyle)
|
|
|
|
IF bUseScoreTitle
|
|
DRAW_TEXT_AND_NUMBERS_WITH_ALIGNMENT(TitlePlace, TitleStyle, Title, FALSE, TRUE, Number, MaxNumber)
|
|
ELSE
|
|
IF TitleNumber = -1
|
|
DRAW_TEXT_WITH_ALIGNMENT(TitlePlace, TitleStyle, Title, FALSE, TRUE)
|
|
ELSE
|
|
DRAW_TEXT_WITH_NUMBER(TitlePlace, TitleStyle, Title, TitleNumber, FONT_RIGHT)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF bDrawLineUnderName
|
|
FLOAT BarYPos
|
|
FLOAT BarXPos
|
|
SPRITE_PLACEMENT LineSprite
|
|
|
|
IF NOT IS_BAR_FREEROAM(Xpos, Ypos)
|
|
BarYPos = GET_BAR_TO_TITLE_OFFSET()+GET_Y_SHIFT(WhichSpace)
|
|
BarXPos = GET_DAMAGE_BAR_TO_TITLE_OFFSET_X()
|
|
ELSE
|
|
BarYPos = Ypos
|
|
BarXPos = Xpos
|
|
ENDIF
|
|
|
|
LineSprite.y = BarYPos+0.0486
|
|
LineSprite.x = BarXPos-0.0505
|
|
LineSprite.w = 0.180
|
|
LineSprite.h = 0.01
|
|
LineSprite.r = 255
|
|
LineSprite.g = 255
|
|
LineSprite.b = 255
|
|
LineSprite.a = 255
|
|
|
|
SET_SPRITE_HUD_COLOUR(LineSprite, LineUnderNameColour)
|
|
DRAW_2D_SPRITE("TimerBars", "TPBar", LineSprite, FALSE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
ENDIF
|
|
|
|
anOrder = SET_GFX_TIMERS_DRAW_ORDER()
|
|
IF (iGFXDrawOrder != -1)
|
|
IF IS_VALID_GFX_DRAW_ORDER(INT_TO_ENUM(GFX_DRAW_ORDER, iGFXDrawOrder))
|
|
anOrder = INT_TO_ENUM(GFX_DRAW_ORDER, iGFXDrawOrder)
|
|
ENDIF
|
|
ENDIF
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
|
|
IF bDisplayTimerCheckbox
|
|
IF bBigMeter
|
|
RUN_BIG_METER_GUTS(Number, MaxNumber, Sprites, aColour, OnlyZeroIsEmpty, anOrder, PercentageLine, MPGlobalsScoreHud.iColourPulsing_GenericMeter_Hud[Index], MPGlobalsScoreHud.iColourPulsing_GenericMeter_SecBarHud[Index], fNumber, fMaxNumber, PulseToColour, iPulseTime, bUseSecondaryBar, eSecondaryBarColour, fSecondaryBarPercentage, bTransparentSecBarIntersectingMainBar, eSecBarPulseToColour, iSecBarPulseTime, bCapMaxPercentage)
|
|
ELSE
|
|
RUN_METER_GUTS(Number, MaxNumber, Sprites, aColour, OnlyZeroIsEmpty, anOrder, MPGlobalsScoreHud.iColourPulsing_GenericMeter_Hud[Index], MPGlobalsScoreHud.iColourPulsing_GenericMeter_SecBarHud[Index], iDrawRedDangerZonePercent, PercentageLine, MakeBarUrgent, iUrgentPercentage, fNumber, fMaxNumber, PulseToColour, iPulseTime, bUseSecondaryBar, eSecondaryBarColour, fSecondaryBarPercentage, bTransparentSecBarIntersectingMainBar, eSecBarPulseToColour, iSecBarPulseTime, fSecBarStartPercentage, bCapMaxPercentage)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
RESET_GFX_TIMERS_DRAW_ORDER()
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
//PRINTLN("DRAW_GENERAL_METER_GUTS: Timebars dictionary has loaded") BC: spammy and only really need to know when it fails.
|
|
#ENDIF
|
|
ELSE
|
|
#IF IS_DEBUG_BUILD
|
|
PRINTLN("DRAW_GENERAL_METER_GUTS: Timebars dictionary has NOT loaded")
|
|
#ENDIF
|
|
ENDIF
|
|
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC ACTUALLY_DRAW_GENERAL_METER(INT index, INT CurrentNumber, INT MaxNumber, STRING Title, HUD_COLOURS aColour, INT FlashTime, FLOAT Xpos, FLOAT YPos, BOOL isPlayer, INT TitleNumber, BOOL OnlyZeroIsEmpty, HUDFLASHING ColourFlashType, INT ColourFlash, BOOL BigMeter, INT iDrawRedDangerZonePercent , BOOL isLiteralString, PERCENTAGE_METER_LINE PercentageLine , HUD_COLOURS FleckColour, HUD_COLOURS TextColour, BOOL bDrawLineUnderName, HUD_COLOURS LineUnderNameColour, BOOL MakeBarUrgent, INT iUrgentPercentage, HUD_COLOURS PulseToColour, INT iPulseTime, BOOL bUseScoreTitle, FLOAT fCurrentNumber, FLOAT fMaxNumber, BOOL bUseSecondaryBar, HUD_COLOURS eSecondaryBarColour, FLOAT fSecondaryBarPercentage, BOOL bTransparentSecBarIntersectingMainBar, HUD_COLOURS eSecBarPulseToColour, INT iSecBarPulseTime, FLOAT fSecBarStartPercentage = 0.0, INT iGFXDrawOrder = -1, BOOL bCapMaxPercentage = TRUE)
|
|
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_METER, Index)
|
|
|
|
|
|
TEXT_STYLE TitleStyle
|
|
TEXT_PLACEMENT TitlePlacement
|
|
SPRITE_PLACEMENT MeterSprites[4]
|
|
|
|
|
|
|
|
DRAW_GENERAL_METER_GUTS(index, TitleStyle, TitlePlacement, MeterSprites, CurrentNumber, MaxNumber, UIELEMENTS_BOTTOMRIGHT, Title, aColour,TitleNumber, isPlayer, FlashTime, XPos, YPos, OnlyZeroIsEmpty, ColourFlashType, ColourFlash, BigMeter, iDrawRedDangerZonePercent, isLiteralString, PercentageLine, FleckColour, TextColour, bDrawLineUnderName, LineUnderNameColour, MakeBarUrgent, iUrgentPercentage, PulseToColour, iPulseTime, bUseScoreTitle, fCurrentNumber, fMaxNumber, bUseSecondaryBar, eSecondaryBarColour, fSecondaryBarPercentage, bTransparentSecBarIntersectingMainBar, eSecBarPulseToColour, iSecBarPulseTime, fSecBarStartPercentage, iGFXDrawOrder, bCapMaxPercentage)
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
IF g_DisplayTimersDisplaying
|
|
NET_NL()NET_PRINT("ACTUALLY_DRAW_GENERAL_METER index = ")NET_PRINT_INT(index)
|
|
ENDIF
|
|
#ENDIF
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PROC INIT_SCREEN_GENERAL_SPRITE_METER(TEXT_PLACEMENT& TitlePlace, SPRITE_PLACEMENT& Sprites[],SPRITE_PLACEMENT& Overlays,UIELEMENTS WhichSpace, TEXT_STYLE& TitleStyle)
|
|
|
|
|
|
FLOAT TheGap = GET_VALUE_OF_GAP_BAR_SPRITE(FALSE, TRUE)
|
|
|
|
TitlePlace.x = 0.795
|
|
TitlePlace.y = GET_Y_SHIFT(WhichSpace)
|
|
|
|
TitlePlace.y += GET_TITLE_OFFSET(TitleStyle)
|
|
|
|
SET_BAR_SPRITES(Sprites, WhichSpace, -1, -1)
|
|
|
|
|
|
CHANGE_Y_SHIFT_END(WhichSpace, -TheGap)
|
|
|
|
|
|
SET_SPRITE_PLACEMENT(Overlays, 0.0, 0.0, 0.0, 0.0, 0,0,0,255)
|
|
|
|
ENDPROC
|
|
|
|
//SPRITE_PLACEMENT OverlayWidgetsMeter
|
|
//TEXT_STYLE MeterTitleStyleWidgetsMeter
|
|
//TEXT_PLACEMENT MeterTitlePLACEMENTWidgetsMeter
|
|
//BOOL MeterGutsWidget
|
|
//FLOAT MeterTitleOffsetWidget
|
|
|
|
PROC DRAW_GENERAL_SPRITE_METER_GUTS(INT index, TEXT_STYLE& TitleStyle, TEXT_PLACEMENT& TitlePlace, SPRITE_PLACEMENT& Sprites[], INT Number, INT MaxNumber, UIELEMENTS WhichSpace, STRING Title, HUD_COLOURS aColour, INT TitleNumber,BOOL isPlayer, INT FlashTime, BOOL OnlyZeroIsEmpty, HUDFLASHING ColourFlashType, INT ColourFlash,STRING spriteName, STRING dictionaryName, BOOL isLiteralString=FALSE, HUD_COLOURS FleckColour = HUD_COLOUR_PURE_WHITE, HUD_COLOURS TextColour = HUD_COLOUR_WHITE)
|
|
|
|
MPGlobalsScoreHud.iHowManyDisplays++
|
|
|
|
IF IS_BOTTOM_RIGHT_AREA_FREE()
|
|
|
|
IF ColourFlashType = HUDFLASHING_FLASHRED
|
|
ENDIF
|
|
|
|
SPRITE_PLACEMENT Overlays
|
|
|
|
BOOL bDisplayTimerCheckbox
|
|
|
|
// IF MeterGutsWidget = FALSE
|
|
//
|
|
// START_WIDGET_GROUP("DAMAGE METER")
|
|
//
|
|
// CREATE_A_SPRITE_PLACEMENT_WIDGET(OverlayWidgetsMeter, "OverlayWidgetsMeter")
|
|
// CREATE_A_TEXT_STYLE_WIGET(MeterTitleStyleWidgetsMeter, "MeterTitleStyleWidgetsMeter")
|
|
// CREATE_A_TEXT_PLACEMENT_WIDGET(MeterTitlePLACEMENTWidgetsMeter, "MeterTitlePLACEMENTWidgetsMeter")
|
|
//
|
|
// ADD_WIDGET_FLOAT_SLIDER("MeterTitleOffsetWidget", MeterTitleOffsetWidget, -5, 5, 0.001)
|
|
//
|
|
// STOP_WIDGET_GROUP()
|
|
//
|
|
// MeterGutsWidget = TRUE
|
|
//
|
|
// ENDIF
|
|
|
|
|
|
|
|
SET_PROGRESSHUD_INIT_DONE(PROGRESSHUD_SPRITE_METER, Index)
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
SET_STANDARD_UI_METER_BIG_TITLE(TitleStyle, DROPSTYLE_NONE)
|
|
ELSE
|
|
IF isLiteralString
|
|
SET_STANDARD_SMALL_HUD_TEXT(TitleStyle, DROPSTYLE_NONE)
|
|
ELSE
|
|
IF isPlayer
|
|
SET_STANDARD_TIMER_PLYR_NAME_TEXT(TitleStyle, DROPSTYLE_DROPSHADOWONLY)
|
|
ELSE
|
|
SET_STANDARD_SMALL_HUD_TEXT(TitleStyle, DROPSTYLE_NONE)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF MPGlobalsScoreHud.iHowManyDisplays = 1
|
|
SET_Y_SHIFT_START(WhichSpace)
|
|
ENDIF
|
|
INIT_SCREEN_GENERAL_SPRITE_METER(TitlePlace, Sprites,Overlays, WhichSpace, TitleStyle)
|
|
|
|
SET_WORD_WRAPPING_TITLE(TitleStyle)
|
|
|
|
//B* Adjust the title WrapEndX coordinate on aspect ratios other than 16:9
|
|
TitleStyle.wrapEndX += 0.03*(1-GET_TIMER_TEXT_ASPECT_RATIO_OFFSET_MULT())
|
|
//CPRINTLN(debug_dan,"moved wrap by ",0.03*(1-GET_TIMER_TEXT_ASPECT_RATIO_OFFSET_MULT())," to ",TitleStyle.wrapEndX )
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// UPDATE_TEXT_STYLE_WIDGET_VALUE(TitleStyle, MeterTitleStyleWidgetsMeter)
|
|
//
|
|
// #ENDIF
|
|
|
|
|
|
|
|
|
|
IF FlashTime = 0
|
|
RESET_GENERIC_METER_FLASHING(Index)
|
|
ENDIF
|
|
|
|
IF ColourFlash = 0
|
|
RESET_GENERIC_METER_FLASHING_COLOUR(Index)
|
|
ENDIF
|
|
|
|
IF DO_FLASHING(FlashTime, MPGlobalsScoreHud.iFlashing_GenericMeter_Hud[index],MPGlobalsScoreHud.iFlashing_GenericMeter_MiniHud[index])
|
|
bDisplayTimerCheckbox = TRUE
|
|
ELSE
|
|
bDisplayTimerCheckbox = FALSE
|
|
ENDIF
|
|
|
|
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBars")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBars")
|
|
|
|
GFX_DRAW_ORDER anOrder = SET_GFX_TIMERS_DRAW_ORDER()
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
|
|
|
|
Overlays.x = TitlePlace.x
|
|
Overlays.y = TitlePlace.y
|
|
|
|
|
|
Overlays.x += TIMER_OVERLAY_X
|
|
Overlays.y += TIMER_OVERLAY_Y_SPRITEMETER
|
|
Overlays.w += TIMER_OVERLAY_W
|
|
Overlays.h += TIMER_OVERLAY_H_SPRITEMETER
|
|
Overlays.r += 255
|
|
Overlays.g += 255
|
|
Overlays.b += 255
|
|
Overlays.a = TIMER_OVERLAY_ALPHA //reduce by 20% 931421
|
|
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
Overlays.x += TIMER_OVERLAY_X_NON_ROMANIC_OFFSET
|
|
Overlays.w += TIMER_OVERLAY_W_NON_ROMANIC_OFFSET
|
|
ENDIF
|
|
|
|
|
|
MPGlobalsScoreHud.TopOfTimers += Overlays.h
|
|
|
|
IF ColourFlash > 0
|
|
SPRITE_PLACEMENT ColourOverlays = Overlays
|
|
IF HAS_NET_TIMER_EXPIRED(MPGlobalsScoreHud.iGoalMetFlashing_GenericMeter[Index], 2000) = FALSE
|
|
IF HAS_NET_TIMER_EXPIRED_READ_ONLY(MPGlobalsScoreHud.iGoalMetFlashing_GenericMeter[Index], 1250)
|
|
MPGlobalsScoreHud.iGoalFadeFlashing_GenericMeter[Index] = MPGlobalsScoreHud.iGoalFadeFlashing_GenericMeter[Index]-17
|
|
ENDIF
|
|
ColourOverlays.a = MPGlobalsScoreHud.iGoalFadeFlashing_GenericMeter[Index]
|
|
SET_SPRITE_HUD_COLOUR(ColourOverlays, aColour)
|
|
DRAW_2D_SPRITE("TimerBars", "ALL_WHITE_bg",ColourOverlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
ENDIF
|
|
ELSE
|
|
MPGlobalsScoreHud.iGoalFadeFlashing_GenericMeter[Index] = 255
|
|
REINIT_NET_TIMER(MPGlobalsScoreHud.iGoalMetFlashing_GenericMeter[Index])
|
|
ENDIF
|
|
|
|
DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
|
|
|
|
|
|
|
|
DRAW_ORGANISATION_FLECK(Overlays, FleckColour)
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// UPDATE_TEXT_PLACEMENT_WIDGET_VALUE(TitlePlace, MeterTitlePLACEMENTWidgetsMeter)
|
|
// #ENDIF
|
|
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
|
|
IF isPlayer
|
|
IF GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE
|
|
OR GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE_SIMPLIFIED
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET_LITTLE_CHINESE
|
|
ELSE
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET_LITTLE
|
|
|
|
ENDIF
|
|
ELSE
|
|
|
|
IF GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE
|
|
OR GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE_SIMPLIFIED
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET_CHINESE
|
|
ELSE
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET
|
|
ENDIF
|
|
|
|
|
|
ENDIF
|
|
ELSE
|
|
|
|
|
|
IF isPlayer
|
|
TitlePlace.y += -0.005+0.001
|
|
ENDIF
|
|
|
|
ENDIF
|
|
|
|
|
|
|
|
anOrder = SET_GFX_TIMERS_DRAW_ORDER()
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
|
|
|
|
|
|
IF isLiteralString
|
|
SET_TEXT_COLOUR_WITH_HUD_COLOUR(TitleStyle, aColour)
|
|
SET_TEXT_STYLE(TitleStyle)
|
|
DRAW_TEXT_WITH_PLAYER_NAME(TitlePlace, TitleStyle, Title, "", TextColour, FONT_RIGHT)
|
|
ELSE
|
|
IF isPlayer = TRUE
|
|
SET_TEXT_COLOUR_WITH_HUD_COLOUR(TitleStyle, aColour)
|
|
SET_TEXT_STYLE(TitleStyle)
|
|
DRAW_TEXT_WITH_PLAYER_NAME(TitlePlace, TitleStyle, Title, "", TextColour, FONT_RIGHT)
|
|
ELSE
|
|
SET_TEXT_STYLE(TitleStyle)
|
|
IF TitleNumber = -1
|
|
DRAW_TEXT_WITH_ALIGNMENT(TitlePlace, TitleStyle, Title, FALSE, TRUE)
|
|
ELSE
|
|
DRAW_TEXT_WITH_NUMBER(TitlePlace, TitleStyle, Title, TitleNumber, FONT_RIGHT)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
|
|
anOrder = SET_GFX_TIMERS_DRAW_ORDER()
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
|
|
IF bDisplayTimerCheckbox
|
|
RUN_SPRITE_METER_GUTS(Number, MaxNumber, Sprites, aColour, OnlyZeroIsEmpty, anOrder)
|
|
RUN_SPRITE_METER_SPRITE(spriteName, Sprites, anOrder, dictionaryName)
|
|
ENDIF
|
|
|
|
RESET_GFX_TIMERS_DRAW_ORDER()
|
|
ENDIF
|
|
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC ACTUALLY_DRAW_GENERAL_SPRITE_METER(INT index, INT CurrentNumber, INT MaxNumber, STRING Title, HUD_COLOURS aColour, INT FlashTime, BOOL isPlayer, INT TitleNumber, BOOL OnlyZeroIsEmpty, HUDFLASHING ColourFlashType, INT ColourFlash,STRING spriteName, STRING dictionaryName, BOOL isLiteralString, HUD_COLOURS FleckColour, HUD_COLOURS TextColour)
|
|
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_SPRITE_METER, Index)
|
|
|
|
|
|
TEXT_STYLE TitleStyle
|
|
TEXT_PLACEMENT TitlePlacement
|
|
SPRITE_PLACEMENT MeterSprites[4]
|
|
|
|
|
|
|
|
DRAW_GENERAL_SPRITE_METER_GUTS(index, TitleStyle, TitlePlacement, MeterSprites, CurrentNumber, MaxNumber, UIELEMENTS_BOTTOMRIGHT, Title, aColour,TitleNumber, isPlayer, FlashTime, OnlyZeroIsEmpty, ColourFlashType, ColourFlash,spriteName, dictionaryName, isLiteralString, FleckColour, TextColour)
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
IF g_DisplayTimersDisplaying
|
|
NET_NL()NET_PRINT("ACTUALLY_DRAW_GENERAL_SPRITE_METER index = ")NET_PRINT_INT(index)
|
|
ENDIF
|
|
#ENDIF
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PROC INIT_SCREEN_GENERAL_ELIMINATION(TEXT_PLACEMENT& TitlePlace, SPRITE_PLACEMENT& Sprites[],SPRITE_PLACEMENT& Overlays,RECT& aRect, UIELEMENTS WhichSpace, FLOAT XPOS, FLOAT YPOS, TEXT_STYLE& TitleStyle )
|
|
|
|
FLOAT TheGap = GET_VALUE_OF_GAP_BAR_SPRITE(FALSE, FALSE)
|
|
|
|
TitlePlace.x = 0.795
|
|
TitlePlace.y = GET_Y_SHIFT(WhichSpace)
|
|
|
|
TitlePlace.y += GET_TITLE_OFFSET(TitleStyle)
|
|
|
|
SET_CIRCLE_SPRITES(Sprites, WhichSpace, XPOS, YPOS)
|
|
SET_LINE_DIVIDER(aRect)
|
|
|
|
IF NOT IS_BAR_FREEROAM(Xpos, Ypos)
|
|
CHANGE_Y_SHIFT_END(WhichSpace, -TheGap)
|
|
ENDIF
|
|
|
|
SET_SPRITE_PLACEMENT(Overlays, 0.0, 0.0, 0.0, 0.0, 0,0,0,255)
|
|
|
|
ENDPROC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//SPRITE_PLACEMENT OverlayWidgetsElim
|
|
//BOOL isEliminationWidget
|
|
//FLOAT EliminationTitleOffsetWidget
|
|
|
|
PROC DRAW_GENERAL_ELIMINATION_GUTS(INT index, TEXT_STYLE& TitleStyle, TEXT_PLACEMENT& TitlePlace, SPRITE_PLACEMENT& Sprites[], RECT& aRect, INT MaxNumber,
|
|
UIELEMENTS WhichSpace, HUD_COLOURS aColourFirst, HUD_COLOURS aColourSecond, STRING Title, INT VisibleBoxes,
|
|
BOOL IsActive1, BOOL IsActive2,BOOL IsActive3,BOOL IsActive4,BOOL IsActive5,
|
|
BOOL IsActive6,BOOL IsActive7,BOOL IsActive8, INT FlashTime, INT TitleNumber,BOOL isPlayer, FLOAT XPOS, FLOAT YPOS,
|
|
HUD_COLOURS Box1Colour,HUD_COLOURS Box2Colour, HUD_COLOURS Box3Colour, HUD_COLOURS Box4Colour, HUD_COLOURS Box5Colour,
|
|
HUD_COLOURS Box6Colour, HUD_COLOURS Box7Colour, HUD_COLOURS Box8Colour, HUD_COLOURS Box1Colour_Inactive,
|
|
HUD_COLOURS Box2Colour_Inactive, HUD_COLOURS Box3Colour_Inactive, HUD_COLOURS Box4Colour_Inactive, HUD_COLOURS Box5Colour_Inactive,
|
|
HUD_COLOURS Box6Colour_Inactive, HUD_COLOURS Box7Colour_Inactive, HUD_COLOURS Box8Colour_Inactive,
|
|
HUDFLASHING ColourFlashType, INT ColourFlash, HUD_COLOURS TitleColour = HUD_COLOUR_PURE_WHITE
|
|
#IF USE_TU_CHANGES , BOOL Crossed0 = FALSE, BOOL Crossed1 = FALSE, BOOL Crossed2 = FALSE, BOOL Crossed3 = FALSE, BOOL Crossed4 = FALSE, BOOL Crossed5 = FALSE, BOOL Crossed6 = FALSE, BOOL Crossed7 = FALSE #ENDIF, BOOL bUseNonPlayerFont = FALSE,
|
|
HUD_COLOURS FleckColour = HUD_COLOUR_PURE_WHITE #IF USE_TU_CHANGES , HUD_COLOURS CrossedDot0Colour = HUD_COLOUR_BLACK, HUD_COLOURS CrossedDot1Colour = HUD_COLOUR_BLACK, HUD_COLOURS CrossedDot2Colour = HUD_COLOUR_BLACK,
|
|
HUD_COLOURS CrossedDot3Colour = HUD_COLOUR_BLACK, HUD_COLOURS CrossedDot4Colour = HUD_COLOUR_BLACK, HUD_COLOURS CrossedDot5Colour = HUD_COLOUR_BLACK, HUD_COLOURS CrossedDot6Colour = HUD_COLOUR_BLACK, HUD_COLOURS CrossedDot7Colour = HUD_COLOUR_BLACK #ENDIF)
|
|
|
|
MPGlobalsScoreHud.iHowManyDisplays++
|
|
|
|
// TEXT_STYLE ButtonStyle
|
|
// TEXT_PLACEMENT ButtonPlacement
|
|
|
|
// STRING PadButtonString
|
|
|
|
|
|
IF IS_BOTTOM_RIGHT_AREA_FREE()
|
|
|
|
IF ColourFlashType = HUDFLASHING_FLASHRED
|
|
ENDIF
|
|
|
|
|
|
|
|
|
|
|
|
SPRITE_PLACEMENT Overlays
|
|
|
|
BOOL bDisplayTimerCheckbox
|
|
|
|
// IF isEliminationWidget = FALSE
|
|
// START_WIDGET_GROUP("ELIMINATION OVERLAY")
|
|
//
|
|
// CREATE_A_SPRITE_PLACEMENT_WIDGET(OverlayWidgetsElim, "OverlayWidgetsElim")
|
|
// ADD_WIDGET_FLOAT_SLIDER("EliminationTitleOffsetWidget", EliminationTitleOffsetWidget, -5, 5, 0.001)
|
|
// STOP_WIDGET_GROUP()
|
|
// isEliminationWidget = TRUE
|
|
//
|
|
// ENDIF
|
|
|
|
|
|
SET_PROGRESSHUD_INIT_DONE(PROGRESSHUD_ELIMINATION, Index)
|
|
|
|
|
|
IF MPGlobalsScoreHud.iHowManyDisplays = 1
|
|
SET_Y_SHIFT_START(WhichSpace)
|
|
ENDIF
|
|
|
|
INIT_SCREEN_GENERAL_ELIMINATION(TitlePlace, Sprites, Overlays, aRect, WhichSpace, XPos, YPos, TitleStyle)
|
|
|
|
|
|
|
|
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
|
|
// IF isPlayer
|
|
// SET_STANDARD_TIMER_PLYR_NAME_TEXT(TitleStyle, DROPSTYLE_DROPSHADOWONLY)
|
|
// ELSE
|
|
SET_STANDARD_UI_METER_BIG_TITLE(TitleStyle, DROPSTYLE_NONE)
|
|
// ENDIF
|
|
|
|
ELSE
|
|
IF bUseNonPlayerFont
|
|
SET_STANDARD_SMALL_HUD_TEXT(TitleStyle, DROPSTYLE_NONE)
|
|
ELIF isPlayer
|
|
SET_STANDARD_TIMER_PLYR_NAME_TEXT(TitleStyle, DROPSTYLE_DROPSHADOWONLY)
|
|
ELSE
|
|
SET_STANDARD_SMALL_HUD_TEXT(TitleStyle, DROPSTYLE_NONE)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
SET_WORD_WRAPPING_TITLE(TitleStyle)
|
|
|
|
//B* Adjust the title WrapEndX coordinate on aspect ratios other than 16:9
|
|
TitleStyle.wrapEndX += 0.03*(1-GET_TIMER_TEXT_ASPECT_RATIO_OFFSET_MULT())
|
|
//CPRINTLN(debug_dan,"moved wrap by ",0.03*(1-GET_TIMER_TEXT_ASPECT_RATIO_OFFSET_MULT())," to ",TitleStyle.wrapEndX )
|
|
|
|
|
|
IF FlashTime = 0
|
|
RESET_GENERIC_ELIMINATION_FLASHING(Index)
|
|
ENDIF
|
|
|
|
IF ColourFlash = 0
|
|
RESET_GENERIC_ELIMINATION_FLASHING_COLOUR(Index)
|
|
ENDIF
|
|
|
|
|
|
GFX_DRAW_ORDER anOrder = SET_GFX_TIMERS_DRAW_ORDER()
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
|
|
|
|
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBars")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBars")
|
|
|
|
|
|
|
|
IF DO_FLASHING(FlashTime, MPGlobalsScoreHud.iFlashing_GenericElimination_Hud[index],MPGlobalsScoreHud.iFlashing_GenericElimination_MiniHud[index])
|
|
bDisplayTimerCheckbox = TRUE
|
|
ELSE
|
|
bDisplayTimerCheckbox = FALSE
|
|
ENDIF
|
|
|
|
IF NOT IS_BAR_FREEROAM(Xpos, Ypos)
|
|
Overlays.x = TitlePlace.x
|
|
Overlays.y = TitlePlace.y
|
|
// Overlays[1].x = TitlePlace.x
|
|
// Overlays[1].y = TitlePlace.y
|
|
|
|
Overlays.x += TIMER_OVERLAY_X
|
|
Overlays.y += TIMER_OVERLAY_Y_SPRITES
|
|
Overlays.w += TIMER_OVERLAY_W
|
|
Overlays.h += TIMER_OVERLAY_H_SPRITES
|
|
Overlays.r += 255
|
|
Overlays.g += 255
|
|
Overlays.b += 255
|
|
Overlays.a = TIMER_OVERLAY_ALPHA //reduce by 20% 931421
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
Overlays.x += TIMER_OVERLAY_X_NON_ROMANIC_OFFSET
|
|
Overlays.w += TIMER_OVERLAY_W_NON_ROMANIC_OFFSET
|
|
ENDIF
|
|
|
|
MPGlobalsScoreHud.TopOfTimers += Overlays.h
|
|
|
|
//
|
|
// #IF IS_DEBUG_BUILD
|
|
// UPDATE_SPRITE_WIDGET_VALUE(Overlays, OverlayWidgetsElim)
|
|
// #ENDIF
|
|
|
|
|
|
|
|
IF ColourFlash > 0
|
|
SPRITE_PLACEMENT ColourOverlays = Overlays
|
|
IF HAS_NET_TIMER_EXPIRED(MPGlobalsScoreHud.iGoalMetFlashing_GenericElimination[Index], 2000) = FALSE
|
|
IF HAS_NET_TIMER_EXPIRED_READ_ONLY(MPGlobalsScoreHud.iGoalMetFlashing_GenericElimination[Index], 1250)
|
|
MPGlobalsScoreHud.iGoalFadeFlashing_GenericElimination[Index] = MPGlobalsScoreHud.iGoalFadeFlashing_GenericElimination[Index]-17
|
|
ENDIF
|
|
ColourOverlays.a = MPGlobalsScoreHud.iGoalFadeFlashing_GenericElimination[Index]
|
|
SET_SPRITE_HUD_COLOUR(ColourOverlays, aColourFirst)
|
|
DRAW_2D_SPRITE("TimerBars", "ALL_WHITE_bg",ColourOverlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
ENDIF
|
|
ELSE
|
|
MPGlobalsScoreHud.iGoalFadeFlashing_GenericElimination[Index] = 255
|
|
REINIT_NET_TIMER(MPGlobalsScoreHud.iGoalMetFlashing_GenericElimination[Index])
|
|
ENDIF
|
|
|
|
DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg",Overlays, TRUE, HIGHLIGHT_OPTION_NORMAL, anOrder)
|
|
|
|
|
|
ENDIF
|
|
|
|
DRAW_ORGANISATION_FLECK(Overlays, FleckColour)
|
|
|
|
anOrder = SET_GFX_TIMERS_DRAW_ORDER()
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
SET_TEXT_COLOUR_WITH_HUD_COLOUR(TitleStyle, TitleColour)
|
|
|
|
IF GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE
|
|
OR GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE_SIMPLIFIED
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET_LITTLE_CHINESE
|
|
ELSE
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET_LITTLE
|
|
ENDIF
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
IF GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE
|
|
OR GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE_SIMPLIFIED
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET_LITTLE_CHINESE
|
|
ELSE
|
|
TitlePlace.y += TITLE_NON_ROMANIC_OFFSET_LITTLE_DOTS
|
|
ENDIF
|
|
|
|
ENDIF
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC() = FALSE
|
|
IF bUseNonPlayerFont
|
|
TitlePlace.y += 0.003
|
|
ELIF isPlayer
|
|
TitlePlace.y += -0.002
|
|
ENDIF
|
|
ELSE
|
|
|
|
IF isPlayer
|
|
TitlePlace.y += 0.007
|
|
ELSE
|
|
TitlePlace.y += 0.003
|
|
ENDIF
|
|
ENDIF
|
|
|
|
// #IF Is_DEBUG_BUILD
|
|
// TitlePlace.y += EliminationTitleOffsetWidget
|
|
//
|
|
// #ENDIF
|
|
|
|
IF NOT IS_BAR_FREEROAM(Xpos, Ypos)
|
|
SET_TEXT_STYLE(TitleStyle)
|
|
|
|
IF bUseNonPlayerFont
|
|
|
|
DRAW_TEXT_WITH_PLAYER_NAME(TitlePlace, TitleStyle, Title,"", TitleColour, FONT_RIGHT)
|
|
|
|
ELIF isPlayer = TRUE
|
|
|
|
DRAW_TEXT_WITH_PLAYER_NAME(TitlePlace, TitleStyle, Title,"", TitleColour, FONT_RIGHT)
|
|
|
|
|
|
|
|
ELSE
|
|
IF TitleNumber = -1
|
|
DRAW_TEXT_WITH_ALIGNMENT(TitlePlace, TitleStyle, Title, FALSE, TRUE)
|
|
ELSE
|
|
TitlePlace.y -= TITLE_NON_ROMANIC_OFFSET_LITTLE
|
|
DRAW_TEXT_WITH_NUMBER(TitlePlace, TitleStyle, Title, TitleNumber, FONT_RIGHT)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF bDisplayTimerCheckbox
|
|
|
|
RUN_ELIMINATION_GUTS(MaxNumber, Sprites, aColourFirst, aColourSecond, VisibleBoxes,
|
|
IsActive1, IsActive2, IsActive3, IsActive4, IsActive5, IsActive6, IsActive7, IsActive8,
|
|
Box1Colour, Box2Colour, Box3Colour, Box4Colour, Box5Colour, Box6Colour, Box7Colour, Box8Colour,
|
|
Box1Colour_Inactive, Box2Colour_Inactive, Box3Colour_Inactive, Box4Colour_Inactive, Box5Colour_Inactive,
|
|
Box6Colour_Inactive, Box7Colour_Inactive, Box8Colour_Inactive, anOrder
|
|
#IF USE_TU_CHANGES , Crossed0, Crossed1, Crossed2, Crossed3, Crossed4, Crossed5, Crossed6, Crossed7,
|
|
CrossedDot0Colour, CrossedDot1Colour, CrossedDot2Colour, CrossedDot3Colour, CrossedDot4Colour, CrossedDot5Colour, CrossedDot6Colour, CrossedDot7Colour #ENDIF)
|
|
|
|
ENDIF
|
|
|
|
RESET_GFX_TIMERS_DRAW_ORDER()
|
|
|
|
ENDIF
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC ACTUALLY_DRAW_GENERAL_ELIMINATION(INT Index, INT MaxNumber, STRING Title, HUD_COLOURS FirstColour,HUD_COLOURS SecondColour , INT iVisibleBoxes, BOOL Active1, BOOL Active2, BOOL Active3, BOOL Active4, BOOL Active5, BOOL Active6, BOOL Active7, BOOL Active8, INT FlashTime,
|
|
INT TitleNumber, BOOL ISPlayer, FLOAT XPOS, FLOAT YPOS,
|
|
HUD_COLOURS Box1Colour,HUD_COLOURS Box2Colour, HUD_COLOURS Box3Colour, HUD_COLOURS Box4Colour, HUD_COLOURS Box5Colour, HUD_COLOURS Box6Colour, HUD_COLOURS Box7Colour, HUD_COLOURS Box8Colour,
|
|
HUD_COLOURS Box1Colour_Inactive ,HUD_COLOURS Box2Colour_Inactive, HUD_COLOURS Box3Colour_Inactive, HUD_COLOURS Box4Colour_Inactive, HUD_COLOURS Box5Colour_Inactive, HUD_COLOURS Box6Colour_Inactive, HUD_COLOURS Box7Colour_Inactive,
|
|
HUD_COLOURS Box8Colour_Inactive, HUDFLASHING ColourFlashType, INT ColourFlash, HUD_COLOURS TitleColour
|
|
#IF USE_TU_CHANGES , BOOL Crossed0, BOOL Crossed1, BOOL Crossed2, BOOL Crossed3, BOOL Crossed4, BOOL Crossed5, BOOL Crossed6, BOOL Crossed7 #ENDIF, BOOL bUseNonPlayerFont, HUD_COLOURS FleckColour
|
|
#IF USE_TU_CHANGES , HUD_COLOURS CrossedDot0Colour, HUD_COLOURS CrossedDot1Colour, HUD_COLOURS CrossedDot2Colour, HUD_COLOURS CrossedDot3Colour, HUD_COLOURS CrossedDot4Colour, HUD_COLOURS CrossedDot5Colour, HUD_COLOURS CrossedDot6Colour, HUD_COLOURS CrossedDot7Colour #ENDIF )
|
|
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_ELIMINATION, index)
|
|
|
|
TEXT_STYLE TitleStyle
|
|
TEXT_PLACEMENT TitlePlacement
|
|
SPRITE_PLACEMENT MeterSprites[9]
|
|
RECT aRect
|
|
IF MaxNumber < 9
|
|
|
|
DRAW_GENERAL_ELIMINATION_GUTS(index, TitleStyle, TitlePlacement, MeterSprites,aRect, MaxNumber, UIELEMENTS_BOTTOMRIGHT, FirstColour,SecondColour,
|
|
Title, iVisibleBoxes, Active1,Active2, Active3, Active4, Active5, Active6, Active7, Active8,FlashTime,TitleNumber,ISPlayer, XPos, YPOS,
|
|
Box1Colour, Box2Colour, Box3Colour, Box4Colour, Box5Colour, Box6Colour, Box7Colour, Box8Colour,
|
|
Box1Colour_Inactive, Box2Colour_Inactive, Box3Colour_Inactive, Box4Colour_Inactive, Box5Colour_Inactive, Box6Colour_Inactive, Box7Colour_Inactive,
|
|
Box8Colour_Inactive, ColourFlashType, ColourFlash, TitleColour #IF USE_TU_CHANGES , Crossed0, Crossed1, Crossed2, Crossed3, Crossed4, Crossed5, Crossed6, Crossed7 #ENDIF, bUseNonPlayerFont, FleckColour
|
|
#IF USE_TU_CHANGES , CrossedDot0Colour, CrossedDot1Colour, CrossedDot2Colour, CrossedDot3Colour, CrossedDot4Colour, CrossedDot5Colour, CrossedDot6Colour, CrossedDot7Colour #ENDIF)
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
IF g_DisplayTimersDisplaying
|
|
NET_NL()NET_PRINT("ACTUALLY_DRAW_GENERAL_ELIMINATION index = ")NET_PRINT_INT(index)
|
|
ENDIF
|
|
#ENDIF
|
|
ELSE
|
|
NET_NL()NET_PRINT("DRAW_GENERIC_ELIMINATION MaxNumber needs to be 8 or less. If you need something bigger I'd recommend DRAW_GENERIC_BIG_NUMBER. ")
|
|
|
|
|
|
|
|
ENDIF
|
|
|
|
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC INIT_SCREEN_GENERAL_WINDMETER(TEXT_PLACEMENT& TitlePlace, UIELEMENTS WhichSpace, TEXT_STYLE& TitleStyle, SPRITE_PLACEMENT & arrowSprite)
|
|
FLOAT TheGap = GET_VALUE_OF_GAP_BAR_SPRITE(FALSE, FALSE)
|
|
|
|
TitlePlace.x = 0.795
|
|
TitlePlace.y = GET_Y_SHIFT(WhichSpace)
|
|
TitlePlace.y += GET_TITLE_OFFSET(TitleStyle)
|
|
|
|
CHANGE_Y_SHIFT_END(WhichSpace, -TheGap)
|
|
|
|
TitlePlace.y += GET_TITLE_OFFSET(TitleStyle)
|
|
|
|
arrowSprite.x = 0.9375
|
|
arrowSprite.y = TitlePlace.y + 0.009
|
|
arrowSprite.w = 0.02
|
|
arrowSprite.h = 0.02
|
|
ENDPROC
|
|
|
|
PROC DRAW_GENERAL_WINDMETER_GUTS(INT idx, TEXT_STYLE & TitleStyle, TEXT_PLACEMENT & TitlePlace, SPRITE_PLACEMENT & MeterSprites[],
|
|
UIELEMENTS WhichSpace,
|
|
STRING sTitle, INT iWindSpeed, FLOAT fWindDirection, INT iR, INT iG, INT iB)
|
|
MPGlobalsScoreHud.iHowManyDisplays++
|
|
|
|
IF IS_BOTTOM_RIGHT_AREA_FREE()
|
|
|
|
SPRITE_PLACEMENT arrowIcon
|
|
SPRITE_PLACEMENT Overlays
|
|
SET_SPRITE_PLACEMENT(Overlays, 0.0, 0.0, 0.0, 0.0, 0,0,0,255)
|
|
|
|
SET_STANDARD_SMALL_HUD_TEXT(TitleStyle, DROPSTYLE_NONE)
|
|
|
|
SET_WORD_WRAPPING_TITLE(TitleStyle)
|
|
|
|
SET_PROGRESSHUD_INIT_DONE(PROGRESSHUD_WINDMETER, idx)
|
|
|
|
IF MPGlobalsScoreHud.iHowManyDisplays = 1
|
|
SET_Y_SHIFT_START(WhichSpace)
|
|
ENDIF
|
|
|
|
INIT_SCREEN_GENERAL_WINDMETER(TitlePlace, WhichSpace, TitleStyle, arrowIcon)
|
|
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBars")
|
|
REQUEST_STREAMED_TEXTURE_DICT("Hunting")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBars")
|
|
AND HAS_STREAMED_TEXTURE_DICT_LOADED("Hunting")
|
|
Overlays.x = TitlePlace.x
|
|
Overlays.y = TitlePlace.y
|
|
Overlays.x += TIMER_OVERLAY_X
|
|
Overlays.y += TIMER_OVERLAY_Y_SCORE
|
|
Overlays.w += TIMER_OVERLAY_W
|
|
Overlays.h += TIMER_OVERLAY_H_SCORE
|
|
Overlays.r += 255
|
|
Overlays.g += 255
|
|
Overlays.b += 255
|
|
Overlays.a = TIMER_OVERLAY_ALPHA //reduce by 20% 931421
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
Overlays.x += TIMER_OVERLAY_X_NON_ROMANIC_OFFSET
|
|
Overlays.w += TIMER_OVERLAY_W_NON_ROMANIC_OFFSET
|
|
ENDIF
|
|
|
|
MPGlobalsScoreHud.TopOfTimers += Overlays.h
|
|
DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg", Overlays)
|
|
|
|
arrowIcon.r = iR
|
|
arrowIcon.g = iG
|
|
arrowIcon.b = iB
|
|
arrowIcon.a = 255
|
|
arrowIcon.fRotation = fWindDirection
|
|
//CDEBUG3LN(DEBUG_HUNTING, "Rendering Arrow Color R: ", iR, " :: G: ", iG, " :: B: ", iB, " :: A: ", arrowIcon.a)
|
|
DRAW_2D_SPRITE("Hunting", "HuntingWindArrow_32", arrowIcon)
|
|
|
|
TitleStyle.r = iR
|
|
TitleStyle.g = iG
|
|
TitleStyle.b = iB
|
|
TitleStyle.a = 255
|
|
SET_TEXT_STYLE(TitleStyle)
|
|
|
|
fWindDirection = fWindDirection
|
|
MeterSprites[0].x = MeterSprites[0].x
|
|
|
|
DRAW_TEXT_WITH_NUMBER(TitlePlace, TitleStyle, sTitle, iWindSpeed, FONT_RIGHT)
|
|
|
|
RESET_GFX_TIMERS_DRAW_ORDER()
|
|
ENDIF
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC ACTUALLY_DRAW_GENERAL_WINDMETER(INT idx, STRING sTitle, FLOAT fHeading, INT iSpeed, INT iR, INT iG, INT iB)
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_WINDMETER, idx)
|
|
|
|
TEXT_STYLE TitleStyle
|
|
TEXT_PLACEMENT TitlePlacement
|
|
SPRITE_PLACEMENT MeterSprites[2]
|
|
|
|
DRAW_GENERAL_WINDMETER_GUTS(idx, TitleStyle, TitlePlacement, MeterSprites, UIELEMENTS_BOTTOMRIGHT,
|
|
sTitle, iSpeed, fHeading, iR, iG, iB)
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
IF g_DisplayTimersDisplaying
|
|
NET_NL()NET_PRINT("ACTUALLY_DRAW_GENERAL_WINDMETER index = ")NET_PRINT_INT(idx)
|
|
ENDIF
|
|
#ENDIF
|
|
ENDIF
|
|
|
|
//ACTUALLY_DRAW_GENERAL_METER
|
|
ENDPROC
|
|
|
|
PROC GET_BIG_RACE_POSITION_TEXT_LABEL(TEXT_LABEL_15& tlRacePositionLabel, INT iRacePosition)
|
|
|
|
TEXT_LABEL_15 tlRacePosition = "RACE_POS_"
|
|
tlRacePosition += iRacePosition
|
|
tlRacePositionLabel = tlRacePosition
|
|
|
|
ENDPROC
|
|
|
|
//TEXT_STYLE OverlayWidgetsBigRace
|
|
//BOOL isBigRaceWidget
|
|
|
|
PROC DRAW_GENERAL_BIG_RACE_POSITION_GUTS(INT idx, TEXT_STYLE& NumberStyle, TEXT_PLACEMENT& NumberPlace, UIELEMENTS WhichSpace, INT iRacePosition, HUD_COLOURS eRacePositionHUDColour)
|
|
MPGlobalsScoreHud.iHowManyDisplays++
|
|
|
|
IF IS_BOTTOM_RIGHT_AREA_FREE()
|
|
|
|
// IF isBigRaceWidget = FALSE
|
|
// WIDGET_GROUP_ID topLevelWidgetGroup = GET_ID_OF_TOP_LEVEL_WIDGET_GROUP()
|
|
//
|
|
// SET_CURRENT_WIDGET_GROUP(topLevelWidgetGroup)
|
|
// START_WIDGET_GROUP("BIG RACE OVERLAY")
|
|
// CREATE_A_TEXT_STYLE_WIGET(OverlayWidgetsBigRace, "Text style")
|
|
// STOP_WIDGET_GROUP()
|
|
// CLEAR_CURRENT_WIDGET_GROUP(topLevelWidgetGroup)
|
|
//
|
|
// isBigRaceWidget = TRUE
|
|
// ENDIF
|
|
// UPDATE_TEXT_STYLE_WIDGET_VALUE(NumberStyle, OverlayWidgetsBigRace)
|
|
|
|
HIDE_ALL_BOTTOM_RIGHT_HUD()
|
|
|
|
|
|
INT iR, iG, iB, iA
|
|
GET_HUD_COLOUR(eRacePositionHUDColour, iR, iG, iB, iA)
|
|
SET_STANDARD_LARGE_RACE_HUD_TEXT(NumberStyle, DROPSTYLE_DROPSHADOWONLY, iR, iG, iB)
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
NumberStyle.XScale = 2.0
|
|
NumberStyle.YScale = 2.7
|
|
ENDIF
|
|
|
|
IF MPGlobalsScoreHud.iHowManyDisplays = 1
|
|
SET_Y_SHIFT_START(WhichSpace)
|
|
ENDIF
|
|
|
|
FLOAT fBigRaceCustomOffsetY = 0.131
|
|
IF GET_CURRENT_LANGUAGE() = LANGUAGE_KOREAN
|
|
fBigRaceCustomOffsetY = 0.0872
|
|
ELIF GET_CURRENT_LANGUAGE() = LANGUAGE_JAPANESE
|
|
fBigRaceCustomOffsetY = 0.095
|
|
ENDIF
|
|
|
|
NumberPlace.x = 0.795
|
|
NumberPlace.y = (GET_Y_SHIFT(WhichSpace) + GET_VALUE_TO_TITLE_OFFSET(NumberStyle)) - fBigRaceCustomOffsetY
|
|
|
|
SET_WORD_WRAPPING_RIGHTEDGE(NumberStyle)
|
|
SET_TEXT_STYLE(NumberStyle)
|
|
SET_PROGRESSHUD_INIT_DONE(PROGRESSHUD_BIG_RACE_POSITION, idx)
|
|
|
|
|
|
TEXT_LABEL_15 tlRacePositionLabel
|
|
GET_BIG_RACE_POSITION_TEXT_LABEL(tlRacePositionLabel, iRacePosition)
|
|
|
|
DRAW_TEXT_WITH_ALIGNMENT(NumberPlace, NumberStyle, GB_TO_STRING(tlRacePositionLabel), FALSE, TRUE)
|
|
|
|
RESET_GFX_TIMERS_DRAW_ORDER()
|
|
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC ACTUALLY_DRAW_GENERAL_BIG_RACE_POSITION(INT idx, INT iRacePosition, HUD_COLOURS eRacePositionHUDColour)
|
|
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_BIG_RACE_POSITION, idx)
|
|
|
|
TEXT_STYLE TitleStyle
|
|
TEXT_PLACEMENT TitlePlacement
|
|
|
|
DRAW_GENERAL_BIG_RACE_POSITION_GUTS(idx, TitleStyle, TitlePlacement, UIELEMENTS_BOTTOMRIGHT, iRacePosition, eRacePositionHUDColour)
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
IF g_DisplayTimersDisplaying
|
|
NET_NL()NET_PRINT("ACTUALLY_DRAW_GENERAL_BIG_RACE_POSITION index = ")NET_PRINT_INT(idx)
|
|
ENDIF
|
|
#ENDIF
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC GET_HUD_HIGHLIGHTED_PLAYER_DATA(SPRITE_PLACEMENT &PlayerXPIconSprite, TEXT_LABEL_23 &sPlayerTextureDictName, TEXT_LABEL_23 &sPlayerTextureSpriteName, HUD_COLOURS &PlayerTextureHudColour, PLAYER_INDEX &pPlayerToCheckAgainst, PLAYER_INDEX &pPlayerToHighlight, HUD_COLOURS TitleColour)
|
|
|
|
IF pPlayerToHighlight != INVALID_PLAYER_INDEX()
|
|
AND pPlayerToCheckAgainst != INVALID_PLAYER_INDEX()
|
|
IF pPlayerToHighlight = pPlayerToCheckAgainst
|
|
sPlayerTextureDictName = "timerbar_sr"
|
|
sPlayerTextureSpriteName = "timer_box"
|
|
PlayerTextureHudColour = TitleColour
|
|
|
|
PlayerXPIconSprite.w = 0.016+0.008
|
|
PlayerXPIconSprite.h = 0.038
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
PROC DRAW_2D_SPRITE_FROM_HIGHLIGHTED_PLAYER_DATA(SPRITE_PLACEMENT &PlayerXPIconSprite, STRING sPlayerTextureDictName, STRING sPlayerTextureSpriteName, HUD_COLOURS PlayerTextureHudColour)
|
|
|
|
IF NOT IS_STRING_NULL_OR_EMPTY(sPlayerTextureDictName)
|
|
REQUEST_STREAMED_TEXTURE_DICT(sPlayerTextureDictName)
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED(sPlayerTextureDictName)
|
|
SET_SPRITE_HUD_COLOUR(PlayerXPIconSprite, PlayerTextureHudColour)
|
|
DRAW_2D_SPRITE(sPlayerTextureDictName, sPlayerTextureSpriteName, PlayerXPIconSprite)
|
|
ELSE
|
|
PRINTLN("[DRAW_2D_SPRITE_FROM_HIGHLIGHTED_PLAYER_DATA] ", sPlayerTextureDictName, " dict is loading... ")
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
PROC GET_HUD_POWERUP_DATA(ACTIVITY_POWERUP &aPowerup, SPRITE_PLACEMENT &PlayerXPIconSprite, TEXT_LABEL_23 &sPlayerTextureDictName, TEXT_LABEL_23 &sPlayerTextureSpriteName, HUD_COLOURS &PlayerTextureHudColour, PLAYER_INDEX &pPlayer, PEDHEADSHOT_ID &pPlayerHeadshotID, SPRITE_PLACEMENT &PlayerSecXPIconSprite, TEXT_LABEL_23 &sPlayerSecTextureDictName, TEXT_LABEL_23 &sPlayerSecTextureSpriteName, HUD_COLOURS &PlayerSecTextureHudColour, HUD_COLOURS TitleColour, HUD_COLOURS ePowerupColour = HUD_COLOUR_PURE_WHITE)
|
|
|
|
SWITCH aPowerup
|
|
CASE ACTIVITY_POWERUP_XP
|
|
PlayerXPIconSprite.h += -0.009
|
|
PlayerXPIconSprite.w += -0.002
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
PlayerXPIconSprite.y += 0.0055
|
|
ELSE
|
|
PlayerXPIconSprite.y += 0.0025
|
|
ENDIF
|
|
|
|
sPlayerTextureDictName = "MPRPSymbol"
|
|
sPlayerTextureSpriteName = "RP"
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_ROCKETS
|
|
sPlayerTextureDictName = "TimerBars"
|
|
sPlayerTextureSpriteName = "Rockets"
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_HOMING_ROCKETS
|
|
sPlayerTextureDictName = "MpSpecialRace"
|
|
sPlayerTextureSpriteName = "HOMING_ROCKET"
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_SPIKES
|
|
sPlayerTextureDictName = "TimerBars"
|
|
sPlayerTextureSpriteName = "Spikes"
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_BOOSTS
|
|
sPlayerTextureDictName = "TimerBars"
|
|
sPlayerTextureSpriteName = "Boost"
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_TICK
|
|
sPlayerTextureDictName = "CrossTheLine"
|
|
sPlayerTextureSpriteName = "Timer_LargeTick_32"
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_CROSS
|
|
sPlayerTextureDictName = "CrossTheLine"
|
|
sPlayerTextureSpriteName = "Timer_LargeCross_32"
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_BEAST
|
|
sPlayerTextureDictName = "TimerBar_Icons"
|
|
sPlayerTextureSpriteName = "Pickup_Beast"
|
|
PlayerTextureHudColour = HUD_COLOUR_FRIENDLY
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_BULLET
|
|
sPlayerTextureDictName = "MPSpecialRace"
|
|
sPlayerTextureSpriteName = "MACHINE_GUN"
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_RANDOM
|
|
sPlayerTextureDictName = "TimerBar_Icons"
|
|
sPlayerTextureSpriteName = "Pickup_Random"
|
|
PlayerTextureHudColour = HUD_COLOUR_FRIENDLY
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_SLOW_TIME
|
|
sPlayerTextureDictName = "TimerBar_Icons"
|
|
sPlayerTextureSpriteName = "Pickup_Slow_Time"
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_SWAP
|
|
sPlayerTextureDictName = "TimerBar_Icons"
|
|
sPlayerTextureSpriteName = "Pickup_Swap"
|
|
PlayerTextureHudColour = HUD_COLOUR_FRIENDLY
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_TESTOSTERONE
|
|
sPlayerTextureDictName = "TimerBar_Icons"
|
|
sPlayerTextureSpriteName = "Pickup_Testosterone"
|
|
PlayerTextureHudColour = HUD_COLOUR_FRIENDLY
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_THERMAL
|
|
sPlayerTextureDictName = "TimerBar_Icons"
|
|
sPlayerTextureSpriteName = "Pickup_Thermal"
|
|
PlayerTextureHudColour = HUD_COLOUR_FRIENDLY
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_WEED
|
|
sPlayerTextureDictName = "TimerBar_Icons"
|
|
sPlayerTextureSpriteName = "Pickup_Weed"
|
|
PlayerTextureHudColour = HUD_COLOUR_FRIENDLY
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_HIDDEN
|
|
sPlayerTextureDictName = "TimerBar_Icons"
|
|
sPlayerTextureSpriteName = "Pickup_Hidden"
|
|
PlayerTextureHudColour = HUD_COLOUR_FRIENDLY
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_PED_HEADSHOT
|
|
CASE ACTIVITY_POWERUP_PED_HEADSHOT_DEAD
|
|
CASE ACTIVITY_POWERUP_PED_HEADSHOT_ALIVE
|
|
CASE ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_ZERO
|
|
CASE ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_ONE
|
|
CASE ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_TWO
|
|
CASE ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_THREE
|
|
CASE ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_FOUR
|
|
CASE ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_FIVE
|
|
CASE ACTIVITY_POWERUP_PED_HEADSHOT_FADED
|
|
CASE ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_ZERO_TINT
|
|
CASE ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_ONE_TINT
|
|
CASE ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_TWO_TINT
|
|
CASE ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_THREE_TINT
|
|
CASE ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_FOUR_TINT
|
|
CASE ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_FIVE_TINT
|
|
|
|
IF pPlayer != INVALID_PLAYER_INDEX()
|
|
pPlayerHeadshotID = Get_HeadshotID_For_Player(pPlayer)
|
|
IF pPlayerHeadshotID != NULL
|
|
sPlayerTextureDictName = GET_PEDHEADSHOT_TXD_STRING(pPlayerHeadshotID)
|
|
sPlayerTextureSpriteName = GET_PEDHEADSHOT_TXD_STRING(pPlayerHeadshotID)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
// Scale Ped Headshot
|
|
PlayerXPIconSprite.w = 0.016+0.004
|
|
PlayerXPIconSprite.h = 0.034
|
|
|
|
// Dead Headshot Cross Overlay
|
|
IF aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_DEAD
|
|
sPlayerSecTextureDictName = "timerbar_sr"
|
|
sPlayerSecTextureSpriteName = "timer_cross"
|
|
PlayerSecTextureHudColour = TitleColour
|
|
ENDIF
|
|
|
|
// Alive Headshot Tick Overlay
|
|
IF aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_ALIVE
|
|
sPlayerSecTextureDictName = "timerbar_sr"
|
|
sPlayerSecTextureSpriteName = "timer_tick"
|
|
PlayerSecTextureHudColour = TitleColour
|
|
ENDIF
|
|
|
|
// Zero Score Overlay
|
|
IF aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_ZERO
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_ZERO_TINT
|
|
sPlayerSecTextureDictName = "timerbar_sr"
|
|
sPlayerSecTextureSpriteName = "timer_0"
|
|
PlayerSecTextureHudColour = ePowerupColour
|
|
ENDIF
|
|
|
|
// One Score Overlay
|
|
IF aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_ONE
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_ONE_TINT
|
|
sPlayerSecTextureDictName = "timerbar_sr"
|
|
sPlayerSecTextureSpriteName = "timer_1"
|
|
PlayerSecTextureHudColour = ePowerupColour
|
|
ENDIF
|
|
|
|
// Two Score Overlay
|
|
IF aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_TWO
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_TWO_TINT
|
|
sPlayerSecTextureDictName = "timerbar_sr"
|
|
sPlayerSecTextureSpriteName = "timer_2"
|
|
PlayerSecTextureHudColour = ePowerupColour
|
|
ENDIF
|
|
|
|
// Three Score Overlay
|
|
IF aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_THREE
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_THREE_TINT
|
|
sPlayerSecTextureDictName = "timerbar_sr"
|
|
sPlayerSecTextureSpriteName = "timer_3"
|
|
PlayerSecTextureHudColour = ePowerupColour
|
|
ENDIF
|
|
|
|
// Four Score Overlay
|
|
IF aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_FOUR
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_FOUR_TINT
|
|
sPlayerSecTextureDictName = "timerbar_sr"
|
|
sPlayerSecTextureSpriteName = "timer_4"
|
|
PlayerSecTextureHudColour = ePowerupColour
|
|
ENDIF
|
|
|
|
// Five Score Overlay
|
|
IF aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_FIVE
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_FIVE_TINT
|
|
sPlayerSecTextureDictName = "timerbar_sr"
|
|
sPlayerSecTextureSpriteName = "timer_5"
|
|
PlayerSecTextureHudColour = ePowerupColour
|
|
ENDIF
|
|
|
|
// Faded Headshot
|
|
IF aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_FADED
|
|
PlayerSecTextureHudColour = TitleColour
|
|
ENDIF
|
|
|
|
// Dead headshot half alpha
|
|
IF aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_ZERO
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_ONE
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_TWO
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_THREE
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_FOUR
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_FIVE
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_FADED
|
|
PlayerXPIconSprite.a = 127
|
|
ENDIF
|
|
BREAK
|
|
CASE ACTIVITY_POWERUP_NONE
|
|
PlayerXPIconSprite.a = 0
|
|
PlayerSecXPIconSprite.a = 0
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
ENDPROC
|
|
|
|
PROC DRAW_2D_SPRITE_FROM_POWERUP_DATA(ACTIVITY_POWERUP aPowerup, SPRITE_PLACEMENT &PlayerXPIconSprite, SPRITE_PLACEMENT &PlayerSecXPIconSprite, STRING sPlayerTextureDictName, STRING sPlayerTextureSpriteName, HUD_COLOURS PlayerTextureHudColour, STRING sPlayerSecTextureDictName, STRING sPlayerSecTextureSpriteName, HUD_COLOURS PlayerSecTextureHudColour)
|
|
|
|
IF NOT IS_STRING_NULL_OR_EMPTY(sPlayerTextureDictName)
|
|
REQUEST_STREAMED_TEXTURE_DICT(sPlayerTextureDictName)
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED(sPlayerTextureDictName)
|
|
SET_SPRITE_HUD_COLOUR(PlayerXPIconSprite, PlayerTextureHudColour)
|
|
DRAW_2D_SPRITE(sPlayerTextureDictName, sPlayerTextureSpriteName, PlayerXPIconSprite)
|
|
ELSE
|
|
PRINTLN("[DRAW_2D_SPRITE_FROM_POWERUP_DATA] Icon - ", aPowerup, " - ", sPlayerTextureDictName, " dict is loading... ")
|
|
ENDIF
|
|
ENDIF
|
|
|
|
// 60% Alpha black square infront of headshot
|
|
IF aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_ZERO_TINT
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_ONE_TINT
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_TWO_TINT
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_THREE_TINT
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_FOUR_TINT
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_FIVE_TINT
|
|
INT iR, iG, iB, iA
|
|
GET_HUD_COLOUR(HUD_COLOUR_BLACK, iR, iG, iB, iA)
|
|
DRAW_RECT(PlayerXPIconSprite.x, PlayerXPIconSprite.y, PlayerXPIconSprite.w, PlayerXPIconSprite.h, iR, iG, iB, 153)
|
|
ENDIF
|
|
|
|
IF aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_DEAD
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_ALIVE
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_ZERO
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_ONE
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_TWO
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_THREE
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_FOUR
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_FIVE
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_FADED
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_ZERO_TINT
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_ONE_TINT
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_TWO_TINT
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_THREE_TINT
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_FOUR_TINT
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_FIVE_TINT
|
|
|
|
IF NOT IS_STRING_NULL_OR_EMPTY(sPlayerSecTextureDictName)
|
|
REQUEST_STREAMED_TEXTURE_DICT(sPlayerSecTextureDictName)
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED(sPlayerSecTextureDictName)
|
|
SET_SPRITE_HUD_COLOUR(PlayerSecXPIconSprite, PlayerSecTextureHudColour)
|
|
DRAW_2D_SPRITE(sPlayerSecTextureDictName, sPlayerSecTextureSpriteName, PlayerSecXPIconSprite)
|
|
ELSE
|
|
PRINTLN("[DRAW_2D_SPRITE_FROM_POWERUP_DATA] Icon Sec - ", aPowerup, " - ", sPlayerSecTextureDictName, " dict is loading... ")
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
FUNC BOOL REQUEST_AND_LOAD_TEXTURE_DICTS(STRING sPlayerTextureDictName, STRING sPlayerSecTextureDictName)
|
|
BOOL bPlayerTextureDictLoaded
|
|
BOOL bSecPlayerTextureDictLoaded
|
|
|
|
IF NOT IS_STRING_NULL_OR_EMPTY(sPlayerTextureDictName)
|
|
REQUEST_STREAMED_TEXTURE_DICT(sPlayerTextureDictName)
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED(sPlayerTextureDictName)
|
|
PRINTLN("[REQUEST_AND_LOAD_TEXTURE_DICTS] ", sPlayerTextureDictName, " dict has loaded ")
|
|
bPlayerTextureDictLoaded = TRUE
|
|
ELSE
|
|
PRINTLN("[REQUEST_AND_LOAD_TEXTURE_DICTS] ", sPlayerTextureDictName, " dict is loading... ")
|
|
ENDIF
|
|
ELSE
|
|
bPlayerTextureDictLoaded = TRUE
|
|
ENDIF
|
|
|
|
IF NOT IS_STRING_NULL_OR_EMPTY(sPlayerSecTextureDictName)
|
|
REQUEST_STREAMED_TEXTURE_DICT(sPlayerSecTextureDictName)
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED(sPlayerSecTextureDictName)
|
|
PRINTLN("[REQUEST_AND_LOAD_TEXTURE_DICTS] ", sPlayerSecTextureDictName, " dict has loaded ")
|
|
bSecPlayerTextureDictLoaded = TRUE
|
|
ELSE
|
|
PRINTLN("[REQUEST_AND_LOAD_TEXTURE_DICTS] (Sec) ", sPlayerSecTextureDictName, " dict is loading... ")
|
|
ENDIF
|
|
ELSE
|
|
bSecPlayerTextureDictLoaded = TRUE
|
|
ENDIF
|
|
|
|
IF bPlayerTextureDictLoaded
|
|
AND bSecPlayerTextureDictLoaded
|
|
PRINTLN("[REQUEST_AND_LOAD_TEXTURE_DICTS] ", sPlayerTextureDictName, " dict has loaded & ", sPlayerSecTextureDictName, " dict has loaded. Returning TRUE.")
|
|
RETURN TRUE
|
|
ENDIF
|
|
|
|
RETURN FALSE
|
|
ENDFUNC
|
|
|
|
FUNC BOOL REQUEST_AND_LOAD_ALL_FIVE_TEXTURE_DICTIONARIES(STRING tlPlayerOneTextureDictName,
|
|
STRING tlPlayerOneSecTextureDictName,
|
|
STRING tlPlayerTwoTextureDictName,
|
|
STRING tlPlayerTwoSecTextureDictName,
|
|
STRING tlPlayerThreeTextureDictName,
|
|
STRING tlPlayerThreeSecTextureDictName,
|
|
STRING tlPlayerFourTextureDictName,
|
|
STRING tlPlayerFourSecTextureDictName,
|
|
STRING tlPlayerFiveTextureDictName,
|
|
STRING tlPlayerFiveSecTextureDictName)
|
|
|
|
BOOL complete = TRUE
|
|
IF REQUEST_AND_LOAD_TEXTURE_DICTS(tlPlayerOneTextureDictName, tlPlayerOneSecTextureDictName) = FALSE
|
|
complete = FALSE
|
|
ENDIF
|
|
IF REQUEST_AND_LOAD_TEXTURE_DICTS(tlPlayerTwoTextureDictName, tlPlayerTwoSecTextureDictName) = FALSE
|
|
complete = FALSE
|
|
ENDIF
|
|
IF REQUEST_AND_LOAD_TEXTURE_DICTS(tlPlayerThreeTextureDictName, tlPlayerThreeSecTextureDictName) = FALSE
|
|
complete = FALSE
|
|
ENDIF
|
|
IF REQUEST_AND_LOAD_TEXTURE_DICTS(tlPlayerFourTextureDictName, tlPlayerFourSecTextureDictName) = FALSE
|
|
complete = FALSE
|
|
ENDIF
|
|
IF REQUEST_AND_LOAD_TEXTURE_DICTS(tlPlayerFiveTextureDictName, tlPlayerFiveSecTextureDictName) = FALSE
|
|
complete = FALSE
|
|
ENDIF
|
|
|
|
RETURN complete
|
|
|
|
|
|
ENDFUNC
|
|
|
|
PROC DRAW_2D_SPRITE_FROM_ALREADY_REQUESTED_POWERUP_DATA(ACTIVITY_POWERUP aPowerup, SPRITE_PLACEMENT &PlayerXPIconSprite, SPRITE_PLACEMENT &PlayerSecXPIconSprite, STRING sPlayerTextureDictName, STRING sPlayerTextureSpriteName, HUD_COLOURS PlayerTextureHudColour, STRING sPlayerSecTextureDictName, STRING sPlayerSecTextureSpriteName, HUD_COLOURS PlayerSecTextureHudColour)
|
|
|
|
IF NOT IS_STRING_NULL_OR_EMPTY(sPlayerTextureDictName)
|
|
SET_SPRITE_HUD_COLOUR(PlayerXPIconSprite, PlayerTextureHudColour)
|
|
DRAW_2D_SPRITE(sPlayerTextureDictName, sPlayerTextureSpriteName, PlayerXPIconSprite)
|
|
ENDIF
|
|
|
|
// 60% Alpha black square infront of headshot
|
|
IF aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_ZERO_TINT
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_ONE_TINT
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_TWO_TINT
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_THREE_TINT
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_FOUR_TINT
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_FIVE_TINT
|
|
INT iR, iG, iB, iA
|
|
GET_HUD_COLOUR(HUD_COLOUR_BLACK, iR, iG, iB, iA)
|
|
DRAW_RECT(PlayerXPIconSprite.x, PlayerXPIconSprite.y, PlayerXPIconSprite.w, PlayerXPIconSprite.h, iR, iG, iB, 153)
|
|
ENDIF
|
|
|
|
IF aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_DEAD
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_ALIVE
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_ZERO
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_ONE
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_TWO
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_THREE
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_FOUR
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_FIVE
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_FADED
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_ZERO_TINT
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_ONE_TINT
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_TWO_TINT
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_THREE_TINT
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_FOUR_TINT
|
|
OR aPowerup = ACTIVITY_POWERUP_PED_HEADSHOT_SCORE_FIVE_TINT
|
|
IF NOT IS_STRING_NULL_OR_EMPTY(sPlayerSecTextureDictName)
|
|
SET_SPRITE_HUD_COLOUR(PlayerSecXPIconSprite, PlayerSecTextureHudColour)
|
|
DRAW_2D_SPRITE(sPlayerSecTextureDictName, sPlayerSecTextureSpriteName, PlayerSecXPIconSprite)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
PROC DRAW_GENERAL_FOUR_ICON_BAR_GUTS(INT index, TEXT_STYLE &TitleStyle, TEXT_STYLE &NumberStyle, TEXT_PLACEMENT &TitlePlace, TEXT_PLACEMENT &NumberPlace, HUD_COLOURS TitleColour, UIELEMENTS WhichSpace, PLAYER_INDEX pPlayerOne = NULL, PLAYER_INDEX pPlayerTwo = NULL, PLAYER_INDEX pPlayerThree = NULL, PLAYER_INDEX pPlayerFour = NULL, ACTIVITY_POWERUP aPowerupOne = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupTwo = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupThree = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupFour = ACTIVITY_POWERUP_NONE, BOOL bFlashIconOne = FALSE, BOOL bFlashIconTwo = FALSE, BOOL bFlashIconThree = FALSE, BOOL bFlashIconFour = FALSE, INT iFlashTime = -1)
|
|
MPGlobalsScoreHud.iHowManyDisplays++
|
|
|
|
IF IS_BOTTOM_RIGHT_AREA_FREE()
|
|
|
|
SET_PROGRESSHUD_INIT_DONE(PROGRESSHUD_FOUR_ICON_BAR, index)
|
|
|
|
SET_STANDARD_SMALL_HUD_TEXT(TitleStyle, DROPSTYLE_NONE)
|
|
SET_WORD_WRAPPING_TITLE(TitleStyle)
|
|
|
|
IF MPGlobalsScoreHud.iHowManyDisplays = 1
|
|
SET_Y_SHIFT_START(WhichSpace)
|
|
ENDIF
|
|
|
|
SET_STANDARD_UI_SCORE_NUMBER(NumberStyle, DROPSTYLE_NONE)
|
|
SET_WORD_WRAPPING_RIGHTEDGE(NumberStyle)
|
|
|
|
INIT_SCREEN_GENERAL_SINGLE_SCORE(NumberStyle, TitlePlace, NumberPlace, WhichSpace, TitleStyle)
|
|
|
|
SPRITE_PLACEMENT Overlays
|
|
SET_SPRITE_PLACEMENT(Overlays, 0.0, 0.0, 0.0, 0.0, 0,0,0,255)
|
|
|
|
// Flashing Icons
|
|
BOOL bDisplayFlashingIcons
|
|
|
|
IF iFlashTime = 0
|
|
RESET_GENERIC_FOUR_ICON_BAR_FLASHING(index)
|
|
ENDIF
|
|
|
|
IF DO_FLASHING(iFlashTime, MPGlobalsScoreHud.iFlashing_GenericFourIconBar_Hud[index],MPGlobalsScoreHud.iFlashing_GenericFourIconBar_MiniHud[index])
|
|
bDisplayFlashingIcons = TRUE
|
|
ELSE
|
|
bDisplayFlashingIcons = FALSE
|
|
ENDIF
|
|
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBars")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBars")
|
|
|
|
GFX_DRAW_ORDER anOrder = SET_GFX_TIMERS_DRAW_ORDER()
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
|
|
// Background Bar
|
|
Overlays.x = TitlePlace.x
|
|
Overlays.y = TitlePlace.y
|
|
Overlays.x += TIMER_OVERLAY_X
|
|
Overlays.y += TIMER_OVERLAY_Y_SCORE
|
|
Overlays.w += TIMER_OVERLAY_W
|
|
Overlays.h += TIMER_OVERLAY_H_SCORE
|
|
Overlays.r += 255
|
|
Overlays.g += 255
|
|
Overlays.b += 255
|
|
Overlays.a = TIMER_OVERLAY_ALPHA
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
Overlays.x += TIMER_OVERLAY_X_NON_ROMANIC_OFFSET
|
|
Overlays.w += TIMER_OVERLAY_W_NON_ROMANIC_OFFSET
|
|
ENDIF
|
|
|
|
MPGlobalsScoreHud.TopOfTimers += Overlays.h
|
|
DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg", Overlays)
|
|
SET_TEXT_STYLE(TitleStyle)
|
|
|
|
//Icon Setup
|
|
SPRITE_PLACEMENT PlayerOneXPIconSprite
|
|
SPRITE_PLACEMENT PlayerOneSecXPIconSprite
|
|
|
|
SPRITE_PLACEMENT PlayerTwoXPIconSprite
|
|
SPRITE_PLACEMENT PlayerTwoSecXPIconSprite
|
|
|
|
SPRITE_PLACEMENT PlayerThreeXPIconSprite
|
|
SPRITE_PLACEMENT PlayerThreeSecXPIconSprite
|
|
|
|
SPRITE_PLACEMENT PlayerFourXPIconSprite
|
|
SPRITE_PLACEMENT PlayerFourSecXPIconSprite
|
|
|
|
// Underlay sprite
|
|
PlayerOneXPIconSprite.x = NumberPlace.x+0.145+0.001
|
|
PlayerOneSecXPIconSprite.x = NumberPlace.x+0.145+0.001
|
|
|
|
PlayerTwoXPIconSprite.x = NumberPlace.x+0.123
|
|
PlayerTwoSecXPIconSprite.x = NumberPlace.x+0.123
|
|
|
|
PlayerThreeXPIconSprite.x = NumberPlace.x+0.101
|
|
PlayerThreeSecXPIconSprite.x = NumberPlace.x+0.101
|
|
|
|
PlayerFourXPIconSprite.x = NumberPlace.x+0.078
|
|
PlayerFourSecXPIconSprite.x = NumberPlace.x+0.078
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
PlayerOneXPIconSprite.y = NumberPlace.y+0.016-0.000
|
|
PlayerOneSecXPIconSprite.y = NumberPlace.y+0.016+0.0005
|
|
|
|
PlayerTwoXPIconSprite.y = NumberPlace.y+0.016-0.000
|
|
PlayerTwoSecXPIconSprite.y = NumberPlace.y+0.016+0.0005
|
|
|
|
PlayerThreeXPIconSprite.y = NumberPlace.y+0.016-0.000
|
|
PlayerThreeSecXPIconSprite.y = NumberPlace.y+0.016+0.0005
|
|
|
|
PlayerFourXPIconSprite.y = NumberPlace.y+0.016-0.000
|
|
PlayerFourSecXPIconSprite.y = NumberPlace.y+0.016+0.0005
|
|
ELSE
|
|
PlayerOneXPIconSprite.y = NumberPlace.y+0.0185
|
|
PlayerOneSecXPIconSprite.y = NumberPlace.y+0.019
|
|
|
|
PlayerTwoXPIconSprite.y = NumberPlace.y+0.0185
|
|
PlayerTwoSecXPIconSprite.y = NumberPlace.y+0.019
|
|
|
|
PlayerThreeXPIconSprite.y = NumberPlace.y+0.0185
|
|
PlayerThreeSecXPIconSprite.y = NumberPlace.y+0.019
|
|
|
|
PlayerFourXPIconSprite.y = NumberPlace.y+0.0185
|
|
PlayerFourSecXPIconSprite.y = NumberPlace.y+0.019
|
|
ENDIF
|
|
|
|
// Width
|
|
PlayerOneXPIconSprite.w = 0.016+0.003
|
|
PlayerOneSecXPIconSprite.w = 0.016+0.003
|
|
|
|
PlayerTwoXPIconSprite.w = 0.016+0.003
|
|
PlayerTwoSecXPIconSprite.w = 0.016+0.003
|
|
|
|
PlayerThreeXPIconSprite.w = 0.016+0.003
|
|
PlayerThreeSecXPIconSprite.w = 0.016+0.003
|
|
|
|
PlayerFourXPIconSprite.w = 0.016+0.003
|
|
PlayerFourSecXPIconSprite.w = 0.016+0.003
|
|
|
|
// Height
|
|
PlayerOneXPIconSprite.h = 0.032+0.004
|
|
PlayerOneSecXPIconSprite.h = 0.032+0.004
|
|
|
|
PlayerTwoXPIconSprite.h = 0.032+0.004
|
|
PlayerTwoSecXPIconSprite.h = 0.032+0.004
|
|
|
|
PlayerThreeXPIconSprite.h = 0.032+0.004
|
|
PlayerThreeSecXPIconSprite.h = 0.032+0.004
|
|
|
|
PlayerFourXPIconSprite.h = 0.032+0.004
|
|
PlayerFourSecXPIconSprite.h = 0.032+0.004
|
|
|
|
//Alpha
|
|
PlayerOneXPIconSprite.a = 255
|
|
PlayerOneSecXPIconSprite.a = 255
|
|
|
|
PlayerTwoXPIconSprite.a = 255
|
|
PlayerTwoSecXPIconSprite.a = 255
|
|
|
|
PlayerThreeXPIconSprite.a = 255
|
|
PlayerThreeSecXPIconSprite.a = 255
|
|
|
|
PlayerFourXPIconSprite.a = 255
|
|
PlayerFourSecXPIconSprite.a = 255
|
|
|
|
// HUD Colour
|
|
SET_SPRITE_HUD_COLOUR(PlayerOneXPIconSprite, HUD_COLOUR_WHITE)
|
|
SET_SPRITE_HUD_COLOUR(PlayerOneSecXPIconSprite, HUD_COLOUR_WHITE)
|
|
|
|
SET_SPRITE_HUD_COLOUR(PlayerTwoXPIconSprite, HUD_COLOUR_WHITE)
|
|
SET_SPRITE_HUD_COLOUR(PlayerTwoSecXPIconSprite, HUD_COLOUR_WHITE)
|
|
|
|
SET_SPRITE_HUD_COLOUR(PlayerThreeXPIconSprite, HUD_COLOUR_WHITE)
|
|
SET_SPRITE_HUD_COLOUR(PlayerThreeSecXPIconSprite, HUD_COLOUR_WHITE)
|
|
|
|
SET_SPRITE_HUD_COLOUR(PlayerFourXPIconSprite, HUD_COLOUR_WHITE)
|
|
SET_SPRITE_HUD_COLOUR(PlayerFourSecXPIconSprite, HUD_COLOUR_WHITE)
|
|
|
|
// Ped Headshot Vars
|
|
PEDHEADSHOT_ID pPlayerOneHeadshotID
|
|
PEDHEADSHOT_ID pPlayerTwoHeadshotID
|
|
PEDHEADSHOT_ID pPlayerThreeHeadshotID
|
|
PEDHEADSHOT_ID pPlayerFourHeadshotID
|
|
|
|
// TXD Name Vars
|
|
TEXT_LABEL_23 tlPlayerOneTextureDictName = ""
|
|
TEXT_LABEL_23 tlPlayerOneSecTextureDictName = ""
|
|
|
|
TEXT_LABEL_23 tlPlayerTwoTextureDictName = ""
|
|
TEXT_LABEL_23 tlPlayerTwoSecTextureDictName = ""
|
|
|
|
TEXT_LABEL_23 tlPlayerThreeTextureDictName = ""
|
|
TEXT_LABEL_23 tlPlayerThreeSecTextureDictName = ""
|
|
|
|
TEXT_LABEL_23 tlPlayerFourTextureDictName = ""
|
|
TEXT_LABEL_23 tlPlayerFourSecTextureDictName = ""
|
|
|
|
// Sprite Name Vars
|
|
TEXT_LABEL_23 tlPlayerOneTextureSpriteName
|
|
TEXT_LABEL_23 tlPlayerOneSecTextureSpriteName
|
|
|
|
TEXT_LABEL_23 tlPlayerTwoTextureSpriteName
|
|
TEXT_LABEL_23 tlPlayerTwoSecTextureSpriteName
|
|
|
|
TEXT_LABEL_23 tlPlayerThreeTextureSpriteName
|
|
TEXT_LABEL_23 tlPlayerThreeSecTextureSpriteName
|
|
|
|
TEXT_LABEL_23 tlPlayerFourTextureSpriteName
|
|
TEXT_LABEL_23 tlPlayerFourSecTextureSpriteName
|
|
|
|
// Texture HUD Colour Vars
|
|
HUD_COLOURS PlayerOneTextureHudColour = HUD_COLOUR_WHITE
|
|
HUD_COLOURS PlayerOneSecTextureHudColour = HUD_COLOUR_WHITE
|
|
|
|
HUD_COLOURS PlayerTwoTextureHudColour = HUD_COLOUR_WHITE
|
|
HUD_COLOURS PlayerTwoSecTextureHudColour = HUD_COLOUR_WHITE
|
|
|
|
HUD_COLOURS PlayerThreeTextureHudColour = HUD_COLOUR_WHITE
|
|
HUD_COLOURS PlayerThreeSecTextureHudColour = HUD_COLOUR_WHITE
|
|
|
|
HUD_COLOURS PlayerFourTextureHudColour = HUD_COLOUR_WHITE
|
|
HUD_COLOURS PlayerFourSecTextureHudColour = HUD_COLOUR_WHITE
|
|
|
|
GET_HUD_POWERUP_DATA(aPowerupOne, PlayerOneXPIconSprite, tlPlayerOneTextureDictName, tlPlayerOneTextureSpriteName, PlayerOneTextureHudColour, pPlayerOne, pPlayerOneHeadshotID, PlayerOneSecXPIconSprite, tlPlayerOneSecTextureDictName, tlPlayerOneSecTextureSpriteName, PlayerOneSecTextureHudColour, TitleColour)
|
|
GET_HUD_POWERUP_DATA(aPowerupTwo, PlayerTwoXPIconSprite, tlPlayerTwoTextureDictName, tlPlayerTwoTextureSpriteName, PlayerTwoTextureHudColour, pPlayerTwo, pPlayerTwoHeadshotID, PlayerTwoSecXPIconSprite, tlPlayerTwoSecTextureDictName, tlPlayerTwoSecTextureSpriteName, PlayerTwoSecTextureHudColour, TitleColour)
|
|
GET_HUD_POWERUP_DATA(aPowerupThree, PlayerThreeXPIconSprite, tlPlayerThreeTextureDictName, tlPlayerThreeTextureSpriteName, PlayerThreeTextureHudColour, pPlayerThree, pPlayerThreeHeadshotID, PlayerThreeSecXPIconSprite, tlPlayerThreeSecTextureDictName, tlPlayerThreeSecTextureSpriteName, PlayerThreeSecTextureHudColour, TitleColour)
|
|
GET_HUD_POWERUP_DATA(aPowerupFour, PlayerFourXPIconSprite, tlPlayerFourTextureDictName, tlPlayerFourTextureSpriteName, PlayerFourTextureHudColour, pPlayerFour, pPlayerFourHeadshotID, PlayerFourSecXPIconSprite, tlPlayerFourSecTextureDictName, tlPlayerFourSecTextureSpriteName, PlayerFourSecTextureHudColour, TitleColour)
|
|
|
|
IF bFlashIconOne
|
|
IF bDisplayFlashingIcons
|
|
DRAW_2D_SPRITE_FROM_POWERUP_DATA(aPowerupOne, PlayerOneXPIconSprite, PlayerOneSecXPIconSprite, tlPlayerOneTextureDictName, tlPlayerOneTextureSpriteName, PlayerOneTextureHudColour, tlPlayerOneSecTextureDictName, tlPlayerOneSecTextureSpriteName, PlayerOneSecTextureHudColour)
|
|
ENDIF
|
|
ELSE
|
|
DRAW_2D_SPRITE_FROM_POWERUP_DATA(aPowerupOne, PlayerOneXPIconSprite, PlayerOneSecXPIconSprite, tlPlayerOneTextureDictName, tlPlayerOneTextureSpriteName, PlayerOneTextureHudColour, tlPlayerOneSecTextureDictName, tlPlayerOneSecTextureSpriteName, PlayerOneSecTextureHudColour)
|
|
ENDIF
|
|
|
|
IF bFlashIconTwo
|
|
IF bDisplayFlashingIcons
|
|
DRAW_2D_SPRITE_FROM_POWERUP_DATA(aPowerupTwo, PlayerTwoXPIconSprite, PlayerTwoSecXPIconSprite, tlPlayerTwoTextureDictName, tlPlayerTwoTextureSpriteName, PlayerTwoTextureHudColour, tlPlayerTwoSecTextureDictName, tlPlayerTwoSecTextureSpriteName, PlayerTwoSecTextureHudColour)
|
|
ENDIF
|
|
ELSE
|
|
DRAW_2D_SPRITE_FROM_POWERUP_DATA(aPowerupTwo, PlayerTwoXPIconSprite, PlayerTwoSecXPIconSprite, tlPlayerTwoTextureDictName, tlPlayerTwoTextureSpriteName, PlayerTwoTextureHudColour, tlPlayerTwoSecTextureDictName, tlPlayerTwoSecTextureSpriteName, PlayerTwoSecTextureHudColour)
|
|
ENDIF
|
|
|
|
IF bFlashIconThree
|
|
IF bDisplayFlashingIcons
|
|
DRAW_2D_SPRITE_FROM_POWERUP_DATA(aPowerupThree, PlayerThreeXPIconSprite, PlayerThreeSecXPIconSprite, tlPlayerThreeTextureDictName, tlPlayerThreeTextureSpriteName, PlayerThreeTextureHudColour, tlPlayerThreeSecTextureDictName, tlPlayerThreeSecTextureSpriteName, PlayerThreeSecTextureHudColour)
|
|
ENDIF
|
|
ELSE
|
|
DRAW_2D_SPRITE_FROM_POWERUP_DATA(aPowerupThree, PlayerThreeXPIconSprite, PlayerThreeSecXPIconSprite, tlPlayerThreeTextureDictName, tlPlayerThreeTextureSpriteName, PlayerThreeTextureHudColour, tlPlayerThreeSecTextureDictName, tlPlayerThreeSecTextureSpriteName, PlayerThreeSecTextureHudColour)
|
|
ENDIF
|
|
|
|
IF bFlashIconFour
|
|
IF bDisplayFlashingIcons
|
|
DRAW_2D_SPRITE_FROM_POWERUP_DATA(aPowerupFour, PlayerFourXPIconSprite, PlayerFourSecXPIconSprite, tlPlayerFourTextureDictName, tlPlayerFourTextureSpriteName, PlayerFourTextureHudColour, tlPlayerFourSecTextureDictName, tlPlayerFourSecTextureSpriteName, PlayerFourSecTextureHudColour)
|
|
ENDIF
|
|
ELSE
|
|
DRAW_2D_SPRITE_FROM_POWERUP_DATA(aPowerupFour, PlayerFourXPIconSprite, PlayerFourSecXPIconSprite, tlPlayerFourTextureDictName, tlPlayerFourTextureSpriteName, PlayerFourTextureHudColour, tlPlayerFourSecTextureDictName, tlPlayerFourSecTextureSpriteName, PlayerFourSecTextureHudColour)
|
|
ENDIF
|
|
|
|
ENDIF
|
|
|
|
RESET_GFX_TIMERS_DRAW_ORDER()
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC ACTUALLY_DRAW_GENERAL_FOUR_ICON_BAR(INT idx, HUD_COLOURS TitleColour, PLAYER_INDEX pPlayerOne = NULL, PLAYER_INDEX pPlayerTwo = NULL, PLAYER_INDEX pPlayerThree = NULL, PLAYER_INDEX pPlayerFour = NULL, ACTIVITY_POWERUP aPowerupOne = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupTwo = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupThree = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupFour = ACTIVITY_POWERUP_NONE, BOOL bFlashIconOne = FALSE, BOOL bFlashIconTwo = FALSE, BOOL bFlashIconThree = FALSE, BOOL bFlashIconFour = FALSE, INT iFlashTime = -1)
|
|
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_FOUR_ICON_BAR, idx)
|
|
|
|
TEXT_STYLE TitleStyle, NumberStyle
|
|
TEXT_PLACEMENT TitlePlacement, NumberPlace
|
|
|
|
DRAW_GENERAL_FOUR_ICON_BAR_GUTS(idx, TitleStyle, NumberStyle, TitlePlacement, NumberPlace, TitleColour, UIELEMENTS_BOTTOMRIGHT, pPlayerOne, pPlayerTwo, pPlayerThree, pPlayerFour, aPowerupOne, aPowerupTwo, aPowerupThree, aPowerupFour, bFlashIconOne, bFlashIconTwo, bFlashIconThree, bFlashIconFour, iFlashTime)
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
IF g_DisplayTimersDisplaying
|
|
NET_NL()NET_PRINT("ACTUALLY_DRAW_GENERAL_FOUR_ICON_BAR index = ")NET_PRINT_INT(idx)
|
|
ENDIF
|
|
#ENDIF
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
|
|
PROC PRELOAD_FIVE_ICON_SCORE_BAR(PLAYER_INDEX pPlayerOne = NULL, PLAYER_INDEX pPlayerTwo = NULL, PLAYER_INDEX pPlayerThree = NULL, PLAYER_INDEX pPlayerFour = NULL, PLAYER_INDEX pPlayerFive = NULL,
|
|
ACTIVITY_POWERUP aPowerupOne = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupTwo = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupThree = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupFour = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupFive = ACTIVITY_POWERUP_NONE)
|
|
|
|
|
|
|
|
|
|
// Ped Headshot Vars
|
|
PEDHEADSHOT_ID pPlayerOneHeadshotID
|
|
PEDHEADSHOT_ID pPlayerTwoHeadshotID
|
|
PEDHEADSHOT_ID pPlayerThreeHeadshotID
|
|
PEDHEADSHOT_ID pPlayerFourHeadshotID
|
|
PEDHEADSHOT_ID pPlayerFiveHeadshotID
|
|
|
|
// TXD Name Vars
|
|
TEXT_LABEL_23 tlPlayerOneTextureDictName = ""
|
|
TEXT_LABEL_23 tlPlayerOneSecTextureDictName = ""
|
|
|
|
TEXT_LABEL_23 tlPlayerTwoTextureDictName = ""
|
|
TEXT_LABEL_23 tlPlayerTwoSecTextureDictName = ""
|
|
|
|
TEXT_LABEL_23 tlPlayerThreeTextureDictName = ""
|
|
TEXT_LABEL_23 tlPlayerThreeSecTextureDictName = ""
|
|
|
|
TEXT_LABEL_23 tlPlayerFourTextureDictName = ""
|
|
TEXT_LABEL_23 tlPlayerFourSecTextureDictName = ""
|
|
|
|
TEXT_LABEL_23 tlPlayerFiveTextureDictName = ""
|
|
TEXT_LABEL_23 tlPlayerFiveSecTextureDictName = ""
|
|
|
|
// Sprite Name Vars
|
|
TEXT_LABEL_23 tlPlayerOneTextureSpriteName = ""
|
|
TEXT_LABEL_23 tlPlayerOneSecTextureSpriteName = ""
|
|
|
|
TEXT_LABEL_23 tlPlayerTwoTextureSpriteName = ""
|
|
TEXT_LABEL_23 tlPlayerTwoSecTextureSpriteName = ""
|
|
|
|
TEXT_LABEL_23 tlPlayerThreeTextureSpriteName = ""
|
|
TEXT_LABEL_23 tlPlayerThreeSecTextureSpriteName = ""
|
|
|
|
TEXT_LABEL_23 tlPlayerFourTextureSpriteName = ""
|
|
TEXT_LABEL_23 tlPlayerFourSecTextureSpriteName = ""
|
|
|
|
TEXT_LABEL_23 tlPlayerFiveTextureSpriteName = ""
|
|
TEXT_LABEL_23 tlPlayerFiveSecTextureSpriteName = ""
|
|
|
|
// Texture HUD Colour Vars
|
|
HUD_COLOURS PlayerOneTextureHudColour = HUD_COLOUR_WHITE
|
|
|
|
HUD_COLOURS PlayerTwoTextureHudColour = HUD_COLOUR_WHITE
|
|
|
|
HUD_COLOURS PlayerThreeTextureHudColour = HUD_COLOUR_WHITE
|
|
|
|
HUD_COLOURS PlayerFourTextureHudColour = HUD_COLOUR_WHITE
|
|
|
|
HUD_COLOURS PlayerFiveTextureHudColour = HUD_COLOUR_WHITE
|
|
|
|
//Icon Setup
|
|
SPRITE_PLACEMENT PlayerOneXPIconSprite
|
|
SPRITE_PLACEMENT PlayerOneSecXPIconSprite
|
|
|
|
SPRITE_PLACEMENT PlayerTwoXPIconSprite
|
|
SPRITE_PLACEMENT PlayerTwoSecXPIconSprite
|
|
|
|
SPRITE_PLACEMENT PlayerThreeXPIconSprite
|
|
SPRITE_PLACEMENT PlayerThreeSecXPIconSprite
|
|
|
|
SPRITE_PLACEMENT PlayerFourXPIconSprite
|
|
SPRITE_PLACEMENT PlayerFourSecXPIconSprite
|
|
|
|
SPRITE_PLACEMENT PlayerFiveXPIconSprite
|
|
SPRITE_PLACEMENT PlayerFiveSecXPIconSprite
|
|
|
|
GET_HUD_POWERUP_DATA(aPowerupOne, PlayerOneXPIconSprite, tlPlayerOneTextureDictName, tlPlayerOneTextureSpriteName, PlayerOneTextureHudColour, pPlayerOne, pPlayerOneHeadshotID, PlayerOneSecXPIconSprite, tlPlayerOneSecTextureDictName, tlPlayerOneSecTextureSpriteName, HUD_COLOUR_WHITE, HUD_COLOUR_WHITE, HUD_COLOUR_WHITE)
|
|
GET_HUD_POWERUP_DATA(aPowerupTwo, PlayerTwoXPIconSprite, tlPlayerTwoTextureDictName, tlPlayerTwoTextureSpriteName, PlayerTwoTextureHudColour, pPlayerTwo, pPlayerTwoHeadshotID, PlayerTwoSecXPIconSprite, tlPlayerTwoSecTextureDictName, tlPlayerTwoSecTextureSpriteName, HUD_COLOUR_WHITE, HUD_COLOUR_WHITE, HUD_COLOUR_WHITE)
|
|
GET_HUD_POWERUP_DATA(aPowerupThree, PlayerThreeXPIconSprite, tlPlayerThreeTextureDictName, tlPlayerThreeTextureSpriteName, PlayerThreeTextureHudColour, pPlayerThree, pPlayerThreeHeadshotID, PlayerThreeSecXPIconSprite, tlPlayerThreeSecTextureDictName, tlPlayerThreeSecTextureSpriteName, HUD_COLOUR_WHITE, HUD_COLOUR_WHITE, HUD_COLOUR_WHITE)
|
|
GET_HUD_POWERUP_DATA(aPowerupFour, PlayerFourXPIconSprite, tlPlayerFourTextureDictName, tlPlayerFourTextureSpriteName, PlayerFourTextureHudColour, pPlayerFour, pPlayerFourHeadshotID, PlayerFourSecXPIconSprite, tlPlayerFourSecTextureDictName, tlPlayerFourSecTextureSpriteName, HUD_COLOUR_WHITE, HUD_COLOUR_WHITE, HUD_COLOUR_WHITE)
|
|
GET_HUD_POWERUP_DATA(aPowerupFive, PlayerFiveXPIconSprite, tlPlayerFiveTextureDictName, tlPlayerFiveTextureSpriteName, PlayerFiveTextureHudColour, pPlayerFive, pPlayerFiveHeadshotID, PlayerFiveSecXPIconSprite, tlPlayerFiveSecTextureDictName, tlPlayerFiveSecTextureSpriteName, HUD_COLOUR_WHITE, HUD_COLOUR_WHITE, HUD_COLOUR_WHITE)
|
|
|
|
|
|
|
|
REQUEST_AND_LOAD_ALL_FIVE_TEXTURE_DICTIONARIES(tlPlayerOneTextureDictName, tlPlayerOneSecTextureDictName,
|
|
tlPlayerTwoTextureDictName, tlPlayerTwoSecTextureDictName,
|
|
tlPlayerThreeTextureDictName, tlPlayerThreeSecTextureDictName,
|
|
tlPlayerFourTextureDictName, tlPlayerFourSecTextureDictName,
|
|
tlPlayerFiveTextureDictName, tlPlayerFiveSecTextureDictName)
|
|
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBars")
|
|
|
|
ENDPROC
|
|
|
|
|
|
PROC DRAW_GENERAL_FIVE_ICON_SCORE_BAR_GUTS(INT index, TEXT_STYLE &TitleStyle, TEXT_STYLE &NumberStyle, TEXT_PLACEMENT &TitlePlace, TEXT_PLACEMENT &NumberPlace, INT Number, FLOAT FloatValue, STRING NumberString, BOOL isFloat, INT MaXNumber, BOOL DrawInfinity, HUD_COLOURS TitleColour, UIELEMENTS WhichSpace, PLAYER_INDEX pPlayerOne = NULL, PLAYER_INDEX pPlayerTwo = NULL, PLAYER_INDEX pPlayerThree = NULL, PLAYER_INDEX pPlayerFour = NULL, PLAYER_INDEX pPlayerFive = NULL, ACTIVITY_POWERUP aPowerupOne = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupTwo = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupThree = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupFour = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupFive = ACTIVITY_POWERUP_NONE, PLAYER_INDEX pPlayerToHighlight = NULL, BOOL bEnablePlayerHighlight = FALSE, HUD_COLOURS ePowerupOneColour = HUD_COLOUR_PURE_WHITE, HUD_COLOURS ePowerupTwoColour = HUD_COLOUR_PURE_WHITE, HUD_COLOURS ePowerupThreeColour = HUD_COLOUR_PURE_WHITE, HUD_COLOURS ePowerupFourColour = HUD_COLOUR_PURE_WHITE, HUD_COLOURS ePowerupFiveColour = HUD_COLOUR_PURE_WHITE, INT iInstanceToHighlight = 0, BOOL bPulseHighlight = FALSE, INT iPulseTime = 9999999, PLAYER_INDEX pAvatarToFlash = NULL, BOOL bFlashAvatar = FALSE, INT iAvatarFlashTime = 9999999, INT iAvatarSlotToFlash = 0)
|
|
MPGlobalsScoreHud.iHowManyDisplays++
|
|
|
|
IF IS_BOTTOM_RIGHT_AREA_FREE()
|
|
|
|
SPRITE_PLACEMENT Overlays
|
|
SET_SPRITE_PLACEMENT(Overlays, 0.0, 0.0, 0.0, 0.0, 0,0,0,255)
|
|
|
|
SET_STANDARD_SMALL_HUD_TEXT(TitleStyle, DROPSTYLE_DROPSHADOWONLY)
|
|
|
|
IF Number < 1000000
|
|
|
|
IF GET_CURRENT_LANGUAGE() = LANGUAGE_KOREAN
|
|
AND (FloatValue >= 100)
|
|
AND ARE_STRINGS_EQUAL("AMCH_KMHN", NumberString)
|
|
SET_STANDARD_UI_SCORE_SMALL_NUMBER_NON_ROMANIC(NumberStyle, DROPSTYLE_NONE)
|
|
|
|
ELIF (GET_CURRENT_LANGUAGE() = LANGUAGE_KOREAN OR GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE
|
|
OR GET_CURRENT_LANGUAGE() = LANGUAGE_CHINESE_SIMPLIFIED
|
|
)
|
|
AND (Number > 999 OR MaXNumber > 999 OR FloatValue > 1000)
|
|
SET_STANDARD_UI_SCORE_SMALL_NUMBER_NON_ROMANIC(NumberStyle, DROPSTYLE_NONE)
|
|
ELSE
|
|
IF MaXNumber > 99
|
|
SET_STANDARD_UI_SCORE_SMALL_NUMBER(NumberStyle, DROPSTYLE_NONE)
|
|
ELSE
|
|
SET_STANDARD_UI_SCORE_NUMBER(NumberStyle, DROPSTYLE_NONE)
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF GET_CURRENT_LANGUAGE() = LANGUAGE_KOREAN
|
|
AND ( ARE_STRINGS_EQUAL("HUD_CASH", NumberString)
|
|
OR ARE_STRINGS_EQUAL("HUD_CASH_NEG", NumberString))
|
|
|
|
SET_STANDARD_UI_SCORE_SMALL_NUMBER_NON_ROMANIC(NumberStyle, DROPSTYLE_NONE)
|
|
ELSE
|
|
SET_STANDARD_UI_SCORE_SMALL_NUMBER(NumberStyle, DROPSTYLE_NONE)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
SET_WORD_WRAPPING_TITLE(TitleStyle)
|
|
SET_WORD_WRAPPING_RIGHTEDGE(NumberStyle)
|
|
SET_PROGRESSHUD_INIT_DONE(PROGRESSHUD_FIVE_ICON_SCORE_BAR, Index)
|
|
|
|
IF MPGlobalsScoreHud.iHowManyDisplays = 1
|
|
SET_Y_SHIFT_START(WhichSpace)
|
|
ENDIF
|
|
|
|
INIT_SCREEN_GENERAL_SINGLE_SCORE(NumberStyle, TitlePlace, NumberPlace, WhichSpace, TitleStyle)
|
|
SET_WORD_HUD_COLOUR(NumberStyle, TitleColour)
|
|
NumberStyle.a = 255
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Icon Setup
|
|
SPRITE_PLACEMENT PlayerOneXPIconSprite
|
|
SPRITE_PLACEMENT PlayerOneSecXPIconSprite
|
|
SPRITE_PLACEMENT PlayerOneThirdXPIconSprite
|
|
|
|
SPRITE_PLACEMENT PlayerTwoXPIconSprite
|
|
SPRITE_PLACEMENT PlayerTwoSecXPIconSprite
|
|
SPRITE_PLACEMENT PlayerTwoThirdXPIconSprite
|
|
|
|
SPRITE_PLACEMENT PlayerThreeXPIconSprite
|
|
SPRITE_PLACEMENT PlayerThreeSecXPIconSprite
|
|
SPRITE_PLACEMENT PlayerThreeThirdXPIconSprite
|
|
|
|
SPRITE_PLACEMENT PlayerFourXPIconSprite
|
|
SPRITE_PLACEMENT PlayerFourSecXPIconSprite
|
|
SPRITE_PLACEMENT PlayerFourThirdXPIconSprite
|
|
|
|
SPRITE_PLACEMENT PlayerFiveXPIconSprite
|
|
SPRITE_PLACEMENT PlayerFiveSecXPIconSprite
|
|
SPRITE_PLACEMENT PlayerFiveThirdXPIconSprite
|
|
|
|
// Underlay sprite
|
|
PlayerOneXPIconSprite.x = NumberPlace.x+0.095
|
|
PlayerOneSecXPIconSprite.x = NumberPlace.x+0.095
|
|
PlayerOneThirdXPIconSprite.x = NumberPlace.x+0.095
|
|
|
|
PlayerTwoXPIconSprite.x = NumberPlace.x+0.072
|
|
PlayerTwoSecXPIconSprite.x = NumberPlace.x+0.072
|
|
PlayerTwoThirdXPIconSprite.x = NumberPlace.x+0.072
|
|
|
|
PlayerThreeXPIconSprite.x = NumberPlace.x+0.049
|
|
PlayerThreeSecXPIconSprite.x = NumberPlace.x+0.049
|
|
PlayerThreeThirdXPIconSprite.x = NumberPlace.x+0.049
|
|
|
|
PlayerFourXPIconSprite.x = NumberPlace.x+0.026
|
|
PlayerFourSecXPIconSprite.x = NumberPlace.x+0.026
|
|
PlayerFourThirdXPIconSprite.x = NumberPlace.x+0.026
|
|
|
|
PlayerFiveXPIconSprite.x = NumberPlace.x+0.003
|
|
PlayerFiveSecXPIconSprite.x = NumberPlace.x+0.003
|
|
PlayerFiveThirdXPIconSprite.x = NumberPlace.x+0.003
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
PlayerOneXPIconSprite.y = NumberPlace.y+0.016-0.0005
|
|
PlayerOneSecXPIconSprite.y = NumberPlace.y+0.016
|
|
PlayerOneThirdXPIconSprite.y = NumberPlace.y+0.016
|
|
|
|
PlayerTwoXPIconSprite.y = NumberPlace.y+0.016-0.0005
|
|
PlayerTwoSecXPIconSprite.y = NumberPlace.y+0.016
|
|
PlayerTwoThirdXPIconSprite.y = NumberPlace.y+0.016
|
|
|
|
PlayerThreeXPIconSprite.y = NumberPlace.y+0.016-0.0005
|
|
PlayerThreeSecXPIconSprite.y = NumberPlace.y+0.016
|
|
PlayerThreeThirdXPIconSprite.y = NumberPlace.y+0.016
|
|
|
|
PlayerFourXPIconSprite.y = NumberPlace.y+0.016-0.0005
|
|
PlayerFourSecXPIconSprite.y = NumberPlace.y+0.016
|
|
PlayerFourThirdXPIconSprite.y = NumberPlace.y+0.016
|
|
|
|
PlayerFiveXPIconSprite.y = NumberPlace.y+0.016-0.0005
|
|
PlayerFiveSecXPIconSprite.y = NumberPlace.y+0.016
|
|
PlayerFiveThirdXPIconSprite.y = NumberPlace.y+0.016
|
|
ELSE
|
|
PlayerOneXPIconSprite.y = NumberPlace.y+0.0185
|
|
PlayerOneSecXPIconSprite.y = NumberPlace.y+0.019
|
|
PlayerOneThirdXPIconSprite.y = NumberPlace.y+0.019
|
|
|
|
PlayerTwoXPIconSprite.y = NumberPlace.y+0.0185
|
|
PlayerTwoSecXPIconSprite.y = NumberPlace.y+0.019
|
|
PlayerTwoThirdXPIconSprite.y = NumberPlace.y+0.019
|
|
|
|
PlayerThreeXPIconSprite.y = NumberPlace.y+0.0185
|
|
PlayerThreeSecXPIconSprite.y = NumberPlace.y+0.019
|
|
PlayerThreeThirdXPIconSprite.y = NumberPlace.y+0.019
|
|
|
|
PlayerFourXPIconSprite.y = NumberPlace.y+0.0185
|
|
PlayerFourSecXPIconSprite.y = NumberPlace.y+0.019
|
|
PlayerFourThirdXPIconSprite.y = NumberPlace.y+0.019
|
|
|
|
PlayerFiveXPIconSprite.y = NumberPlace.y+0.0185
|
|
PlayerFiveSecXPIconSprite.y = NumberPlace.y+0.019
|
|
PlayerFiveThirdXPIconSprite.y = NumberPlace.y+0.019
|
|
ENDIF
|
|
|
|
// Width
|
|
PlayerOneXPIconSprite.w = 0.016+0.003
|
|
PlayerOneSecXPIconSprite.w = 0.016+0.003
|
|
PlayerOneThirdXPIconSprite.w = 0.016+0.003
|
|
|
|
PlayerTwoXPIconSprite.w = 0.016+0.003
|
|
PlayerTwoSecXPIconSprite.w = 0.016+0.003
|
|
PlayerTwoThirdXPIconSprite.w = 0.016+0.003
|
|
|
|
PlayerThreeXPIconSprite.w = 0.016+0.003
|
|
PlayerThreeSecXPIconSprite.w = 0.016+0.003
|
|
PlayerThreeThirdXPIconSprite.w = 0.016+0.003
|
|
|
|
PlayerFourXPIconSprite.w = 0.016+0.003
|
|
PlayerFourSecXPIconSprite.w = 0.016+0.003
|
|
PlayerFourThirdXPIconSprite.w = 0.016+0.003
|
|
|
|
PlayerFiveXPIconSprite.w = 0.016+0.003
|
|
PlayerFiveSecXPIconSprite.w = 0.016+0.003
|
|
PlayerFiveThirdXPIconSprite.w = 0.016+0.003
|
|
|
|
// Height
|
|
PlayerOneXPIconSprite.h = 0.032+0.004
|
|
PlayerOneSecXPIconSprite.h = 0.032+0.004
|
|
PlayerOneThirdXPIconSprite.h = 0.032+0.004
|
|
|
|
PlayerTwoXPIconSprite.h = 0.032+0.004
|
|
PlayerTwoSecXPIconSprite.h = 0.032+0.004
|
|
PlayerTwoThirdXPIconSprite.h = 0.032+0.004
|
|
|
|
PlayerThreeXPIconSprite.h = 0.032+0.004
|
|
PlayerThreeSecXPIconSprite.h = 0.032+0.004
|
|
PlayerThreeThirdXPIconSprite.h = 0.032+0.004
|
|
|
|
PlayerFourXPIconSprite.h = 0.032+0.004
|
|
PlayerFourSecXPIconSprite.h = 0.032+0.004
|
|
PlayerFourThirdXPIconSprite.h = 0.032+0.004
|
|
|
|
PlayerFiveXPIconSprite.h = 0.032+0.004
|
|
PlayerFiveSecXPIconSprite.h = 0.032+0.004
|
|
PlayerFiveThirdXPIconSprite.h = 0.032+0.004
|
|
|
|
//Alpha
|
|
PlayerOneXPIconSprite.a = 255
|
|
PlayerOneSecXPIconSprite.a = 255
|
|
PlayerOneThirdXPIconSprite.a = 255
|
|
|
|
PlayerTwoXPIconSprite.a = 255
|
|
PlayerTwoSecXPIconSprite.a = 255
|
|
PlayerTwoThirdXPIconSprite.a = 255
|
|
|
|
PlayerThreeXPIconSprite.a = 255
|
|
PlayerThreeSecXPIconSprite.a = 255
|
|
PlayerThreeThirdXPIconSprite.a = 255
|
|
|
|
PlayerFourXPIconSprite.a = 255
|
|
PlayerFourSecXPIconSprite.a = 255
|
|
PlayerFourThirdXPIconSprite.a = 255
|
|
|
|
PlayerFiveXPIconSprite.a = 255
|
|
PlayerFiveSecXPIconSprite.a = 255
|
|
PlayerFiveThirdXPIconSprite.a = 255
|
|
|
|
// HUD Colour
|
|
SET_SPRITE_HUD_COLOUR(PlayerOneXPIconSprite, HUD_COLOUR_WHITE)
|
|
SET_SPRITE_HUD_COLOUR(PlayerOneSecXPIconSprite, HUD_COLOUR_WHITE)
|
|
SET_SPRITE_HUD_COLOUR(PlayerOneThirdXPIconSprite, HUD_COLOUR_WHITE)
|
|
|
|
SET_SPRITE_HUD_COLOUR(PlayerTwoXPIconSprite, HUD_COLOUR_WHITE)
|
|
SET_SPRITE_HUD_COLOUR(PlayerTwoSecXPIconSprite, HUD_COLOUR_WHITE)
|
|
SET_SPRITE_HUD_COLOUR(PlayerTwoThirdXPIconSprite, HUD_COLOUR_WHITE)
|
|
|
|
SET_SPRITE_HUD_COLOUR(PlayerThreeXPIconSprite, HUD_COLOUR_WHITE)
|
|
SET_SPRITE_HUD_COLOUR(PlayerThreeSecXPIconSprite, HUD_COLOUR_WHITE)
|
|
SET_SPRITE_HUD_COLOUR(PlayerThreeThirdXPIconSprite, HUD_COLOUR_WHITE)
|
|
|
|
SET_SPRITE_HUD_COLOUR(PlayerFourXPIconSprite, HUD_COLOUR_WHITE)
|
|
SET_SPRITE_HUD_COLOUR(PlayerFourSecXPIconSprite, HUD_COLOUR_WHITE)
|
|
SET_SPRITE_HUD_COLOUR(PlayerFourThirdXPIconSprite, HUD_COLOUR_WHITE)
|
|
|
|
SET_SPRITE_HUD_COLOUR(PlayerFiveXPIconSprite, HUD_COLOUR_WHITE)
|
|
SET_SPRITE_HUD_COLOUR(PlayerFiveSecXPIconSprite, HUD_COLOUR_WHITE)
|
|
SET_SPRITE_HUD_COLOUR(PlayerFiveThirdXPIconSprite, HUD_COLOUR_WHITE)
|
|
|
|
|
|
// Ped Headshot Vars
|
|
PEDHEADSHOT_ID pPlayerOneHeadshotID
|
|
PEDHEADSHOT_ID pPlayerTwoHeadshotID
|
|
PEDHEADSHOT_ID pPlayerThreeHeadshotID
|
|
PEDHEADSHOT_ID pPlayerFourHeadshotID
|
|
PEDHEADSHOT_ID pPlayerFiveHeadshotID
|
|
|
|
// TXD Name Vars
|
|
TEXT_LABEL_23 tlPlayerOneTextureDictName = ""
|
|
TEXT_LABEL_23 tlPlayerOneSecTextureDictName = ""
|
|
TEXT_LABEL_23 tlPlayerOneThirdTextureDictName = ""
|
|
|
|
TEXT_LABEL_23 tlPlayerTwoTextureDictName = ""
|
|
TEXT_LABEL_23 tlPlayerTwoSecTextureDictName = ""
|
|
TEXT_LABEL_23 tlPlayerTwoThirdTextureDictName = ""
|
|
|
|
TEXT_LABEL_23 tlPlayerThreeTextureDictName = ""
|
|
TEXT_LABEL_23 tlPlayerThreeSecTextureDictName = ""
|
|
TEXT_LABEL_23 tlPlayerThreeThirdTextureDictName = ""
|
|
|
|
TEXT_LABEL_23 tlPlayerFourTextureDictName = ""
|
|
TEXT_LABEL_23 tlPlayerFourSecTextureDictName = ""
|
|
TEXT_LABEL_23 tlPlayerFourThirdTextureDictName = ""
|
|
|
|
TEXT_LABEL_23 tlPlayerFiveTextureDictName = ""
|
|
TEXT_LABEL_23 tlPlayerFiveSecTextureDictName = ""
|
|
TEXT_LABEL_23 tlPlayerFiveThirdTextureDictName = ""
|
|
|
|
// Sprite Name Vars
|
|
TEXT_LABEL_23 tlPlayerOneTextureSpriteName = ""
|
|
TEXT_LABEL_23 tlPlayerOneSecTextureSpriteName = ""
|
|
TEXT_LABEL_23 tlPlayerOneThirdTextureSpriteName = ""
|
|
|
|
TEXT_LABEL_23 tlPlayerTwoTextureSpriteName = ""
|
|
TEXT_LABEL_23 tlPlayerTwoSecTextureSpriteName = ""
|
|
TEXT_LABEL_23 tlPlayerTwoThirdTextureSpriteName = ""
|
|
|
|
TEXT_LABEL_23 tlPlayerThreeTextureSpriteName = ""
|
|
TEXT_LABEL_23 tlPlayerThreeSecTextureSpriteName = ""
|
|
TEXT_LABEL_23 tlPlayerThreeThirdTextureSpriteName = ""
|
|
|
|
TEXT_LABEL_23 tlPlayerFourTextureSpriteName = ""
|
|
TEXT_LABEL_23 tlPlayerFourSecTextureSpriteName = ""
|
|
TEXT_LABEL_23 tlPlayerFourThirdTextureSpriteName = ""
|
|
|
|
TEXT_LABEL_23 tlPlayerFiveTextureSpriteName = ""
|
|
TEXT_LABEL_23 tlPlayerFiveSecTextureSpriteName = ""
|
|
TEXT_LABEL_23 tlPlayerFiveThirdTextureSpriteName = ""
|
|
|
|
// Texture HUD Colour Vars
|
|
HUD_COLOURS PlayerOneTextureHudColour = HUD_COLOUR_WHITE
|
|
HUD_COLOURS PlayerOneSecTextureHudColour = HUD_COLOUR_WHITE
|
|
HUD_COLOURS PlayerOneThirdTextureHudColour = HUD_COLOUR_WHITE
|
|
|
|
HUD_COLOURS PlayerTwoTextureHudColour = HUD_COLOUR_WHITE
|
|
HUD_COLOURS PlayerTwoSecTextureHudColour = HUD_COLOUR_WHITE
|
|
HUD_COLOURS PlayerTwoThirdTextureHudColour = HUD_COLOUR_WHITE
|
|
|
|
HUD_COLOURS PlayerThreeTextureHudColour = HUD_COLOUR_WHITE
|
|
HUD_COLOURS PlayerThreeSecTextureHudColour = HUD_COLOUR_WHITE
|
|
HUD_COLOURS PlayerThreeThirdTextureHudColour = HUD_COLOUR_WHITE
|
|
|
|
HUD_COLOURS PlayerFourTextureHudColour = HUD_COLOUR_WHITE
|
|
HUD_COLOURS PlayerFourSecTextureHudColour = HUD_COLOUR_WHITE
|
|
HUD_COLOURS PlayerFourThirdTextureHudColour = HUD_COLOUR_WHITE
|
|
|
|
HUD_COLOURS PlayerFiveTextureHudColour = HUD_COLOUR_WHITE
|
|
HUD_COLOURS PlayerFiveSecTextureHudColour = HUD_COLOUR_WHITE
|
|
HUD_COLOURS PlayerFiveThirdTextureHudColour = HUD_COLOUR_WHITE
|
|
|
|
GET_HUD_POWERUP_DATA(aPowerupOne, PlayerOneXPIconSprite, tlPlayerOneTextureDictName, tlPlayerOneTextureSpriteName, PlayerOneTextureHudColour, pPlayerOne, pPlayerOneHeadshotID, PlayerOneSecXPIconSprite, tlPlayerOneSecTextureDictName, tlPlayerOneSecTextureSpriteName, PlayerOneSecTextureHudColour, TitleColour, ePowerupOneColour)
|
|
GET_HUD_POWERUP_DATA(aPowerupTwo, PlayerTwoXPIconSprite, tlPlayerTwoTextureDictName, tlPlayerTwoTextureSpriteName, PlayerTwoTextureHudColour, pPlayerTwo, pPlayerTwoHeadshotID, PlayerTwoSecXPIconSprite, tlPlayerTwoSecTextureDictName, tlPlayerTwoSecTextureSpriteName, PlayerTwoSecTextureHudColour, TitleColour, ePowerupTwoColour)
|
|
GET_HUD_POWERUP_DATA(aPowerupThree, PlayerThreeXPIconSprite, tlPlayerThreeTextureDictName, tlPlayerThreeTextureSpriteName, PlayerThreeTextureHudColour, pPlayerThree, pPlayerThreeHeadshotID, PlayerThreeSecXPIconSprite, tlPlayerThreeSecTextureDictName, tlPlayerThreeSecTextureSpriteName, PlayerThreeSecTextureHudColour, TitleColour, ePowerupThreeColour)
|
|
GET_HUD_POWERUP_DATA(aPowerupFour, PlayerFourXPIconSprite, tlPlayerFourTextureDictName, tlPlayerFourTextureSpriteName, PlayerFourTextureHudColour, pPlayerFour, pPlayerFourHeadshotID, PlayerFourSecXPIconSprite, tlPlayerFourSecTextureDictName, tlPlayerFourSecTextureSpriteName, PlayerFourSecTextureHudColour, TitleColour, ePowerupFourColour)
|
|
GET_HUD_POWERUP_DATA(aPowerupFive, PlayerFiveXPIconSprite, tlPlayerFiveTextureDictName, tlPlayerFiveTextureSpriteName, PlayerFiveTextureHudColour, pPlayerFive, pPlayerFiveHeadshotID, PlayerFiveSecXPIconSprite, tlPlayerFiveSecTextureDictName, tlPlayerFiveSecTextureSpriteName, PlayerFiveSecTextureHudColour, TitleColour, ePowerupFiveColour)
|
|
|
|
|
|
|
|
|
|
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBars")
|
|
|
|
IF REQUEST_AND_LOAD_ALL_FIVE_TEXTURE_DICTIONARIES(tlPlayerOneTextureDictName, tlPlayerOneSecTextureDictName,
|
|
tlPlayerTwoTextureDictName, tlPlayerTwoSecTextureDictName,
|
|
tlPlayerThreeTextureDictName, tlPlayerThreeSecTextureDictName,
|
|
tlPlayerFourTextureDictName, tlPlayerFourSecTextureDictName,
|
|
tlPlayerFiveTextureDictName, tlPlayerFiveSecTextureDictName)
|
|
AND HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBars")
|
|
|
|
GFX_DRAW_ORDER anOrder = SET_GFX_TIMERS_DRAW_ORDER()
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
|
|
Overlays.x = TitlePlace.x
|
|
Overlays.y = TitlePlace.y
|
|
|
|
IF Number < 1000000
|
|
Overlays.x += TIMER_OVERLAY_X
|
|
Overlays.y += TIMER_OVERLAY_Y_SCORE
|
|
Overlays.w += TIMER_OVERLAY_W
|
|
Overlays.h += TIMER_OVERLAY_H_SCORE
|
|
Overlays.r += 255
|
|
Overlays.g += 255
|
|
Overlays.b += 255
|
|
Overlays.a = TIMER_OVERLAY_ALPHA //reduce by 20% 931421
|
|
ELSE
|
|
Overlays.x += TIMER_OVERLAY_X
|
|
Overlays.y += TIMER_OVERLAY_Y_SCORESML
|
|
Overlays.w += TIMER_OVERLAY_W
|
|
Overlays.h += TIMER_OVERLAY_H_SCORESML
|
|
Overlays.r += 255
|
|
Overlays.g += 255
|
|
Overlays.b += 255
|
|
Overlays.a = TIMER_OVERLAY_ALPHA //reduce by 20% 931421
|
|
ENDIF
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
Overlays.x += TIMER_OVERLAY_X_NON_ROMANIC_OFFSET
|
|
Overlays.w += TIMER_OVERLAY_W_NON_ROMANIC_OFFSET
|
|
ENDIF
|
|
|
|
MPGlobalsScoreHud.TopOfTimers += Overlays.h
|
|
|
|
DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg", Overlays)
|
|
|
|
SET_TEXT_STYLE(TitleStyle)
|
|
|
|
|
|
IF iAvatarFlashTime = 0
|
|
RESET_GENERIC_FIVE_ICON_SCORE_BAR_AVATAR_FLASHING(Index)
|
|
ENDIF
|
|
|
|
BOOL bFlashAvatarThisFrame
|
|
IF DO_FLASHING(iAvatarFlashTime, MPGlobalsScoreHud.iFlashing_GenericFiveIconScoreBar_Avatar_Hud[index],MPGlobalsScoreHud.iFlashing_GenericFiveIconScoreBar_Avatar_MiniHud[index])
|
|
bFlashAvatarThisFrame = TRUE
|
|
ELSE
|
|
bFlashAvatarThisFrame = FALSE
|
|
ENDIF
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IF bFlashAvatar
|
|
AND GET_TOGGLE_PAUSED_RENDERPHASES_STATUS()
|
|
|
|
IF bFlashAvatarThisFrame
|
|
IF pAvatarToFlash = pPlayerOne
|
|
AND iAvatarSlotToFlash = 5
|
|
DRAW_2D_SPRITE_FROM_ALREADY_REQUESTED_POWERUP_DATA(aPowerupOne, PlayerOneXPIconSprite, PlayerOneSecXPIconSprite, tlPlayerOneTextureDictName, tlPlayerOneTextureSpriteName, PlayerOneTextureHudColour, tlPlayerOneSecTextureDictName, tlPlayerOneSecTextureSpriteName, PlayerOneSecTextureHudColour)
|
|
ENDIF
|
|
IF pAvatarToFlash = pPlayerTwo
|
|
AND iAvatarSlotToFlash = 4
|
|
DRAW_2D_SPRITE_FROM_ALREADY_REQUESTED_POWERUP_DATA(aPowerupTwo, PlayerTwoXPIconSprite, PlayerTwoSecXPIconSprite, tlPlayerTwoTextureDictName, tlPlayerTwoTextureSpriteName, PlayerTwoTextureHudColour, tlPlayerTwoSecTextureDictName, tlPlayerTwoSecTextureSpriteName, PlayerTwoSecTextureHudColour)
|
|
ENDIF
|
|
IF pAvatarToFlash = pPlayerThree
|
|
AND iAvatarSlotToFlash = 3
|
|
DRAW_2D_SPRITE_FROM_ALREADY_REQUESTED_POWERUP_DATA(aPowerupThree, PlayerThreeXPIconSprite, PlayerThreeSecXPIconSprite, tlPlayerThreeTextureDictName, tlPlayerThreeTextureSpriteName, PlayerThreeTextureHudColour, tlPlayerThreeSecTextureDictName, tlPlayerThreeSecTextureSpriteName, PlayerThreeSecTextureHudColour)
|
|
ENDIF
|
|
IF pAvatarToFlash = pPlayerFour
|
|
AND iAvatarSlotToFlash = 2
|
|
DRAW_2D_SPRITE_FROM_ALREADY_REQUESTED_POWERUP_DATA(aPowerupFour, PlayerFourXPIconSprite, PlayerFourSecXPIconSprite, tlPlayerFourTextureDictName, tlPlayerFourTextureSpriteName, PlayerFourTextureHudColour, tlPlayerFourSecTextureDictName, tlPlayerFourSecTextureSpriteName, PlayerFourSecTextureHudColour)
|
|
ENDIF
|
|
IF pAvatarToFlash = pPlayerFive
|
|
AND iAvatarSlotToFlash = 1
|
|
DRAW_2D_SPRITE_FROM_ALREADY_REQUESTED_POWERUP_DATA(aPowerupFive, PlayerFiveXPIconSprite, PlayerFiveSecXPIconSprite, tlPlayerFiveTextureDictName, tlPlayerFiveTextureSpriteName, PlayerFiveTextureHudColour, tlPlayerFiveSecTextureDictName, tlPlayerFiveSecTextureSpriteName, PlayerFiveSecTextureHudColour)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
// Draw everyone who isn't flashing
|
|
IF pAvatarToFlash = pPlayerOne
|
|
AND iAvatarSlotToFlash != 5
|
|
DRAW_2D_SPRITE_FROM_ALREADY_REQUESTED_POWERUP_DATA(aPowerupOne, PlayerOneXPIconSprite, PlayerOneSecXPIconSprite, tlPlayerOneTextureDictName, tlPlayerOneTextureSpriteName, PlayerOneTextureHudColour, tlPlayerOneSecTextureDictName, tlPlayerOneSecTextureSpriteName, PlayerOneSecTextureHudColour)
|
|
ENDIF
|
|
IF pAvatarToFlash = pPlayerTwo
|
|
AND iAvatarSlotToFlash != 4
|
|
DRAW_2D_SPRITE_FROM_ALREADY_REQUESTED_POWERUP_DATA(aPowerupTwo, PlayerTwoXPIconSprite, PlayerTwoSecXPIconSprite, tlPlayerTwoTextureDictName, tlPlayerTwoTextureSpriteName, PlayerTwoTextureHudColour, tlPlayerTwoSecTextureDictName, tlPlayerTwoSecTextureSpriteName, PlayerTwoSecTextureHudColour)
|
|
ENDIF
|
|
IF pAvatarToFlash = pPlayerThree
|
|
AND iAvatarSlotToFlash != 3
|
|
DRAW_2D_SPRITE_FROM_ALREADY_REQUESTED_POWERUP_DATA(aPowerupThree, PlayerThreeXPIconSprite, PlayerThreeSecXPIconSprite, tlPlayerThreeTextureDictName, tlPlayerThreeTextureSpriteName, PlayerThreeTextureHudColour, tlPlayerThreeSecTextureDictName, tlPlayerThreeSecTextureSpriteName, PlayerThreeSecTextureHudColour)
|
|
ENDIF
|
|
IF pAvatarToFlash = pPlayerFour
|
|
AND iAvatarSlotToFlash != 2
|
|
DRAW_2D_SPRITE_FROM_ALREADY_REQUESTED_POWERUP_DATA(aPowerupFour, PlayerFourXPIconSprite, PlayerFourSecXPIconSprite, tlPlayerFourTextureDictName, tlPlayerFourTextureSpriteName, PlayerFourTextureHudColour, tlPlayerFourSecTextureDictName, tlPlayerFourSecTextureSpriteName, PlayerFourSecTextureHudColour)
|
|
ENDIF
|
|
IF pAvatarToFlash = pPlayerFive
|
|
AND iAvatarSlotToFlash != 1
|
|
DRAW_2D_SPRITE_FROM_ALREADY_REQUESTED_POWERUP_DATA(aPowerupFive, PlayerFiveXPIconSprite, PlayerFiveSecXPIconSprite, tlPlayerFiveTextureDictName, tlPlayerFiveTextureSpriteName, PlayerFiveTextureHudColour, tlPlayerFiveSecTextureDictName, tlPlayerFiveSecTextureSpriteName, PlayerFiveSecTextureHudColour)
|
|
ENDIF
|
|
|
|
// Draw everyone who isn't flashing
|
|
IF pAvatarToFlash != pPlayerOne
|
|
DRAW_2D_SPRITE_FROM_ALREADY_REQUESTED_POWERUP_DATA(aPowerupOne, PlayerOneXPIconSprite, PlayerOneSecXPIconSprite, tlPlayerOneTextureDictName, tlPlayerOneTextureSpriteName, PlayerOneTextureHudColour, tlPlayerOneSecTextureDictName, tlPlayerOneSecTextureSpriteName, PlayerOneSecTextureHudColour)
|
|
ENDIF
|
|
IF pAvatarToFlash != pPlayerTwo
|
|
DRAW_2D_SPRITE_FROM_ALREADY_REQUESTED_POWERUP_DATA(aPowerupTwo, PlayerTwoXPIconSprite, PlayerTwoSecXPIconSprite, tlPlayerTwoTextureDictName, tlPlayerTwoTextureSpriteName, PlayerTwoTextureHudColour, tlPlayerTwoSecTextureDictName, tlPlayerTwoSecTextureSpriteName, PlayerTwoSecTextureHudColour)
|
|
ENDIF
|
|
IF pAvatarToFlash != pPlayerThree
|
|
DRAW_2D_SPRITE_FROM_ALREADY_REQUESTED_POWERUP_DATA(aPowerupThree, PlayerThreeXPIconSprite, PlayerThreeSecXPIconSprite, tlPlayerThreeTextureDictName, tlPlayerThreeTextureSpriteName, PlayerThreeTextureHudColour, tlPlayerThreeSecTextureDictName, tlPlayerThreeSecTextureSpriteName, PlayerThreeSecTextureHudColour)
|
|
ENDIF
|
|
IF pAvatarToFlash != pPlayerFour
|
|
DRAW_2D_SPRITE_FROM_ALREADY_REQUESTED_POWERUP_DATA(aPowerupFour, PlayerFourXPIconSprite, PlayerFourSecXPIconSprite, tlPlayerFourTextureDictName, tlPlayerFourTextureSpriteName, PlayerFourTextureHudColour, tlPlayerFourSecTextureDictName, tlPlayerFourSecTextureSpriteName, PlayerFourSecTextureHudColour)
|
|
ENDIF
|
|
IF pAvatarToFlash != pPlayerFive
|
|
DRAW_2D_SPRITE_FROM_ALREADY_REQUESTED_POWERUP_DATA(aPowerupFive, PlayerFiveXPIconSprite, PlayerFiveSecXPIconSprite, tlPlayerFiveTextureDictName, tlPlayerFiveTextureSpriteName, PlayerFiveTextureHudColour, tlPlayerFiveSecTextureDictName, tlPlayerFiveSecTextureSpriteName, PlayerFiveSecTextureHudColour)
|
|
ENDIF
|
|
ELSE
|
|
|
|
DRAW_2D_SPRITE_FROM_ALREADY_REQUESTED_POWERUP_DATA(aPowerupOne, PlayerOneXPIconSprite, PlayerOneSecXPIconSprite, tlPlayerOneTextureDictName, tlPlayerOneTextureSpriteName, PlayerOneTextureHudColour, tlPlayerOneSecTextureDictName, tlPlayerOneSecTextureSpriteName, PlayerOneSecTextureHudColour)
|
|
DRAW_2D_SPRITE_FROM_ALREADY_REQUESTED_POWERUP_DATA(aPowerupTwo, PlayerTwoXPIconSprite, PlayerTwoSecXPIconSprite, tlPlayerTwoTextureDictName, tlPlayerTwoTextureSpriteName, PlayerTwoTextureHudColour, tlPlayerTwoSecTextureDictName, tlPlayerTwoSecTextureSpriteName, PlayerTwoSecTextureHudColour)
|
|
DRAW_2D_SPRITE_FROM_ALREADY_REQUESTED_POWERUP_DATA(aPowerupThree, PlayerThreeXPIconSprite, PlayerThreeSecXPIconSprite, tlPlayerThreeTextureDictName, tlPlayerThreeTextureSpriteName, PlayerThreeTextureHudColour, tlPlayerThreeSecTextureDictName, tlPlayerThreeSecTextureSpriteName, PlayerThreeSecTextureHudColour)
|
|
DRAW_2D_SPRITE_FROM_ALREADY_REQUESTED_POWERUP_DATA(aPowerupFour, PlayerFourXPIconSprite, PlayerFourSecXPIconSprite, tlPlayerFourTextureDictName, tlPlayerFourTextureSpriteName, PlayerFourTextureHudColour, tlPlayerFourSecTextureDictName, tlPlayerFourSecTextureSpriteName, PlayerFourSecTextureHudColour)
|
|
DRAW_2D_SPRITE_FROM_ALREADY_REQUESTED_POWERUP_DATA(aPowerupFive, PlayerFiveXPIconSprite, PlayerFiveSecXPIconSprite, tlPlayerFiveTextureDictName, tlPlayerFiveTextureSpriteName, PlayerFiveTextureHudColour, tlPlayerFiveSecTextureDictName, tlPlayerFiveSecTextureSpriteName, PlayerFiveSecTextureHudColour)
|
|
ENDIF
|
|
|
|
|
|
|
|
IF iPulseTime = 0
|
|
RESET_GENERIC_FIVE_ICON_SCORE_BAR_FLASHING(Index)
|
|
ENDIF
|
|
|
|
BOOL bPulseThisFrame
|
|
IF DO_FLASHING(iPulseTime, MPGlobalsScoreHud.iFlashing_GenericFiveIconScoreBar_Hud[index],MPGlobalsScoreHud.iFlashing_GenericFiveIconScoreBar_MiniHud[index])
|
|
bPulseThisFrame = TRUE
|
|
ELSE
|
|
bPulseThisFrame = FALSE
|
|
ENDIF
|
|
|
|
IF bEnablePlayerHighlight
|
|
|
|
SWITCH iInstanceToHighlight
|
|
CASE -1 // Highlight all instances of player
|
|
|
|
|
|
GET_HUD_HIGHLIGHTED_PLAYER_DATA(PlayerOneThirdXPIconSprite, tlPlayerOneThirdTextureDictName, tlPlayerOneThirdTextureSpriteName, PlayerOneThirdTextureHudColour, pPlayerOne, pPlayerToHighlight, TitleColour)
|
|
GET_HUD_HIGHLIGHTED_PLAYER_DATA(PlayerTwoThirdXPIconSprite, tlPlayerTwoThirdTextureDictName, tlPlayerTwoThirdTextureSpriteName, PlayerTwoThirdTextureHudColour, pPlayerTwo, pPlayerToHighlight, TitleColour)
|
|
GET_HUD_HIGHLIGHTED_PLAYER_DATA(PlayerThreeThirdXPIconSprite, tlPlayerThreeThirdTextureDictName, tlPlayerThreeThirdTextureSpriteName, PlayerThreeThirdTextureHudColour, pPlayerThree, pPlayerToHighlight, TitleColour)
|
|
GET_HUD_HIGHLIGHTED_PLAYER_DATA(PlayerFourThirdXPIconSprite, tlPlayerFourThirdTextureDictName, tlPlayerFourThirdTextureSpriteName, PlayerFourThirdTextureHudColour, pPlayerFour, pPlayerToHighlight, TitleColour)
|
|
GET_HUD_HIGHLIGHTED_PLAYER_DATA(PlayerFiveThirdXPIconSprite, tlPlayerFiveThirdTextureDictName, tlPlayerFiveThirdTextureSpriteName, PlayerFiveThirdTextureHudColour, pPlayerFive, pPlayerToHighlight, TitleColour)
|
|
|
|
IF bPulseHighlight
|
|
IF bPulseThisFrame
|
|
DRAW_2D_SPRITE_FROM_HIGHLIGHTED_PLAYER_DATA(PlayerOneThirdXPIconSprite, tlPlayerOneThirdTextureDictName, tlPlayerOneThirdTextureSpriteName, PlayerOneThirdTextureHudColour)
|
|
DRAW_2D_SPRITE_FROM_HIGHLIGHTED_PLAYER_DATA(PlayerTwoThirdXPIconSprite, tlPlayerTwoThirdTextureDictName, tlPlayerTwoThirdTextureSpriteName, PlayerTwoThirdTextureHudColour)
|
|
DRAW_2D_SPRITE_FROM_HIGHLIGHTED_PLAYER_DATA(PlayerThreeThirdXPIconSprite, tlPlayerThreeThirdTextureDictName, tlPlayerThreeThirdTextureSpriteName, PlayerThreeThirdTextureHudColour)
|
|
DRAW_2D_SPRITE_FROM_HIGHLIGHTED_PLAYER_DATA(PlayerFourThirdXPIconSprite, tlPlayerFourThirdTextureDictName, tlPlayerFourThirdTextureSpriteName, PlayerFourThirdTextureHudColour)
|
|
DRAW_2D_SPRITE_FROM_HIGHLIGHTED_PLAYER_DATA(PlayerFiveThirdXPIconSprite, tlPlayerFiveThirdTextureDictName, tlPlayerFiveThirdTextureSpriteName, PlayerFiveThirdTextureHudColour)
|
|
ENDIF
|
|
ELSE
|
|
DRAW_2D_SPRITE_FROM_HIGHLIGHTED_PLAYER_DATA(PlayerOneThirdXPIconSprite, tlPlayerOneThirdTextureDictName, tlPlayerOneThirdTextureSpriteName, PlayerOneThirdTextureHudColour)
|
|
DRAW_2D_SPRITE_FROM_HIGHLIGHTED_PLAYER_DATA(PlayerTwoThirdXPIconSprite, tlPlayerTwoThirdTextureDictName, tlPlayerTwoThirdTextureSpriteName, PlayerTwoThirdTextureHudColour)
|
|
DRAW_2D_SPRITE_FROM_HIGHLIGHTED_PLAYER_DATA(PlayerThreeThirdXPIconSprite, tlPlayerThreeThirdTextureDictName, tlPlayerThreeThirdTextureSpriteName, PlayerThreeThirdTextureHudColour)
|
|
DRAW_2D_SPRITE_FROM_HIGHLIGHTED_PLAYER_DATA(PlayerFourThirdXPIconSprite, tlPlayerFourThirdTextureDictName, tlPlayerFourThirdTextureSpriteName, PlayerFourThirdTextureHudColour)
|
|
DRAW_2D_SPRITE_FROM_HIGHLIGHTED_PLAYER_DATA(PlayerFiveThirdXPIconSprite, tlPlayerFiveThirdTextureDictName, tlPlayerFiveThirdTextureSpriteName, PlayerFiveThirdTextureHudColour)
|
|
ENDIF
|
|
|
|
BREAK
|
|
CASE 0 // Default - Do nothing
|
|
BREAK
|
|
CASE 1 // Highlight player in slot 1
|
|
GET_HUD_HIGHLIGHTED_PLAYER_DATA(PlayerOneThirdXPIconSprite, tlPlayerOneThirdTextureDictName, tlPlayerOneThirdTextureSpriteName, PlayerOneThirdTextureHudColour, pPlayerOne, pPlayerToHighlight, TitleColour)
|
|
IF bPulseHighlight
|
|
IF bPulseThisFrame
|
|
DRAW_2D_SPRITE_FROM_HIGHLIGHTED_PLAYER_DATA(PlayerOneThirdXPIconSprite, tlPlayerOneThirdTextureDictName, tlPlayerOneThirdTextureSpriteName, PlayerOneThirdTextureHudColour)
|
|
ENDIF
|
|
ELSE
|
|
DRAW_2D_SPRITE_FROM_HIGHLIGHTED_PLAYER_DATA(PlayerOneThirdXPIconSprite, tlPlayerOneThirdTextureDictName, tlPlayerOneThirdTextureSpriteName, PlayerOneThirdTextureHudColour)
|
|
ENDIF
|
|
BREAK
|
|
CASE 2 // Highlight player in slot 2
|
|
GET_HUD_HIGHLIGHTED_PLAYER_DATA(PlayerTwoThirdXPIconSprite, tlPlayerTwoThirdTextureDictName, tlPlayerTwoThirdTextureSpriteName, PlayerTwoThirdTextureHudColour, pPlayerTwo, pPlayerToHighlight, TitleColour)
|
|
IF bPulseHighlight
|
|
IF bPulseThisFrame
|
|
DRAW_2D_SPRITE_FROM_HIGHLIGHTED_PLAYER_DATA(PlayerTwoThirdXPIconSprite, tlPlayerTwoThirdTextureDictName, tlPlayerTwoThirdTextureSpriteName, PlayerTwoThirdTextureHudColour)
|
|
ENDIF
|
|
ELSE
|
|
DRAW_2D_SPRITE_FROM_HIGHLIGHTED_PLAYER_DATA(PlayerTwoThirdXPIconSprite, tlPlayerTwoThirdTextureDictName, tlPlayerTwoThirdTextureSpriteName, PlayerTwoThirdTextureHudColour)
|
|
ENDIF
|
|
BREAK
|
|
CASE 3 // Highlight player in slot 3
|
|
GET_HUD_HIGHLIGHTED_PLAYER_DATA(PlayerThreeThirdXPIconSprite, tlPlayerThreeThirdTextureDictName, tlPlayerThreeThirdTextureSpriteName, PlayerThreeThirdTextureHudColour, pPlayerThree, pPlayerToHighlight, TitleColour)
|
|
IF bPulseHighlight
|
|
IF bPulseThisFrame
|
|
DRAW_2D_SPRITE_FROM_HIGHLIGHTED_PLAYER_DATA(PlayerThreeThirdXPIconSprite, tlPlayerThreeThirdTextureDictName, tlPlayerThreeThirdTextureSpriteName, PlayerThreeThirdTextureHudColour)
|
|
ENDIF
|
|
ELSE
|
|
DRAW_2D_SPRITE_FROM_HIGHLIGHTED_PLAYER_DATA(PlayerThreeThirdXPIconSprite, tlPlayerThreeThirdTextureDictName, tlPlayerThreeThirdTextureSpriteName, PlayerThreeThirdTextureHudColour)
|
|
ENDIF
|
|
BREAK
|
|
CASE 4 // Highlight player in slot 4
|
|
GET_HUD_HIGHLIGHTED_PLAYER_DATA(PlayerFourThirdXPIconSprite, tlPlayerFourThirdTextureDictName, tlPlayerFourThirdTextureSpriteName, PlayerFourThirdTextureHudColour, pPlayerFour, pPlayerToHighlight, TitleColour)
|
|
IF bPulseHighlight
|
|
IF bPulseThisFrame
|
|
DRAW_2D_SPRITE_FROM_HIGHLIGHTED_PLAYER_DATA(PlayerFourThirdXPIconSprite, tlPlayerFourThirdTextureDictName, tlPlayerFourThirdTextureSpriteName, PlayerFourThirdTextureHudColour)
|
|
ENDIF
|
|
ELSE
|
|
DRAW_2D_SPRITE_FROM_HIGHLIGHTED_PLAYER_DATA(PlayerFourThirdXPIconSprite, tlPlayerFourThirdTextureDictName, tlPlayerFourThirdTextureSpriteName, PlayerFourThirdTextureHudColour)
|
|
ENDIF
|
|
BREAK
|
|
CASE 5 // Highlight player in slot 5
|
|
GET_HUD_HIGHLIGHTED_PLAYER_DATA(PlayerFiveThirdXPIconSprite, tlPlayerFiveThirdTextureDictName, tlPlayerFiveThirdTextureSpriteName, PlayerFiveThirdTextureHudColour, pPlayerFive, pPlayerToHighlight, TitleColour)
|
|
IF bPulseHighlight
|
|
IF bPulseThisFrame
|
|
DRAW_2D_SPRITE_FROM_HIGHLIGHTED_PLAYER_DATA(PlayerFiveThirdXPIconSprite, tlPlayerFiveThirdTextureDictName, tlPlayerFiveThirdTextureSpriteName, PlayerFiveThirdTextureHudColour)
|
|
ENDIF
|
|
ELSE
|
|
DRAW_2D_SPRITE_FROM_HIGHLIGHTED_PLAYER_DATA(PlayerFiveThirdXPIconSprite, tlPlayerFiveThirdTextureDictName, tlPlayerFiveThirdTextureSpriteName, PlayerFiveThirdTextureHudColour)
|
|
ENDIF
|
|
BREAK
|
|
ENDSWITCH
|
|
ENDIF
|
|
|
|
SET_TEXT_STYLE(NumberStyle)
|
|
|
|
IF DrawInfinity
|
|
DRAW_TEXT_WITH_PLAYER_NAME(NumberPlace, NumberStyle, "∞", "", HUD_COLOUR_WHITE, FONT_RIGHT)
|
|
ELSE
|
|
IF IS_STRING_EMPTY_HUD(NumberString)
|
|
IF MaXNumber = 0
|
|
IF isFloat = FALSE
|
|
IF Number != -999
|
|
DRAW_TEXT_WITH_NUMBER(NumberPlace,NumberStyle,"NUMBER", Number,FONT_RIGHT)
|
|
ENDIF
|
|
ELSE
|
|
DRAW_TEXT_WITH_FLOAT(NumberPlace, NumberStyle,"NUMBER", FloatValue,g_b_iNumberOfDecimalPlacesForScore,FONT_RIGHT)
|
|
ENDIF
|
|
ELSE
|
|
DRAW_TEXT_WITH_2_NUMBERS(NumberPlace,NumberStyle,"TIMER_DASHES", Number, MaXNumber ,FONT_RIGHT)
|
|
ENDIF
|
|
ELSE
|
|
|
|
IF ARE_STRINGS_EQUAL("HUD_CASH", NumberString)
|
|
OR ARE_STRINGS_EQUAL("HUD_CASH_S", NumberString)
|
|
NumberString = "HUD_CASH_S"
|
|
NumberStyle.aFont = FONT_STYLE_FIXED_WIDTH_NUMBERS
|
|
SET_TEXT_STYLE(NumberStyle)
|
|
DRAW_CASH_WITH_NUMBER(NumberPlace,NumberStyle,NumberString, Number, FONT_RIGHT)
|
|
|
|
ELIF ARE_STRINGS_EQUAL("HUD_CASH_NEG", NumberString)
|
|
OR ARE_STRINGS_EQUAL("HUD_CASH_NEG_S", NumberString)
|
|
NumberStyle.aFont = FONT_STYLE_FIXED_WIDTH_NUMBERS
|
|
SET_TEXT_STYLE(NumberStyle)
|
|
NumberString = "HUD_CASH_NEG_S"
|
|
DRAW_CASH_WITH_NUMBER(NumberPlace,NumberStyle,NumberString, Number, FONT_RIGHT)
|
|
|
|
ELSE
|
|
IF isFloat = FALSE
|
|
DRAW_TEXT_WITH_NUMBER(NumberPlace,NumberStyle,NumberString, Number, FONT_RIGHT)
|
|
ELSE
|
|
DRAW_TEXT_WITH_FLOAT(NumberPlace,NumberStyle,NumberString, FloatValue, g_b_iNumberOfDecimalPlacesForScore,FONT_RIGHT)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
RESET_GFX_TIMERS_DRAW_ORDER()
|
|
ENDIF
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC ACTUALLY_DRAW_GENERAL_FIVE_ICON_SCORE_BAR(INT idx, INT Number, FLOAT FloatValue, STRING NumberString, BOOL isFloat, INT MaXNumber, BOOL DrawInfinity, HUD_COLOURS TitleColour, PLAYER_INDEX pPlayerOne = NULL, PLAYER_INDEX pPlayerTwo = NULL, PLAYER_INDEX pPlayerThree = NULL, PLAYER_INDEX pPlayerFour = NULL, PLAYER_INDEX pPlayerFive = NULL, ACTIVITY_POWERUP aPowerupOne = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupTwo = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupThree = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupFour = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupFive = ACTIVITY_POWERUP_NONE, PLAYER_INDEX pPlayerToHighlight = NULL, BOOL bEnablePlayerHighlight = FALSE, HUD_COLOURS ePowerupOneColour = HUD_COLOUR_PURE_WHITE, HUD_COLOURS ePowerupTwoColour = HUD_COLOUR_PURE_WHITE, HUD_COLOURS ePowerupThreeColour = HUD_COLOUR_PURE_WHITE, HUD_COLOURS ePowerupFourColour = HUD_COLOUR_PURE_WHITE, HUD_COLOURS ePowerupFiveColour = HUD_COLOUR_PURE_WHITE, INT iInstanceToHighlight = 0, BOOL bPulseHighlight = FALSE, INT iPulseTime = 9999999, PLAYER_INDEX pAvatarToFlash = NULL, BOOL bFlashAvatar = FALSE, INT iAvatarFlashTime = 9999999, INT iAvatarSlotToFlash = 0)
|
|
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_FIVE_ICON_SCORE_BAR, idx)
|
|
|
|
TEXT_STYLE TitleStyle, NumberStyle
|
|
TEXT_PLACEMENT TitlePlacement, NumberPlace
|
|
|
|
DRAW_GENERAL_FIVE_ICON_SCORE_BAR_GUTS(idx, TitleStyle, NumberStyle, TitlePlacement, NumberPlace, Number, FloatValue, NumberString, isFloat, MaXNumber, DrawInfinity, TitleColour, UIELEMENTS_BOTTOMRIGHT, pPlayerOne, pPlayerTwo, pPlayerThree, pPlayerFour, pPlayerFive, aPowerupOne, aPowerupTwo, aPowerupThree, aPowerupFour, aPowerupFive, pPlayerToHighlight, bEnablePlayerHighlight, ePowerupOneColour, ePowerupTwoColour, ePowerupThreeColour, ePowerupFourColour, ePowerupFiveColour, iInstanceToHighlight, bPulseHighlight, iPulseTime, pAvatarToFlash, bFlashAvatar, iAvatarFlashTime, iAvatarSlotToFlash)
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
IF g_DisplayTimersDisplaying
|
|
NET_NL()NET_PRINT("ACTUALLY_DRAW_GENERAL_FIVE_ICON_SCORE_BAR index = ")NET_PRINT_INT(idx)
|
|
ENDIF
|
|
#ENDIF
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC DRAW_GENERAL_SIX_ICON_BAR_GUTS(INT index, TEXT_STYLE &TitleStyle, TEXT_STYLE &NumberStyle, TEXT_PLACEMENT &TitlePlace, TEXT_PLACEMENT &NumberPlace, HUD_COLOURS TitleColour, UIELEMENTS WhichSpace, PLAYER_INDEX pPlayerOne = NULL, PLAYER_INDEX pPlayerTwo = NULL, PLAYER_INDEX pPlayerThree = NULL, PLAYER_INDEX pPlayerFour = NULL, PLAYER_INDEX pPlayerFive = NULL, PLAYER_INDEX pPlayerSix = NULL, ACTIVITY_POWERUP aPowerupOne = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupTwo = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupThree = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupFour = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupFive = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupSix = ACTIVITY_POWERUP_NONE, BOOL bFlashIconOne = FALSE, BOOL bFlashIconTwo = FALSE, BOOL bFlashIconThree = FALSE, BOOL bFlashIconFour = FALSE, BOOL bFlashIconFive = FALSE, BOOL bFlashIconSix = FALSE, INT iFlashTime = -1)
|
|
MPGlobalsScoreHud.iHowManyDisplays++
|
|
|
|
IF IS_BOTTOM_RIGHT_AREA_FREE()
|
|
SET_PROGRESSHUD_INIT_DONE(PROGRESSHUD_SIX_ICON_BAR, index)
|
|
|
|
SET_STANDARD_SMALL_HUD_TEXT(TitleStyle, DROPSTYLE_NONE)
|
|
SET_WORD_WRAPPING_TITLE(TitleStyle)
|
|
|
|
IF MPGlobalsScoreHud.iHowManyDisplays = 1
|
|
SET_Y_SHIFT_START(WhichSpace)
|
|
ENDIF
|
|
|
|
SET_STANDARD_UI_SCORE_NUMBER(NumberStyle, DROPSTYLE_NONE)
|
|
SET_WORD_WRAPPING_RIGHTEDGE(NumberStyle)
|
|
|
|
INIT_SCREEN_GENERAL_SINGLE_SCORE(NumberStyle, TitlePlace, NumberPlace, WhichSpace, TitleStyle)
|
|
|
|
SPRITE_PLACEMENT Overlays
|
|
SET_SPRITE_PLACEMENT(Overlays, 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 255)
|
|
|
|
// Flashing Icons
|
|
BOOL bDisplayFlashingIcons
|
|
|
|
IF iFlashTime = 0
|
|
RESET_GENERIC_SIX_ICON_BAR_FLASHING(index)
|
|
ENDIF
|
|
|
|
IF DO_FLASHING(iFlashTime, MPGlobalsScoreHud.iFlashing_GenericSixIconBar_Hud[index], MPGlobalsScoreHud.iFlashing_GenericSixIconBar_MiniHud[index])
|
|
bDisplayFlashingIcons = TRUE
|
|
ELSE
|
|
bDisplayFlashingIcons = FALSE
|
|
ENDIF
|
|
|
|
REQUEST_STREAMED_TEXTURE_DICT("TimerBars")
|
|
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("TimerBars")
|
|
GFX_DRAW_ORDER anOrder = SET_GFX_TIMERS_DRAW_ORDER()
|
|
|
|
SET_SCRIPT_GFX_DRAW_ORDER(anOrder)
|
|
|
|
// Background Bar
|
|
Overlays.x = TitlePlace.x
|
|
Overlays.y = TitlePlace.y
|
|
Overlays.x += TIMER_OVERLAY_X
|
|
Overlays.y += TIMER_OVERLAY_Y_SCORE
|
|
Overlays.w += TIMER_OVERLAY_W
|
|
Overlays.h += TIMER_OVERLAY_H_SCORE
|
|
Overlays.r += 255
|
|
Overlays.g += 255
|
|
Overlays.b += 255
|
|
Overlays.a = TIMER_OVERLAY_ALPHA
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
Overlays.x += TIMER_OVERLAY_X_NON_ROMANIC_OFFSET
|
|
Overlays.w += TIMER_OVERLAY_W_NON_ROMANIC_OFFSET
|
|
ENDIF
|
|
|
|
MPGlobalsScoreHud.TopOfTimers += Overlays.h
|
|
DRAW_2D_SPRITE("TimerBars", "ALL_BLACK_bg", Overlays)
|
|
SET_TEXT_STYLE(TitleStyle)
|
|
|
|
//Icon Setup
|
|
SPRITE_PLACEMENT PlayerOneXPIconSprite
|
|
SPRITE_PLACEMENT PlayerOneSecXPIconSprite
|
|
|
|
SPRITE_PLACEMENT PlayerTwoXPIconSprite
|
|
SPRITE_PLACEMENT PlayerTwoSecXPIconSprite
|
|
|
|
SPRITE_PLACEMENT PlayerThreeXPIconSprite
|
|
SPRITE_PLACEMENT PlayerThreeSecXPIconSprite
|
|
|
|
SPRITE_PLACEMENT PlayerFourXPIconSprite
|
|
SPRITE_PLACEMENT PlayerFourSecXPIconSprite
|
|
|
|
SPRITE_PLACEMENT PlayerFiveXPIconSprite
|
|
SPRITE_PLACEMENT PlayerFiveSecXPIconSprite
|
|
|
|
SPRITE_PLACEMENT PlayerSixXPIconSprite
|
|
SPRITE_PLACEMENT PlayerSixSecXPIconSprite
|
|
|
|
// Underlay sprite
|
|
PlayerOneXPIconSprite.x = NumberPlace.x + 0.145 + 0.001
|
|
PlayerOneSecXPIconSprite.x = NumberPlace.x + 0.145 + 0.001
|
|
|
|
PlayerTwoXPIconSprite.x = NumberPlace.x + 0.123
|
|
PlayerTwoSecXPIconSprite.x = NumberPlace.x + 0.123
|
|
|
|
PlayerThreeXPIconSprite.x = NumberPlace.x + 0.101
|
|
PlayerThreeSecXPIconSprite.x = NumberPlace.x + 0.101
|
|
|
|
PlayerFourXPIconSprite.x = NumberPlace.x + 0.078
|
|
PlayerFourSecXPIconSprite.x = NumberPlace.x + 0.078
|
|
|
|
PlayerFiveXPIconSprite.x = NumberPlace.x + 0.056
|
|
PlayerFiveSecXPIconSprite.x = NumberPlace.x + 0.056
|
|
|
|
PlayerSixXPIconSprite.x = NumberPlace.x + 0.034
|
|
PlayerSixSecXPIconSprite.x = NumberPlace.x + 0.034
|
|
|
|
IF IS_LANGUAGE_NON_ROMANIC()
|
|
PlayerOneXPIconSprite.y = NumberPlace.y + 0.016 - 0.000
|
|
PlayerOneSecXPIconSprite.y = NumberPlace.y + 0.016 + 0.0005
|
|
|
|
PlayerTwoXPIconSprite.y = NumberPlace.y + 0.016 - 0.000
|
|
PlayerTwoSecXPIconSprite.y = NumberPlace.y + 0.016 + 0.0005
|
|
|
|
PlayerThreeXPIconSprite.y = NumberPlace.y + 0.016 - 0.000
|
|
PlayerThreeSecXPIconSprite.y = NumberPlace.y + 0.016 + 0.0005
|
|
|
|
PlayerFourXPIconSprite.y = NumberPlace.y + 0.016 - 0.000
|
|
PlayerFourSecXPIconSprite.y = NumberPlace.y + 0.016 + 0.0005
|
|
|
|
PlayerFiveXPIconSprite.y = NumberPlace.y + 0.016 - 0.000
|
|
PlayerFiveSecXPIconSprite.y = NumberPlace.y + 0.016 + 0.0005
|
|
|
|
PlayerSixXPIconSprite.y = NumberPlace.y + 0.016 - 0.000
|
|
PlayerSixSecXPIconSprite.y = NumberPlace.y + 0.016 + 0.0005
|
|
ELSE
|
|
PlayerOneXPIconSprite.y = NumberPlace.y + 0.0185
|
|
PlayerOneSecXPIconSprite.y = NumberPlace.y + 0.019
|
|
|
|
PlayerTwoXPIconSprite.y = NumberPlace.y + 0.0185
|
|
PlayerTwoSecXPIconSprite.y = NumberPlace.y + 0.019
|
|
|
|
PlayerThreeXPIconSprite.y = NumberPlace.y + 0.0185
|
|
PlayerThreeSecXPIconSprite.y = NumberPlace.y + 0.019
|
|
|
|
PlayerFourXPIconSprite.y = NumberPlace.y + 0.0185
|
|
PlayerFourSecXPIconSprite.y = NumberPlace.y + 0.019
|
|
|
|
PlayerFiveXPIconSprite.y = NumberPlace.y + 0.0185
|
|
PlayerFiveSecXPIconSprite.y = NumberPlace.y + 0.019
|
|
|
|
PlayerSixXPIconSprite.y = NumberPlace.y + 0.0185
|
|
PlayerSixSecXPIconSprite.y = NumberPlace.y + 0.019
|
|
ENDIF
|
|
|
|
// Width
|
|
PlayerOneXPIconSprite.w = 0.016 + 0.003
|
|
PlayerOneSecXPIconSprite.w = 0.016 + 0.003
|
|
|
|
PlayerTwoXPIconSprite.w = 0.016 + 0.003
|
|
PlayerTwoSecXPIconSprite.w = 0.016 + 0.003
|
|
|
|
PlayerThreeXPIconSprite.w = 0.016 + 0.003
|
|
PlayerThreeSecXPIconSprite.w = 0.016 + 0.003
|
|
|
|
PlayerFourXPIconSprite.w = 0.016 + 0.003
|
|
PlayerFourSecXPIconSprite.w = 0.016 + 0.003
|
|
|
|
PlayerFiveXPIconSprite.w = 0.016 + 0.003
|
|
PlayerFiveSecXPIconSprite.w = 0.016 + 0.003
|
|
|
|
PlayerSixXPIconSprite.w = 0.016 + 0.003
|
|
PlayerSixSecXPIconSprite.w = 0.016 + 0.003
|
|
|
|
// Height
|
|
PlayerOneXPIconSprite.h = 0.032 + 0.004
|
|
PlayerOneSecXPIconSprite.h = 0.032 + 0.004
|
|
|
|
PlayerTwoXPIconSprite.h = 0.032 + 0.004
|
|
PlayerTwoSecXPIconSprite.h = 0.032 + 0.004
|
|
|
|
PlayerThreeXPIconSprite.h = 0.032 + 0.004
|
|
PlayerThreeSecXPIconSprite.h = 0.032 + 0.004
|
|
|
|
PlayerFourXPIconSprite.h = 0.032 + 0.004
|
|
PlayerFourSecXPIconSprite.h = 0.032 + 0.004
|
|
|
|
PlayerFiveXPIconSprite.h = 0.032 + 0.004
|
|
PlayerFiveSecXPIconSprite.h = 0.032 + 0.004
|
|
|
|
PlayerSixXPIconSprite.h = 0.032 + 0.004
|
|
PlayerSixSecXPIconSprite.h = 0.032 + 0.004
|
|
|
|
//Alpha
|
|
PlayerOneXPIconSprite.a = 255
|
|
PlayerOneSecXPIconSprite.a = 255
|
|
|
|
PlayerTwoXPIconSprite.a = 255
|
|
PlayerTwoSecXPIconSprite.a = 255
|
|
|
|
PlayerThreeXPIconSprite.a = 255
|
|
PlayerThreeSecXPIconSprite.a = 255
|
|
|
|
PlayerFourXPIconSprite.a = 255
|
|
PlayerFourSecXPIconSprite.a = 255
|
|
|
|
PlayerFiveXPIconSprite.a = 255
|
|
PlayerFiveSecXPIconSprite.a = 255
|
|
|
|
PlayerSixXPIconSprite.a = 255
|
|
PlayerSixSecXPIconSprite.a = 255
|
|
|
|
// HUD Colour
|
|
SET_SPRITE_HUD_COLOUR(PlayerOneXPIconSprite, HUD_COLOUR_WHITE)
|
|
SET_SPRITE_HUD_COLOUR(PlayerOneSecXPIconSprite, HUD_COLOUR_WHITE)
|
|
|
|
SET_SPRITE_HUD_COLOUR(PlayerTwoXPIconSprite, HUD_COLOUR_WHITE)
|
|
SET_SPRITE_HUD_COLOUR(PlayerTwoSecXPIconSprite, HUD_COLOUR_WHITE)
|
|
|
|
SET_SPRITE_HUD_COLOUR(PlayerThreeXPIconSprite, HUD_COLOUR_WHITE)
|
|
SET_SPRITE_HUD_COLOUR(PlayerThreeSecXPIconSprite, HUD_COLOUR_WHITE)
|
|
|
|
SET_SPRITE_HUD_COLOUR(PlayerFourXPIconSprite, HUD_COLOUR_WHITE)
|
|
SET_SPRITE_HUD_COLOUR(PlayerFourSecXPIconSprite, HUD_COLOUR_WHITE)
|
|
|
|
SET_SPRITE_HUD_COLOUR(PlayerFiveXPIconSprite, HUD_COLOUR_WHITE)
|
|
SET_SPRITE_HUD_COLOUR(PlayerFiveSecXPIconSprite, HUD_COLOUR_WHITE)
|
|
|
|
SET_SPRITE_HUD_COLOUR(PlayerSixXPIconSprite, HUD_COLOUR_WHITE)
|
|
SET_SPRITE_HUD_COLOUR(PlayerSixSecXPIconSprite, HUD_COLOUR_WHITE)
|
|
|
|
// Ped Headshot Vars
|
|
PEDHEADSHOT_ID pPlayerOneHeadshotID
|
|
PEDHEADSHOT_ID pPlayerTwoHeadshotID
|
|
PEDHEADSHOT_ID pPlayerThreeHeadshotID
|
|
PEDHEADSHOT_ID pPlayerFourHeadshotID
|
|
PEDHEADSHOT_ID pPlayerFiveHeadshotID
|
|
PEDHEADSHOT_ID pPlayerSixHeadshotID
|
|
|
|
// TXD Name Vars
|
|
TEXT_LABEL_23 tlPlayerOneTextureDictName = ""
|
|
TEXT_LABEL_23 tlPlayerOneSecTextureDictName = ""
|
|
|
|
TEXT_LABEL_23 tlPlayerTwoTextureDictName = ""
|
|
TEXT_LABEL_23 tlPlayerTwoSecTextureDictName = ""
|
|
|
|
TEXT_LABEL_23 tlPlayerThreeTextureDictName = ""
|
|
TEXT_LABEL_23 tlPlayerThreeSecTextureDictName = ""
|
|
|
|
TEXT_LABEL_23 tlPlayerFourTextureDictName = ""
|
|
TEXT_LABEL_23 tlPlayerFourSecTextureDictName = ""
|
|
|
|
TEXT_LABEL_23 tlPlayerFiveTextureDictName = ""
|
|
TEXT_LABEL_23 tlPlayerFiveSecTextureDictName = ""
|
|
|
|
TEXT_LABEL_23 tlPlayerSixTextureDictName = ""
|
|
TEXT_LABEL_23 tlPlayerSixSecTextureDictName = ""
|
|
|
|
// Sprite Name Vars
|
|
TEXT_LABEL_23 tlPlayerOneTextureSpriteName
|
|
TEXT_LABEL_23 tlPlayerOneSecTextureSpriteName
|
|
|
|
TEXT_LABEL_23 tlPlayerTwoTextureSpriteName
|
|
TEXT_LABEL_23 tlPlayerTwoSecTextureSpriteName
|
|
|
|
TEXT_LABEL_23 tlPlayerThreeTextureSpriteName
|
|
TEXT_LABEL_23 tlPlayerThreeSecTextureSpriteName
|
|
|
|
TEXT_LABEL_23 tlPlayerFourTextureSpriteName
|
|
TEXT_LABEL_23 tlPlayerFourSecTextureSpriteName
|
|
|
|
TEXT_LABEL_23 tlPlayerFiveTextureSpriteName
|
|
TEXT_LABEL_23 tlPlayerFiveSecTextureSpriteName
|
|
|
|
TEXT_LABEL_23 tlPlayerSixTextureSpriteName
|
|
TEXT_LABEL_23 tlPlayerSixSecTextureSpriteName
|
|
|
|
// Texture HUD Colour Vars
|
|
HUD_COLOURS PlayerOneTextureHudColour = HUD_COLOUR_WHITE
|
|
HUD_COLOURS PlayerOneSecTextureHudColour = HUD_COLOUR_WHITE
|
|
|
|
HUD_COLOURS PlayerTwoTextureHudColour = HUD_COLOUR_WHITE
|
|
HUD_COLOURS PlayerTwoSecTextureHudColour = HUD_COLOUR_WHITE
|
|
|
|
HUD_COLOURS PlayerThreeTextureHudColour = HUD_COLOUR_WHITE
|
|
HUD_COLOURS PlayerThreeSecTextureHudColour = HUD_COLOUR_WHITE
|
|
|
|
HUD_COLOURS PlayerFourTextureHudColour = HUD_COLOUR_WHITE
|
|
HUD_COLOURS PlayerFourSecTextureHudColour = HUD_COLOUR_WHITE
|
|
|
|
HUD_COLOURS PlayerFiveTextureHudColour = HUD_COLOUR_WHITE
|
|
HUD_COLOURS PlayerFiveSecTextureHudColour = HUD_COLOUR_WHITE
|
|
|
|
HUD_COLOURS PlayerSixTextureHudColour = HUD_COLOUR_WHITE
|
|
HUD_COLOURS PlayerSixSecTextureHudColour = HUD_COLOUR_WHITE
|
|
|
|
GET_HUD_POWERUP_DATA(aPowerupOne, PlayerOneXPIconSprite, tlPlayerOneTextureDictName, tlPlayerOneTextureSpriteName, PlayerOneTextureHudColour, pPlayerOne, pPlayerOneHeadshotID, PlayerOneSecXPIconSprite, tlPlayerOneSecTextureDictName, tlPlayerOneSecTextureSpriteName, PlayerOneSecTextureHudColour, TitleColour)
|
|
GET_HUD_POWERUP_DATA(aPowerupTwo, PlayerTwoXPIconSprite, tlPlayerTwoTextureDictName, tlPlayerTwoTextureSpriteName, PlayerTwoTextureHudColour, pPlayerTwo, pPlayerTwoHeadshotID, PlayerTwoSecXPIconSprite, tlPlayerTwoSecTextureDictName, tlPlayerTwoSecTextureSpriteName, PlayerTwoSecTextureHudColour, TitleColour)
|
|
GET_HUD_POWERUP_DATA(aPowerupThree, PlayerThreeXPIconSprite, tlPlayerThreeTextureDictName, tlPlayerThreeTextureSpriteName, PlayerThreeTextureHudColour, pPlayerThree, pPlayerThreeHeadshotID, PlayerThreeSecXPIconSprite, tlPlayerThreeSecTextureDictName, tlPlayerThreeSecTextureSpriteName, PlayerThreeSecTextureHudColour, TitleColour)
|
|
GET_HUD_POWERUP_DATA(aPowerupFour, PlayerFourXPIconSprite, tlPlayerFourTextureDictName, tlPlayerFourTextureSpriteName, PlayerFourTextureHudColour, pPlayerFour, pPlayerFourHeadshotID, PlayerFourSecXPIconSprite, tlPlayerFourSecTextureDictName, tlPlayerFourSecTextureSpriteName, PlayerFourSecTextureHudColour, TitleColour)
|
|
GET_HUD_POWERUP_DATA(aPowerupFive, PlayerFiveXPIconSprite, tlPlayerFiveTextureDictName, tlPlayerFiveTextureSpriteName, PlayerFiveTextureHudColour, pPlayerFive, pPlayerFiveHeadshotID, PlayerFiveSecXPIconSprite, tlPlayerFiveSecTextureDictName, tlPlayerFiveSecTextureSpriteName, PlayerFiveSecTextureHudColour, TitleColour)
|
|
GET_HUD_POWERUP_DATA(aPowerupSix, PlayerSixXPIconSprite, tlPlayerSixTextureDictName, tlPlayerSixTextureSpriteName, PlayerSixTextureHudColour, pPlayerSix, pPlayerSixHeadshotID, PlayerSixSecXPIconSprite, tlPlayerSixSecTextureDictName, tlPlayerSixSecTextureSpriteName, PlayerSixSecTextureHudColour, TitleColour)
|
|
|
|
IF bFlashIconOne
|
|
IF bDisplayFlashingIcons
|
|
DRAW_2D_SPRITE_FROM_POWERUP_DATA(aPowerupOne, PlayerOneXPIconSprite, PlayerOneSecXPIconSprite, tlPlayerOneTextureDictName, tlPlayerOneTextureSpriteName, PlayerOneTextureHudColour, tlPlayerOneSecTextureDictName, tlPlayerOneSecTextureSpriteName, PlayerOneSecTextureHudColour)
|
|
ENDIF
|
|
ELSE
|
|
DRAW_2D_SPRITE_FROM_POWERUP_DATA(aPowerupOne, PlayerOneXPIconSprite, PlayerOneSecXPIconSprite, tlPlayerOneTextureDictName, tlPlayerOneTextureSpriteName, PlayerOneTextureHudColour, tlPlayerOneSecTextureDictName, tlPlayerOneSecTextureSpriteName, PlayerOneSecTextureHudColour)
|
|
ENDIF
|
|
|
|
IF bFlashIconTwo
|
|
IF bDisplayFlashingIcons
|
|
DRAW_2D_SPRITE_FROM_POWERUP_DATA(aPowerupTwo, PlayerTwoXPIconSprite, PlayerTwoSecXPIconSprite, tlPlayerTwoTextureDictName, tlPlayerTwoTextureSpriteName, PlayerTwoTextureHudColour, tlPlayerTwoSecTextureDictName, tlPlayerTwoSecTextureSpriteName, PlayerTwoSecTextureHudColour)
|
|
ENDIF
|
|
ELSE
|
|
DRAW_2D_SPRITE_FROM_POWERUP_DATA(aPowerupTwo, PlayerTwoXPIconSprite, PlayerTwoSecXPIconSprite, tlPlayerTwoTextureDictName, tlPlayerTwoTextureSpriteName, PlayerTwoTextureHudColour, tlPlayerTwoSecTextureDictName, tlPlayerTwoSecTextureSpriteName, PlayerTwoSecTextureHudColour)
|
|
ENDIF
|
|
|
|
IF bFlashIconThree
|
|
IF bDisplayFlashingIcons
|
|
DRAW_2D_SPRITE_FROM_POWERUP_DATA(aPowerupThree, PlayerThreeXPIconSprite, PlayerThreeSecXPIconSprite, tlPlayerThreeTextureDictName, tlPlayerThreeTextureSpriteName, PlayerThreeTextureHudColour, tlPlayerThreeSecTextureDictName, tlPlayerThreeSecTextureSpriteName, PlayerThreeSecTextureHudColour)
|
|
ENDIF
|
|
ELSE
|
|
DRAW_2D_SPRITE_FROM_POWERUP_DATA(aPowerupThree, PlayerThreeXPIconSprite, PlayerThreeSecXPIconSprite, tlPlayerThreeTextureDictName, tlPlayerThreeTextureSpriteName, PlayerThreeTextureHudColour, tlPlayerThreeSecTextureDictName, tlPlayerThreeSecTextureSpriteName, PlayerThreeSecTextureHudColour)
|
|
ENDIF
|
|
|
|
IF bFlashIconFour
|
|
IF bDisplayFlashingIcons
|
|
DRAW_2D_SPRITE_FROM_POWERUP_DATA(aPowerupFour, PlayerFourXPIconSprite, PlayerFourSecXPIconSprite, tlPlayerFourTextureDictName, tlPlayerFourTextureSpriteName, PlayerFourTextureHudColour, tlPlayerFourSecTextureDictName, tlPlayerFourSecTextureSpriteName, PlayerFourSecTextureHudColour)
|
|
ENDIF
|
|
ELSE
|
|
DRAW_2D_SPRITE_FROM_POWERUP_DATA(aPowerupFour, PlayerFourXPIconSprite, PlayerFourSecXPIconSprite, tlPlayerFourTextureDictName, tlPlayerFourTextureSpriteName, PlayerFourTextureHudColour, tlPlayerFourSecTextureDictName, tlPlayerFourSecTextureSpriteName, PlayerFourSecTextureHudColour)
|
|
ENDIF
|
|
|
|
IF bFlashIconFive
|
|
IF bDisplayFlashingIcons
|
|
DRAW_2D_SPRITE_FROM_POWERUP_DATA(aPowerupFive, PlayerFiveXPIconSprite, PlayerFiveSecXPIconSprite, tlPlayerFiveTextureDictName, tlPlayerFiveTextureSpriteName, PlayerFiveTextureHudColour, tlPlayerFiveSecTextureDictName, tlPlayerFiveSecTextureSpriteName, PlayerFiveSecTextureHudColour)
|
|
ENDIF
|
|
ELSE
|
|
DRAW_2D_SPRITE_FROM_POWERUP_DATA(aPowerupFive, PlayerFiveXPIconSprite, PlayerFiveSecXPIconSprite, tlPlayerFiveTextureDictName, tlPlayerFiveTextureSpriteName, PlayerFiveTextureHudColour, tlPlayerFiveSecTextureDictName, tlPlayerFiveSecTextureSpriteName, PlayerFiveSecTextureHudColour)
|
|
ENDIF
|
|
|
|
IF bFlashIconSix
|
|
IF bDisplayFlashingIcons
|
|
DRAW_2D_SPRITE_FROM_POWERUP_DATA(aPowerupSix, PlayerSixXPIconSprite, PlayerSixSecXPIconSprite, tlPlayerSixTextureDictName, tlPlayerSixTextureSpriteName, PlayerSixTextureHudColour, tlPlayerSixSecTextureDictName, tlPlayerSixSecTextureSpriteName, PlayerSixSecTextureHudColour)
|
|
ENDIF
|
|
ELSE
|
|
DRAW_2D_SPRITE_FROM_POWERUP_DATA(aPowerupSix, PlayerSixXPIconSprite, PlayerSixSecXPIconSprite, tlPlayerSixTextureDictName, tlPlayerSixTextureSpriteName, PlayerSixTextureHudColour, tlPlayerSixSecTextureDictName, tlPlayerSixSecTextureSpriteName, PlayerSixSecTextureHudColour)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
RESET_GFX_TIMERS_DRAW_ORDER()
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC ACTUALLY_DRAW_GENERAL_SIX_ICON_BAR(INT idx, HUD_COLOURS TitleColour, PLAYER_INDEX pPlayerOne = NULL, PLAYER_INDEX pPlayerTwo = NULL, PLAYER_INDEX pPlayerThree = NULL, PLAYER_INDEX pPlayerFour = NULL, PLAYER_INDEX pPlayerFive = NULL, PLAYER_INDEX pPlayerSix = NULL, ACTIVITY_POWERUP aPowerupOne = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupTwo = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupThree = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupFour = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupFive = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupSix = ACTIVITY_POWERUP_NONE, BOOL bFlashIconOne = FALSE, BOOL bFlashIconTwo = FALSE, BOOL bFlashIconThree = FALSE, BOOL bFlashIconFour = FALSE, BOOL bFlashIconFive = FALSE, BOOL bFlashIconSix = FALSE, INT iFlashTime = -1)
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_SIX_ICON_BAR, idx)
|
|
TEXT_STYLE TitleStyle, NumberStyle
|
|
TEXT_PLACEMENT TitlePlacement, NumberPlace
|
|
|
|
DRAW_GENERAL_SIX_ICON_BAR_GUTS(idx, TitleStyle, NumberStyle, TitlePlacement, NumberPlace, TitleColour, UIELEMENTS_BOTTOMRIGHT, pPlayerOne, pPlayerTwo, pPlayerThree, pPlayerFour, pPlayerFive, pPlayerSix, aPowerupOne, aPowerupTwo, aPowerupThree, aPowerupFour, aPowerupFive, aPowerupSix, bFlashIconOne, bFlashIconTwo, bFlashIconThree, bFlashIconFour, bFlashIconFive, bFlashIconSix, iFlashTime)
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
IF g_DisplayTimersDisplaying
|
|
NET_NL() NET_PRINT("ACTUALLY_DRAW_GENERAL_SIX_ICON_BAR index = ") NET_PRINT_INT(idx)
|
|
ENDIF
|
|
#ENDIF
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC ACTUALLY_DRAW_DOUBLE_TEXT_BAR(INT idx, STRING sTitleLeft, STRING sTitleRight, BOOL bTextLeftLiteral, BOOL bTextRightLiteral, HUD_COLOURS eColour, BOOL bCustomFont, TEXT_FONTS eCustomFont)
|
|
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_DOUBLE_TEXT, idx)
|
|
|
|
TEXT_STYLE TitleStyle, NumberStyle
|
|
TEXT_PLACEMENT TitlePlace, NumberPlace
|
|
|
|
DRAW_GENERAL_SINGLE_SCORE_GUTS(idx, TitleStyle, NumberStyle, TitlePlace, NumberPlace, 0, UIELEMENTS_BOTTOMRIGHT, sTitleLeft, eColour, 0, 0, bTextLeftLiteral, "", FALSE, 0.0, HUDFLASHING_NONE,
|
|
0, eColour, FALSE, 0, FALSE, ACTIVITY_POWERUP_NONE, HUD_COUNTER_STYLE_DEFAULT, sTitleRight, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
|
|
DEFAULT, DEFAULT, DEFAULT, TRUE, bTextRightLiteral, bCustomFont, eCustomFont)
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
IF g_DisplayTimersDisplaying
|
|
NET_NL()NET_PRINT("ACTUALLY_DRAW_DOUBLE_TEXT_BAR index = ")NET_PRINT_INT(idx)
|
|
ENDIF
|
|
#ENDIF
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
//PROC SET_TITLE_JUSTIFICATION_SCORE(INT Number, STRING NumberString)
|
|
//
|
|
// IF Number > 999999999
|
|
// MPGlobalsScoreHud.bTitleFarLeftJustified = TRUE
|
|
// ELIF Number > 9999999
|
|
// IF COMPARE_STRINGS(NumberString, "HUD_CASH") = 0
|
|
// OR COMPARE_STRINGS(NumberString, "HUD_CASH_NEG") = 0
|
|
// MPGlobalsScoreHud.bTitleFarLeftJustified = TRUE
|
|
// ENDIF
|
|
// ELIF Number > 99999
|
|
// MPGlobalsScoreHud.bTitleMiddleJustified = TRUE
|
|
// ELIF Number > 999
|
|
// IF COMPARE_STRINGS(NumberString, "HUD_CASH") = 0
|
|
// OR COMPARE_STRINGS(NumberString, "HUD_CASH_NEG") = 0
|
|
// MPGlobalsScoreHud.bTitleMiddleJustified = TRUE
|
|
// ENDIF
|
|
// ENDIF
|
|
//
|
|
//ENDPROC
|
|
|
|
|
|
/// PURPOSE:
|
|
/// Displays a timer in the lower right hand corner of the screen with the label "TimeTitle"
|
|
/// PARAMS:
|
|
/// TimeRunner - Multiply your time in seconds by 1000.
|
|
/// TimeTitle - The name for your clock, from the string tables
|
|
/// ExtraTimeGiven -
|
|
/// TimerStyle -
|
|
/// iFlashingTime -
|
|
/// MedalDisplay -
|
|
/// WhichOrder -
|
|
/// isPlayer -
|
|
/// aColour -
|
|
PROC DRAW_GENERIC_TIMER(INT TimeRunner, STRING TimeTitle, INT ExtraTimeGiven = 0, TIMER_STYLE TimerStyle = TIMER_STYLE_DONTUSEMILLISECONDS, INT iFlashingTime = -1, PODIUMPOS MedalDisplay = PODIUMPOS_NONE, HUDORDER WhichOrder = HUDORDER_DONTCARE, BOOL isPlayer = FALSE, HUD_COLOURS aColour = HUD_COLOUR_WHITE, HUDFLASHING ColourFlashType = HUDFLASHING_NONE, INT ColourFlash = 0, BOOL bDisplayAsDashes = FALSE, HUD_COLOURS TitleColour = HUD_COLOUR_PURE_WHITE, BOOL bIsLiteralTitle = FALSE ,HUD_COLOURS FleckColour = HUD_COLOUR_PURE_WHITE, ACTIVITY_POWERUP ePowerup = ACTIVITY_POWERUP_NONE, BOOL bHideUnusedZeros = FALSE, INT iTextLabelSubInt = -1)
|
|
|
|
INT FreeIndex = -1
|
|
INT I
|
|
|
|
FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
IF FreeIndex = -1
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_TIMER, I) = FALSE
|
|
FreeIndex = I
|
|
ENDIF
|
|
ENDIF
|
|
ENDFOR
|
|
IF FreeIndex > -1
|
|
MPGlobalsScoreHud.isSomethingDisplaying = TRUE
|
|
SET_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_TIMER, FreeIndex)
|
|
MPGlobalsScoreHud.ElementHud_TIMER.iGenericTimer_Timer[FreeIndex] = TimeRunner
|
|
MPGlobalsScoreHud.ElementHud_TIMER.sGenericTimer_TimerTitle[FreeIndex] = TimeTitle
|
|
MPGlobalsScoreHud.ElementHud_TIMER.iGenericTimer_ExtraTime[FreeIndex] = ExtraTimeGiven
|
|
MPGlobalsScoreHud.ElementHud_TIMER.bGenericTimer_TimerStyle[FreeIndex] = TimerStyle
|
|
MPGlobalsScoreHud.ElementHud_TIMER.iGenericTimer_FlashTimer[FreeIndex] = iFlashingTime
|
|
MPGlobalsScoreHud.ElementHud_TIMER.iGenericTimer_MedalDisplay[FreeIndex] = MedalDisplay
|
|
MPGlobalsScoreHud.ElementHud_TIMER.GenericTimer_HUDOrder[FreeIndex] = WhichOrder
|
|
MPGlobalsScoreHud.ElementHud_TIMER.GenericTimer_bIsPlayer[FreeIndex] = isPlayer
|
|
MPGlobalsScoreHud.ElementHud_TIMER.GenericTimer_Colour[FreeIndex] = aColour
|
|
MPGlobalsScoreHud.ElementHud_TIMER.GenericTimer_ColourFlashType[FreeIndex] = ColourFlashType
|
|
MPGlobalsScoreHud.ElementHud_TIMER.GenericTimer_ColourFlash[FreeIndex] = ColourFlash
|
|
MPGlobalsScoreHud.ElementHud_TIMER.GenericTimer_bDisplayAsDashes[FreeIndex] = bDisplayAsDashes
|
|
MPGlobalsScoreHud.ElementHud_TIMER.GenericTimer_TitleColour[FreeIndex] = TitleColour
|
|
MPGlobalsScoreHud.ElementHud_TIMER.GenericTimer_bIsLiteral[FreeIndex] = bIsLiteralTitle
|
|
MPGlobalsScoreHud.ElementHud_TIMER.GenericTimer_FleckColour[FreeIndex] = FleckColour
|
|
MPGlobalsScoreHud.ElementHud_TIMER.GenericTimer_Powerup[FreeIndex] = ePowerup
|
|
MPGlobalsScoreHud.ElementHud_TIMER.GenericTimer_bHideUnusedZeros[FreeIndex] = bHideUnusedZeros
|
|
MPGlobalsScoreHud.ElementHud_TIMER.iGenericTimer_TitleNumber[FreeIndex] = iTextLabelSubInt
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC DRAW_GENERIC_BIG_NUMBER(INT Number, STRING NumberTitle, INT iFlashingTime = -1, HUD_COLOURS aColour = HUD_COLOUR_WHITE, HUDORDER WhichOrder = HUDORDER_DONTCARE, BOOL isPlayer = FALSE, STRING NumberString = NULL, HUD_COLOURS TitleColour = HUD_COLOUR_WHITE, BOOL bDrawInfinity = FALSE, HUDFLASHING ColourFlashType = HUDFLASHING_NONE, INT ColourFlash = 0, HUD_COLOURS FleckColour = HUD_COLOUR_PURE_WHITE, BOOL bEnablePulsing = FALSE, HUD_COLOURS PulseToColour = HUD_COLOUR_PURE_WHITE, INT iPulseTime = -1)
|
|
|
|
IF IS_STRING_EMPTY_HUD(NumberString)
|
|
NumberString = "NUMBER"
|
|
ENDIF
|
|
|
|
INT FreeIndex = -1
|
|
INT I
|
|
FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
IF FreeIndex = -1
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_SINGLE_NUMBER, I) = FALSE
|
|
FreeIndex = I
|
|
ENDIF
|
|
ENDIF
|
|
ENDFOR
|
|
IF FreeIndex > -1
|
|
MPGlobalsScoreHud.isSomethingDisplaying = TRUE
|
|
SET_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_SINGLE_NUMBER, FreeIndex)
|
|
MPGlobalsScoreHud.ElementHud_SINGLENUMBER.iGenericNumber_Number[FreeIndex] = Number
|
|
MPGlobalsScoreHud.ElementHud_SINGLENUMBER.sGenericNumber_NumberTitle[FreeIndex] = NumberTitle
|
|
MPGlobalsScoreHud.ElementHud_SINGLENUMBER.GenericNumber_Colour[FreeIndex] = aColour
|
|
MPGlobalsScoreHud.ElementHud_SINGLENUMBER.iGenericNumber_FlashTimer[FreeIndex] = iFlashingTime
|
|
MPGlobalsScoreHud.ElementHud_SINGLENUMBER.GenericNumber_HUDOrder[FreeIndex] = WhichOrder
|
|
MPGlobalsScoreHud.ElementHud_SINGLENUMBER.GenericNumber_bIsPlayer[FreeIndex] = isPlayer
|
|
MPGlobalsScoreHud.ElementHud_SINGLENUMBER.sGenericNumber_NumberString[FreeIndex] = NumberString
|
|
MPGlobalsScoreHud.ElementHud_SINGLENUMBER.sGenericNumber_TitleColour[FreeIndex] = TitleColour
|
|
MPGlobalsScoreHud.ElementHud_SINGLENUMBER.bGenericNumber_DrawInfinity[FreeIndex] = bDrawInfinity
|
|
MPGlobalsScoreHud.ElementHud_SINGLENUMBER.GenericNumber_ColourFlashType[FreeIndex] = ColourFlashType
|
|
MPGlobalsScoreHud.ElementHud_SINGLENUMBER.GenericNumber_ColourFlash[FreeIndex] = ColourFlash
|
|
MPGlobalsScoreHud.ElementHud_SINGLENUMBER.GenericNumber_FleckColour[FreeIndex] = FleckColour
|
|
MPGlobalsScoreHud.ElementHud_SINGLENUMBER.GenericNumber_EnablePulsing[FreeIndex] = bEnablePulsing
|
|
MPGlobalsScoreHud.ElementHud_SINGLENUMBER.GenericNumber_PulseColour[FreeIndex] = PulseToColour
|
|
MPGlobalsScoreHud.ElementHud_SINGLENUMBER.GenericNumber_PulseTime[FreeIndex] = iPulseTime
|
|
|
|
|
|
// ELSE
|
|
// NET_NL()NET_PRINT("DRAW_GENERIC_BIG_NUMBER Index = -1 NOT DRAWING THE BIG NUMBER")
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC DRAW_GENERIC_BIG_RACE_POSITION(INT iRacePosition, HUD_COLOURS eRacePositionHUDColour, HUDORDER WhichOrder = HUDORDER_DONTCARE)
|
|
|
|
INT FreeIndex = -1
|
|
INT I
|
|
FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
IF FreeIndex = -1
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_BIG_RACE_POSITION, I) = FALSE
|
|
FreeIndex = I
|
|
ENDIF
|
|
ENDIF
|
|
ENDFOR
|
|
|
|
IF FreeIndex > -1
|
|
MPGlobalsScoreHud.isSomethingDisplaying = TRUE
|
|
SET_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_BIG_RACE_POSITION, FreeIndex)
|
|
MPGlobalsScoreHud.ElementHud_BIGRACEPOSITION.eGenericBigRacePos_iRacePosition[FreeIndex] = iRacePosition
|
|
MPGlobalsScoreHud.ElementHud_BIGRACEPOSITION.eGenericBigRacePos_eRacePositionHUDColour[FreeIndex] = eRacePositionHUDColour
|
|
MPGlobalsScoreHud.ElementHud_BIGRACEPOSITION.eGenericBigRacePos_HUDOrder[FreeIndex] = WhichOrder
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC DRAW_GENERIC_FOUR_ICON_BAR(HUD_COLOURS TitleColour, PLAYER_INDEX pPlayerOne = NULL, PLAYER_INDEX pPlayerTwo = NULL, PLAYER_INDEX pPlayerThree = NULL, PLAYER_INDEX pPlayerFour = NULL, ACTIVITY_POWERUP aPowerupOne = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupTwo = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupThree = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupFour = ACTIVITY_POWERUP_NONE, HUDORDER WhichOrder = HUDORDER_DONTCARE, BOOL bFlashIconOne = FALSE, BOOL bFlashIconTwo = FALSE, BOOL bFlashIconThree = FALSE, BOOL bFlashIconFour = FALSE, INT iFlashTime = -1)
|
|
|
|
INT FreeIndex = -1
|
|
INT I
|
|
FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
IF FreeIndex = -1
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_FOUR_ICON_BAR, I) = FALSE
|
|
FreeIndex = I
|
|
ENDIF
|
|
ENDIF
|
|
ENDFOR
|
|
|
|
IF FreeIndex > -1
|
|
MPGlobalsScoreHud.isSomethingDisplaying = TRUE
|
|
SET_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_FOUR_ICON_BAR, FreeIndex)
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_TitleColour[FreeIndex] = TitleColour
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_pPlayerOne[FreeIndex] = pPlayerOne
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_pPlayerTwo[FreeIndex] = pPlayerTwo
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_pPlayerThree[FreeIndex] = pPlayerThree
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_pPlayerFour[FreeIndex] = pPlayerFour
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_aPowerupOne[FreeIndex] = aPowerupOne
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_aPowerupTwo[FreeIndex] = aPowerupTwo
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_aPowerupThree[FreeIndex] = aPowerupThree
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_aPowerupFour[FreeIndex] = aPowerupFour
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_HUDOrder[FreeIndex] = WhichOrder
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_bFlashIconOne[FreeIndex] = bFlashIconOne
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_bFlashIconTwo[FreeIndex] = bFlashIconTwo
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_bFlashIconThree[FreeIndex] = bFlashIconThree
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_bFlashIconFour[FreeIndex] = bFlashIconFour
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_iFlashTime[FreeIndex] = iFlashTime
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC DRAW_GENERIC_FIVE_ICON_SCORE_BAR(INT Number, FLOAT FloatValue, STRING NumberString, BOOL isFloat, INT MaXNumber, BOOL DrawInfinity, HUD_COLOURS TitleColour, PLAYER_INDEX pPlayerOne = NULL, PLAYER_INDEX pPlayerTwo = NULL, PLAYER_INDEX pPlayerThree = NULL, PLAYER_INDEX pPlayerFour = NULL, PLAYER_INDEX pPlayerFive = NULL, ACTIVITY_POWERUP aPowerupOne = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupTwo = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupThree = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupFour = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupFive = ACTIVITY_POWERUP_NONE, HUDORDER WhichOrder = HUDORDER_DONTCARE, PLAYER_INDEX pPlayerToHighlight = NULL, BOOL bEnablePlayerHighlight = FALSE, HUD_COLOURS ePowerupOneColour = HUD_COLOUR_PURE_WHITE, HUD_COLOURS ePowerupTwoColour = HUD_COLOUR_PURE_WHITE, HUD_COLOURS ePowerupThreeColour = HUD_COLOUR_PURE_WHITE, HUD_COLOURS ePowerupFourColour = HUD_COLOUR_PURE_WHITE, HUD_COLOURS ePowerupFiveColour = HUD_COLOUR_PURE_WHITE, INT iInstanceToHighlight = 0, BOOL bPulseHighlight = FALSE, INT iPulseTime = 9999999, PLAYER_INDEX pAvatarToFlash = NULL, BOOL bFlashAvatar = FALSE, INT iAvatarFlashTime = 9999999, INT iAvatarSlotToFlash = 0)
|
|
|
|
INT FreeIndex = -1
|
|
INT I
|
|
FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
IF FreeIndex = -1
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_FIVE_ICON_SCORE_BAR, I) = FALSE
|
|
FreeIndex = I
|
|
ENDIF
|
|
ENDIF
|
|
ENDFOR
|
|
|
|
IF FreeIndex > -1
|
|
|
|
MPGlobalsScoreHud.isSomethingDisplaying = TRUE
|
|
SET_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_FIVE_ICON_SCORE_BAR, FreeIndex)
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_Number[FreeIndex] = Number
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_MaXNumber[FreeIndex] = MaXNumber
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_FloatValue[FreeIndex] = FloatValue
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_NumberString[FreeIndex] = NumberString
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_isFloat[FreeIndex] = isFloat
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_DrawInfinity[FreeIndex] = DrawInfinity
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_TitleColour[FreeIndex] = TitleColour
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_pPlayerOne[FreeIndex] = pPlayerOne
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_pPlayerTwo[FreeIndex] = pPlayerTwo
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_pPlayerThree[FreeIndex] = pPlayerThree
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_pPlayerFour[FreeIndex] = pPlayerFour
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_pPlayerFive[FreeIndex] = pPlayerFive
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_aPowerupOne[FreeIndex] = aPowerupOne
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_aPowerupTwo[FreeIndex] = aPowerupTwo
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_aPowerupThree[FreeIndex] = aPowerupThree
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_aPowerupFour[FreeIndex] = aPowerupFour
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_aPowerupFive[FreeIndex] = aPowerupFive
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_HUDOrder[FreeIndex] = WhichOrder
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_pPlayerToHighlight[FreeIndex] = pPlayerToHighlight
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_bEnablePlayerHighlight[FreeIndex] = bEnablePlayerHighlight
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_ePowerupOneColour[FreeIndex] = ePowerupOneColour
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_ePowerupTwoColour[FreeIndex] = ePowerupTwoColour
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_ePowerupThreeColour[FreeIndex] = ePowerupThreeColour
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_ePowerupFourColour[FreeIndex] = ePowerupFourColour
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_ePowerupFiveColour[FreeIndex] = ePowerupFiveColour
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_iInstanceToHighlight[FreeIndex] = iInstanceToHighlight
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_bPulseHighlight[FreeIndex] = bPulseHighlight
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_iPulseTime[FreeIndex] = iPulseTime
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_pAvatarToFlash[FreeIndex] = pAvatarToFlash
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_bFlashAvatar[FreeIndex] = bFlashAvatar
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_iAvatarFlashTime[FreeIndex] = iAvatarFlashTime
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_iAvatarSlotToFlash[FreeIndex] = iAvatarSlotToFlash
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC DRAW_GENERIC_SIX_ICON_BAR(HUD_COLOURS TitleColour, PLAYER_INDEX pPlayerOne = NULL, PLAYER_INDEX pPlayerTwo = NULL, PLAYER_INDEX pPlayerThree = NULL, PLAYER_INDEX pPlayerFour = NULL, PLAYER_INDEX pPlayerFive = NULL, PLAYER_INDEX pPlayerSix = NULL, ACTIVITY_POWERUP aPowerupOne = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupTwo = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupThree = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupFour = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupFive = ACTIVITY_POWERUP_NONE, ACTIVITY_POWERUP aPowerupSix = ACTIVITY_POWERUP_NONE, HUDORDER WhichOrder = HUDORDER_DONTCARE, BOOL bFlashIconOne = FALSE, BOOL bFlashIconTwo = FALSE, BOOL bFlashIconThree = FALSE, BOOL bFlashIconFour = FALSE, BOOL bFlashIconFive = FALSE, BOOL bFlashIconSix = FALSE, INT iFlashTime = -1)
|
|
INT FreeIndex = -1
|
|
|
|
INT I
|
|
FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT - 1
|
|
IF FreeIndex = -1
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_SIX_ICON_BAR, I) = FALSE
|
|
FreeIndex = I
|
|
ENDIF
|
|
ENDIF
|
|
ENDFOR
|
|
|
|
IF FreeIndex > -1
|
|
MPGlobalsScoreHud.isSomethingDisplaying = TRUE
|
|
SET_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_SIX_ICON_BAR, FreeIndex)
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_TitleColour[FreeIndex] = TitleColour
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_pPlayerOne[FreeIndex] = pPlayerOne
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_pPlayerTwo[FreeIndex] = pPlayerTwo
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_pPlayerThree[FreeIndex] = pPlayerThree
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_pPlayerFour[FreeIndex] = pPlayerFour
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_pPlayerFive[FreeIndex] = pPlayerFive
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_pPlayerSix[FreeIndex] = pPlayerSix
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_aPowerupOne[FreeIndex] = aPowerupOne
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_aPowerupTwo[FreeIndex] = aPowerupTwo
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_aPowerupThree[FreeIndex] = aPowerupThree
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_aPowerupFour[FreeIndex] = aPowerupFour
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_aPowerupFive[FreeIndex] = aPowerupFive
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_aPowerupSix[FreeIndex] = aPowerupSix
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_HUDOrder[FreeIndex] = WhichOrder
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_bFlashIconOne[FreeIndex] = bFlashIconOne
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_bFlashIconTwo[FreeIndex] = bFlashIconTwo
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_bFlashIconThree[FreeIndex] = bFlashIconThree
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_bFlashIconFour[FreeIndex] = bFlashIconFour
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_bFlashIconFive[FreeIndex] = bFlashIconFive
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_bFlashIconSix[FreeIndex] = bFlashIconSix
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_iFlashTime[FreeIndex] = iFlashTime
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC DRAW_GENERIC_SCORE(INT Number, STRING NumberTitle, INT iFlashingTime = -1, HUD_COLOURS aColour = HUD_COLOUR_WHITE, HUDORDER WhichOrder = HUDORDER_DONTCARE, BOOL isPlayer = FALSE, STRING NumberString = NULL, BOOL isFloat = FALSE, FLOAT FloatValue = 0.0, HUDFLASHING ColourFlashType = HUDFLASHING_NONE, INT ColourFlash = 0, HUD_COLOURS TitleColour = HUD_COLOUR_PURE_WHITE, BOOL DisplayWarning = FALSE, INT MaxNumber = 0 , BOOL DrawInfinity = FALSE, ACTIVITY_POWERUP aPowerup = ACTIVITY_POWERUP_NONE, HUD_COUNTER_STYLE eCounterStyle = HUD_COUNTER_STYLE_DEFAULT, BOOL bIsLiteralTitle = FALSE, HUD_COLOURS FleckColour = HUD_COLOUR_PURE_WHITE, INT iAlpha = 255, BOOL bDisplayBlankScore = FALSE, PLAYER_INDEX pPlayerID = NULL, BOOL bFlashTitle = FALSE, BOOL bDrawLineUnderName = FALSE, HUD_COLOURS LineUnderNameColour = HUD_COLOUR_WHITE, INT iTextLabelSubInt = -1)
|
|
|
|
INT FreeIndex = -1
|
|
INT I
|
|
FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
IF FreeIndex = -1
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_SCORE, I) = FALSE
|
|
FreeIndex = I
|
|
ENDIF
|
|
ENDIF
|
|
ENDFOR
|
|
IF FreeIndex > -1
|
|
MPGlobalsScoreHud.isSomethingDisplaying = TRUE
|
|
SET_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_SCORE, FreeIndex)
|
|
MPGlobalsScoreHud.ElementHud_SCORE.iGenericScore_Number[FreeIndex] = Number
|
|
MPGlobalsScoreHud.ElementHud_SCORE.sGenericScore_Title[FreeIndex] = NumberTitle
|
|
MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_Colour[FreeIndex] = aColour
|
|
MPGlobalsScoreHud.ElementHud_SCORE.iGenericScore_FlashTimer[FreeIndex] = iFlashingTime
|
|
MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_HUDOrder[FreeIndex] = WhichOrder
|
|
MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_bIsPlayer[FreeIndex] = isPlayer
|
|
MPGlobalsScoreHud.ElementHud_SCORE.sGenericScore_NumberString[FreeIndex] = NumberString
|
|
MPGlobalsScoreHud.ElementHud_SCORE.bGenericScore_isFloat[FreeIndex] = isFloat
|
|
MPGlobalsScoreHud.ElementHud_SCORE.bGenericScore_FloatValue[FreeIndex] = FloatValue
|
|
MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_ColourFlashType[FreeIndex] = ColourFlashType
|
|
MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_ColourFlash[FreeIndex] = ColourFlash
|
|
MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_TitleColour[FreeIndex] = TitleColour
|
|
MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_DisplayWarning[FreeIndex] = DisplayWarning
|
|
MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_MaxNumber[FreeIndex] = MaxNumber
|
|
MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_DrawInfinity[FreeIndex] = DrawInfinity
|
|
MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_Powerup[FreeIndex] = aPowerup
|
|
MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_Style[FreeIndex] = eCounterStyle
|
|
MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_bIsLiteralTitle[FreeIndex] = bIsLiteralTitle
|
|
MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_FleckColour[FreeIndex] = FleckColour
|
|
MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_iAlpha[FreeIndex] = iAlpha
|
|
MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_bDisplayBlankScore[FreeIndex] = bDisplayBlankScore
|
|
MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_pPlayerID[FreeIndex] = pPlayerID
|
|
MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_bFlashTitle[FreeIndex] = bFlashTitle
|
|
MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_bDrawLineUnderName[FreeIndex] = bDrawLineUnderName
|
|
MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_LineUnderNameColour[FreeIndex] = LineUnderNameColour
|
|
MPGlobalsScoreHud.ElementHud_SCORE.iGenericScore_TitleNumber[FreeIndex] = iTextLabelSubInt
|
|
|
|
// SET_TITLE_JUSTIFICATION_SCORE(Number)
|
|
|
|
#IF USE_TU_CHANGES
|
|
IF aPowerup = ACTIVITY_POWERUP_XP
|
|
AND IS_LANGUAGE_NON_ROMANIC()
|
|
MPGlobalsScoreHud.bTitleFarLeftJustified = TRUE
|
|
ENDIF
|
|
|
|
|
|
|
|
IF IS_PC_VERSION()
|
|
bool bProblematicResolution = false
|
|
int resX, resY
|
|
GET_ACTUAL_SCREEN_RESOLUTION(resX,resY)
|
|
if resX = 1280
|
|
and resY >= 960
|
|
bProblematicResolution = true
|
|
endif
|
|
|
|
|
|
IF Number > 99999999
|
|
MPGlobalsScoreHud.bTitleInsanePlusLeftJustified = TRUE
|
|
ELIF Number > 9999999 or bProblematicResolution
|
|
MPGlobalsScoreHud.bTitleInsaneLeftJustified = TRUE
|
|
ELIF Number > 999 // Changed to move text left after $999, not $99,999 due to over lap in B*2312515
|
|
MPGlobalsScoreHud.bTitleFarLeftJustified = TRUE
|
|
ENDIF
|
|
|
|
IF IS_SCREEN_NARROW()
|
|
MPGlobalsScoreHud.bTitleInsanePlusLeftJustified = TRUE
|
|
ENDIF
|
|
|
|
ENDIF
|
|
|
|
|
|
#ENDIF // USE_TU_CHANGES
|
|
|
|
// ELSE
|
|
// NET_NL()NET_PRINT("DRAW_GENERIC_SCORE Index = -1 NOT DRAWING THE SCORE")
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC DRAW_GENERIC_BIG_DOUBLE_NUMBER(INT Number, INT MaxNumber, STRING NumberTitle, INT iFlashingTime = -1, HUD_COLOURS aColour = HUD_COLOUR_WHITE, HUDORDER WhichOrder = HUDORDER_DONTCARE, BOOL isPlayer = FALSE, HUDFLASHING ColourFlashType = HUDFLASHING_NONE, INT ColourFlash = 0, BOOL bDisplayWarning = FALSE, BOOL bUseNonPlayerFont = FALSE, HUD_COLOURS TitleColour = HUD_COLOUR_WHITE, BOOL bAdjustTitleWithNumIncrease = TRUE, HUD_COLOURS FleckColour = HUD_COLOUR_PURE_WHITE, INT iAlpha = 255, BOOL bFlashTitle = FALSE)
|
|
|
|
INT FreeIndex = -1
|
|
INT I
|
|
FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
IF FreeIndex = -1
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_DOUBLE_NUMBER, I) = FALSE
|
|
FreeIndex = I
|
|
ENDIF
|
|
ENDIF
|
|
ENDFOR
|
|
IF FreeIndex > -1
|
|
MPGlobalsScoreHud.isSomethingDisplaying = TRUE
|
|
SET_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_DOUBLE_NUMBER, FreeIndex)
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.iGenericDoubleNumber_Number[FreeIndex] = Number
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.iGenericDoubleNumber_NumberTwo[FreeIndex] = MaxNumber
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.sGenericDoubleNumber_Title[FreeIndex] = NumberTitle
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.iGenericDoubleNumber_FlashTimer[FreeIndex] = iFlashingTime
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.GenericDoubleNumber_HUDOrder[FreeIndex] = WhichOrder
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.GenericDoubleNumber_COLOUR[FreeIndex] = aColour
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.GenericDoubleNumber_bIsPlayer[FreeIndex] = isPlayer
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.GenericDoubleNumber_ColourFlashType[FreeIndex] = ColourFlashType
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.GenericDoubleNumber_ColourFlash[FreeIndex] = ColourFlash
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.GenericDoubleNumber_bDisplayWarning[FreeIndex] = bDisplayWarning
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.GenericDoubleNumber_bUseNonPlayerFont[FreeIndex] = bUseNonPlayerFont
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.GenericDoubleNumber_TitleCOLOUR[FreeIndex] = TitleColour
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.GenericDoubleNumber_FleckColour[FreeIndex] = FleckColour
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.GenericDoubleNumber_iAlpha[FreeIndex] = iAlpha
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.GenericDoubleNumber_bFlashTitle[FreeIndex] = bFlashTitle
|
|
|
|
IF Number > 9
|
|
AND MaxNumber > 9
|
|
AND IS_PC_VERSION()
|
|
AND bAdjustTitleWithNumIncrease
|
|
MPGlobalsScoreHud.bTitleFarLeftJustified = TRUE
|
|
ENDIF
|
|
|
|
// ELSE
|
|
// NET_NL()NET_PRINT("DRAW_GENERIC_BIG_DOUBLE_NUMBER Index = -1 NOT DRAWING THE NUMBER")
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC DRAW_GENERIC_BIG_DOUBLE_NUMBER_PLACE(INT Number, INT MaxNumber, STRING NumberTitle, HUD_COLOURS PlacementColour = HUD_COLOUR_WHITE, INT iFlashingTime = -1, HUDORDER WhichOrder = HUDORDER_DONTCARE, BOOL isPlayer = FALSE, HUDFLASHING ColourFlashType = HUDFLASHING_NONE, INT ColourFlash = 0, HUD_COLOURS TitleColour = HUD_COLOUR_WHITE, HUD_COLOURS FleckColour = HUD_COLOUR_PURE_WHITE, BOOL bCustomFont = FALSE, TEXT_FONTS eCustomFont = FONT_STANDARD)
|
|
|
|
INT FreeIndex = -1
|
|
INT I
|
|
FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
IF FreeIndex = -1
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_DOUBLE_NUMBER_PLACE, I) = FALSE
|
|
FreeIndex = I
|
|
ENDIF
|
|
ENDIF
|
|
ENDFOR
|
|
IF FreeIndex > -1
|
|
MPGlobalsScoreHud.isSomethingDisplaying = TRUE
|
|
SET_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_DOUBLE_NUMBER_PLACE, FreeIndex)
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.iGenericDoubleNumberPlace_Number[FreeIndex] = Number
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.iGenericDoubleNumberPlace_NumberTwo[FreeIndex] = MaxNumber
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.sGenericDoubleNumberPlace_Title[FreeIndex] = NumberTitle
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.GenericDoubleNumberPlace_COLOUR[FreeIndex] = PlacementColour
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.iGenericDoubleNumberPlace_FlashTimer[FreeIndex] = iFlashingTime
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.GenericDoubleNumberPlace_HUDOrder[FreeIndex] = WhichOrder
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.GenericDoubleNumberPlace_bIsPlayer[FreeIndex] = isPlayer
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.GenericDoubleNumberPlace_ColourFlashType[FreeIndex] = ColourFlashType
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.GenericDoubleNumberPlace_ColourFlash[FreeIndex] = ColourFlash
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.GenericDoubleNumberPlace_TitleCOLOUR[FreeIndex] = TitleColour
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.GenericDoubleNumberPlace_FleckColour[FreeIndex] = FleckColour
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.GenericDoubleNumberPlace_bCustomFont[FreeIndex] = bCustomFont
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.GenericDoubleNumberPlace_eCustomFont[FreeIndex] = eCustomFont
|
|
// ELSE
|
|
// NET_NL()NET_PRINT("DRAW_GENERIC_BIG_DOUBLE_NUMBER_PLACE Index = -1 NOT DRAWING THE NUMBER PLACE")
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC DRAW_GENERIC_DOUBLE_TEXT(STRING sTitleLeft, STRING sTitleRight, BOOL bTitleLeftLiteral, BOOL bTitleRightLiteral, HUDORDER eWhichOrder = HUDORDER_DONTCARE, HUD_COLOURS eTitleColour = HUD_COLOUR_WHITE, BOOL bCustomFont = FALSE, TEXT_FONTS eCustomFont = FONT_STANDARD)
|
|
|
|
INT FreeIndex = -1
|
|
INT I
|
|
FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
IF FreeIndex = -1
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_DOUBLE_TEXT, I) = FALSE
|
|
FreeIndex = I
|
|
ENDIF
|
|
ENDIF
|
|
ENDFOR
|
|
IF FreeIndex > -1
|
|
MPGlobalsScoreHud.isSomethingDisplaying = TRUE
|
|
SET_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_DOUBLE_TEXT, FreeIndex)
|
|
MPGlobalsScoreHud.ElementHud_DOUBLETEXT.sGenericDoubleText_TitleLeft[FreeIndex] = sTitleLeft
|
|
MPGlobalsScoreHud.ElementHud_DOUBLETEXT.sGenericDoubleText_TitleRight[FreeIndex] = sTitleRight
|
|
MPGlobalsScoreHud.ElementHud_DOUBLETEXT.GenericDoubleText_bTitleLeftLiteral[FreeIndex] = bTitleLeftLiteral
|
|
MPGlobalsScoreHud.ElementHud_DOUBLETEXT.GenericDoubleText_bTitleRightLiteral[FreeIndex] = bTitleRightLiteral
|
|
MPGlobalsScoreHud.ElementHud_DOUBLETEXT.GenericDoubleText_HUDOrder[FreeIndex] = eWhichOrder
|
|
MPGlobalsScoreHud.ElementHud_DOUBLETEXT.GenericDoubleText_TitleCOLOUR[FreeIndex] = eTitleColour
|
|
MPGlobalsScoreHud.ElementHud_DOUBLETEXT.GenericDoubleText_bCustomFont[FreeIndex] = bCustomFont
|
|
MPGlobalsScoreHud.ElementHud_DOUBLETEXT.GenericDoubleText_eCustomFont[FreeIndex] = eCustomFont
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC DRAW_GENERIC_CHECKPOINT(INT Number, INT MaxNumber, STRING NumberTitle, HUD_COLOURS PlacementColour = HUD_COLOUR_WHITE, INT TitleNumber = -1, INT iFlashingTime = -1, HUDORDER WhichOrder = HUDORDER_DONTCARE, FLOAT XPos = -1.0, FLOAT YPos = -1.0, BOOL isPlayer = FALSE, HUDFLASHING ColourFlashType = HUDFLASHING_NONE, INT ColourFlash = 0, INT InBuiltMultiplyer = 0
|
|
#IF USE_TU_CHANGES , BOOL DrawCross0 = FALSE, BOOL DrawCross1 = FALSE, BOOL DrawCross2 = FALSE, BOOL DrawCross3 = FALSE, BOOL DrawCross4 = FALSE, BOOL DrawCross5 = FALSE, BOOL DrawCross6 = FALSE, BOOL DrawCross7 = FALSE #ENDIF, HUD_COLOURS FleckColour = HUD_COLOUR_PURE_WHITE)
|
|
|
|
INT FreeIndex = -1
|
|
INT I
|
|
FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
IF FreeIndex = -1
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_CHECKPOINT, I) = FALSE
|
|
FreeIndex = I
|
|
ENDIF
|
|
ENDIF
|
|
ENDFOR
|
|
IF FreeIndex > -1
|
|
|
|
MPGlobalsScoreHud.isSomethingDisplaying = TRUE
|
|
SET_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_CHECKPOINT, FreeIndex)
|
|
MPGlobalsScoreHud.ElementHud_CHECKPOINT.iGenericCheckpoint_Number[FreeIndex] = Number
|
|
MPGlobalsScoreHud.ElementHud_CHECKPOINT.iGenericCheckpoint_MaxNumber[FreeIndex] = MaxNumber
|
|
MPGlobalsScoreHud.ElementHud_CHECKPOINT.sGenericCheckpoint_Title[FreeIndex] = NumberTitle
|
|
MPGlobalsScoreHud.ElementHud_CHECKPOINT.GenericCheckpoint_Colour[FreeIndex] = PlacementColour
|
|
MPGlobalsScoreHud.ElementHud_CHECKPOINT.iGenericCheckpoint_iInBuiltMultiplyer[FreeIndex] = InBuiltMultiplyer
|
|
|
|
|
|
MPGlobalsScoreHud.ElementHud_CHECKPOINT.iGenericCheckpoint_TitleNumber[FreeIndex] = TitleNumber
|
|
MPGlobalsScoreHud.ElementHud_CHECKPOINT.iGenericCheckpoint_FlashTimer[FreeIndex] = iFlashingTime
|
|
MPGlobalsScoreHud.ElementHud_CHECKPOINT.GenericCheckpoint_HUDOrder[FreeIndex] = WhichOrder
|
|
|
|
MPGlobalsScoreHud.ElementHud_CHECKPOINT.GenericCheckpoint_FreeRoamPos[FreeIndex].x = XPos
|
|
MPGlobalsScoreHud.ElementHud_CHECKPOINT.GenericCheckpoint_FreeRoamPos[FreeIndex].y = YPos
|
|
|
|
MPGlobalsScoreHud.ElementHud_CHECKPOINT.GenericCheckpoint_bIsPlayer[FreeIndex] = isPlayer
|
|
|
|
#IF USE_TU_CHANGES
|
|
GenericCheckpoint_Cross0[FreeIndex] = DrawCross0
|
|
GenericCheckpoint_Cross1[FreeIndex] = DrawCross1
|
|
GenericCheckpoint_Cross2[FreeIndex] = DrawCross2
|
|
GenericCheckpoint_Cross3[FreeIndex] = DrawCross3
|
|
GenericCheckpoint_Cross4[FreeIndex] = DrawCross4
|
|
GenericCheckpoint_Cross5[FreeIndex] = DrawCross5
|
|
GenericCheckpoint_Cross6[FreeIndex] = DrawCross6
|
|
GenericCheckpoint_Cross7[FreeIndex] = DrawCross7
|
|
#ENDIF
|
|
|
|
MPGlobalsScoreHud.ElementHud_CHECKPOINT.GenericCheckpoint_ColourFlashType[FreeIndex] = ColourFlashType
|
|
MPGlobalsScoreHud.ElementHud_CHECKPOINT.GenericCheckpoint_ColourFlash[FreeIndex] = ColourFlash
|
|
MPGlobalsScoreHud.ElementHud_CHECKPOINT.GenericCheckpoint_FleckColour[FreeIndex] = FleckColour
|
|
|
|
MPGlobalsScoreHud.bTitleFarLeftJustified = TRUE
|
|
|
|
|
|
// ELSE
|
|
// NET_NL()NET_PRINT("DRAW_GENERIC_CHECKPOINT Index = -1 NOT DRAWING THE CHECKPOINT")
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC DRAW_GENERIC_METER(INT Number, INT MaxNumber, STRING NumberTitle, HUD_COLOURS PlacementColour = HUD_COLOUR_WHITE, INT iFlashingTime = -1, HUDORDER WhichOrder = HUDORDER_DONTCARE, FLOAT XPos = -1.0, FLOAT YPos = -1.0, BOOL isPlayer = FALSE, BOOL OnlyZeroIsEmpty = TRUE, HUDFLASHING ColourFlashType = HUDFLASHING_NONE, INT ColourFlash = 0, BOOL bUseBigMeter = FALSE, INT iDrawRedDangerZonePercent = 0, BOOL isLiteralString=FALSE, PERCENTAGE_METER_LINE PercentageLine = PERCENTAGE_METER_LINE_NONE, HUD_COLOURS FleckColour = HUD_COLOUR_PURE_WHITE, HUD_COLOURS TextColour = HUD_COLOUR_WHITE, BOOL bDrawLineUnderName = FALSE, HUD_COLOURS LineUnderNameColour = HUD_COLOUR_WHITE, BOOL MakeBarUrgent = FALSE, INT iUrgentPercentage = 0, HUD_COLOURS PulseToColour = HUD_COLOUR_WHITE, INT iPulseTime = -1, BOOL bUseScoreTitle = FALSE, INT iTextLabelSubInt = -1, FLOAT fNumber = -1.0, FLOAT fMaxNumber = -1.0, BOOL bUseSecondaryBar = FALSE, HUD_COLOURS eSecondaryBarColour = HUD_COLOUR_WHITE, FLOAT fSecondaryBarPercentage = 0.0, BOOL bTransparentSecBarIntersectingMainBar = FALSE, HUD_COLOURS eSecBarPulseToColour = HUD_COLOUR_WHITE, INT iSecBarPulseTime = -1, FLOAT fSecBarStartPercentage = 0.0, INT iGFXDrawOrder = -1, BOOL bCapMaxPercentage = TRUE)
|
|
|
|
INT FreeIndex = -1
|
|
INT I
|
|
FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
IF FreeIndex = -1
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_METER, I) = FALSE
|
|
FreeIndex = I
|
|
ENDIF
|
|
ENDIF
|
|
ENDFOR
|
|
|
|
IF FreeIndex > -1
|
|
MPGlobalsScoreHud.isSomethingDisplaying = TRUE
|
|
SET_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_METER, FreeIndex)
|
|
MPGlobalsScoreHud.ElementHud_METER.iGenericMeter_Number[FreeIndex] = Number
|
|
MPGlobalsScoreHud.ElementHud_METER.iGenericMeter_MaxNumber[FreeIndex] = MaxNumber
|
|
MPGlobalsScoreHud.ElementHud_METER.sGenericMeter_Title[FreeIndex] = NumberTitle
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_Colour[FreeIndex] = PlacementColour
|
|
MPGlobalsScoreHud.ElementHud_METER.iGenericMeter_FlashTimer[FreeIndex] = iFlashingTime
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_HUDOrder[FreeIndex] = WhichOrder
|
|
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_FreeRoamPos[FreeIndex].x = XPos
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_FreeRoamPos[FreeIndex].y = YPos
|
|
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_bIsPlayer[FreeIndex] = isPlayer
|
|
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_bOnlyZeroIsEmpty[FreeIndex] = OnlyZeroIsEmpty
|
|
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_ColourFlashType[FreeIndex] = ColourFlashType
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_ColourFlash[FreeIndex] = ColourFlash
|
|
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_bBigMeter[FreeIndex] = bUseBigMeter
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_iDrawRedDangerZonePercent[FreeIndex] = iDrawRedDangerZonePercent
|
|
|
|
MPGlobalsScoreHud.bTitleFarLeftJustified = TRUE
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_bIsLiteralString[FreeIndex] = isLiteralString
|
|
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_PercentageLine[FreeIndex] = PercentageLine
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_FleckColour[FreeIndex] = FleckColour
|
|
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_TextColour[FreeIndex] = TextColour
|
|
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_bDrawLineUnderName[FreeIndex] = bDrawLineUnderName
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_LineUnderNameColour[FreeIndex] = LineUnderNameColour
|
|
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_MakeBarUrgent[FreeIndex] = MakeBarUrgent
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_iUrgentPercentage[FreeIndex] = iUrgentPercentage
|
|
|
|
MPGlobalsScoreHud.ElementHud_METER.PulseToColour[FreeIndex] = PulseToColour
|
|
MPGlobalsScoreHud.ElementHud_METER.iPulseTime[FreeIndex] = iPulseTime
|
|
|
|
MPGlobalsScoreHud.ElementHud_METER.bUseScoreTitle[FreeIndex] = bUseScoreTitle
|
|
MPGlobalsScoreHud.ElementHud_METER.iGenericMeter_TitleNumber[FreeIndex] = iTextLabelSubInt
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_fNumber[FreeIndex] = fNumber
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_fMaxNumber[FreeIndex] = fMaxNumber
|
|
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_bUseSecondaryBar[FreeIndex] = bUseSecondaryBar
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_eSecondaryBarColour[FreeIndex] = eSecondaryBarColour
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_fSecondaryBarPercentage[FreeIndex] = fSecondaryBarPercentage
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_bTransparentSecBarIntersectingMainBar[FreeIndex] = bTransparentSecBarIntersectingMainBar
|
|
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_eSecBarPulseToColour[FreeIndex] = eSecBarPulseToColour
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_iSecBarPulseTime[FreeIndex] = iSecBarPulseTime
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_fSecBarStartPercentage[FreeIndex] = fSecBarStartPercentage
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_iGFXDrawOrder[FreeIndex] = iGFXDrawOrder
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_bCapMaxPercentage[FreeIndex] = bCapMaxPercentage
|
|
ELSE
|
|
#IF IS_DEBUG_BUILD
|
|
NET_NL()NET_PRINT("DRAW_GENERIC_METER Index = -1 NOT DRAWING THE METER")
|
|
#ENDIF
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC DRAW_LOOT_BAG_UI(LOOT_BAG_UI_DATA data)
|
|
|
|
IF data.iItems <= 0
|
|
SCRIPT_ASSERT("DRAW_LOOT_BAG_UI - Invalid number of items passed.")
|
|
EXIT
|
|
ENDIF
|
|
|
|
INT i
|
|
FLOAT fPercentageCount = data.fSpaceFilledPercent
|
|
|
|
FOR i = (data.iItems - 1) TO 0 STEP -1
|
|
fPercentageCount -= data.element[i].fSpaceUsedPerecnt
|
|
|
|
IF data.element[i].fSpaceUsedPerecnt = 100
|
|
DRAW_GENERIC_METER(0, 100, data.element[i].sLabel, HUD_COLOUR_WHITE, DEFAULT, data.element[i].eHUDOrder, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, HUD_COLOUR_GREY, DEFAULT, DEFAULT,
|
|
DEFAULT, DEFAULT, HUD_COLOUR_REDDARK, DEFAULT, DEFAULT, DEFAULT, data.fSpaceFilledPercent, DEFAULT, TRUE, HUD_COLOUR_WHITE, data.element[i].fSpaceUsedPerecnt, TRUE, HUD_COLOUR_GREYDARK, DEFAULT, fPercentageCount)
|
|
ELSE
|
|
DRAW_GENERIC_METER(0, 100, data.element[i].sLabel, HUD_COLOUR_GREY, DEFAULT, data.element[i].eHUDOrder, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, HUD_COLOUR_GREY, DEFAULT, DEFAULT,
|
|
DEFAULT, DEFAULT, HUD_COLOUR_REDDARK, DEFAULT, DEFAULT, DEFAULT, data.fSpaceFilledPercent, DEFAULT, TRUE, HUD_COLOUR_WHITE, data.element[i].fSpaceUsedPerecnt, TRUE, HUD_COLOUR_GREYDARK, DEFAULT, fPercentageCount)
|
|
ENDIF
|
|
ENDFOR
|
|
|
|
DRAW_GENERIC_METER(0, 100, data.sBagLabel, HUD_COLOUR_WHITE, DEFAULT, data.eBagHUDOrder, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
|
|
DEFAULT, DEFAULT, HUD_COLOUR_REDDARK, DEFAULT, DEFAULT, DEFAULT, data.fSpaceFilledPercent, DEFAULT, TRUE, HUD_COLOUR_WHITE, 0, TRUE, HUD_COLOUR_GREYDARK, DEFAULT, 0.0)
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
IF fPercentageCount != 0.0
|
|
SCRIPT_ASSERT("DRAW_LOOT_BAG_UI - Items space used does not match total space used in loot bag")
|
|
ENDIF
|
|
#ENDIF
|
|
ENDPROC
|
|
|
|
PROC DRAW_GENERIC_SPRITE_METER(INT Number, INT MaxNumber, STRING NumberTitle, STRING SpriteName, HUD_COLOURS PlacementColour = HUD_COLOUR_WHITE, INT iFlashingTime = -1, HUDORDER WhichOrder = HUDORDER_DONTCARE, BOOL isPlayer = FALSE, BOOL OnlyZeroIsEmpty = TRUE, HUDFLASHING ColourFlashType = HUDFLASHING_NONE, INT ColourFlash = 0, BOOL isLiteralString=FALSE, HUD_COLOURS FleckColour = HUD_COLOUR_PURE_WHITE, HUD_COLOURS TextColour = HUD_COLOUR_WHITE)
|
|
|
|
|
|
INT FreeIndex = -1
|
|
INT I
|
|
FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
IF FreeIndex = -1
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_SPRITE_METER, I) = FALSE
|
|
FreeIndex = I
|
|
ENDIF
|
|
ENDIF
|
|
ENDFOR
|
|
|
|
IF FreeIndex > -1
|
|
|
|
MPGlobalsScoreHud.isSomethingDisplaying = TRUE
|
|
SET_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_SPRITE_METER, FreeIndex)
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.iGenericMeter_Number[FreeIndex] = Number
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.iGenericMeter_MaxNumber[FreeIndex] = MaxNumber
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.sGenericMeter_Title[FreeIndex] = NumberTitle
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.GenericMeter_Colour[FreeIndex] = PlacementColour
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.iGenericMeter_FlashTimer[FreeIndex] = iFlashingTime
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.GenericMeter_HUDOrder[FreeIndex] = WhichOrder
|
|
|
|
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.GenericMeter_bIsPlayer[FreeIndex] = isPlayer
|
|
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.GenericMeter_bOnlyZeroIsEmpty[FreeIndex] = OnlyZeroIsEmpty
|
|
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.GenericMeter_ColourFlashType[FreeIndex] = ColourFlashType
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.GenericMeter_ColourFlash[FreeIndex] = ColourFlash
|
|
|
|
MPGlobalsScoreHud.bTitleFarLeftJustified = TRUE
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.GenericMeter_bIsLiteralString[FreeIndex] = isLiteralString
|
|
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.GenericMeter_FleckColour[FreeIndex] = FleckColour
|
|
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.GenericMeter_TextColour[FreeIndex] = TextColour
|
|
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.GenericMeter_SpriteName[FreeIndex] = SpriteName
|
|
|
|
// ELSE
|
|
// NET_NL()NET_PRINT("DRAW_GENERIC_SPRITE_METER Index = -1 NOT DRAWING THE METER")
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC DRAW_GENERIC_WEAPON_SPRITE_METER(INT Number, INT MaxNumber, STRING NumberTitle, WEAPON_TYPE WeaponType, HUD_COLOURS PlacementColour = HUD_COLOUR_WHITE, INT iFlashingTime = -1, HUDORDER WhichOrder = HUDORDER_DONTCARE, BOOL isPlayer = FALSE, BOOL OnlyZeroIsEmpty = TRUE, HUDFLASHING ColourFlashType = HUDFLASHING_NONE, INT ColourFlash = 0, BOOL isLiteralString=FALSE, HUD_COLOURS FleckColour = HUD_COLOUR_PURE_WHITE, HUD_COLOURS TextColour = HUD_COLOUR_WHITE)
|
|
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.sGenericMeter_DictionaryName = "MPKillQuota"
|
|
DRAW_GENERIC_SPRITE_METER(Number, MaxNumber, NumberTitle, GET_WEAPONTYPE_TEXTURE(WeaponType),
|
|
PlacementColour, iFlashingTime, WhichOrder, isPlayer, OnlyZeroIsEmpty, ColourFlashType, ColourFlash, isLiteralString,
|
|
FleckColour, TextColour)
|
|
ENDPROC
|
|
|
|
PROC DRAW_GENERIC_MODEL_SPRITE_METER(INT Number, INT MaxNumber, STRING NumberTitle, MODEL_NAMES modelName, HUD_COLOURS PlacementColour = HUD_COLOUR_WHITE, INT iFlashingTime = -1, HUDORDER WhichOrder = HUDORDER_DONTCARE, BOOL isPlayer = FALSE, BOOL OnlyZeroIsEmpty = TRUE, HUDFLASHING ColourFlashType = HUDFLASHING_NONE, INT ColourFlash = 0, BOOL isLiteralString=FALSE, HUD_COLOURS FleckColour = HUD_COLOUR_PURE_WHITE, HUD_COLOURS TextColour = HUD_COLOUR_WHITE)
|
|
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.sGenericMeter_DictionaryName = "MPAirCraft"
|
|
|
|
PRINTLN("DRAW_GENERIC_MODEL_SPRITE_METER - modelName = ", GET_MODELNAME_TEXTURE(modelName))
|
|
|
|
DRAW_GENERIC_SPRITE_METER(Number, MaxNumber, NumberTitle, GET_MODELNAME_TEXTURE(modelName),
|
|
PlacementColour, iFlashingTime, WhichOrder, isPlayer, OnlyZeroIsEmpty, ColourFlashType, ColourFlash, isLiteralString,
|
|
FleckColour, TextColour)
|
|
ENDPROC
|
|
|
|
PROC DRAW_GENERIC_ELIMINATION(INT MaxNumber, STRING Title = NULL, INT VisibleBoxes = -1,
|
|
BOOL IsActive1 = FALSE, BOOL IsActive2 = FALSE,BOOL IsActive3 = FALSE,BOOL IsActive4 = FALSE,
|
|
BOOL IsActive5 = FALSE, BOOL IsActive6 = FALSE,BOOL IsActive7 = FALSE,BOOL IsActive8 = FALSE, //11
|
|
HUD_COLOURS ColourValid = HUD_COLOUR_GREEN, HUD_COLOURS ColourInValid = HUD_COLOUR_RED,
|
|
INT FlashTime = -1, HUDORDER WhichOrder = HUDORDER_DONTCARE, FLOAT XPos = -1.0, FLOAT YPos = -1.0,
|
|
BOOL isPlayer = FALSE, HUD_COLOURS Box1Colour = HUD_COLOUR_PURE_WHITE, HUD_COLOURS Box2Colour = HUD_COLOUR_PURE_WHITE,
|
|
HUD_COLOURS Box3Colour = HUD_COLOUR_PURE_WHITE, HUD_COLOURS Box4Colour = HUD_COLOUR_PURE_WHITE, HUD_COLOURS Box5Colour = HUD_COLOUR_PURE_WHITE, //23
|
|
HUD_COLOURS Box6Colour = HUD_COLOUR_PURE_WHITE,HUD_COLOURS Box7Colour = HUD_COLOUR_PURE_WHITE, HUD_COLOURS Box8Colour = HUD_COLOUR_PURE_WHITE,
|
|
HUD_COLOURS Box1Colour_Inactive = HUD_COLOUR_PURE_WHITE, HUD_COLOURS Box2Colour_Inactive = HUD_COLOUR_PURE_WHITE,
|
|
HUD_COLOURS Box3Colour_Inactive = HUD_COLOUR_PURE_WHITE, HUD_COLOURS Box4Colour_Inactive = HUD_COLOUR_PURE_WHITE, HUD_COLOURS Box5Colour_Inactive = HUD_COLOUR_PURE_WHITE,
|
|
HUD_COLOURS Box6Colour_Inactive = HUD_COLOUR_PURE_WHITE,HUD_COLOURS Box7Colour_Inactive = HUD_COLOUR_PURE_WHITE, HUD_COLOURS Box8Colour_Inactive = HUD_COLOUR_PURE_WHITE,
|
|
INT ExtendedTimer = -1, HUDFLASHING ColourFlashType = HUDFLASHING_NONE, INT ColourFlash = 0, HUD_COLOURS TitleColour = HUD_COLOUR_PURE_WHITE //38
|
|
#IF USE_TU_CHANGES , BOOL DrawCross0 = FALSE,BOOL DrawCross1 = FALSE,BOOL DrawCross2 = FALSE,BOOL DrawCross3 = FALSE,BOOL DrawCross4 = FALSE,BOOL DrawCross5 = FALSE,BOOL DrawCross6 = FALSE,BOOL DrawCross7 = FALSE #ENDIF ,
|
|
BOOL bUseNonPlayerFont = FALSE, HUD_COLOURS FleckColour = HUD_COLOUR_PURE_WHITE #IF USE_TU_CHANGES , HUD_COLOURS DrawCross0Colour = HUD_COLOUR_BLACK, HUD_COLOURS DrawCross1Colour = HUD_COLOUR_BLACK, HUD_COLOURS DrawCross2Colour = HUD_COLOUR_BLACK,
|
|
HUD_COLOURS DrawCross3Colour = HUD_COLOUR_BLACK, HUD_COLOURS DrawCross4Colour = HUD_COLOUR_BLACK, HUD_COLOURS DrawCross5Colour = HUD_COLOUR_BLACK, HUD_COLOURS DrawCross6Colour = HUD_COLOUR_BLACK, HUD_COLOURS DrawCross7Colour = HUD_COLOUR_BLACK #ENDIF,
|
|
BOOL bOverrideDontUseFarLeftJustified = FALSE)
|
|
|
|
INT FreeIndex = -1
|
|
INT I
|
|
FOR I = 0 TO MAX_NUMBER_HUD_ELEMENT-1
|
|
IF FreeIndex = -1
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_ELIMINATION, I) = FALSE
|
|
FreeIndex = I
|
|
ENDIF
|
|
ENDIF
|
|
ENDFOR
|
|
|
|
IF FreeIndex > -1
|
|
MPGlobalsScoreHud.isSomethingDisplaying = TRUE
|
|
SET_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_ELIMINATION, FreeIndex)
|
|
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.iGenericElimination_MaxNumber[FreeIndex] = MaxNumber
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.sGenericElimination_Title[FreeIndex] = Title
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.iGenericElimination_VisibleBoxes[FreeIndex] = VisibleBoxes
|
|
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.bGenericElimination_IsActive1[FreeIndex] = IsActive1
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.bGenericElimination_IsActive2[FreeIndex] = IsActive2
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.bGenericElimination_IsActive3[FreeIndex] = IsActive3
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.bGenericElimination_IsActive4[FreeIndex] = IsActive4
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.bGenericElimination_IsActive5[FreeIndex] = IsActive5
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.bGenericElimination_IsActive6[FreeIndex] = IsActive6
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.bGenericElimination_IsActive7[FreeIndex] = IsActive7
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.bGenericElimination_IsActive8[FreeIndex] = IsActive8
|
|
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_ColourFirst[FreeIndex] = ColourValid
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_ColourSecond[FreeIndex] = ColourInValid
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.iGenericElimination_FlashTimer[FreeIndex] = FlashTime
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_HUDOrder[FreeIndex] = WhichOrder
|
|
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_FreeRoamPos[FreeIndex].x = XPos
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_FreeRoamPos[FreeIndex].y = YPos
|
|
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_bIsPlayer[FreeIndex] = isPlayer
|
|
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box1Colour[FreeIndex] = Box1Colour
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box2Colour[FreeIndex] = Box2Colour
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box3Colour[FreeIndex] = Box3Colour
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box4Colour[FreeIndex] = Box4Colour
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box5Colour[FreeIndex] = Box5Colour
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box6Colour[FreeIndex] = Box6Colour
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box7Colour[FreeIndex] = Box7Colour
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box8Colour[FreeIndex] = Box8Colour
|
|
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box1Colour_InActive[FreeIndex] = Box1Colour_Inactive
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box2Colour_InActive[FreeIndex] = Box2Colour_Inactive
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box3Colour_InActive[FreeIndex] = Box3Colour_Inactive
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box4Colour_InActive[FreeIndex] = Box4Colour_Inactive
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box5Colour_InActive[FreeIndex] = Box5Colour_Inactive
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box6Colour_InActive[FreeIndex] = Box6Colour_Inactive
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box7Colour_InActive[FreeIndex] = Box7Colour_Inactive
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box8Colour_InActive[FreeIndex] = Box8Colour_Inactive
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_TitleColour[FreeIndex] = TitleColour
|
|
|
|
#IF USE_TU_CHANGES
|
|
GenericElimination_Cross0[FreeIndex] = DrawCross0
|
|
GenericElimination_Cross1[FreeIndex] = DrawCross1
|
|
GenericElimination_Cross2[FreeIndex] = DrawCross2
|
|
GenericElimination_Cross3[FreeIndex] = DrawCross3
|
|
GenericElimination_Cross4[FreeIndex] = DrawCross4
|
|
GenericElimination_Cross5[FreeIndex] = DrawCross5
|
|
GenericElimination_Cross6[FreeIndex] = DrawCross6
|
|
GenericElimination_Cross7[FreeIndex] = DrawCross7
|
|
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Cross0Colour[FreeIndex] = DrawCross0Colour
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Cross1Colour[FreeIndex] = DrawCross1Colour
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Cross2Colour[FreeIndex] = DrawCross2Colour
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Cross3Colour[FreeIndex] = DrawCross3Colour
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Cross4Colour[FreeIndex] = DrawCross4Colour
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Cross5Colour[FreeIndex] = DrawCross5Colour
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Cross6Colour[FreeIndex] = DrawCross6Colour
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Cross7Colour[FreeIndex] = DrawCross7Colour
|
|
#ENDIF
|
|
|
|
IF bOverrideDontUseFarLeftJustified
|
|
MPGlobalsScoreHud.bTitleFarLeftJustified = FALSE
|
|
ELSE
|
|
MPGlobalsScoreHud.bTitleFarLeftJustified = TRUE
|
|
ENDIF
|
|
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.iGenericElimination_ExtendedTimer[FreeIndex] = ExtendedTimer
|
|
IF ExtendedTimer > -1
|
|
SET_PROGRESSHUD_EXTENDDISPLAY(PROGRESSHUD_ELIMINATION, FreeIndex)
|
|
ELSE
|
|
CLEAR_PROGRESSHUD_EXTENDDISPLAY(PROGRESSHUD_ELIMINATION, FreeIndex)
|
|
ENDIF
|
|
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_ColourFlashType[FreeIndex] = ColourFlashType
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_ColourFlash[FreeIndex] = ColourFlash
|
|
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_bUseNonPlayerFont[FreeIndex] = bUseNonPlayerFont
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_FleckColour[FreeIndex] = FleckColour
|
|
|
|
// ELSE
|
|
// NET_NL()NET_PRINT("DRAW_GENERIC_ELIMINATION Index = -1 NOT DRAWING THE ELIMINATION")
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
|
|
PROC DRAW_GENERIC_WIND_METER(STRING sTitle, INT iWindSpeed, FLOAT fWindDirection, INT iR, INT iG, INT iB, HUDORDER eHUDOrder)
|
|
INT iFree = -1
|
|
INT idx
|
|
REPEAT MAX_NUMBER_HUD_ELEMENT idx
|
|
IF (iFree = -1)
|
|
IF IS_PROGRESSHUD_ACTIVATION_ON_INDEXED(PROGRESSHUD_WINDMETER, idx) = FALSE
|
|
iFree = idx
|
|
ENDIF
|
|
ENDIF
|
|
ENDREPEAT
|
|
|
|
|
|
IF iFree > -1
|
|
MPGlobalsScoreHud.isSomethingDisplaying = TRUE
|
|
SET_PROGRESSHUD_ACTIVATION_ON(PROGRESSHUD_WINDMETER, iFree)
|
|
|
|
MPGlobalsScoreHud.ElementHud_WIND.sGenericMeter_Title[iFree] = sTitle
|
|
MPGlobalsScoreHud.ElementHud_WIND.iGenericMeter_WindSpeed[iFree] = iWindSpeed
|
|
MPGlobalsScoreHud.ElementHud_WIND.fGenericMeter_Heading[iFree] = fWindDirection
|
|
MPGlobalsScoreHud.ElementHud_WIND.iGenericMeter_RedComponent[iFree] = iR
|
|
MPGlobalsScoreHud.ElementHud_WIND.iGenericMeter_BlueComponent[iFree] = iG
|
|
MPGlobalsScoreHud.ElementHud_WIND.iGenericMeter_GreenComponent[iFree] = iB
|
|
|
|
MPGlobalsScoreHud.ElementHud_WIND.eGenericMeter_HUDOrder[iFree] = eHUDOrder
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// PURPOSE:
|
|
/// Draws the hud for the Rampages
|
|
/// PARAMS:
|
|
/// Number - The number of kills
|
|
/// NumberTitle - The Title of the big number of kills. Pass in "" to display KILLS
|
|
/// TimeRunner - The time displayed on the rampage
|
|
/// TimeTitle - The title of the timer on the rampage. Pass in "" to display TIME
|
|
/// ExtraTimeGiven - If the player is given extra time, display how much in Milliseconds
|
|
/// DisplayMilliseconds - Should the main timer have the milliseconds on show
|
|
/// iFlashingTime - how long to flash the timer for in milliseconds
|
|
/// cBigNumColor - the color of the big number it's default is HUD_COLOUR_RED [Brenda I added this param to fix B*848972 - Aaron G]
|
|
PROC DRAW_RAMPAGE_HUD(INT Number, STRING NumberTitle, INT TimeRunner, STRING TimeTitle, INT ExtraTimeGiven = 0, BOOL DisplayMilliseconds = FALSE, INT iFlashingTime = -1, HUD_COLOURS cBigNumColor = HUD_COLOUR_RED)
|
|
|
|
IF IS_STRING_EMPTY_HUD(TimeTitle)
|
|
TimeTitle = "TIMER_TIME"
|
|
ENDIF
|
|
TIMER_STYLE aTimerStyle
|
|
IF DisplayMilliseconds = TRUE
|
|
aTimerStyle = TIMER_STYLE_USEMILLISECONDS
|
|
ELSE
|
|
aTimerStyle = TIMER_STYLE_DONTUSEMILLISECONDS
|
|
ENDIF
|
|
DRAW_GENERIC_TIMER(TimeRunner, TimeTitle,ExtraTimeGiven, aTimerStyle, iFlashingTime, PODIUMPOS_NONE, HUDORDER_BOTTOM)
|
|
|
|
IF IS_STRING_EMPTY_HUD(NumberTitle)
|
|
NumberTitle = "TIMER_KILL"
|
|
ENDIF
|
|
|
|
DRAW_GENERIC_BIG_NUMBER(Number, NumberTitle, iFlashingTime, cBigNumColor, HUDORDER_SECONDBOTTOM)
|
|
|
|
ENDPROC
|
|
|
|
FUNC STRING GET_COMPARISON_STRING(INT iComparison)
|
|
|
|
SWITCH iComparison
|
|
|
|
CASE RACE_SPLIT_COMPARISON_WORLD
|
|
|
|
RETURN "TIMER_WORLDTIME"
|
|
BREAK
|
|
|
|
CASE RACE_SPLIT_COMPARISON_FRIEND
|
|
|
|
RETURN "FRIEND_WORLDTIME"
|
|
BREAK
|
|
|
|
CASE RACE_SPLIT_COMPARISON_CREW
|
|
|
|
RETURN "CREW_WORLDTIME"
|
|
BREAK
|
|
|
|
CASE RACE_SPLIT_COMPARISON_PERSONAL
|
|
|
|
RETURN "PERS_WORLDTIME"
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
|
|
RETURN ""
|
|
ENDFUNC
|
|
|
|
|
|
/// PURPOSE:
|
|
/// Draws the Hud used in a race
|
|
/// PARAMS:
|
|
/// RaceTime - The timer
|
|
/// TimerTitle - The title of the timer. Defaults to TIME with "" passed in
|
|
/// LapNumber - Number of laps
|
|
/// LapMaxNumber - Max number of laps
|
|
/// LapTitle - The title of the lap meter. Defaults to LAP with "" Passed in
|
|
/// PositionNum - The position Number
|
|
/// PositionMaxNumber - The position maximum number
|
|
/// PositionTitle - The title of the position number. Defaults to POSITION with "" Passed in
|
|
/// ExtraTimeGiven - If any extra time is given to the timer, pass this in to display +xs -xs
|
|
/// PlacementColour - The position numbers can change colour
|
|
/// CheckpointNumber - if you have a checkpoint bar the current number
|
|
/// CheckpointMaxNum - if you have a checkpoint bar, the maximum number
|
|
/// CheckpointTitle - The title of the checkpoint bar, defaults to CHECKPOINT with "" passed in
|
|
/// CheckpointColour - the colour the bar should be
|
|
/// MeterNumber - if you want a meter displayed pass in the current value
|
|
/// MeterMaxNum - If you want a meter displayed pass in the max value
|
|
/// MeterTitle - the meters title. Defaults to DAMAGE with "" Passed in
|
|
/// MeterColour - The meter colour
|
|
/// BestTime - If you want to show a best time then pass in a millisecond value
|
|
/// BestTimeTitle - Title of the best time timer. Defaults to BEST TIME with "" passed in
|
|
/// MedalDisplay - If you want to show a medal postion next to the Best timer then pass in a position. Used for a target times.
|
|
/// DisplayMilliseconds - True if you want the main timer to display milliseconds
|
|
/// FlashingTime - How long you want the whole hud to flash for.
|
|
/// FloatTitle - The title the float score will have
|
|
/// FloatValue = value the float value will have
|
|
/// FloatColour - the colour the float value will have
|
|
PROC DRAW_RACE_HUD(INT RaceTime, STRING TimerTitle, INT LapNumber = -1, INT LapMaxNumber = -1, STRING LapTitle = NULL,
|
|
INT PositionNum = -1, INT PositionMaxNumber = -1, STRING PositionTitle = NULL, INT ExtraTimeGiven = 0,
|
|
HUD_COLOURS PlacementColour = HUD_COLOUR_WHITE, INT CheckpointNumber = -1, INT CheckpointMaxNum = -1,
|
|
STRING CheckpointTitle = NULL, HUD_COLOURS CheckpointColour = HUD_COLOUR_YELLOW,INT MeterNumber = -1,
|
|
INT MeterMaxNum = -1, STRING MeterTitle = NULL, HUD_COLOURS MeterColour = HUD_COLOUR_RED,
|
|
INT BestTime = -1, STRING BestTimeTitle = NULL, PODIUMPOS MedalDisplay = PODIUMPOS_NONE, BOOL DisplayMilliseconds = TRUE, INT FlashingTime = -1,
|
|
STRING FloatTitle = NULL, FLOAT FloatValue = -1.0, HUD_COLOURS FloatColour = HUD_COLOUR_WHITE, HUD_COLOURS aBestTimeColor = HUD_COLOUR_WHITE)
|
|
|
|
|
|
IF FloatValue > -1
|
|
DRAW_GENERIC_SCORE(0, "",FlashingTime, FloatColour, HUDORDER_SEVENTHBOTTOM, FALSE, FloatTitle, TRUE, FloatValue )
|
|
ENDIF
|
|
|
|
IF MeterNumber > -1
|
|
STRING NewMeterTitle = MeterTitle
|
|
IF IS_STRING_EMPTY_HUD(NewMeterTitle)
|
|
NewMeterTitle = "TIM_DAMAGE"
|
|
ENDIF
|
|
DRAW_GENERIC_METER(MeterNumber, MeterMaxNum, NewMeterTitle, MeterColour, FlashingTime, HUDORDER_SIXTHBOTTOM, -1, -1, FALSE, TRUE)
|
|
ENDIF
|
|
|
|
IF CheckpointNumber > -1
|
|
STRING NewCheckpointTitle = CheckpointTitle
|
|
IF IS_STRING_EMPTY_HUD(NewCheckpointTitle)
|
|
NewCheckpointTitle = "TIM_CHECKPOIN"
|
|
ENDIF
|
|
CheckpointColour = CheckpointColour
|
|
CheckpointMaxNum = CheckpointMaxNum
|
|
/*
|
|
DRAW_GENERIC_CHECKPOINT(CheckpointNumber, CheckpointMaxNum, NewCheckpointTitle, CheckpointColour, -1, FlashingTime, HUDORDER_FIFTHBOTTOM)
|
|
*/
|
|
ENDIF
|
|
|
|
|
|
IF PositionNum > -1
|
|
STRING NewTitlePos1 = PositionTitle
|
|
IF IS_STRING_EMPTY_HUD(NewTitlePos1)
|
|
NewTitlePos1 = "TIM_POSIT"
|
|
ENDIF
|
|
|
|
DRAW_GENERIC_BIG_DOUBLE_NUMBER_PLACE(PositionNum, PositionMaxNumber,NewTitlePos1, PlacementColour, FlashingTime, HUDORDER_SEVENTHBOTTOM)
|
|
ENDIF
|
|
|
|
|
|
IF LapNumber > -1
|
|
STRING NewTitle = LapTitle
|
|
IF IS_STRING_EMPTY_HUD(NewTitle)
|
|
NewTitle = "TIM_LAP"
|
|
ENDIF
|
|
LapNumber = LapNumber
|
|
LapMaxNumber = LapMaxNumber
|
|
// IF g_Show_Lap_Dpad
|
|
DRAW_GENERIC_BIG_DOUBLE_NUMBER(LapNumber, LapMaxNumber,NewTitle, FlashingTime,HUD_COLOUR_WHITE, HUDORDER_SIXTHBOTTOM)
|
|
// ENDIF
|
|
ENDIF
|
|
|
|
|
|
IF BestTime > -1
|
|
|
|
STRING NewTimePos1 = BestTimeTitle
|
|
IF IS_STRING_EMPTY_HUD(NewTimePos1)
|
|
NewTimePos1 = "TIMER_BESLAP"
|
|
ENDIF
|
|
aBestTimeColor = aBestTimeColor
|
|
MedalDisplay = MedalDisplay
|
|
/*
|
|
DRAW_GENERIC_TIMER(BestTime, NewTimePos1,0, TIMER_STYLE_USEMILLISECONDS, FlashingTime, MedalDisplay, HUDORDER_SECONDBOTTOM, FALSE, aBestTimeColor)
|
|
*/
|
|
ENDIF
|
|
|
|
STRING NewTimePos = TimerTitle
|
|
IF IS_STRING_EMPTY_HUD(NewTimePos)
|
|
NewTimePos = "TIMER_TIME_RCE"
|
|
ENDIF
|
|
TIMER_STYLE aTimerStyle
|
|
IF DisplayMilliseconds
|
|
aTimerStyle = TIMER_STYLE_USEMILLISECONDS
|
|
ELSE
|
|
aTimerStyle = TIMER_STYLE_DONTUSEMILLISECONDS
|
|
ENDIF
|
|
DRAW_GENERIC_TIMER(RaceTime, NewTimePos,ExtraTimeGiven, aTimerStyle, FlashingTime, PODIUMPOS_NONE, HUDORDER_BOTTOM)
|
|
|
|
ENDPROC
|
|
|
|
PROC DRAW_GTA_RACE_WEAPON_INFO()
|
|
STRING title
|
|
ACTIVITY_POWERUP icon
|
|
IF g_VehicleSpikeInfo.bIsCollected = TRUE
|
|
OR g_VehicleRocketInfo.bIsCollected = TRUE
|
|
OR g_VehicleBoostInfo.bCollected = TRUE
|
|
IF g_VehicleSpikeInfo.bIsCollected = TRUE
|
|
title = "HUD_SPIKES"
|
|
icon = ACTIVITY_POWERUP_SPIKES
|
|
ELIF g_VehicleRocketInfo.bIsCollected = TRUE
|
|
SWITCH g_VehicleRocketInfo.eRocketType
|
|
CASE VEHICLE_ROCKET_NORMAL
|
|
icon = ACTIVITY_POWERUP_ROCKETS
|
|
title = "HUD_ROCKET"
|
|
BREAK
|
|
CASE VEHICLE_ROCKET_HOMING_ONLY
|
|
icon = ACTIVITY_POWERUP_HOMING_ROCKETS
|
|
title = "HUD_ROCKET_H"
|
|
BREAK
|
|
CASE VEHICLE_ROCKET_NON_HOMING_ONLY
|
|
icon = ACTIVITY_POWERUP_ROCKETS
|
|
title = "HUD_ROCKET_NH"
|
|
BREAK
|
|
ENDSWITCH
|
|
ELIF g_VehicleBoostInfo.bCollected = TRUE
|
|
title = "HUD_BOOSTS"
|
|
icon = ACTIVITY_POWERUP_BOOSTS
|
|
ENDIF
|
|
DRAW_GENERIC_SCORE(1, title,-1, HUD_COLOUR_WHITE, HUDORDER_THIRDBOTTOM, FALSE, "" , FALSE, 0, HUDFLASHING_NONE, 0, HUD_COLOUR_PURE_WHITE, FALSE, 0, FALSE, icon)
|
|
ELIF g_VehicleGunInfo.bCollected = TRUE
|
|
title = "HUD_VEH_GUN"
|
|
icon = ACTIVITY_POWERUP_BULLET
|
|
DRAW_GENERIC_SCORE(g_VehicleGunInfo.iBullets, title,-1, HUD_COLOUR_WHITE, HUDORDER_THIRDBOTTOM, FALSE, "" , FALSE, 0, HUDFLASHING_NONE, 0, HUD_COLOUR_PURE_WHITE, FALSE, 0, FALSE, icon)
|
|
ENDIF
|
|
ENDPROC
|
|
//BOOL bUseBestAsWorldBest - Added for CGtoNG Stock Car Races (Country_Race.sc) as they aren't hooked up to leaderboards. url:bugstar:2056620
|
|
PROC DRAW_LOOP_RACE_HUD(INT RaceTime, INT iComparison, STRING TimerTitle, INT LapNumber = -1, INT LapMaxNumber = -1, STRING LapTitle = NULL,
|
|
INT PositionNum = -1, INT PositionMaxNumber = -1, STRING PositionTitle = NULL, INT ExtraTimeGiven = 0,
|
|
HUD_COLOURS PlacementColour = HUD_COLOUR_WHITE, INT CheckpointNumber = -1, INT CheckpointMaxNum = -1,
|
|
STRING CheckpointTitle = NULL, HUD_COLOURS CheckpointColour = HUD_COLOUR_YELLOW,INT MeterNumber = -1,
|
|
INT MeterMaxNum = -1, STRING MeterTitle = NULL, HUD_COLOURS MeterColour = HUD_COLOUR_RED,
|
|
INT BestTime = -1, STRING BestTimeTitle = NULL, INT CurrentLapTime = -1, STRING CurrentLapTimeTitle = NULL, PODIUMPOS MedalDisplay = PODIUMPOS_NONE,
|
|
BOOL DisplayMilliseconds = TRUE, INT FlashingTime = -1, STRING FloatTitle = NULL, FLOAT FloatValue = -1.0, HUD_COLOURS FloatColour = HUD_COLOUR_WHITE,
|
|
HUD_COLOURS aBestTimeColor = HUD_COLOUR_WHITE, FLOAT fDistanceCheck = -1.0,INT iWorldBestTime = -1, BOOL bTimeTrialMode = FALSE, INT iCheckPointTime = -1, INT iChallengeTime = -1,STRING sWorldName = NULL, BOOL bUseBestAsWorldBest = FALSE)
|
|
|
|
|
|
TIMER_STYLE aTimerStyle
|
|
IF DisplayMilliseconds
|
|
aTimerStyle = TIMER_STYLE_USEMILLISECONDS
|
|
ELSE
|
|
aTimerStyle = TIMER_STYLE_DONTUSEMILLISECONDS
|
|
ENDIF
|
|
|
|
IF iChallengeTime <> -1
|
|
DRAW_GENERIC_TIMER(iChallengeTime, "TIMER_CHALLTIME",ExtraTimeGiven, aTimerStyle, FlashingTime, PODIUMPOS_NONE, HUDORDER_EIGHTHBOTTOM)
|
|
ENDIF
|
|
|
|
DRAW_GTA_RACE_WEAPON_INFO()
|
|
|
|
IF FloatValue > -1
|
|
DRAW_GENERIC_SCORE(0, "",FlashingTime, FloatColour, HUDORDER_EIGHTHBOTTOM, FALSE, FloatTitle, TRUE, FloatValue )
|
|
ENDIF
|
|
|
|
IF MeterNumber > -1
|
|
STRING NewMeterTitle = MeterTitle
|
|
IF IS_STRING_EMPTY_HUD(NewMeterTitle)
|
|
NewMeterTitle = "TIM_DAMAGE"
|
|
ENDIF
|
|
DRAW_GENERIC_METER(MeterNumber, MeterMaxNum, NewMeterTitle, MeterColour, FlashingTime, HUDORDER_EIGHTHBOTTOM, -1, -1, FALSE, TRUE)
|
|
ENDIF
|
|
|
|
IF NOT bTimeTrialMode
|
|
OR IS_LOCAL_PLAYER_RUNNING_ACTIVITY_TUTORIAL()
|
|
IF PositionNum > -1
|
|
AND PositionMaxNumber > 0
|
|
STRING NewTitlePos1 = PositionTitle
|
|
IF IS_STRING_EMPTY_HUD(NewTitlePos1)
|
|
NewTitlePos1 = "TIM_POSIT"
|
|
ENDIF
|
|
// IF IS_LOCAL_PLAYER_RUNNING_ACTIVITY_TUTORIAL()
|
|
// PositionMaxNumber = PositionMaxNumber+1 //Add one for tutorial to represent Lamar
|
|
// ENDIF
|
|
DRAW_GENERIC_BIG_DOUBLE_NUMBER_PLACE(PositionNum, PositionMaxNumber,NewTitlePos1, PlacementColour, FlashingTime, HUDORDER_FIFTHBOTTOM, DEFAULT, DEFAULT, DEFAULT, PlacementColour)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF LapNumber > -1
|
|
STRING NewTitle = LapTitle
|
|
IF IS_STRING_EMPTY_HUD(NewTitle)
|
|
NewTitle = "TIM_LAP"
|
|
ENDIF
|
|
LapNumber = LapNumber
|
|
LapMaxNumber = LapMaxNumber
|
|
IF g_Show_Lap_Dpad
|
|
// PRINTLN("g_Show_Lap_Dpad =", g_Show_Lap_Dpad)
|
|
IF CAN_DISPLAY_DPADDOWN_PARTS()
|
|
DRAW_GENERIC_BIG_DOUBLE_NUMBER(LapNumber, LapMaxNumber,NewTitle, FlashingTime,HUD_COLOUR_WHITE, HUDORDER_SIXTHBOTTOM)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF CheckpointNumber > -1 AND CheckpointMaxNum > -1
|
|
|
|
STRING NewCheckpointTitle = CheckpointTitle
|
|
IF IS_STRING_EMPTY_HUD(NewCheckpointTitle)
|
|
NewCheckpointTitle = "TIM_CHECKPOIN"
|
|
ENDIF
|
|
CheckpointColour = CheckpointColour
|
|
|
|
IF g_Show_Lap_Dpad
|
|
DRAW_GENERIC_BIG_DOUBLE_NUMBER_PLACE(CheckpointNumber, CheckpointMaxNum, NewCheckpointTitle, CheckpointColour, FlashingTime, HUDORDER_FIFTHBOTTOM)
|
|
ENDIF
|
|
|
|
/*
|
|
IF CheckpointMaxNum < 8
|
|
DRAW_GENERIC_CHECKPOINT(CheckpointNumber, CheckpointMaxNum, NewCheckpointTitle, CheckpointColour, -1, FlashingTime, HUDORDER_FIFTHBOTTOM)
|
|
ELSE
|
|
|
|
ENDIF
|
|
*/
|
|
|
|
ENDIF
|
|
|
|
IF fDistanceCheck > -1.0
|
|
STRING DistanceTitle = "TIM_DISTANCE"
|
|
STRING NumberString = "FMMC_LENGTHM"
|
|
DRAW_GENERIC_SCORE(0, DistanceTitle, -1, HUD_COLOUR_WHITE, HUDORDER_FIFTHBOTTOM, FALSE, NumberString, TRUE, fDistanceCheck)
|
|
ENDIF
|
|
|
|
IF BestTime > -1
|
|
STRING NewTimePos1 = BestTimeTitle
|
|
IF IS_STRING_EMPTY_HUD(NewTimePos1)
|
|
NewTimePos1 = "TIMER_BESLAP"
|
|
ENDIF
|
|
/*
|
|
DRAW_GENERIC_TIMER(BestTime, NewTimePos1,0, TIMER_STYLE_USEMILLISECONDS, FlashingTime, MedalDisplay, HUDORDER_THIRDBOTTOM, FALSE, aBestTimeColor)
|
|
*/
|
|
ENDIF
|
|
|
|
IF g_FMMC_STRUCT.iRaceType != FMMC_RACE_TYPE_P2P
|
|
AND g_FMMC_STRUCT.iRaceType != FMMC_RACE_TYPE_BOAT_P2P
|
|
AND g_FMMC_STRUCT.iRaceType != FMMC_RACE_TYPE_AIR_P2P
|
|
AND g_FMMC_STRUCT.iRaceType != FMMC_RACE_TYPE_STUNT_P2P
|
|
AND g_FMMC_STRUCT.iRaceType != FMMC_RACE_TYPE_TARGET_P2P
|
|
IF CurrentLapTime > -1
|
|
IF NOT IS_PLAYER_SPECTATING(PLAYER_ID())
|
|
STRING NewTimePos1 = CurrentLapTimeTitle
|
|
IF IS_STRING_EMPTY_HUD(NewTimePos1)
|
|
NewTimePos1 = "TIMER_CURLAP"
|
|
ENDIF
|
|
DRAW_GENERIC_TIMER(CurrentLapTime, NewTimePos1,0, TIMER_STYLE_USEMILLISECONDS, FlashingTime, MedalDisplay, HUDORDER_FOURTHBOTTOM, FALSE, aBestTimeColor)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
STRING WorldBeatTime
|
|
IF IS_STRING_EMPTY_HUD(WorldBeatTime)
|
|
WorldBeatTime = GET_COMPARISON_STRING(iComparison)
|
|
ENDIF
|
|
|
|
//Displays words best time
|
|
IF NOT bUseBestAsWorldBest
|
|
IF bTimeTrialMode //This is time trial
|
|
OR g_Show_Lap_Dpad
|
|
OR GET_DPADDOWN_ACTIVATION_STATE() = DPADDOWN_SECOND
|
|
IF bTimeTrialMode
|
|
IF g_Show_Lap_Dpad
|
|
AND NOT IS_STRING_NULL_OR_EMPTY(sWorldName)
|
|
// PRINTLN("3663830, A iWorldBestTime = ", iWorldBestTime)
|
|
DRAW_GENERIC_TIMER(iWorldBestTime, sWorldName,ExtraTimeGiven, TIMER_STYLE_USEMILLISECONDS, FlashingTime, PODIUMPOS_NONE, HUDORDER_THIRDBOTTOM,TRUE, DEFAULT, DEFAULT, DEFAULT, (iWorldBestTime <= 0))
|
|
ELSE
|
|
IF iWorldBestTime <= 0
|
|
// PRINTLN("3663830, B iWorldBestTime = ", iWorldBestTime)
|
|
DRAW_GENERIC_TIMER(iWorldBestTime, WorldBeatTime,ExtraTimeGiven, TIMER_STYLE_USEMILLISECONDS, FlashingTime, PODIUMPOS_NONE, HUDORDER_THIRDBOTTOM,FALSE,HUD_COLOUR_WHITE,HUDFLASHING_NONE,0,TRUE)
|
|
ELSE
|
|
// PRINTLN("3663830, C iWorldBestTime = ", iWorldBestTime)
|
|
DRAW_GENERIC_TIMER(iWorldBestTime, WorldBeatTime,ExtraTimeGiven, TIMER_STYLE_USEMILLISECONDS, FlashingTime, PODIUMPOS_NONE, HUDORDER_THIRDBOTTOM)
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF GET_DPADDOWN_ACTIVATION_STATE() = DPADDOWN_SECOND
|
|
AND NOT IS_STRING_NULL_OR_EMPTY(sWorldName)
|
|
// PRINTLN("3663830, D iWorldBestTime = ", iWorldBestTime)
|
|
DRAW_GENERIC_TIMER(iWorldBestTime, sWorldName,ExtraTimeGiven, TIMER_STYLE_USEMILLISECONDS, FlashingTime, PODIUMPOS_NONE, HUDORDER_THIRDBOTTOM,TRUE, DEFAULT, DEFAULT, DEFAULT, (iWorldBestTime <= 0))
|
|
ELSE
|
|
IF iWorldBestTime <= 0
|
|
// PRINTLN("3663830, E iWorldBestTime = ", iWorldBestTime)
|
|
DRAW_GENERIC_TIMER(iWorldBestTime, WorldBeatTime,ExtraTimeGiven, TIMER_STYLE_USEMILLISECONDS, FlashingTime, PODIUMPOS_NONE, HUDORDER_THIRDBOTTOM,FALSE,HUD_COLOUR_WHITE,HUDFLASHING_NONE,0,TRUE)
|
|
ELSE
|
|
// PRINTLN("3663830, F iWorldBestTime = ", iWorldBestTime)
|
|
DRAW_GENERIC_TIMER(iWorldBestTime, WorldBeatTime,ExtraTimeGiven, TIMER_STYLE_USEMILLISECONDS, FlashingTime, PODIUMPOS_NONE, HUDORDER_THIRDBOTTOM)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE //url:bugstar:2056620
|
|
IF g_Show_Lap_Dpad
|
|
OR GET_DPADDOWN_ACTIVATION_STATE() = DPADDOWN_SECOND
|
|
IF BestTime <= 0
|
|
DRAW_GENERIC_TIMER(BestTime, BestTimeTitle,ExtraTimeGiven, TIMER_STYLE_USEMILLISECONDS, FlashingTime, PODIUMPOS_NONE, HUDORDER_THIRDBOTTOM,FALSE,HUD_COLOUR_WHITE,HUDFLASHING_NONE,0,TRUE)
|
|
ELSE
|
|
DRAW_GENERIC_TIMER(BestTime, BestTimeTitle,ExtraTimeGiven, TIMER_STYLE_USEMILLISECONDS, FlashingTime, PODIUMPOS_NONE, HUDORDER_THIRDBOTTOM)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
STRING NewTimePos = TimerTitle
|
|
IF IS_STRING_EMPTY_HUD(NewTimePos)
|
|
NewTimePos = "TIMER_TIME_RCE"
|
|
ENDIF
|
|
|
|
//Used for main race time
|
|
IF RaceTime > -1
|
|
DRAW_GENERIC_TIMER(RaceTime, NewTimePos,ExtraTimeGiven, aTimerStyle, FlashingTime, PODIUMPOS_NONE, HUDORDER_SECONDBOTTOM)
|
|
ENDIF
|
|
|
|
STRING TimeDifference
|
|
IF IS_STRING_EMPTY_HUD(TimeDifference)
|
|
TimeDifference = "TIMER_CHALLTIME"
|
|
ENDIF
|
|
|
|
iCheckPointTime = iCheckPointTime
|
|
/* Difference now displayed in top right, keep this incase it changes
|
|
//Used for individual checkpoints times
|
|
IF bTimeTrialMode //This is time trial
|
|
//IF iCheckPointTime > -1
|
|
DRAW_GENERIC_TIMER(iCheckPointTime, TimeDifference,ExtraTimeGiven, TIMER_STYLE_USEMILLISECONDS, FlashingTime, PODIUMPOS_NONE, HUDORDER_BOTTOM)
|
|
//ENDIF
|
|
ENDIF
|
|
*/
|
|
|
|
/*
|
|
IF IS_BIT_SET(g_sCurrentPlayListDetails.iPlayListBitSet, ciPLAYLIST_DOING_CHALLENGE)
|
|
DRAW_GENERIC_TIMER(g_sCurrentPlayListDetails.sLoadedMissionDetails[g_sCurrentPlayListDetails.iCurrentPlayListPosition].iBestTime
|
|
, TimeDifference,ExtraTimeGiven, TIMER_STYLE_USEMILLISECONDS, FlashingTime, PODIUMPOS_NONE, HUDORDER_BOTTOM)
|
|
ENDIF
|
|
*/
|
|
|
|
|
|
ENDPROC
|
|
|
|
PROC DRAW_P2P_RACE_HUD(INT RaceTime, INT iComparison, STRING TimerTitle, INT PositionNum = -1, INT PositionMaxNumber = -1, STRING PositionTitle = NULL, INT ExtraTimeGiven = 0,
|
|
HUD_COLOURS PlacementColour = HUD_COLOUR_WHITE,INT CheckpointNumber = -1, INT CheckpointMaxNum = -1, STRING CheckpointTitle = NULL, HUD_COLOURS CheckpointColour = HUD_COLOUR_YELLOW,
|
|
BOOL DisplayMilliseconds = TRUE, INT FlashingTime = -1,
|
|
STRING FloatTitle = NULL, FLOAT FloatValue = -1.0, HUD_COLOURS FloatColour = HUD_COLOUR_WHITE,FLOAT fDistanceCheck = -1.0, INT iWorldBestTime = -1, BOOL bTimeTrialMode = FALSE,INT iCheckPointTime = -1, INT iChallengeTime = -1, STRING sWorldName = NULL)
|
|
|
|
|
|
TIMER_STYLE aTimerStyle
|
|
IF DisplayMilliseconds
|
|
aTimerStyle = TIMER_STYLE_USEMILLISECONDS
|
|
ELSE
|
|
aTimerStyle = TIMER_STYLE_DONTUSEMILLISECONDS
|
|
ENDIF
|
|
|
|
|
|
IF iChallengeTime <> -1
|
|
DRAW_GENERIC_TIMER(iChallengeTime, "TIMER_CHALLTIME",ExtraTimeGiven, aTimerStyle, FlashingTime, PODIUMPOS_NONE, HUDORDER_EIGHTHBOTTOM)
|
|
ENDIF
|
|
|
|
DRAW_GTA_RACE_WEAPON_INFO()
|
|
|
|
IF FloatValue > -1
|
|
DRAW_GENERIC_SCORE(0, "",FlashingTime, FloatColour, HUDORDER_SIXTHBOTTOM, FALSE, FloatTitle, TRUE, FloatValue )
|
|
ENDIF
|
|
|
|
IF NOT bTimeTrialMode
|
|
OR IS_LOCAL_PLAYER_RUNNING_ACTIVITY_TUTORIAL()
|
|
IF PositionNum > -1
|
|
AND PositionMaxNumber > 0
|
|
STRING NewTitlePos1 = PositionTitle
|
|
IF IS_STRING_EMPTY_HUD(NewTitlePos1)
|
|
NewTitlePos1 = "TIM_POSIT"
|
|
ENDIF
|
|
|
|
DRAW_GENERIC_BIG_DOUBLE_NUMBER_PLACE(PositionNum, PositionMaxNumber,NewTitlePos1, PlacementColour, FlashingTime, HUDORDER_FIFTHBOTTOM, DEFAULT, DEFAULT, DEFAULT, PlacementColour)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
|
|
IF CheckpointNumber > -1 AND CheckpointMaxNum > -1
|
|
STRING NewCheckpointTitle = CheckpointTitle
|
|
IF IS_STRING_EMPTY_HUD(NewCheckpointTitle)
|
|
NewCheckpointTitle = "TIM_CHECKPOIN"
|
|
ENDIF
|
|
CheckpointColour = CheckpointColour
|
|
|
|
IF g_Show_Lap_Dpad
|
|
DRAW_GENERIC_BIG_DOUBLE_NUMBER_PLACE(CheckpointNumber, CheckpointMaxNum, NewCheckpointTitle, CheckpointColour, FlashingTime, HUDORDER_FIFTHBOTTOM)
|
|
ENDIF
|
|
|
|
/*
|
|
IF CheckpointMaxNum < 8
|
|
|
|
DRAW_GENERIC_CHECKPOINT(CheckpointNumber, CheckpointMaxNum, NewCheckpointTitle, CheckpointColour, -1, FlashingTime, HUDORDER_FOURTHBOTTOM)
|
|
ELSE
|
|
DRAW_GENERIC_BIG_DOUBLE_NUMBER_PLACE(CheckpointNumber, CheckpointMaxNum,NewCheckpointTitle, CheckpointColour, FlashingTime, HUDORDER_FOURTHBOTTOM)
|
|
ENDIF
|
|
*/
|
|
ENDIF
|
|
|
|
IF fDistanceCheck > -1.0
|
|
STRING DistanceTitle = "TIM_DISTANCE"
|
|
STRING NumberString = "FMMC_LENGTHM"
|
|
DRAW_GENERIC_SCORE(0, DistanceTitle, -1, HUD_COLOUR_WHITE, HUDORDER_FOURTHBOTTOM, FALSE, NumberString, TRUE, fDistanceCheck)
|
|
ENDIF
|
|
|
|
|
|
STRING NewTimePos = TimerTitle
|
|
IF IS_STRING_EMPTY_HUD(NewTimePos)
|
|
NewTimePos = "TIMER_TIME_RCE"
|
|
ENDIF
|
|
|
|
DRAW_GENERIC_TIMER(RaceTime, NewTimePos,ExtraTimeGiven, aTimerStyle, FlashingTime, PODIUMPOS_NONE, HUDORDER_THIRDBOTTOM)
|
|
|
|
STRING WorldBeatTime
|
|
IF IS_STRING_EMPTY_HUD(WorldBeatTime)
|
|
WorldBeatTime = GET_COMPARISON_STRING(iComparison)
|
|
ENDIF
|
|
|
|
|
|
IF bTimeTrialMode //This is time trial#
|
|
OR g_Show_Lap_Dpad
|
|
OR GET_DPADDOWN_ACTIVATION_STATE() = DPADDOWN_SECOND
|
|
IF bTimeTrialMode
|
|
IF g_Show_Lap_Dpad
|
|
AND NOT IS_STRING_NULL_OR_EMPTY(sWorldName)
|
|
DRAW_GENERIC_TIMER(iWorldBestTime, sWorldName,ExtraTimeGiven, aTimerStyle, FlashingTime, PODIUMPOS_NONE, HUDORDER_SECONDBOTTOM,TRUE, DEFAULT, DEFAULT, DEFAULT, ( iWorldBestTime <= 0 ))
|
|
ELSE
|
|
IF iWorldBestTime <= 0 //Has not been set yet so display dashes
|
|
DRAW_GENERIC_TIMER(iWorldBestTime, WorldBeatTime,ExtraTimeGiven, aTimerStyle, FlashingTime, PODIUMPOS_NONE, HUDORDER_SECONDBOTTOM,FALSE,HUD_COLOUR_WHITE,HUDFLASHING_NONE,0,TRUE)
|
|
ELSE
|
|
DRAW_GENERIC_TIMER(iWorldBestTime, WorldBeatTime,ExtraTimeGiven, aTimerStyle, FlashingTime, PODIUMPOS_NONE, HUDORDER_SECONDBOTTOM)
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF GET_DPADDOWN_ACTIVATION_STATE() = DPADDOWN_SECOND
|
|
AND NOT IS_STRING_NULL_OR_EMPTY(sWorldName)
|
|
DRAW_GENERIC_TIMER(iWorldBestTime, sWorldName,ExtraTimeGiven, aTimerStyle, FlashingTime, PODIUMPOS_NONE, HUDORDER_SECONDBOTTOM,TRUE, DEFAULT, DEFAULT, DEFAULT, ( iWorldBestTime <= 0 ))
|
|
ELSE
|
|
IF iWorldBestTime <= 0 //Has not been set yet so display dashes
|
|
DRAW_GENERIC_TIMER(iWorldBestTime, WorldBeatTime,ExtraTimeGiven, aTimerStyle, FlashingTime, PODIUMPOS_NONE, HUDORDER_SECONDBOTTOM,FALSE,HUD_COLOUR_WHITE,HUDFLASHING_NONE,0,TRUE)
|
|
ELSE
|
|
DRAW_GENERIC_TIMER(iWorldBestTime, WorldBeatTime,ExtraTimeGiven, aTimerStyle, FlashingTime, PODIUMPOS_NONE, HUDORDER_SECONDBOTTOM)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
|
|
STRING TimeDifference
|
|
IF IS_STRING_EMPTY_HUD(TimeDifference)
|
|
TimeDifference = "TIMER_CHALLTIME"
|
|
ENDIF
|
|
|
|
iCheckPointTime = iCheckPointTime
|
|
/* Difference now displayed in top right, keep this incase it changes
|
|
//Used for individual checkpoints times
|
|
IF bTimeTrialMode //This is time trial
|
|
//IF iCheckPointTime > -1
|
|
DRAW_GENERIC_TIMER(iCheckPointTime, TimeDifference,ExtraTimeGiven, TIMER_STYLE_USEMILLISECONDS, FlashingTime, PODIUMPOS_NONE, HUDORDER_BOTTOM)
|
|
//ENDIF
|
|
ENDIF
|
|
*/
|
|
|
|
/*
|
|
IF IS_BIT_SET(g_sCurrentPlayListDetails.iPlayListBitSet, ciPLAYLIST_DOING_CHALLENGE)
|
|
DRAW_GENERIC_TIMER(g_sCurrentPlayListDetails.sLoadedMissionDetails[g_sCurrentPlayListDetails.iCurrentPlayListPosition].iBestTime
|
|
, TimeDifference,ExtraTimeGiven, TIMER_STYLE_USEMILLISECONDS, FlashingTime, PODIUMPOS_NONE, HUDORDER_BOTTOM)
|
|
ENDIF
|
|
*/
|
|
|
|
|
|
|
|
ENDPROC
|
|
|
|
PROC DRAW_P2P_BASEJUMP_RACE_HUD(INT RacePoints, STRING TimerTitle, STRING PositionTitle = NULL,
|
|
HUD_COLOURS PlacementColour = HUD_COLOUR_WHITE,INT CheckpointNumber = -1, INT CheckpointMaxNum = -1, STRING CheckpointTitle = NULL, HUD_COLOURS CheckpointColour = HUD_COLOUR_YELLOW,
|
|
INT FlashingTime = -1,
|
|
STRING FloatTitle = NULL, FLOAT FloatValue = -1.0, HUD_COLOURS FloatColour = HUD_COLOUR_WHITE, INT opponents_score = -1, STRING bj_leaders_name = NULL, INT iChallengeScore = -1)
|
|
|
|
|
|
IF iChallengeScore <> -1
|
|
DRAW_GENERIC_BIG_NUMBER(iChallengeScore, "SCORE_CHALLENGE", FlashingTime, PlacementColour)
|
|
ENDIF
|
|
|
|
IF FloatValue > -1
|
|
DRAW_GENERIC_SCORE(0, "",FlashingTime, FloatColour, HUDORDER_SEVENTHBOTTOM, FALSE, FloatTitle, TRUE, FloatValue )
|
|
ENDIF
|
|
|
|
/*
|
|
IF PositionNum > -1
|
|
STRING NewTitlePos1 = PositionTitle
|
|
IF IS_STRING_EMPTY_HUD(NewTitlePos1)
|
|
NewTitlePos1 = "TIM_POSIT" //POSITION
|
|
ENDIF
|
|
|
|
DRAW_GENERIC_BIG_DOUBLE_NUMBER_PLACE(PositionNum, PositionMaxNumber,NewTitlePos1, PlacementColour, FlashingTime, HUDORDER_FIFTHBOTTOM)
|
|
|
|
ENDIF
|
|
*/
|
|
|
|
// Draw players points BIG
|
|
|
|
STRING NewTitlePos1 = PositionTitle
|
|
IF IS_STRING_EMPTY_HUD(NewTitlePos1)
|
|
NewTitlePos1 = "BASEPLP" //Players Points
|
|
ENDIF
|
|
DRAW_GENERIC_BIG_NUMBER(RacePoints, NewTitlePos1, FlashingTime, PlacementColour, HUDORDER_FOURTHBOTTOM, FALSE )
|
|
//DRAW_GENERIC_BIG_NUMBER (RacePoints, "SCORE", FlashingTime, PlacementColour, HUDORDER_FOURTHBOTTOM, TRUE )
|
|
IF CheckpointNumber > -1 AND CheckpointMaxNum > -1
|
|
STRING NewCheckpointTitle = CheckpointTitle
|
|
IF IS_STRING_EMPTY_HUD(NewCheckpointTitle)
|
|
NewCheckpointTitle = "TIM_CHECKPOIN" // checkpoints
|
|
ENDIF
|
|
|
|
// removed as per Les's request. 977179
|
|
|
|
//IF CheckpointMaxNum < 8
|
|
// DRAW_GENERIC_CHECKPOINT(CheckpointNumber, CheckpointMaxNum, NewCheckpointTitle, CheckpointColour, -1, FlashingTime, HUDORDER_FOURTHBOTTOM)
|
|
// ELSE
|
|
// DRAW_GENERIC_BIG_DOUBLE_NUMBER_PLACE(CheckpointNumber, CheckpointMaxNum,NewCheckpointTitle, CheckpointColour, FlashingTime, HUDORDER_FOURTHBOTTOM)
|
|
// ENDIF
|
|
IF CheckpointColour = HUD_COLOUR_YELLOW
|
|
CheckpointColour = HUD_COLOUR_YELLOW
|
|
ENDIF
|
|
//DRAW_GENERIC_BIG_DOUBLE_NUMBER_PLACE(CheckpointNumber, CheckpointMaxNum,NewCheckpointTitle, CheckpointColour, FlashingTime, HUDORDER_FIFTHBOTTOM)
|
|
ENDIF
|
|
|
|
//opponents
|
|
|
|
IF opponents_score != -1
|
|
STRING NewTimePos = bj_leaders_name
|
|
IF IS_STRING_EMPTY_HUD(NewTimePos)
|
|
NewTimePos = timertitle
|
|
NewTimePos = "BASEOPPOINT"// bj_leaders_name //points
|
|
//NewTimePos += "BASEPLP" //points
|
|
// GET_PLAYER_NAME( PLAYER_INDEX PlayerIndex )
|
|
ENDIF
|
|
|
|
NewTimePos = "BASEOPPOINT"
|
|
|
|
DRAW_GENERIC_SCORE(opponents_score, NewTimePos, -1,PlacementColour, HUDORDER_SIXTHBOTTOM)
|
|
//DRAW_TEXT_WITH_PLAYER_NAME(TitlePlace, TitleStyle, Title, "", HUD_COLOUR_WHITE, FONT_RIGHT)
|
|
ENDIF
|
|
//DRAW_GENERIC_TIMER(RacePoints, NewTimePos,ExtraTimeGiven, aTimerStyle, FlashingTime, PODIUMPOS_NONE, HUDORDER_BOTTOM)
|
|
ENDPROC
|
|
|
|
/// PURPOSE:
|
|
/// Draws the Hud used in a race
|
|
/// PARAMS:
|
|
/// RaceTime - The timer
|
|
/// TimerTitle - The title of the timer. Defaults to TIME with "" passed in
|
|
/// LapNumber - Number of laps
|
|
/// LapMaxNumber - Max number of laps
|
|
/// LapTitle - The title of the lap meter. Defaults to LAP with "" Passed in
|
|
/// PositionNum - The position Number
|
|
/// PositionMaxNumber - The position maximum number
|
|
/// PositionTitle - The title of the position number. Defaults to POSITION with "" Passed in
|
|
/// ExtraTimeGiven - If any extra time is given to the timer, pass this in to display +xs -xs
|
|
/// PlacementColour - The position numbers can change colour
|
|
/// CheckpointNumber - if you have a checkpoint bar the current number
|
|
/// CheckpointMaxNum - if you have a checkpoint bar, the maximum number
|
|
/// CheckpointTitle - The title of the checkpoint bar, defaults to CHECKPOINT with "" passed in
|
|
/// CheckpointColour - the colour the bar should be
|
|
/// MeterNumber - if you want a meter displayed pass in the current value
|
|
/// MeterMaxNum - If you want a meter displayed pass in the max value
|
|
/// MeterTitle - the meters title. Defaults to DAMAGE with "" Passed in
|
|
/// MeterColour - The meter colour
|
|
/// BestTime - If you want to show a best time then pass in a millisecond value
|
|
/// BestTimeTitle - Title of the best time timer. Defaults to BEST TIME with "" passed in
|
|
/// MedalDisplay - If you want to show a medal postion next to the Best timer then pass in a position. Used for a target times.
|
|
/// DisplayMilliseconds - True if you want the main timer to display milliseconds
|
|
/// FlashingTime - How long you want the whole hud to flash for.
|
|
/// FloatTitle - The title the float score will have
|
|
/// FloatValue = value the float value will have
|
|
/// FloatColour - the colour the float value will have
|
|
PROC DRAW_CHECKPOINT_COUNTDOWN_RACE_HUD(INT RaceTime, STRING TimerTitle, INT LapNumber = -1, INT LapMaxNumber = -1, STRING LapTitle = NULL,
|
|
INT PositionNum = -1, INT PositionMaxNumber = -1, STRING PositionTitle = NULL, INT ExtraTimeGiven = 0,
|
|
HUD_COLOURS PlacementColour = HUD_COLOUR_WHITE, INT CheckpointNumber = -1, INT CheckpointMaxNum = -1,
|
|
STRING CheckpointTitle = NULL, HUD_COLOURS CheckpointColour = HUD_COLOUR_YELLOW,INT MeterNumber = -1,
|
|
INT MeterMaxNum = -1, STRING MeterTitle = NULL, HUD_COLOURS MeterColour = HUD_COLOUR_RED,
|
|
INT BestTime = -1, STRING BestTimeTitle = NULL, PODIUMPOS MedalDisplay = PODIUMPOS_NONE, BOOL DisplayMilliseconds = TRUE, INT FlashingTime = -1,
|
|
STRING FloatTitle = NULL, FLOAT FloatValue = -1.0, HUD_COLOURS FloatColour = HUD_COLOUR_WHITE, HUD_COLOURS aBestTimeColor = HUD_COLOUR_WHITE,
|
|
BOOL bDispTimeString = FALSE)
|
|
|
|
|
|
IF FloatValue > -1
|
|
DRAW_GENERIC_SCORE(0, "",FlashingTime, FloatColour, HUDORDER_SEVENTHBOTTOM, FALSE, FloatTitle, TRUE, FloatValue )
|
|
ENDIF
|
|
|
|
IF MeterNumber > -1
|
|
STRING NewMeterTitle = MeterTitle
|
|
IF IS_STRING_EMPTY_HUD(NewMeterTitle)
|
|
NewMeterTitle = "TIM_DAMAGE"
|
|
ENDIF
|
|
DRAW_GENERIC_METER(MeterNumber, MeterMaxNum, NewMeterTitle, MeterColour, FlashingTime, HUDORDER_SIXTHBOTTOM, -1, -1, FALSE, TRUE)
|
|
ENDIF
|
|
|
|
IF CheckpointNumber > -1
|
|
STRING NewCheckpointTitle = CheckpointTitle
|
|
IF IS_STRING_EMPTY_HUD(NewCheckpointTitle)
|
|
NewCheckpointTitle = "TIM_CHECKPOIN"
|
|
ENDIF
|
|
//DRAW_GENERIC_CHECKPOINT(CheckpointNumber, CheckpointMaxNum, NewCheckpointTitle, CheckpointColour, -1, FlashingTime, HUDORDER_FIFTHBOTTOM)
|
|
//DRAW_GENERIC_BIG_NUMBER(CheckpointMaxNum-CheckpointNumber, NewCheckpointTitle, FlashingTime, CheckpointColour, HUDORDER_FIFTHBOTTOM)
|
|
//DRAW_GENERIC_BIG_DOUBLE_NUMBER_PLACE(CheckpointNumber, CheckpointMaxNum,NewCheckpointTitle, CheckpointColour, FlashingTime, HUDORDER_FIFTHBOTTOM)
|
|
DRAW_GENERIC_BIG_DOUBLE_NUMBER(CheckpointNumber, CheckpointMaxNum,NewCheckpointTitle, FlashingTime,CheckpointColour, HUDORDER_FIFTHBOTTOM)
|
|
ENDIF
|
|
|
|
IF PositionNum > -1
|
|
STRING NewTitlePos1 = PositionTitle
|
|
IF IS_STRING_EMPTY_HUD(NewTitlePos1)
|
|
NewTitlePos1 = "TIM_POSIT"
|
|
ENDIF
|
|
|
|
DRAW_GENERIC_BIG_DOUBLE_NUMBER_PLACE(PositionNum, PositionMaxNumber,NewTitlePos1, PlacementColour, FlashingTime, HUDORDER_FOURTHBOTTOM)
|
|
ENDIF
|
|
|
|
IF LapNumber > -1
|
|
STRING NewTitle = LapTitle
|
|
IF IS_STRING_EMPTY_HUD(NewTitle)
|
|
NewTitle = "TIM_LAP"
|
|
ENDIF
|
|
LapNumber = LapNumber
|
|
LapMaxNumber = LapMaxNumber
|
|
/*
|
|
DRAW_GENERIC_BIG_DOUBLE_NUMBER(LapNumber, LapMaxNumber,NewTitle, FlashingTime,HUD_COLOUR_WHITE, HUDORDER_THIRDBOTTOM)
|
|
*/
|
|
ENDIF
|
|
|
|
IF BestTime > -1
|
|
STRING NewTimePos1 = BestTimeTitle
|
|
IF IS_STRING_EMPTY_HUD(NewTimePos1)
|
|
IF NOT bDispTimeString
|
|
NewTimePos1 = "TIMER_BESLAP"
|
|
ELSE
|
|
NewTimePos1 = "TIMER_BESTIME"
|
|
ENDIF
|
|
ENDIF
|
|
DRAW_GENERIC_TIMER(BestTime, NewTimePos1,0, TIMER_STYLE_USEMILLISECONDS, FlashingTime, MedalDisplay, HUDORDER_SECONDBOTTOM, FALSE, aBestTimeColor)
|
|
ENDIF
|
|
|
|
STRING NewTimePos = TimerTitle
|
|
IF IS_STRING_EMPTY_HUD(NewTimePos)
|
|
NewTimePos = "TIMER_TIME_RCE"
|
|
ENDIF
|
|
TIMER_STYLE aTimerStyle
|
|
IF DisplayMilliseconds
|
|
aTimerStyle = TIMER_STYLE_USEMILLISECONDS
|
|
ELSE
|
|
aTimerStyle = TIMER_STYLE_DONTUSEMILLISECONDS
|
|
ENDIF
|
|
DRAW_GENERIC_TIMER(RaceTime, NewTimePos,ExtraTimeGiven, aTimerStyle, FlashingTime, PODIUMPOS_NONE, HUDORDER_BOTTOM)
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE:
|
|
/// Draws the Hud used in a race
|
|
/// PARAMS:
|
|
/// RaceTime - The timer
|
|
/// TimerTitle - The title of the timer. Defaults to TIME with "" passed in
|
|
/// LapNumber - Number of laps
|
|
/// LapMaxNumber - Max number of laps
|
|
/// LapTitle - The title of the lap meter. Defaults to LAP with "" Passed in
|
|
/// PositionNum - The position Number
|
|
/// PositionMaxNumber - The position maximum number
|
|
/// PositionTitle - The title of the position number. Defaults to POSITION with "" Passed in
|
|
/// ExtraTimeGiven - If any extra time is given to the timer, pass this in to display +xs -xs
|
|
/// PlacementColour - The position numbers can change colour
|
|
/// CheckpointNumber - if you have a checkpoint bar the current number
|
|
/// CheckpointMaxNum - if you have a checkpoint bar, the maximum number
|
|
/// CheckpointTitle - The title of the checkpoint bar, defaults to CHECKPOINT with "" passed in
|
|
/// CheckpointColour - the colour the bar should be
|
|
/// MeterNumber - if you want a meter displayed pass in the current value
|
|
/// MeterMaxNum - If you want a meter displayed pass in the max value
|
|
/// MeterTitle - the meters title. Defaults to DAMAGE with "" Passed in
|
|
/// MeterColour - The meter colour
|
|
/// BestTime - If you want to show a best time then pass in a millisecond value
|
|
/// BestTimeTitle - Title of the best time timer. Defaults to BEST TIME with "" passed in
|
|
/// MedalDisplay - If you want to show a medal postion next to the Best timer then pass in a position. Used for a target times.
|
|
/// DisplayMilliseconds - True if you want the main timer to display milliseconds
|
|
/// FlashingTime - How long you want the whole hud to flash for.
|
|
/// FloatTitle - The title the float score will have
|
|
/// FloatValue = value the float value will have
|
|
/// FloatColour - the colour the float value will have
|
|
PROC DRAW_STUNT_PLANE_HUD(INT RaceTime, STRING TimerTitle, INT LapNumber = -1, INT LapMaxNumber = -1, STRING LapTitle = NULL,
|
|
INT PositionNum = -1, INT PositionMaxNumber = -1, STRING PositionTitle = NULL, INT ExtraTimeGiven = 0,
|
|
HUD_COLOURS PlacementColour = HUD_COLOUR_WHITE, INT CheckpointNumber = -1, INT CheckpointMaxNum = -1,
|
|
STRING CheckpointTitle = NULL, HUD_COLOURS CheckpointColour = HUD_COLOUR_YELLOW,INT MeterNumber = -1,
|
|
INT MeterMaxNum = -1, STRING MeterTitle = NULL, HUD_COLOURS MeterColour = HUD_COLOUR_RED,
|
|
INT GoalTime = -1, STRING GoalTimeTitle = NULL, PODIUMPOS GoalMedalDisplay = PODIUMPOS_NONE, HUD_COLOURS aGoalTimeColor = HUD_COLOUR_WHITE,
|
|
INT BestTime = -1, STRING BestTimeTitle = NULL, PODIUMPOS MedalDisplay = PODIUMPOS_NONE, HUD_COLOURS aBestTimeColor = HUD_COLOUR_WHITE, BOOL DisplayMilliseconds = TRUE, INT FlashingTime = -1,
|
|
STRING FloatTitle = NULL, FLOAT FloatValue = -1.0, HUD_COLOURS FloatColour = HUD_COLOUR_WHITE)
|
|
|
|
|
|
IF FloatValue > -1
|
|
DRAW_GENERIC_SCORE(0, "",FlashingTime, FloatColour, HUDORDER_SEVENTHBOTTOM, FALSE, FloatTitle, TRUE, FloatValue )
|
|
ENDIF
|
|
|
|
IF MeterNumber > -1
|
|
STRING NewMeterTitle = MeterTitle
|
|
IF IS_STRING_EMPTY_HUD(NewMeterTitle)
|
|
NewMeterTitle = "TIM_DAMAGE"
|
|
ENDIF
|
|
DRAW_GENERIC_METER(MeterNumber, MeterMaxNum, NewMeterTitle, MeterColour, FlashingTime, HUDORDER_SIXTHBOTTOM, -1, -1, FALSE, TRUE)
|
|
ENDIF
|
|
|
|
IF CheckpointNumber > -1
|
|
STRING NewCheckpointTitle = CheckpointTitle
|
|
IF IS_STRING_EMPTY_HUD(NewCheckpointTitle)
|
|
NewCheckpointTitle = "TIM_CHECKPOIN"
|
|
ENDIF
|
|
// DRAW_GENERIC_CHECKPOINT(CheckpointNumber, CheckpointMaxNum, NewCheckpointTitle, CheckpointColour, -1, FlashingTime, HUDORDER_FIFTHBOTTOM)
|
|
DRAW_GENERIC_BIG_NUMBER(CheckpointMaxNum-CheckpointNumber, NewCheckpointTitle, FlashingTime, CheckpointColour, HUDORDER_FIFTHBOTTOM)
|
|
ENDIF
|
|
|
|
IF PositionNum > -1
|
|
STRING NewTitlePos1 = PositionTitle
|
|
IF IS_STRING_EMPTY_HUD(NewTitlePos1)
|
|
NewTitlePos1 = "TIM_POSIT"
|
|
ENDIF
|
|
|
|
DRAW_GENERIC_BIG_DOUBLE_NUMBER_PLACE(PositionNum, PositionMaxNumber,NewTitlePos1, PlacementColour, FlashingTime, HUDORDER_FOURTHBOTTOM)
|
|
ENDIF
|
|
|
|
IF LapNumber > -1
|
|
STRING NewTitle = LapTitle
|
|
IF IS_STRING_EMPTY_HUD(NewTitle)
|
|
NewTitle = "TIM_LAP"
|
|
ENDIF
|
|
LapNumber = LapNumber
|
|
LapMaxNumber = LapMaxNumber
|
|
/*
|
|
DRAW_GENERIC_BIG_DOUBLE_NUMBER(LapNumber, LapMaxNumber,NewTitle, FlashingTime,HUD_COLOUR_WHITE, HUDORDER_THIRDBOTTOM)
|
|
*/
|
|
ENDIF
|
|
|
|
IF GoalTime > -1
|
|
STRING NewTimePos2 = GoalTimeTitle
|
|
IF IS_STRING_EMPTY_HUD(NewTimePos2)
|
|
NewTimePos2 = "TIMER_BESTIME"
|
|
ENDIF
|
|
DRAW_GENERIC_TIMER(GoalTime, NewTimePos2,0, TIMER_STYLE_USEMILLISECONDS, FlashingTime, GoalMedalDisplay, HUDORDER_SECONDBOTTOM, FALSE, aGoalTimeColor)
|
|
ENDIF
|
|
|
|
IF BestTime > -1
|
|
STRING NewTimePos1 = BestTimeTitle
|
|
IF IS_STRING_EMPTY_HUD(NewTimePos1)
|
|
NewTimePos1 = "TIMER_BESTIME"
|
|
ENDIF
|
|
DRAW_GENERIC_TIMER(BestTime, NewTimePos1,0, TIMER_STYLE_USEMILLISECONDS, FlashingTime, MedalDisplay, HUDORDER_THIRDBOTTOM, FALSE, aBestTimeColor)
|
|
ENDIF
|
|
|
|
TEXT_LABEL_63 NewTimePos = TimerTitle
|
|
IF (ExtraTimeGiven < 0)
|
|
NewTimePos = "TIMER_REWARD"
|
|
ELIF (ExtraTimeGiven > 0)
|
|
NewTimePos = "TIMER_PENAL"
|
|
ELIF IS_STRING_EMPTY_HUD(NewTimePos)
|
|
NewTimePos = "TIM_TIMER"
|
|
ENDIF
|
|
DisplayMilliseconds = DisplayMilliseconds
|
|
TIMER_STYLE aTimerStyle = TIMER_STYLE_STUNTPLANE
|
|
DRAW_GENERIC_TIMER(RaceTime, NewTimePos, ExtraTimeGiven, aTimerStyle, FlashingTime, PODIUMPOS_NONE, HUDORDER_BOTTOM)
|
|
ENDPROC
|
|
|
|
|
|
|
|
|
|
/// PURPOSE:
|
|
/// Draws the hud for the shooting range.
|
|
PROC DRAW_SHOOTING_RANGE_HUD(Range_HUD_Data & sHUDDrawData, BOOL bColouriseNames = FALSE)
|
|
// Multiplier first. If we have multiplier data, draw it.
|
|
IF (sHUDDrawData.iMultiplier > -1) AND (sHUDDrawData.iCurMultiplierBlocks > -1) AND (sHUDDrawData.iMaxMultiplierBlocks > -1)
|
|
DRAW_GENERIC_CHECKPOINT(sHUDDrawData.iCurMultiplierBlocks, sHUDDrawData.iMaxMultiplierBlocks, "MULTIPLIER",
|
|
sHUDDrawData.eMultiplierColor, sHUDDrawData.iMultiplier,
|
|
-1, HUDORDER_SEVENTHBOTTOM, default, default, default, default, default, sHUDDrawData.iMultiplier)
|
|
ENDIF
|
|
|
|
// Next, target data. If we have target data, draw it.
|
|
IF (sHUDDrawData.iCurTargets > -1) AND (sHUDDrawData.iMaxTargets > -1)
|
|
IF IS_STRING_NULL_OR_EMPTY(sHUDDrawData.sTargetsLabel)
|
|
DRAW_GENERIC_BIG_DOUBLE_NUMBER(sHUDDrawData.iCurTargets, sHUDDrawData.iMaxTargets, "TIMER_TAR", -1,
|
|
HUD_COLOUR_WHITE, HUDORDER_SIXTHBOTTOM)
|
|
ELSE
|
|
DRAW_GENERIC_BIG_DOUBLE_NUMBER(sHUDDrawData.iCurTargets, sHUDDrawData.iMaxTargets, sHUDDrawData.sTargetsLabel, -1,
|
|
HUD_COLOUR_WHITE, HUDORDER_SIXTHBOTTOM)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
// Next draw best score, if we have one.
|
|
IF (sHUDDrawData.iBestScore > 0)
|
|
IF IS_STRING_NULL_OR_EMPTY(sHUDDrawData.sCurScoreLabel)
|
|
DRAW_GENERIC_SCORE(sHUDDrawData.iBestScore, "TIMER_BESTSCORE", -1, sHUDDrawData.eBestScoreColor,
|
|
HUDORDER_FIFTHBOTTOM, sHUDDrawData.bDrawPlayerNames)
|
|
ELSE
|
|
DRAW_GENERIC_SCORE(sHUDDrawData.iBestScore, sHUDDrawData.sCurScoreLabel, -1, sHUDDrawData.eBestScoreColor,
|
|
HUDORDER_FIFTHBOTTOM, sHUDDrawData.bDrawPlayerNames)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
// Goal score.
|
|
IF (sHUDDrawData.iGoalScore > -1)
|
|
IF IS_STRING_NULL_OR_EMPTY(sHUDDrawData.sGoalScoreLabel)
|
|
DRAW_GENERIC_SCORE(sHUDDrawData.iGoalScore, "TIMER_GOAL", -1, sHUDDrawData.eGoalScoreColor,
|
|
HUDORDER_FOURTHBOTTOM)
|
|
ELSE
|
|
DRAW_GENERIC_SCORE(sHUDDrawData.iGoalScore, sHUDDrawData.sGoalScoreLabel, -1, sHUDDrawData.eGoalScoreColor,
|
|
HUDORDER_FOURTHBOTTOM)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
// Next, the current score.
|
|
IF (sHUDDrawData.iCurScore <> -1)
|
|
IF IS_STRING_NULL_OR_EMPTY(sHUDDrawData.sCurScoreLabel)
|
|
DRAW_GENERIC_SCORE(sHUDDrawData.iCurScore, "TIMER_SCORE", -1, sHUDDrawData.eCurScoreColor,
|
|
HUDORDER_THIRDBOTTOM, sHUDDrawData.bDrawPlayerNames)
|
|
ELSE
|
|
IF bColouriseNames
|
|
DRAW_GENERIC_SCORE(sHUDDrawData.iCurScore, sHUDDrawData.sCurScoreLabel, -1, sHUDDrawData.eCurScoreColor,
|
|
HUDORDER_THIRDBOTTOM, sHUDDrawData.bDrawPlayerNames, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, sHUDDrawData.eCurScoreColor)
|
|
ELSE
|
|
DRAW_GENERIC_SCORE(sHUDDrawData.iCurScore, sHUDDrawData.sCurScoreLabel, -1, sHUDDrawData.eCurScoreColor,
|
|
HUDORDER_THIRDBOTTOM, sHUDDrawData.bDrawPlayerNames)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
|
|
|
|
// Opponent score.
|
|
IF (sHUDDrawData.iOpponentScore <> -1)
|
|
STRING sNumberString = PICK_STRING(sHUDDrawData.eOpponentScoreColor = HUD_COLOUR_GREEN, "SHR_PLUS_BONUS", "")
|
|
IF bColouriseNames
|
|
DRAW_GENERIC_SCORE(sHUDDrawData.iOpponentScore, sHUDDrawData.sOpponentScoreLabel, -1, sHUDDrawData.eOpponentScoreColor,
|
|
HUDORDER_SECONDBOTTOM, sHUDDrawData.bDrawPlayerNames, sNumberString, DEFAULT, DEFAULT, DEFAULT, DEFAULT, sHUDDrawData.eOpponentScoreColor)
|
|
ELSE
|
|
DRAW_GENERIC_SCORE(sHUDDrawData.iOpponentScore, sHUDDrawData.sOpponentScoreLabel, -1, sHUDDrawData.eOpponentScoreColor,
|
|
HUDORDER_SECONDBOTTOM, sHUDDrawData.bDrawPlayerNames, sNumberString)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
// Timer.
|
|
IF (sHUDDrawData.iTimerVal > -1)
|
|
IF IS_STRING_NULL_OR_EMPTY(sHUDDrawData.sTimerLabel)
|
|
DRAW_GENERIC_TIMER(sHUDDrawData.iTimerVal, "TIM_TIMER", 0, TIMER_STYLE_DONTUSEMILLISECONDS, -1,
|
|
PODIUMPOS_NONE, HUDORDER_BOTTOM, FALSE, sHUDDrawData.eTimerColor, DEFAULT, DEFAULT, DEFAULT, sHUDDrawData.eTimerColor)
|
|
ELSE
|
|
DRAW_GENERIC_TIMER(sHUDDrawData.iTimerVal, sHUDDrawData.sTimerLabel, 0, TIMER_STYLE_DONTUSEMILLISECONDS, -1,
|
|
PODIUMPOS_NONE, HUDORDER_BOTTOM, FALSE, sHUDDrawData.eTimerColor, DEFAULT, DEFAULT, DEFAULT, sHUDDrawData.eTimerColor)
|
|
ENDIF
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
/// PURPOSE:
|
|
/// Used for the shooting range, in cases where ONLY the timer needs to be drawn.
|
|
PROC DRAW_SHOOTING_RANGE_HUD_TIMERONLY(INT iTimerVal, HUD_COLOURS eColor)
|
|
DRAW_GENERIC_TIMER(iTimerVal, "TIM_TIMER", 0, TIMER_STYLE_DONTUSEMILLISECONDS, -1,
|
|
PODIUMPOS_NONE, HUDORDER_BOTTOM, FALSE, eColor, DEFAULT, DEFAULT, DEFAULT, eColor)
|
|
ENDPROC
|
|
|
|
|
|
|
|
/// PURPOSE:
|
|
/// Draws 2 checkpoint bars. With the bottom can change colour
|
|
/// PARAMS:
|
|
/// LocalCollected - The top bars collected value
|
|
/// LocalLimit - The Max the top bar can collect
|
|
/// LocalTitle - The title of the top bar
|
|
/// OverallCollected - The bottom bar current level
|
|
/// OverallLimit - The bottom bar max level
|
|
/// OverallTitle - The bottom bars title
|
|
/// BottomColour - The colour the bottom bar should take
|
|
/// FlashingTime - The flashing timer in milliseconds
|
|
PROC DRAW_COLLECTION_HUD(INT LocalCollected, INT LocalLimit, STRING LocalTitle, INT OverallCollected, INT OverallLimit, STRING OverallTitle, HUD_COLOURS BottomColour = HUD_COLOUR_BLUE, INT FlashingTime = -1)
|
|
|
|
DRAW_GENERIC_CHECKPOINT(LocalCollected, LocalLimit, LocalTitle, HUD_COLOUR_YELLOW, -1, FlashingTime, HUDORDER_SECONDBOTTOM)
|
|
|
|
DRAW_GENERIC_CHECKPOINT(OverallCollected, OverallLimit, OverallTitle, BottomColour, -1, FlashingTime, HUDORDER_BOTTOM)
|
|
|
|
ENDPROC
|
|
|
|
|
|
|
|
PROC DRAW_TWO_PACKAGES_EIGHT_HUD(INT LocalLimit,STRING LocalTitle, INT OverallLimit, STRING OverallTitle, HUD_COLOURS TopBox1Colour = HUD_COLOUR_BLACK, HUD_COLOURS TopBox2Colour = HUD_COLOUR_BLACK, HUD_COLOURS TopBox3Colour = HUD_COLOUR_BLACK,
|
|
HUD_COLOURS TopBox4Colour = HUD_COLOUR_BLACK, HUD_COLOURS TopBox5Colour = HUD_COLOUR_BLACK, HUD_COLOURS TopBox6Colour = HUD_COLOUR_BLACK, HUD_COLOURS TopBox7Colour = HUD_COLOUR_BLACK, HUD_COLOURS TopBox8Colour = HUD_COLOUR_BLACK,
|
|
HUD_COLOURS BottomBox1Colour = HUD_COLOUR_BLACK, HUD_COLOURS BottomBox2Colour = HUD_COLOUR_BLACK, HUD_COLOURS BottomBox3Colour = HUD_COLOUR_BLACK, HUD_COLOURS BottomBox4Colour = HUD_COLOUR_BLACK, HUD_COLOURS BottomBox5Colour = HUD_COLOUR_BLACK,
|
|
HUD_COLOURS BottomBox6Colour = HUD_COLOUR_BLACK, HUD_COLOURS BottomBox7Colour = HUD_COLOUR_BLACK, HUD_COLOURS BottomBox8Colour = HUD_COLOUR_BLACK, INT FlashingTime = -1, HUD_COLOURS TitleColour1 = HUD_COLOUR_PURE_WHITE, HUD_COLOURS TitleColour2 = HUD_COLOUR_PURE_WHITE
|
|
#IF USE_TU_CHANGES , BOOL DoTopCross0 = FALSE, BOOL DoTopCross1 = FALSE,BOOL DoTopCross2 = FALSE,BOOL DoTopCross3 = FALSE,BOOL DoTopCross4 = FALSE,BOOL DoTopCross5 = FALSE,BOOL DoTopCross6 = FALSE,BOOL DoTopCross7 = FALSE, BOOL DoBottomCross0 = FALSE, BOOL DoBottomCross1 = FALSE,BOOL DoBottomCross2 = FALSE,BOOL DoBottomCross3 = FALSE,BOOL DoBottomCross4 = FALSE,BOOL DoBottomCross5 = FALSE,BOOL DoBottomCross6 = FALSE,BOOL DoBottomCross7 = FALSE #ENDIF)
|
|
|
|
HUD_COLOURS BoxInactive[16]
|
|
BOOL isActive[16]
|
|
//INT I
|
|
//FOR I = 0 TO MAX_NUM_TEAMS-1
|
|
IF TopBox1Colour = GET_TEAM_HUD_COLOUR(0)
|
|
BoxInactive[0] = GET_CONTRAST_TEAM_COLOUR(0)
|
|
ENDIF
|
|
IF TopBox1Colour = HUD_COLOUR_BLACK
|
|
isActive[0] = FALSE
|
|
BoxInactive[0] = HUD_COLOUR_BLACK
|
|
ELSE
|
|
isActive[0] = TRUE
|
|
ENDIF
|
|
//ENDFOR
|
|
//FOR I = 0 TO MAX_NUM_TEAMS-1
|
|
IF TopBox2Colour = GET_TEAM_HUD_COLOUR(0)
|
|
BoxInactive[1] = GET_CONTRAST_TEAM_COLOUR(0)
|
|
ENDIF
|
|
IF TopBox2Colour = HUD_COLOUR_BLACK
|
|
isActive[1] = FALSE
|
|
BoxInactive[1] = HUD_COLOUR_BLACK
|
|
ELSE
|
|
isActive[1] = TRUE
|
|
ENDIF
|
|
//ENDFOR
|
|
//FOR I = 0 TO MAX_NUM_TEAMS-1
|
|
IF TopBox3Colour = GET_TEAM_HUD_COLOUR(0)
|
|
BoxInactive[2] = GET_CONTRAST_TEAM_COLOUR(0)
|
|
ENDIF
|
|
IF TopBox3Colour = HUD_COLOUR_BLACK
|
|
isActive[2] = FALSE
|
|
BoxInactive[2] = HUD_COLOUR_BLACK
|
|
ELSE
|
|
isActive[2] = TRUE
|
|
ENDIF
|
|
//ENDFOR
|
|
//FOR I = 0 TO MAX_NUM_TEAMS-1
|
|
IF TopBox4Colour = GET_TEAM_HUD_COLOUR(0)
|
|
BoxInactive[3] = GET_CONTRAST_TEAM_COLOUR(0)
|
|
ENDIF
|
|
IF TopBox4Colour = HUD_COLOUR_BLACK
|
|
isActive[3] = FALSE
|
|
BoxInactive[3] = HUD_COLOUR_BLACK
|
|
ELSE
|
|
isActive[3] = TRUE
|
|
ENDIF
|
|
//ENDFOR
|
|
//FOR I = 0 TO MAX_NUM_TEAMS-1
|
|
IF TopBox5Colour = GET_TEAM_HUD_COLOUR(0)
|
|
BoxInactive[4] = GET_CONTRAST_TEAM_COLOUR(0)
|
|
ENDIF
|
|
IF TopBox5Colour = HUD_COLOUR_BLACK
|
|
isActive[4] = FALSE
|
|
BoxInactive[4] = HUD_COLOUR_BLACK
|
|
ELSE
|
|
isActive[4] = TRUE
|
|
ENDIF
|
|
//ENDFOR
|
|
//FOR I = 0 TO MAX_NUM_TEAMS-1
|
|
IF TopBox6Colour = GET_TEAM_HUD_COLOUR(0)
|
|
BoxInactive[5] = GET_CONTRAST_TEAM_COLOUR(0)
|
|
ENDIF
|
|
IF TopBox6Colour = HUD_COLOUR_BLACK
|
|
isActive[5] = FALSE
|
|
BoxInactive[5] = HUD_COLOUR_BLACK
|
|
ELSE
|
|
isActive[5] = TRUE
|
|
ENDIF
|
|
//ENDFOR
|
|
//FOR I = 0 TO MAX_NUM_TEAMS-1
|
|
IF TopBox7Colour = GET_TEAM_HUD_COLOUR(0)
|
|
BoxInactive[6] = GET_CONTRAST_TEAM_COLOUR(0)
|
|
ENDIF
|
|
IF TopBox7Colour = HUD_COLOUR_BLACK
|
|
isActive[6] = FALSE
|
|
BoxInactive[6] = HUD_COLOUR_BLACK
|
|
ELSE
|
|
isActive[6] = TRUE
|
|
ENDIF
|
|
//ENDFOR
|
|
//FOR I = 0 TO MAX_NUM_TEAMS-1
|
|
IF TopBox8Colour = GET_TEAM_HUD_COLOUR(0)
|
|
BoxInactive[7] = GET_CONTRAST_TEAM_COLOUR(0)
|
|
ENDIF
|
|
IF TopBox8Colour = HUD_COLOUR_BLACK
|
|
isActive[7] = FALSE
|
|
BoxInactive[7] = HUD_COLOUR_BLACK
|
|
ELSE
|
|
isActive[7] = TRUE
|
|
ENDIF
|
|
//ENDFOR
|
|
|
|
|
|
|
|
//FOR I = 0 TO MAX_NUM_TEAMS-1
|
|
IF BottomBox1Colour = GET_TEAM_HUD_COLOUR(0)
|
|
BoxInactive[8] = GET_CONTRAST_TEAM_COLOUR(0)
|
|
ENDIF
|
|
IF BottomBox1Colour = HUD_COLOUR_BLACK
|
|
isActive[8] = FALSE
|
|
BoxInactive[8] = HUD_COLOUR_BLACK
|
|
ELSE
|
|
isActive[8] = TRUE
|
|
ENDIF
|
|
//ENDFOR
|
|
//FOR I = 0 TO MAX_NUM_TEAMS-1
|
|
IF BottomBox2Colour = GET_TEAM_HUD_COLOUR(0)
|
|
BoxInactive[9] = GET_CONTRAST_TEAM_COLOUR(0)
|
|
ENDIF
|
|
IF BottomBox2Colour = HUD_COLOUR_BLACK
|
|
isActive[9] = FALSE
|
|
BoxInactive[9] = HUD_COLOUR_BLACK
|
|
ELSE
|
|
isActive[9] = TRUE
|
|
ENDIF
|
|
//ENDFOR
|
|
//FOR I = 0 TO MAX_NUM_TEAMS-1
|
|
IF BottomBox3Colour = GET_TEAM_HUD_COLOUR(0)
|
|
BoxInactive[10] = GET_CONTRAST_TEAM_COLOUR(0)
|
|
ENDIF
|
|
IF BottomBox3Colour = HUD_COLOUR_BLACK
|
|
isActive[10] = FALSE
|
|
BoxInactive[10] = HUD_COLOUR_BLACK
|
|
ELSE
|
|
isActive[10] = TRUE
|
|
ENDIF
|
|
//ENDFOR
|
|
//FOR I = 0 TO MAX_NUM_TEAMS-1
|
|
IF BottomBox4Colour = GET_TEAM_HUD_COLOUR(0)
|
|
BoxInactive[11] = GET_CONTRAST_TEAM_COLOUR(0)
|
|
ENDIF
|
|
IF BottomBox4Colour = HUD_COLOUR_BLACK
|
|
isActive[11] = FALSE
|
|
BoxInactive[11] = HUD_COLOUR_BLACK
|
|
ELSE
|
|
isActive[11] = TRUE
|
|
ENDIF
|
|
//ENDFOR
|
|
//FOR I = 0 TO MAX_NUM_TEAMS-1
|
|
IF BottomBox5Colour = GET_TEAM_HUD_COLOUR(0)
|
|
BoxInactive[12] = GET_CONTRAST_TEAM_COLOUR(0)
|
|
ENDIF
|
|
IF BottomBox5Colour = HUD_COLOUR_BLACK
|
|
isActive[12] = FALSE
|
|
BoxInactive[12] = HUD_COLOUR_BLACK
|
|
ELSE
|
|
isActive[12] = TRUE
|
|
ENDIF
|
|
//ENDFOR
|
|
//FOR I = 0 TO MAX_NUM_TEAMS-1
|
|
IF BottomBox6Colour = GET_TEAM_HUD_COLOUR(0)
|
|
BoxInactive[13] = GET_CONTRAST_TEAM_COLOUR(0)
|
|
ENDIF
|
|
IF BottomBox6Colour = HUD_COLOUR_BLACK
|
|
isActive[13] = FALSE
|
|
BoxInactive[13] = HUD_COLOUR_BLACK
|
|
ELSE
|
|
isActive[13] = TRUE
|
|
ENDIF
|
|
//ENDFOR
|
|
//FOR I = 0 TO MAX_NUM_TEAMS-1
|
|
IF BottomBox7Colour = GET_TEAM_HUD_COLOUR(0)
|
|
BoxInactive[14] = GET_CONTRAST_TEAM_COLOUR(0)
|
|
ENDIF
|
|
IF BottomBox7Colour = HUD_COLOUR_BLACK
|
|
isActive[14] = FALSE
|
|
BoxInactive[14] = HUD_COLOUR_BLACK
|
|
ELSE
|
|
isActive[14] = TRUE
|
|
ENDIF
|
|
//ENDFOR
|
|
//FOR I = 0 TO MAX_NUM_TEAMS-1
|
|
IF BottomBox8Colour = GET_TEAM_HUD_COLOUR(0)
|
|
BoxInactive[15] = GET_CONTRAST_TEAM_COLOUR(0)
|
|
ENDIF
|
|
IF BottomBox8Colour = HUD_COLOUR_BLACK
|
|
isActive[15] = FALSE
|
|
BoxInactive[15] = HUD_COLOUR_BLACK
|
|
ELSE
|
|
isActive[15] = TRUE
|
|
ENDIF
|
|
//ENDFOR
|
|
|
|
#IF USE_TU_CHANGES
|
|
IF IS_STRING_NULL_OR_EMPTY(LocalTitle)
|
|
REQUEST_STREAMED_TEXTURE_DICT("Timerbars")
|
|
EXIT
|
|
ENDIF
|
|
IF IS_STRING_NULL_OR_EMPTY(OverallTitle)
|
|
REQUEST_STREAMED_TEXTURE_DICT("Timerbars")
|
|
EXIT
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
DRAW_GENERIC_ELIMINATION(LocalLimit, LocalTitle, -1, isActive[0], isActive[1], isActive[2], isActive[3], isActive[4], isActive[5], isActive[6], isActive[7], HUD_COLOUR_GREEN, HUD_COLOUR_RED,
|
|
FlashingTime, HUDORDER_SECONDBOTTOM, -1, -1, FALSE, TopBox1Colour, TopBox2Colour, TopBox3Colour, TopBox4Colour, TopBox5Colour, TopBox6Colour,
|
|
TopBox7Colour, TopBox8Colour, BoxInactive[0], BoxInactive[1], BoxInactive[2], BoxInactive[3],
|
|
BoxInactive[4], BoxInactive[5], BoxInactive[6], BoxInactive[7], -1, HUDFLASHING_NONE, 0, TitleColour1
|
|
#IF USE_TU_CHANGES , DoTopCross0 , DoTopCross1 , DoTopCross2 , DoTopCross3 , DoTopCross4 , DoTopCross5 , DoTopCross6 , DoTopCross7 #ENDIF )
|
|
|
|
|
|
|
|
DRAW_GENERIC_ELIMINATION(OverallLimit, OverallTitle, -1, isActive[8], isActive[9], isActive[10], isActive[11], isActive[12], isActive[13], isActive[14], isActive[15], HUD_COLOUR_GREEN, HUD_COLOUR_RED,
|
|
FlashingTime, HUDORDER_BOTTOM, -1, -1, FALSE, BottomBox1Colour, BottomBox2Colour, BottomBox3Colour, BottomBox4Colour, BottomBox5Colour, BottomBox6Colour,
|
|
BottomBox7Colour, BottomBox8Colour, BoxInactive[8], BoxInactive[9], BoxInactive[10], BoxInactive[11],
|
|
BoxInactive[12], BoxInactive[13], BoxInactive[14], BoxInactive[15], -1, HUDFLASHING_NONE, 0, TitleColour2
|
|
#IF USE_TU_CHANGES , DoBottomCross0 , DoBottomCross1 ,DoBottomCross2 ,DoBottomCross3 , DoBottomCross4 , DoBottomCross5 , DoBottomCross6 , DoBottomCross7 #ENDIF )
|
|
|
|
|
|
|
|
ENDPROC
|
|
|
|
|
|
PROC DRAW_ONE_PACKAGES_EIGHT_HUD(INT LocalLimit,STRING LocalTitle,BOOL bIsPlayer = FALSE, HUD_COLOURS TopBox1Colour = HUD_COLOUR_BLACK, HUD_COLOURS TopBox2Colour = HUD_COLOUR_BLACK, HUD_COLOURS TopBox3Colour = HUD_COLOUR_BLACK,
|
|
HUD_COLOURS TopBox4Colour = HUD_COLOUR_BLACK, HUD_COLOURS TopBox5Colour = HUD_COLOUR_BLACK, HUD_COLOURS TopBox6Colour = HUD_COLOUR_BLACK, HUD_COLOURS TopBox7Colour = HUD_COLOUR_BLACK, HUD_COLOURS TopBox8Colour = HUD_COLOUR_BLACK,
|
|
INT FlashingTime = -1, HUD_COLOURS TitleColour = HUD_COLOUR_PURE_WHITE #IF USE_TU_CHANGES , BOOL DoCross0 = FALSE, BOOL DoCross1 = FALSE,BOOL DoCross2 = FALSE,BOOL DoCross3 = FALSE,BOOL DoCross4 = FALSE,BOOL DoCross5 = FALSE,BOOL DoCross6 = FALSE,BOOL DoCross7 = FALSE #ENDIF,HUDORDER scoreHudOrder = HUDORDER_SECONDBOTTOM, BOOL bUseNonPlayerName = FALSE)
|
|
|
|
HUD_COLOURS BoxInactive[16]
|
|
BOOL isActive[16]
|
|
INT I
|
|
FOR I = 0 TO FMMC_MAX_TEAMS-1
|
|
IF TopBox1Colour = GET_TEAM_HUD_COLOUR(I)
|
|
BoxInactive[0] = GET_CONTRAST_TEAM_COLOUR(I)
|
|
ENDIF
|
|
IF TopBox1Colour = HUD_COLOUR_BLACK
|
|
isActive[0] = FALSE
|
|
BoxInactive[0] = HUD_COLOUR_BLACK
|
|
ELSE
|
|
isActive[0] = TRUE
|
|
ENDIF
|
|
ENDFOR
|
|
FOR I = 0 TO FMMC_MAX_TEAMS-1
|
|
IF TopBox2Colour = GET_TEAM_HUD_COLOUR(I)
|
|
BoxInactive[1] = GET_CONTRAST_TEAM_COLOUR(I)
|
|
ENDIF
|
|
IF TopBox2Colour = HUD_COLOUR_BLACK
|
|
isActive[1] = FALSE
|
|
BoxInactive[1] = HUD_COLOUR_BLACK
|
|
ELSE
|
|
isActive[1] = TRUE
|
|
ENDIF
|
|
ENDFOR
|
|
FOR I = 0 TO FMMC_MAX_TEAMS-1
|
|
IF TopBox3Colour = GET_TEAM_HUD_COLOUR(I)
|
|
BoxInactive[2] = GET_CONTRAST_TEAM_COLOUR(I)
|
|
ENDIF
|
|
IF TopBox3Colour = HUD_COLOUR_BLACK
|
|
isActive[2] = FALSE
|
|
BoxInactive[2] = HUD_COLOUR_BLACK
|
|
ELSE
|
|
isActive[2] = TRUE
|
|
ENDIF
|
|
ENDFOR
|
|
FOR I = 0 TO FMMC_MAX_TEAMS-1
|
|
IF TopBox4Colour = GET_TEAM_HUD_COLOUR(I)
|
|
BoxInactive[3] = GET_CONTRAST_TEAM_COLOUR(I)
|
|
ENDIF
|
|
IF TopBox4Colour = HUD_COLOUR_BLACK
|
|
isActive[3] = FALSE
|
|
BoxInactive[3] = HUD_COLOUR_BLACK
|
|
ELSE
|
|
isActive[3] = TRUE
|
|
ENDIF
|
|
ENDFOR
|
|
FOR I = 0 TO FMMC_MAX_TEAMS-1
|
|
IF TopBox5Colour = GET_TEAM_HUD_COLOUR(I)
|
|
BoxInactive[4] = GET_CONTRAST_TEAM_COLOUR(I)
|
|
ENDIF
|
|
IF TopBox5Colour = HUD_COLOUR_BLACK
|
|
isActive[4] = FALSE
|
|
BoxInactive[4] = HUD_COLOUR_BLACK
|
|
ELSE
|
|
isActive[4] = TRUE
|
|
ENDIF
|
|
ENDFOR
|
|
FOR I = 0 TO FMMC_MAX_TEAMS-1
|
|
IF TopBox6Colour = GET_TEAM_HUD_COLOUR(I)
|
|
BoxInactive[5] = GET_CONTRAST_TEAM_COLOUR(I)
|
|
ENDIF
|
|
IF TopBox6Colour = HUD_COLOUR_BLACK
|
|
isActive[5] = FALSE
|
|
BoxInactive[5] = HUD_COLOUR_BLACK
|
|
ELSE
|
|
isActive[5] = TRUE
|
|
ENDIF
|
|
ENDFOR
|
|
FOR I = 0 TO FMMC_MAX_TEAMS-1
|
|
IF TopBox7Colour = GET_TEAM_HUD_COLOUR(I)
|
|
BoxInactive[6] = GET_CONTRAST_TEAM_COLOUR(I)
|
|
ENDIF
|
|
IF TopBox7Colour = HUD_COLOUR_BLACK
|
|
isActive[6] = FALSE
|
|
BoxInactive[6] = HUD_COLOUR_BLACK
|
|
ELSE
|
|
isActive[6] = TRUE
|
|
ENDIF
|
|
ENDFOR
|
|
FOR I = 0 TO FMMC_MAX_TEAMS-1
|
|
IF TopBox8Colour = GET_TEAM_HUD_COLOUR(I)
|
|
BoxInactive[7] = GET_CONTRAST_TEAM_COLOUR(I)
|
|
ENDIF
|
|
IF TopBox8Colour = HUD_COLOUR_BLACK
|
|
isActive[7] = FALSE
|
|
BoxInactive[7] = HUD_COLOUR_BLACK
|
|
ELSE
|
|
isActive[7] = TRUE
|
|
ENDIF
|
|
ENDFOR
|
|
|
|
#IF USE_TU_CHANGES
|
|
IF IS_STRING_NULL_OR_EMPTY(LocalTitle)
|
|
REQUEST_STREAMED_TEXTURE_DICT("Timerbars")
|
|
EXIT
|
|
ENDIF
|
|
|
|
#ENDIF
|
|
|
|
DRAW_GENERIC_ELIMINATION(LocalLimit, LocalTitle, -1, isActive[0], isActive[1], isActive[2], isActive[3], isActive[4], isActive[5], isActive[6], isActive[7], HUD_COLOUR_GREEN, HUD_COLOUR_RED,
|
|
FlashingTime, scoreHudOrder, -1, -1, bIsPlayer, TopBox1Colour, TopBox2Colour, TopBox3Colour, TopBox4Colour, TopBox5Colour, TopBox6Colour,
|
|
TopBox7Colour, TopBox8Colour, BoxInactive[0], BoxInactive[1], BoxInactive[2], BoxInactive[3],
|
|
BoxInactive[4], BoxInactive[5], BoxInactive[6], BoxInactive[7], -1, HUDFLASHING_NONE, 0, TitleColour
|
|
#IF USE_TU_CHANGES , DoCross0, DoCross1 ,DoCross2 ,DoCross3 ,DoCross4 ,DoCross5 ,DoCross6 ,DoCross7 #ENDIF , bUseNonPlayerName)
|
|
|
|
|
|
ENDPROC
|
|
|
|
|
|
|
|
|
|
/// PURPOSE:
|
|
/// Draws a general meter
|
|
/// PARAMS:
|
|
/// TimerRunning - The current timer
|
|
/// TimeToDisplayFor - The max timer
|
|
/// Title - The title of the meter
|
|
/// aColour - The colour the filling should take
|
|
/// FlashTime - The flashing timer
|
|
PROC DRAW_TIMER_HUD(INT TimerRunning, INT TimeToDisplayFor, STRING Title, HUD_COLOURS aColour = HUD_COLOUR_RED, INT FlashTime = 0, BOOL OnlyZeroIsEmpty = TRUE, HUDORDER thisHudOrder = HUDORDER_DONTCARE)
|
|
DRAW_GENERIC_METER(TimerRunning, TimeToDisplayFor, Title, aColour, FlashTime, thisHudOrder, -1, -1, FALSE, OnlyZeroIsEmpty)
|
|
ENDPROC
|
|
|
|
/// PURPOSE:
|
|
/// Draws a general meter at a given screen position
|
|
/// PARAMS:
|
|
/// TimerRunning - The Timer current value
|
|
/// TimeToDisplayFor - The max value the bar should take
|
|
/// XPos - The X position from 0.0 to 1.0
|
|
/// YPos - The Y Position from 0.0 to 1.0
|
|
/// aColour - The colour the bar should take
|
|
/// FlashTime - The flashing timer in milliseconds
|
|
PROC DRAW_TIMER_HUD_AT_POSITION(INT TimerRunning, INT TimeToDisplayFor, FLOAT XPos, FLOAT YPos, HUD_COLOURS aColour = HUD_COLOUR_YELLOW, INT FlashTime = 0, BOOL OnlyZeroIsEmpty = TRUE)
|
|
DRAW_GENERIC_METER(TimerRunning, TimeToDisplayFor, "", aColour, FlashTime, HUDORDER_FREEROAM, XPos, YPos, FALSE, OnlyZeroIsEmpty)
|
|
ENDPROC
|
|
|
|
/// PURPOSE:
|
|
/// The Checkpoint hud, little blocks within a meter bar
|
|
/// PARAMS:
|
|
/// NumCheckpointsPassed - The current value of the checkpoints
|
|
/// MaxNumCheckpoints - The max number of checkpoints
|
|
/// Title - The title of the checkpoint bar
|
|
/// aColour - The colour of the checkpoint bar fill
|
|
/// FlashTime - The flash timer
|
|
PROC DRAW_CHECKPOINT_HUD(INT NumCheckpointsPassed, INT MaxNumCheckpoints, STRING Title, HUD_COLOURS aColour = HUD_COLOUR_YELLOW, INT FlashTime = 0)
|
|
DRAW_GENERIC_CHECKPOINT(NumCheckpointsPassed, MaxNumCheckpoints, Title, aColour, -1, FlashTime, HUDORDER_DONTCARE)
|
|
ENDPROC
|
|
|
|
/// PURPOSE:
|
|
/// The Checkpoint hud, little blocks within a meter bar, drawn at a screen position
|
|
/// PARAMS:
|
|
/// NumCheckpointsPassed - The current value of the checkpoints
|
|
/// MaxNumCheckpoints - The max number of checkpoints
|
|
/// XPos - The checkpoint bar at x pos from 0 to 1.0
|
|
/// YPos - The checkpoint bar y position from 0 to 1.0
|
|
/// aColour - The colour the checkpoint bar fill will be
|
|
/// FlashTime - The flashing timer in milliseconds
|
|
PROC DRAW_CHECKPOINT_HUD_AT_POSITION(INT NumCheckpointsPassed, INT MaxNumCheckpoints, FLOAT XPos, FLOAT YPos, HUD_COLOURS aColour = HUD_COLOUR_YELLOW, INT FlashTime = 0)
|
|
DRAW_GENERIC_CHECKPOINT(NumCheckpointsPassed, MaxNumCheckpoints, "", aColour, -1, FlashTime, HUDORDER_FREEROAM, XPos, YPos)
|
|
ENDPROC
|
|
|
|
|
|
/// PURPOSE:
|
|
/// Bar with sections that can either be on or off
|
|
/// PARAMS:
|
|
/// MaxNumCheckpoints - Number of boxes
|
|
/// Title - Title of the elimination box
|
|
/// IsElimiated1 - First box true or false
|
|
/// IsElimiated2 - Second box true or false
|
|
/// IsElimiated3 - Third box true or false
|
|
/// IsElimiated4 - Fourth box true or false
|
|
/// IsElimiated5 - Fifth box true or false
|
|
/// IsElimiated6 - Sixth box true or false
|
|
/// IsElimiated7 - Seventh box true or false
|
|
/// IsElimiated8 - Eighth box true or false
|
|
/// ValidColour - The colour the true boxes should take
|
|
/// inValidColour - The colour the false boxes should take
|
|
/// iCompletedBoxes - The number of boxes to make visible, -1 for all to be visible.
|
|
/// FlashTime - flash timer in milliseconds
|
|
PROC DRAW_ELIMINATION_HUD(INT MaxNumCheckpoints, STRING Title, BOOL IsElimiated1 = FALSE, BOOL IsElimiated2 = FALSE, BOOL IsElimiated3 = FALSE,
|
|
BOOL IsElimiated4 = FALSE, BOOL IsElimiated5 = FALSE, BOOL IsElimiated6 = FALSE, BOOL IsElimiated7 = FALSE, BOOL IsElimiated8 = FALSE, HUD_COLOURS ValidColour= HUD_COLOUR_GREEN, HUD_COLOURS inValidColour = HUD_COLOUR_RED,
|
|
INT iCompletedBoxes = -1, INT FlashTime = 0, HUD_COLOURS Box1Colour = HUD_COLOUR_PURE_WHITE, HUD_COLOURS Box2Colour = HUD_COLOUR_PURE_WHITE, HUD_COLOURS Box3Colour = HUD_COLOUR_PURE_WHITE, HUD_COLOURS Box4Colour = HUD_COLOUR_PURE_WHITE,
|
|
HUD_COLOURS Box5Colour = HUD_COLOUR_PURE_WHITE, HUD_COLOURS Box6Colour = HUD_COLOUR_PURE_WHITE, HUD_COLOURS Box7Colour = HUD_COLOUR_PURE_WHITE, HUD_COLOURS Box8Colour = HUD_COLOUR_PURE_WHITE,
|
|
HUD_COLOURS Box1Colour_Inactive = HUD_COLOUR_PURE_WHITE, HUD_COLOURS Box2Colour_Inactive = HUD_COLOUR_PURE_WHITE, HUD_COLOURS Box3Colour_Inactive = HUD_COLOUR_PURE_WHITE, HUD_COLOURS Box4Colour_Inactive = HUD_COLOUR_PURE_WHITE,
|
|
HUD_COLOURS Box5Colour_Inactive = HUD_COLOUR_PURE_WHITE, HUD_COLOURS Box6Colour_Inactive = HUD_COLOUR_PURE_WHITE, HUD_COLOURS Box7Colour_Inactive = HUD_COLOUR_PURE_WHITE, HUD_COLOURS Box8Colour_Inactive = HUD_COLOUR_PURE_WHITE,
|
|
INT ExtendedTimer = -1)
|
|
|
|
|
|
DRAW_GENERIC_ELIMINATION(MaxNumCheckpoints, Title, iCompletedBoxes, IsElimiated1, IsElimiated2, IsElimiated3, IsElimiated4, IsElimiated5, IsElimiated6,
|
|
IsElimiated7, IsElimiated8,ValidColour,inValidColour, FlashTime, HUDORDER_DONTCARE, -1, -1, FALSE, Box1Colour, Box2Colour, Box3Colour,
|
|
Box4Colour, Box5Colour, Box6Colour, Box7Colour, Box8Colour, Box1Colour_Inactive, Box2Colour_Inactive, Box3Colour_Inactive,
|
|
Box4Colour_Inactive, Box5Colour_Inactive, Box6Colour_Inactive, Box7Colour_Inactive, Box8Colour_Inactive, ExtendedTimer)
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE:
|
|
/// Bar with sections that can either be on or off. With screen positions
|
|
/// PARAMS:
|
|
/// MaxNumCheckpoints - Number of boxes
|
|
/// XPos - screen position on the X Position 0 to 1.0
|
|
/// YPos - screen position on the Y Position 0 to 1.0
|
|
/// IsElimiated1 - First box true or false
|
|
/// IsElimiated2 - Second box true or false
|
|
/// IsElimiated3 - Third box true or false
|
|
/// IsElimiated4 - Fourth box true or false
|
|
/// IsElimiated5 - Fifth box true or false
|
|
/// IsElimiated6 - Sixth box true or false
|
|
/// IsElimiated7 - Seventh box true or false
|
|
/// IsElimiated8 - Eighth box true or false
|
|
/// ValidColour - The colour the true boxes should take
|
|
/// inValidColour - The colour the false boxes should take
|
|
/// iCompletedBoxes - The number of boxes to make visible, -1 for all to be visible.
|
|
/// FlashTime - flash timer in milliseconds
|
|
PROC DRAW_ELIMINATION_HUD_AT_POSITION(INT MaxNumCheckpoints, FLOAT XPos, FLOAT YPos, BOOL IsElimiated1 = FALSE, BOOL IsElimiated2 = FALSE, BOOL IsElimiated3 = FALSE,
|
|
BOOL IsElimiated4 = FALSE, BOOL IsElimiated5 = FALSE, BOOL IsElimiated6 = FALSE, BOOL IsElimiated7 = FALSE, BOOL IsElimiated8 = FALSE, HUD_COLOURS ValidColour= HUD_COLOUR_GREEN, HUD_COLOURS inValidColour = HUD_COLOUR_RED,
|
|
INT iCompletedBoxes = -1, INT FlashTime = 0, HUD_COLOURS Box1Colour = HUD_COLOUR_WHITE, HUD_COLOURS Box2Colour = HUD_COLOUR_WHITE, HUD_COLOURS Box3Colour = HUD_COLOUR_WHITE, HUD_COLOURS Box4Colour = HUD_COLOUR_WHITE,
|
|
HUD_COLOURS Box5Colour = HUD_COLOUR_WHITE, HUD_COLOURS Box6Colour = HUD_COLOUR_WHITE, HUD_COLOURS Box7Colour = HUD_COLOUR_WHITE, HUD_COLOURS Box8Colour = HUD_COLOUR_WHITE)
|
|
|
|
DRAW_GENERIC_ELIMINATION(MaxNumCheckpoints, "", iCompletedBoxes, IsElimiated1, IsElimiated2, IsElimiated3, IsElimiated4, IsElimiated5, IsElimiated6,
|
|
IsElimiated7, IsElimiated8,ValidColour,inValidColour, FlashTime, HUDORDER_FREEROAM, XPos, YPos, FALSE, Box1Colour, Box2Colour,
|
|
Box3Colour, Box4Colour, Box5Colour, Box6Colour, Box7Colour, Box8Colour)
|
|
|
|
ENDPROC
|
|
|
|
|
|
///// PURPOSE:
|
|
///// Draws the 2 bars needed for verses and an optional timer
|
|
///// PARAMS:
|
|
///// NumCheckpointsPassedOne - The number of boxes filled for player one
|
|
///// MaxNumCheckpointsOne - The total number of boxes for player one
|
|
///// PlayerOne - The player index of player one
|
|
///// iTeamOne - the team colour for player one
|
|
///// NumCheckpointsPassedTwo - the number of boxes filled for player two
|
|
///// MaxNumCheckpointsTwo - the total number of boxes for player two
|
|
///// PlayerTwo - the player index of player two
|
|
///// iTeamTwo - the team colour of player two
|
|
///// FlashTime - how long the bars should flash for
|
|
PROC DRAW_VERSES_HUD(INT NumCheckpointsPassedOne, INT MaxNumCheckpointsOne, STRING sTitleOne, HUD_COLOURS aColourOne, INT NumCheckpointsPassedTwo, INT MaxNumCheckpointsTwo, STRING sTitleTwo, HUD_COLOURS aColourTwo, INT FlashTime = 0, INT Timer = -1, STRING sTimerName = NULL)
|
|
|
|
DRAW_GENERIC_CHECKPOINT(NumCheckpointsPassedOne, MaxNumCheckpointsOne, sTitleOne, aColourOne, -1, FlashTime, HUDORDER_THIRDBOTTOM)
|
|
DRAW_GENERIC_CHECKPOINT(NumCheckpointsPassedTwo, MaxNumCheckpointsTwo, sTitleTwo, aColourTwo, -1, FlashTime, HUDORDER_SECONDBOTTOM)
|
|
|
|
IF Timer > -1
|
|
DRAW_GENERIC_TIMER(Timer, sTimerName,0, TIMER_STYLE_DONTUSEMILLISECONDS, FlashTime, PODIUMPOS_NONE, HUDORDER_BOTTOM)
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
|
|
/// PURPOSE:
|
|
/// Deathmatch hud with 2 scores, a local target and an optional timer
|
|
/// PARAMS:
|
|
/// LocalScore - The local players score
|
|
/// LocalTarget - The local players target
|
|
/// LocalPlayerName - The local players name by string
|
|
/// OpponentScore - The opponents score
|
|
/// OpponentPlayerName - The opponents name by string
|
|
/// LocalColour - The local number colour
|
|
/// OpponentColour - The opponent number colour
|
|
/// LocalPlace - The local hud display position
|
|
/// OpponentPlace - The opponents hud display position
|
|
/// Timer - The time in milliseconds. -1 to not display.
|
|
/// sTimerName - The timers title
|
|
/// FlashTime - The flash timer
|
|
PROC DRAW_PLAYER_DEATHMATCH_HUD (INT LocalScore, INT LocalTarget, STRING LocalPlayerName, INT OpponentScore, STRING OpponentPlayerName, HUD_COLOURS LocalColour,
|
|
HUD_COLOURS OpponentColour, HUDORDER LocalPlace, HUDORDER OpponentPlace, INT Timer = -1, STRING sTimerName = NULL, INT FlashTime = 0,
|
|
BOOL isPlayer = TRUE, BOOL bIsTargetMatch = TRUE, BOOL bUseDoubleNumbers = FALSE, INT iEnemyTeamTarget = -1)
|
|
IF NOT IS_BIT_SET(g_FMMC_STRUCT.iOptionsMenuBitSetTwenty, ciOptionsBS20_Hide_Scores_For_DM)
|
|
|
|
|
|
IF bUseDoubleNumbers
|
|
DRAW_GENERIC_BIG_DOUBLE_NUMBER(OpponentScore, iEnemyTeamTarget, OpponentPlayerName, FlashTime, OpponentColour, OpponentPlace, isPlayer, DEFAULT, DEFAULT, DEFAULT, DEFAULT, OpponentColour)
|
|
DRAW_GENERIC_BIG_DOUBLE_NUMBER(LocalScore, LocalTarget, LocalPlayerName, FlashTime, LocalColour, LocalPlace, isPlayer, DEFAULT, DEFAULT, DEFAULT, DEFAULT, LocalColour)
|
|
ELSE
|
|
DRAW_GENERIC_SCORE(OpponentScore, OpponentPlayerName, FlashTime, OpponentColour, OpponentPlace, isPlayer, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, OpponentColour)
|
|
DRAW_GENERIC_SCORE(LocalScore, LocalPlayerName, FlashTime, LocalColour, LocalPlace, isPlayer, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, LocalColour)
|
|
ENDIF
|
|
|
|
// Target number
|
|
IF bIsTargetMatch = TRUE
|
|
AND NOT bUseDoubleNumbers
|
|
IF LocalScore > -1
|
|
STRING NewTarget = "HUD_TARG"
|
|
DRAW_GENERIC_SCORE(LocalTarget, NewTarget, FlashTime, HUD_COLOUR_WHITE, HUDORDER_SECONDBOTTOM, FALSE, "")
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
HUD_COLOURS hudCol = HUD_COLOUR_WHITE
|
|
IF Timer < 30000
|
|
hudCol = HUD_COLOUR_RED
|
|
ENDIF
|
|
|
|
// Timer
|
|
IF Timer > -1
|
|
AND NOT IS_BIT_SET(g_FMMC_STRUCT.iOptionsMenuBitSetTwentyOne, ciOptionsBS21_RemoveTimeLimitForDM)
|
|
DRAW_GENERIC_TIMER(Timer, sTimerName, 0, TIMER_STYLE_DONTUSEMILLISECONDS, FlashTime, PODIUMPOS_NONE, HUDORDER_BOTTOM, DEFAULT, hudCol)
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
//// PURPOSE:
|
|
/// Draws a single number, can only handle double digits
|
|
/// PARAMS:
|
|
/// Score - The number
|
|
/// ScoreTitle - The title of the number
|
|
/// aColour - The colour the number should be
|
|
/// FlashTime - the flash timer
|
|
PROC DRAW_BIG_SINGLE_SCORE_HUD(INT Score, STRING ScoreTitle, HUD_COLOURS aColour = HUD_COLOUR_WHITE, INT FlashTime = -1)
|
|
DRAW_GENERIC_BIG_NUMBER(Score, ScoreTitle, FlashTime, aColour)
|
|
ENDPROC
|
|
|
|
/// PURPOSE:
|
|
/// Draws a smaller number, can take a larger number
|
|
/// PARAMS:
|
|
/// Score - The number
|
|
/// ScoreTitle - The title next to the number
|
|
/// aColour - The colour the number should be
|
|
/// FlashTime - The flash timer
|
|
PROC DRAW_SMALL_SINGLE_SCORE_HUD(INT Score, STRING ScoreTitle, HUD_COLOURS aColour = HUD_COLOUR_WHITE, INT FlashTime = -1)
|
|
DRAW_GENERIC_SCORE(Score, ScoreTitle, FlashTime, aColour)
|
|
ENDPROC
|
|
|
|
/// PURPOSE:
|
|
/// Draws a smaller number, can take a larger number
|
|
/// PARAMS:
|
|
/// Score - The number
|
|
/// ScoreTitle - The title next to the number
|
|
/// aColour - The colour the number should be
|
|
/// FlashTime - The flash timer
|
|
PROC DRAW_SMALL_DISTANCE_HUD(FLOAT Score, STRING ScoreTitle, HUD_COLOURS aColour = HUD_COLOUR_WHITE, INT FlashTime = -1)
|
|
STRING NumberString
|
|
IF Score < 2
|
|
NumberString = "TIMER_MILESIG"
|
|
ELSE
|
|
NumberString = "TIMER_MILEPLU"
|
|
ENDIF
|
|
NumberString = "TIMER_MILE"
|
|
|
|
DRAW_GENERIC_SCORE(0, ScoreTitle, FlashTime, aColour, HUDORDER_DONTCARE, FALSE, NumberString, TRUE, Score)
|
|
ENDPROC
|
|
|
|
/// PURPOSE:
|
|
/// Draws a Big double number with a dash ie 3/4 can only handle double digits to 99 in both fields.
|
|
/// PARAMS:
|
|
/// Score - The current number
|
|
/// MaxScore - The denominator
|
|
/// ScoreTitle - The title of the score
|
|
/// aColour - The colour the first number should be
|
|
/// FlashTime - The flash timer
|
|
PROC DRAW_BIG_DOUBLE_SCORE_HUD(INT Score, INT MaxScore, STRING ScoreTitle, HUD_COLOURS aColour = HUD_COLOUR_WHITE, INT FlashTime = -1)
|
|
DRAW_GENERIC_BIG_DOUBLE_NUMBER(Score, MaxScore, ScoreTitle, FlashTime, aColour)
|
|
ENDPROC
|
|
|
|
|
|
|
|
PROC RUN_SHOOTING_RANGE_MULTIPLYER(Range_HUD_Data & sHUDDrawData) //, FLOAT fBarXPos = 0.919, FLOAT fBarYPos = 0.757)
|
|
// TEXT_PLACEMENT TitlePlace
|
|
//
|
|
// TEXT_STYLE TitleStyle
|
|
// SET_STANDARD_SMALL_HUD_TEXT(TitleStyle, DROPSTYLE_NONE)
|
|
// SET_WORD_WRAPPING_TITLE(TitleStyle)
|
|
|
|
DRAW_GENERIC_CHECKPOINT(sHUDDrawData.iCurMultiplierBlocks, sHUDDrawData.iMaxMultiplierBlocks, "MULTIPLIER",
|
|
sHUDDrawData.eMultiplierColor, sHUDDrawData.iMultiplier,
|
|
-1, HUDORDER_SIXTHBOTTOM, default, default, default, default, default, sHUDDrawData.iMultiplier)
|
|
// DRAW_CHECKPOINT_HUD_AT_POSITION(sHUDDrawData.iCurMultiplierBlocks, sHUDDrawData.iMaxMultiplierBlocks, fBarXPos, fBarYPos, sHUDDrawData.eMultiplierColor)
|
|
|
|
// DRAW_TEXT_WITH_NUMBER(TitlePlace, TitleStyle, "HUD_MULTSMAL", sHUDDrawData.iMultiplier, FONT_RIGHT)
|
|
ENDPROC
|
|
|
|
|
|
/// PURPOSE:
|
|
/// Gets the distance from the objective using the GPS route, instead of as the crow flies distance check
|
|
/// PARAMS:
|
|
/// Destination - the destination you want to calculate to
|
|
/// RETURNS:
|
|
/// The distance in miles to 3 decimel places
|
|
FUNC FLOAT GET_GPS_DISTANCE(VECTOR Destination, BOOL UseGPS = TRUE)
|
|
INT Result
|
|
IF UseGPS
|
|
IF GET_GPS_BLIP_ROUTE_FOUND()
|
|
Result = GET_GPS_BLIP_ROUTE_LENGTH()
|
|
ELSE
|
|
Result = FLOOR(VDIST(GET_PLAYER_COORDS(PLAYER_ID()), Destination))
|
|
ENDIF
|
|
ELSE
|
|
Result = FLOOR(VDIST(GET_PLAYER_COORDS(PLAYER_ID()), Destination))
|
|
ENDIF
|
|
RETURN CAST_METRES_TO_MILES(TO_FLOAT(Result))
|
|
ENDFUNC
|
|
|
|
/// PURPOSE:
|
|
/// Turns on the hud display of the distance to the destination
|
|
/// PARAMS:
|
|
/// Destination - The destination
|
|
/// OverrideDistance - if you use the override, I ignore the vector and go with this directly.
|
|
//PROC ENABLE_OBJECTIVE_DISTANCE_DISPLAY(VECTOR Destination, FLOAT OverrideDistance = -1.0, STRING OverrideText = NULL)
|
|
// MPGlobalsHud.bObjectiveDistanceActive = TRUE
|
|
// MPGlobalsHud.vObjectiveDistance = Destination
|
|
// MPGlobalsHud.fObjectiveOverrideDistance = OverrideDistance
|
|
// MPGlobalsHud.sObjectiveOverrideText = OverrideText
|
|
//ENDPROC
|
|
|
|
|
|
/// PURPOSE:
|
|
/// Turns off the hud display of the distance to destination
|
|
//PROC DISABLE_OBJECTIVE_DISTANCE_DISPLAY()
|
|
// MPGlobalsHud.bObjectiveDistanceActive = FALSE
|
|
//ENDPROC
|
|
|
|
/// PURPOSE:
|
|
/// Returns if the objective distance is onscreen
|
|
/// RETURNS:
|
|
/// true if the objective distance is onscreen
|
|
//FUNC BOOL IS_OBJECTIVE_DISTANCE_DISPLAY_ACTIVE()
|
|
// RETURN MPGlobalsHud.bObjectiveDistanceActive
|
|
//ENDFUNC
|
|
|
|
//
|
|
//PROC MAINTAIN_OBJECTIVE_DISTANCE_DISPLAY(PLACEMENT_TOOLS& Placement, TEXTSTYLES& aTextStyle)
|
|
//
|
|
// IF MPGlobalsHud.bObjectiveDistanceActive
|
|
//
|
|
// SET_STANDARD_INGAME_TEXT_DETAILS(aTextStyle)
|
|
// Placement.TextPlacement[0].x = 0.135
|
|
// Placement.TextPlacement[0].y = 0.930
|
|
//
|
|
// FLOAT fDist
|
|
//
|
|
// IF MPGlobalsHud.fObjectiveOverrideDistance > -1.0
|
|
// fDist = MPGlobalsHud.fObjectiveOverrideDistance
|
|
// ELSE
|
|
// fDist = GET_GPS_DISTANCE(MPGlobalsHud.vObjectiveDistance)
|
|
// ENDIF
|
|
//
|
|
// IF IS_STRING_EMPTY_HUD(MPGlobalsHud.sObjectiveOverrideText)
|
|
// DRAW_TEXT_WITH_FLOAT(Placement.TextPlacement[0], aTextStyle.TS_STANDARDSMALLHUD, "AHD_DIST", fDist, 1)
|
|
// ELSE
|
|
// DRAW_TEXT_WITH_FLOAT(Placement.TextPlacement[0], aTextStyle.TS_STANDARDSMALLHUD, MPGlobalsHud.sObjectiveOverrideText, fDist, 1)
|
|
// ENDIF
|
|
// ENDIF
|
|
//ENDPROC
|
|
|
|
FUNC BOOL IS_MISSION_CREATOR_NEEDING_INGAMEHUD_ON()
|
|
|
|
IF g_bMissionCreatorActive
|
|
RETURN TRUE
|
|
ENDIF
|
|
RETURN FALSE
|
|
|
|
ENDFUNC
|
|
|
|
FUNC BOOL CAN_INGAME_HUD_ELEMENTS_DISPLAY()
|
|
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
BOOL bPrint
|
|
IF HAS_NET_TIMER_EXPIRED_ONE_FRAME(TimerHudDebugTimer, 1000)
|
|
bPrint = TRUE
|
|
ENDIF
|
|
IF G_bTurnOnAllHUDBlockers
|
|
bPrint = TRUE
|
|
ENDIF
|
|
|
|
IF GET_COMMANDLINE_PARAM_EXISTS("sc_displaytimerhuddisable")
|
|
bPrint = TRUE
|
|
ENDIF
|
|
|
|
#ENDIF
|
|
|
|
//Added for bug 1641951
|
|
IF g_bBringUpMPHud
|
|
#IF IS_DEBUG_BUILD
|
|
IF bPrint
|
|
NET_NL()NET_PRINT("[BCTIMERS] CAN_INGAME_HUD_ELEMENTS_DISPLAY = FALSE: g_bBringUpMPHud = TRUE ")
|
|
ENDIF
|
|
#ENDIF
|
|
RETURN FALSE
|
|
ENDIF
|
|
|
|
IF g_bBrowserVisible
|
|
#IF IS_DEBUG_BUILD
|
|
IF bPrint
|
|
NET_NL()NET_PRINT("[BCTIMERS] CAN_INGAME_HUD_ELEMENTS_DISPLAY = FALSE: g_bBrowserVisible = TRUE ")
|
|
ENDIF
|
|
#ENDIF
|
|
RETURN FALSE
|
|
ENDIF
|
|
|
|
IF IS_MP_TEXT_CHAT_TYPING()
|
|
#IF IS_DEBUG_BUILD
|
|
IF bPrint
|
|
NET_NL()NET_PRINT("[BCTIMERS] CAN_INGAME_HUD_ELEMENTS_DISPLAY = FALSE: IS_MP_TEXT_CHAT_TYPING = TRUE ")
|
|
ENDIF
|
|
#ENDIF
|
|
RETURN FALSE
|
|
ENDIF
|
|
|
|
IF g_sSctvTickerQueue.bActive
|
|
#IF IS_DEBUG_BUILD
|
|
IF bPrint
|
|
NET_NL()NET_PRINT("[BCTIMERS] CAN_INGAME_HUD_ELEMENTS_DISPLAY = FALSE: g_sSctvTickerQueue.bActive = TRUE ")
|
|
ENDIF
|
|
#ENDIF
|
|
RETURN FALSE
|
|
ENDIF
|
|
|
|
IF MPGlobalsScoreHud.bSwitchWheel
|
|
OR MPGlobalsScoreHud.bSwitchWheelAndStats
|
|
#IF IS_DEBUG_BUILD
|
|
IF bPrint
|
|
NET_NL()NET_PRINT("[BCTIMERS] CAN_INGAME_HUD_ELEMENTS_DISPLAY = TRUE: MPGlobalsScoreHud.bSwitchWheel = ")NET_PRINT_BOOL(MPGlobalsScoreHud.bSwitchWheel)
|
|
NET_PRINT(" MPGlobalsScoreHud.bSwitchWheelAndStats = ")NET_PRINT_BOOL(MPGlobalsScoreHud.bSwitchWheelAndStats)
|
|
ENDIF
|
|
#ENDIF
|
|
IF MPGlobalsScoreHud.bSniperScopeOn = FALSE
|
|
IF IS_AIMING_THROUGH_SNIPER_SCOPE(PLAYER_PED_ID())
|
|
SET_SNIPER_SCOPE_UNDER_HUD_THIS_FRAME()
|
|
#IF IS_DEBUG_BUILD
|
|
IF bPrint
|
|
NET_NL()NET_PRINT("[BCTIMERS] IS_AIMING_THROUGH_SNIPER_SCOPE(PLAYER_PED_ID()) 3 ")
|
|
ENDIF
|
|
#ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
RETURN TRUE
|
|
ENDIF
|
|
|
|
IF IS_DM_PLAYER_DEAD_GLOBAL_SET()
|
|
#IF IS_DEBUG_BUILD
|
|
IF bPrint
|
|
NET_NL()NET_PRINT("[BCTIMERS] CAN_INGAME_HUD_ELEMENTS_DISPLAY = TRUE: IS_DM_PLAYER_DEAD_GLOBAL_SET = TRUE ")
|
|
ENDIF
|
|
#ENDIF
|
|
IF MPGlobalsScoreHud.bSniperScopeOn = FALSE
|
|
IF IS_AIMING_THROUGH_SNIPER_SCOPE(PLAYER_PED_ID())
|
|
SET_SNIPER_SCOPE_UNDER_HUD_THIS_FRAME()
|
|
#IF IS_DEBUG_BUILD
|
|
IF bPrint
|
|
NET_NL()NET_PRINT("[BCTIMERS] IS_AIMING_THROUGH_SNIPER_SCOPE(PLAYER_PED_ID()) 2 ")
|
|
ENDIF
|
|
#ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
RETURN TRUE
|
|
ENDIF
|
|
|
|
#IF USE_TU_CHANGES
|
|
IF g_b_IsATMrenderingForTimers
|
|
#IF IS_DEBUG_BUILD
|
|
IF bPrint
|
|
NET_NL()NET_PRINT("[BCTIMERS] CAN_INGAME_HUD_ELEMENTS_DISPLAY = FALSE: g_b_IsATMrenderingForTimers = TRUE ")
|
|
ENDIF
|
|
#ENDIF
|
|
RETURN FALSE
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
IF g_IsMainCreatorCameraRunning
|
|
#IF IS_DEBUG_BUILD
|
|
IF bPrint
|
|
NET_NL()NET_PRINT("[BCTIMERS] CAN_INGAME_HUD_ELEMENTS_DISPLAY = FALSE: g_IsMainCreatorCameraRunning = TRUE ")
|
|
ENDIF
|
|
#ENDIF
|
|
RETURN FALSE
|
|
ENDIF
|
|
|
|
IF IS_MISSION_CREATOR_NEEDING_INGAMEHUD_ON()
|
|
#IF IS_DEBUG_BUILD
|
|
IF bPrint
|
|
NET_NL()NET_PRINT("[BCTIMERS] CAN_INGAME_HUD_ELEMENTS_DISPLAY = TRUE: IS_MISSION_CREATOR_NEEDING_INGAMEHUD_ON = TRUE ")
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
IF MPGlobalsScoreHud.bSniperScopeOn = FALSE
|
|
IF IS_AIMING_THROUGH_SNIPER_SCOPE(PLAYER_PED_ID())
|
|
SET_SNIPER_SCOPE_UNDER_HUD_THIS_FRAME()
|
|
#IF IS_DEBUG_BUILD
|
|
IF bPrint
|
|
NET_NL()NET_PRINT("[BCTIMERS] IS_AIMING_THROUGH_SNIPER_SCOPE(PLAYER_PED_ID()) 1 ")
|
|
ENDIF
|
|
#ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
RETURN TRUE
|
|
ENDIF
|
|
|
|
IF g_sSelectorUI.bOnScreen
|
|
AND IS_THIS_PLAYER_ACTIVE_IN_CORONA(PLAYER_ID()) = FALSE
|
|
#IF IS_DEBUG_BUILD
|
|
IF bPrint
|
|
NET_NL()NET_PRINT("[BCTIMERS] CAN_INGAME_HUD_ELEMENTS_DISPLAY = FALSE: g_sSelectorUI.bOnScreen ")
|
|
ENDIF
|
|
#ENDIF
|
|
RETURN FALSE
|
|
ENDIF
|
|
|
|
IF IS_PLAYER_SWITCH_IN_PROGRESS()
|
|
#IF IS_DEBUG_BUILD
|
|
IF bPrint
|
|
NET_NL()NET_PRINT("[BCTIMERS] CAN_INGAME_HUD_ELEMENTS_DISPLAY = FALSE: IS_PLAYER_SWITCH_IN_PROGRESS() ")
|
|
ENDIF
|
|
#ENDIF
|
|
RETURN FALSE
|
|
ENDIF
|
|
|
|
IF MPGlobalsScoreHud.bSniperScopeOn = FALSE
|
|
IF IS_AIMING_THROUGH_SNIPER_SCOPE(PLAYER_PED_ID())
|
|
SET_SNIPER_SCOPE_UNDER_HUD_THIS_FRAME()
|
|
#IF IS_DEBUG_BUILD
|
|
IF bPrint
|
|
NET_NL()NET_PRINT("[BCTIMERS] CAN_INGAME_HUD_ELEMENTS_DISPLAY = FALSE: IS_AIMING_THROUGH_SNIPER_SCOPE(PLAYER_PED_ID()) ")
|
|
ENDIF
|
|
#ENDIF
|
|
// RETURN FALSE
|
|
ENDIF
|
|
ENDIF
|
|
|
|
|
|
|
|
IF IS_SCRIPT_HUD_DISPLAYING(HUDPART_TRANSITIONHUD)
|
|
#IF IS_DEBUG_BUILD
|
|
IF bPrint
|
|
NET_NL()NET_PRINT("[BCTIMERS] CAN_INGAME_HUD_ELEMENTS_DISPLAY = FALSE: IS_SCRIPT_HUD_DISPLAYING(HUDPART_TRANSITIONHUD) ")
|
|
ENDIF
|
|
#ENDIF
|
|
RETURN FALSE
|
|
ENDIF
|
|
|
|
IF IS_HUD_PREFERENCE_SWITCHED_ON() = FALSE
|
|
#IF IS_DEBUG_BUILD
|
|
IF bPrint
|
|
NET_NL()NET_PRINT("[BCTIMERS] CAN_INGAME_HUD_ELEMENTS_DISPLAY = FALSE: IS_HUD_PREFERENCE_SWITCHED_ON() = FALSE ")
|
|
ENDIF
|
|
#ENDIF
|
|
RETURN FALSE
|
|
ENDIF
|
|
|
|
IF GET_CURRENT_GAMEMODE() = GAMEMODE_FM
|
|
|
|
IF GlobalplayerBD[NATIVE_TO_INT(PLAYER_ID())].iRespawnState <> RESPAWN_STATE_PLAYING
|
|
IF NETWORK_IS_IN_SPECTATOR_MODE() = FALSE
|
|
AND g_b_On_Deathmatch = FALSE
|
|
AND NOT IS_BIT_SET(MPGlobals.g_KillStrip.iKillStripFlags, KILL_STRIP_ALLOW_RESPAWN_BAR)
|
|
AND GlobalplayerBD_FM[NATIVE_TO_INT(PLAYER_ID())].iCurrentMissionType != FMMC_TYPE_MISSION
|
|
#IF IS_DEBUG_BUILD
|
|
IF bPrint
|
|
NET_NL()NET_PRINT("[BCTIMERS] CAN_INGAME_HUD_ELEMENTS_DISPLAY = FALSE: GlobalplayerBD[NATIVE_TO_INT(PLAYER_ID())].iRespawnState <> RESPAWN_STATE_PLAYING ")
|
|
ENDIF
|
|
#ENDIF
|
|
RETURN FALSE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF IS_BIT_SET(MPSpecGlobals.iBitSet, GLOBAL_SPEC_BS_HIDDEN)
|
|
#IF IS_DEBUG_BUILD
|
|
IF bPrint
|
|
NET_NL()NET_PRINT("[BCTIMERS] CAN_INGAME_HUD_ELEMENTS_DISPLAY = FALSE: IS_SPECTATOR_HUD_HIDDEN() = TRUE ")
|
|
ENDIF
|
|
#ENDIF
|
|
RETURN FALSE
|
|
ENDIF
|
|
|
|
/*IF IS_CUTSCENE_ACTIVE()
|
|
RETURN FALSE
|
|
ENDIF
|
|
IF NETWORK_IS_IN_MP_CUTSCENE()
|
|
RETURN FALSE
|
|
ENDIF*/
|
|
|
|
// IF IS_PHONE_ONSCREEN(TRUE)
|
|
// RETURN FALSE
|
|
// ENDIF
|
|
|
|
RETURN TRUE
|
|
|
|
ENDFUNC
|
|
|
|
#IF USE_TU_CHANGES
|
|
|
|
PROC SET_HOLD_DRAWING_OF_TIMERS_THIS_FRAME()
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
BOOL bPrint
|
|
IF HAS_NET_TIMER_EXPIRED_ONE_FRAME(TimerHudPhoneDebugTimer, 1000)
|
|
bPrint = TRUE
|
|
ENDIF
|
|
IF GET_COMMANDLINE_PARAM_EXISTS("sc_displaytimerhuddisable")
|
|
bPrint = TRUE
|
|
ENDIF
|
|
IF bPrint
|
|
DEBUG_PRINTCALLSTACK()
|
|
NET_NL()NET_PRINT("[BCTIMERS] SET_HOLD_DRAWING_OF_TIMERS_THIS_FRAME is being called. ")
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
g_b_HoldOffDrawingTimersThisFrame = TRUE
|
|
ENDPROC
|
|
#ENDIF
|
|
|
|
|
|
FUNC BOOL CAN_INGAME_HUD_DISPLAY_WITH_PHONE(HUDORDER WhichOrder)
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
BOOL bPrint
|
|
IF HAS_NET_TIMER_EXPIRED_ONE_FRAME(TimerHudPhoneDebugTimer, 1000)
|
|
bPrint = TRUE
|
|
ENDIF
|
|
IF G_bTurnOnAllHUDBlockers
|
|
bPrint = TRUE
|
|
ENDIF
|
|
|
|
IF GET_COMMANDLINE_PARAM_EXISTS("sc_displaytimerhuddisable")
|
|
bPrint = TRUE
|
|
ENDIF
|
|
|
|
#ENDIF
|
|
|
|
#IF USE_TU_CHANGES
|
|
|
|
IF g_b_HoldOffDrawingTimersThisFrame = TRUE
|
|
#IF IS_DEBUG_BUILD
|
|
IF bPrint
|
|
NET_NL()NET_PRINT("[BCTIMERS] CAN_INGAME_HUD_DISPLAY_WITH_PHONE = FALSE: g_b_HoldOffDrawingTimersThisFrame = TRUE ")
|
|
ENDIF
|
|
#ENDIF
|
|
RETURN FALSE
|
|
ENDIF
|
|
|
|
IF GET_CURRENT_GAMEMODE() = GAMEMODE_FM
|
|
IF IS_PAUSE_MENU_ACTIVE()
|
|
#IF IS_DEBUG_BUILD
|
|
IF bPrint
|
|
NET_NL()NET_PRINT("[BCTIMERS] CAN_INGAME_HUD_DISPLAY_WITH_PHONE = FALSE: IS_PAUSE_MENU_ACTIVE = TRUE ")
|
|
ENDIF
|
|
#ENDIF
|
|
RETURN FALSE
|
|
ENDIF
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
IF WhichOrder <> HUDORDER_FREEROAM
|
|
AND MPGlobalsScoreHud.bPhoneUnderHud = FALSE
|
|
AND MPGlobalsScoreHud.bPhoneUnderHudNoRise = FALSE
|
|
IF IS_PHONE_ACTIVE_OR_OVERLAPPING_HUD_ITEMS()
|
|
#IF IS_DEBUG_BUILD
|
|
IF bPrint
|
|
NET_NL()NET_PRINT("[BCTIMERS] CAN_INGAME_HUD_DISPLAY_WITH_PHONE = FALSE: IS_PHONE_ACTIVE_OR_OVERLAPPING_HUD_ITEMS = TRUE ")
|
|
ENDIF
|
|
#ENDIF
|
|
RETURN FALSE
|
|
ENDIF
|
|
ENDIF
|
|
|
|
RETURN TRUE
|
|
|
|
|
|
ENDFUNC
|
|
|
|
/// PURPOSE: Draw a Clock as HUD down in the bottom right hand corner.
|
|
/// INPUT PARAMS: sClockTitle - Label name that will be used as the clocks title.
|
|
/// bSetWarning - when true the clock will turn red once warning time is reached.
|
|
/// iWarningHour - Hour you wish to set warning at
|
|
/// iWarningMin - Miniute you wish to set warning at
|
|
/// timerStyle - clock style
|
|
/// hud_colour - colour of clock text before warning(default white)
|
|
///
|
|
Proc DRAW_CLOCK(String sClockTitle,bool bSetWarning = true,int iWarningHour = 0,int iWarningMin = 0,TIMER_STYLE timerStyle= TIMER_STYLE_DONTUSEMILLISECONDS,HUD_COLOURS hud_colour = HUD_COLOUR_WHITE)
|
|
int timehours = GET_CLOCK_HOURS()
|
|
int timemins = GET_CLOCK_MINUTES()
|
|
int currentTime = (timehours * 60 ) + timemins
|
|
|
|
if bsetWarning
|
|
if currentTime >= (iWarningHour*60) + iWarningMin
|
|
hud_colour = HUD_COLOUR_RED
|
|
endif
|
|
endif
|
|
|
|
if not IS_CUTSCENE_PLAYING()
|
|
and not IS_PHONE_ONSCREEN()
|
|
DRAW_GENERIC_TIMER((currentTime * 1000),sClockTitle,0,timerStyle,-1,PODIUMPOS_NONE,HUDORDER_DONTCARE,false,hud_colour)
|
|
endif
|
|
Endproc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//BOOL bArrowWidgets
|
|
//
|
|
//SPRITE_PLACEMENT RightSprite_widget
|
|
//SPRITE_PLACEMENT LeftSprite_widget
|
|
|
|
FUNC STRING GET_ARROW_NAME()
|
|
RETURN "MP_ArrowXlarge"
|
|
ENDFUNC
|
|
|
|
PROC REQUEST_ARROW_MOVIE(SCALEFORM_INDEX &siMovie)
|
|
siMovie = REQUEST_SCALEFORM_MOVIE("COUNTDOWN")
|
|
ENDPROC
|
|
|
|
PROC CLEANUP_ARROW_MOVIE(SCALEFORM_INDEX &siMovie)
|
|
PRINTLN("[CS_ARR] CLEANUP_ARROW_MOVIE")
|
|
SET_SCALEFORM_MOVIE_AS_NO_LONGER_NEEDED(siMovie)
|
|
ENDPROC
|
|
|
|
PROC DO_ARROW_SOUNDS(INT iDirection)
|
|
SWITCH iDirection
|
|
CASE ciRALLY_ARROW_UP
|
|
IF NOT IS_REPLAY_RECORDING()
|
|
PLAY_SOUND_FRONTEND(-1, "Nav_Arrow_Ahead", "DLC_HEISTS_GENERAL_FRONTEND_SOUNDS")
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE ciRALLY_ARROW_DOWN
|
|
IF NOT IS_REPLAY_RECORDING()
|
|
PLAY_SOUND_FRONTEND(-1, "Nav_Arrow_Behind", "DLC_HEISTS_GENERAL_FRONTEND_SOUNDS")
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE ciRALLY_ARROW_LEFT
|
|
IF NOT IS_REPLAY_RECORDING()
|
|
PLAY_SOUND_FRONTEND(-1, "Nav_Arrow_Left", "DLC_HEISTS_GENERAL_FRONTEND_SOUNDS")
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE ciRALLY_ARROW_RIGHT
|
|
IF NOT IS_REPLAY_RECORDING()
|
|
PLAY_SOUND_FRONTEND(-1, "Nav_Arrow_Right", "DLC_HEISTS_GENERAL_FRONTEND_SOUNDS")
|
|
ENDIF
|
|
BREAK
|
|
CASE ciTARGET_ARROW_SPEEDUP
|
|
IF NOT IS_REPLAY_RECORDING()
|
|
PLAY_SOUND_FRONTEND(-1, "Nav_Arrow_Ahead", "DLC_HEISTS_GENERAL_FRONTEND_SOUNDS")
|
|
ENDIF
|
|
BREAK
|
|
CASE ciTARGET_ARROW_SLOWDOWN
|
|
IF NOT IS_REPLAY_RECORDING()
|
|
PLAY_SOUND_FRONTEND(-1, "Nav_Arrow_Behind", "DLC_HEISTS_GENERAL_FRONTEND_SOUNDS")
|
|
ENDIF
|
|
BREAK
|
|
CASE ciTARGET_ARROW_STOP
|
|
IF NOT IS_REPLAY_RECORDING()
|
|
PLAY_SOUND_FRONTEND(-1, "Nav_Arrow_Behind", "DLC_HEISTS_GENERAL_FRONTEND_SOUNDS")
|
|
ENDIF
|
|
BREAK
|
|
ENDSWITCH
|
|
ENDPROC
|
|
|
|
PROC DRAW_NEW_RALLY_ARROW(SCALEFORM_INDEX &siMovie, INT iDirection)
|
|
IF IS_SAFE_TO_DRAW_ON_SCREEN()
|
|
IF NOT IS_HUD_COMPONENT_ACTIVE(NEW_HUD_RADIO_STATIONS)
|
|
IF NOT g_bBrowserVisible
|
|
IF HAS_SCALEFORM_MOVIE_LOADED(siMovie)
|
|
BEGIN_SCALEFORM_MOVIE_METHOD(siMovie, "SET_DIRECTION")
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iDirection)
|
|
// SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iR) // optional colouring
|
|
// SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iG)
|
|
// SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iB)
|
|
END_SCALEFORM_MOVIE_METHOD()
|
|
|
|
DRAW_SCALEFORM_MOVIE_FULLSCREEN(siMovie, 255, 255, 255, 255)
|
|
// ELSE
|
|
// PRINTLN("[CS_ARR] DRAW_NEW_RALLY_ARROW, HAS_SCALEFORM_MOVIE_LOADED")
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC DRAW_RALLY_ARROW(INT iDirection, BOOL bEnableUpDown = FALSE)
|
|
SPRITE_PLACEMENT aSprite
|
|
STRING sArrow = GET_ARROW_NAME()
|
|
REQUEST_STREAMED_TEXTURE_DICT("MPArrow")
|
|
IF HAS_STREAMED_TEXTURE_DICT_LOADED("MPArrow")
|
|
|
|
SWITCH iDirection
|
|
CASE ciRALLY_ARROW_UP
|
|
IF bEnableUpDown
|
|
aSprite.x = 0.250
|
|
aSprite.y = 0.350
|
|
aSprite.w = 0.050
|
|
aSprite.h = 0.150
|
|
aSprite.a = 255
|
|
aSprite.fRotation = 270.000
|
|
|
|
SET_SPRITE_HUD_COLOUR(aSprite, HUD_COLOUR_BLUE)
|
|
DRAW_2D_SPRITE("MPArrow", sArrow, aSprite)
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE ciRALLY_ARROW_DOWN
|
|
IF bEnableUpDown
|
|
aSprite.x = 0.250
|
|
aSprite.y = 0.350
|
|
aSprite.w = 0.050
|
|
aSprite.h = 0.150
|
|
aSprite.a = 255
|
|
aSprite.fRotation = 90.000
|
|
|
|
SET_SPRITE_HUD_COLOUR(aSprite, HUD_COLOUR_BLUE)
|
|
DRAW_2D_SPRITE("MPArrow", sArrow, aSprite)
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE ciRALLY_ARROW_LEFT
|
|
aSprite.x = 0.250
|
|
aSprite.y = 0.350
|
|
aSprite.w = 0.050
|
|
aSprite.h = 0.150
|
|
aSprite.a = 255
|
|
aSprite.fRotation = 180.000
|
|
|
|
SET_SPRITE_HUD_COLOUR(aSprite, HUD_COLOUR_BLUE)
|
|
DRAW_2D_SPRITE("MPArrow", sArrow, aSprite)
|
|
BREAK
|
|
|
|
CASE ciRALLY_ARROW_RIGHT
|
|
aSprite.x = 0.750
|
|
aSprite.y = 0.350
|
|
aSprite.w = 0.050
|
|
aSprite.h = 0.150
|
|
aSprite.a = 255
|
|
aSprite.fRotation = 0
|
|
|
|
SET_SPRITE_HUD_COLOUR(aSprite, HUD_COLOUR_BLUE)
|
|
DRAW_2D_SPRITE("MPArrow", sArrow, aSprite)
|
|
BREAK
|
|
|
|
CASE ciTARGET_ARROW_SPEEDUP
|
|
aSprite.x = 0.750
|
|
aSprite.y = 0.350
|
|
aSprite.w = 0.050
|
|
aSprite.h = 0.150
|
|
aSprite.a = 255
|
|
aSprite.fRotation = 0
|
|
|
|
SET_SPRITE_HUD_COLOUR(aSprite, HUD_COLOUR_BLUE)
|
|
DRAW_2D_SPRITE("MPArrow", sArrow, aSprite)
|
|
BREAK
|
|
|
|
CASE ciTARGET_ARROW_SLOWDOWN
|
|
aSprite.x = 0.750
|
|
aSprite.y = 0.350
|
|
aSprite.w = 0.050
|
|
aSprite.h = 0.150
|
|
aSprite.a = 255
|
|
aSprite.fRotation = 0
|
|
|
|
SET_SPRITE_HUD_COLOUR(aSprite, HUD_COLOUR_BLUE)
|
|
DRAW_2D_SPRITE("MPArrow", sArrow, aSprite)
|
|
BREAK
|
|
|
|
CASE ciTARGET_ARROW_STOP
|
|
aSprite.x = 0.750
|
|
aSprite.y = 0.350
|
|
aSprite.w = 0.050
|
|
aSprite.h = 0.150
|
|
aSprite.a = 255
|
|
aSprite.fRotation = 0
|
|
|
|
SET_SPRITE_HUD_COLOUR(aSprite, HUD_COLOUR_RED)
|
|
DRAW_2D_SPRITE("MPArrow", sArrow, aSprite)
|
|
BREAK
|
|
ENDSWITCH
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
//PROC DRAW_SINGLE_RIGHT_ARROW(INT RightIntense)
|
|
//
|
|
//// #IF IS_DEBUG_BUILD
|
|
//// IF bArrowRightWidgets = FALSE
|
|
//// START_WIDGET_GROUP("DRAW_ARROW")
|
|
//// CREATE_A_SPRITE_PLACEMENT_WIDGET(RightSprite_widget, "RightSprite_widget")
|
|
//// CREATE_A_SPRITE_PLACEMENT_WIDGET(LeftSprite_widget, "LeftSprite_widget")
|
|
////
|
|
//// STOP_WIDGET_GROUP()
|
|
////
|
|
//// bArrowRightWidgets = TRUE
|
|
//// ENDIF
|
|
//// #ENDIF
|
|
//
|
|
// SPRITE_PLACEMENT aSprite
|
|
// STRING sArrow = GET_ARROW_NAME()
|
|
//
|
|
// REQUEST_STREAMED_TEXTURE_DICT("MPArrow")
|
|
// IF HAS_STREAMED_TEXTURE_DICT_LOADED("MPArrow")
|
|
//
|
|
// SWITCH RightIntense
|
|
//
|
|
// CASE 1
|
|
// aSprite.x = 0.750
|
|
// aSprite.y = 0.350
|
|
// aSprite.w = 0.050
|
|
// aSprite.h = 0.150
|
|
// aSprite.a = 255
|
|
// aSprite.fRotation = 0
|
|
//
|
|
// SET_SPRITE_HUD_COLOUR(aSprite, HUD_COLOUR_YELLOWDARK)
|
|
// DRAW_2D_SPRITE("MPArrow", sArrow, aSprite)
|
|
// BREAK
|
|
//
|
|
// CASE 2
|
|
// aSprite.x = 0.750
|
|
// aSprite.y = 0.350
|
|
// aSprite.w = 0.075
|
|
// aSprite.h = 0.200
|
|
// aSprite.r = 0
|
|
// aSprite.g = 0
|
|
// aSprite.b = 0
|
|
// aSprite.a = 255
|
|
// aSprite.fRotation = 0
|
|
//
|
|
// SET_SPRITE_HUD_COLOUR(aSprite, HUD_COLOUR_YELLOW)
|
|
// DRAW_2D_SPRITE("MPArrow", sArrow, aSprite)
|
|
// BREAK
|
|
//
|
|
// CASE 3
|
|
// aSprite.x = 0.750
|
|
// aSprite.y = 0.350
|
|
// aSprite.w = 0.100
|
|
// aSprite.h = 0.250
|
|
// aSprite.r = 0
|
|
// aSprite.g = 0
|
|
// aSprite.b = 0
|
|
// aSprite.a = 255
|
|
// aSprite.fRotation = 0
|
|
//
|
|
// SET_SPRITE_HUD_COLOUR(aSprite, HUD_COLOUR_ORANGEDARK)
|
|
// DRAW_2D_SPRITE("MPArrow", sArrow, aSprite)
|
|
// BREAK
|
|
//
|
|
// CASE 4
|
|
// aSprite.x = 0.750
|
|
// aSprite.y = 0.350
|
|
// aSprite.w = 0.125
|
|
// aSprite.h = 0.300
|
|
// aSprite.r = 0
|
|
// aSprite.g = 0
|
|
// aSprite.b = 0
|
|
// aSprite.a = 255
|
|
// aSprite.fRotation = 0
|
|
//
|
|
// SET_SPRITE_HUD_COLOUR(aSprite, HUD_COLOUR_ORANGE)
|
|
// DRAW_2D_SPRITE("MPArrow", sArrow, aSprite)
|
|
// BREAK
|
|
//
|
|
// CASE 5
|
|
// aSprite.x = 0.750
|
|
// aSprite.y = 0.350
|
|
// aSprite.w = 0.150
|
|
// aSprite.h = 0.350
|
|
// aSprite.r = 0
|
|
// aSprite.g = 0
|
|
// aSprite.b = 0
|
|
// aSprite.a = 255
|
|
// aSprite.fRotation = 0
|
|
//
|
|
// SET_SPRITE_HUD_COLOUR(aSprite, HUD_COLOUR_REDDARK)
|
|
// DRAW_2D_SPRITE("MPArrow", sArrow, aSprite)
|
|
// BREAK
|
|
//
|
|
// CASE 6
|
|
// aSprite.x = 0.750
|
|
// aSprite.y = 0.350
|
|
// aSprite.w = 0.175
|
|
// aSprite.h = 0.400
|
|
// aSprite.r = 0
|
|
// aSprite.g = 0
|
|
// aSprite.b = 0
|
|
// aSprite.a = 255
|
|
// aSprite.fRotation = 0
|
|
//
|
|
// SET_SPRITE_HUD_COLOUR(aSprite, HUD_COLOUR_RED)
|
|
// DRAW_2D_SPRITE("MPArrow", sArrow, aSprite)
|
|
// BREAK
|
|
// ENDSWITCH
|
|
//
|
|
// // #IF IS_DEBUG_BUILD
|
|
//// aSprite.x += RightSprite_widget.x
|
|
//// aSprite.y += RightSprite_widget.y
|
|
//// aSprite.w += RightSprite_widget.w
|
|
//// aSprite.h += RightSprite_widget.h
|
|
//// aSprite.r += RightSprite_widget.r
|
|
//// aSprite.g += RightSprite_widget.g
|
|
//// aSprite.b += RightSprite_widget.b
|
|
//// aSprite.a += RightSprite_widget.a
|
|
//// aSprite.fRotation += RightSprite_widget.fRotation
|
|
//// #ENDIF
|
|
// ENDIF
|
|
//ENDPROC
|
|
//
|
|
//PROC DRAW_SINGLE_LEFT_ARROW(INT LeftIntense)
|
|
//
|
|
// SPRITE_PLACEMENT aSprite
|
|
// STRING sArrow = GET_ARROW_NAME()
|
|
//
|
|
// aSprite.x = 0.0
|
|
// aSprite.y = 0.0
|
|
// aSprite.w = 0.0
|
|
// aSprite.h = 0.0
|
|
// aSprite.r = 0
|
|
// aSprite.g = 0
|
|
// aSprite.b = 0
|
|
// aSprite.a = 255
|
|
//
|
|
//// #IF IS_DEBUG_BUILD
|
|
//// aSprite.x += LeftSprite_widget.x
|
|
//// aSprite.y += LeftSprite_widget.y
|
|
//// aSprite.w += LeftSprite_widget.w
|
|
//// aSprite.h += LeftSprite_widget.h
|
|
//// aSprite.r += LeftSprite_widget.r
|
|
//// aSprite.g += LeftSprite_widget.g
|
|
//// aSprite.b += LeftSprite_widget.b
|
|
//// aSprite.a += LeftSprite_widget.a
|
|
//// #ENDIF
|
|
//
|
|
// REQUEST_STREAMED_TEXTURE_DICT("MPArrow")
|
|
// IF HAS_STREAMED_TEXTURE_DICT_LOADED("MPArrow")
|
|
//
|
|
// SWITCH LeftIntense
|
|
//
|
|
// CASE 1
|
|
// aSprite.x = 0.250
|
|
// aSprite.y = 0.350
|
|
// aSprite.w = 0.050
|
|
// aSprite.h = 0.150
|
|
// aSprite.a = 255
|
|
// aSprite.fRotation = 180.000
|
|
//
|
|
// SET_SPRITE_HUD_COLOUR(aSprite, HUD_COLOUR_YELLOWDARK)
|
|
// DRAW_2D_SPRITE("MPArrow", sArrow, aSprite)
|
|
// BREAK
|
|
//
|
|
// CASE 2
|
|
// aSprite.x = 0.250
|
|
// aSprite.y = 0.350
|
|
// aSprite.w = 0.075
|
|
// aSprite.h = 0.200
|
|
// aSprite.r = 0
|
|
// aSprite.g = 0
|
|
// aSprite.b = 0
|
|
// aSprite.a = 255
|
|
// aSprite.fRotation = 180.000
|
|
//
|
|
// SET_SPRITE_HUD_COLOUR(aSprite, HUD_COLOUR_YELLOW)
|
|
// DRAW_2D_SPRITE("MPArrow", sArrow, aSprite)
|
|
// BREAK
|
|
//
|
|
// CASE 3
|
|
// aSprite.x = 0.250
|
|
// aSprite.y = 0.350
|
|
// aSprite.w = 0.100
|
|
// aSprite.h = 0.250
|
|
// aSprite.r = 0
|
|
// aSprite.g = 0
|
|
// aSprite.b = 0
|
|
// aSprite.a = 255
|
|
// aSprite.fRotation = 180.000
|
|
//
|
|
// SET_SPRITE_HUD_COLOUR(aSprite, HUD_COLOUR_ORANGEDARK)
|
|
// DRAW_2D_SPRITE("MPArrow", sArrow, aSprite)
|
|
// BREAK
|
|
//
|
|
// CASE 4
|
|
// aSprite.x = 0.250
|
|
// aSprite.y = 0.350
|
|
// aSprite.w = 0.125
|
|
// aSprite.h = 0.300
|
|
// aSprite.r = 0
|
|
// aSprite.g = 0
|
|
// aSprite.b = 0
|
|
// aSprite.a = 255
|
|
// aSprite.fRotation = 180.000
|
|
//
|
|
// SET_SPRITE_HUD_COLOUR(aSprite, HUD_COLOUR_ORANGE)
|
|
// DRAW_2D_SPRITE("MPArrow", sArrow, aSprite)
|
|
// BREAK
|
|
//
|
|
// CASE 5
|
|
// aSprite.x = 0.250
|
|
// aSprite.y = 0.350
|
|
// aSprite.w = 0.150
|
|
// aSprite.h = 0.350
|
|
// aSprite.r = 0
|
|
// aSprite.g = 0
|
|
// aSprite.b = 0
|
|
// aSprite.a = 255
|
|
// aSprite.fRotation = 180.000
|
|
//
|
|
// SET_SPRITE_HUD_COLOUR(aSprite, HUD_COLOUR_REDDARK)
|
|
// DRAW_2D_SPRITE("MPArrow", sArrow, aSprite)
|
|
// BREAK
|
|
//
|
|
// CASE 6
|
|
// aSprite.x = 0.250
|
|
// aSprite.y = 0.350
|
|
// aSprite.w = 0.175
|
|
// aSprite.h = 0.400
|
|
// aSprite.r = 0
|
|
// aSprite.g = 0
|
|
// aSprite.b = 0
|
|
// aSprite.a = 255
|
|
// aSprite.fRotation = 180.000
|
|
//
|
|
// SET_SPRITE_HUD_COLOUR(aSprite, HUD_COLOUR_RED)
|
|
// DRAW_2D_SPRITE("MPArrow", sArrow, aSprite)
|
|
// BREAK
|
|
//
|
|
// ENDSWITCH
|
|
//
|
|
//// #IF IS_DEBUG_BUILD
|
|
//// aSprite.x += LeftSprite_widget.x
|
|
//// aSprite.y += LeftSprite_widget.y
|
|
//// aSprite.w += LeftSprite_widget.w
|
|
//// aSprite.h += LeftSprite_widget.h
|
|
//// aSprite.r += LeftSprite_widget.r
|
|
//// aSprite.g += LeftSprite_widget.g
|
|
//// aSprite.b += LeftSprite_widget.b
|
|
//// aSprite.a += LeftSprite_widget.a
|
|
//// aSprite.fRotation += LeftSprite_widget.fRotation
|
|
//// #ENDIF
|
|
// ENDIF
|
|
//ENDPROC
|
|
//
|
|
//
|
|
///// PURPOSE:
|
|
///// Draws the arrows to show the driver/passenger the intensity of the directions.
|
|
///// PARAMS:
|
|
///// LeftIntense - 0 - 6 (High Intense)
|
|
///// RightIntense - 0 - 6 (High Intense)
|
|
//PROC DRAW_RALLY_ARROWS(INT LeftIntense, INT RightIntense)
|
|
// DRAW_SINGLE_LEFT_ARROW(LeftIntense)
|
|
// DRAW_SINGLE_RIGHT_ARROW(RightIntense)
|
|
//ENDPROC
|
|
|
|
FUNC STRING GET_HUD_ELEMENT_STRING(PROGRESSHUD_ELEMENTS eHudElement)
|
|
SWITCH eHudElement
|
|
CASE PROGRESSHUD_INVALID RETURN "PROGRESSHUD_INVALID"
|
|
CASE PROGRESSHUD_METER RETURN "PROGRESSHUD_METER"
|
|
CASE PROGRESSHUD_CHECKPOINT RETURN "PROGRESSHUD_CHECKPOINT"
|
|
CASE PROGRESSHUD_ELIMINATION RETURN "PROGRESSHUD_ELIMINATION"
|
|
CASE PROGRESSHUD_SINGLE_NUMBER RETURN "PROGRESSHUD_SINGLE_NUMBER"
|
|
CASE PROGRESSHUD_DOUBLE_NUMBER RETURN "PROGRESSHUD_DOUBLE_NUMBER"
|
|
CASE PROGRESSHUD_DOUBLE_NUMBER_PLACE RETURN "PROGRESSHUD_DOUBLE_NUMBER_PLACE"
|
|
CASE PROGRESSHUD_SCORE RETURN "PROGRESSHUD_SCORE"
|
|
CASE PROGRESSHUD_TIMER RETURN "PROGRESSHUD_TIMER"
|
|
CASE PROGRESSHUD_WINDMETER RETURN "PROGRESSHUD_WINDMETER"
|
|
CASE PROGRESSHUD_BIG_RACE_POSITION RETURN "PROGRESSHUD_BIG_RACE_POSITION"
|
|
CASE PROGRESSHUD_SPRITE_METER RETURN "PROGRESSHUD_SPRITE_METER"
|
|
CASE PROGRESSHUD_FOUR_ICON_BAR RETURN "PROGRESSHUD_FOUR_ICON_BAR"
|
|
CASE PROGRESSHUD_FIVE_ICON_SCORE_BAR RETURN "PROGRESSHUD_FIVE_ICON_SCORE_BAR"
|
|
CASE PROGRESSHUD_SIX_ICON_BAR RETURN "PROGRESSHUD_SIX_ICON_BAR"
|
|
ENDSWITCH
|
|
RETURN ""
|
|
ENDFUNC
|
|
|
|
FUNC STRING GET_HUD_ELEMENT_ACTUALLY_DRAW_STRING(PROGRESSHUD_ELEMENTS eHudElement)
|
|
SWITCH eHudElement
|
|
CASE PROGRESSHUD_INVALID RETURN "INVALID"
|
|
CASE PROGRESSHUD_METER RETURN "ACTUALLY_DRAW_GENERAL_METER"
|
|
CASE PROGRESSHUD_CHECKPOINT RETURN "ACTUALLY_DRAW_GENERAL_CHECKPOINT"
|
|
CASE PROGRESSHUD_ELIMINATION RETURN "ACTUALLY_DRAW_GENERAL_ELIMINATION"
|
|
CASE PROGRESSHUD_SINGLE_NUMBER RETURN "ACTUALLY_DRAW_GENERAL_SINGLE_BIG_NUMBER"
|
|
CASE PROGRESSHUD_DOUBLE_NUMBER RETURN "ACTUALLY_DRAW_GENERAL_DOUBLE_BIG_NUMBER"
|
|
CASE PROGRESSHUD_DOUBLE_NUMBER_PLACE RETURN "ACTUALLY_DRAW_GENERAL_DOUBLE_BIG_NUMBER_PLACE"
|
|
CASE PROGRESSHUD_SCORE RETURN "ACTUALLY_DRAW_GENERAL_SINGLE_SCORE"
|
|
CASE PROGRESSHUD_TIMER RETURN "ACTUALLY_DRAW_GENERAL_TIME_TIMER"
|
|
CASE PROGRESSHUD_WINDMETER RETURN "ACTUALLY_DRAW_GENERAL_WINDMETER"
|
|
CASE PROGRESSHUD_BIG_RACE_POSITION RETURN "ACTUALLY_DRAW_GENERAL_BIG_RACE_POSITION"
|
|
CASE PROGRESSHUD_SPRITE_METER RETURN "ACTUALLY_DRAW_GENERAL_SPRITE_METER"
|
|
CASE PROGRESSHUD_FOUR_ICON_BAR RETURN "ACTUALLY_DRAW_GENERAL_FOUR_ICON_BAR"
|
|
CASE PROGRESSHUD_FIVE_ICON_SCORE_BAR RETURN "ACTUALLY_DRAW_GENERAL_FIVE_ICON_SCORE_BAR"
|
|
CASE PROGRESSHUD_SIX_ICON_BAR RETURN "ACTUALLY_DRAW_GENERAL_SIX_ICON_BAR"
|
|
ENDSWITCH
|
|
RETURN ""
|
|
ENDFUNC
|
|
|
|
FUNC INT GET_HUD_ELEMENT_ORDER_INDEX(PROGRESSHUD_ELEMENTS eHudElement)
|
|
SWITCH eHudElement
|
|
CASE PROGRESSHUD_INVALID RETURN -1
|
|
CASE PROGRESSHUD_TIMER RETURN 0
|
|
CASE PROGRESSHUD_SINGLE_NUMBER RETURN 1
|
|
CASE PROGRESSHUD_DOUBLE_NUMBER RETURN 2
|
|
CASE PROGRESSHUD_DOUBLE_NUMBER_PLACE RETURN 3
|
|
CASE PROGRESSHUD_CHECKPOINT RETURN 4
|
|
CASE PROGRESSHUD_METER RETURN 5
|
|
CASE PROGRESSHUD_SCORE RETURN 6
|
|
CASE PROGRESSHUD_ELIMINATION RETURN 7
|
|
CASE PROGRESSHUD_WINDMETER RETURN 8
|
|
CASE PROGRESSHUD_BIG_RACE_POSITION RETURN 9
|
|
CASE PROGRESSHUD_SPRITE_METER RETURN 10
|
|
CASE PROGRESSHUD_FOUR_ICON_BAR RETURN 11
|
|
CASE PROGRESSHUD_FIVE_ICON_SCORE_BAR RETURN 12
|
|
CASE PROGRESSHUD_SIX_ICON_BAR RETURN 13
|
|
CASE PROGRESSHUD_DOUBLE_TEXT RETURN 14
|
|
ENDSWITCH
|
|
RETURN -1
|
|
ENDFUNC
|
|
|
|
FUNC BOOL IS_HUD_PRIORITY_VALID(HUD_PRIORITY eHudPriority)
|
|
RETURN (eHudPriority >= HUD_PRIORITY_FIRST AND eHudPriority < HUD_PRIORITY_MAX)
|
|
ENDFUNC
|
|
|
|
FUNC BOOL IS_PRIORITY_HUD_ELEMENT_VALID(HUD_PRIORITY eHudPriority)
|
|
IF IS_HUD_PRIORITY_VALID(eHudPriority)
|
|
RETURN (g_ePriorityHudElement[ENUM_TO_INT(eHudPriority)] != PROGRESSHUD_INVALID)
|
|
ENDIF
|
|
RETURN FALSE
|
|
ENDFUNC
|
|
|
|
FUNC BOOL IS_HUD_ELEMENT_ORDER_INDEX_VALID(INT iOrderIndex)
|
|
RETURN (iOrderIndex > -1 AND iOrderIndex < NUMBER_OF_DIFFERENT_HUD_ELEMENTS)
|
|
ENDFUNC
|
|
|
|
/// PURPOSE: Clears the current HUD element in priority slot
|
|
PROC CLEAR_PRIORITY_HUD_ELEMENT(HUD_PRIORITY eHudPriority)
|
|
IF IS_HUD_PRIORITY_VALID(eHudPriority)
|
|
IF g_ePriorityHudElement[ENUM_TO_INT(eHudPriority)] != PROGRESSHUD_INVALID
|
|
#IF IS_DEBUG_BUILD
|
|
PRINTLN("[PRIORITY_HUD] CLEAR_PRIORITY_HUD_ELEMENT - Clearing Priority Hud Element ", ENUM_TO_INT(eHudPriority), " - Called From Script: ", GET_THIS_SCRIPT_NAME())
|
|
#ENDIF
|
|
g_ePriorityHudElement[ENUM_TO_INT(eHudPriority)] = PROGRESSHUD_INVALID
|
|
ENDIF
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Clears all the current HUD element priorities
|
|
PROC CLEAR_ALL_PRIORITY_HUD_ELEMENTS()
|
|
INT iHudPriority
|
|
INT iMaxPriority = ENUM_TO_INT(HUD_PRIORITY_MAX)
|
|
REPEAT iMaxPriority iHudPriority
|
|
IF g_ePriorityHudElement[iHudPriority] != PROGRESSHUD_INVALID
|
|
#IF IS_DEBUG_BUILD
|
|
PRINTLN("[PRIORITY_HUD] CLEAR_ALL_PRIORITY_HUD_ELEMENTS - Clearing Priority Hud Element ", iHudPriority)
|
|
#ENDIF
|
|
g_ePriorityHudElement[iHudPriority] = PROGRESSHUD_INVALID
|
|
ENDIF
|
|
ENDREPEAT
|
|
#IF IS_DEBUG_BUILD
|
|
PRINTLN("[PRIORITY_HUD] CLEAR_ALL_PRIORITY_HUD_ELEMENTS - Called From Script: ", GET_THIS_SCRIPT_NAME())
|
|
#ENDIF
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Processes the passed in HUD element first.
|
|
/// **Must call CLEAR_PRIORITY_HUD_ELEMENT or CLEAR_ALL_PRIORITY_HUD_ELEMENTS after.
|
|
PROC SET_PRIORITY_HUD_ELEMENT(PROGRESSHUD_ELEMENTS eHudElement, HUD_PRIORITY eHudPriority)
|
|
IF IS_HUD_PRIORITY_VALID(eHudPriority)
|
|
IF g_ePriorityHudElement[ENUM_TO_INT(eHudPriority)] != eHudElement
|
|
#IF IS_DEBUG_BUILD
|
|
PRINTLN("[PRIORITY_HUD] SET_PRIORITY_HUD_ELEMENT - Setting Priority Hud ", ENUM_TO_INT(eHudPriority), " Element To: ", GET_HUD_ELEMENT_STRING(eHudElement), " - Called From Script: ", GET_THIS_SCRIPT_NAME())
|
|
#ENDIF
|
|
g_ePriorityHudElement[ENUM_TO_INT(eHudPriority)] = eHudElement
|
|
ENDIF
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
/// PURPOSE: Gets the current HUD element priority to be processed first
|
|
FUNC PROGRESSHUD_ELEMENTS GET_PRIORITY_HUD_ELEMENT(HUD_PRIORITY eHudPriority)
|
|
IF IS_HUD_PRIORITY_VALID(eHudPriority)
|
|
RETURN g_ePriorityHudElement[ENUM_TO_INT(eHudPriority)]
|
|
ENDIF
|
|
RETURN PROGRESSHUD_INVALID
|
|
ENDFUNC
|
|
|
|
/// PURPOSE: Checks if a HUD element is a priority
|
|
FUNC BOOL IS_HUD_ELEMENT_A_PRIORITY(PROGRESSHUD_ELEMENTS eHudElement)
|
|
IF IS_HUD_ELEMENT_ORDER_INDEX_VALID(ENUM_TO_INT(eHudElement))
|
|
INT iHudPriority
|
|
INT iMaxPriority = ENUM_TO_INT(HUD_PRIORITY_MAX)
|
|
REPEAT iMaxPriority iHudPriority
|
|
IF (g_ePriorityHudElement[iHudPriority] = eHudElement)
|
|
RETURN TRUE
|
|
ENDIF
|
|
ENDREPEAT
|
|
ENDIF
|
|
RETURN FALSE
|
|
ENDFUNC
|
|
|
|
PROC ACTUALLY_DRAW_GENERAL_HUD_ELEMENT(PROGRESSHUD_ELEMENTS eHudElement, INT iHudElementIndex)
|
|
SWITCH eHudElement
|
|
CASE PROGRESSHUD_TIMER
|
|
ACTUALLY_DRAW_GENERAL_TIME_TIMER(iHudElementIndex, MPGlobalsScoreHud.ElementHud_TIMER.iGenericTimer_Timer[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_TIMER.sGenericTimer_TimerTitle[iHudElementIndex], MPGlobalsScoreHud.ElementHud_TIMER.iGenericTimer_ExtraTime[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_TIMER.iGenericTimer_MedalDisplay[iHudElementIndex], MPGlobalsScoreHud.ElementHud_TIMER.bGenericTimer_TimerStyle[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_TIMER.GenericTimer_Colour[iHudElementIndex], MPGlobalsScoreHud.ElementHud_TIMER.iGenericTimer_FlashTimer[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_TIMER.iGenericTimer_TitleNumber[iHudElementIndex], MPGlobalsScoreHud.ElementHud_TIMER.GenericTimer_bIsPlayer[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_TIMER.GenericTimer_ColourFlashType[iHudElementIndex], MPGlobalsScoreHud.ElementHud_TIMER.GenericTimer_ColourFlash[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_TIMER.GenericTimer_bDisplayAsDashes[iHudElementIndex], MPGlobalsScoreHud.ElementHud_TIMER.GenericTimer_TitleColour[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_TIMER.GenericTimer_bIsLiteral[iHudElementIndex], MPGlobalsScoreHud.ElementHud_TIMER.GenericTimer_FleckColour[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_TIMER.GenericTimer_Powerup[iHudElementIndex], MPGlobalsScoreHud.ElementHud_TIMER.GenericTimer_bHideUnusedZeros[iHudElementIndex])
|
|
BREAK
|
|
CASE PROGRESSHUD_SINGLE_NUMBER
|
|
ACTUALLY_DRAW_GENERAL_SINGLE_BIG_NUMBER(iHudElementIndex, MPGlobalsScoreHud.ElementHud_SINGLENUMBER.iGenericNumber_Number[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SINGLENUMBER.sGenericNumber_NumberTitle[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SINGLENUMBER.GenericNumber_Colour[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SINGLENUMBER.iGenericNumber_FlashTimer[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SINGLENUMBER.iGenericNumber_TitleNumber[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SINGLENUMBER.GenericNumber_bIsPlayer[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SINGLENUMBER.sGenericNumber_NumberString[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SINGLENUMBER.sGenericNumber_TitleColour[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SINGLENUMBER.bGenericNumber_DrawInfinity[iHudElementIndex] , MPGlobalsScoreHud.ElementHud_SINGLENUMBER.GenericNumber_ColourFlashType[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SINGLENUMBER.GenericNumber_ColourFlash[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SINGLENUMBER.GenericNumber_FleckColour[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SINGLENUMBER.GenericNumber_EnablePulsing[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SINGLENUMBER.GenericNumber_PulseColour[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SINGLENUMBER.GenericNumber_PulseTime[iHudElementIndex])
|
|
BREAK
|
|
CASE PROGRESSHUD_DOUBLE_NUMBER
|
|
ACTUALLY_DRAW_GENERAL_DOUBLE_BIG_NUMBER(iHudElementIndex, MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.iGenericDoubleNumber_Number[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.iGenericDoubleNumber_NumberTwo[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.sGenericDoubleNumber_Title[iHudElementIndex], MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.GenericDoubleNumber_COLOUR[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.iGenericDoubleNumber_FlashTimer[iHudElementIndex], MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.iGenericDoubleNumber_TitleNumber[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.GenericDoubleNumber_bIsPlayer[iHudElementIndex], MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.GenericDoubleNumber_ColourFlashType[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.GenericDoubleNumber_ColourFlash[iHudElementIndex], MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.GenericDoubleNumber_bDisplayWarning[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.GenericDoubleNumber_bUseNonPlayerFont[iHudElementIndex], MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.GenericDoubleNumber_TitleCOLOUR[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.GenericDoubleNumber_FleckColour[iHudElementIndex], MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.GenericDoubleNumber_iAlpha[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMBER.GenericDoubleNumber_bFlashTitle[iHudElementIndex])
|
|
BREAK
|
|
CASE PROGRESSHUD_DOUBLE_NUMBER_PLACE
|
|
ACTUALLY_DRAW_GENERAL_DOUBLE_BIG_NUMBER_PLACE(iHudElementIndex, MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.iGenericDoubleNumberPlace_Number[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.iGenericDoubleNumberPlace_NumberTwo[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.sGenericDoubleNumberPlace_Title[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.GenericDoubleNumberPlace_COLOUR[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.iGenericDoubleNumberPlace_FlashTimer[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.iGenericDoubleNumberPlace_TitleNumber[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.GenericDoubleNumberPlace_bIsPlayer[iHudElementIndex] ,
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.GenericDoubleNumberPlace_ColourFlashType[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.GenericDoubleNumberPlace_ColourFlash[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.GenericDoubleNumberPlace_TitleCOLOUR[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.GenericDoubleNumberPlace_FleckColour[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.GenericDoubleNumberPlace_bCustomFont[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_DOUBLENUMPLACE.GenericDoubleNumberPlace_eCustomFont[iHudElementIndex])
|
|
BREAK
|
|
CASE PROGRESSHUD_CHECKPOINT
|
|
ACTUALLY_DRAW_GENERAL_CHECKPOINT(iHudElementIndex, MPGlobalsScoreHud.ElementHud_CHECKPOINT.iGenericCheckpoint_Number[iHudElementIndex], MPGlobalsScoreHud.ElementHud_CHECKPOINT.iGenericCheckpoint_MaxNumber[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_CHECKPOINT.sGenericCheckpoint_Title[iHudElementIndex], MPGlobalsScoreHud.ElementHud_CHECKPOINT.GenericCheckpoint_Colour[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_CHECKPOINT.iGenericCheckpoint_TitleNumber[iHudElementIndex], MPGlobalsScoreHud.ElementHud_CHECKPOINT.GenericCheckpoint_bIsPlayer[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_CHECKPOINT.iGenericCheckpoint_FlashTimer[iHudElementIndex], MPGlobalsScoreHud.ElementHud_CHECKPOINT.GenericCheckpoint_FreeRoamPos[iHudElementIndex].x,
|
|
MPGlobalsScoreHud.ElementHud_CHECKPOINT.GenericCheckpoint_FreeRoamPos[iHudElementIndex].y, MPGlobalsScoreHud.ElementHud_CHECKPOINT.GenericCheckpoint_ColourFlashType[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_CHECKPOINT.GenericCheckpoint_ColourFlash[iHudElementIndex], MPGlobalsScoreHud.ElementHud_CHECKPOINT.iGenericCheckpoint_iInBuiltMultiplyer[iHudElementIndex],
|
|
#IF USE_TU_CHANGES GenericCheckpoint_Cross0[iHudElementIndex], GenericCheckpoint_Cross1[iHudElementIndex], GenericCheckpoint_Cross2[iHudElementIndex], GenericCheckpoint_Cross3[iHudElementIndex], GenericCheckpoint_Cross4[iHudElementIndex],
|
|
GenericCheckpoint_Cross5[iHudElementIndex], GenericCheckpoint_Cross6[iHudElementIndex], GenericCheckpoint_Cross7[iHudElementIndex], #ENDIF
|
|
MPGlobalsScoreHud.ElementHud_CHECKPOINT.GenericCheckpoint_FleckColour[iHudElementIndex])
|
|
BREAK
|
|
CASE PROGRESSHUD_METER
|
|
ACTUALLY_DRAW_GENERAL_METER(iHudElementIndex, MPGlobalsScoreHud.ElementHud_METER.iGenericMeter_Number[iHudElementIndex], MPGlobalsScoreHud.ElementHud_METER.iGenericMeter_MaxNumber[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_METER.sGenericMeter_Title[iHudElementIndex], MPGlobalsScoreHud.ElementHud_METER.GenericMeter_Colour[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_METER.iGenericMeter_FlashTimer[iHudElementIndex], MPGlobalsScoreHud.ElementHud_METER.GenericMeter_FreeRoamPos[iHudElementIndex].x,
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_FreeRoamPos[iHudElementIndex].y, MPGlobalsScoreHud.ElementHud_METER.GenericMeter_bIsPlayer[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_METER.iGenericMeter_TitleNumber[iHudElementIndex], MPGlobalsScoreHud.ElementHud_METER.GenericMeter_bOnlyZeroIsEmpty[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_ColourFlashType[iHudElementIndex], MPGlobalsScoreHud.ElementHud_METER.GenericMeter_ColourFlash[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_bBigMeter[iHudElementIndex], MPGlobalsScoreHud.ElementHud_METER.GenericMeter_iDrawRedDangerZonePercent[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_bIsLiteralString[iHudElementIndex], MPGlobalsScoreHud.ElementHud_METER.GenericMeter_PercentageLine[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_FleckColour[iHudElementIndex], MPGlobalsScoreHud.ElementHud_METER.GenericMeter_TextColour[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_bDrawLineUnderName[iHudElementIndex], MPGlobalsScoreHud.ElementHud_METER.GenericMeter_LineUnderNameColour[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_MakeBarUrgent[iHudElementIndex], MPGlobalsScoreHud.ElementHud_METER.GenericMeter_iUrgentPercentage[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_METER.PulseToColour[iHudElementIndex], MPGlobalsScoreHud.ElementHud_METER.iPulseTime[iHudElementIndex], MPGlobalsScoreHud.ElementHud_METER.bUseScoreTitle[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_fNumber[iHudElementIndex], MPGlobalsScoreHud.ElementHud_METER.GenericMeter_fMaxNumber[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_bUseSecondaryBar[iHudElementIndex], MPGlobalsScoreHud.ElementHud_METER.GenericMeter_eSecondaryBarColour[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_fSecondaryBarPercentage[iHudElementIndex], MPGlobalsScoreHud.ElementHud_METER.GenericMeter_bTransparentSecBarIntersectingMainBar[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_eSecBarPulseToColour[iHudElementIndex], MPGlobalsScoreHud.ElementHud_METER.GenericMeter_iSecBarPulseTime[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_fSecBarStartPercentage[iHudElementIndex], MPGlobalsScoreHud.ElementHud_METER.GenericMeter_iGFXDrawOrder[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_METER.GenericMeter_bCapMaxPercentage[iHudElementIndex])
|
|
BREAK
|
|
CASE PROGRESSHUD_SCORE
|
|
ACTUALLY_DRAW_GENERAL_SINGLE_SCORE(iHudElementIndex, MPGlobalsScoreHud.ElementHud_SCORE.iGenericScore_Number[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SCORE.sGenericScore_Title[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_Colour[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SCORE.iGenericScore_FlashTimer[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SCORE.iGenericScore_TitleNumber[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_bIsPlayer[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SCORE.sGenericScore_NumberString[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SCORE.bGenericScore_isFloat[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SCORE.bGenericScore_FloatValue[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_ColourFlashType[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_ColourFlash[iHudElementIndex],MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_TitleColour[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_DisplayWarning[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_MaxNumber[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_DrawInfinity[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_Powerup[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_Style[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_bIsLiteralTitle[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_FleckColour[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_iAlpha[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_bDisplayBlankScore[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_pPlayerID[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_bFlashTitle[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_bDrawLineUnderName[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SCORE.GenericScore_LineUnderNameColour[iHudElementIndex])
|
|
BREAK
|
|
CASE PROGRESSHUD_ELIMINATION
|
|
ACTUALLY_DRAW_GENERAL_ELIMINATION(iHudElementIndex, MPGlobalsScoreHud.ElementHud_ELIMINATION.iGenericElimination_MaxNumber[iHudElementIndex], MPGlobalsScoreHud.ElementHud_ELIMINATION.sGenericElimination_Title[iHudElementIndex], MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_ColourFirst[iHudElementIndex], MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_ColourSecond[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.iGenericElimination_VisibleBoxes[iHudElementIndex], MPGlobalsScoreHud.ElementHud_ELIMINATION.bGenericElimination_IsActive1[iHudElementIndex], MPGlobalsScoreHud.ElementHud_ELIMINATION.bGenericElimination_IsActive2[iHudElementIndex], MPGlobalsScoreHud.ElementHud_ELIMINATION.bGenericElimination_IsActive3[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.bGenericElimination_IsActive4[iHudElementIndex], MPGlobalsScoreHud.ElementHud_ELIMINATION.bGenericElimination_IsActive5[iHudElementIndex], MPGlobalsScoreHud.ElementHud_ELIMINATION.bGenericElimination_IsActive6[iHudElementIndex], MPGlobalsScoreHud.ElementHud_ELIMINATION.bGenericElimination_IsActive7[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.bGenericElimination_IsActive8[iHudElementIndex], MPGlobalsScoreHud.ElementHud_ELIMINATION.iGenericElimination_FlashTimer[iHudElementIndex], MPGlobalsScoreHud.ElementHud_ELIMINATION.iGenericElimination_TitleNumber[iHudElementIndex], MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_bIsPlayer[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_FreeRoamPos[iHudElementIndex].x,MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_FreeRoamPos[iHudElementIndex].y,MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box1Colour[iHudElementIndex], MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box2Colour[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box3Colour[iHudElementIndex], MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box4Colour[iHudElementIndex], MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box5Colour[iHudElementIndex], MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box6Colour[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box7Colour[iHudElementIndex], MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box8Colour[iHudElementIndex], MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box1Colour_InActive[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box2Colour_InActive[iHudElementIndex], MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box3Colour_InActive[iHudElementIndex], MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box4Colour_InActive[iHudElementIndex], MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box5Colour_InActive[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box6Colour_InActive[iHudElementIndex], MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box7Colour_InActive[iHudElementIndex], MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Box8Colour_InActive[iHudElementIndex], MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_ColourFlashType[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_ColourFlash[iHudElementIndex], MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_TitleColour[iHudElementIndex] #IF USE_TU_CHANGES , GenericElimination_Cross0[iHudElementIndex], GenericElimination_Cross1[iHudElementIndex],GenericElimination_Cross2[iHudElementIndex],GenericElimination_Cross3[iHudElementIndex],GenericElimination_Cross4[iHudElementIndex],GenericElimination_Cross5[iHudElementIndex],
|
|
GenericElimination_Cross6[iHudElementIndex],GenericElimination_Cross7[iHudElementIndex] #ENDIF, MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_bUseNonPlayerFont[iHudElementIndex], MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_FleckColour[iHudElementIndex] #IF USE_TU_CHANGES , MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Cross0Colour[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Cross1Colour[iHudElementIndex], MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Cross2Colour[iHudElementIndex], MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Cross3Colour[iHudElementIndex], MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Cross4Colour[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Cross5Colour[iHudElementIndex], MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Cross6Colour[iHudElementIndex], MPGlobalsScoreHud.ElementHud_ELIMINATION.GenericElimination_Cross7Colour[iHudElementIndex] #ENDIF)
|
|
BREAK
|
|
CASE PROGRESSHUD_WINDMETER
|
|
ACTUALLY_DRAW_GENERAL_WINDMETER(iHudElementIndex, MPGlobalsScoreHud.ElementHud_WIND.sGenericMeter_Title[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_WIND.fGenericMeter_Heading[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_WIND.iGenericMeter_WindSpeed[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_WIND.iGenericMeter_RedComponent[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_WIND.iGenericMeter_BlueComponent[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_WIND.iGenericMeter_GreenComponent[iHudElementIndex])
|
|
BREAK
|
|
CASE PROGRESSHUD_BIG_RACE_POSITION
|
|
ACTUALLY_DRAW_GENERAL_BIG_RACE_POSITION(iHudElementIndex, MPGlobalsScoreHud.ElementHud_BIGRACEPOSITION.eGenericBigRacePos_iRacePosition[iHudElementIndex], MPGlobalsScoreHud.ElementHud_BIGRACEPOSITION.eGenericBigRacePos_eRacePositionHUDColour[iHudElementIndex])
|
|
BREAK
|
|
CASE PROGRESSHUD_SPRITE_METER
|
|
ACTUALLY_DRAW_GENERAL_SPRITE_METER(iHudElementIndex, MPGlobalsScoreHud.ElementHud_SPRITEMETER.iGenericMeter_Number[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SPRITEMETER.iGenericMeter_MaxNumber[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.sGenericMeter_Title[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SPRITEMETER.GenericMeter_Colour[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.iGenericMeter_FlashTimer[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.GenericMeter_bIsPlayer[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.iGenericMeter_TitleNumber[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SPRITEMETER.GenericMeter_bOnlyZeroIsEmpty[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.GenericMeter_ColourFlashType[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.GenericMeter_ColourFlash[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.GenericMeter_SpriteName[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.sGenericMeter_DictionaryName,
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.GenericMeter_bIsLiteralString[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SPRITEMETER.GenericMeter_FleckColour[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SPRITEMETER.GenericMeter_TextColour[iHudElementIndex])
|
|
BREAK
|
|
CASE PROGRESSHUD_FOUR_ICON_BAR
|
|
ACTUALLY_DRAW_GENERAL_FOUR_ICON_BAR(iHudElementIndex, MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_TitleColour[iHudElementIndex], MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_pPlayerOne[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_pPlayerTwo[iHudElementIndex], MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_pPlayerThree[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_pPlayerFour[iHudElementIndex], MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_aPowerupOne[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_aPowerupTwo[iHudElementIndex], MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_aPowerupThree[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_aPowerupFour[iHudElementIndex], MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_bFlashIconOne[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_bFlashIconTwo[iHudElementIndex], MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_bFlashIconThree[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_bFlashIconFour[iHudElementIndex], MPGlobalsScoreHud.ElementHud_FOURICONBAR.eGenericFourIconBar_iFlashTime[iHudElementIndex])
|
|
BREAK
|
|
CASE PROGRESSHUD_FIVE_ICON_SCORE_BAR
|
|
ACTUALLY_DRAW_GENERAL_FIVE_ICON_SCORE_BAR(iHudElementIndex, MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_Number[iHudElementIndex], MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_FloatValue[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_NumberString[iHudElementIndex], MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_isFloat[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_MaXNumber[iHudElementIndex], MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_DrawInfinity[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_TitleColour[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_pPlayerOne[iHudElementIndex], MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_pPlayerTwo[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_pPlayerThree[iHudElementIndex], MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_pPlayerFour[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_pPlayerFive[iHudElementIndex], MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_aPowerupOne[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_aPowerupTwo[iHudElementIndex], MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_aPowerupThree[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_aPowerupFour[iHudElementIndex], MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_aPowerupFive[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_pPlayerToHighlight[iHudElementIndex], MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_bEnablePlayerHighlight[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_ePowerupOneColour[iHudElementIndex], MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_ePowerupTwoColour[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_ePowerupThreeColour[iHudElementIndex], MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_ePowerupFourColour[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_ePowerupFiveColour[iHudElementIndex], MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_iInstanceToHighlight[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_bPulseHighlight[iHudElementIndex], MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_iPulseTime[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_pAvatarToFlash[iHudElementIndex], MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_bFlashAvatar[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_iAvatarFlashTime[iHudElementIndex], MPGlobalsScoreHud.ElementHud_FIVEICONSCOREBAR.eGenericFiveIconScoreBar_iAvatarSlotToFlash[iHudElementIndex])
|
|
BREAK
|
|
CASE PROGRESSHUD_SIX_ICON_BAR
|
|
ACTUALLY_DRAW_GENERAL_SIX_ICON_BAR(iHudElementIndex, MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_TitleColour[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_pPlayerOne[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_pPlayerTwo[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_pPlayerThree[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_pPlayerFour[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_pPlayerFive[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_pPlayerSix[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_aPowerupOne[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_aPowerupTwo[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_aPowerupThree[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_aPowerupFour[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_aPowerupFive[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_aPowerupSix[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_bFlashIconOne[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_bFlashIconTwo[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_bFlashIconThree[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_bFlashIconFour[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_bFlashIconFive[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_bFlashIconSix[iHudElementIndex], MPGlobalsScoreHud.ElementHud_SIXICONBAR.eGenericSixIconBar_iFlashTime[iHudElementIndex])
|
|
BREAK
|
|
CASE PROGRESSHUD_DOUBLE_TEXT
|
|
ACTUALLY_DRAW_DOUBLE_TEXT_BAR(iHudElementIndex, MPGlobalsScoreHud.ElementHud_DOUBLETEXT.sGenericDoubleText_TitleLeft[iHudElementIndex], MPGlobalsScoreHud.ElementHud_DOUBLETEXT.sGenericDoubleText_TitleRight[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_DOUBLETEXT.GenericDoubleText_bTitleLeftLiteral[iHudElementIndex], MPGlobalsScoreHud.ElementHud_DOUBLETEXT.GenericDoubleText_bTitleRightLiteral[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_DOUBLETEXT.GenericDoubleText_TitleCOLOUR[iHudElementIndex], MPGlobalsScoreHud.ElementHud_DOUBLETEXT.GenericDoubleText_bCustomFont[iHudElementIndex],
|
|
MPGlobalsScoreHud.ElementHud_DOUBLETEXT.GenericDoubleText_eCustomFont[iHudElementIndex])
|
|
|
|
|
|
BREAK
|
|
ENDSWITCH
|
|
ENDPROC
|
|
|
|
FUNC BOOL IS_RP_BAR_ACTIVE_IN_ARENA_BOX()
|
|
RETURN g_bEnableRPBarInArenaBox
|
|
ENDFUNC
|
|
|
|
PROC SET_RP_BAR_ACTIVE_STATE_IN_ARENA_BOX(BOOL bState)
|
|
IF bState
|
|
#IF IS_DEBUG_BUILD
|
|
PRINTLN("[WHEEL_SPIN] - SET_RP_BAR_ACTIVE_STATE_IN_ARENA_BOX - Setting g_bEnableRPBarInArenaBox to: TRUE")
|
|
PRINTLN("[WHEEL_SPIN] - SET_RP_BAR_ACTIVE_STATE_IN_ARENA_BOX - Callstack:")
|
|
DEBUG_PRINTCALLSTACK()
|
|
#ENDIF
|
|
g_bEnableRPBarInArenaBox = TRUE
|
|
ELSE
|
|
#IF IS_DEBUG_BUILD
|
|
PRINTLN("[WHEEL_SPIN] - SET_RP_BAR_ACTIVE_STATE_IN_ARENA_BOX - Setting g_bEnableRPBarInArenaBox to: FALSE")
|
|
PRINTLN("[WHEEL_SPIN] - SET_RP_BAR_ACTIVE_STATE_IN_ARENA_BOX - Callstack:")
|
|
DEBUG_PRINTCALLSTACK()
|
|
#ENDIF
|
|
g_bEnableRPBarInArenaBox = FALSE
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|