1454 lines
48 KiB
XML
Executable File
1454 lines
48 KiB
XML
Executable File
USING "arcade_cabinet_minigame_common.sch"
|
|
USING "arcade_games_sound.sch"
|
|
USING "arcade_games_help_text.sch"
|
|
|
|
// ------------------------------ LEADERBOARD ------------------------------
|
|
|
|
CONST_INT ciARCADE_GAMES_LBD_DEFAULT_RANK 99
|
|
CONST_INT ciARCADE_GAMES_RESEND_LEADERBOARD_REQUEST_TIME 300000
|
|
|
|
|
|
STRUCT ARCADE_GAMES_LEADERBOARD_STRUCT
|
|
|
|
INT iInitials = 0
|
|
INT iScore = -1
|
|
BOOL bPlayer = FALSE
|
|
|
|
ENDSTRUCT
|
|
|
|
STRUCT ARCADE_GAMES_LEADERBOARD_DATA
|
|
ARCADE_GAMES_LEADERBOARD_STRUCT sLeaderboard[ciCASINO_ARCADE_LEADERBOARD_POSITIONS]
|
|
CASINO_ARCADE_GAME eGame
|
|
|
|
BOOL bLeaderboardReceived
|
|
BOOL bEditing = FALSE
|
|
BOOL bCheated = FALSE
|
|
|
|
INT iLastLeaderboardRequest = -HIGHEST_INT
|
|
INT iLocalLbdPos = -1
|
|
INT iCurrentInitial = 0
|
|
INT iInitials = 0
|
|
INT iLbdInitialProfanityToken = 0
|
|
INT iTickTimer = 0
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
BOOL bForceDefaultLeaderboard
|
|
#ENDIF
|
|
ENDSTRUCT
|
|
|
|
ARCADE_GAMES_LEADERBOARD_DATA sAGLeaderboardData
|
|
|
|
FUNC CASINO_ARCADE_GAME ARCADE_GAMES_LEADERBOARD_GET_CASINO_ARCADE_GAME()
|
|
RETURN sAGLeaderboardData.eGame
|
|
ENDFUNC
|
|
|
|
FUNC STRING ARCADE_GAMES_GAME_NAME_TO_STRING(CASINO_ARCADE_GAME eEnum)
|
|
SWITCH eEnum
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_DEFENDER RETURN "Degenatron: Defender of the Faith"
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_MONKEY RETURN "Degenatron: Monkey's Paradise"
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_PENETRATOR RETURN "Degenatron: Penetrator"
|
|
CASE CASINO_ARCADE_GAME_GO_GO_SPACE_MONKEY_3 RETURN "Space Monkey 3: Bananas Gone Bad"
|
|
CASE CASINO_ARCADE_GAME_TLG RETURN "Badlands Revenge II"
|
|
CASE CASINO_ARCADE_GAME_RNC_STREET_LEGAL RETURN "Race & Chase: Street Legal"
|
|
CASE CASINO_ARCADE_GAME_RNC_CROTCH_ROCKETS RETURN "Race & Chase: Crotch Rockets"
|
|
CASE CASINO_ARCADE_GAME_RNC_GET_TRUCKIN RETURN "Race & Chase: Get Truckin'"
|
|
CASE CASINO_ARCADE_GAME_THE_WIZARDS_RUIN RETURN "The Wizard's Ruin"
|
|
CASE CASINO_ARCADE_GAME_CAMHEDZ RETURN "Camhedz: Found Footage"
|
|
CASE CASINO_ARCADE_GAME_QUB3D RETURN "Qub3D"
|
|
ENDSWITCH
|
|
RETURN "***INVALID***"
|
|
ENDFUNC
|
|
|
|
FUNC STRING ARCADE_GAMES_LEADERBOARD_GET_TITLE_TEXTURE_NAME()
|
|
SWITCH ARCADE_GAMES_LEADERBOARD_GET_CASINO_ARCADE_GAME()
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_DEFENDER
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_MONKEY
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_PENETRATOR
|
|
RETURN "HUD_TEXT_HIGH_SCORES"
|
|
|
|
CASE CASINO_ARCADE_GAME_GO_GO_SPACE_MONKEY_3
|
|
RETURN "LEADERBOARD"
|
|
|
|
CASE CASINO_ARCADE_GAME_TLG
|
|
RETURN "LEADERBOARDS"
|
|
|
|
CASE CASINO_ARCADE_GAME_CAMHEDZ
|
|
RETURN "LEADERBOARDS"
|
|
|
|
// We use out own title
|
|
CASE CASINO_ARCADE_GAME_RNC_STREET_LEGAL
|
|
CASE CASINO_ARCADE_GAME_RNC_CROTCH_ROCKETS
|
|
CASE CASINO_ARCADE_GAME_RNC_GET_TRUCKIN
|
|
RETURN "HUD_MENU_ENTRY" // Sock puppet texture.
|
|
|
|
CASE CASINO_ARCADE_GAME_THE_WIZARDS_RUIN
|
|
RETURN "LEADERBOARD"
|
|
|
|
CASE CASINO_ARCADE_GAME_QUB3D
|
|
RETURN "QUB3D_Logo"
|
|
|
|
ENDSWITCH
|
|
RETURN ""
|
|
ENDFUNC
|
|
|
|
FUNC VECTOR_2D ARCADE_GAMES_LEADERBOARD_GET_TITLE_TEXTURE_POSITION()
|
|
SWITCH ARCADE_GAMES_LEADERBOARD_GET_CASINO_ARCADE_GAME()
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_DEFENDER
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_MONKEY
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_PENETRATOR
|
|
RETURN INIT_VECTOR_2D(960.0,200.0)
|
|
|
|
CASE CASINO_ARCADE_GAME_GO_GO_SPACE_MONKEY_3
|
|
RETURN INIT_VECTOR_2D(960.0,200.0)
|
|
|
|
CASE CASINO_ARCADE_GAME_TLG
|
|
RETURN INIT_VECTOR_2D(960.0,200.0)
|
|
|
|
CASE CASINO_ARCADE_GAME_CAMHEDZ
|
|
RETURN INIT_VECTOR_2D(960.0,200.0)
|
|
|
|
CASE CASINO_ARCADE_GAME_RNC_STREET_LEGAL
|
|
CASE CASINO_ARCADE_GAME_RNC_CROTCH_ROCKETS
|
|
CASE CASINO_ARCADE_GAME_RNC_GET_TRUCKIN
|
|
RETURN INIT_VECTOR_2D(960.0,-200.0)
|
|
|
|
CASE CASINO_ARCADE_GAME_THE_WIZARDS_RUIN
|
|
RETURN INIT_VECTOR_2D(960.0,200.0)
|
|
|
|
CASE CASINO_ARCADE_GAME_QUB3D
|
|
RETURN INIT_VECTOR_2D(960.0,172.0)
|
|
|
|
|
|
ENDSWITCH
|
|
RETURN INIT_VECTOR_2D(0.0,0.0)
|
|
ENDFUNC
|
|
|
|
FUNC VECTOR_2D ARCADE_GAMES_LEADERBOARD_GET_TITLE_TEXTURE_SIZE()
|
|
SWITCH ARCADE_GAMES_LEADERBOARD_GET_CASINO_ARCADE_GAME()
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_DEFENDER
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_MONKEY
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_PENETRATOR
|
|
RETURN INIT_VECTOR_2D(476.0,52)
|
|
|
|
CASE CASINO_ARCADE_GAME_GO_GO_SPACE_MONKEY_3
|
|
RETURN INIT_VECTOR_2D(1024.0, 128.0)
|
|
|
|
CASE CASINO_ARCADE_GAME_TLG
|
|
RETURN INIT_VECTOR_2D(276, 48)
|
|
|
|
CASE CASINO_ARCADE_GAME_CAMHEDZ
|
|
RETURN INIT_VECTOR_2D(276, 48)
|
|
|
|
// We use out own title
|
|
CASE CASINO_ARCADE_GAME_RNC_STREET_LEGAL
|
|
CASE CASINO_ARCADE_GAME_RNC_CROTCH_ROCKETS
|
|
CASE CASINO_ARCADE_GAME_RNC_GET_TRUCKIN
|
|
RETURN INIT_VECTOR_2D(1, 1)
|
|
|
|
CASE CASINO_ARCADE_GAME_THE_WIZARDS_RUIN
|
|
RETURN INIT_VECTOR_2D(824, 112)
|
|
|
|
CASE CASINO_ARCADE_GAME_QUB3D
|
|
RETURN INIT_VECTOR_2D(348, 112)
|
|
ENDSWITCH
|
|
RETURN INIT_VECTOR_2D(0.0,0.0)
|
|
ENDFUNC
|
|
|
|
FUNC VECTOR_2D ARCADE_GAMES_LEADERBOARD_GET_CHAR_TEXTURE_SIZE()
|
|
SWITCH ARCADE_GAMES_LEADERBOARD_GET_CASINO_ARCADE_GAME()
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_DEFENDER
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_MONKEY
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_PENETRATOR
|
|
RETURN INIT_VECTOR_2D(48.0,52.0)
|
|
|
|
CASE CASINO_ARCADE_GAME_GO_GO_SPACE_MONKEY_3
|
|
RETURN INIT_VECTOR_2D(28.0,44.0)
|
|
|
|
CASE CASINO_ARCADE_GAME_TLG
|
|
RETURN INIT_VECTOR_2D(24, 48)
|
|
|
|
CASE CASINO_ARCADE_GAME_CAMHEDZ
|
|
RETURN INIT_VECTOR_2D(24, 48)
|
|
|
|
CASE CASINO_ARCADE_GAME_RNC_STREET_LEGAL
|
|
CASE CASINO_ARCADE_GAME_RNC_CROTCH_ROCKETS
|
|
CASE CASINO_ARCADE_GAME_RNC_GET_TRUCKIN
|
|
RETURN INIT_VECTOR_2D(32, 64)
|
|
|
|
CASE CASINO_ARCADE_GAME_THE_WIZARDS_RUIN
|
|
RETURN INIT_VECTOR_2D(32, 56)
|
|
|
|
CASE CASINO_ARCADE_GAME_QUB3D
|
|
RETURN INIT_VECTOR_2D(28, 32)
|
|
|
|
ENDSWITCH
|
|
RETURN INIT_VECTOR_2D(0.0,0.0)
|
|
ENDFUNC
|
|
|
|
FUNC VECTOR_2D ARCADE_GAMES_LEADERBOARD_GET_CHAR_TEXTURE_SEPARATION()
|
|
SWITCH ARCADE_GAMES_LEADERBOARD_GET_CASINO_ARCADE_GAME()
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_DEFENDER
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_MONKEY
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_PENETRATOR
|
|
RETURN INIT_VECTOR_2D(48.0,52.0*1.1)
|
|
|
|
CASE CASINO_ARCADE_GAME_GO_GO_SPACE_MONKEY_3
|
|
RETURN INIT_VECTOR_2D(28.0, 44.0 * 1.1)
|
|
|
|
CASE CASINO_ARCADE_GAME_TLG
|
|
RETURN INIT_VECTOR_2D(24, 48*1.1)
|
|
|
|
CASE CASINO_ARCADE_GAME_CAMHEDZ
|
|
RETURN INIT_VECTOR_2D(24, 48*1.1)
|
|
|
|
CASE CASINO_ARCADE_GAME_RNC_STREET_LEGAL
|
|
CASE CASINO_ARCADE_GAME_RNC_CROTCH_ROCKETS
|
|
CASE CASINO_ARCADE_GAME_RNC_GET_TRUCKIN
|
|
RETURN INIT_VECTOR_2D(32, 64*1.1)
|
|
|
|
CASE CASINO_ARCADE_GAME_THE_WIZARDS_RUIN
|
|
RETURN INIT_VECTOR_2D(32, 56*1.1)
|
|
|
|
CASE CASINO_ARCADE_GAME_QUB3D
|
|
RETURN INIT_VECTOR_2D(32, 64*1.1)
|
|
|
|
ENDSWITCH
|
|
RETURN INIT_VECTOR_2D(0.0,0.0)
|
|
ENDFUNC
|
|
|
|
FUNC VECTOR_2D ARCADE_GAMES_LEADERBOARD_GET_RANK_COLUMN_POSITION()
|
|
SWITCH ARCADE_GAMES_LEADERBOARD_GET_CASINO_ARCADE_GAME()
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_DEFENDER
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_MONKEY
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_PENETRATOR
|
|
RETURN INIT_VECTOR_2D(450.0,350.0)
|
|
|
|
CASE CASINO_ARCADE_GAME_GO_GO_SPACE_MONKEY_3
|
|
RETURN INIT_VECTOR_2D(600.0,350.0)
|
|
|
|
CASE CASINO_ARCADE_GAME_TLG
|
|
RETURN INIT_VECTOR_2D(600.0,350.0)
|
|
|
|
CASE CASINO_ARCADE_GAME_CAMHEDZ
|
|
RETURN INIT_VECTOR_2D(600.0,350.0)
|
|
|
|
CASE CASINO_ARCADE_GAME_RNC_STREET_LEGAL
|
|
CASE CASINO_ARCADE_GAME_RNC_CROTCH_ROCKETS
|
|
CASE CASINO_ARCADE_GAME_RNC_GET_TRUCKIN
|
|
RETURN INIT_VECTOR_2D(600.0,250.0)
|
|
|
|
CASE CASINO_ARCADE_GAME_THE_WIZARDS_RUIN
|
|
RETURN INIT_VECTOR_2D(600.0,350.0)
|
|
|
|
CASE CASINO_ARCADE_GAME_QUB3D
|
|
RETURN INIT_VECTOR_2D(600.0,300.0)
|
|
|
|
ENDSWITCH
|
|
RETURN INIT_VECTOR_2D(0.0,0.0)
|
|
ENDFUNC
|
|
|
|
FUNC VECTOR_2D ARCADE_GAMES_LEADERBOARD_GET_INITIALS_COLUMN_POSITION()
|
|
SWITCH ARCADE_GAMES_LEADERBOARD_GET_CASINO_ARCADE_GAME()
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_DEFENDER
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_MONKEY
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_PENETRATOR
|
|
RETURN INIT_VECTOR_2D(650.0,350.0)
|
|
|
|
CASE CASINO_ARCADE_GAME_GO_GO_SPACE_MONKEY_3
|
|
RETURN INIT_VECTOR_2D(750.0,350.0)
|
|
|
|
CASE CASINO_ARCADE_GAME_TLG
|
|
RETURN INIT_VECTOR_2D(750.0,350.0)
|
|
|
|
CASE CASINO_ARCADE_GAME_CAMHEDZ
|
|
RETURN INIT_VECTOR_2D(750.0,350.0)
|
|
|
|
CASE CASINO_ARCADE_GAME_RNC_STREET_LEGAL
|
|
CASE CASINO_ARCADE_GAME_RNC_CROTCH_ROCKETS
|
|
CASE CASINO_ARCADE_GAME_RNC_GET_TRUCKIN
|
|
RETURN INIT_VECTOR_2D(738.0,250.0)
|
|
|
|
CASE CASINO_ARCADE_GAME_THE_WIZARDS_RUIN
|
|
RETURN INIT_VECTOR_2D(750.0,350.0)
|
|
|
|
CASE CASINO_ARCADE_GAME_QUB3D
|
|
RETURN INIT_VECTOR_2D(738.0,300.0)
|
|
|
|
ENDSWITCH
|
|
RETURN INIT_VECTOR_2D(0.0,0.0)
|
|
ENDFUNC
|
|
|
|
FUNC VECTOR_2D ARCADE_GAMES_LEADERBOARD_GET_SCORE_COLUMN_POSITION()
|
|
SWITCH ARCADE_GAMES_LEADERBOARD_GET_CASINO_ARCADE_GAME()
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_DEFENDER
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_MONKEY
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_PENETRATOR
|
|
RETURN INIT_VECTOR_2D(1220.0,350.0)
|
|
|
|
CASE CASINO_ARCADE_GAME_GO_GO_SPACE_MONKEY_3
|
|
RETURN INIT_VECTOR_2D(1220.0,350.0)
|
|
|
|
CASE CASINO_ARCADE_GAME_TLG
|
|
RETURN INIT_VECTOR_2D(1220.0,350.0)
|
|
|
|
CASE CASINO_ARCADE_GAME_CAMHEDZ
|
|
RETURN INIT_VECTOR_2D(1220.0,350.0)
|
|
|
|
CASE CASINO_ARCADE_GAME_RNC_STREET_LEGAL
|
|
CASE CASINO_ARCADE_GAME_RNC_CROTCH_ROCKETS
|
|
CASE CASINO_ARCADE_GAME_RNC_GET_TRUCKIN
|
|
RETURN INIT_VECTOR_2D(1220.0,250.0)
|
|
|
|
CASE CASINO_ARCADE_GAME_THE_WIZARDS_RUIN
|
|
RETURN INIT_VECTOR_2D(1220.0,350.0)
|
|
|
|
CASE CASINO_ARCADE_GAME_QUB3D
|
|
RETURN INIT_VECTOR_2D(1220.0,300.0)
|
|
ENDSWITCH
|
|
RETURN INIT_VECTOR_2D(0.0,0.0)
|
|
ENDFUNC
|
|
|
|
FUNC RGBA_COLOUR_STRUCT ARCADE_GAMES_LEADERBOARD_GET_DEFAULT_COLOR()
|
|
RGBA_COLOUR_STRUCT rgba
|
|
SWITCH ARCADE_GAMES_LEADERBOARD_GET_CASINO_ARCADE_GAME()
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_DEFENDER
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_MONKEY
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_PENETRATOR
|
|
INIT_RGBA_STRUCT(rgba,255,255,255,255)
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_GO_GO_SPACE_MONKEY_3
|
|
INIT_RGBA_STRUCT(rgba,255,255,255,255)
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_TLG
|
|
INIT_RGBA_STRUCT(rgba,255,255,255,255)
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_CAMHEDZ
|
|
INIT_RGBA_STRUCT(rgba,255,255,255,255)
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_RNC_STREET_LEGAL
|
|
CASE CASINO_ARCADE_GAME_RNC_CROTCH_ROCKETS
|
|
CASE CASINO_ARCADE_GAME_RNC_GET_TRUCKIN
|
|
INIT_RGBA_STRUCT(rgba, 141, 239, 255)
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_THE_WIZARDS_RUIN
|
|
INIT_RGBA_STRUCT(rgba,255,255,255,255)
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_QUB3D
|
|
INIT_RGBA_STRUCT(rgba,255,255,255,255)
|
|
BREAK
|
|
ENDSWITCH
|
|
RETURN rgba
|
|
ENDFUNC
|
|
|
|
FUNC RGBA_COLOUR_STRUCT ARCADE_GAMES_LEADERBOARD_GET_ENTRY_COLOR(BOOL bIsPlayerTwo)
|
|
RGBA_COLOUR_STRUCT rgba
|
|
SWITCH ARCADE_GAMES_LEADERBOARD_GET_CASINO_ARCADE_GAME()
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_DEFENDER
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_MONKEY
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_PENETRATOR
|
|
INIT_RGBA_STRUCT(rgba,255,0,0,255)
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_GO_GO_SPACE_MONKEY_3
|
|
INIT_RGBA_STRUCT(rgba,255,255,0,255)
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_TLG
|
|
IF bIsPlayerTwo
|
|
INIT_RGBA_STRUCT(rgba,0,0,255,255)
|
|
ELSE
|
|
INIT_RGBA_STRUCT(rgba,255,0,0,255)
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_CAMHEDZ
|
|
IF bIsPlayerTwo
|
|
INIT_RGBA_STRUCT(rgba,0,0,255,255)
|
|
ELSE
|
|
INIT_RGBA_STRUCT(rgba,255,0,0,255)
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_RNC_STREET_LEGAL
|
|
CASE CASINO_ARCADE_GAME_RNC_CROTCH_ROCKETS
|
|
CASE CASINO_ARCADE_GAME_RNC_GET_TRUCKIN
|
|
INIT_RGBA_STRUCT(rgba,242,153,216,255)
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_THE_WIZARDS_RUIN
|
|
INIT_RGBA_STRUCT(rgba,210,43,20,255)
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_QUB3D
|
|
INIT_RGBA_STRUCT(rgba,255,0,255,255)
|
|
BREAK
|
|
ENDSWITCH
|
|
RETURN rgba
|
|
ENDFUNC
|
|
|
|
FUNC STRING ARCADE_GAMES_LEADERBOARD_GET_TEXTURE_DICTIONARY_FOR_GAME(CASINO_ARCADE_GAME eGame)
|
|
SWITCH eGame
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_DEFENDER
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_MONKEY
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_PENETRATOR
|
|
RETURN "MPArcadeDegenatronCharacters"
|
|
|
|
CASE CASINO_ARCADE_GAME_GO_GO_SPACE_MONKEY_3
|
|
RETURN "MPGoGoSpaceResident"
|
|
|
|
CASE CASINO_ARCADE_GAME_TLG
|
|
RETURN "MPLastGunslingersHud"
|
|
|
|
CASE CASINO_ARCADE_GAME_CAMHEDZ
|
|
RETURN "MPCamhedzVHSFont"
|
|
|
|
CASE CASINO_ARCADE_GAME_RNC_STREET_LEGAL
|
|
CASE CASINO_ARCADE_GAME_RNC_CROTCH_ROCKETS
|
|
CASE CASINO_ARCADE_GAME_RNC_GET_TRUCKIN
|
|
RETURN "MPRoadArcade_HUD_Gen"
|
|
|
|
CASE CASINO_ARCADE_GAME_THE_WIZARDS_RUIN
|
|
RETURN "MPWizardsSleeveCharacters"
|
|
|
|
CASE CASINO_ARCADE_GAME_QUB3D
|
|
RETURN "MPQub3d_HUD"
|
|
ENDSWITCH
|
|
RETURN ""
|
|
ENDFUNC
|
|
|
|
FUNC STRING ARCADE_GAMES_LEADERBOARD_GET_TEXTURE_DICTIONARY()
|
|
RETURN ARCADE_GAMES_LEADERBOARD_GET_TEXTURE_DICTIONARY_FOR_GAME(ARCADE_GAMES_LEADERBOARD_GET_CASINO_ARCADE_GAME())
|
|
ENDFUNC
|
|
|
|
FUNC STRING ARCADE_GAMES_LEADERBOARD_GET_TEXTURE_NUMBER()
|
|
SWITCH ARCADE_GAMES_LEADERBOARD_GET_CASINO_ARCADE_GAME()
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_DEFENDER
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_MONKEY
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_PENETRATOR
|
|
CASE CASINO_ARCADE_GAME_GO_GO_SPACE_MONKEY_3
|
|
RETURN "HUD_NUMBER_"
|
|
CASE CASINO_ARCADE_GAME_RNC_STREET_LEGAL
|
|
CASE CASINO_ARCADE_GAME_RNC_CROTCH_ROCKETS
|
|
CASE CASINO_ARCADE_GAME_RNC_GET_TRUCKIN
|
|
RETURN "HUD_TIMER_NUMBER_"
|
|
CASE CASINO_ARCADE_GAME_TLG
|
|
RETURN "FONT_"
|
|
|
|
CASE CASINO_ARCADE_GAME_CAMHEDZ
|
|
RETURN "FONT_"
|
|
|
|
CASE CASINO_ARCADE_GAME_THE_WIZARDS_RUIN
|
|
RETURN "HUD_NUMBER_"
|
|
CASE CASINO_ARCADE_GAME_QUB3D
|
|
RETURN "NO_BIG_"
|
|
ENDSWITCH
|
|
RETURN ""
|
|
ENDFUNC
|
|
|
|
FUNC STRING ARCADE_GAMES_LEADERBOARD_GET_TEXTURE_LETTER()
|
|
SWITCH ARCADE_GAMES_LEADERBOARD_GET_CASINO_ARCADE_GAME()
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_DEFENDER
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_MONKEY
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_PENETRATOR
|
|
CASE CASINO_ARCADE_GAME_GO_GO_SPACE_MONKEY_3
|
|
CASE CASINO_ARCADE_GAME_RNC_STREET_LEGAL
|
|
CASE CASINO_ARCADE_GAME_RNC_CROTCH_ROCKETS
|
|
CASE CASINO_ARCADE_GAME_RNC_GET_TRUCKIN
|
|
RETURN "HUD_LETTER_"
|
|
|
|
CASE CASINO_ARCADE_GAME_TLG
|
|
RETURN "FONT_"
|
|
|
|
CASE CASINO_ARCADE_GAME_CAMHEDZ
|
|
RETURN "FONT_"
|
|
|
|
CASE CASINO_ARCADE_GAME_THE_WIZARDS_RUIN
|
|
RETURN "HUD_LETTER_"
|
|
|
|
CASE CASINO_ARCADE_GAME_QUB3D
|
|
RETURN "LET_"
|
|
ENDSWITCH
|
|
RETURN ""
|
|
ENDFUNC
|
|
|
|
FUNC INT ARCADE_GAMES_LEADERBOARD_GET_SCORE_MAX_CHARS()
|
|
RETURN 0
|
|
ENDFUNC
|
|
|
|
/// PURPOSE:
|
|
/// Returns the default initials for a leaderboard position
|
|
FUNC INT ARCADE_GAMES_GET_DEFAULT_INITIALS_FOR_POSITION(INT iPosition)
|
|
SWITCH ARCADE_GAMES_LEADERBOARD_GET_CASINO_ARCADE_GAME()
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_DEFENDER
|
|
SWITCH iPosition
|
|
CASE 0 RETURN 46034 //SPL
|
|
CASE 1 RETURN 53635 //DGN
|
|
CASE 2 RETURN 74692 //EPS
|
|
CASE 3 RETURN 61715 //TEP
|
|
CASE 4 RETURN 33859 //CRI
|
|
CASE 5 RETURN 79058 //STT
|
|
CASE 6 RETURN 73989 //FES
|
|
CASE 7 RETURN 73932 //MDS
|
|
CASE 8 RETURN 16401 //RAE
|
|
CASE 9 RETURN 21002 //KIF
|
|
ENDSWITCH
|
|
BREAK
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_MONKEY
|
|
SWITCH iPosition
|
|
CASE 0 RETURN 46034 //SPL
|
|
CASE 1 RETURN 263 //HEA
|
|
CASE 2 RETURN 53635 //DGN
|
|
CASE 3 RETURN 54156 //MON
|
|
CASE 4 RETURN 98570 //KEY
|
|
CASE 5 RETURN 17344 //APE
|
|
CASE 6 RETURN 69647 //PAR
|
|
CASE 7 RETURN 58434 //CRO
|
|
CASE 8 RETURN 73932 //MDS
|
|
CASE 9 RETURN 45319 //HEL
|
|
ENDSWITCH
|
|
BREAK
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_PENETRATOR
|
|
SWITCH iPosition
|
|
CASE 0 RETURN 46034 //SPL
|
|
CASE 1 RETURN 53519 //PEN
|
|
CASE 2 RETURN 53635 //DGN
|
|
CASE 3 RETURN 70547 //TOR
|
|
CASE 4 RETURN 57490 //SCO
|
|
CASE 5 RETURN 17924 //EYE
|
|
CASE 6 RETURN 49681 //RIM
|
|
CASE 7 RETURN 5001 //JOB
|
|
CASE 8 RETURN 73932 //MDS
|
|
CASE 9 RETURN 13522 //STD
|
|
ENDSWITCH
|
|
BREAK
|
|
CASE CASINO_ARCADE_GAME_GO_GO_SPACE_MONKEY_3
|
|
SWITCH iPosition
|
|
CASE 0 RETURN 46034 //SPL
|
|
CASE 1 RETURN 53519 //PEN
|
|
CASE 2 RETURN 53635 //DGN
|
|
CASE 3 RETURN 70547 //TOR
|
|
CASE 4 RETURN 57490 //SCO
|
|
CASE 5 RETURN 17924 //EYE
|
|
CASE 6 RETURN 49681 //RIM
|
|
CASE 7 RETURN 5001 //JOB
|
|
CASE 8 RETURN 73932 //MDS
|
|
CASE 9 RETURN 13522 //STD
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_TLG
|
|
SWITCH iPosition
|
|
CASE 0 RETURN 46034 //SPL
|
|
CASE 1 RETURN 53519 //PEN
|
|
CASE 2 RETURN 53635 //DGN
|
|
CASE 3 RETURN 70547 //TOR
|
|
CASE 4 RETURN 57490 //SCO
|
|
CASE 5 RETURN 17924 //EYE
|
|
CASE 6 RETURN 49681 //RIM
|
|
CASE 7 RETURN 5001 //JOB
|
|
CASE 8 RETURN 73932 //MDS
|
|
CASE 9 RETURN 13522 //STD
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_CAMHEDZ
|
|
SWITCH iPosition
|
|
CASE 0 RETURN 102401 //BAZ
|
|
CASE 1 RETURN 53519 //PEN
|
|
CASE 2 RETURN 53635 //DGN
|
|
CASE 3 RETURN 70547 //TOR
|
|
CASE 4 RETURN 57490 //SCO
|
|
CASE 5 RETURN 17924 //EYE
|
|
CASE 6 RETURN 83154 //STU
|
|
CASE 7 RETURN 5001 //JOB
|
|
CASE 8 RETURN 73932 //ADW
|
|
CASE 9 RETURN 54417 //RSN
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_RNC_STREET_LEGAL
|
|
CDEBUG1LN(DEBUG_MINIGAME, "ARCADE_GAMES_GET_DEFAULT_INITIALS_FOR_POSITION - CASINO_ARCADE_GAME_RNC_STREET_LEGAL: Position Number ", iPosition)
|
|
SWITCH iPosition
|
|
CASE 0 RETURN 102401 //BAZ
|
|
CASE 1 RETURN 4114 //SAB
|
|
CASE 2 RETURN 53635 //ELL
|
|
CASE 3 RETURN 13060 //EMD
|
|
CASE 4 RETURN 57490 //JST
|
|
CASE 5 RETURN 8896 //ALC
|
|
CASE 6 RETURN 8978 //SMC
|
|
CASE 7 RETURN 1216 //ATA
|
|
CASE 8 RETURN 73932 //ADW
|
|
CASE 9 RETURN 54417 //RSN
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_RNC_CROTCH_ROCKETS
|
|
SWITCH iPosition
|
|
CASE 0 RETURN 102401 //BAZ
|
|
CASE 1 RETURN 4114 //SAB
|
|
CASE 2 RETURN 53635 //ELL
|
|
CASE 3 RETURN 13060 //EMD
|
|
CASE 4 RETURN 57490 //JST
|
|
CASE 5 RETURN 8896 //ALC
|
|
CASE 6 RETURN 8978 //SMC
|
|
CASE 7 RETURN 1216 //ATA
|
|
CASE 8 RETURN 73932 //ADW
|
|
CASE 9 RETURN 54417 //RSN
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_RNC_GET_TRUCKIN
|
|
SWITCH iPosition
|
|
CASE 0 RETURN 102401 //BAZ
|
|
CASE 1 RETURN 4114 //SAB
|
|
CASE 2 RETURN 53635 //ELL
|
|
CASE 3 RETURN 13060 //EMD
|
|
CASE 4 RETURN 57490 //JST
|
|
CASE 5 RETURN 8896 //ALC
|
|
CASE 6 RETURN 8978 //SMC
|
|
CASE 7 RETURN 1216 //ATA
|
|
CASE 8 RETURN 73932 //ADW
|
|
CASE 9 RETURN 54417 //RSN
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_THE_WIZARDS_RUIN
|
|
SWITCH iPosition
|
|
CASE 0 RETURN 49160 //IAM
|
|
CASE 1 RETURN 25100 //MIG
|
|
CASE 2 RETURN 99527 //HTY
|
|
CASE 3 RETURN 20739 //DEF
|
|
CASE 4 RETURN 77828 //EAT
|
|
CASE 5 RETURN 16851 //THE
|
|
CASE 6 RETURN 102934 //WIZ
|
|
CASE 7 RETURN 13376 //ARD
|
|
CASE 8 RETURN 515 //DIA
|
|
CASE 9 RETURN 54417 //RSN
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_QUB3D
|
|
SWITCH iPosition
|
|
CASE 0 RETURN 102401 //BAZ
|
|
CASE 1 RETURN 25670 //GRG
|
|
CASE 2 RETURN 1216 //ATA
|
|
CASE 3 RETURN 83154 //STU
|
|
CASE 4 RETURN 73932 //ADW
|
|
CASE 5 RETURN 91015 //HOW
|
|
CASE 6 RETURN 78797 //NPT
|
|
CASE 7 RETURN 12545 //BED
|
|
CASE 8 RETURN 21777 //RUF
|
|
CASE 9 RETURN 54417 //RSN
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
|
|
RETURN 0
|
|
|
|
ENDFUNC
|
|
|
|
/// PURPOSE:
|
|
/// Returns the default score for a leaderboard position
|
|
FUNC INT ARCADE_GAMES_GET_DEFAULT_SCORE_FOR_POSITION(INT iPosition)
|
|
|
|
SWITCH ARCADE_GAMES_LEADERBOARD_GET_CASINO_ARCADE_GAME()
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_DEFENDER
|
|
SWITCH iPosition
|
|
CASE 0 RETURN 10000
|
|
CASE 1 RETURN 5000
|
|
CASE 2 RETURN 4000
|
|
CASE 3 RETURN 3000
|
|
CASE 4 RETURN 2000
|
|
CASE 5 RETURN 1000
|
|
CASE 6 RETURN 500
|
|
CASE 7 RETURN 250
|
|
CASE 8 RETURN 250
|
|
CASE 9 RETURN 157
|
|
ENDSWITCH
|
|
BREAK
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_MONKEY
|
|
SWITCH iPosition
|
|
CASE 0 RETURN 500
|
|
CASE 1 RETURN 450
|
|
CASE 2 RETURN 400
|
|
CASE 3 RETURN 350
|
|
CASE 4 RETURN 300
|
|
CASE 5 RETURN 250
|
|
CASE 6 RETURN 200
|
|
CASE 7 RETURN 150
|
|
CASE 8 RETURN 120
|
|
CASE 9 RETURN 100
|
|
ENDSWITCH
|
|
BREAK
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_PENETRATOR
|
|
SWITCH iPosition
|
|
CASE 0 RETURN 10000
|
|
CASE 1 RETURN 9000
|
|
CASE 2 RETURN 8000
|
|
CASE 3 RETURN 7000
|
|
CASE 4 RETURN 6000
|
|
CASE 5 RETURN 5000
|
|
CASE 6 RETURN 4000
|
|
CASE 7 RETURN 3000
|
|
CASE 8 RETURN 2000
|
|
CASE 9 RETURN 1000
|
|
ENDSWITCH
|
|
BREAK
|
|
CASE CASINO_ARCADE_GAME_GO_GO_SPACE_MONKEY_3
|
|
SWITCH iPosition
|
|
CASE 0 RETURN 57300
|
|
CASE 1 RETURN 50000
|
|
CASE 2 RETURN 45000
|
|
CASE 3 RETURN 35000
|
|
CASE 4 RETURN 30000
|
|
CASE 5 RETURN 25000
|
|
CASE 6 RETURN 20000
|
|
CASE 7 RETURN 15000
|
|
CASE 8 RETURN 10000
|
|
CASE 9 RETURN 5000
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_TLG
|
|
SWITCH iPosition
|
|
CASE 0 RETURN 1000
|
|
CASE 1 RETURN 900
|
|
CASE 2 RETURN 800
|
|
CASE 3 RETURN 700
|
|
CASE 4 RETURN 600
|
|
CASE 5 RETURN 500
|
|
CASE 6 RETURN 400
|
|
CASE 7 RETURN 300
|
|
CASE 8 RETURN 200
|
|
CASE 9 RETURN 100
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_CAMHEDZ
|
|
SWITCH iPosition
|
|
CASE 0 RETURN 100000
|
|
CASE 1 RETURN 90000
|
|
CASE 2 RETURN 80000
|
|
CASE 3 RETURN 70000
|
|
CASE 4 RETURN 60000
|
|
CASE 5 RETURN 50000
|
|
CASE 6 RETURN 40000
|
|
CASE 7 RETURN 30000
|
|
CASE 8 RETURN 20000
|
|
CASE 9 RETURN 10000
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_RNC_STREET_LEGAL
|
|
SWITCH iPosition
|
|
CASE 0 RETURN 325000
|
|
CASE 1 RETURN 300000
|
|
CASE 2 RETURN 275000
|
|
CASE 3 RETURN 250000
|
|
CASE 4 RETURN 225000
|
|
CASE 5 RETURN 200000
|
|
CASE 6 RETURN 175000
|
|
CASE 7 RETURN 150000
|
|
CASE 8 RETURN 125000
|
|
CASE 9 RETURN 100000
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_RNC_CROTCH_ROCKETS
|
|
SWITCH iPosition
|
|
CASE 0 RETURN 350000
|
|
CASE 1 RETURN 325000
|
|
CASE 2 RETURN 300000
|
|
CASE 3 RETURN 275000
|
|
CASE 4 RETURN 250000
|
|
CASE 5 RETURN 225000
|
|
CASE 6 RETURN 200000
|
|
CASE 7 RETURN 175000
|
|
CASE 8 RETURN 150000
|
|
CASE 9 RETURN 125000
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_RNC_GET_TRUCKIN
|
|
SWITCH iPosition
|
|
CASE 0 RETURN 250000
|
|
CASE 1 RETURN 225000
|
|
CASE 2 RETURN 200000
|
|
CASE 3 RETURN 175000
|
|
CASE 4 RETURN 150000
|
|
CASE 5 RETURN 125000
|
|
CASE 6 RETURN 100000
|
|
CASE 7 RETURN 80000
|
|
CASE 8 RETURN 65000
|
|
CASE 9 RETURN 50000
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_THE_WIZARDS_RUIN
|
|
SWITCH iPosition
|
|
CASE 0 RETURN 800000
|
|
CASE 1 RETURN 750000
|
|
CASE 2 RETURN 700000
|
|
CASE 3 RETURN 650000
|
|
CASE 4 RETURN 600000
|
|
CASE 5 RETURN 550000
|
|
CASE 6 RETURN 500000
|
|
CASE 7 RETURN 400000
|
|
CASE 8 RETURN 300000
|
|
CASE 9 RETURN 200000
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_QUB3D
|
|
SWITCH iPosition
|
|
CASE 0 RETURN 10950
|
|
CASE 1 RETURN 10500
|
|
CASE 2 RETURN 9800
|
|
CASE 3 RETURN 7240
|
|
CASE 4 RETURN 7070
|
|
CASE 5 RETURN 5650
|
|
CASE 6 RETURN 5090
|
|
CASE 7 RETURN 3420
|
|
CASE 8 RETURN 3150
|
|
CASE 9 RETURN 3100
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
|
|
RETURN 0
|
|
|
|
ENDFUNC
|
|
|
|
FUNC ARCADE_GAMES_SOUND ARCADE_GAMES_LEADERBAORD_GET_SOUND_LETTER_CHANGE()
|
|
SWITCH sAGLeaderboardData.eGame
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_DEFENDER
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_MONKEY
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_PENETRATOR
|
|
RETURN ARCADE_GAMES_SOUND_DEGENATRON_HIGH_SCORE_LETTER_CHANGE
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_TLG
|
|
RETURN ARCADE_GAMES_SOUND_TLG_HIGH_SCORE_LETTER_CHANGE
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_CAMHEDZ
|
|
RETURN ARCADE_GAMES_SOUND_TLG_HIGH_SCORE_LETTER_CHANGE
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_GO_GO_SPACE_MONKEY_3
|
|
RETURN ARCADE_GAMES_SOUND_GGSM_SCORE_LETTER_CHANGE_L
|
|
BREAK
|
|
CASE CASINO_ARCADE_GAME_THE_WIZARDS_RUIN
|
|
RETURN ARCADE_GAMES_SOUND_TWR_MENU_LETTER_CHANGE
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_RNC_STREET_LEGAL
|
|
CASE CASINO_ARCADE_GAME_RNC_CROTCH_ROCKETS
|
|
CASE CASINO_ARCADE_GAME_RNC_GET_TRUCKIN
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
|
|
IF MPGlobalsAmbience.iRoadArcade_SeatOverride = 0
|
|
RETURN ROAD_ARCADE_AUDIO_EFFECT_SCOREBOARD_SCROLL_RIGHT
|
|
ENDIF
|
|
|
|
IF MPGlobalsAmbience.iRoadArcade_SeatOverride = 1
|
|
RETURN ROAD_ARCADE_AUDIO_EFFECT_SCOREBOARD_SCROLL_LEFT
|
|
ENDIF
|
|
|
|
#ENDIF
|
|
// Filter sound effect by player seat.
|
|
IF globalPlayerBD[NATIVE_TO_INT((PLAYER_ID()))].sArcadeManagerGlobalPlayerBD.iArcadePlayerSlot = 0
|
|
RETURN ROAD_ARCADE_AUDIO_EFFECT_SCOREBOARD_SCROLL_RIGHT
|
|
ENDIF
|
|
|
|
IF globalPlayerBD[NATIVE_TO_INT((PLAYER_ID()))].sArcadeManagerGlobalPlayerBD.iArcadePlayerSlot = 1
|
|
RETURN ROAD_ARCADE_AUDIO_EFFECT_SCOREBOARD_SCROLL_LEFT
|
|
ENDIF
|
|
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_QUB3D
|
|
RETURN QUB3D_AUDIO_EFFECT_SCOREBOARD_CHANGE_LETTER
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
ASSERTLN("[ARCADE_GAMES_SOUND] No case added for game to get sound for Letter Change")
|
|
RETURN ARCADE_GAMES_SOUND_DEGENATRON_BUZZER
|
|
ENDFUNC
|
|
|
|
FUNC ARCADE_GAMES_SOUND ARCADE_GAMES_LEADERBAORD_GET_SOUND_LETTER_SET()
|
|
SWITCH sAGLeaderboardData.eGame
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_DEFENDER
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_MONKEY
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_PENETRATOR
|
|
RETURN ARCADE_GAMES_SOUND_DEGENATRON_HIGH_SCORE_LETTER_SET
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_TLG
|
|
RETURN ARCADE_GAMES_SOUND_TLG_HIGH_SCORE_LETTER_SET
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_CAMHEDZ
|
|
RETURN ARCADE_GAMES_SOUND_TLG_HIGH_SCORE_LETTER_SET
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_GO_GO_SPACE_MONKEY_3
|
|
RETURN ARCADE_GAMES_SOUND_GGSM_SCORE_LETTER_CHANGE_SELECT
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_RNC_STREET_LEGAL
|
|
CASE CASINO_ARCADE_GAME_RNC_CROTCH_ROCKETS
|
|
CASE CASINO_ARCADE_GAME_RNC_GET_TRUCKIN
|
|
RETURN ROAD_ARCADE_AUDIO_EFFECT_SCOREBOARD_CONFIRM
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_THE_WIZARDS_RUIN
|
|
RETURN ARCADE_GAMES_SOUND_TWR_MENU_LETTER_LOCK
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_QUB3D
|
|
RETURN QUB3D_AUDIO_EFFECT_SCOREBOARD_ENTER
|
|
BREAK
|
|
ENDSWITCH
|
|
ASSERTLN("[ARCADE_GAMES_SOUND] No case added for game to get sound for Letter Set")
|
|
RETURN ARCADE_GAMES_SOUND_DEGENATRON_BUZZER
|
|
ENDFUNC
|
|
|
|
FUNC ARCADE_GAMES_SOUND ARCADE_GAMES_LEADERBAORD_GET_SOUND_STORE()
|
|
SWITCH sAGLeaderboardData.eGame
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_DEFENDER
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_MONKEY
|
|
CASE CASINO_ARCADE_GAME_DEGENATRON_PENETRATOR
|
|
RETURN ARCADE_GAMES_SOUND_DEGENATRON_HIGH_SCORE_STORE
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_TLG
|
|
RETURN ARCADE_GAMES_SOUND_TLG_HIGH_SCORE_STORE
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_CAMHEDZ
|
|
RETURN ARCADE_GAMES_SOUND_TLG_HIGH_SCORE_STORE
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_GO_GO_SPACE_MONKEY_3
|
|
RETURN ARCADE_GAMES_SOUND_GGSM_SCORE_ENTERED
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_RNC_STREET_LEGAL
|
|
CASE CASINO_ARCADE_GAME_RNC_CROTCH_ROCKETS
|
|
CASE CASINO_ARCADE_GAME_RNC_GET_TRUCKIN
|
|
RETURN ROAD_ARCADE_AUDIO_EFFECT_SCOREBOARD_ENTER
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_THE_WIZARDS_RUIN
|
|
RETURN ARCADE_GAMES_SOUND_TWR_MENU_LETTER_DONE
|
|
BREAK
|
|
|
|
CASE CASINO_ARCADE_GAME_QUB3D
|
|
RETURN QUB3D_AUDIO_EFFECT_SCOREBOARD_CONFIRM
|
|
BREAK
|
|
ENDSWITCH
|
|
ASSERTLN("[ARCADE_GAMES_SOUND] No case added for game to get sound for Score Store")
|
|
RETURN ARCADE_GAMES_SOUND_DEGENATRON_BUZZER
|
|
ENDFUNC
|
|
|
|
FUNC INT ARCADE_GAMES_GET_PLAYER_LEADERBOARD_POSITION()
|
|
|
|
IF sAGLeaderboardData.iLocalLbdPos != -1
|
|
RETURN sAGLeaderboardData.iLocalLbdPos
|
|
ENDIF
|
|
|
|
INT i
|
|
FOR i = 0 TO ciCASINO_ARCADE_LEADERBOARD_POSITIONS - 1
|
|
IF sAGLeaderboardData.sLeaderboard[i].bPlayer
|
|
sAGLeaderboardData.iLocalLbdPos = i
|
|
RETURN i
|
|
ENDIF
|
|
ENDFOR
|
|
|
|
RETURN ciARCADE_GAMES_LBD_DEFAULT_RANK
|
|
|
|
ENDFUNC
|
|
|
|
|
|
/// PURPOSE:
|
|
/// Initialise the leaderboard data
|
|
PROC ARCADE_GAMES_LEADERBOARD_INITIALISE(INT &iInitials[ciCASINO_ARCADE_LEADERBOARD_POSITIONS], INT &iScores[ciCASINO_ARCADE_LEADERBOARD_POSITIONS])
|
|
CDEBUG1LN(DEBUG_MINIGAME, "[DEGENATRON_GAMES][LEADERBOARD] - ARCADE_GAMES_LEADERBOARD_INITIALISE ")
|
|
INT i
|
|
FOR i = 0 TO ciCASINO_ARCADE_LEADERBOARD_POSITIONS - 1
|
|
|
|
IF iScores[i] <= 0
|
|
#IF IS_DEBUG_BUILD
|
|
OR sAGLeaderboardData.bForceDefaultLeaderboard
|
|
#ENDIF
|
|
CDEBUG3LN(DEBUG_MINIGAME, "[DEGENATRON_GAMES][LEADERBOARD] - ARCADE_GAMES_LEADERBOARD_INITIALISE - iScores[",i,"] <= 0")
|
|
//First time - Initialise
|
|
sAGLeaderboardData.sLeaderboard[i].iScore = ARCADE_GAMES_GET_DEFAULT_SCORE_FOR_POSITION(i)
|
|
|
|
sAGLeaderboardData.sLeaderboard[i].iInitials = ARCADE_GAMES_GET_DEFAULT_INITIALS_FOR_POSITION(i)
|
|
BROADCAST_CASINO_ARCADE_UPDATE_LEADERBOARD_EVENT(GET_OWNER_OF_SIMPLE_INTERIOR_PLAYER_IS_IN(PLAYER_ID()), ARCADE_GAMES_LEADERBOARD_GET_CASINO_ARCADE_GAME(), i, sAGLeaderboardData.sLeaderboard[i].iInitials, sAGLeaderboardData.sLeaderboard[i].iScore)
|
|
ELSE
|
|
CDEBUG3LN(DEBUG_MINIGAME, "[DEGENATRON_GAMES][LEADERBOARD] - ARCADE_GAMES_LEADERBOARD_INITIALISE - iScores[",i,"] = ",iScores[i])
|
|
sAGLeaderboardData.sLeaderboard[i].iScore = iScores[i]
|
|
sAGLeaderboardData.sLeaderboard[i].iInitials = iInitials[i]
|
|
ENDIF
|
|
|
|
ENDFOR
|
|
|
|
ENDPROC
|
|
|
|
PROC ARCADE_GAMES_SORT_LEADERBOARD_SWAP(ARCADE_GAMES_LEADERBOARD_STRUCT &sArray[], INT iA, INT iB)
|
|
ARCADE_GAMES_LEADERBOARD_STRUCT q
|
|
q.iInitials = sArray[iA].iInitials
|
|
q.bPlayer = sArray[iA].bPlayer
|
|
q.iScore = sArray[iA].iScore
|
|
|
|
sArray[iA].iInitials = sArray[iB].iInitials
|
|
sArray[iA].bPlayer = sArray[iB].bPlayer
|
|
sArray[iA].iScore = sArray[iB].iScore
|
|
|
|
sArray[iB].iInitials = q.iInitials
|
|
sArray[iB].bPlayer = q.bPlayer
|
|
sArray[iB].iScore = q.iScore
|
|
ENDPROC
|
|
|
|
PROC ARCADE_GAMES_QUICK_SORT_LEADERBOARD(ARCADE_GAMES_LEADERBOARD_STRUCT &sArray[], INT iArraySize)
|
|
INT iCurrent
|
|
REPEAT iArraySize-1 iCurrent
|
|
IF sArray[iCurrent].iScore < sArray[iArraySize-1].iScore
|
|
ARCADE_GAMES_SORT_LEADERBOARD_SWAP(sArray,iCurrent,iArraySize-1)
|
|
IF sAGLeaderboardData.iLocalLbdPos = -1
|
|
sAGLeaderboardData.iLocalLbdPos = iCurrent
|
|
ENDIF
|
|
ENDIF
|
|
ENDREPEAT
|
|
|
|
ENDPROC
|
|
|
|
/// PURPOSE:
|
|
/// Sorts the leaderboard once players' final scores are set
|
|
PROC ARCADE_GAMES_SORT_LEADERBOARD(INT &iScore)
|
|
|
|
ARCADE_GAMES_LEADERBOARD_STRUCT sTempArray[ciCASINO_ARCADE_LEADERBOARD_POSITIONS + 1]
|
|
INT i
|
|
FOR i = 0 TO ciCASINO_ARCADE_LEADERBOARD_POSITIONS - 1
|
|
sTempArray[i].iInitials = sAGLeaderboardData.sLeaderboard[i].iInitials
|
|
sTempArray[i].bPlayer = FALSE
|
|
sTempArray[i].iScore = sAGLeaderboardData.sLeaderboard[i].iScore
|
|
ENDFOR
|
|
|
|
IF !sAGLeaderboardData.bCheated
|
|
sTempArray[ciCASINO_ARCADE_LEADERBOARD_POSITIONS].bPlayer = TRUE
|
|
sTempArray[ciCASINO_ARCADE_LEADERBOARD_POSITIONS].iScore = iScore
|
|
sTempArray[ciCASINO_ARCADE_LEADERBOARD_POSITIONS].iInitials = 0
|
|
ENDIF
|
|
sAGLeaderboardData.iLocalLbdPos = -1
|
|
ARCADE_GAMES_QUICK_SORT_LEADERBOARD(sTempArray, ciCASINO_ARCADE_LEADERBOARD_POSITIONS+1)
|
|
|
|
CDEBUG3LN(DEBUG_MINIGAME, "[DEGENATRON_GAMES][LEADERBOARD] - ARCADE_GAMES_SORT_LEADERBOARD - Sorting")
|
|
FOR i = 0 TO ciCASINO_ARCADE_LEADERBOARD_POSITIONS - 1
|
|
sAGLeaderboardData.sLeaderboard[i].iInitials = sTempArray[i].iInitials
|
|
sAGLeaderboardData.sLeaderboard[i].bPlayer = sTempArray[i].bPlayer
|
|
sAGLeaderboardData.sLeaderboard[i].iScore = sTempArray[i].iScore
|
|
BROADCAST_CASINO_ARCADE_UPDATE_LEADERBOARD_EVENT(GET_OWNER_OF_SIMPLE_INTERIOR_PLAYER_IS_IN(PLAYER_ID()), ARCADE_GAMES_LEADERBOARD_GET_CASINO_ARCADE_GAME(), i, sAGLeaderboardData.sLeaderboard[i].iInitials, sAGLeaderboardData.sLeaderboard[i].iScore)
|
|
ENDFOR
|
|
|
|
ENDPROC
|
|
|
|
PROC ARCADE_GAMES_LEADERBOARD_PROCESS_ENTRY(INT &iScore)
|
|
CDEBUG3LN(DEBUG_MINIGAME, "[DEGENATRON_GAMES][LEADERBOARD] - ARCADE_GAMES_LEADERBOARD_PROCESS_ENTRY - iScore:",iScore)
|
|
|
|
IF NOT sAGLeaderboardData.bEditing
|
|
IF sAGLeaderboardData.sLeaderboard[ciCASINO_ARCADE_LEADERBOARD_POSITIONS-1].iScore < iScore
|
|
sAGLeaderboardData.bEditing = TRUE
|
|
ARCADE_GAMES_SORT_LEADERBOARD(iScore)
|
|
ELSE
|
|
EXIT
|
|
ENDIF
|
|
ENDIF
|
|
|
|
|
|
// IF ARCADE_GAMES_GET_PLAYER_LEADERBOARD_POSITION() >= ciCASINO_ARCADE_LEADERBOARD_POSITIONS
|
|
// EXIT
|
|
// ENDIF
|
|
//
|
|
INT iUnpackedInitials[ciARCADE_CABINET_LEADERBOARD_INITIALS]
|
|
|
|
IF SC_PROFANITY_GET_CHECK_IS_VALID(sAGLeaderboardData.iLbdInitialProfanityToken)
|
|
|
|
IF SC_PROFANITY_GET_CHECK_IS_PENDING(sAGLeaderboardData.iLbdInitialProfanityToken)
|
|
EXIT
|
|
ENDIF
|
|
|
|
IF SC_PROFANITY_GET_STRING_PASSED(sAGLeaderboardData.iLbdInitialProfanityToken)
|
|
CDEBUG1LN(DEBUG_MINIGAME, "[DEGENATRON_GAMES][LEADERBOARD] - ARCADE_GAMES_LEADERBOARD_PROCESS_ENTRY - Profanity: Initials OK")
|
|
CDEBUG1LN(DEBUG_MINIGAME, "[DEGENATRON_GAMES][LEADERBOARD] - ARCADE_GAMES_LEADERBOARD_PROCESS_ENTRY - iInitials: ",sAGLeaderboardData.iInitials)
|
|
CDEBUG1LN(DEBUG_MINIGAME, "[DEGENATRON_GAMES][LEADERBOARD] - ARCADE_GAMES_LEADERBOARD_PROCESS_ENTRY - iScore: ",iScore)
|
|
sAGLeaderboardData.sLeaderboard[ARCADE_GAMES_GET_PLAYER_LEADERBOARD_POSITION()].iInitials = sAGLeaderboardData.iInitials
|
|
BROADCAST_CASINO_ARCADE_UPDATE_LEADERBOARD_EVENT(GET_OWNER_OF_SIMPLE_INTERIOR_PLAYER_IS_IN(PLAYER_ID()), ARCADE_GAMES_LEADERBOARD_GET_CASINO_ARCADE_GAME(), ARCADE_GAMES_GET_PLAYER_LEADERBOARD_POSITION(), sAGLeaderboardData.sLeaderboard[ARCADE_GAMES_GET_PLAYER_LEADERBOARD_POSITION()].iInitials, sAGLeaderboardData.sLeaderboard[ARCADE_GAMES_GET_PLAYER_LEADERBOARD_POSITION()].iScore,TRUE)
|
|
sAGLeaderboardData.bEditing = FALSE
|
|
sAGLeaderboardData.iCurrentInitial = 0
|
|
sAGLeaderboardData.iInitials = 0
|
|
sAGLeaderboardData.iLbdInitialProfanityToken = 0
|
|
iScore = 0
|
|
ELSE
|
|
CDEBUG1LN(DEBUG_MINIGAME, "[DEGENATRON_GAMES][LEADERBOARD] - ARCADE_GAMES_LEADERBOARD_PROCESS_ENTRY - Profanity: Initials BAD")
|
|
// ARCADE_GAMES_PLAY_FIRE_AND_FORGET_FRONTEND_SOUND("Frontend_Change_Letter")
|
|
sAGLeaderboardData.iCurrentInitial = 0
|
|
sAGLeaderboardData.iInitials = 0
|
|
sAGLeaderboardData.iLbdInitialProfanityToken = 0
|
|
ENDIF
|
|
|
|
EXIT
|
|
|
|
ENDIF
|
|
//
|
|
// IF sDegenatronGamesData.sAGLeaderboardData.iCurrentInitial >= ciARCADE_CABINET_LEADERBOARD_INITIALS - 1
|
|
// EXIT
|
|
// ENDIF
|
|
//
|
|
CONTROL_ACTION CA_InitialUp = INPUT_SCRIPT_RB
|
|
CONTROL_ACTION CA_InitialDown = INPUT_SCRIPT_LB
|
|
CONTROL_ACTION CA_InitialAccept = INPUT_FRONTEND_ACCEPT
|
|
CONTROL_ACTION CA_InitialBack = INPUT_FRONTEND_CANCEL
|
|
IF IS_USING_KEYBOARD_AND_MOUSE(FRONTEND_CONTROL)
|
|
CA_InitialAccept = INPUT_CURSOR_ACCEPT
|
|
CA_InitialBack = INPUT_CURSOR_CANCEL
|
|
CA_InitialUp = INPUT_FRONTEND_UP
|
|
CA_InitialDown = INPUT_FRONTEND_DOWN
|
|
ENDIF
|
|
|
|
IF IS_DISABLED_CONTROL_JUST_PRESSED(FRONTEND_CONTROL, CA_InitialAccept)
|
|
sAGLeaderboardData.iCurrentInitial ++
|
|
IF sAGLeaderboardData.iCurrentInitial >= ciARCADE_CABINET_LEADERBOARD_INITIALS - 1
|
|
ARCADE_GAMES_SOUND_PLAY(ARCADE_GAMES_LEADERBAORD_GET_SOUND_STORE())
|
|
sAGLeaderboardData.iCurrentInitial = ciARCADE_CABINET_LEADERBOARD_INITIALS - 1
|
|
|
|
ARCADE_UNPACK_LEADERBOARD_INITIALS(sAGLeaderboardData.iInitials, iUnpackedInitials)
|
|
TEXT_LABEL_3 tl3Initials = ARCADE_GET_CHAR_FROM_INT(iUnpackedInitials[0])
|
|
tl3Initials += ARCADE_GET_CHAR_FROM_INT(iUnpackedInitials[1])
|
|
tl3Initials += ARCADE_GET_CHAR_FROM_INT(iUnpackedInitials[2])
|
|
|
|
IF SC_PROFANITY_CHECK_STRING(tl3Initials, sAGLeaderboardData.iLbdInitialProfanityToken)
|
|
CDEBUG1LN(DEBUG_MINIGAME, "[DEGENATRON_GAMES][LEADERBOARD] - ARCADE_GAMES_LEADERBOARD_PROCESS_ENTRY - Profanity: Starting check")
|
|
ENDIF
|
|
ELSE
|
|
ARCADE_GAMES_SOUND_PLAY(ARCADE_GAMES_LEADERBAORD_GET_SOUND_LETTER_SET())
|
|
ENDIF
|
|
EXIT
|
|
ENDIF
|
|
|
|
IF IS_DISABLED_CONTROL_JUST_PRESSED(FRONTEND_CONTROL, CA_InitialBack)
|
|
IF sAGLeaderboardData.iCurrentInitial > 0
|
|
ARCADE_GAMES_SOUND_PLAY(ARCADE_GAMES_LEADERBAORD_GET_SOUND_LETTER_SET())
|
|
sAGLeaderboardData.iCurrentInitial --
|
|
ENDIF
|
|
EXIT
|
|
ENDIF
|
|
|
|
INT iDelta = 0
|
|
IF IS_DISABLED_CONTROL_JUST_PRESSED(FRONTEND_CONTROL, CA_InitialUp)
|
|
ARCADE_GAMES_SOUND_PLAY(ARCADE_GAMES_LEADERBAORD_GET_SOUND_LETTER_CHANGE())
|
|
iDelta = 1
|
|
ELIF IS_DISABLED_CONTROL_JUST_PRESSED(FRONTEND_CONTROL, CA_InitialDown)
|
|
ARCADE_GAMES_SOUND_PLAY(ARCADE_GAMES_LEADERBAORD_GET_SOUND_LETTER_CHANGE())
|
|
iDelta = -1
|
|
ENDIF
|
|
|
|
IF iDelta = 0
|
|
EXIT
|
|
ENDIF
|
|
|
|
// ARCADE_GAMES_PLAY_FIRE_AND_FORGET_FRONTEND_SOUND("Frontend_Change_Letter")
|
|
|
|
ARCADE_UNPACK_LEADERBOARD_INITIALS(sAGLeaderboardData.iInitials, iUnpackedInitials)
|
|
|
|
iUnpackedInitials[sAGLeaderboardData.iCurrentInitial] += iDelta
|
|
|
|
IF iUnpackedInitials[sAGLeaderboardData.iCurrentInitial] >= ciARCADE_CABINET_LEADERBOARD_INITIALS_MAX
|
|
iUnpackedInitials[sAGLeaderboardData.iCurrentInitial] = 0
|
|
ELIF iUnpackedInitials[sAGLeaderboardData.iCurrentInitial] < 0
|
|
iUnpackedInitials[sAGLeaderboardData.iCurrentInitial] = ciARCADE_CABINET_LEADERBOARD_INITIALS_MAX - 1
|
|
ENDIF
|
|
|
|
sAGLeaderboardData.iInitials = ARCADE_PACK_LEADERBOARD_INITIALS(iUnpackedInitials)
|
|
|
|
ENDPROC
|
|
|
|
PROC ARCADE_GAMES_DRAW_INTEGER(INT iValue, INT iDigits, VECTOR_2D vCenter,RGBA_COLOUR_STRUCT rgba)
|
|
VECTOR_2D vCharCenter = vCenter
|
|
VECTOR_2D vCharSize = ARCADE_GAMES_LEADERBOARD_GET_CHAR_TEXTURE_SIZE()
|
|
VECTOR_2D vCharSeparation = ARCADE_GAMES_LEADERBOARD_GET_CHAR_TEXTURE_SEPARATION()
|
|
BOOL bZero = (iValue = 0)
|
|
INT iChar
|
|
|
|
IF iDigits = 0
|
|
INT currentValue
|
|
currentValue = iValue
|
|
WHILE currentValue > 0 OR bZero
|
|
bZero = FALSE
|
|
vCharCenter.x = vCenter.x + vCharSeparation.x * (iDigits-1)/2.0 - vCharSeparation.x * iChar
|
|
TEXT_LABEL_63 tlTextureName
|
|
tlTextureName = ARCADE_GAMES_LEADERBOARD_GET_TEXTURE_NUMBER()
|
|
tlTextureName += currentValue % 10
|
|
currentValue /= 10
|
|
ARCADE_DRAW_PIXELSPACE_SPRITE(ARCADE_GAMES_LEADERBOARD_GET_TEXTURE_DICTIONARY(), tlTextureName,vCharCenter,vCharSize,0.0, rgba)
|
|
iChar++
|
|
ENDWHILE
|
|
ELSE
|
|
REPEAT iDigits iChar
|
|
vCharCenter.x = vCenter.x + vCharSeparation.x * (iDigits-1)/2.0 - vCharSeparation.x * iChar
|
|
TEXT_LABEL_63 tlTextureName
|
|
tlTextureName = ARCADE_GAMES_LEADERBOARD_GET_TEXTURE_NUMBER()
|
|
tlTextureName += (iValue / ROUND(POW(10.0,to_float(iChar)))) % 10
|
|
ARCADE_DRAW_PIXELSPACE_SPRITE(ARCADE_GAMES_LEADERBOARD_GET_TEXTURE_DICTIONARY(), tlTextureName,vCharCenter,vCharSize,0.0, rgba)
|
|
ENDREPEAT
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC ARCADE_GAMES_LEADERBOARD_DRAW_UNPACKED_INITIALS(INT &iUnpackedInitials[ciARCADE_CABINET_LEADERBOARD_INITIALS], VECTOR_2D vCenter,RGBA_COLOUR_STRUCT rgba,RGBA_COLOUR_STRUCT rgbaHighlight, BOOL editing)
|
|
VECTOR_2D vCharCenter = vCenter
|
|
VECTOR_2D vCharSize = ARCADE_GAMES_LEADERBOARD_GET_CHAR_TEXTURE_SIZE()
|
|
VECTOR_2D vCharSeparation = ARCADE_GAMES_LEADERBOARD_GET_CHAR_TEXTURE_SEPARATION()
|
|
|
|
RGBA_COLOUR_STRUCT color
|
|
|
|
INT iChar
|
|
|
|
REPEAT 3 iChar
|
|
vCharCenter.x = vCenter.x + vCharSeparation.x * (3-1)/2.0 + vCharSeparation.x * iChar
|
|
TEXT_LABEL_63 tlTextureName
|
|
IF iUnpackedInitials[iChar] < 26
|
|
tlTextureName = ARCADE_GAMES_LEADERBOARD_GET_TEXTURE_LETTER()
|
|
|
|
ELSE
|
|
tlTextureName = ARCADE_GAMES_LEADERBOARD_GET_TEXTURE_NUMBER()
|
|
|
|
ENDIF
|
|
tlTextureName += ARCADE_GET_CHAR_FROM_INT(iUnpackedInitials[iChar])
|
|
IF editing
|
|
IF sAGLeaderboardData.iCurrentInitial = iChar
|
|
IF sAGLeaderboardData.iTickTimer = 0
|
|
color = rgba
|
|
ELSE
|
|
color = rgbaHighlight
|
|
ENDIF
|
|
ELSE
|
|
color = rgbaHighlight
|
|
ENDIF
|
|
ELSE
|
|
color = rgba
|
|
ENDIF
|
|
|
|
ARCADE_DRAW_PIXELSPACE_SPRITE(ARCADE_GAMES_LEADERBOARD_GET_TEXTURE_DICTIONARY(), tlTextureName,vCharCenter,vCharSize,0.0, color)
|
|
ENDREPEAT
|
|
ENDPROC
|
|
|
|
PROC ARCADE_GAMES_LEADERBOARD_DRAW_RANK(INT iPosition, VECTOR_2D vCenter,RGBA_COLOUR_STRUCT rgba,RGBA_COLOUR_STRUCT rgbaHighlight, BOOL editing)
|
|
CDEBUG3LN(DEBUG_MINIGAME, "[DEGENATRON_GAMES][LEADERBOARD] - ARCADE_GAMES_LEADERBOARD_DRAW_RANK ")
|
|
VECTOR_2D vCharCenter = vCenter
|
|
VECTOR_2D vCharSize = ARCADE_GAMES_LEADERBOARD_GET_CHAR_TEXTURE_SIZE()
|
|
VECTOR_2D vCharSeparation = ARCADE_GAMES_LEADERBOARD_GET_CHAR_TEXTURE_SEPARATION()
|
|
RGBA_COLOUR_STRUCT color
|
|
IF editing
|
|
color = rgbaHighlight
|
|
ELSE
|
|
color = rgba
|
|
ENDIF
|
|
|
|
TEXT_LABEL_63 tlTextureName
|
|
IF iPosition = 10
|
|
tlTextureName = ARCADE_GAMES_LEADERBOARD_GET_TEXTURE_NUMBER()
|
|
tlTextureName += 1
|
|
vCharCenter.x = vCharCenter.x - vCharSeparation.x
|
|
ARCADE_DRAW_PIXELSPACE_SPRITE(ARCADE_GAMES_LEADERBOARD_GET_TEXTURE_DICTIONARY(), tlTextureName,vCharCenter,vCharSize,0.0, color)
|
|
vCharCenter = vCenter
|
|
iPosition = 0
|
|
ENDIF
|
|
tlTextureName = ARCADE_GAMES_LEADERBOARD_GET_TEXTURE_NUMBER()
|
|
tlTextureName += iPosition
|
|
ARCADE_DRAW_PIXELSPACE_SPRITE(ARCADE_GAMES_LEADERBOARD_GET_TEXTURE_DICTIONARY(), tlTextureName,vCharCenter,vCharSize,0.0, color)
|
|
|
|
vCharCenter.x = vCenter.x + vCharSeparation.x * 1
|
|
tlTextureName = ARCADE_GAMES_LEADERBOARD_GET_TEXTURE_LETTER()
|
|
IF iPosition = 1
|
|
tlTextureName += "S"
|
|
ELIF iPosition = 2
|
|
tlTextureName += "N"
|
|
ELIF iPosition = 3
|
|
tlTextureName += "R"
|
|
ELSE
|
|
tlTextureName += "T"
|
|
ENDIF
|
|
ARCADE_DRAW_PIXELSPACE_SPRITE(ARCADE_GAMES_LEADERBOARD_GET_TEXTURE_DICTIONARY(), tlTextureName,vCharCenter,vCharSize,0.0, color)
|
|
|
|
vCharCenter.x = vCenter.x + vCharSeparation.x * 2
|
|
tlTextureName = ARCADE_GAMES_LEADERBOARD_GET_TEXTURE_LETTER()
|
|
IF iPosition = 1
|
|
tlTextureName += "T"
|
|
ELIF iPosition = 2
|
|
tlTextureName += "D"
|
|
ELIF iPosition = 3
|
|
tlTextureName += "D"
|
|
ELSE
|
|
tlTextureName += "H"
|
|
ENDIF
|
|
ARCADE_DRAW_PIXELSPACE_SPRITE(ARCADE_GAMES_LEADERBOARD_GET_TEXTURE_DICTIONARY(), tlTextureName,vCharCenter,vCharSize,0.0, color)
|
|
ENDPROC
|
|
|
|
PROC ARCADE_GAMES_LEADERBOARD_DRAW_SCORE(INT iScore, VECTOR_2D vCenter,RGBA_COLOUR_STRUCT rgba,RGBA_COLOUR_STRUCT rgbaHighlight, BOOL editing)
|
|
VECTOR_2D vCharCenter = vCenter
|
|
VECTOR_2D vCharSize = ARCADE_GAMES_LEADERBOARD_GET_CHAR_TEXTURE_SIZE()
|
|
VECTOR_2D vCharSeparation = ARCADE_GAMES_LEADERBOARD_GET_CHAR_TEXTURE_SEPARATION()
|
|
RGBA_COLOUR_STRUCT color
|
|
IF editing
|
|
color = rgbaHighlight
|
|
ELSE
|
|
color = rgba
|
|
ENDIF
|
|
|
|
ARCADE_GAMES_DRAW_INTEGER(iScore,ARCADE_GAMES_LEADERBOARD_GET_SCORE_MAX_CHARS(),vCenter,color)
|
|
//PTS
|
|
TEXT_LABEL_63 tlTextureName
|
|
vCharCenter.x = vCenter.x + vCharSeparation.x * (ARCADE_GAMES_LEADERBOARD_GET_SCORE_MAX_CHARS()/2 + 1)
|
|
tlTextureName = ARCADE_GAMES_LEADERBOARD_GET_TEXTURE_LETTER()
|
|
tlTextureName += "P"
|
|
ARCADE_DRAW_PIXELSPACE_SPRITE(ARCADE_GAMES_LEADERBOARD_GET_TEXTURE_DICTIONARY(), tlTextureName,vCharCenter,vCharSize,0.0, color)
|
|
vCharCenter.x = vCenter.x + vCharSeparation.x * (ARCADE_GAMES_LEADERBOARD_GET_SCORE_MAX_CHARS()/2 + 2)
|
|
tlTextureName = ARCADE_GAMES_LEADERBOARD_GET_TEXTURE_LETTER()
|
|
tlTextureName += "T"
|
|
ARCADE_DRAW_PIXELSPACE_SPRITE(ARCADE_GAMES_LEADERBOARD_GET_TEXTURE_DICTIONARY(), tlTextureName,vCharCenter,vCharSize,0.0, color)
|
|
vCharCenter.x = vCenter.x + vCharSeparation.x * (ARCADE_GAMES_LEADERBOARD_GET_SCORE_MAX_CHARS()/2 + 3)
|
|
tlTextureName = ARCADE_GAMES_LEADERBOARD_GET_TEXTURE_LETTER()
|
|
tlTextureName += "S"
|
|
ARCADE_DRAW_PIXELSPACE_SPRITE(ARCADE_GAMES_LEADERBOARD_GET_TEXTURE_DICTIONARY(), tlTextureName,vCharCenter,vCharSize,0.0, color)
|
|
ENDPROC
|
|
|
|
/// PURPOSE:
|
|
/// Draws the leaderboard
|
|
PROC ARCADE_GAMES_LEADERBOARD_DRAW(BOOL bIsPlayerTwo = FALSE, BOOL bDoHelpText = TRUE)
|
|
CDEBUG3LN(DEBUG_MINIGAME, "[DEGENATRON_GAMES][LEADERBOARD] - ARCADE_GAMES_LEADERBOARD_DRAW ")
|
|
|
|
IF bDoHelpText
|
|
IF sAGLeaderboardData.bEditing
|
|
ARCADE_GAMES_HELP_TEXT_PRINT_FOREVER(ARCADE_GAMES_HELP_TEXT_ENUM_LEADERBOARD_ENTRY)
|
|
ELSE
|
|
ARCADE_GAMES_HELP_TEXT_PRINT_FOREVER(ARCADE_GAMES_HELP_TEXT_ENUM_LEADERBOARD)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
VECTOR_2D vCharSeparation = ARCADE_GAMES_LEADERBOARD_GET_CHAR_TEXTURE_SEPARATION()
|
|
sAGLeaderboardData.iTickTimer = ((sAGLeaderboardData.iTickTimer + ROUND(GET_FRAME_TIME() * 1000))% 1000) / 500
|
|
|
|
ARCADE_DRAW_PIXELSPACE_SPRITE(ARCADE_GAMES_LEADERBOARD_GET_TEXTURE_DICTIONARY(),ARCADE_GAMES_LEADERBOARD_GET_TITLE_TEXTURE_NAME(),ARCADE_GAMES_LEADERBOARD_GET_TITLE_TEXTURE_POSITION(),ARCADE_GAMES_LEADERBOARD_GET_TITLE_TEXTURE_SIZE(),0.0,ARCADE_GAMES_LEADERBOARD_GET_DEFAULT_COLOR())
|
|
|
|
INT iUnpackedInitials[ciARCADE_CABINET_LEADERBOARD_INITIALS]
|
|
INT iPositionLoop = 0
|
|
FOR iPositionLoop = 0 TO ciCASINO_ARCADE_LEADERBOARD_POSITIONS - 1
|
|
BOOL bEditing
|
|
bEditing = sAGLeaderboardData.sLeaderboard[iPositionLoop].bPlayer AND sAGLeaderboardData.bEditing
|
|
|
|
IF sAGLeaderboardData.sLeaderboard[iPositionLoop].bPlayer
|
|
AND (sAGLeaderboardData.iCurrentInitial < ciARCADE_CABINET_LEADERBOARD_INITIALS - 1 OR SC_PROFANITY_GET_CHECK_IS_VALID(sAGLeaderboardData.iLbdInitialProfanityToken))
|
|
AND sAGLeaderboardData.bEditing
|
|
ARCADE_UNPACK_LEADERBOARD_INITIALS(sAGLeaderboardData.iInitials, iUnpackedInitials)
|
|
ELSE
|
|
ARCADE_UNPACK_LEADERBOARD_INITIALS(sAGLeaderboardData.sLeaderboard[iPositionLoop].iInitials, iUnpackedInitials)
|
|
ENDIF
|
|
|
|
//Rank
|
|
ARCADE_GAMES_LEADERBOARD_DRAW_RANK(iPositionLoop+1,ADD_VECTOR_2D(ARCADE_GAMES_LEADERBOARD_GET_RANK_COLUMN_POSITION(),INIT_VECTOR_2D(0.0,vCharSeparation.y*iPositionLoop)),ARCADE_GAMES_LEADERBOARD_GET_DEFAULT_COLOR(),ARCADE_GAMES_LEADERBOARD_GET_ENTRY_COLOR(bIsPlayerTwo),bEditing)
|
|
|
|
//Initials
|
|
ARCADE_GAMES_LEADERBOARD_DRAW_UNPACKED_INITIALS(iUnpackedInitials,ADD_VECTOR_2D(ARCADE_GAMES_LEADERBOARD_GET_INITIALS_COLUMN_POSITION(),INIT_VECTOR_2D(0.0,vCharSeparation.y*iPositionLoop)),ARCADE_GAMES_LEADERBOARD_GET_DEFAULT_COLOR(),ARCADE_GAMES_LEADERBOARD_GET_ENTRY_COLOR(bIsPlayerTwo),bEditing)
|
|
|
|
//Score
|
|
ARCADE_GAMES_LEADERBOARD_DRAW_SCORE(sAGLeaderboardData.sLeaderboard[iPositionLoop].iScore,ADD_VECTOR_2D(ARCADE_GAMES_LEADERBOARD_GET_SCORE_COLUMN_POSITION(),INIT_VECTOR_2D(0.0,vCharSeparation.y*iPositionLoop)),ARCADE_GAMES_LEADERBOARD_GET_DEFAULT_COLOR(),ARCADE_GAMES_LEADERBOARD_GET_ENTRY_COLOR(bIsPlayerTwo),bEditing)
|
|
|
|
ENDFOR
|
|
|
|
ENDPROC
|
|
|
|
PROC ARCADE_GAMES_LEADERBOARD_LOAD(CASINO_ARCADE_GAME eGame)
|
|
IF sAGLeaderboardData.eGame != eGame
|
|
CDEBUG1LN(DEBUG_MINIGAME, "[DEGENATRON_GAMES][LEADERBOARD] - ARCADE_GAMES_LEADERBOARD_INITIALISE_STAGE - sAGLeaderboardData.eGame = ",eGame)
|
|
sAGLeaderboardData.eGame = eGame
|
|
sAGLeaderboardData.bLeaderboardReceived = FALSE
|
|
sAGLeaderboardData.iLastLeaderboardRequest = -HIGHEST_INT
|
|
ENDIF
|
|
IF NOT sAGLeaderboardData.bLeaderboardReceived
|
|
AND (sAGLeaderboardData.iLastLeaderboardRequest = -HIGHEST_INT
|
|
OR NATIVE_TO_INT(GET_NETWORK_TIME()) - sAGLeaderboardData.iLastLeaderboardRequest > ciARCADE_GAMES_RESEND_LEADERBOARD_REQUEST_TIME)
|
|
BROADCAST_CASINO_ARCADE_REQUEST_LEADERBOARD_EVENT(GET_OWNER_OF_SIMPLE_INTERIOR_PLAYER_IS_IN(PLAYER_ID()), ARCADE_GAMES_LEADERBOARD_GET_CASINO_ARCADE_GAME())
|
|
sAGLeaderboardData.iLastLeaderboardRequest = NATIVE_TO_INT(GET_NETWORK_TIME())
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
// ------------------------------ EVENT PROCESSING ------------------------------
|
|
|
|
/// PURPOSE:
|
|
/// Processes all incoming events
|
|
PROC ARCADE_GAMES_LEADERBOARD_PROCESS_EVENTS()
|
|
|
|
//REMOVE IF ANY OTHER EVENTS ADDED
|
|
IF sAGLeaderboardData.bLeaderboardReceived
|
|
CDEBUG1LN(DEBUG_MINIGAME, "[DEGENATRON_GAMES][LEADERBOARD] - ARCADE_GAMES_PROCESS_EVENTS - Did not receive leaderboard. EXITING")
|
|
EXIT
|
|
ENDIF
|
|
|
|
INT iCount
|
|
SCRIPT_EVENT_DATA_CASINO_ARCADE_SEND_LEADERBOARD_EVENT EventDataLeaderboardSend
|
|
|
|
REPEAT GET_NUMBER_OF_EVENTS(SCRIPT_EVENT_QUEUE_NETWORK) iCount
|
|
|
|
IF GET_EVENT_AT_INDEX(SCRIPT_EVENT_QUEUE_NETWORK, iCount) != EVENT_NETWORK_SCRIPT_EVENT
|
|
CDEBUG1LN(DEBUG_MINIGAME, "[DEGENATRON_GAMES][LEADERBOARD] - ARCADE_GAMES_PROCESS_EVENTS - RELOOPING EVENT QUEUE")
|
|
RELOOP
|
|
ENDIF
|
|
|
|
IF GET_EVENT_DATA(SCRIPT_EVENT_QUEUE_NETWORK, iCount, EventDataLeaderboardSend, SIZE_OF(EventDataLeaderboardSend))
|
|
CDEBUG1LN(DEBUG_MINIGAME, "[DEGENATRON_GAMES][LEADERBOARD] - ARCADE_GAMES_PROCESS_EVENTS - SCRIPT_EVENT_DATA_CASINO_ARCADE_SEND_LEADERBOARD_EVENT received")
|
|
IF EventDataLeaderboardSend.Details.Type = SCRIPT_EVENT_CASINO_ARCADE_SEND_LEADERBOARD_EVENT
|
|
CDEBUG1LN(DEBUG_MINIGAME, "[DEGENATRON_GAMES][LEADERBOARD] - ARCADE_GAMES_PROCESS_EVENTS - EventDataLeaderboardSend.eGameType ",enum_to_int(EventDataLeaderboardSend.eGameType))
|
|
CDEBUG1LN(DEBUG_MINIGAME, "[DEGENATRON_GAMES][LEADERBOARD] - ARCADE_GAMES_PROCESS_EVENTS - ARCADE_GAMES_LEADERBOARD_GET_CASINO_ARCADE_GAME ",enum_to_int(ARCADE_GAMES_LEADERBOARD_GET_CASINO_ARCADE_GAME()))
|
|
IF EventDataLeaderboardSend.eGameType != ARCADE_GAMES_LEADERBOARD_GET_CASINO_ARCADE_GAME()
|
|
RELOOP
|
|
ENDIF
|
|
ARCADE_GAMES_LEADERBOARD_INITIALISE(EventDataLeaderboardSend.iInitials, EventDataLeaderboardSend.iScores)
|
|
RELOOP
|
|
ENDIF
|
|
ELSE
|
|
CDEBUG1LN(DEBUG_MINIGAME, "[DEGENATRON_GAMES][LEADERBOARD] - ARCADE_GAMES_PROCESS_EVENTS - FAILED TO RETRIEVE DATA")
|
|
ENDIF
|
|
|
|
ENDREPEAT
|
|
ENDPROC
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
PROC ARCADE_GAMES_LEADERBOARD_WIDGET_CREATE
|
|
START_WIDGET_GROUP("Leaderboard")
|
|
ADD_WIDGET_BOOL("Force Default Leaderboard", sAGLeaderboardData.bForceDefaultLeaderboard)
|
|
STOP_WIDGET_GROUP()
|
|
ENDPROC
|
|
|
|
PROC ARCADE_GAMES_LEADERBOARD_WIDGET_UPDATE
|
|
IF sAGLeaderboardData.bForceDefaultLeaderboard
|
|
INT iInitials[ciCASINO_ARCADE_LEADERBOARD_POSITIONS]
|
|
INT iScores[ciCASINO_ARCADE_LEADERBOARD_POSITIONS]
|
|
ARCADE_GAMES_LEADERBOARD_INITIALISE(iInitials,iScores)
|
|
sAGLeaderboardData.bForceDefaultLeaderboard = FALSE
|
|
ENDIF
|
|
ENDPROC
|
|
#ENDIF
|