193 lines
7.1 KiB
Scheme
Executable File
193 lines
7.1 KiB
Scheme
Executable File
USING "rage_builtins.sch"
|
|
USING "globals.sch"
|
|
USING "script_player.sch"
|
|
USING "commands_camera.sch"
|
|
USING "tennis_debug.sch"
|
|
|
|
ENUM TENNIS_CUTSCENE_STATE
|
|
CUT_SET_FRIEND_OUTFIT,
|
|
CUT_WAIT_FOR_OUTFITS,
|
|
CUT_INIT_FRIEND_ACT,
|
|
CUT_START_FRIEND_CONVO,
|
|
CUT_INIT,
|
|
CUT_LOAD_HEADSHOTS,
|
|
CUT_INIT_CAMS_AND_CONVO,
|
|
CUT_SHOW_OPPONENT,
|
|
CUT_SHOW_PLAYER,
|
|
CUT_SIDE_SLIDE_1,
|
|
WAIT_FOR_SLIDE_1,
|
|
WAIT_FOR_INPUT,
|
|
WAIT_FOR_FLOAT_ABOVE,
|
|
CUT_FINISH
|
|
ENDENUM
|
|
|
|
ENUM CAMERA_STATE_ENUM
|
|
TENNIS_CAMERA_OPTION,
|
|
TENNIS_CAMERA_FAR,
|
|
TENNIS_CAMERA_FAR_OTHER_SIDE,
|
|
TENNIS_CAMERA_QUICK_CUT,
|
|
TENNIS_CAMERA_DYNAMIC,
|
|
TENNIS_CAMERA_MP_CHEAT,
|
|
TENNIS_CAMERA_SIDE_CHANGE,
|
|
TENNIS_CAMERA_DEBUG
|
|
ENDENUM
|
|
|
|
ENUM TENNIS_MENU_WANDERING_STATE
|
|
TMWS_ORBIT_RIGHT_LEFT = 0,
|
|
TMWS_SLOW_DOLLY_PLAYER,
|
|
TMWS_SLOW_DOLLY_OPP,
|
|
TMWS_SLOW_PUSH_OPP,
|
|
TMWS_SLOW_PUSH_PLAYER
|
|
ENDENUM
|
|
|
|
FUNC STRING GET_STRING_FROM_TENNIS_MENU_WANDERING_STATE(TENNIS_MENU_WANDERING_STATE eState)
|
|
RETURN PICK_STRING(eState = TMWS_ORBIT_RIGHT_LEFT, "TMWS_ORBIT_RIGHT_LEFT",
|
|
PICK_STRING(eState = TMWS_SLOW_DOLLY_PLAYER, "TMWS_SLOW_DOLLY_PLAYER",
|
|
PICK_STRING(eState = TMWS_SLOW_DOLLY_OPP, "TMWS_SLOW_DOLLY_OPP",
|
|
PICK_STRING(eState = TMWS_SLOW_PUSH_OPP, "TMWS_SLOW_PUSH_OPP",
|
|
PICK_STRING(eState = TMWS_SLOW_PUSH_PLAYER, "TMWS_SLOW_PUSH_PLAYER",
|
|
"Unknown TMWS")))))
|
|
ENDFUNC
|
|
|
|
ENUM TENNIS_TUTORIAL_ENUM
|
|
TUT_INIT = 0,
|
|
TUT_DEMO_HIT_TOWARD_PED,
|
|
TUT_DEMO_SWING_PREDICTION,
|
|
TUT_DEMO_SWING_CUT_TO_MARKERS,
|
|
TUT_SET_GREEN_MARKER,
|
|
TUT_CUT_TO_RED_MARKER,
|
|
TUT_DEMO_TOPSPIN,
|
|
TUT_PREDICT_TOPSPIN_MARKER,
|
|
TUT_CUT_TO_BACKSPIN_MARKER,
|
|
TUT_DEMO_BACKSPIN,
|
|
TUT_PREDICT_BACKSPIN_MARKER,
|
|
TUT_UPDATE_BACKSPIN_CUT_STRATS,
|
|
TUT_HIT_STRATS_BALL_1,
|
|
TUT_PREDICT_STRATS_BALL_1,
|
|
TUT_CUT_BETWEEN_STRATS,
|
|
TUT_HIT_STRATS_BALL_2,
|
|
TUT_PREDICT_STRATS_BALL_2,
|
|
TUT_CLOSE_UP_RETURN,
|
|
TUT_FINAL_HIT_GLHF,
|
|
TUT_FINISH,
|
|
TUT_FINISH_INTRO_THEN_WAIT,
|
|
TUT_WAIT_FOR_OTHER_PLAYER,
|
|
TUT_CLEANUP_WAIT,
|
|
TUT_CLEANUP
|
|
ENDENUM
|
|
|
|
FUNC STRING GET_LITERAL_STRING_FROM_TENNIS_TUTORIAL_STATE( TENNIS_TUTORIAL_ENUM eState )
|
|
SWITCH eState
|
|
CASE TUT_INIT RETURN "TUT_INIT"
|
|
CASE TUT_DEMO_HIT_TOWARD_PED RETURN "TUT_DEMO_HIT_TOWARD_PED"
|
|
CASE TUT_DEMO_SWING_PREDICTION RETURN "TUT_DEMO_SWING_PREDICTION"
|
|
CASE TUT_DEMO_SWING_CUT_TO_MARKERS RETURN "TUT_DEMO_SWING_CUT_TO_MARKERS"
|
|
CASE TUT_SET_GREEN_MARKER RETURN "TUT_SET_GREEN_MARKER"
|
|
CASE TUT_CUT_TO_RED_MARKER RETURN "TUT_CUT_TO_RED_MARKER"
|
|
CASE TUT_DEMO_TOPSPIN RETURN "TUT_DEMO_TOPSPIN"
|
|
CASE TUT_PREDICT_TOPSPIN_MARKER RETURN "TUT_PREDICT_TOPSPIN_MARKER"
|
|
CASE TUT_CUT_TO_BACKSPIN_MARKER RETURN "TUT_CUT_TO_BACKSPIN_MARKER"
|
|
CASE TUT_DEMO_BACKSPIN RETURN "TUT_DEMO_BACKSPIN"
|
|
CASE TUT_PREDICT_BACKSPIN_MARKER RETURN "TUT_PREDICT_BACKSPIN_MARKER"
|
|
CASE TUT_UPDATE_BACKSPIN_CUT_STRATS RETURN "TUT_UPDATE_BACKSPIN_CUT_STRATS"
|
|
CASE TUT_HIT_STRATS_BALL_1 RETURN "TUT_HIT_STRATS_BALL_1"
|
|
CASE TUT_PREDICT_STRATS_BALL_1 RETURN "TUT_PREDICT_STRATS_BALL_1"
|
|
CASE TUT_CUT_BETWEEN_STRATS RETURN "TUT_CUT_BETWEEN_STRATS"
|
|
CASE TUT_HIT_STRATS_BALL_2 RETURN "TUT_HIT_STRATS_BALL_2"
|
|
CASE TUT_PREDICT_STRATS_BALL_2 RETURN "TUT_PREDICT_STRATS_BALL_2"
|
|
CASE TUT_CLOSE_UP_RETURN RETURN "TUT_CLOSE_UP_RETURN"
|
|
CASE TUT_FINAL_HIT_GLHF RETURN "TUT_FINAL_HIT_GLHF"
|
|
CASE TUT_FINISH RETURN "TUT_FINISH"
|
|
CASE TUT_FINISH_INTRO_THEN_WAIT RETURN "TUT_FINISH_INTRO_THEN_WAIT"
|
|
CASE TUT_WAIT_FOR_OTHER_PLAYER RETURN "TUT_WAIT_FOR_OTHER_PLAYER"
|
|
CASE TUT_CLEANUP_WAIT RETURN "TUT_CLEANUP_WAIT"
|
|
CASE TUT_CLEANUP RETURN "TUT_CLEANUP"
|
|
ENDSWITCH
|
|
RETURN "unknown TENNIS_TUTORIAL_ENUM"
|
|
ENDFUNC
|
|
|
|
STRUCT TENNIS_CAMERAS
|
|
CAMERA_INDEX tennisCamFar
|
|
CAMERA_INDEX tennisCamFarOtherSide
|
|
CAMERA_INDEX tennisCamDyna
|
|
CAMERA_INDEX tennisCamTut
|
|
structTimer tennisCamTimer
|
|
SEQUENCE_INDEX iTaskSeq
|
|
TENNIS_CUTSCENE_STATE eCutState = CUT_INIT
|
|
CAMERA_STATE_ENUM eTennisCam = TENNIS_CAMERA_OPTION
|
|
CAMERA_STATE_ENUM eChosenCam = TENNIS_CAMERA_OPTION
|
|
VECTOR vCamFocusPos
|
|
FLOAT fFarCamUp, fFarCamLookAt, fFarCamForward, fFOV
|
|
BOOL DEBUG_CUTSCENE_BOOL = TRUE
|
|
BOOL bFlag = FALSE
|
|
//Used for Dynamic camera
|
|
FLOAT fDynaCamSwing
|
|
FLOAT fDynaNudgeRSLR, fDynaNudgeRSUD
|
|
FLOAT fDynaDolly
|
|
INT iWanderCamStamp
|
|
TENNIS_TUTORIAL_ENUM eTutCut
|
|
TENNIS_MENU_WANDERING_STATE eWanderingCam
|
|
BOOL bSetChosenCam
|
|
ENDSTRUCT
|
|
|
|
PROC SET_TENNIS_TUTORIAL_STATE(TENNIS_CAMERAS& thisCam, TENNIS_TUTORIAL_ENUM eNewState)
|
|
CDEBUG2LN( DEBUG_TENNIS, "SET_TENNIS_TUTORIAL_STATE setting to ", GET_LITERAL_STRING_FROM_TENNIS_TUTORIAL_STATE( eNewState ) )
|
|
thisCam.eTutCut = eNewState
|
|
ENDPROC
|
|
|
|
FUNC TENNIS_TUTORIAL_ENUM GET_TENNIS_TUTORIAL_STATE(TENNIS_CAMERAS& thisCam)
|
|
RETURN thisCam.eTutCut
|
|
ENDFUNC
|
|
|
|
PROC SET_TENNIS_CAMERA_STATE(TENNIS_CAMERAS &thisCams, CAMERA_STATE_ENUM eNewCam, BOOL bSetChosenCam = TRUE)
|
|
IF bSetChosenCam
|
|
thisCams.eChosenCam = eNewCam
|
|
CPRINTLN(DEBUG_TENNIS, "eChosenCam Stored")
|
|
ENDIF
|
|
thisCams.eTennisCam = eNewCam
|
|
thisCams.bSetChosenCam = bSetChosenCam
|
|
CPRINTLN(DEBUG_TENNIS, "eTennisCam switched to ",
|
|
PICK_STRING(eNewCam = TENNIS_CAMERA_OPTION, "TENNIS_CAMERA_OPTION",
|
|
PICK_STRING(eNewCam = TENNIS_CAMERA_FAR, "TENNIS_CAMERA_FAR",
|
|
PICK_STRING(eNewCam = TENNIS_CAMERA_FAR_OTHER_SIDE, "TENNIS_CAMERA_FAR_OTHER_SIDE",
|
|
PICK_STRING(eNewCam = TENNIS_CAMERA_QUICK_CUT, "TENNIS_CAMERA_QUICK_CUT",
|
|
PICK_STRING(eNewCam = TENNIS_CAMERA_DYNAMIC, "TENNIS_CAMERA_DYNAMIC",
|
|
PICK_STRING(eNewCam = TENNIS_CAMERA_MP_CHEAT, "TENNIS_CAMERA_MP_CHEAT",
|
|
PICK_STRING(eNewCam = TENNIS_CAMERA_SIDE_CHANGE, "TENNIS_CAMERA_SIDE_CHANGE",
|
|
"Unknown Camera Enum"))))))), " ", eNewCam)
|
|
ENDPROC
|
|
|
|
FUNC CAMERA_STATE_ENUM GET_TENNIS_CAMERA_STATE(TENNIS_CAMERAS &thisCams)
|
|
RETURN thisCams.eTennisCam
|
|
ENDFUNC
|
|
|
|
PROC SET_TENNIS_CUTSCENE_STATE(TENNIS_CAMERAS &thisCam, TENNIS_CUTSCENE_STATE newCutState)
|
|
thisCam.eCutState = newCutState
|
|
CPRINTLN(DEBUG_TENNIS, "eCutsceneState set to ",
|
|
PICK_STRING(newCutState = CUT_SET_FRIEND_OUTFIT, "CUT_SET_FRIEND_OUTFIT",
|
|
PICK_STRING(newCutState = CUT_INIT, "CUT_INIT ",
|
|
PICK_STRING(newCutState = CUT_WAIT_FOR_OUTFITS, "CUT_WAIT_FOR_OUTFITS",
|
|
PICK_STRING(newCutState = CUT_SHOW_OPPONENT, "CUT_SHOW_OPPONENT ",
|
|
PICK_STRING(newCutState = CUT_SHOW_PLAYER, "CUT_SHOW_PLAYER ",
|
|
PICK_STRING(newCutState = CUT_SIDE_SLIDE_1, "CUT_SIDE_SLIDE_1 ",
|
|
PICK_STRING(newCutState = WAIT_FOR_SLIDE_1, "WAIT_FOR_SLIDE_1 ",
|
|
PICK_STRING(newCutState = CUT_INIT_FRIEND_ACT, "CUT_INIT_FRIEND_ACT ",
|
|
PICK_STRING(newCutState = CUT_START_FRIEND_CONVO, "CUT_START_FRIEND_CONVO ",
|
|
PICK_STRING(newCutState = CUT_INIT_CAMS_AND_CONVO, "CUT_INIT_CAMS_AND_CONVO ",
|
|
PICK_STRING(newCutState = WAIT_FOR_INPUT, "WAIT_FOR_INPUT ",
|
|
PICK_STRING(newCutState = WAIT_FOR_FLOAT_ABOVE, "WAIT_FOR_FLOAT_ABOVE ",
|
|
PICK_STRING(newCutState = CUT_LOAD_HEADSHOTS, "CUT_LOAD_HEADSHOTS ",
|
|
"unknown TENNIS_CUTSCENE_STATE: "))))))))))))), newCutState)
|
|
|
|
ENDPROC
|
|
|
|
FUNC TENNIS_CUTSCENE_STATE GET_TENNIS_CUTSCENE_STATE(TENNIS_CAMERAS &thisCam)
|
|
RETURN thisCam.eCutState
|
|
ENDFUNC
|
|
|
|
PROC RESET_CUTSCENE_STATE(TENNIS_CAMERAS &thisCam)
|
|
thisCam.eCutState = CUT_INIT
|
|
CPRINTLN(DEBUG_TENNIS, "Tennis Cutscene State reset")
|
|
ENDPROC
|
|
|