//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 "completionPercentage_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" USING "Flow_Mission_Data_Public.sch" // ******************************************************************************************************** // ******************************************************************************************************** // ******************************************************************************************************** // // MISSION NAME : appChecklist.sc // AUTHOR : Steve T // DESCRIPTION : An app that displays a simple breakdown of the player's game progress // // // // // ******************************************************************************************************** // ******************************************************************************************************** // ******************************************************************************************************** //CONST_INT MaxNumberOfRepeatSlots 10 CONST_INT EARLIEST_FIRST 0 CONST_INT LATEST_FIRST 1 INT OpenListSlot[SP_MISSION_MAX] INT NumberOfEntriesInList = 0 INT ListCursorIndex = 0 INT i_Selected_Checklist BOOL dpad_scroll_pause_cued = FALSE /* ENUM enumGrouping CP_GROUP_NO_GROUP, //0 CP_GROUP_MISSIONS, //1 CP_GROUP_MINIGAMES, //2 CP_GROUP_ODDJOBS, //3 CP_GROUP_RANDOMCHARS, CP_GROUP_RANDOMEVENTS, CP_GROUP_MISCELLANEOUS, CP_GROUP_FRIENDS ENDENUM */ ENUM enumAppPhases IN_PRELIM_CHOICE, IN_OPEN_MISSIONS_PHASE, IN_CHECKLIST_PHASE1, IN_CHECKLIST_PHASE2 ENDENUM enumAppPhases eCurrent_Stream //The order of the enums directly correlates to the order they appear on an "earliest first" list on the phone. Was thinking of sorting it alphabetically but missions may be //more important than micro-collection stats. ENUM enumCheckListEntry CLE_MISSIONS, //CLE_MINIGAMES, //CLE_ODDJOBS, CLE_HOBBIES, CLE_RANDOMCHARS, CLE_RANDOMEVENTS, //CLE_FRIENDS, CLE_MISCELLANEOUS, //Now calculates friends and misc together to match social club. //CLE_TESTBLANK, MAX_CHECKLIST_ENTRIES //Do not remove! ENDENUM INT CheckListSlot[MAX_CHECKLIST_ENTRIES] //Grouping enum for reference. These are used in the 100 percent completion tracker but crossover nicely so we can extract total numbers of each group available and the number //currently completed. /* ENUM enumGrouping CP_GROUP_NO_GROUP, //0 CP_GROUP_MISSIONS, //1 CP_GROUP_MINIGAMES, //2 CP_GROUP_ODDJOBS, //3 CP_GROUP_RANDOMCHARS, CP_GROUP_RANDOMEVENTS, CP_GROUP_MISCELLANEOUS, CP_GROUP_FRIENDS ENDENUM */ //Might need to be a saved global so we can keep track of each apps availability for each owner. STRUCT structCheckListEntry TEXT_LABEL CLE_LABEL //the label of the checklist entry for displaying on the phone enumGrouping CLE_GROUP INT CLE_NUM_CURRENT_COMPLETE ENDSTRUCT INT SF_PlugInt_1, SF_PlugInt_2, i_Selected_Choice SCALEFORM_RETURN_INDEX Choice_ReturnedSFIndex BOOL b_GroupingsAvailable = FALSE structCheckListEntry CheckListEntry[MAX_CHECKLIST_ENTRIES] BOOL This_Grouping_Has_Been_Included[MAX_CHECKLIST_ENTRIES] //Open up for public use if necessary. PROC Fill_CheckListEntry (enumCheckListEntry whichEntry, STRING whichEntryLabel, enumGrouping whichGrouping, INT whichCurrentNumberOfGroupingCompleted) CheckListEntry[whichEntry].CLE_LABEL = whichEntryLabel CheckListEntry[whichEntry].CLE_GROUP = whichGrouping CheckListEntry[whichEntry].CLE_NUM_CURRENT_COMPLETE = whichCurrentNumberOfGroupingCompleted IF CheckListEntry[0].CLE_GROUP = CP_GROUP_MISSIONS //unref hack ENDIF ENDPROC PROC Fill_CheckListEntries() //RecalculateResultantPercentageTotal() //from CompletionPercentage_Private.sch //need to get temp_groups to see if any of the groupings have completed members. Fill_CheckListEntry (CLE_MISSIONS, "CELL_3001", CP_GROUP_MISSIONS, temp_Group_Num_of_Missions) //Fill_CheckListEntry (CLE_MINIGAMES, "CELL_3002", CP_GROUP_MINIGAMES, temp_Group_Num_of_Minigames) //Fill_CheckListEntry (CLE_ODDJOBS, "CELL_3003", CP_GROUP_ODDJOBS, temp_Group_Num_of_Oddjobs) Fill_CheckListEntry (CLE_HOBBIES, "CELL_3008", CP_GROUP_MINIGAMES, temp_Group_Num_of_Missions) Fill_CheckListEntry (CLE_RANDOMCHARS, "CELL_3004", CP_GROUP_RANDOMCHARS, temp_Group_Num_of_RandomChars) //referred to as Strangers and Freaks! Fill_CheckListEntry (CLE_RANDOMEVENTS, "CELL_3005", CP_GROUP_RANDOMEVENTS, temp_Group_Num_of_RandomEvents) //Fill_CheckListEntry (CLE_FRIENDS, "CELL_3006", CP_GROUP_FRIENDS, temp_Group_Num_of_Friends) Fill_CheckListEntry (CLE_MISCELLANEOUS, "CELL_3007", CP_GROUP_MISCELLANEOUS, temp_Group_Num_of_Miscellaneous) ENDPROC PROC Setup_Preliminary_Choice() 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_3301") LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_DATA_SLOT", (TO_FLOAT(18)), (TO_FLOAT(1)), (TO_FLOAT(0)),INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM, "CELL_3302") //CELL_3302 NumberOfEntriesInList = 2 //Set scalefrom movie view state enum to Repeats screen and display associated buttons. LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER (SF_MovieIndex, "DISPLAY_VIEW", 18) //Set enum state and header to Check List LEGACY_SCALEFORM_MOVIE_METHOD_WITH_STRING (SF_MovieIndex, "SET_HEADER", "CELL_23") //Badger - Select Back combo 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 LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_SOFT_KEYS", BADGER_OTHER, 0, 15, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM, "CELL_227") //"Error!" - Other 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 LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_SOFT_KEYS", BADGER_OTHER, 0, 15, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM ) //"Error!" - Other ENDIF eCurrent_Stream = IN_PRELIM_CHOICE ENDPROC PROC Place_Open_Missions_in_Slots() NumberOfEntriesInList = 0 //reset number of Repeats before filling list. UPDATE_CHECKLIST_ITEMS() //Call Ben's function to make sure open list is up to date. //Temp test data! /* g_tChecklistItems[0] = "M_ARM1" g_tChecklistItems[1] = "M_EXL2" g_tChecklistItems[2] = "M_FBI3" g_iChecklistItemCount = 3 */ INT slotIndex = 0 LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER(SF_MovieIndex,"SET_DATA_SLOT_EMPTY", 18) IF IS_CURRENTLY_ON_MISSION_TO_TYPE(MISSION_TYPE_STORY) LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_DATA_SLOT", (TO_FLOAT(18)), (TO_FLOAT(slotIndex)), (TO_FLOAT(0)),INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM, "CELL_229") //On Active Mission ELSE WHILE slotIndex < (g_iChecklistItemCount) #if IS_DEBUG_BUILD PRINTSTRING("Populating sf ef slot ") PRINTINT(slotIndex) PRINTNL() #endif LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_DATA_SLOT", (TO_FLOAT(18)), (TO_FLOAT(slotIndex)), (TO_FLOAT(0)),INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM, g_tChecklistItems[slotIndex]) NumberOfEntriesInList ++ OpenListSlot[slotIndex] = slotIndex slotIndex ++ ENDWHILE ENDIF //Unref hack. IF OpenListSlot[1] = 99 ENDIF //Set scalefrom movie view state enum to Repeats screen and display associated buttons. LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER (SF_MovieIndex, "DISPLAY_VIEW", 18 ) //Set enum state and header to Open Missions. LEGACY_SCALEFORM_MOVIE_METHOD_WITH_STRING (SF_MovieIndex, "SET_HEADER", "CELL_3301") IF IS_CURRENTLY_ON_MISSION_TO_TYPE(MISSION_TYPE_STORY) OR g_iChecklistItemCount = 0 LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_SOFT_KEYS", BADGER_POS, 0, 1, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM) //"Error!" - Positive CLEAR_BIT (BitSet_CellphoneDisplay, g_BS_OTHER_OPTION_IS_DISPLAYED) 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) IF g_b_ToggleButtonLabels 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_NEG, 1, 4, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM) // ENDIF ELSE //Badger - Select Back combo 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 LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_SOFT_KEYS", BADGER_OTHER, 0, 15, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM, "CELL_227") //"SORT" - Other //SET_BIT (BitSet_CellphoneDisplay, g_BS_OTHER_OPTION_IS_DISPLAYED) 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 LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_SOFT_KEYS", BADGER_OTHER, 0, 15, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM ) //"SORT" - Other //SET_BIT (BitSet_CellphoneDisplay, g_BS_OTHER_OPTION_IS_DISPLAYED) ENDIF ENDIF eCurrent_Stream = IN_OPEN_MISSIONS_PHASE ENDPROC PROC Place_Names_in_ChecklistSlots() b_GroupingsAvailable = FALSE Fill_CheckListEntries() NumberOfEntriesInList = 0 //reset number of Repeats before filling list. LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER(SF_MovieIndex,"SET_DATA_SLOT_EMPTY", 18) INT slotIndex = 0 IF g_ChecklistSortingMethod = EARLIEST_FIRST WHILE slotIndex < (ENUM_TO_INT(MAX_CHECKLIST_ENTRIES)) //IF CheckListEntry[slotindex].CLE_NUM_CURRENT_COMPLETE > 0 //Only include check progress for any grouping if at least one member has been completed. #if IS_DEBUG_BUILD PRINTSTRING("Populating sf slot ") PRINTINT(slotIndex) PRINTNL() #endif LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_DATA_SLOT", (TO_FLOAT(18)), (TO_FLOAT(NumberOfEntriesInList)), (TO_FLOAT(0)),INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM, CheckListEntry[slotindex].CLE_LABEL) CheckListSlot[NumberOfEntriesInList] = SlotIndex NumberOfEntriesInList ++ //ENDIF slotIndex ++ ENDWHILE ENDIF IF g_ChecklistSortingMethod = LATEST_FIRST INT LatestFirst_Index = 0 //Need to work out how many slots need filled at the start by finding out how many groupings have at least one member. INT tempIndex = 0 WHILE tempIndex < (ENUM_TO_INT(MAX_CHECKLIST_ENTRIES)) This_Grouping_Has_Been_Included[tempIndex] = FALSE tempIndex ++ ENDWHILE LatestFirst_Index = ((ENUM_TO_INT(MAX_CHECKLIST_ENTRIES) - 1)) WHILE slotIndex < (ENUM_TO_INT(MAX_CHECKLIST_ENTRIES)) IF CheckListEntry[LatestFirst_Index].CLE_NUM_CURRENT_COMPLETE > 0 //Only include check progress for any grouping if at least one member has been completed. /* #if IS_DEBUG_BUILD PRINTSTRING("Populating sf slot ") PRINTINT(slotIndex) PRINTNL() PRINTSTRING("LFI ") PRINTINT(LatestFirst_Index) PRINTNL() PRINTSTRING("Num of entries ") PRINTINT(numberofEntriesInList) PRINTNL() #endif */ IF This_Grouping_Has_Been_Included[latestfirst_Index] = FALSE LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_DATA_SLOT", (TO_FLOAT(18)), (TO_FLOAT(NumberOfEntriesInList)), (TO_FLOAT(0)),INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM, CheckListEntry[LatestFirst_Index].CLE_LABEL) CheckListSlot[NumberOfEntriesInList] = LatestFirst_Index NumberOfEntriesInList ++ This_Grouping_Has_Been_Included[latestfirst_Index] = TRUE ENDIF ENDIF IF LatestFirst_Index > 0 LatestFirst_Index -- ENDIF slotIndex ++ ENDWHILE ENDIF IF NumberOfEntriesInList = 0 // No progress has been made whatsoever, fill slot 0 with appropriate message. 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_3092") //"No progress made". ELSE b_GroupingsAvailable = TRUE //Need a check that allows user to select entry or not. We don't want them to be able to select "No progress made". ENDIF //Set scalefrom movie view state enum to Repeats screen and display associated buttons. LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER (SF_MovieIndex, "DISPLAY_VIEW", 18) //Set enum state and header to Check List LEGACY_SCALEFORM_MOVIE_METHOD_WITH_STRING (SF_MovieIndex, "SET_HEADER", "CELL_23") //Badger - Select Back combo 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 LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_SOFT_KEYS", BADGER_OTHER, 0, 15, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM, "CELL_227") //"SORT" - Other SET_BIT (BitSet_CellphoneDisplay, g_BS_OTHER_OPTION_IS_DISPLAYED) 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 LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_SOFT_KEYS", BADGER_OTHER, 0, 15, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM ) //"SORT" - Other SET_BIT (BitSet_CellphoneDisplay, g_BS_OTHER_OPTION_IS_DISPLAYED) ENDIF eCurrent_Stream = IN_CHECKLIST_PHASE1 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)) IF ListCursorIndex > 0 ListCursorIndex -- ENDIF Call_Scaleform_Input_Keypress_Up() ENDIF IF Is_Phone_Control_Just_Pressed( FRONTEND_CONTROL, INT_TO_ENUM (CONTROL_ACTION,INPUT_CELLPHONE_SCROLL_FORWARD)) ListCursorIndex ++ IF ListCursorIndex = NumberOfEntriesInList ListCursorIndex = 0 ENDIF 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)) IF ListCursorIndex > 0 ListCursorIndex -- ENDIF 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)) ListCursorIndex ++ IF ListCursorIndex = NumberOfEntriesInList ListCursorIndex = 0 ENDIF Call_Scaleform_Input_Keypress_Down() dpad_scroll_pause_cued = TRUE SETTIMERA (0) ENDIF ENDIF ENDPROC PROC Get_Checklist_Entry_Values_For_Scaleform() //RecalculateResultantPercentageTotal() //from CompletionPercentage_Private.sch //Just in case any completions have been made inbetween choices being listed and one chosen. SWITCH INT_TO_ENUM (enumCheckListEntry, i_Selected_CheckList) CASE CLE_MISSIONS SF_PlugInt_1 = g_Group_Num_of_Missions //Total available missions... SF_PlugInt_2 = temp_Group_Num_of_Missions //Completed so far... BREAK /* CASE CLE_MINIGAMES SF_PlugInt_1 = g_Group_Num_of_Minigames //Total available missions... SF_PlugInt_2 = temp_Group_Num_of_Minigames //Completed so far... BREAK CASE CLE_ODDJOBS SF_PlugInt_1 = g_Group_Num_of_Oddjobs //Total available missions... SF_PlugInt_2 = temp_Group_Num_of_Oddjobs //Completed so far... BREAK */ CASE CLE_HOBBIES //Now an amalgamation of oddjobs and minigames. See bugs 1534381 and 1534353 SF_PlugInt_1 = g_Group_Num_of_Minigames + g_Group_Num_of_Oddjobs SF_PlugInt_2 = temp_Group_Num_of_Minigames + temp_Group_Num_of_Oddjobs BREAK CASE CLE_RANDOMCHARS SF_PlugInt_1 = g_Group_Num_of_RandomChars SF_PlugInt_2 = temp_Group_Num_of_RandomChars BREAK CASE CLE_RANDOMEVENTS SF_PlugInt_1 = g_Group_Num_of_RandomEvents SF_PlugInt_2 = temp_Group_Num_of_RandomEvents BREAK /* CASE CLE_FRIENDS //Combined with miscellaneous to match social club checklist. SF_PlugInt_1 = g_Group_Num_of_Friends SF_PlugInt_2 = temp_Group_Num_of_Friends BREAK */ CASE CLE_MISCELLANEOUS SF_PlugInt_1 = (g_Group_Num_of_Miscellaneous + g_Group_Num_of_Friends) SF_PlugInt_2 = (temp_Group_Num_of_Miscellaneous + temp_Group_Num_of_Friends) BREAK DEFAULT SF_PlugInt_1 = 0 SF_PlugInt_2 = 0 BREAK ENDSWITCH ENDPROC PROC Check_for_Preliminary_Choice_Selection() IF g_InputButtonJustPressed = FALSE IF Is_Phone_Control_Just_Pressed (FRONTEND_CONTROL, INT_TO_ENUM (CONTROL_ACTION, PHONE_POSITIVE_INPUT)) //positive action - Repeat selected. 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) #if IS_DEBUG_BUILD cdPrintstring("appCheckList - Waiting on return value from scaleform. 102") cdPrintnl() #endif ENDWHILE i_Selected_Choice = GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_INT (Choice_ReturnedSFIndex) #if IS_DEBUG_BUILD PRINTNL() PRINTSTRING ("Preliminary checklist app choice was ") PRINTINT (i_Selected_Choice) PRINTNL() #endif IF g_CellPhone.PhoneDS > PDS_AWAY //make sure that the following state assignment cannot interfere with AWAY or DISABLED assignment. g_Cellphone.PhoneDS = PDS_COMPLEXAPP #if IS_DEBUG_BUILD cdPrintnl() cdPrintstring("STATE ASSIGNMENT 203. appChecklist assigns PDS_COMPLEXAPP") cdPrintnl() #endif IF i_Selected_Choice = 0 //List open missions here! eCurrent_Stream = IN_OPEN_MISSIONS_PHASE Place_Open_Missions_in_Slots() ELSE eCurrent_Stream = IN_CHECKLIST_PHASE1 Place_Names_in_ChecklistSlots() ENDIF ENDIF ENDIF ENDIF ENDPROC PROC Check_For_Checklist_Selection() //Again, could pass stuff in here for context checking depending on screen. Will check all flash stuff. IF g_InputButtonJustPressed = FALSE IF Is_Phone_Control_Just_Pressed (FRONTEND_CONTROL, INT_TO_ENUM (CONTROL_ACTION, PHONE_POSITIVE_INPUT)) //positive action. Display details... Play_Select_Beep() g_InputButtonJustPressed = TRUE //i_Selected_CheckList = ENUM_TO_INT (CheckListSlot[LEGACY_SCALEFORM_MOVIE_METHOD(SF_MovieIndex, "GET_CURRENT_SELECTION")]) 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) #if IS_DEBUG_BUILD cdPrintstring("appChecklist - Waiting on return value from scaleform. 103") cdPrintnl() #endif ENDWHILE INT i_TestInt = GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_INT(Choice_ReturnedSFIndex) i_Selected_Checklist = (CheckListSlot[i_TestInt]) #if IS_DEBUG_BUILD PRINTSTRING("The returned plug-in value was ") PRINTINT (i_TestInt) PRINTNL() PRINTSTRING ("Contents of selected checklist slot is: ") PRINTINT (i_Selected_CheckList) PRINTNL() #endif IF g_CellPhone.PhoneDS > PDS_AWAY //make sure that the following state assignment cannot interfere with AWAY or DISABLED assignment. g_Cellphone.PhoneDS = PDS_COMPLEXAPP #if IS_DEBUG_BUILD cdPrintnl() cdPrintstring("STATE ASSIGNMENT 90. appChecklist assigns PDS_COMPLEXAPP") cdPrintnl() #endif ENDIF LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER(SF_MovieIndex, "SET_DATA_SLOT_EMPTY", 18) //unref hack IF i_Selected_Checklist = 1 ENDIF Get_Checklist_Entry_Values_For_Scaleform() BEGIN_SCALEFORM_MOVIE_METHOD (SF_MovieIndex, "SET_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(18) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT (0) BEGIN_TEXT_COMMAND_SCALEFORM_STRING("CELL_3206") //Available... ADD_TEXT_COMPONENT_INTEGER (SF_PlugInt_1) END_TEXT_COMMAND_SCALEFORM_STRING() END_SCALEFORM_MOVIE_METHOD() BEGIN_SCALEFORM_MOVIE_METHOD (SF_MovieIndex, "SET_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(18) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(1) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT (0) BEGIN_TEXT_COMMAND_SCALEFORM_STRING("CELL_3101") //Complete... ADD_TEXT_COMPONENT_INTEGER (SF_PlugInt_2) END_TEXT_COMMAND_SCALEFORM_STRING() END_SCALEFORM_MOVIE_METHOD() /* INT i_Percentage i_Percentage = ((SF_PlugInt_2 * 100) / SF_PlugInt_1) //Percentage calculation needs done here. BEGIN_SCALEFORM_MOVIE_METHOD (SF_MovieIndex, "SET_DATA_SLOT") SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(18) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(3) SCALEFORM_MOVIE_METHOD_ADD_PARAM_STRING("CELL_3091") //SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(i_Percentage) //Calculation result. //Traffic light colouring IF i_Percentage < 61 //Red //SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(255) //SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) //SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) //Bronze SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(165) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(131) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(27) ENDIF IF i_Percentage > 60 AND i_Percentage < 100 //Amber //SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(255) //SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(166) //SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) //Silver SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(215) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(216) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(247) ENDIF IF i_Percentage = 100 //Green //SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) //SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(255) //SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) //Gold SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(238) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(220) SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(66) ENDIF END_SCALEFORM_MOVIE_METHOD() */ LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER (SF_MovieIndex, "DISPLAY_VIEW", 18) //19 has been removed? LEGACY_SCALEFORM_MOVIE_METHOD_WITH_STRING (SF_MovieIndex, "SET_HEADER", CheckListEntry[i_Selected_CheckList].CLE_LABEL) LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_SOFT_KEYS", BADGER_POS, 0, 2, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM) //"Error!" - Positive LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_SOFT_KEYS", BADGER_OTHER, 0, 2, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM) //"Error!" - Other CLEAR_BIT (BitSet_CellphoneDisplay, g_BS_OTHER_OPTION_IS_DISPLAYED) IF g_b_ToggleButtonLabels 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_NEG, 1, 4, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM) ENDIF eCurrent_Stream = IN_CHECKLIST_PHASE2 ENDIF ENDIF ENDPROC ///* //PROC OLDCheck_For_Checklist_Selection() //Again, could pass stuff in here for context checking depending on screen. Will check all flash stuff. // // // IF g_InputButtonJustPressed = FALSE // IF Is_Phone_Control_Just_Pressed (FRONTEND_CONTROL, INT_TO_ENUM (CONTROL_ACTION, PHONE_POSITIVE_INPUT)) //positive action. Display details... // // // // // Play_Select_Beep() // // // g_InputButtonJustPressed = TRUE // // // // //i_Selected_CheckList = ENUM_TO_INT (CheckListSlot[LEGACY_SCALEFORM_MOVIE_METHOD(SF_MovieIndex, "GET_CURRENT_SELECTION")]) // // 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) // // #if IS_DEBUG_BUILD // // cdPrintstring("appChecklist - Waiting on return value from scaleform. 103") // cdPrintnl() // // #endif // // ENDWHILE // // // // INT i_TestInt = GET_SCALEFORM_MOVIE_METHOD_RETURN_VALUE_INT(Choice_ReturnedSFIndex) // // i_Selected_Checklist = (CheckListSlot[i_TestInt]) // // // #if IS_DEBUG_BUILD // // PRINTSTRING("The returned plug-in value was ") // PRINTINT (i_TestInt) // // PRINTNL() // PRINTSTRING ("Contents of selected checklist slot is: ") // PRINTINT (i_Selected_CheckList) // PRINTNL() // #endif // // // // IF g_CellPhone.PhoneDS > PDS_AWAY //make sure that the following state assignment cannot interfere with AWAY or DISABLED assignment. // // g_Cellphone.PhoneDS = PDS_COMPLEXAPP // // #if IS_DEBUG_BUILD // // cdPrintnl() // cdPrintstring("STATE ASSIGNMENT 90. appChecklist assigns PDS_COMPLEXAPP") // cdPrintnl() // // #endif // // ENDIF // // LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER(SF_MovieIndex, "SET_DATA_SLOT_EMPTY", 19) // // // //unref hack // IF i_Selected_Checklist = 1 // ENDIF // // // // // // LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_DATA_SLOT", (TO_FLOAT(19)), (TO_FLOAT(0)), // INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM, "CELL_3090") //"Details" // // // Get_Checklist_Entry_Values_For_Scaleform() // // // BEGIN_SCALEFORM_MOVIE_METHOD (SF_MovieIndex, "SET_DATA_SLOT") // // SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(19) // SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(1) // SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT (0) // // // BEGIN_TEXT_COMMAND_SCALEFORM_STRING("CELL_3206") //Available... // // ADD_TEXT_COMPONENT_INTEGER (SF_PlugInt_1) // // END_TEXT_COMMAND_SCALEFORM_STRING() // // // END_SCALEFORM_MOVIE_METHOD() // // // // // BEGIN_SCALEFORM_MOVIE_METHOD (SF_MovieIndex, "SET_DATA_SLOT") // // SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(19) // SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(2) // SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT (0) // // // // BEGIN_TEXT_COMMAND_SCALEFORM_STRING("CELL_3101") //Complete... // // ADD_TEXT_COMPONENT_INTEGER (SF_PlugInt_2) // // END_TEXT_COMMAND_SCALEFORM_STRING() // // // END_SCALEFORM_MOVIE_METHOD() // // // // // // INT i_Percentage // // // i_Percentage = ((SF_PlugInt_2 * 100) / SF_PlugInt_1) // // // //Percentage calculation needs done here. // BEGIN_SCALEFORM_MOVIE_METHOD (SF_MovieIndex, "SET_DATA_SLOT") // // SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(19) // SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(3) // SCALEFORM_MOVIE_METHOD_ADD_PARAM_STRING("CELL_3091") // // // SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(i_Percentage) //Calculation result. // // //Traffic light colouring // IF i_Percentage < 61 // // //Red // //SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(255) // //SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // //SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // // //Bronze // SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(165) // SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(131) // SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(27) // // // // // ENDIF // // IF i_Percentage > 60 // AND i_Percentage < 100 // // //Amber // //SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(255) // //SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(166) // //SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // // //Silver // SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(215) // SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(216) // SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(247) // // // // ENDIF // // IF i_Percentage = 100 // // //Green // //SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // //SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(255) // //SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(0) // // //Gold // SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(238) // SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(220) // SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(66) // // // // ENDIF // // // END_SCALEFORM_MOVIE_METHOD() // // // // LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER (SF_MovieIndex, "DISPLAY_VIEW", 19) //19 has been removed? // // LEGACY_SCALEFORM_MOVIE_METHOD_WITH_STRING (SF_MovieIndex, "SET_HEADER", CheckListEntry[i_Selected_CheckList].CLE_LABEL) // // // // // // // LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_SOFT_KEYS", BADGER_POS, 0, // 2, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM) //"Error!" - Positive // // LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER_AND_STRING (SF_MovieIndex, "SET_SOFT_KEYS", BADGER_OTHER, 0, // 2, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM) //"Error!" - Other // // CLEAR_BIT (BitSet_CellphoneDisplay, g_BS_OTHER_OPTION_IS_DISPLAYED) // // // IF g_b_ToggleButtonLabels // 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_NEG, 1, // 4, INVALID_SCALEFORM_PARAM, INVALID_SCALEFORM_PARAM) // ENDIF // // // eCurrent_Stream = IN_CHECKLIST_PHASE2 // // // ENDIF // // // // // // // // // // // // // /*Comment out checklist sort... // //User changes sorting method. // IF Is_Phone_Control_Just_Pressed (FRONTEND_CONTROL, INT_TO_ENUM (CONTROL_ACTION, PHONE_SPECIAL_OPTION_INPUT)) // // // Play_Select_Beep() // // // g_InputButtonJustPressed = TRUE // // // #if IS_DEBUG_BUILD // PRINTNL() // PRINTSTRING ("APPCHECKLIST - Sorting list") // PRINTNL() // #endif // // // IF g_CheckListSortingMethod = EARLIEST_FIRST // // g_CheckListSortingMethod = LATEST_FIRST // // ELSE // // g_ChecklistSortingMethod = EARLIEST_FIRST // // ENDIF // // // Place_Names_in_CheckListSlots() // // // // ENDIF // */ // // // ENDIF // // // // //ENDPROC //*/ PROC Cleanup_and_Terminate() #if IS_DEBUG_BUILD PRINTNL() PRINTSTRING ("APPCHECKLIST - appChecklist exiting normally...") PRINTNL() #endif TERMINATE_THIS_THREAD() ENDPROC SCRIPT //Ensure this script persists during network game NETWORK_SET_SCRIPT_IS_SAFE_FOR_NETWORK_GAME() //RecalculateResultantPercentageTotal() //from CompletionPercentage_Private.sch //need to get temp_groups to see if any of the filters have been complete. LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER (SF_MovieIndex,"SET_DATA_SLOT_EMPTY", 18) Fill_CheckListEntries() Setup_Preliminary_Choice() WHILE TRUE WAIT(0) /* IF eCurrent_Stream = IN_PRELIM_CHOICE DISPLAY_TEXT_WITH_LITERAL_STRING (0.15, 0.54, "STRING", "Prelim") ENDIF IF eCurrent_Stream = IN_CHECKLIST_PHASE1 DISPLAY_TEXT_WITH_LITERAL_STRING (0.15, 0.54, "STRING", "Phase 1") ENDIF IF eCurrent_Stream = IN_CHECKLIST_PHASE2 DISPLAY_TEXT_WITH_LITERAL_STRING (0.15, 0.54, "STRING", "Phase 2") ENDIF */ 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 NOT IS_CURRENTLY_ON_MISSION_TO_TYPE() //Investigate why this is forbidden? Check_for_List_Navigation() IF eCurrent_Stream = IN_PRELIM_CHOICE Check_for_Preliminary_Choice_Selection() ENDIF //ENDIF BREAK CASE PDS_COMPLEXAPP IF eCurrent_Stream = IN_CHECKLIST_PHASE1 Check_for_List_Navigation() IF b_GroupingsAvailable Check_For_Checklist_Selection() ENDIF ENDIF IF eCurrent_Stream = IN_OPEN_MISSIONS_PHASE Check_For_List_Navigation() ENDIF IF Is_Phone_Control_Just_Pressed (FRONTEND_CONTROL, INT_TO_ENUM (CONTROL_ACTION, PHONE_GO_BACK_INPUT)) //Go back action - user opted to return to full text message list from single message display. Play_Back_Beep() g_InputButtonJustPressed = TRUE IF eCurrent_Stream = IN_CHECKLIST_PHASE1 OR eCurrent_Stream = IN_OPEN_MISSIONS_PHASE LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER(SF_MovieIndex,"SET_DATA_SLOT_EMPTY", 18) Setup_Preliminary_Choice() 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 #if IS_DEBUG_BUILD cdPrintnl() cdPrintstring("STATE ASSIGNMENT 91. appChecklist assigns PDS_RUNNINGAPP") cdPrintnl() #endif ENDIF ENDIF IF eCurrent_Stream = IN_CHECKLIST_PHASE2 LEGACY_SCALEFORM_MOVIE_METHOD_WITH_NUMBER(SF_MovieIndex,"SET_DATA_SLOT_EMPTY", 18) Place_Names_in_ChecklistSlots() ENDIF ENDIF BREAK DEFAULT #if IS_DEBUG_BUILD PRINTSTRING("AppChecklist in default state. Should terminate if exit check in place.") PRINTNL() #endif BREAK ENDSWITCH IF CHECK_FOR_APPLICATION_EXIT() Cleanup_and_Terminate() 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 IF CHECK_FOR_ABNORMAL_EXIT() Cleanup_and_Terminate() ENDIF ENDWHILE ENDSCRIPT /* [CELL_3002] Minigames [CELL_3003] Oddjobs [CELL_3202] - Minigames Available: ~1~ [CELL_3203] - Oddjobs Available: ~1~ */