1216 lines
31 KiB
Python
Executable File
1216 lines
31 KiB
Python
Executable File
|
|
|
|
//Compile out Title Update changes to header functions.
|
|
//Must be before includes.
|
|
//CONST_INT USE_TU_CHANGES 0 // Removed by Kenneth R.
|
|
|
|
|
|
USING "rage_builtins.sch"
|
|
USING "globals.sch"
|
|
USING "commands_misc.sch"
|
|
USING "commands_script.sch"
|
|
USING "commands_pad.sch"
|
|
USING "cellphone_public.sch"
|
|
USING "cellphone_private.sch"
|
|
USING "dialogue_public.sch"
|
|
USING "player_ped_public.sch"
|
|
USING "stack_sizes.sch"
|
|
USING "mission_repeat_public.sch"
|
|
USING "mission_stat_public.sch"
|
|
|
|
|
|
|
|
|
|
// *****************************************************************************************
|
|
// *****************************************************************************************
|
|
// *****************************************************************************************
|
|
//
|
|
// MISSION NAME : appMedia.sc
|
|
// AUTHOR : Steve T
|
|
// DESCRIPTION : Prototype media app for displaying images on the cellphone.
|
|
//
|
|
//
|
|
//
|
|
//
|
|
// *****************************************************************************************
|
|
// *****************************************************************************************
|
|
// *****************************************************************************************
|
|
|
|
|
|
|
|
|
|
|
|
SCALEFORM_RETURN_INDEX Choice_ReturnedSFIndex
|
|
|
|
|
|
INT i_MaxSavedPhotos, i_SF_SlotIndex, i_Selected_Media_Slot
|
|
|
|
BOOL b_Checking360Storage = FALSE
|
|
|
|
PHOTO_OPERATION_STATUS MediaPicProcessStatus
|
|
|
|
|
|
|
|
|
|
INT AppMediaListSlot[25]
|
|
TEXT_LABEL_23 tl_MS_label[25] //Currently limited at 20 by Graeme. Little bit of room built in for expansion.
|
|
|
|
|
|
BOOL dpad_scroll_pause_cued = FALSE
|
|
|
|
|
|
|
|
|
|
//Rotation Mechanics
|
|
|
|
VECTOR v_3dDesiredRotation, v_3dCameraphoneRotation
|
|
|
|
|
|
BOOL b_Rotate3dPhoneToLandscape = FALSE
|
|
BOOL b_Rotate3dPhoneToPortrait = FALSE
|
|
|
|
BOOL b_Rotate3dPhoneLSx, b_Rotate3dPhoneLSy, b_Rotate3dPhoneLSz
|
|
|
|
BOOL b_Rotate3dPhonePOx, b_Rotate3dPhonePOy, b_Rotate3dPhonePOz
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PROC Initialise_Media_Slot_Labels()
|
|
|
|
|
|
tl_MS_label[0] = "CELL_MSSLOT_1"
|
|
tl_MS_label[1] = "CELL_MSSLOT_2"
|
|
tl_MS_label[2] = "CELL_MSSLOT_3"
|
|
tl_MS_label[3] = "CELL_MSSLOT_4"
|
|
|
|
|
|
tl_MS_label[4] = "CELL_MSSLOT_5"
|
|
tl_MS_label[5] = "CELL_MSSLOT_6"
|
|
tl_MS_label[6] = "CELL_MSSLOT_7"
|
|
tl_MS_label[7] = "CELL_MSSLOT_8"
|
|
|
|
|
|
tl_MS_label[8] = "CELL_MSSLOT_9"
|
|
tl_MS_label[9] = "CELL_MSSLOT_10"
|
|
tl_MS_label[10] = "CELL_MSSLOT_11"
|
|
tl_MS_label[11] = "CELL_MSSLOT_12"
|
|
|
|
|
|
tl_MS_label[12] = "CELL_MSSLOT_13"
|
|
tl_MS_label[13] = "CELL_MSSLOT_14"
|
|
tl_MS_label[14] = "CELL_MSSLOT_15"
|
|
tl_MS_label[15] = "CELL_MSSLOT_16"
|
|
|
|
|
|
tl_MS_label[16] = "CELL_MSSLOT_17"
|
|
tl_MS_label[17] = "CELL_MSSLOT_18"
|
|
tl_MS_label[18] = "CELL_MSSLOT_19"
|
|
tl_MS_label[19] = "CELL_MSSLOT_20"
|
|
|
|
|
|
|
|
ENDPROC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PROC Cleanup_and_Terminate()
|
|
|
|
|
|
#if IS_DEBUG_BUILD
|
|
|
|
PRINTNL()
|
|
PRINTSTRING ("APPMEDIA - appMedia exiting and requesting pic tidy up.")
|
|
PRINTNL()
|
|
|
|
#endif
|
|
|
|
|
|
g_b_appHasRequestedTidyUp = TRUE
|
|
|
|
CLEAR_HELP()
|
|
|
|
|
|
TERMINATE_THIS_THREAD()
|
|
|
|
|
|
ENDPROC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PROC Check_for_List_Navigation()
|
|
|
|
IF dpad_scroll_pause_cued
|
|
IF TIMERA() > 50
|
|
dpad_scroll_pause_cued = FALSE
|
|
ENDIF
|
|
ENDIF
|
|
|
|
|
|
// PC Scrollwheel support
|
|
IF IS_USING_KEYBOARD_AND_MOUSE(FRONTEND_CONTROL)
|
|
|
|
IF Is_Phone_Control_Just_Pressed( FRONTEND_CONTROL, INT_TO_ENUM (CONTROL_ACTION,INPUT_CELLPHONE_SCROLL_BACKWARD))
|
|
|
|
Call_Scaleform_Input_Keypress_Up()
|
|
|
|
ENDIF
|
|
|
|
IF Is_Phone_Control_Just_Pressed( FRONTEND_CONTROL, INT_TO_ENUM (CONTROL_ACTION,INPUT_CELLPHONE_SCROLL_FORWARD))
|
|
|
|
Call_Scaleform_Input_Keypress_Down()
|
|
|
|
ENDIF
|
|
|
|
ENDIF
|
|
|
|
|
|
|
|
IF dpad_scroll_pause_cued = FALSE
|
|
|
|
IF Is_Phone_Control_Just_Pressed (FRONTEND_CONTROL, INT_TO_ENUM (CONTROL_ACTION, PHONE_NAV_UP_INPUT))
|
|
|
|
Call_Scaleform_Input_Keypress_Up()
|
|
|
|
dpad_scroll_pause_cued = TRUE
|
|
SETTIMERA (0)
|
|
|
|
ENDIF
|
|
|
|
|
|
IF Is_Phone_Control_Just_Pressed (FRONTEND_CONTROL, INT_TO_ENUM (CONTROL_ACTION, PHONE_NAV_DOWN_INPUT))
|
|
|
|
Call_Scaleform_Input_Keypress_Down()
|
|
|
|
dpad_scroll_pause_cued = TRUE
|
|
SETTIMERA (0)
|
|
|
|
ENDIF
|
|
|
|
ENDIF
|
|
|
|
|
|
ENDPROC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PROC SetUpRotateToLandScape()
|
|
|
|
IF b_Rotate3dPhoneToPortrait = FALSE
|
|
|
|
GET_MOBILE_PHONE_ROTATION(v_3dCameraphoneRotation)
|
|
|
|
v_3dDesiredRotation = <<-90.3, -0.8, 90.0>>
|
|
|
|
|
|
b_Rotate3dPhoneToLandscape = TRUE
|
|
//b_Rotate3dPhoneToPortrait = FALSE
|
|
|
|
|
|
|
|
b_Rotate3dPhoneLSx = TRUE
|
|
b_Rotate3dPhoneLSy = TRUE
|
|
b_Rotate3dPhoneLSz = TRUE
|
|
|
|
ENDIF
|
|
|
|
|
|
ENDPROC
|
|
|
|
|
|
|
|
|
|
|
|
PROC RotateToLandscape()
|
|
|
|
|
|
IF (b_Rotate3dPhoneToLandscape = TRUE)
|
|
AND (b_Rotate3dPhoneToPortrait = FALSE)
|
|
AND (g_Cell_Pic_Stage = PIC_STAGE_HOLDING_LQ_COPY) //Don't start rotating until image has loaded...
|
|
|
|
|
|
IF b_Rotate3dPhoneLSx
|
|
v_3dCameraphoneRotation.X = (v_3dCameraphoneRotation.X - 1.0)
|
|
ENDIF
|
|
|
|
IF v_3dCameraphoneRotation.X < v_3dDesiredRotation.X //-110.6
|
|
OR v_3dCameraphoneRotation.X = v_3dDesiredRotation.X
|
|
|
|
v_3dCameraphoneRotation.X = v_3dDesiredRotation.X
|
|
|
|
b_Rotate3dPhoneLSx = FALSE
|
|
|
|
ENDIF
|
|
|
|
|
|
IF b_Rotate3dPhoneLSy
|
|
v_3dCameraphoneRotation.Y = (v_3dCameraphoneRotation.Y - 0.5)
|
|
ENDIF
|
|
|
|
IF v_3dCameraphoneRotation.Y < v_3dDesiredRotation.Y //1.9
|
|
OR v_3dCameraphoneRotation.Y = v_3dDesiredRotation.Y //1.9
|
|
|
|
v_3dCameraphoneRotation.Y = v_3dDesiredRotation.Y
|
|
|
|
b_Rotate3dPhoneLSy = FALSE
|
|
|
|
ENDIF
|
|
|
|
|
|
IF b_Rotate3dPhoneLSz
|
|
v_3dCameraphoneRotation.Z = (v_3dCameraphoneRotation.Z + 7.0) //5.0
|
|
ENDIF
|
|
|
|
IF v_3dCameraphoneRotation.Z > v_3dDesiredRotation.Z //87.9
|
|
OR v_3dCameraphoneRotation.Z = v_3dDesiredRotation.Z //87.9
|
|
|
|
v_3dCameraphoneRotation.Z = v_3dDesiredRotation.Z
|
|
|
|
b_Rotate3dPhoneLSz = FALSE
|
|
|
|
ENDIF
|
|
|
|
|
|
|
|
|
|
IF b_Rotate3dPhoneLSx = FALSE
|
|
AND b_Rotate3dPhoneLSy = FALSE
|
|
AND b_Rotate3dPhoneLSz = FALSE
|
|
|
|
b_Rotate3dPhoneToLandscape = FALSE
|
|
|
|
PRINT_HELP_FOREVER ("CELL_MSHELP_2")
|
|
|
|
|
|
ENDIF
|
|
|
|
|
|
|
|
SET_MOBILE_PHONE_ROTATION (v_3dCameraphoneRotation)
|
|
|
|
|
|
ENDIF
|
|
|
|
|
|
|
|
//Need to check bit for failed loading of picture and display appropriate message.
|
|
|
|
IF IS_BIT_SET (BitSet_CellphoneDisplay_Continued, g_BSC_LOAD_FROM_MEDIA_FAILED)
|
|
|
|
//Set these to make sure complex app exit conditions are met.
|
|
|
|
b_Rotate3dPhoneToLandscape = FALSE
|
|
|
|
b_Rotate3dPhoneToPortrait = FALSE
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER (SF_MovieIndex,"SET_DATA_SLOT_EMPTY", 18)
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING
|
|
(SF_MovieIndex, "SET_DATA_SLOT", (TO_FLOAT(18)), (TO_FLOAT(0)),
|
|
(TO_FLOAT(0)),INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM, "CELL_MSMENU_3") //load failed!
|
|
|
|
|
|
|
|
|
|
//Only display back button if load has failed.
|
|
IF g_b_ToggleButtonLabels
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_SOFT_KEYS", BADGER_POS, 0,
|
|
2, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM, "CELL_205") //"Select" - Positive
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_SOFT_KEYS", BADGER_NEG, 1,
|
|
4, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM, "CELL_206") //"BACK" - Negative
|
|
|
|
|
|
ELSE
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_SOFT_KEYS", BADGER_POS, 0,
|
|
2, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM) //"SELECT" - Positive
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_SOFT_KEYS", BADGER_NEG, 1,
|
|
4, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM) //"BACK" - Negative
|
|
|
|
ENDIF
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_SOFT_KEYS", BADGER_OTHER, 0,
|
|
1, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM) //"Error!" - Other
|
|
CLEAR_BIT (BitSet_CellphoneDisplay, g_BS_OTHER_OPTION_IS_DISPLAYED)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER (SF_MovieIndex, "DISPLAY_VIEW", 18)
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_STRING (SF_MovieIndex, "SET_HEADER", tl_MS_label[i_Selected_Media_Slot])
|
|
|
|
|
|
|
|
|
|
ENDIF
|
|
|
|
|
|
|
|
ENDPROC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PROC Place_Saved_Photos_In_SF_Slots()
|
|
|
|
|
|
//360 storage here.
|
|
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER (SF_MovieIndex,"SET_DATA_SLOT_EMPTY", 18)
|
|
|
|
i_MaxSavedPhotos = GET_MAXIMUM_NUMBER_OF_PHOTOS()
|
|
|
|
|
|
#if IS_DEBUG_BUILD
|
|
|
|
cdPrintstring ("APPMEDIA - Maximum number of photo save slots on media is ")
|
|
cdPrintint (i_MaxSavedPhotos)
|
|
cdPrintnl()
|
|
|
|
#endif
|
|
|
|
i_SF_SlotIndex = 0
|
|
|
|
INT i_SF_FilledSlotIndex = 0
|
|
|
|
WHILE i_SF_SlotIndex < i_MaxSavedPhotos
|
|
|
|
IF DOES_THIS_PHOTO_SLOT_CONTAIN_A_VALID_PHOTO (i_SF_SlotIndex) //Check media slot contains an actual photo save before filling that slot.
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING
|
|
(SF_MovieIndex, "SET_DATA_SLOT", (TO_FLOAT(18)), (TO_FLOAT(i_SF_FilledSlotIndex)),
|
|
(TO_FLOAT(0)),INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM, tl_MS_label[i_SF_SlotIndex])
|
|
|
|
|
|
AppMediaListSlot[i_SF_FilledSlotIndex] = i_SF_SlotIndex
|
|
|
|
i_SF_FilledSlotIndex ++
|
|
|
|
|
|
ENDIF
|
|
|
|
i_SF_SlotIndex ++
|
|
|
|
ENDWHILE
|
|
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER (SF_MovieIndex, "DISPLAY_VIEW", 18)
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_STRING (SF_MovieIndex, "SET_HEADER", "CELL_MSMENU_1")
|
|
|
|
|
|
IF g_b_ToggleButtonLabels
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_SOFT_KEYS", BADGER_POS, 1,
|
|
2, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM, "CELL_205") //"Select" - Positive
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_SOFT_KEYS", BADGER_NEG, 1,
|
|
4, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM, "CELL_206") //"BACK" - Negative
|
|
|
|
|
|
ELSE
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_SOFT_KEYS", BADGER_POS, 1,
|
|
2, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM) //"SELECT" - Positive
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_SOFT_KEYS", BADGER_NEG, 1,
|
|
4, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM) //"BACK" - Negative
|
|
|
|
ENDIF
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_SOFT_KEYS", BADGER_OTHER, 0,
|
|
1, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM) //"Error!" - Other
|
|
CLEAR_BIT (BitSet_CellphoneDisplay, g_BS_OTHER_OPTION_IS_DISPLAYED)
|
|
|
|
|
|
|
|
ENDPROC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PROC InitialiseCheckStorage()
|
|
|
|
|
|
|
|
IF IS_XBOX360_VERSION()
|
|
OR IS_XBOX_PLATFORM()
|
|
OR IS_PC_VERSION()
|
|
|
|
CLEAR_STATUS_OF_SORTED_LIST_OPERATION()
|
|
|
|
IF QUEUE_OPERATION_TO_CREATE_SORTED_LIST_OF_PHOTOS (FALSE) //The last BOOL indicates that we are checking for a LOAD. This would be TRUE if we were saving.
|
|
|
|
b_Checking360Storage = TRUE //Tell main loop to perform sorted list operation check.
|
|
|
|
ELSE
|
|
|
|
#if IS_DEBUG_BUILD
|
|
|
|
cdPrintnl()
|
|
cdPrintstring ("APPMEDIA - Initial 360 Queue operation failed. Terminating appMedia script and forcing phone away")
|
|
cdPrintnl()
|
|
cdPrintString(" STATE ASSIGNMENT - AM1 - PDS_AWAY")
|
|
cdPrintnl()
|
|
|
|
#endif
|
|
|
|
|
|
g_b_appHasRequestedTidyUp = TRUE
|
|
|
|
g_CellPhone.PhoneDS = PDS_AWAY
|
|
|
|
Cleanup_and_Terminate()
|
|
|
|
ENDIF
|
|
|
|
ELSE
|
|
|
|
Place_Saved_Photos_In_SF_Slots()
|
|
|
|
ENDIF
|
|
|
|
|
|
ENDPROC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PROC SetUpRotateToPortrait()
|
|
|
|
IF b_Rotate3dPhoneToLandscape = FALSE
|
|
|
|
GET_MOBILE_PHONE_ROTATION(v_3dCameraphoneRotation)
|
|
|
|
v_3dDesiredRotation = g_3dPhoneStartRotVec
|
|
|
|
|
|
//b_Rotate3dPhoneToLandscape = FALSE
|
|
b_Rotate3dPhoneToPortrait = TRUE
|
|
|
|
|
|
b_Rotate3dPhonePOx = TRUE
|
|
b_Rotate3dPhonePOy = TRUE
|
|
b_Rotate3dPhonePOz = TRUE
|
|
|
|
ENDIF
|
|
|
|
|
|
ENDPROC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PROC RotateToPortrait()
|
|
|
|
|
|
IF (b_Rotate3dPhoneToLandscape = FALSE)
|
|
AND (b_Rotate3dPhoneToPortrait = TRUE)
|
|
|
|
|
|
IF b_Rotate3dPhonePOx
|
|
v_3dCameraphoneRotation.X = (v_3dCameraphoneRotation.X + 1.0)
|
|
|
|
ENDIF
|
|
|
|
IF v_3dCameraphoneRotation.X > v_3dDesiredRotation.X //-110.6
|
|
OR v_3dCameraphoneRotation.X = v_3dDesiredRotation.X
|
|
|
|
v_3dCameraphoneRotation.X = v_3dDesiredRotation.X
|
|
|
|
b_Rotate3dPhonePOx = FALSE
|
|
|
|
ENDIF
|
|
|
|
|
|
|
|
|
|
IF b_Rotate3dPhonePOy
|
|
v_3dCameraphoneRotation.Y = (v_3dCameraphoneRotation.Y - 2.0)
|
|
|
|
ENDIF
|
|
|
|
IF v_3dCameraphoneRotation.Y < v_3dDesiredRotation.Y //1.9
|
|
OR v_3dCameraphoneRotation.Y = v_3dDesiredRotation.Y //1.9
|
|
|
|
v_3dCameraphoneRotation.Y = v_3dDesiredRotation.Y
|
|
|
|
b_Rotate3dPhonePOy = FALSE
|
|
|
|
ENDIF
|
|
|
|
|
|
|
|
|
|
IF b_Rotate3dPhonePOz
|
|
v_3dCameraphoneRotation.Z = (v_3dCameraphoneRotation.Z - 7.0) //5.0)
|
|
|
|
ENDIF
|
|
|
|
IF v_3dCameraphoneRotation.Z < v_3dDesiredRotation.Z //87.9
|
|
OR v_3dCameraphoneRotation.Z = v_3dDesiredRotation.Z //87.9
|
|
|
|
v_3dCameraphoneRotation.Z = v_3dDesiredRotation.Z
|
|
|
|
b_Rotate3dPhonePOz = FALSE
|
|
|
|
ENDIF
|
|
|
|
|
|
|
|
IF b_Rotate3dPhonePOx = FALSE
|
|
AND b_Rotate3dPhonePOy = FALSE
|
|
AND b_Rotate3dPhonePOz = FALSE
|
|
|
|
|
|
b_Rotate3dPhoneToPortrait = FALSE
|
|
|
|
|
|
IF g_CellPhone.PhoneDS > PDS_AWAY //make sure that the following state assignment cannot interfere with AWAY or DISABLED assignment.
|
|
|
|
g_Cellphone.PhoneDS = PDS_RUNNINGAPP //Rotation finished allow running app exit check.
|
|
|
|
|
|
|
|
#if IS_DEBUG_BUILD
|
|
cdPrintnl()
|
|
cdPrintstring("STATE ASSIGNMENT 21890. appMedia assigns PDS_RUNNINGAPP")
|
|
cdPrintnl()
|
|
#endif
|
|
|
|
|
|
CLEAR_HELP()
|
|
|
|
|
|
g_b_appHasRequestedTidyUp = TRUE //This would stop drawing the pic to the screen eventually and return us to g_Cell_Pic_Stage = PIC_STAGE_IDLE
|
|
//This bool is checked and acted upon in cellphone_controller.
|
|
|
|
|
|
InitialiseCheckStorage()
|
|
|
|
|
|
|
|
ENDIF
|
|
|
|
|
|
|
|
ENDIF
|
|
|
|
|
|
|
|
SET_MOBILE_PHONE_ROTATION (v_3dCameraphoneRotation)
|
|
|
|
|
|
ENDIF
|
|
|
|
|
|
ENDPROC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
PROC Place_Saved_Photos_In_SF_Slots()
|
|
|
|
|
|
//360 storage here.
|
|
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER (SF_MovieIndex,"SET_DATA_SLOT_EMPTY", 18)
|
|
|
|
i_MaxSavedPhotos = GET_MAXIMUM_NUMBER_OF_PHOTOS()
|
|
|
|
|
|
#if IS_DEBUG_BUILD
|
|
|
|
cdPrintstring ("APPMEDIA - Maximum number of photo save slots on media is ")
|
|
cdPrintint (i_MaxSavedPhotos)
|
|
cdPrintnl()
|
|
|
|
#endif
|
|
|
|
i_SF_SlotIndex = 0
|
|
|
|
INT i_SF_FilledSlotIndex = 0
|
|
|
|
WHILE i_SF_SlotIndex < i_MaxSavedPhotos
|
|
|
|
IF DOES_THIS_PHOTO_SLOT_CONTAIN_A_VALID_PHOTO (i_SF_SlotIndex) //Check media slot contains an actual photo save before filling that slot.
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING
|
|
(SF_MovieIndex, "SET_DATA_SLOT", (TO_FLOAT(18)), (TO_FLOAT(i_SF_FilledSlotIndex)),
|
|
(TO_FLOAT(0)),INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM, tl_MS_label[i_SF_SlotIndex])
|
|
|
|
|
|
AppMediaListSlot[i_SF_FilledSlotIndex] = i_SF_SlotIndex
|
|
|
|
i_SF_FilledSlotIndex ++
|
|
|
|
|
|
ENDIF
|
|
|
|
i_SF_SlotIndex ++
|
|
|
|
ENDWHILE
|
|
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER (SF_MovieIndex, "DISPLAY_VIEW", 18)
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_STRING (SF_MovieIndex, "SET_HEADER", "CELL_MSMENU_1")
|
|
|
|
|
|
IF g_b_ToggleButtonLabels
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_SOFT_KEYS", BADGER_POS, 1,
|
|
2, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM, "CELL_205") //"Select" - Positive
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_SOFT_KEYS", BADGER_NEG, 1,
|
|
4, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM, "CELL_206") //"BACK" - Negative
|
|
|
|
|
|
ELSE
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_SOFT_KEYS", BADGER_POS, 1,
|
|
2, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM) //"SELECT" - Positive
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_SOFT_KEYS", BADGER_NEG, 1,
|
|
4, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM) //"BACK" - Negative
|
|
|
|
ENDIF
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_SOFT_KEYS", BADGER_OTHER, 0,
|
|
1, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM) //"Error!" - Other
|
|
CLEAR_BIT (BitSet_CellphoneDisplay, g_BS_OTHER_OPTION_IS_DISPLAYED)
|
|
|
|
|
|
|
|
ENDPROC
|
|
|
|
*/
|
|
|
|
|
|
|
|
PROC Check_For_Photo_Selection()
|
|
|
|
|
|
IF g_InputButtonJustPressed = FALSE
|
|
|
|
|
|
IF Is_Phone_Control_Just_Pressed (FRONTEND_CONTROL, INT_TO_ENUM (CONTROL_ACTION, PHONE_POSITIVE_INPUT))
|
|
|
|
|
|
CLEAR_BIT (BitSet_CellphoneDisplay_Continued, g_BSC_LOAD_FROM_MEDIA_FAILED)
|
|
|
|
|
|
Play_Select_Beep()
|
|
g_InputButtonJustPressed = TRUE
|
|
|
|
BEGIN_SCALEFORM_MOVIE_METHOD (SF_MovieIndex, "GET_CURRENT_SELECTION")
|
|
|
|
Choice_ReturnedSFIndex = END_SCALEFORM_MOVIE_METHOD_RETURN_VALUE()
|
|
|
|
WHILE NOT IS_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_READY(Choice_ReturnedSFIndex)
|
|
WAIT (0)
|
|
CPRINTLN(DEBUG_REPEAT,"appMedia - Waiting on return value from scaleform.")
|
|
ENDWHILE
|
|
|
|
|
|
INT i_TempCheck = GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_INT(Choice_ReturnedSFIndex)
|
|
|
|
|
|
IF i_TempCheck > -1 //Make sure array overrun is prevented if no photos are present and scaleform returns -1.
|
|
//Need to think about checking upper limit here once that's fully decided upon also.
|
|
|
|
i_Selected_Media_Slot = AppMediaListSlot[i_TempCheck]
|
|
|
|
|
|
#if IS_DEBUG_BUILD
|
|
|
|
cdPrintstring ("APPMEDIA - Selected Media Slot was ")
|
|
cdPrintint (i_Selected_Media_Slot)
|
|
cdPrintstring (" which was in SF list slot ")
|
|
cdPrintint (i_TempCheck)
|
|
cdPrintnl()
|
|
|
|
#endif
|
|
|
|
|
|
|
|
IF g_CellPhone.PhoneDS > PDS_AWAY //make sure that the following state assignment cannot interfere with AWAY or DISABLED assignment.
|
|
|
|
|
|
IF g_Cell_Pic_Stage = PIC_STAGE_IDLE
|
|
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER (SF_MovieIndex,"SET_DATA_SLOT_EMPTY", 18)
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING
|
|
(SF_MovieIndex, "SET_DATA_SLOT", (TO_FLOAT(18)), (TO_FLOAT(0)),
|
|
(TO_FLOAT(0)),INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM, "CELL_MSMENU_2")//Loading...
|
|
|
|
|
|
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER (SF_MovieIndex, "DISPLAY_VIEW", 18)
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_STRING (SF_MovieIndex, "SET_HEADER", tl_MS_label[i_Selected_Media_Slot])
|
|
|
|
|
|
//Don't display any soft keys during loading process...
|
|
IF g_b_ToggleButtonLabels
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_SOFT_KEYS", BADGER_POS, 0,
|
|
2, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM, "CELL_205") //"Select" - Positive
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_SOFT_KEYS", BADGER_NEG, 0,
|
|
4, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM, "CELL_206") //"BACK" - Negative
|
|
|
|
|
|
ELSE
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_SOFT_KEYS", BADGER_POS, 0,
|
|
2, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM) //"SELECT" - Positive
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_SOFT_KEYS", BADGER_NEG, 0,
|
|
4, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM) //"BACK" - Negative
|
|
|
|
ENDIF
|
|
|
|
LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_SOFT_KEYS", BADGER_OTHER, 0,
|
|
1, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM) //"Error!" - Other
|
|
CLEAR_BIT (BitSet_CellphoneDisplay, g_BS_OTHER_OPTION_IS_DISPLAYED)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Temp! Graeme, this critical section tells cellphone_controller.sc to start the independent loading routine.
|
|
|
|
|
|
g_LoadFromSlot = i_Selected_Media_Slot //Tell cellphone_controller which media slot to load, i.e the one on the hard drive.
|
|
|
|
g_Cell_Pic_Stage = PIC_STAGE_LOAD_FROM_MEDIA //Signals that cellphone_controller should begin an attempted load.
|
|
|
|
g_CellPhone.PhoneDS = PDS_COMPLEXAPP //Essentially puts this app in a state where the universal back button doesn't exit the app.
|
|
|
|
|
|
SetUpRotateToLandscape()
|
|
|
|
|
|
//PRINT_HELP_FOREVER ("CELL_MSHELP_2")
|
|
|
|
//PRINT_HELP_FOREVER_WITH_NUMBER ("CELL_MSHELP_1", (g_LoadFromSlot + 1)) //adjust for sf slot zero being the first slot.
|
|
|
|
ENDIF
|
|
|
|
|
|
ENDIF
|
|
|
|
ENDIF
|
|
|
|
|
|
ENDIF
|
|
|
|
|
|
ENDIF
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ENDPROC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PROC Check360Storage()
|
|
|
|
|
|
|
|
MediaPicProcessStatus = GET_STATUS_OF_SORTED_LIST_OPERATION(FALSE) //The last BOOL indicates that we are checking for a LOAD. This would be TRUE if we were saving.
|
|
|
|
|
|
SWITCH MediaPicProcessStatus
|
|
|
|
|
|
CASE PHOTO_OPERATION_SUCCEEDED
|
|
|
|
#if IS_DEBUG_BUILD
|
|
|
|
cdPrintString("AppMEDIA - Sorted List Operation Succeeded!")
|
|
cdPrintnl()
|
|
|
|
#endif
|
|
|
|
b_Checking360Storage = FALSE
|
|
|
|
Place_Saved_Photos_In_SF_Slots()
|
|
|
|
BREAK
|
|
|
|
|
|
|
|
|
|
CASE PHOTO_OPERATION_IN_PROGRESS
|
|
|
|
#if IS_DEBUG_BUILD
|
|
|
|
cdPrintString("AppMEDIA - Sorting list operation in progress...")
|
|
cdPrintnl()
|
|
|
|
#endif
|
|
|
|
|
|
BREAK
|
|
|
|
|
|
|
|
CASE PHOTO_OPERATION_FAILED
|
|
|
|
#if IS_DEBUG_BUILD
|
|
|
|
cdPrintString("AppMEDIA - Sorted List Operation FAILED! Terminating appMedia and forcing phone away")
|
|
cdPrintString("STATE ASSIGNMENT - AM2 - PDS_AWAY")
|
|
cdPrintnl()
|
|
|
|
#endif
|
|
|
|
g_CellPhone.PhoneDS = PDS_AWAY
|
|
|
|
|
|
Cleanup_and_Terminate()
|
|
|
|
BREAK
|
|
|
|
|
|
ENDSWITCH
|
|
|
|
|
|
|
|
ENDPROC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SCRIPT
|
|
|
|
|
|
|
|
//Ensure this script persists during network game
|
|
NETWORK_SET_SCRIPT_IS_SAFE_FOR_NETWORK_GAME()
|
|
|
|
|
|
|
|
|
|
Initialise_Media_Slot_Labels()
|
|
|
|
|
|
|
|
|
|
InitialiseCheckStorage()
|
|
|
|
|
|
|
|
|
|
|
|
WHILE TRUE
|
|
|
|
WAIT(0)
|
|
|
|
|
|
|
|
IF b_Checking360Storage = FALSE
|
|
|
|
IF g_Cellphone.PhoneDS <> PDS_ONGOING_CALL //i.e a phonecall is not attempting to get through to the player.
|
|
|
|
SWITCH g_Cellphone.PhoneDS
|
|
|
|
|
|
|
|
CASE PDS_RUNNINGAPP
|
|
|
|
IF b_Rotate3dPhoneToLandscape = FALSE
|
|
AND b_Rotate3dPhoneToPortrait = FALSE
|
|
AND g_Cell_Pic_Stage = PIC_STAGE_IDLE
|
|
|
|
Check_For_Photo_Selection()
|
|
|
|
Check_for_List_Navigation()
|
|
|
|
ENDIF
|
|
|
|
|
|
BREAK
|
|
|
|
|
|
|
|
CASE PDS_COMPLEXAPP
|
|
|
|
|
|
|
|
|
|
|
|
IF Is_Phone_Control_Just_Pressed (FRONTEND_CONTROL, INT_TO_ENUM (CONTROL_ACTION, PHONE_GO_BACK_INPUT)) //Go back action
|
|
AND b_Rotate3dPhoneToLandscape = FALSE
|
|
AND b_Rotate3dPhoneToPortrait = FALSE
|
|
|
|
|
|
Play_Back_Beep()
|
|
|
|
g_InputButtonJustPressed = TRUE
|
|
|
|
|
|
IF g_CellPhone.PhoneDS > PDS_AWAY //make sure that the following state assignment cannot interfere with AWAY or DISABLED assignment.
|
|
|
|
IF IS_BIT_SET (BitSet_CellphoneDisplay_Continued, g_BSC_LOAD_FROM_MEDIA_FAILED)
|
|
|
|
|
|
#if IS_DEBUG_BUILD
|
|
cdPrintnl()
|
|
cdPrintstring("AppMedia - Load failed. Not Setting up portrait rotation.")
|
|
cdPrintnl()
|
|
#endif
|
|
|
|
ENDIF
|
|
|
|
|
|
|
|
SetUpRotateToPortrait()
|
|
|
|
|
|
|
|
// //g_Cellphone.PhoneDS = PDS_RUNNINGAPP - Moved to conclusion of portrait rotation so premature running app exit cannot take place.
|
|
//
|
|
//
|
|
// #if IS_DEBUG_BUILD
|
|
// cdPrintnl()
|
|
// cdPrintstring("STATE ASSIGNMENT 21890. appMedia assigns PDS_RUNNINGAPP")
|
|
// cdPrintnl()
|
|
// #endif
|
|
//
|
|
// //InitialiseCheckStorage()
|
|
//
|
|
// CLEAR_HELP()
|
|
//
|
|
//
|
|
// g_b_appHasRequestedTidyUp = TRUE //This would stop drawing the pic to the screen eventually and return us to g_Cell_Pic_Stage = PIC_STAGE_IDLE
|
|
// //This bool is checked and acted upon in cellphone_controller.
|
|
//
|
|
|
|
ENDIF
|
|
|
|
ENDIF
|
|
|
|
BREAK
|
|
|
|
|
|
|
|
DEFAULT
|
|
|
|
#if IS_DEBUG_BUILD
|
|
|
|
PRINTSTRING("appMedia in default state. Should terminate if exit check in place.")
|
|
PRINTNL()
|
|
|
|
#endif
|
|
|
|
BREAK
|
|
|
|
|
|
|
|
ENDSWITCH
|
|
|
|
|
|
//IF b_Rotate3dPhoneToLandscape = FALSE
|
|
//AND b_Rotate3dPhoneToPortrait = FALSE
|
|
IF CHECK_FOR_APPLICATION_EXIT()
|
|
|
|
Cleanup_and_Terminate()
|
|
|
|
ENDIF
|
|
//ENDIF
|
|
|
|
|
|
|
|
|
|
|
|
IF b_Rotate3dPhoneToLandscape
|
|
|
|
RotateToLandscape()
|
|
|
|
ENDIF
|
|
|
|
|
|
|
|
IF b_Rotate3dPhoneToPortrait
|
|
|
|
RotateToPortrait()
|
|
|
|
ENDIF
|
|
|
|
|
|
|
|
|
|
|
|
ELSE
|
|
|
|
|
|
|
|
//This is an important section! It tells this script what to do when a call, be it answerphone or other phonecall, comes through.
|
|
//It is important to look at how appTextMessage interacts with any change to this section as it relies upon this script to make a call to any message sender.
|
|
|
|
BeforeCallPhoneDS = PDS_MAXIMUM //After a call has finished the phone display state usually alters to whatever it was before the call came through.
|
|
//We don't really want to go back to the "calling Repeat" screen after an answerphone message so we set it to PDS_MAXIMUM
|
|
//here. We could just as easily put the phone completely away if need be.
|
|
//NB - This also means that when browsing the Repeats list, if a calls comes through and it terminates then we default
|
|
//back to MAXIMUM mode not browsing the Repeats list.
|
|
|
|
Cleanup_and_Terminate() //Likewise, having this here will make sure this script is terminated should any call come through...
|
|
|
|
|
|
|
|
|
|
ENDIF
|
|
|
|
|
|
|
|
ELSE
|
|
|
|
|
|
Check360Storage()
|
|
|
|
ENDIF
|
|
|
|
|
|
|
|
|
|
IF CHECK_FOR_ABNORMAL_EXIT()
|
|
|
|
Cleanup_and_Terminate()
|
|
|
|
ENDIF
|
|
|
|
|
|
|
|
|
|
|
|
ENDWHILE
|
|
|
|
|
|
ENDSCRIPT
|
|
|
|
/*
|
|
[CELL_MSMENU_1]
|
|
Photos
|
|
|
|
[CELL_MSMENU_2]
|
|
Loading...
|
|
|
|
[CELL_MSMENU_3]
|
|
Load failed.
|
|
|
|
[CELL_MSHELP_1]
|
|
Displaying Slot ~1~ ~n~~n~Back ~INPUT_CELLPHONE_CANCEL~
|
|
|
|
[CELL_MSHELP_2]
|
|
Back ~INPUT_CELLPHONE_CANCEL~
|
|
*/
|