1303 lines
48 KiB
Scheme
Executable File
1303 lines
48 KiB
Scheme
Executable File
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Name: socialclub_leaderboard_hud.sch //
|
|
// Description: Controls opening/closing of garage and warping player out //
|
|
// Written by: Conor McGuire //
|
|
// Date: 2013-03-05 (ISO 8601) //
|
|
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
USING "leader_board_common.sch"
|
|
USING "commands_stats.sch"
|
|
USING "net_common_functions.sch"
|
|
USING "script_conversion.sch"
|
|
USING "net_car_club_rep.sch"
|
|
|
|
ENUM DISPLAY_TYPES
|
|
DISPLAY_TYPE_MINIGAME = 0,
|
|
DISPLAY_TYPE_MULTIPLAYER
|
|
ENDENUM
|
|
|
|
ENUM SCLB_SECTIONS
|
|
SECTION_WORLD = 0,
|
|
SECTION_FRIEND,
|
|
SECTION_CREW
|
|
ENDENUM
|
|
|
|
CONST_INT SCLB_SLOT_STATE_BIT_NONE 0
|
|
CONST_INT SCLB_SLOT_STATE_BIT_IS_PLAYER 1
|
|
CONST_INT SCLB_SLOT_STATE_BIT_OUTLINE 2
|
|
CONST_INT SCLB_SLOT_STATE_BIT_SELECTED 3
|
|
CONST_INT SCLB_SLOT_STATE_BIT_WORLD 4
|
|
CONST_INT SCLB_SLOT_STATE_BIT_FRIENDS 5
|
|
CONST_INT SCLB_SLOT_STATE_BIT_CREW 6
|
|
CONST_INT SCLB_SLOT_STATE_BIT_DESCRIPTION 7
|
|
|
|
ENUM SCLB_SLOT_LAYOUTS
|
|
SLOT_LAYOUT_LABEL_NO_ICON = 0, // Just a label, no icon
|
|
SLOT_LAYOUT_LABEL, // Label and Icon, no columns
|
|
SLOT_LAYOUT_1_STATS, // Label and Icon, one column with label and icon
|
|
SLOT_LAYOUT_2_STATS, // Label and Icon, two columns with labels and icons
|
|
SLOT_LAYOUT_3_STATS, // Label and Icon, three columns with labels and icons
|
|
SLOT_LAYOUT_4_STATS, // Label and Icon, four columns with labels and icons
|
|
SLOT_LAYOUT_5_STATS // Label and Icon, five columns with labels and icons
|
|
ENDENUM
|
|
|
|
ENUM SCLB_ICONS
|
|
ICON_NONE = -1,
|
|
ICON_WORLD_RANKING = 0, // 0
|
|
ICON_FRIENDS,
|
|
ICON_CREW,
|
|
ICON_TIME,
|
|
ICON_LAP,
|
|
ICON_POSITION, // 5
|
|
ICON_KILLS,
|
|
ICON_DEATHS,
|
|
ICON_GUN,
|
|
ICON_VEHICLE,
|
|
ICON_TARGET, // 10
|
|
ICON_CROSSHAIR,
|
|
ICON_DOLLAR,
|
|
ICON_POINT,
|
|
ICON_CROWN,
|
|
ICON_TROPHY, // 15
|
|
ICON_WINNER = 15,
|
|
ICON_ARM,
|
|
ICON_DART,
|
|
ICON_GOLF_CLUB,
|
|
ICON_GOLF,
|
|
ICON_HOOKER, //20
|
|
ICON_HEART,
|
|
ICON_HEART_BROKEN,
|
|
ICON_TENNIS_RACKET,
|
|
ICON_TENNIS_BALL,
|
|
ICON_ROBBER_MASK, //25
|
|
ICON_LOSER,
|
|
ICON_SCALE
|
|
ENDENUM
|
|
|
|
ENUM SCLB_DATA_TYPE
|
|
SCLB_DATA_TYPE_NONE = 0,
|
|
SCLB_DATA_TYPE_TIME,
|
|
SCLB_DATA_TYPE_TIME_NEG_B4_DIS,
|
|
SCLB_DATA_TYPE_VEHICLE,
|
|
SCLB_DATA_TYPE_FLOAT,
|
|
SCLB_DATA_TYPE_INT,
|
|
SCLB_DATA_TYPE_GOLD_TIME,
|
|
SCLB_DATA_TYPE_INT_NEG_B4_DIS,
|
|
SCLB_DATA_TYPE_GUN,
|
|
SCLB_DATA_TYPE_TIME_NO_MS,
|
|
SCLB_DATA_TYPE_TIME_NEG_B4_DIS_NO_MS,
|
|
SCLB_DATA_TYPE_TIME_POSITIVE,
|
|
SCLB_DATA_TYPE_FLOAT_TO_INT,
|
|
SCLB_DATA_TYPE_INT_DIST_WITH_CONV_FT,
|
|
SCLB_DATA_TYPE_INT_DIST_WITH_CONV_FT_NEG_B4_DIS,
|
|
SCLB_DATA_TYPE_INT_DIST_WITH_CONV_MILE,
|
|
SCLB_DATA_TYPE_INT_DIST_WITH_CONV_MILE_NEG_B4_DIS,
|
|
SCLB_DATA_TYPE_FLOAT_DIST_WITH_CONV_FT,
|
|
SCLB_DATA_TYPE_FLOAT_DIST_WITH_CONV_FT_NEG_B4_DIS,
|
|
SCLB_DATA_TYPE_FLOAT_DIST_WITH_CONV_MILE,
|
|
SCLB_DATA_TYPE_FLOAT_DIST_WITH_CONV_MILE_NEG_B4_DIS,
|
|
SCLB_DATA_TYPE_ARENA_TITLE,
|
|
SCLB_DATA_TYPE_CC_MEMBER_RANK
|
|
ENDENUM
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////// IN-VALID COMMANDS BELOW DO NOT USE THESE THEY ARE OLD COMMANDS !////////////////////////////////////////////////
|
|
|
|
//INVALID NOW DO NOT USE!!!
|
|
FUNC TEXT_LABEL_15 SC_LEADERBOARD_MAKE_INT_PRETTY(INT iUglyNumber)
|
|
#IF IS_DEBUG_BUILD
|
|
PRINTLN("THIS COMMAND IS NOT VALID DO NOT USE IT! SEE CONOR FOR INFORMATION ABOUT COMMANDS TO USE.")
|
|
SCRIPT_ASSERT("THIS COMMAND IS NOT VALID DO NOT USE IT! SEE CONOR FOR INFORMATION ABOUT COMMANDS TO USE.")
|
|
#ENDIF
|
|
TEXT_LABEL_15 sPrettyNumber
|
|
INT millions, thousands, hundreds
|
|
|
|
millions = iUglyNumber / 1000000
|
|
thousands = iUglyNumber % 1000000 / 1000
|
|
hundreds = iUglyNumber % 1000
|
|
|
|
// Set Millions and add padding to Thousands if needed
|
|
IF millions > 0
|
|
sPrettyNumber += millions
|
|
sPrettyNumber += ","
|
|
IF thousands < 100
|
|
sPrettyNumber += "0"
|
|
ENDIF
|
|
IF thousands < 10
|
|
sPrettyNumber += "0"
|
|
ENDIF
|
|
ENDIF
|
|
// Set Thousands and add padding to Hundreds if needed
|
|
IF thousands > 0
|
|
sPrettyNumber += thousands
|
|
sPrettyNumber += ","
|
|
IF hundreds < 100
|
|
sPrettyNumber += "0"
|
|
ENDIF
|
|
IF hundreds < 10
|
|
sPrettyNumber += "0"
|
|
ENDIF
|
|
ENDIF
|
|
// Set Hundreds
|
|
sPrettyNumber += hundreds
|
|
|
|
// TODO: Add support for ordinals
|
|
|
|
RETURN (sPrettyNumber)
|
|
ENDFUNC
|
|
|
|
//INVALID NOW DO NOT USE!!!
|
|
FUNC TEXT_LABEL_15 SC_LEADERBOARD_MAKE_TIME_LABEL(INT iLeftNum, INT iRightNum, BOOL bDispColon=TRUE, BOOL bDispMinSec=TRUE)
|
|
#IF IS_DEBUG_BUILD
|
|
PRINTLN("THIS COMMAND IS NOT VALID DO NOT USE IT! SEE CONOR FOR INFORMATION ABOUT COMMANDS TO USE.")
|
|
SCRIPT_ASSERT("THIS COMMAND IS NOT VALID DO NOT USE IT! SEE CONOR FOR INFORMATION ABOUT COMMANDS TO USE.")
|
|
#ENDIF
|
|
TEXT_LABEL_15 texLabel
|
|
texLabel = ""
|
|
|
|
// Add minutes to the label
|
|
IF iLeftNum < 10
|
|
texLabel += "0"
|
|
ENDIF
|
|
texLabel += iLeftNum
|
|
|
|
// Add middle demarcation, a colon or an 'm'
|
|
IF bDispColon
|
|
texLabel += ":"
|
|
ELIF bDispMinSec
|
|
texLabel += "m "
|
|
ELSE
|
|
texLabel += "h "
|
|
ENDIF
|
|
|
|
// Add seconds to the label
|
|
IF iRightNum < 10
|
|
texLabel += "0"
|
|
ENDIF
|
|
texLabel += iRightNum
|
|
|
|
// Add final demarcation if needed
|
|
IF NOT bDispColon AND bDispMinSec
|
|
texLabel += "s"
|
|
ELIF NOT bDispColon AND NOT bDispMinSec
|
|
texLabel += "m"
|
|
ENDIF
|
|
|
|
RETURN texLabel
|
|
ENDFUNC
|
|
|
|
//INVALID NOW DO NOT USE!!!
|
|
FUNC TEXT_LABEL_15 SC_LEADERBOARD_MAKE_TIME_LABEL_BETTER(FLOAT fMS, BOOL bDispColon=TRUE, BOOL bDispMinSec=TRUE)
|
|
#IF IS_DEBUG_BUILD
|
|
PRINTLN("THIS COMMAND IS NOT VALID DO NOT USE IT! SEE CONOR FOR INFORMATION ABOUT COMMANDS TO USE.")
|
|
SCRIPT_ASSERT("THIS COMMAND IS NOT VALID DO NOT USE IT! SEE CONOR FOR INFORMATION ABOUT COMMANDS TO USE.")
|
|
#ENDIF
|
|
TEXT_LABEL_15 texLabel
|
|
texLabel = ""
|
|
INT iHours
|
|
INT iMinutes
|
|
INT iSec
|
|
INT iMilSec
|
|
IF fMS > 0
|
|
INT iMSLeft = ROUND(fMS)
|
|
PRINTLN("SC_LEADERBOARD_MAKE_TIME_LABEL_BETTER starting MS :", iMSLeft)
|
|
iHours = FLOOR(TO_FLOAT(iMSLeft/(1000*60*60)))
|
|
PRINTLN("SC_LEADERBOARD_MAKE_TIME_LABEL_BETTER Hours :", iHours)
|
|
|
|
iMSLeft = iMSLeft- (iHours*(1000*60*60))
|
|
iMinutes = FLOOR(TO_FLOAT(iMSLeft/(1000*60)))
|
|
PRINTLN("SC_LEADERBOARD_MAKE_TIME_LABEL_BETTER minutes :", iMinutes)
|
|
|
|
iMSLeft = iMSLeft- (iMinutes*(1000*60))
|
|
iSec = FLOOR(TO_FLOAT(iMSLeft/1000))
|
|
PRINTLN("SC_LEADERBOARD_MAKE_TIME_LABEL_BETTER second :", iSec)
|
|
|
|
iMSLeft = iMSLeft- (iSec*1000)
|
|
iMilSec = iMSLeft
|
|
PRINTLN("SC_LEADERBOARD_MAKE_TIME_LABEL_BETTER ms :", iMilSec)
|
|
|
|
//using text labels for translations
|
|
IF bDispColon
|
|
IF iHours > 0
|
|
texLabel += iHours
|
|
texLabel += ":"
|
|
IF iMinutes < 10
|
|
texLabel += "0"
|
|
texLabel += iMinutes
|
|
ELSE
|
|
texLabel += iMinutes
|
|
ENDIF
|
|
texLabel += ":"
|
|
IF iSec < 10
|
|
texLabel += "0"
|
|
texLabel += iSec
|
|
ELSE
|
|
texLabel += iSec
|
|
ENDIF
|
|
ELSE
|
|
IF iMinutes < 10
|
|
texLabel += "0"
|
|
texLabel += iMinutes
|
|
ELSE
|
|
texLabel += iMinutes
|
|
ENDIF
|
|
texLabel += ":"
|
|
IF iSec < 10
|
|
texLabel += "0"
|
|
texLabel += iSec
|
|
ELSE
|
|
texLabel += iSec
|
|
ENDIF
|
|
texLabel += ":"
|
|
IF iMilSec > 100
|
|
texLabel += iMilSec
|
|
ELSE
|
|
IF iMilSec > 10
|
|
texLabel += "0"
|
|
texLabel += iMilSec
|
|
ELSE
|
|
texLabel += "00"
|
|
texLabel += iMilSec
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELIF bDispMinSec
|
|
IF fMS >= 1000*60*60
|
|
texLabel += iHours
|
|
texLabel += "H"//GET_STRING_FROM_TEXT_FILE("TIME_H_LC")
|
|
texLabel += " "
|
|
texLabel += iMinutes
|
|
texLabel += "M"//GET_STRING_FROM_TEXT_FILE("TIME_M_LC")
|
|
texLabel += " "
|
|
texLabel += iSec
|
|
texLabel += "S"//GET_STRING_FROM_TEXT_FILE("TIME_S_LC")
|
|
ELSE
|
|
texLabel += iMinutes
|
|
texLabel += "m"//GET_STRING_FROM_TEXT_FILE("TIME_M_LC")
|
|
texLabel += " "
|
|
texLabel += iSec
|
|
texLabel += "s"//GET_STRING_FROM_TEXT_FILE("TIME_S_LC")
|
|
texLabel += " "
|
|
texLabel += iMilSec
|
|
texLabel += "ms"// GET_STRING_FROM_TEXT_FILE("TIME_MS_LC")
|
|
ENDIF
|
|
ELSE
|
|
texLabel += ROUND(fMS)
|
|
ENDIF
|
|
ELSE
|
|
texLabel = "---"
|
|
ENDIF
|
|
|
|
RETURN texLabel
|
|
ENDFUNC
|
|
|
|
//INVALID NOW DO NOT USE!!!
|
|
PROC CLEAR_SC_LEADERBOARD_SLOT_ENTRIES(SCALEFORM_INDEX uiLeaderboard, SCLB_SECTIONS eSection, INT iSlotID)
|
|
#IF IS_DEBUG_BUILD
|
|
PRINTLN("THIS COMMAND IS NOT VALID DO NOT USE IT! SEE CONOR FOR INFORMATION ABOUT COMMANDS TO USE.")
|
|
SCRIPT_ASSERT("THIS COMMAND IS NOT VALID DO NOT USE IT! SEE CONOR FOR INFORMATION ABOUT COMMANDS TO USE.")
|
|
#ENDIF
|
|
BEGIN_SCALEFORM_MOVIE_METHOD(uiLeaderboard, "CLEAR_SLOT")
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(ENUM_TO_INT(eSection))
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iSlotID)
|
|
END_SCALEFORM_MOVIE_METHOD()
|
|
ENDPROC
|
|
|
|
//INVALID NOW DO NOT USE!!!
|
|
PROC REMOVE_ALL_SC_LEADERBOARD_HEADERS_AND_SLOTS(SCALEFORM_INDEX uiLeaderboard)
|
|
#IF IS_DEBUG_BUILD
|
|
PRINTLN("THIS COMMAND IS NOT VALID DO NOT USE IT! SEE CONOR FOR INFORMATION ABOUT COMMANDS TO USE.")
|
|
SCRIPT_ASSERT("THIS COMMAND IS NOT VALID DO NOT USE IT! SEE CONOR FOR INFORMATION ABOUT COMMANDS TO USE.")
|
|
#ENDIF
|
|
BEGIN_SCALEFORM_MOVIE_METHOD(uiLeaderboard, "REMOVE_ALL")
|
|
END_SCALEFORM_MOVIE_METHOD()
|
|
ENDPROC
|
|
|
|
//INVALID NOW DO NOT USE!!!
|
|
PROC OUTLINE_SC_LEADERBOARD_SLOT(SCALEFORM_INDEX uiLeaderboard, SCLB_SECTIONS eSection, INT iSlotID, BOOL bIsOutlined)
|
|
#IF IS_DEBUG_BUILD
|
|
PRINTLN("THIS COMMAND IS NOT VALID DO NOT USE IT! SEE CONOR FOR INFORMATION ABOUT COMMANDS TO USE.")
|
|
SCRIPT_ASSERT("THIS COMMAND IS NOT VALID DO NOT USE IT! SEE CONOR FOR INFORMATION ABOUT COMMANDS TO USE.")
|
|
#ENDIF
|
|
BEGIN_SCALEFORM_MOVIE_METHOD(uiLeaderboard, "OUTLINE_SLOT")
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(ENUM_TO_INT(eSection))
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iSlotID)
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_BOOL(bIsOutlined)
|
|
END_SCALEFORM_MOVIE_METHOD()
|
|
ENDPROC
|
|
|
|
//INVALID NOW DO NOT USE!!!
|
|
PROC HIGHLIGHT_SC_LEADERBOARD_SLOT(SCALEFORM_INDEX uiLeaderboard, SCLB_SECTIONS eSection, INT iSlotID, BOOL bIsHighlighted)
|
|
#IF IS_DEBUG_BUILD
|
|
PRINTLN("THIS COMMAND IS NOT VALID DO NOT USE IT! SEE CONOR FOR INFORMATION ABOUT COMMANDS TO USE.")
|
|
SCRIPT_ASSERT("THIS COMMAND IS NOT VALID DO NOT USE IT! SEE CONOR FOR INFORMATION ABOUT COMMANDS TO USE.")
|
|
#ENDIF
|
|
BEGIN_SCALEFORM_MOVIE_METHOD(uiLeaderboard, "HIGHLIGHT_SLOT")
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(ENUM_TO_INT(eSection))
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iSlotID)
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_BOOL(bIsHighlighted)
|
|
END_SCALEFORM_MOVIE_METHOD()
|
|
ENDPROC
|
|
|
|
//INVALID NOW DO NOT USE!!!
|
|
PROC SET_SC_LEADERBOARD_SLOT_AS_SELECTED(SCALEFORM_INDEX uiLeaderboard, SCLB_SECTIONS eSection, INT iSlotID, BOOL bIsHighlighted)
|
|
#IF IS_DEBUG_BUILD
|
|
PRINTLN("THIS COMMAND IS NOT VALID DO NOT USE IT! SEE CONOR FOR INFORMATION ABOUT COMMANDS TO USE.")
|
|
SCRIPT_ASSERT("THIS COMMAND IS NOT VALID DO NOT USE IT! SEE CONOR FOR INFORMATION ABOUT COMMANDS TO USE.")
|
|
#ENDIF
|
|
BEGIN_SCALEFORM_MOVIE_METHOD(uiLeaderboard, "HIGHLIGHT_SLOT")
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(ENUM_TO_INT(eSection))
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iSlotID)
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_BOOL(bIsHighlighted)
|
|
END_SCALEFORM_MOVIE_METHOD()
|
|
ENDPROC
|
|
|
|
//INVALID NOW DO NOT USE!!!
|
|
PROC SET_SC_LEADERBOARD_HEADER(SCALEFORM_INDEX uiLeaderboard, SCLB_SECTIONS eSection, INT iHeaderID, SCLB_SLOT_LAYOUTS eLayout, STRING sCol1, STRING sCol2, STRING sCol3, STRING sCol4, SCLB_ICONS eIcon1=ICON_NONE, SCLB_ICONS eIcon2=ICON_NONE, SCLB_ICONS eIcon3=ICON_NONE, SCLB_ICONS eIcon4=ICON_NONE)
|
|
#IF IS_DEBUG_BUILD
|
|
PRINTLN("THIS COMMAND IS NOT VALID DO NOT USE IT! SEE CONOR FOR INFORMATION ABOUT COMMANDS TO USE.")
|
|
SCRIPT_ASSERT("THIS COMMAND IS NOT VALID DO NOT USE IT! SEE CONOR FOR INFORMATION ABOUT COMMANDS TO USE.")
|
|
#ENDIF
|
|
STRING sHeader = ""
|
|
SCLB_ICONS eHeaderIcon
|
|
NETWORK_CLAN_DESC clanDesc
|
|
TEXT_LABEL_63 sLiteralHeader
|
|
BOOL bLiteralHeader
|
|
IF eSection = SECTION_WORLD
|
|
IF eLayout > SLOT_LAYOUT_LABEL_NO_ICON
|
|
sHeader = "SCLB_GLOBAL"
|
|
ELSE
|
|
sHeader = "SCLB_NO_GLOBAL"
|
|
ENDIF
|
|
eHeaderIcon = ICON_WORLD_RANKING
|
|
ELIF eSection = SECTION_FRIEND
|
|
IF eLayout > SLOT_LAYOUT_LABEL_NO_ICON
|
|
sHeader = "SCLB_FRIENDS"
|
|
ELSE
|
|
sHeader = "SCLB_NO_FRNDS"
|
|
ENDIF
|
|
eHeaderIcon = ICON_FRIENDS
|
|
ELIF eSection = SECTION_CREW
|
|
IF eLayout > SLOT_LAYOUT_LABEL_NO_ICON
|
|
IF NETWORK_IS_SIGNED_ONLINE() AND NETWORK_CLAN_SERVICE_IS_VALID()
|
|
GAMER_HANDLE gamerHandle
|
|
gamerHandle = GET_GAMER_HANDLE_PLAYER(PLAYER_ID())
|
|
IF NETWORK_CLAN_PLAYER_IS_ACTIVE(gamerHandle)
|
|
NETWORK_CLAN_PLAYER_GET_DESC(clanDesc,SIZE_OF(clanDesc),gamerHandle)
|
|
IF NOT IS_STRING_NULL_OR_EMPTY(clanDesc.ClanName)
|
|
sHeader = "STRING"
|
|
sLiteralHeader = clanDesc.ClanName
|
|
bLiteralHeader = TRUE
|
|
ELSE
|
|
sHeader = "SCLB_CREW"
|
|
ENDIF
|
|
ELSE
|
|
sHeader = "SCLB_CREW"
|
|
ENDIF
|
|
ELSE
|
|
sHeader = "SCLB_CREW"
|
|
ENDIF
|
|
ELSE
|
|
IF NETWORK_IS_SIGNED_ONLINE() AND NETWORK_CLAN_SERVICE_IS_VALID()
|
|
GAMER_HANDLE gamerHandle
|
|
gamerHandle = GET_GAMER_HANDLE_PLAYER(PLAYER_ID())
|
|
IF NETWORK_CLAN_PLAYER_IS_ACTIVE(gamerHandle)
|
|
NETWORK_CLAN_PLAYER_GET_DESC(clanDesc,SIZE_OF(clanDesc),gamerHandle)
|
|
IF NOT IS_STRING_NULL_OR_EMPTY(clanDesc.ClanName)
|
|
sHeader = "SCLB_NO_CREWb"
|
|
sLiteralHeader = clanDesc.ClanName
|
|
bLiteralHeader = TRUE
|
|
ELSE
|
|
sHeader = "SCLB_NO_CREWc"
|
|
ENDIF
|
|
ELSE
|
|
sHeader = "SCLB_NO_CREWa"
|
|
ENDIF
|
|
ELSE
|
|
sHeader = "SCLB_NO_CREWa"
|
|
ENDIF
|
|
ENDIF
|
|
eHeaderIcon = ICON_CREW
|
|
ENDIF
|
|
BEGIN_SCALEFORM_MOVIE_METHOD(uiLeaderboard, "SET_HEADER")
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(ENUM_TO_INT(eSection)) // Tell the SF which kind of header this is
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iHeaderID) // Tell it which slot it appears in
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(ENUM_TO_INT(eLayout)) // Tell the SF how many columns we have
|
|
IF bLiteralHeader
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING(sHeader) // What the name of the header is
|
|
ADD_TEXT_COMPONENT_SUBSTRING_KEYBOARD_DISPLAY(sLiteralHeader)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ELSE
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING(sHeader) // What the name of the header is
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ENDIF
|
|
|
|
// Begin sending overload variables
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(ENUM_TO_INT(eHeaderIcon))
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING(sCol1)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(ENUM_TO_INT(eIcon1))
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING(sCol2)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(ENUM_TO_INT(eIcon2))
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING(sCol3)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(ENUM_TO_INT(eIcon3))
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING(sCol4)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(ENUM_TO_INT(eIcon4))
|
|
END_SCALEFORM_MOVIE_METHOD()
|
|
ENDPROC
|
|
|
|
//INVALID NOW DO NOT USE!!!
|
|
PROC SET_SC_LEADERBOARD_SLOT_0_COLUMNS(SCALEFORM_INDEX uiLeaderboard, SCLB_SECTIONS eSection, INT iSlotID, STRING sPlayer)
|
|
#IF IS_DEBUG_BUILD
|
|
PRINTLN("THIS COMMAND IS NOT VALID DO NOT USE IT! SEE CONOR FOR INFORMATION ABOUT COMMANDS TO USE.")
|
|
SCRIPT_ASSERT("THIS COMMAND IS NOT VALID DO NOT USE IT! SEE CONOR FOR INFORMATION ABOUT COMMANDS TO USE.")
|
|
#ENDIF
|
|
BEGIN_SCALEFORM_MOVIE_METHOD(uiLeaderboard, "SET_SLOT")
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(ENUM_TO_INT(eSection)) // Tell the SF what the section is
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iSlotID) // Tell the SF which slot to put the values in
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(ENUM_TO_INT(SLOT_LAYOUT_LABEL)) // Tell the SF which layout to use
|
|
|
|
// Begin sending overload variables
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRING")
|
|
ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(sPlayer)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
END_SCALEFORM_MOVIE_METHOD()
|
|
ENDPROC
|
|
|
|
//INVALID NOW DO NOT USE!!!
|
|
PROC SET_SC_LEADERBOARD_SLOT_1_COLUMNS(SCALEFORM_INDEX uiLeaderboard, SCLB_SECTIONS eSection, INT iSlotID, STRING sPlayer, TEXT_LABEL_15 texRank)
|
|
#IF IS_DEBUG_BUILD
|
|
PRINTLN("THIS COMMAND IS NOT VALID DO NOT USE IT! SEE CONOR FOR INFORMATION ABOUT COMMANDS TO USE.")
|
|
SCRIPT_ASSERT("THIS COMMAND IS NOT VALID DO NOT USE IT! SEE CONOR FOR INFORMATION ABOUT COMMANDS TO USE.")
|
|
#ENDIF
|
|
BEGIN_SCALEFORM_MOVIE_METHOD(uiLeaderboard, "SET_SLOT")
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(ENUM_TO_INT(eSection)) // Tell the SF what the section is
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iSlotID) // Tell the SF which slot to put the values in
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(ENUM_TO_INT(SLOT_LAYOUT_1_STATS)) // Tell the SF which layout to use
|
|
|
|
// Begin sending overload variables
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRING")
|
|
ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(sPlayer)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRING")
|
|
ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(texRank)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
END_SCALEFORM_MOVIE_METHOD()
|
|
ENDPROC
|
|
|
|
//INVALID NOW DO NOT USE!!!
|
|
PROC SET_SC_LEADERBOARD_SLOT_2_COLUMNS(SCALEFORM_INDEX uiLeaderboard, SCLB_SECTIONS eSection, INT iSlotID, STRING sPlayer, TEXT_LABEL_15 texRankingVal, TEXT_LABEL_15 texRank)
|
|
#IF IS_DEBUG_BUILD
|
|
PRINTLN("THIS COMMAND IS NOT VALID DO NOT USE IT! SEE CONOR FOR INFORMATION ABOUT COMMANDS TO USE.")
|
|
SCRIPT_ASSERT("THIS COMMAND IS NOT VALID DO NOT USE IT! SEE CONOR FOR INFORMATION ABOUT COMMANDS TO USE.")
|
|
#ENDIF
|
|
BEGIN_SCALEFORM_MOVIE_METHOD(uiLeaderboard, "SET_SLOT")
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(ENUM_TO_INT(eSection)) // Tell the SF what the section is
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iSlotID) // Tell the SF which slot to put the values in
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(ENUM_TO_INT(SLOT_LAYOUT_2_STATS)) // Tell the SF which layout to use
|
|
|
|
// Begin sending overload variables
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRING")
|
|
ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(sPlayer)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRING")
|
|
ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(texRankingVal)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRING")
|
|
ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(texRank)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
END_SCALEFORM_MOVIE_METHOD()
|
|
ENDPROC
|
|
|
|
//INVALID NOW DO NOT USE!!!
|
|
PROC SET_SC_LEADERBOARD_SLOT_3_COLUMNS(SCALEFORM_INDEX uiLeaderboard, SCLB_SECTIONS eSection, INT iSlotID, STRING sPlayer, TEXT_LABEL_15 texRankingVal, TEXT_LABEL_15 texMiddleText, TEXT_LABEL_15 texRank)
|
|
#IF IS_DEBUG_BUILD
|
|
PRINTLN("THIS COMMAND IS NOT VALID DO NOT USE IT! SEE CONOR FOR INFORMATION ABOUT COMMANDS TO USE.")
|
|
SCRIPT_ASSERT("THIS COMMAND IS NOT VALID DO NOT USE IT! SEE CONOR FOR INFORMATION ABOUT COMMANDS TO USE.")
|
|
#ENDIF
|
|
BEGIN_SCALEFORM_MOVIE_METHOD(uiLeaderboard, "SET_SLOT")
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(ENUM_TO_INT(eSection)) // Tell the SF what the section is
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iSlotID) // Tell the SF which slot to put the values in
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(ENUM_TO_INT(SLOT_LAYOUT_3_STATS)) // Tell the SF which layout to use
|
|
|
|
// Begin sending overload variables
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRING")
|
|
ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(sPlayer)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRING")
|
|
ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(texRankingVal)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRING")
|
|
ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(texMiddleText)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRING")
|
|
ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(texRank)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
END_SCALEFORM_MOVIE_METHOD()
|
|
ENDPROC
|
|
|
|
//INVALID NOW DO NOT USE!!!
|
|
PROC SET_SC_LEADERBOARD_SLOT_4_COLUMNS(SCALEFORM_INDEX uiLeaderboard, SCLB_SECTIONS eSection, INT iSlotID, STRING sPlayer, TEXT_LABEL_15 texRankingVal, TEXT_LABEL_15 texMiddleText1, TEXT_LABEL_15 texMiddleText2, TEXT_LABEL_15 texRank)
|
|
#IF IS_DEBUG_BUILD
|
|
PRINTLN("THIS COMMAND IS NOT VALID DO NOT USE IT! SEE CONOR FOR INFORMATION ABOUT COMMANDS TO USE.")
|
|
SCRIPT_ASSERT("THIS COMMAND IS NOT VALID DO NOT USE IT! SEE CONOR FOR INFORMATION ABOUT COMMANDS TO USE.")
|
|
#ENDIF
|
|
BEGIN_SCALEFORM_MOVIE_METHOD(uiLeaderboard, "SET_SLOT")
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(ENUM_TO_INT(eSection)) // Tell the SF what the section is
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iSlotID) // Tell the SF which slot to put the values in
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(ENUM_TO_INT(SLOT_LAYOUT_4_STATS)) // Tell the SF which layout to use
|
|
|
|
// Begin sending overload variables
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRING")
|
|
ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(sPlayer)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRING")
|
|
ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(texRankingVal)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRING")
|
|
ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(texMiddleText1)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRING")
|
|
ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(texMiddleText2)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRING")
|
|
ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(texRank)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
END_SCALEFORM_MOVIE_METHOD()
|
|
ENDPROC
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////// VALID COMMANDS BELOW //////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
/// PURPOSE:
|
|
/// For displaying SP Shooting Range weapon names
|
|
/// PARAMS:
|
|
/// iDataInt - Integer off the SP Range leaderboards, Range uploads a specific INT for each weapon
|
|
/// RETURNS:
|
|
/// WEAPON_TYPE based off the integer passed in
|
|
FUNC WEAPON_TYPE GET_RANGE_GUN_NAME_FROM_INT(INT iDataInt)
|
|
//CGtoNG only
|
|
IF iDataInt = 600
|
|
RETURN WEAPONTYPE_DLC_RAILGUN
|
|
|
|
ELIF iDataInt = 500
|
|
RETURN WEAPONTYPE_MINIGUN
|
|
|
|
ELIF iDataInt = 400
|
|
RETURN WEAPONTYPE_MG
|
|
ELIF iDataInt = 401
|
|
RETURN WEAPONTYPE_COMBATMG
|
|
ELIF iDataInt = 402
|
|
RETURN WEAPONTYPE_DLC_ASSAULTMG
|
|
|
|
ELIF iDataInt = 300
|
|
RETURN WEAPONTYPE_ASSAULTRIFLE
|
|
ELIF iDataInt = 301
|
|
RETURN WEAPONTYPE_CARBINERIFLE
|
|
ELIF iDataInt = 302
|
|
RETURN WEAPONTYPE_ADVANCEDRIFLE
|
|
ELIF iDataInt = 303
|
|
RETURN WEAPONTYPE_DLC_HEAVYRIFLE
|
|
|
|
ELIF iDataInt = 200
|
|
RETURN WEAPONTYPE_PUMPSHOTGUN
|
|
ELIF iDataInt = 201
|
|
RETURN WEAPONTYPE_SAWNOFFSHOTGUN
|
|
ELIF iDataInt = 202
|
|
RETURN WEAPONTYPE_ASSAULTSHOTGUN
|
|
ELIF iDataInt = 203
|
|
RETURN WEAPONTYPE_DLC_BULLPUPSHOTGUN
|
|
|
|
ELIF iDataInt = 100
|
|
RETURN WEAPONTYPE_MICROSMG
|
|
ELIF iDataInt = 101
|
|
RETURN WEAPONTYPE_SMG
|
|
ELIF iDataInt = 102
|
|
RETURN WEAPONTYPE_DLC_ASSAULTSMG
|
|
|
|
ELIF iDataInt = 0
|
|
RETURN WEAPONTYPE_PISTOL
|
|
ELIF iDataInt = 1
|
|
RETURN WEAPONTYPE_COMBATPISTOL
|
|
ELIF iDataInt = 2
|
|
RETURN WEAPONTYPE_APPISTOL
|
|
ELIF iDataInt = 3
|
|
RETURN WEAPONTYPE_DLC_PISTOL50
|
|
ENDIF
|
|
|
|
// Do I need to deal with WEAPONTYPE_DLC_SPECIALCARBINE in this function?
|
|
|
|
RETURN WEAPONTYPE_INVALID
|
|
ENDFUNC
|
|
|
|
|
|
/// PURPOSE:
|
|
/// Request the scaleform movie for drawing the SC leaderboard
|
|
/// RETURNS:
|
|
/// Scaleform index of the SC leaderboard movie
|
|
FUNC SCALEFORM_INDEX REQUEST_SC_LEADERBOARD_UI()
|
|
RETURN REQUEST_SCALEFORM_MOVIE("SC_LEADERBOARD")
|
|
ENDFUNC
|
|
|
|
/// PURPOSE:
|
|
/// Cleans up the SC leaderboard scaleform movie
|
|
/// PARAMS:
|
|
/// uiLeaderboard -
|
|
PROC CLEANUP_SC_LEADERBOARD_UI(SCALEFORM_INDEX uiLeaderboard)
|
|
SET_SCALEFORM_MOVIE_AS_NO_LONGER_NEEDED(uiLeaderboard)
|
|
ENDPROC
|
|
|
|
/// PURPOSE:
|
|
/// Draws the SC leaderboard movie to the screen
|
|
/// PARAMS:
|
|
/// uiLeaderboard -
|
|
PROC DISPLAY_SC_LEADERBOARD_UI(SCALEFORM_INDEX uiLeaderboard)
|
|
IF HAS_SCALEFORM_MOVIE_LOADED(uiLeaderboard)
|
|
DRAW_SCALEFORM_MOVIE_FULLSCREEN(uiLeaderboard,255, 255, 255, 0)
|
|
ELSE
|
|
PRINTLN("Unable to draw scaleform! It hasn't loaded into memory yet!")
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
|
|
///----------------------------------------------------
|
|
/// generic commands below so values don't have be structured first i.e. time values can be passed as ints
|
|
///----------------------------------------------------
|
|
|
|
/// PURPOSE:
|
|
/// Set the SC leaderboard title
|
|
/// PARAMS:
|
|
/// uiLeaderboard - scaleform index of the SC leaderboard
|
|
/// sTitle - Pass "SCLB_TITLE" for default string of "Social Club Leaderboard"
|
|
PROC SET_SC_LEADERBOARD_TITLE(SCALEFORM_INDEX uiLeaderboard, STRING sTitle)
|
|
BEGIN_SCALEFORM_MOVIE_METHOD(uiLeaderboard, "SET_TITLE")
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING(sTitle)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
END_SCALEFORM_MOVIE_METHOD()
|
|
ENDPROC
|
|
|
|
/// PURPOSE:
|
|
/// Sets the SC leaderboard display type
|
|
/// PARAMS:
|
|
/// uiLeaderboard - scaleform index of the SC leaderboard
|
|
/// eDisplayType - Sets display type between Minigame (2/3 of Script UI grid) and Multiplayer (Full Screen)
|
|
PROC SET_SC_LEADERBOARD_DISPLAY_TYPE(SCALEFORM_INDEX uiLeaderboard, DISPLAY_TYPES eDisplayType = DISPLAY_TYPE_MINIGAME)
|
|
BEGIN_SCALEFORM_MOVIE_METHOD(uiLeaderboard, "SET_DISPLAY_TYPE")
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(ENUM_TO_INT(eDisplayType))
|
|
END_SCALEFORM_MOVIE_METHOD()
|
|
ENDPROC
|
|
|
|
/// PURPOSE:
|
|
/// Used for the large panel title for Multiplayer Leaderboards
|
|
/// PARAMS:
|
|
/// uiLeaderboard - scaleform index of the SC leaderboard
|
|
/// sTitle - No default values.
|
|
PROC SET_SC_LEADERBOARD_MULTIPLAYER_TITLE(SCALEFORM_INDEX uiLeaderboard, STRING sTitle,STRING sDriverCoDriverString = NULL, STRING sSubString = NULL, BOOL bSubStringLiteral = TRUE, INT iLapParameter = -1)
|
|
PRINTLN("sTitle= ",sTitle)
|
|
PRINTLN("sDriverCoDriverString= ",sDriverCoDriverString)
|
|
PRINTLN("sSubString= ",sSubString)
|
|
BEGIN_SCALEFORM_MOVIE_METHOD(uiLeaderboard, "SET_MULTIPLAYER_TITLE")
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING(sTitle)
|
|
IF NOT IS_STRING_NULL_OR_EMPTY(sDriverCoDriverString)
|
|
ADD_TEXT_COMPONENT_SUBSTRING_TEXT_LABEL(sDriverCoDriverString)
|
|
ENDIF
|
|
IF iLapParameter = -1
|
|
IF bSubStringLiteral
|
|
IF NOT IS_STRING_NULL_OR_EMPTY(sSubString)
|
|
ADD_TEXT_COMPONENT_SUBSTRING_KEYBOARD_DISPLAY(sSubString)
|
|
ENDIF
|
|
ELSE
|
|
IF NOT IS_STRING_NULL_OR_EMPTY(sSubString)
|
|
ADD_TEXT_COMPONENT_SUBSTRING_TEXT_LABEL(sSubString)
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF bSubStringLiteral
|
|
IF NOT IS_STRING_NULL_OR_EMPTY(sSubString)
|
|
ADD_TEXT_COMPONENT_SUBSTRING_KEYBOARD_DISPLAY(sSubString)
|
|
ENDIF
|
|
ELSE
|
|
IF NOT IS_STRING_NULL_OR_EMPTY(sSubString)
|
|
ADD_TEXT_COMPONENT_SUBSTRING_TEXT_LABEL(sSubString)
|
|
ENDIF
|
|
ENDIF
|
|
ADD_TEXT_COMPONENT_INTEGER(iLapParameter)
|
|
ENDIF
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
END_SCALEFORM_MOVIE_METHOD()
|
|
ENDPROC
|
|
|
|
/// PURPOSE:
|
|
/// Set the titles of the columns
|
|
/// PARAMS:
|
|
/// uiLeaderboard - scaleform index of the SC leaderboard
|
|
/// tl23_Position - Position title
|
|
/// ColumnTitles - Title for each column
|
|
/// iColumns - Number of columns
|
|
PROC SET_SC_LEADERBOARD_COLUMN_TITLES(SCALEFORM_INDEX uiLeaderboard,STRING tl23_Position, TEXT_LABEL_23 &ColumnTitles[], INT iColumns)
|
|
BEGIN_SCALEFORM_MOVIE_METHOD(uiLeaderboard, "SET_TITLE")
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING(tl23_Position)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
INT i
|
|
REPEAT iColumns i
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING(ColumnTitles[i])
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ENDREPEAT
|
|
END_SCALEFORM_MOVIE_METHOD()
|
|
ENDPROC
|
|
|
|
/// PURPOSE:
|
|
/// Sets the header of a give section
|
|
/// PARAMS:
|
|
/// uiLeaderboard - scaleform index of the SC leaderboard
|
|
/// iSlotID - overall row on board
|
|
/// iSlotState - type of row
|
|
/// bEmpty - to indicate this section is empty and needs a text description for next row
|
|
PROC SET_SC_LEADERBOARD_SECTION_HEADER(SCALEFORM_INDEX uiLeaderboard,INT& iSlotID, INT iSlotStateValue, BOOL bEmpty, BOOL bNoOnlinePrivileges = FALSE)
|
|
STRING sHeader = ""
|
|
NETWORK_CLAN_DESC clanDesc
|
|
TEXT_LABEL_63 sLiteralHeader
|
|
BOOL bLiteralHeader
|
|
PRINTLN("SET_SC_LEADERBOARD_SECTION_HEADER: iSlotID: ", iSlotID)
|
|
PRINTLN("SET_SC_LEADERBOARD_SECTION_HEADER: iSlotStateValue: ", iSlotStateValue)
|
|
PRINTLN("SET_SC_LEADERBOARD_SECTION_HEADER: bEmpty: ", bEmpty)
|
|
PRINTLN("SET_SC_LEADERBOARD_SECTION_HEADER: bNoOnlinePrivileges: ",bNoOnlinePrivileges)
|
|
IF IS_BIT_SET(iSlotStateValue, SCLB_SLOT_STATE_BIT_WORLD)
|
|
//IF NOT bEmpty
|
|
sHeader = "SCLB_GLOBAL"
|
|
//ELSE
|
|
// sHeader = "SCLB_NO_GLOBAL"
|
|
//ENDIF
|
|
ELIF IS_BIT_SET(iSlotStateValue, SCLB_SLOT_STATE_BIT_FRIENDS)
|
|
iSlotID++
|
|
//IF NOT bEmpty
|
|
sHeader = "SCLB_FRIENDS"
|
|
//ELSE
|
|
// sHeader = "SCLB_NO_FRNDS"
|
|
//ENDIF
|
|
ELIF IS_BIT_SET(iSlotStateValue, SCLB_SLOT_STATE_BIT_CREW)
|
|
iSlotID++
|
|
//IF NOT bEmpty
|
|
IF NETWORK_IS_SIGNED_ONLINE() AND NETWORK_CLAN_SERVICE_IS_VALID()
|
|
IF (IS_PLAYSTATION_PLATFORM() OR IS_XBOX_PLATFORM())
|
|
AND NOT NETWORK_HAVE_USER_CONTENT_PRIVILEGES()
|
|
sHeader = "SCLB_CREW"
|
|
ELSE
|
|
GAMER_HANDLE gamerHandle
|
|
gamerHandle = GET_GAMER_HANDLE_PLAYER(PLAYER_ID())
|
|
IF NETWORK_CLAN_PLAYER_IS_ACTIVE(gamerHandle)
|
|
NETWORK_CLAN_PLAYER_GET_DESC(clanDesc,SIZE_OF(clanDesc),gamerHandle)
|
|
IF NOT IS_STRING_NULL_OR_EMPTY(clanDesc.ClanName)
|
|
sHeader = "STRING"
|
|
sLiteralHeader = clanDesc.ClanName
|
|
bLiteralHeader = TRUE
|
|
ELSE
|
|
sHeader = "SCLB_CREW"
|
|
ENDIF
|
|
ELSE
|
|
sHeader = "SCLB_CREW"
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
sHeader = "SCLB_CREW"
|
|
ENDIF
|
|
// ELSE
|
|
// IF NETWORK_IS_SIGNED_ONLINE() AND NETWORK_CLAN_SERVICE_IS_VALID()
|
|
// GAMER_HANDLE gamerHandle
|
|
// gamerHandle = GET_GAMER_HANDLE_PLAYER(PLAYER_ID())
|
|
// IF NETWORK_CLAN_PLAYER_IS_ACTIVE(gamerHandle)
|
|
// NETWORK_CLAN_PLAYER_GET_DESC(clanDesc,SIZE_OF(clanDesc),gamerHandle)
|
|
// IF NOT IS_STRING_NULL_OR_EMPTY(clanDesc.ClanName)
|
|
// sHeader = "SCLB_NO_CREWb"
|
|
// sLiteralHeader = clanDesc.ClanName
|
|
// bLiteralHeader = TRUE
|
|
// ELSE
|
|
// sHeader = "SCLB_NO_CREWc"
|
|
// ENDIF
|
|
// ELSE
|
|
// sHeader = "SCLB_NO_CREWa"
|
|
// ENDIF
|
|
// ELSE
|
|
// sHeader = "SCLB_NO_CREWa"
|
|
// ENDIF
|
|
// ENDIF
|
|
ENDIF
|
|
BEGIN_SCALEFORM_MOVIE_METHOD(uiLeaderboard, "SET_SLOT")
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iSlotID)
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iSlotStateValue)
|
|
IF bLiteralHeader
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING(sHeader) // What the name of the header is
|
|
ADD_TEXT_COMPONENT_SUBSTRING_KEYBOARD_DISPLAY(sLiteralHeader)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ELSE
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING(sHeader) // What the name of the header is
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ENDIF
|
|
END_SCALEFORM_MOVIE_METHOD()
|
|
iSlotID++
|
|
IF bNoOnlinePrivileges
|
|
INT iTempSlotValue = 0
|
|
SET_BIT(iTempSlotValue ,SCLB_SLOT_STATE_BIT_DESCRIPTION )
|
|
BEGIN_SCALEFORM_MOVIE_METHOD(uiLeaderboard, "SET_SLOT")
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iSlotID)
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iTempSlotValue )
|
|
IF NOT NETWORK_IS_SIGNED_ONLINE()
|
|
|
|
//IF IS_XBOX360_VERSION()
|
|
sHeader = "SCLB_NOT_ONL"
|
|
//ELIF IS_PS3_VERSION()
|
|
//OR IS_PLAYSTATION_PLATFORM()
|
|
// sHeader = "SCLB_NOT_ONLPS3"
|
|
//ENDIF
|
|
ELSE
|
|
IF NOT NETWORK_HAS_VALID_ROS_CREDENTIALS()
|
|
sHeader = "SCLB_NO_ROS"
|
|
ELSE
|
|
IF scLB_DisplayedData.iReadFailedBS != 0
|
|
sHeader = "SCLB_READ_FAIL"
|
|
ELSE
|
|
sHeader = "HUD_PERM"
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING(sHeader) // What the name of the header is
|
|
END_TEXT_COMMAND_UNPARSED_SCALEFORM_STRING()
|
|
END_SCALEFORM_MOVIE_METHOD()
|
|
iSlotID++
|
|
ELSE
|
|
IF bEmpty
|
|
IF IS_BIT_SET(iSlotStateValue, SCLB_SLOT_STATE_BIT_WORLD)
|
|
//IF NOT bEmpty
|
|
// sHeader = "SCLB_GLOBAL"
|
|
//ELSE
|
|
sHeader = "SCLB_NO_GLOBAL"
|
|
//ENDIF
|
|
ELIF IS_BIT_SET(iSlotStateValue, SCLB_SLOT_STATE_BIT_FRIENDS)
|
|
//iSlotState = SCLB_SLOT_STATE_FRIENDS
|
|
//IF NOT bEmpty
|
|
// sHeader = "SCLB_FRIENDS"
|
|
//ELSE
|
|
IF NETWORK_GET_FRIEND_COUNT() > 0
|
|
sHeader = "SCLB_NO_FRNDS"
|
|
ELSE
|
|
sHeader = "SCLB_NO_FRNDSb"
|
|
ENDIF
|
|
//ENDIF
|
|
ELIF IS_BIT_SET(iSlotStateValue, SCLB_SLOT_STATE_BIT_CREW)
|
|
//iSlotState = SCLB_SLOT_STATE_CREW
|
|
// IF NOT bEmpty
|
|
// IF NETWORK_IS_SIGNED_ONLINE() AND NETWORK_CLAN_SERVICE_IS_VALID()
|
|
// GAMER_HANDLE gamerHandle
|
|
// gamerHandle = GET_GAMER_HANDLE_PLAYER(PLAYER_ID())
|
|
// IF NETWORK_CLAN_PLAYER_IS_ACTIVE(gamerHandle)
|
|
// NETWORK_CLAN_PLAYER_GET_DESC(clanDesc,SIZE_OF(clanDesc),gamerHandle)
|
|
// IF NOT IS_STRING_NULL_OR_EMPTY(clanDesc.ClanName)
|
|
// sHeader = "STRING"
|
|
// sLiteralHeader = clanDesc.ClanName
|
|
// bLiteralHeader = TRUE
|
|
// ELSE
|
|
// sHeader = "SCLB_CREW"
|
|
// ENDIF
|
|
// ELSE
|
|
// sHeader = "SCLB_CREW"
|
|
// ENDIF
|
|
// ELSE
|
|
// sHeader = "SCLB_CREW"
|
|
// ENDIF
|
|
// ELSE
|
|
IF NETWORK_HAS_SOCIAL_CLUB_ACCOUNT()
|
|
IF NETWORK_ARE_SOCIAL_CLUB_POLICIES_CURRENT()
|
|
IF NETWORK_IS_SIGNED_ONLINE() AND NETWORK_CLAN_SERVICE_IS_VALID()
|
|
IF (IS_PLAYSTATION_PLATFORM() OR IS_XBOX_PLATFORM())
|
|
AND NOT NETWORK_HAVE_USER_CONTENT_PRIVILEGES()
|
|
sHeader = "SCLB_NO_CREWc"
|
|
ELSE
|
|
GAMER_HANDLE gamerHandle
|
|
gamerHandle = GET_GAMER_HANDLE_PLAYER(PLAYER_ID())
|
|
IF NETWORK_CLAN_PLAYER_IS_ACTIVE(gamerHandle)
|
|
NETWORK_CLAN_PLAYER_GET_DESC(clanDesc,SIZE_OF(clanDesc),gamerHandle)
|
|
IF NOT IS_STRING_NULL_OR_EMPTY(clanDesc.ClanName)
|
|
sHeader = "SCLB_NO_CREWb"
|
|
sLiteralHeader = clanDesc.ClanName
|
|
bLiteralHeader = TRUE
|
|
ELSE
|
|
sHeader = "SCLB_NO_CREWc"
|
|
ENDIF
|
|
ELSE
|
|
sHeader = "SCLB_NO_CREWa"
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
sHeader = "SCLB_NO_CREWa"
|
|
ENDIF
|
|
ELSE
|
|
sHeader = "SCLB_NO_CREWe"
|
|
ENDIF
|
|
ELSE
|
|
sHeader = "SCLB_NO_CREWd"
|
|
ENDIF
|
|
//ENDIF
|
|
ENDIF
|
|
INT iTempSlotValue = 0
|
|
SET_BIT(iTempSlotValue ,SCLB_SLOT_STATE_BIT_DESCRIPTION )
|
|
BEGIN_SCALEFORM_MOVIE_METHOD(uiLeaderboard, "SET_SLOT")
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iSlotID)
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iTempSlotValue )
|
|
IF bLiteralHeader
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING(sHeader) // What the name of the header is
|
|
ADD_TEXT_COMPONENT_SUBSTRING_KEYBOARD_DISPLAY(sLiteralHeader)
|
|
END_TEXT_COMMAND_UNPARSED_SCALEFORM_STRING()
|
|
ELSE
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING(sHeader) // What the name of the header is
|
|
END_TEXT_COMMAND_UNPARSED_SCALEFORM_STRING()
|
|
ENDIF
|
|
END_SCALEFORM_MOVIE_METHOD()
|
|
iSlotID++
|
|
ENDIF
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
/// PURPOSE:
|
|
/// Set a text only line on leaderboard
|
|
/// PARAMS:
|
|
/// uiLeaderboard - scaleform index of the SC leaderboard
|
|
/// iSlotID - overall row on board
|
|
/// iSlotState - bitfield defining the type of row
|
|
/// sDescription - the text labelf of the text to display
|
|
PROC SET_SC_LEADERBOARD_SLOT_TEXT_DESCRIPTION_ONLY(SCALEFORM_INDEX uiLeaderboard,INT iSlotID, INT iCurrentSlotState,STRING sDescription)//,INT iColumns)
|
|
SET_BIT(iCurrentSlotState ,SCLB_SLOT_STATE_BIT_DESCRIPTION )
|
|
BEGIN_SCALEFORM_MOVIE_METHOD(uiLeaderboard, "SET_SLOT")
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iSlotID)
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iCurrentSlotState)
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING(sDescription)
|
|
END_TEXT_COMMAND_UNPARSED_SCALEFORM_STRING()
|
|
END_SCALEFORM_MOVIE_METHOD()
|
|
ENDPROC
|
|
|
|
/// PURPOSE:
|
|
/// To override the state of a particular slot i.e. hightlight a slow without changing data
|
|
/// PARAMS:
|
|
/// uiLeaderboard - scaleform index of the SC leaderboard
|
|
/// iSlotID - overall row on board
|
|
/// iSlotState - bitfield defining the type of row
|
|
PROC SET_SC_LEADERBOARD_SLOT_FINAL_STATE(SCALEFORM_INDEX uiLeaderboard,INT iSlotID, INT iSlotStateValue)
|
|
BEGIN_SCALEFORM_MOVIE_METHOD(uiLeaderboard, "SET_SLOT_STATE")
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iSlotID)
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iSlotStateValue)
|
|
END_SCALEFORM_MOVIE_METHOD()
|
|
ENDPROC
|
|
|
|
/// PURPOSE:
|
|
/// Starts a row on a leaderboard
|
|
/// PARAMS:
|
|
/// uiLeaderboard - scaleform index of the SC leaderboard
|
|
/// iSlotID - overall row on board
|
|
/// iSlotState - bitfield defining the type of row
|
|
/// iPosition - the rank of this p
|
|
/// playerName - the name of the player for this row
|
|
/// crewTag - the crew tag of the player in this row
|
|
PROC START_SC_LEADERBOARD_SLOT(SCALEFORM_INDEX uiLeaderboard,INT iSlotID, INT iSlotStateValue, INT iPosition,
|
|
STRING playerName,STRING crewTag)
|
|
BEGIN_SCALEFORM_MOVIE_METHOD(uiLeaderboard, "SET_SLOT")
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iSlotID)
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(iSlotStateValue)
|
|
IF iPosition > 0
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("NUMBER")
|
|
ADD_TEXT_COMPONENT_INTEGER(iPosition)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ELSE
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("SC_LB_EMPTY")
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ENDIF
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_PLAYER_NAME_STRING(playerName)
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_PLAYER_NAME_STRING(crewTag)
|
|
//END_SCALEFORM_MOVIE_METHOD()
|
|
ENDPROC
|
|
/// PURPOSE:
|
|
/// Adds a float to the row begun with START_SC_LEADERBOARD_SLO
|
|
/// PARAMS:
|
|
/// displaySetup - the display setup details
|
|
/// iIndex - index of value in the display setup
|
|
/// fDataFloat - the float value
|
|
/// bValidData - true if this is a valid row versus empty data (local player always has a row it is filled with invalid data if there is no data for them)
|
|
PROC ADD_SC_LEADERBOARD_COLUMN_DATA_FLOAT(SC_LEADERBOARD_DISPLAY_SETUP displaySetup, INT iIndex, FLOAT fDataFloat, BOOL bValidData)
|
|
// IF fDataFloat = HIGHEST_FLOAT
|
|
// PRINTLN("ADD_SC_LEADERBOARD_COLUMN_DATA_FLOAT- Highest int setting invalid data")
|
|
// bValidData = FALSE
|
|
// ENDIF
|
|
SWITCH INT_TO_ENUM(SCLB_DATA_TYPE,displaySetup.iColumnDisplayType[iIndex])
|
|
CASE SCLB_DATA_TYPE_FLOAT
|
|
IF bValidData
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("NUMBER")
|
|
ADD_TEXT_COMPONENT_FLOAT(fDataFloat,2)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ELSE
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("SC_LB_EMPTY")
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ENDIF
|
|
BREAK
|
|
CASE SCLB_DATA_TYPE_FLOAT_TO_INT
|
|
IF bValidData
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("NUMBER")
|
|
ADD_TEXT_COMPONENT_INTEGER(FLOOR(fDataFloat))
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ELSE
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("SC_LB_EMPTY")
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ENDIF
|
|
BREAK
|
|
CASE SCLB_DATA_TYPE_FLOAT_DIST_WITH_CONV_FT
|
|
CASE SCLB_DATA_TYPE_FLOAT_DIST_WITH_CONV_MILE
|
|
CASE SCLB_DATA_TYPE_FLOAT_DIST_WITH_CONV_FT_NEG_B4_DIS
|
|
CASE SCLB_DATA_TYPE_FLOAT_DIST_WITH_CONV_MILE_NEG_B4_DIS
|
|
IF bValidData
|
|
IF INT_TO_ENUM(SCLB_DATA_TYPE,displaySetup.iColumnDisplayType[iIndex]) = SCLB_DATA_TYPE_FLOAT_DIST_WITH_CONV_FT_NEG_B4_DIS
|
|
OR INT_TO_ENUM(SCLB_DATA_TYPE,displaySetup.iColumnDisplayType[iIndex]) = SCLB_DATA_TYPE_FLOAT_DIST_WITH_CONV_MILE_NEG_B4_DIS
|
|
fDataFloat = fDataFloat*-1
|
|
ENDIF
|
|
IF NOT SHOULD_USE_METRIC_MEASUREMENTS()
|
|
IF INT_TO_ENUM(SCLB_DATA_TYPE,displaySetup.iColumnDisplayType[iIndex]) = SCLB_DATA_TYPE_FLOAT_DIST_WITH_CONV_MILE
|
|
OR INT_TO_ENUM(SCLB_DATA_TYPE,displaySetup.iColumnDisplayType[iIndex]) = SCLB_DATA_TYPE_FLOAT_DIST_WITH_CONV_MILE_NEG_B4_DIS
|
|
fDataFloat = CONVERT_METERS_TO_MILES(fDataFloat)
|
|
ELSE
|
|
fDataFloat = CONVERT_METERS_TO_FEET(fDataFloat)
|
|
ENDIF
|
|
ENDIF
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("NUMBER")
|
|
ADD_TEXT_COMPONENT_FLOAT(fDataFloat,2)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ELSE
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("SC_LB_EMPTY")
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE SCLB_DATA_TYPE_NONE
|
|
//nothing
|
|
BREAK
|
|
ENDSWITCH
|
|
ENDPROC
|
|
|
|
FUNC TEXT_LABEL_15 GET_ARENA_SKILL_LEVEL_TITLE_FOR_SCLB(INT iLevel)
|
|
TEXT_LABEL_15 tlReturn = "ARENA_C_SL"
|
|
|
|
IF iLevel > ciARENA_SKILL_LEVEL_MAX
|
|
tlReturn = "**INVALID**"
|
|
RETURN tlReturn
|
|
ENDIF
|
|
|
|
IF iLevel < 0
|
|
iLevel = 0
|
|
ENDIF
|
|
|
|
tlReturn += iLevel
|
|
|
|
RETURN tlReturn
|
|
ENDFUNC
|
|
|
|
/// PURPOSE:
|
|
/// Adds a int to the row begun with START_SC_LEADERBOARD_SLO
|
|
/// PARAMS:
|
|
/// displaySetup - the display setup details
|
|
/// iIndex - index of value in the display setup
|
|
/// iDataInt - the value of the int
|
|
/// bValidData - true if this is a valid row versus empty data (local player always has a row it is filled with invalid data if there is no data for them)
|
|
/// bCustomCar - true if the data repersents a custom car
|
|
PROC ADD_SC_LEADERBOARD_COLUMN_DATA_INT(SC_LEADERBOARD_DISPLAY_SETUP displaySetup, INT iIndex,INT iDataInt, BOOL bValidData, BOOL bCustomCar = FALSE)
|
|
IF iDataInt = HIGHEST_INT
|
|
OR iDataInt = -HIGHEST_INT
|
|
PRINTLN("ADD_SC_LEADERBOARD_COLUMN_DATA_INT- Highest int setting invalid data")
|
|
bValidData = FALSE
|
|
ENDIF
|
|
TEXT_LABEL_15 tlReturn = ""
|
|
|
|
SWITCH INT_TO_ENUM(SCLB_DATA_TYPE,displaySetup.iColumnDisplayType[iIndex])
|
|
CASE SCLB_DATA_TYPE_INT
|
|
IF bValidData
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("NUMBER")
|
|
ADD_TEXT_COMPONENT_INTEGER(iDataInt)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ELSE
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("SC_LB_EMPTY")
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ENDIF
|
|
BREAK
|
|
CASE SCLB_DATA_TYPE_INT_NEG_B4_DIS
|
|
IF bValidData
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("NUMBER")
|
|
ADD_TEXT_COMPONENT_INTEGER(-iDataInt)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ELSE
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("SC_LB_EMPTY")
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE SCLB_DATA_TYPE_TIME
|
|
CASE SCLB_DATA_TYPE_TIME_NO_MS
|
|
CASE SCLB_DATA_TYPE_TIME_POSITIVE
|
|
IF bValidData
|
|
IF INT_TO_ENUM(SCLB_DATA_TYPE,displaySetup.iColumnDisplayType[iIndex]) = SCLB_DATA_TYPE_TIME_POSITIVE
|
|
AND iDataInt < 0
|
|
iDataInt = iDataInt*-1
|
|
ENDIF
|
|
IF iDataInt >= 1000*60*60 //if time is over an hr only should minutes/sec
|
|
OR iDataInt <= -1000*60*60
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRING")
|
|
ADD_TEXT_COMPONENT_SUBSTRING_TIME(iDataInt,TIME_FORMAT_HOURS|TIME_FORMAT_MINUTES|TIME_FORMAT_SECONDS)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ELIF INT_TO_ENUM(SCLB_DATA_TYPE,displaySetup.iColumnDisplayType[iIndex]) = SCLB_DATA_TYPE_TIME_NO_MS
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRING")
|
|
ADD_TEXT_COMPONENT_SUBSTRING_TIME(iDataInt,TIME_FORMAT_MINUTES|TIME_FORMAT_SECONDS)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ELSE
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRING")
|
|
ADD_TEXT_COMPONENT_SUBSTRING_TIME(iDataInt,TIME_FORMAT_MINUTES|TIME_FORMAT_SECONDS|TIME_FORMAT_MILLISECONDS|TEXT_FORMAT_USE_DOT_FOR_MILLISECOND_DIVIDER)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ENDIF
|
|
ELSE
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("SC_LB_EMPTY")
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE SCLB_DATA_TYPE_GOLD_TIME
|
|
IF bValidData
|
|
IF (iDataInt = HIGHEST_INT)
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("SC_LB_EMPTY")
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ELIF iDataInt >= 1000*60*60 //if time is over an hr only should minutes/sec
|
|
OR iDataInt <= -1000*60*60
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRING")
|
|
ADD_TEXT_COMPONENT_SUBSTRING_TIME(iDataInt,TIME_FORMAT_HOURS|TIME_FORMAT_MINUTES|TIME_FORMAT_SECONDS)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ELSE
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRING")
|
|
ADD_TEXT_COMPONENT_SUBSTRING_TIME(iDataInt,TIME_FORMAT_MINUTES|TIME_FORMAT_SECONDS|TIME_FORMAT_MILLISECONDS|TEXT_FORMAT_USE_DOT_FOR_MILLISECOND_DIVIDER)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ENDIF
|
|
ELSE
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("SC_LB_EMPTY")
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE SCLB_DATA_TYPE_TIME_NEG_B4_DIS
|
|
CASE SCLB_DATA_TYPE_TIME_NEG_B4_DIS_NO_MS
|
|
IF bValidData
|
|
iDataInt = iDataInt*-1
|
|
IF iDataInt >= 1000*60*60 //if time is over an hr only should minutes/sec
|
|
OR iDataInt <= -1000*60*60
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRING")
|
|
ADD_TEXT_COMPONENT_SUBSTRING_TIME(iDataInt,TIME_FORMAT_HOURS|TIME_FORMAT_MINUTES|TIME_FORMAT_SECONDS)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ELIF INT_TO_ENUM(SCLB_DATA_TYPE,displaySetup.iColumnDisplayType[iIndex]) = SCLB_DATA_TYPE_TIME_NEG_B4_DIS_NO_MS
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRING")
|
|
ADD_TEXT_COMPONENT_SUBSTRING_TIME(iDataInt,TIME_FORMAT_MINUTES|TIME_FORMAT_SECONDS)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ELSE
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRING")
|
|
ADD_TEXT_COMPONENT_SUBSTRING_TIME(iDataInt,TIME_FORMAT_MINUTES|TIME_FORMAT_SECONDS|TIME_FORMAT_MILLISECONDS|TEXT_FORMAT_USE_DOT_FOR_MILLISECOND_DIVIDER)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ENDIF
|
|
ELSE
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("SC_LB_EMPTY")
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ENDIF
|
|
BREAK
|
|
CASE SCLB_DATA_TYPE_VEHICLE
|
|
//PRINTLN("Car ID 1 = ",iDataInt)
|
|
IF bCustomCar
|
|
IF IS_MODEL_IN_CDIMAGE(INT_TO_ENUM(MODEL_NAMES,iDataInt))
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("SCLB_VEH_CUST")
|
|
ADD_TEXT_COMPONENT_SUBSTRING_TEXT_LABEL(GET_DISPLAY_NAME_FROM_VEHICLE_MODEL(INT_TO_ENUM(MODEL_NAMES,iDataInt)))
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ELSE
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("SC_LB_EMPTY")
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ENDIF
|
|
ELSE
|
|
IF IS_MODEL_IN_CDIMAGE(INT_TO_ENUM(MODEL_NAMES,iDataInt))
|
|
//PRINTLN("Car Name = ", GET_STRING_FROM_TEXT_FILE(GET_DISPLAY_NAME_FROM_VEHICLE_MODEL(INT_TO_ENUM(MODEL_NAMES,iDataInt))) )
|
|
//PRINTLN("Car ID = ",iDataInt)
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING(GET_DISPLAY_NAME_FROM_VEHICLE_MODEL(INT_TO_ENUM(MODEL_NAMES,iDataInt)))
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ELSE
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("SC_LB_EMPTY")
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
CASE SCLB_DATA_TYPE_GUN
|
|
IF GET_RANGE_GUN_NAME_FROM_INT(iDataInt) != WEAPONTYPE_INVALID
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING(GET_WEAPON_NAME(GET_RANGE_GUN_NAME_FROM_INT(iDataInt)))
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ELSE
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("SC_LB_EMPTY")
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE SCLB_DATA_TYPE_INT_DIST_WITH_CONV_FT
|
|
CASE SCLB_DATA_TYPE_INT_DIST_WITH_CONV_MILE
|
|
CASE SCLB_DATA_TYPE_INT_DIST_WITH_CONV_FT_NEG_B4_DIS
|
|
CASE SCLB_DATA_TYPE_INT_DIST_WITH_CONV_MILE_NEG_B4_DIS
|
|
IF bValidData
|
|
IF INT_TO_ENUM(SCLB_DATA_TYPE,displaySetup.iColumnDisplayType[iIndex]) = SCLB_DATA_TYPE_INT_DIST_WITH_CONV_FT_NEG_B4_DIS
|
|
OR INT_TO_ENUM(SCLB_DATA_TYPE,displaySetup.iColumnDisplayType[iIndex]) = SCLB_DATA_TYPE_INT_DIST_WITH_CONV_MILE_NEG_B4_DIS
|
|
iDataInt = iDataInt*-1
|
|
ENDIF
|
|
IF NOT SHOULD_USE_METRIC_MEASUREMENTS()
|
|
IF INT_TO_ENUM(SCLB_DATA_TYPE,displaySetup.iColumnDisplayType[iIndex]) = SCLB_DATA_TYPE_INT_DIST_WITH_CONV_MILE
|
|
OR INT_TO_ENUM(SCLB_DATA_TYPE,displaySetup.iColumnDisplayType[iIndex]) = SCLB_DATA_TYPE_INT_DIST_WITH_CONV_MILE_NEG_B4_DIS
|
|
iDataInt = FLOOR(CONVERT_METERS_TO_MILES(TO_FLOAT(iDataInt)))
|
|
ELSE
|
|
iDataInt = FLOOR(CONVERT_METERS_TO_FEET(TO_FLOAT(iDataInt)))
|
|
ENDIF
|
|
ENDIF
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("NUMBER")
|
|
ADD_TEXT_COMPONENT_INTEGER(iDataInt)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ELSE
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("SC_LB_EMPTY")
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ENDIF
|
|
BREAK
|
|
CASE SCLB_DATA_TYPE_ARENA_TITLE
|
|
IF iDataInt > ciARENA_SKILL_LEVEL_MAX
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("SC_LB_EMPTY")
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ELSE
|
|
tlReturn = GET_ARENA_SKILL_LEVEL_TITLE_FOR_SCLB(iDataInt)
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING(tlReturn)
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ENDIF
|
|
BREAK
|
|
CASE SCLB_DATA_TYPE_CC_MEMBER_RANK
|
|
IF bValidData
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("NUMBER")
|
|
ADD_TEXT_COMPONENT_INTEGER(GET_CAR_CLUB_REP_TIER(iDataInt))
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ELSE
|
|
BEGIN_TEXT_COMMAND_SCALEFORM_STRING("SC_LB_EMPTY")
|
|
END_TEXT_COMMAND_SCALEFORM_STRING()
|
|
ENDIF
|
|
BREAK
|
|
CASE SCLB_DATA_TYPE_NONE
|
|
//nothing
|
|
BREAK
|
|
ENDSWITCH
|
|
ENDPROC
|
|
//// PURPOSE:
|
|
/// Indicates you have written all data you need to slot started with START_SC_LEADERBOARD_SLOT
|
|
PROC STOP_SC_LEADERBOARD_SLOT()
|
|
END_SCALEFORM_MOVIE_METHOD()
|
|
ENDPROC
|
|
|
|
|
|
//EOF
|