240 lines
6.5 KiB
XML
Executable File
240 lines
6.5 KiB
XML
Executable File
|
|
CONST_INT PRICE_OF_RANGE 14
|
|
|
|
ENUM RANGE_LOCATION
|
|
RANGELOC_PILLBOX_HILL = 0,
|
|
RANGELOC_CYPRESS_FLATS
|
|
ENDENUM
|
|
|
|
ENUM RANGE_ROUND_TYPE
|
|
RT_INVALID = -1,
|
|
RT_PISTOL_CHAL_1, // 0
|
|
RT_PISTOL_CHAL_2,
|
|
RT_PISTOL_CHAL_3,
|
|
RT_SMG_CHAL_1, // 3
|
|
RT_SMG_CHAL_2,
|
|
RT_SMG_CHAL_3,
|
|
RT_SHOTGUN_CHAL_1, // 6
|
|
RT_SHOTGUN_CHAL_2,
|
|
RT_SHOTGUN_CHAL_3,
|
|
RT_AR_CHAL_1, // 9
|
|
RT_AR_CHAL_2,
|
|
RT_AR_CHAL_3,
|
|
RT_LMG_CHAL_1, // 12
|
|
RT_LMG_CHAL_2,
|
|
RT_LMG_CHAL_3,
|
|
RT_MINIGUN_CHAL_1, // 15
|
|
RT_MINIGUN_CHAL_2,
|
|
RT_MINIGUN_CHAL_3,
|
|
RT_RAILGUN_CHAL_1, // 18
|
|
RT_RAILGUN_CHAL_2,
|
|
RT_RAILGUN_CHAL_3,
|
|
RT_RAILGUN_CHAL_4,
|
|
RT_MAX_ROUND_TYPES
|
|
ENDENUM
|
|
|
|
// This is used in conjunction with the above to control what's been unlocked and not highlighted.
|
|
ENUM RANGE_UNLOCK_CATEGORIES
|
|
R_CAT_UNLOCK_HG = 20,
|
|
R_CAT_UNLOCK_SMG = 21,
|
|
R_CAT_UNLOCK_AR = 22,
|
|
R_CAT_UNLOCK_SG = 23,
|
|
R_CAT_UNLOCK_LMG = 24,
|
|
R_CAT_UNLOCK_HVY = 25,
|
|
R_CAT_UNLOCK_RAIL = 26
|
|
ENDENUM
|
|
|
|
ENUM RANGE_WEAPON_TYPE
|
|
RANGE_PISTOL = 0,
|
|
RANGE_COMBATPISTOL,
|
|
RANGE_APPISTOL,
|
|
RANGE_DLC_PISTOL50,
|
|
RANGE_DLC_SNSPISTOL,
|
|
|
|
RANGE_MICROSMG = 0,
|
|
RANGE_SMG,
|
|
RANGE_DLC_ASSAULTSMG,
|
|
|
|
|
|
RANGE_ASSAULTRIFLE = 0,
|
|
RANGE_CARBINERIFLE,
|
|
RANGE_ADVANCEDRIFLE,
|
|
RANGE_DLC_HEAVYRIFLE,
|
|
RANGE_DLC_SPECIALCARBINE,
|
|
|
|
|
|
RANGE_PUMPSHOTGUN = 0,
|
|
RANGE_SAWNOFFSHOTGUN,
|
|
RANGE_ASSAULTSHOTGUN,
|
|
RANGE_DLC_BULLPUPSHOTGUN,
|
|
|
|
|
|
RANGE_MINIGUN = 0,
|
|
|
|
RANGE_MG = 0,
|
|
RANGE_COMBATMG,
|
|
RANGE_DLC_ASSAULTMG,
|
|
|
|
//NG Current gen owners only
|
|
RANGE_RAILGUN = 0
|
|
|
|
ENDENUM
|
|
|
|
ENUM RANGE_ROUND_MEDAL
|
|
RRM_NONE,
|
|
RRM_BRONZE,
|
|
RRM_SILVER,
|
|
RRM_GOLD
|
|
ENDENUM
|
|
|
|
STRUCT RangeRoundDataSaved
|
|
INT iLastScore // The last attempt score
|
|
// INT iHighScore // Highest score
|
|
BOOL bUnlocked // Have we unlocked this mode yet
|
|
BOOL bPassed // Have we passed this mode yet
|
|
|
|
RANGE_ROUND_MEDAL eTopMedal // What is our highest medal
|
|
|
|
RANGE_WEAPON_TYPE eWeaponType // Weapon used
|
|
INT iShotsFired // Shots Fired
|
|
INT iShotsHit // Shots Hit
|
|
FLOAT fAccuracy // Accuracy %
|
|
|
|
INT iZone1Hit
|
|
INT iZone2Hit
|
|
INT iZone3Hit
|
|
INT iZone4Hit
|
|
ENDSTRUCT
|
|
|
|
ENUM SHOOTRANGE_BOOLS
|
|
// These are bits, but we can't include the BIT1, etc header in here.
|
|
SRB_PrintedMinScore_ReverseRange = 1,
|
|
SRB_ShownFloatingHelp_ShopDiscountBronze = 8,
|
|
SRB_ShownFloatingHelp_ShopDiscountSilver = 16,
|
|
SRB_ShownFloatingHelp_ShopDiscountGold = 32,
|
|
SRB_RangeInSession = 64,
|
|
SRB_QuitFromRange = 128,
|
|
SRB_HideBetsMsg = 256
|
|
ENDENUM
|
|
|
|
STRUCT ShootRangeDataSaved
|
|
INT iCatChalLockStatus // Category and Challenge lock status flags
|
|
INT iWeaponLockStatus // Indiv. weapons lock status flags
|
|
INT iWeaponUsedStatus // Tracks which indiv. weapons have been used in the range.
|
|
|
|
RangeRoundDataSaved sRounds[RT_MAX_ROUND_TYPES]
|
|
BOOL m_bSeenTutorial // Our first time at the range?
|
|
BOOL bClearedAll // Have we cleared all the challenges and awarded a completion percentage
|
|
INT iBools
|
|
ENDSTRUCT
|
|
|
|
USING "hud_colours.sch"
|
|
STRUCT Range_HUD_Data
|
|
STRING sTimerLabel
|
|
INT iTimerVal = -1
|
|
HUD_COLOURS eTimerColor = HUD_COLOUR_WHITE
|
|
|
|
STRING sBestScore
|
|
INT iBestScore = -1
|
|
HUD_COLOURS eBestScoreColor = HUD_COLOUR_WHITE
|
|
|
|
STRING sTargetsLabel //"TIMER_TAR"
|
|
INT iCurTargets = -1
|
|
INT iMaxTargets = -1
|
|
|
|
STRING sCurScoreLabel
|
|
INT iCurScore = -1
|
|
HUD_COLOURS eCurScoreColor = HUD_COLOUR_WHITE
|
|
|
|
STRING sGoalScoreLabel
|
|
INT iGoalScore = -1
|
|
HUD_COLOURS eGoalScoreColor = HUD_COLOUR_WHITE
|
|
|
|
INT iMultiplier = -1
|
|
INT iCurMultiplierBlocks = -1
|
|
INT iMaxMultiplierBlocks = -1
|
|
HUD_COLOURS eMultiplierColor = HUD_COLOUR_PURPLE
|
|
|
|
STRING sOpponentScoreLabel
|
|
INT iOpponentScore = -1
|
|
HUD_COLOURS eOpponentScoreColor = HUD_COLOUR_WHITE
|
|
|
|
BOOL bDrawPlayerNames = FALSE
|
|
ENDSTRUCT
|
|
|
|
STRUCT SHOOTING_RANGE_LAUNCH_DATA
|
|
RANGE_LOCATION eLocation
|
|
|
|
PED_INDEX pedParticipant1 = NULL
|
|
PED_INDEX pedParticipant2 = NULL
|
|
PED_INDEX pedParticipant3 = NULL
|
|
|
|
OBJECT_INDEX objEarmuffs1 = NULL
|
|
OBJECT_INDEX objEarmuffs2 = NULL
|
|
OBJECT_INDEX objEarmuffs3 = NULL
|
|
|
|
OBJECT_INDEX objGlasses1 = NULL
|
|
OBJECT_INDEX objGlasses2 = NULL
|
|
OBJECT_INDEX objGlasses3 = NULL
|
|
ENDSTRUCT
|
|
|
|
SHOOTRANGE_BOOLS RANGE_NOT_SAVED_BITFLAGS
|
|
|
|
PROC SET_SHOOTING_RANGE_UNSAVED_BITFLAG(SHOOTRANGE_BOOLS eFlag)
|
|
CDEBUG2LN(DEBUG_SHOOTRANGE, "SET_SHOOTING_RANGE_UNSAVED_BITFLAG eFlag=", eFlag)
|
|
RANGE_NOT_SAVED_BITFLAGS |= eFlag
|
|
ENDPROC
|
|
|
|
PROC CLEAR_SHOOTING_RANGE_UNSAVED_BITFLAG(SHOOTRANGE_BOOLS eFlag)
|
|
CDEBUG2LN(DEBUG_SHOOTRANGE, "CLEAR_SHOOTING_RANGE_UNSAVED_BITFLAG eFlag=", eFlag)
|
|
RANGE_NOT_SAVED_BITFLAGS -= RANGE_NOT_SAVED_BITFLAGS & eFlag
|
|
ENDPROC
|
|
|
|
FUNC BOOL IS_SHOOTING_RANGE_unSAVED_BITFLAG_SET(SHOOTRANGE_BOOLS eFlag)
|
|
RETURN (ENUM_TO_INT(RANGE_NOT_SAVED_BITFLAGS) & ENUM_TO_INT(eFlag)) != 0
|
|
ENDFUNC
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
FUNC STRING GET_STRING_FROM_RANGE_ROUND_TYPE( RANGE_ROUND_TYPE eType )
|
|
SWITCH eType
|
|
CASE RT_INVALID RETURN "RT_INVALID"
|
|
CASE RT_PISTOL_CHAL_1 RETURN "RT_PISTOL_CHAL_1"
|
|
CASE RT_PISTOL_CHAL_2 RETURN "RT_PISTOL_CHAL_2"
|
|
CASE RT_PISTOL_CHAL_3 RETURN "RT_PISTOL_CHAL_3"
|
|
CASE RT_SMG_CHAL_1 RETURN "RT_SMG_CHAL_1"
|
|
CASE RT_SMG_CHAL_2 RETURN "RT_SMG_CHAL_2"
|
|
CASE RT_SMG_CHAL_3 RETURN "RT_SMG_CHAL_3"
|
|
CASE RT_SHOTGUN_CHAL_1 RETURN "RT_SHOTGUN_CHAL_1"
|
|
CASE RT_SHOTGUN_CHAL_2 RETURN "RT_SHOTGUN_CHAL_2"
|
|
CASE RT_SHOTGUN_CHAL_3 RETURN "RT_SHOTGUN_CHAL_3"
|
|
CASE RT_AR_CHAL_1 RETURN "RT_AR_CHAL_1"
|
|
CASE RT_AR_CHAL_2 RETURN "RT_AR_CHAL_2"
|
|
CASE RT_AR_CHAL_3 RETURN "RT_AR_CHAL_3"
|
|
CASE RT_LMG_CHAL_1 RETURN "RT_LMG_CHAL_1"
|
|
CASE RT_LMG_CHAL_2 RETURN "RT_LMG_CHAL_2"
|
|
CASE RT_LMG_CHAL_3 RETURN "RT_LMG_CHAL_3"
|
|
CASE RT_MINIGUN_CHAL_1 RETURN "RT_MINIGUN_CHAL_1"
|
|
CASE RT_MINIGUN_CHAL_2 RETURN "RT_MINIGUN_CHAL_2"
|
|
CASE RT_MINIGUN_CHAL_3 RETURN "RT_MINIGUN_CHAL_3"
|
|
CASE RT_RAILGUN_CHAL_1 RETURN "RT_RAILGUN_CHAL_1"
|
|
CASE RT_RAILGUN_CHAL_2 RETURN "RT_RAILGUN_CHAL_2"
|
|
CASE RT_RAILGUN_CHAL_3 RETURN "RT_RAILGUN_CHAL_3"
|
|
CASE RT_RAILGUN_CHAL_4 RETURN "RT_RAILGUN_CHAL_4"
|
|
CASE RT_MAX_ROUND_TYPES RETURN "RT_MAX_ROUND_TYPES"
|
|
ENDSWITCH
|
|
RETURN "unknown RANGE_ROUND_TYPE"
|
|
ENDFUNC
|
|
|
|
FUNC STRING GET_STRING_FROM_RANGE_ROUND_MEDAL( RANGE_ROUND_MEDAL eMedal )
|
|
SWITCH eMedal
|
|
CASE RRM_NONE RETURN "RRM_NONE"
|
|
CASE RRM_BRONZE RETURN "RRM_BRONZE"
|
|
CASE RRM_SILVER RETURN "RRM_SILVER"
|
|
CASE RRM_GOLD RETURN "RRM_GOLD"
|
|
ENDSWITCH
|
|
RETURN "unknown RANGE_ROUND_MEDAL"
|
|
ENDFUNC
|
|
#ENDIF
|
|
|
|
|