979 lines
34 KiB
Scheme
Executable File
979 lines
34 KiB
Scheme
Executable File
USING "tv_control_public.sch"
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
USING "family_debug.sch"
|
|
#ENDIF
|
|
|
|
#if USE_CLF_DLC
|
|
USING "player_scene_Assets.sch"
|
|
USING "familycoords_private.sch"
|
|
#endif
|
|
#if USE_NRM_DLC
|
|
USING "player_scene_Assets.sch"
|
|
USING "familycoords_private.sch"
|
|
#ENDIF
|
|
///private header for family scripts
|
|
/// alwyn.roberts@rockstarnorth.com
|
|
///
|
|
|
|
// *******************************************************************************************
|
|
// FAMILY PRIVATE COORD FUNCTIONS
|
|
// *******************************************************************************************
|
|
|
|
FUNC enumCharacterList PRIVATE_Get_CharList_From_FamilyMember(enumFamilyMember eFamilyMember, MODEL_NAMES &eModelIfNoChar)
|
|
eModelIfNoChar = DUMMY_MODEL_FOR_SCRIPT
|
|
|
|
SWITCH eFamilyMember
|
|
CASE FM_MICHAEL_SON RETURN CHAR_JIMMY BREAK
|
|
CASE FM_MICHAEL_DAUGHTER RETURN CHAR_TRACEY BREAK
|
|
CASE FM_MICHAEL_WIFE
|
|
// IF TRUE //if Amandas heels are broken
|
|
RETURN CHAR_AMANDA
|
|
// ELSE
|
|
// eModelIfNoChar = S_F_Y_HOOKER_01 RETURN NO_CHARACTER
|
|
// ENDIF
|
|
BREAK
|
|
|
|
CASE FM_FRANKLIN_AUNT RETURN CHAR_DENISE BREAK
|
|
CASE FM_FRANKLIN_LAMAR RETURN CHAR_LAMAR BREAK
|
|
CASE FM_FRANKLIN_STRETCH RETURN CHAR_STRETCH BREAK
|
|
|
|
CASE FM_TREVOR_0_RON RETURN CHAR_RON BREAK
|
|
CASE FM_TREVOR_0_MICHAEL RETURN CHAR_MICHAEL BREAK
|
|
CASE FM_TREVOR_0_TREVOR RETURN CHAR_TREVOR BREAK
|
|
CASE FM_TREVOR_0_WIFE RETURN CHAR_PATRICIA BREAK
|
|
CASE FM_TREVOR_0_MOTHER eModelIfNoChar = S_F_M_MAID_01 RETURN NO_CHARACTER BREAK
|
|
|
|
CASE FM_TREVOR_1_FLOYD RETURN CHAR_FLOYD BREAK
|
|
CASE FM_TREVOR_1_WADE RETURN CHAR_WADE BREAK
|
|
|
|
//not a char
|
|
CASE FM_MICHAEL_MEXMAID eModelIfNoChar = S_F_M_MAID_01 RETURN NO_CHARACTER BREAK
|
|
CASE FM_MICHAEL_GARDENER eModelIfNoChar = S_M_M_GARDENER_01 RETURN NO_CHARACTER BREAK
|
|
|
|
//
|
|
CASE MAX_FAMILY_MEMBER RETURN GLOBAL_CHARACTER_SHEET_GET_MAX_CHARACTERS_FOR_GAMEMODE() BREAK
|
|
|
|
ENDSWITCH
|
|
|
|
RETURN NO_CHARACTER
|
|
ENDFUNC
|
|
|
|
|
|
// *******************************************************************************************
|
|
// FAMILY PUBLIC FUNCTIONS
|
|
// *******************************************************************************************
|
|
|
|
FUNC enumFamilyMember GET_enumFamilyMember_from_ped(PED_INDEX PedIndex)
|
|
MODEL_NAMES ePedIndexModel = GET_ENTITY_MODEL(PedIndex)
|
|
|
|
IF (ePedIndexModel = GET_NPC_PED_MODEL(CHAR_JIMMY)) RETURN FM_MICHAEL_SON
|
|
ELIF (ePedIndexModel = GET_NPC_PED_MODEL(CHAR_TRACEY)) RETURN FM_MICHAEL_DAUGHTER
|
|
ELIF (ePedIndexModel = GET_NPC_PED_MODEL(CHAR_AMANDA)) RETURN FM_MICHAEL_WIFE
|
|
ELIF (ePedIndexModel = S_F_M_MAID_01) RETURN FM_MICHAEL_MEXMAID
|
|
ELIF (ePedIndexModel = S_M_M_GARDENER_01) RETURN FM_MICHAEL_GARDENER
|
|
|
|
ELIF (ePedIndexModel = IG_DENISE) RETURN FM_FRANKLIN_AUNT
|
|
ELIF (ePedIndexModel = GET_NPC_PED_MODEL(CHAR_LAMAR)) RETURN FM_FRANKLIN_LAMAR
|
|
ELIF (ePedIndexModel = GET_NPC_PED_MODEL(CHAR_STRETCH)) RETURN FM_FRANKLIN_STRETCH
|
|
|
|
ELIF (ePedIndexModel = GET_PLAYER_PED_MODEL(CHAR_MICHAEL)) RETURN FM_TREVOR_0_MICHAEL
|
|
ELIF (ePedIndexModel = GET_PLAYER_PED_MODEL(CHAR_TREVOR)) RETURN FM_TREVOR_0_TREVOR
|
|
ELIF (ePedIndexModel = GET_NPC_PED_MODEL(CHAR_RON)) RETURN FM_TREVOR_0_RON
|
|
ELIF (ePedIndexModel = GET_NPC_PED_MODEL(CHAR_PATRICIA)) RETURN FM_TREVOR_0_WIFE
|
|
|
|
ELIF (ePedIndexModel = S_F_M_MAID_01) RETURN FM_TREVOR_0_MOTHER
|
|
|
|
ELIF (ePedIndexModel = GET_NPC_PED_MODEL(CHAR_FLOYD)) RETURN FM_TREVOR_1_FLOYD
|
|
ELIF (ePedIndexModel = GET_NPC_PED_MODEL(CHAR_WADE)) RETURN FM_TREVOR_1_WADE
|
|
|
|
ELSE
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// CPRINTLN(DEBUG_FAMILY, "<")
|
|
// CPRINTLN(DEBUG_FAMILY, GET_THIS_SCRIPT_NAME())
|
|
// CPRINTLN(DEBUG_FAMILY, "> invalid ePedIndexModel in GET_enumFamilyMember_from_ped[")
|
|
//
|
|
// CPRINTLN(DEBUG_FAMILY, GET_MODEL_NAME_FOR_DEBUG(ePedIndexModel))
|
|
//
|
|
// CPRINTLN(DEBUG_FAMILY, "]")
|
|
// CprintNL()
|
|
// #ENDIF
|
|
//
|
|
// CASSERTLN(DEBUG_FAMILY, "invalid ePedIndexModel in GET_enumFamilyMember_from_ped()")
|
|
RETURN NO_FAMILY_MEMBER
|
|
ENDIF
|
|
|
|
ENDFUNC
|
|
|
|
PROC PRIVATE_Set_Additional_Current_Family_Member_Event(enumFamilyMember eAdditionalFamilyMember, enumFamilyEvents eFamilyEvent)
|
|
Update_Previous_Event_For_FamilyMember(eAdditionalFamilyMember)
|
|
g_eCurrentFamilyEvent[eAdditionalFamilyMember] = eFamilyEvent
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_FAMILY, "ADDITIONAL: set current family event for ", Get_String_From_FamilyMember(eAdditionalFamilyMember), " to ", Get_String_From_FamilyEvent(eFamilyEvent))
|
|
#ENDIF
|
|
ENDPROC
|
|
PROC PRIVATE_Set_Current_Family_Member_Event(enumFamilyMember eFamilyMember, enumFamilyEvents eFamilyEvent)
|
|
|
|
Update_Previous_Event_For_FamilyMember(eFamilyMember)
|
|
g_eCurrentFamilyEvent[eFamilyMember] = eFamilyEvent
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_FAMILY, "set current family event for ", Get_String_From_FamilyMember(eFamilyMember), " to ", Get_String_From_FamilyEvent(eFamilyEvent))
|
|
DEBUG_PRINTCALLSTACK()
|
|
#ENDIF
|
|
|
|
SWITCH eFamilyEvent
|
|
CASE FE_M_FAMILY_on_laptops
|
|
SWITCH eFamilyMember
|
|
CASE FM_MICHAEL_SON
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_DAUGHTER, eFamilyEvent)
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_WIFE, eFamilyEvent)
|
|
BREAK
|
|
CASE FM_MICHAEL_DAUGHTER
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_SON, eFamilyEvent)
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_WIFE, eFamilyEvent)
|
|
BREAK
|
|
CASE FM_MICHAEL_WIFE
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_SON, eFamilyEvent)
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_DAUGHTER, eFamilyEvent)
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
BREAK
|
|
CASE FE_M_FAMILY_MIC4_locked_in_room
|
|
SWITCH eFamilyMember
|
|
CASE FM_MICHAEL_SON
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_DAUGHTER, eFamilyEvent)
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_WIFE, eFamilyEvent)
|
|
BREAK
|
|
CASE FM_MICHAEL_DAUGHTER
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_SON, eFamilyEvent)
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_WIFE, eFamilyEvent)
|
|
BREAK
|
|
CASE FM_MICHAEL_WIFE
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_SON, eFamilyEvent)
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_DAUGHTER, eFamilyEvent)
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
BREAK
|
|
|
|
CASE FE_M7_FAMILY_finished_breakfast
|
|
SWITCH eFamilyMember
|
|
CASE FM_MICHAEL_SON
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_DAUGHTER, eFamilyEvent)
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_WIFE, eFamilyEvent)
|
|
BREAK
|
|
CASE FM_MICHAEL_DAUGHTER
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_SON, eFamilyEvent)
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_WIFE, eFamilyEvent)
|
|
BREAK
|
|
CASE FM_MICHAEL_WIFE
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_SON, eFamilyEvent)
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_DAUGHTER, eFamilyEvent)
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
BREAK
|
|
CASE FE_M7_FAMILY_finished_pizza
|
|
SWITCH eFamilyMember
|
|
CASE FM_MICHAEL_SON
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_DAUGHTER, eFamilyEvent)
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_WIFE, eFamilyEvent)
|
|
BREAK
|
|
CASE FM_MICHAEL_DAUGHTER
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_SON, eFamilyEvent)
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_WIFE, eFamilyEvent)
|
|
BREAK
|
|
CASE FM_MICHAEL_WIFE
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_SON, eFamilyEvent)
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_DAUGHTER, eFamilyEvent)
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
BREAK
|
|
CASE FE_M7_FAMILY_watching_TV
|
|
SWITCH eFamilyMember
|
|
CASE FM_MICHAEL_SON
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_DAUGHTER, eFamilyEvent)
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_WIFE, eFamilyEvent)
|
|
BREAK
|
|
CASE FM_MICHAEL_DAUGHTER
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_SON, eFamilyEvent)
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_WIFE, eFamilyEvent)
|
|
BREAK
|
|
CASE FM_MICHAEL_WIFE
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_SON, eFamilyEvent)
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_DAUGHTER, eFamilyEvent)
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
BREAK
|
|
|
|
CASE FE_M_SON_Fighting_with_sister_A
|
|
SWITCH eFamilyMember
|
|
CASE FM_MICHAEL_SON
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_DAUGHTER, eFamilyEvent)
|
|
BREAK
|
|
CASE FM_MICHAEL_DAUGHTER
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_SON, eFamilyEvent)
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
BREAK
|
|
CASE FE_M_SON_Fighting_with_sister_B
|
|
SWITCH eFamilyMember
|
|
CASE FM_MICHAEL_SON
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_DAUGHTER, eFamilyEvent)
|
|
BREAK
|
|
CASE FM_MICHAEL_DAUGHTER
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_SON, eFamilyEvent)
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
BREAK
|
|
CASE FE_M_SON_Fighting_with_sister_C
|
|
SWITCH eFamilyMember
|
|
CASE FM_MICHAEL_SON
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_DAUGHTER, eFamilyEvent)
|
|
BREAK
|
|
CASE FM_MICHAEL_DAUGHTER
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_SON, eFamilyEvent)
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
BREAK
|
|
CASE FE_M_SON_Fighting_with_sister_D
|
|
SWITCH eFamilyMember
|
|
CASE FM_MICHAEL_SON
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_DAUGHTER, eFamilyEvent)
|
|
BREAK
|
|
CASE FM_MICHAEL_DAUGHTER
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_SON, eFamilyEvent)
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
BREAK
|
|
CASE FE_M7_SON_watching_TV_with_tracey
|
|
SWITCH eFamilyMember
|
|
CASE FM_MICHAEL_SON
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_DAUGHTER, eFamilyEvent)
|
|
BREAK
|
|
CASE FM_MICHAEL_DAUGHTER
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_SON, eFamilyEvent)
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
BREAK
|
|
CASE FE_M_WIFE_screams_at_mexmaid
|
|
SWITCH eFamilyMember
|
|
CASE FM_MICHAEL_WIFE
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_MEXMAID, eFamilyEvent)
|
|
BREAK
|
|
CASE FM_MICHAEL_MEXMAID
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_WIFE, eFamilyEvent)
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
BREAK
|
|
// CASE FE_M_WIFE_screaming_at_son_P1
|
|
// SWITCH eFamilyMember
|
|
// CASE FM_MICHAEL_WIFE
|
|
// PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_SON, eFamilyEvent)
|
|
// BREAK
|
|
// CASE FM_MICHAEL_SON
|
|
// PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_WIFE, eFamilyEvent)
|
|
// BREAK
|
|
// ENDSWITCH
|
|
//
|
|
// BREAK
|
|
CASE FE_M_WIFE_screaming_at_son_P2
|
|
SWITCH eFamilyMember
|
|
CASE FM_MICHAEL_WIFE
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_SON, eFamilyEvent)
|
|
BREAK
|
|
CASE FM_MICHAEL_SON
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_WIFE, eFamilyEvent)
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
BREAK
|
|
CASE FE_M_WIFE_screaming_at_son_P3
|
|
SWITCH eFamilyMember
|
|
CASE FM_MICHAEL_WIFE
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_SON, eFamilyEvent)
|
|
BREAK
|
|
CASE FM_MICHAEL_SON
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_WIFE, eFamilyEvent)
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
BREAK
|
|
|
|
CASE FE_M_WIFE_screaming_at_daughter
|
|
SWITCH eFamilyMember
|
|
CASE FM_MICHAEL_WIFE
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_DAUGHTER, eFamilyEvent)
|
|
BREAK
|
|
CASE FM_MICHAEL_DAUGHTER
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_WIFE, eFamilyEvent)
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
BREAK
|
|
// CASE FE_M7_WIFE_shopping_with_son
|
|
// SWITCH eFamilyMember
|
|
// CASE FM_MICHAEL_WIFE
|
|
// PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_SON, eFamilyEvent)
|
|
// BREAK
|
|
// CASE FM_MICHAEL_SON
|
|
// PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_WIFE, eFamilyEvent)
|
|
// BREAK
|
|
// ENDSWITCH
|
|
//
|
|
// BREAK
|
|
|
|
CASE FE_M7_WIFE_shopping_with_daughter
|
|
SWITCH eFamilyMember
|
|
CASE FM_MICHAEL_WIFE
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_DAUGHTER, eFamilyEvent)
|
|
BREAK
|
|
CASE FM_MICHAEL_DAUGHTER
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_MICHAEL_WIFE, eFamilyEvent)
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
BREAK
|
|
|
|
// CASE FE_F_LAMAR_and_STRETCH_chill_outside
|
|
// SWITCH eFamilyMember
|
|
// CASE FM_FRANKLIN_LAMAR
|
|
// PRIVATE_Set_Additional_Current_Family_Member_Event(FM_FRANKLIN_STRETCH, eFamilyEvent)
|
|
// BREAK
|
|
// CASE FM_FRANKLIN_STRETCH
|
|
// PRIVATE_Set_Additional_Current_Family_Member_Event(FM_FRANKLIN_LAMAR, eFamilyEvent)
|
|
// BREAK
|
|
// ENDSWITCH
|
|
//
|
|
// BREAK
|
|
// CASE FE_F_LAMAR_and_STRETCH_bbq_outside
|
|
// SWITCH eFamilyMember
|
|
// CASE FM_FRANKLIN_LAMAR
|
|
// PRIVATE_Set_Additional_Current_Family_Member_Event(FM_FRANKLIN_STRETCH, eFamilyEvent)
|
|
// BREAK
|
|
// CASE FM_FRANKLIN_STRETCH
|
|
// PRIVATE_Set_Additional_Current_Family_Member_Event(FM_FRANKLIN_LAMAR, eFamilyEvent)
|
|
// BREAK
|
|
// ENDSWITCH
|
|
//
|
|
// BREAK
|
|
// CASE FE_F_LAMAR_and_STRETCH_arguing
|
|
// SWITCH eFamilyMember
|
|
// CASE FM_FRANKLIN_LAMAR
|
|
// PRIVATE_Set_Additional_Current_Family_Member_Event(FM_FRANKLIN_STRETCH, eFamilyEvent)
|
|
// BREAK
|
|
// CASE FM_FRANKLIN_STRETCH
|
|
// PRIVATE_Set_Additional_Current_Family_Member_Event(FM_FRANKLIN_LAMAR, eFamilyEvent)
|
|
// BREAK
|
|
// ENDSWITCH
|
|
//
|
|
// BREAK
|
|
// CASE FE_F_LAMAR_and_STRETCH_shout_at_cops
|
|
// SWITCH eFamilyMember
|
|
// CASE FM_FRANKLIN_LAMAR
|
|
// PRIVATE_Set_Additional_Current_Family_Member_Event(FM_FRANKLIN_STRETCH, eFamilyEvent)
|
|
// BREAK
|
|
// CASE FM_FRANKLIN_STRETCH
|
|
// PRIVATE_Set_Additional_Current_Family_Member_Event(FM_FRANKLIN_LAMAR, eFamilyEvent)
|
|
// BREAK
|
|
// ENDSWITCH
|
|
//
|
|
// BREAK
|
|
CASE FE_F_LAMAR_and_STRETCH_wandering
|
|
SWITCH eFamilyMember
|
|
CASE FM_FRANKLIN_LAMAR
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_FRANKLIN_STRETCH, eFamilyEvent)
|
|
BREAK
|
|
CASE FM_FRANKLIN_STRETCH
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_FRANKLIN_LAMAR, eFamilyEvent)
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
BREAK
|
|
|
|
CASE FE_T0_TREVOR_and_kidnapped_wife_walk
|
|
SWITCH eFamilyMember
|
|
CASE FM_TREVOR_0_TREVOR
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_TREVOR_0_WIFE, eFamilyEvent)
|
|
BREAK
|
|
CASE FM_TREVOR_0_WIFE
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_TREVOR_0_TREVOR, eFamilyEvent)
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
BREAK
|
|
CASE FE_T0_TREVOR_and_kidnapped_wife_stare
|
|
SWITCH eFamilyMember
|
|
CASE FM_TREVOR_0_TREVOR
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_TREVOR_0_WIFE, eFamilyEvent)
|
|
BREAK
|
|
CASE FM_TREVOR_0_WIFE
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_TREVOR_0_TREVOR, eFamilyEvent)
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
BREAK
|
|
/*
|
|
CASE FE_T0_TREVOR_and_kidnapped_wife_laugh
|
|
SWITCH eFamilyMember
|
|
CASE FM_TREVOR_0_TREVOR
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_TREVOR_0_WIFE, eFamilyEvent)
|
|
BREAK
|
|
CASE FM_TREVOR_0_WIFE
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_TREVOR_0_TREVOR, eFamilyEvent)
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
BREAK
|
|
*/
|
|
|
|
CASE FE_T0_KIDNAPPED_WIFE_talks_to_Michael
|
|
SWITCH eFamilyMember
|
|
CASE FM_TREVOR_0_WIFE
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_TREVOR_0_MICHAEL, eFamilyEvent)
|
|
BREAK
|
|
CASE FM_TREVOR_0_MICHAEL
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_TREVOR_0_WIFE, eFamilyEvent)
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
BREAK
|
|
|
|
// CASE FE_T1_FLOYD_with_wade_post_trevor3
|
|
//
|
|
// SWITCH eFamilyMember
|
|
// CASE FM_TREVOR_1_FLOYD
|
|
// PRIVATE_Set_Additional_Current_Family_Member_Event(FM_TREVOR_1_WADE] = FE_T1_FLOYD_with_wade_post_trevor3
|
|
//
|
|
// #IF IS_DEBUG_BUILD
|
|
// CPRINTLN(DEBUG_FAMILY, "ADDITIONAL: set current family event for ")
|
|
// CPRINTLN(DEBUG_FAMILY, Get_String_From_FamilyMember(FM_TREVOR_1_WADE))
|
|
// CPRINTLN(DEBUG_FAMILY, " to ")
|
|
// CPRINTLN(DEBUG_FAMILY, Get_String_From_FamilyEvent(FE_T1_FLOYD_with_wade_post_trevor3))
|
|
// CprintNL()
|
|
// #ENDIF
|
|
//
|
|
// BREAK
|
|
// CASE FM_TREVOR_1_WADE
|
|
// PRIVATE_Set_Additional_Current_Family_Member_Event(FM_TREVOR_1_FLOYD] = FE_T1_FLOYD_with_wade_post_trevor3
|
|
//
|
|
// #IF IS_DEBUG_BUILD
|
|
// CPRINTLN(DEBUG_FAMILY, "ADDITIONAL: set current family event for ")
|
|
// CPRINTLN(DEBUG_FAMILY, Get_String_From_FamilyMember(FM_TREVOR_1_FLOYD))
|
|
// CPRINTLN(DEBUG_FAMILY, " to ")
|
|
// CPRINTLN(DEBUG_FAMILY, Get_String_From_FamilyEvent(FE_T1_FLOYD_with_wade_post_trevor3))
|
|
// CprintNL()
|
|
// #ENDIF
|
|
//
|
|
// BREAK
|
|
// ENDSWITCH
|
|
//
|
|
// BREAK
|
|
CASE FE_T1_FLOYD_with_wade_post_docks1
|
|
SWITCH eFamilyMember
|
|
CASE FM_TREVOR_1_FLOYD
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_TREVOR_1_WADE, eFamilyEvent)
|
|
BREAK
|
|
CASE FM_TREVOR_1_WADE
|
|
PRIVATE_Set_Additional_Current_Family_Member_Event(FM_TREVOR_1_FLOYD, eFamilyEvent)
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
ENDPROC
|
|
|
|
FUNC BOOL SAVE_FORCE_ROOM_FOR_ENTITY(ENTITY_INDEX EntityIndex, INTERIOR_INSTANCE_INDEX InteriorInstanceIndex, INT RoomKey)
|
|
IF IS_VALID_INTERIOR(InteriorInstanceIndex)
|
|
IF IS_INTERIOR_READY(InteriorInstanceIndex)
|
|
FORCE_ROOM_FOR_ENTITY(EntityIndex, InteriorInstanceIndex, RoomKey)
|
|
RETURN TRUE
|
|
ELSE
|
|
RETAIN_ENTITY_IN_INTERIOR(EntityIndex, InteriorInstanceIndex)
|
|
RETURN TRUE
|
|
ENDIF
|
|
ENDIF
|
|
|
|
RETURN FALSE
|
|
ENDFUNC
|
|
|
|
FUNC BOOL PRIVATE_ForceRoomForFamilyEntity(ENTITY_INDEX pedIndex, enumFamilyMember eFamilyMember)
|
|
BOOL bForcedRoomForPed
|
|
|
|
//
|
|
STRING sRoomHashKey = ""
|
|
INTERIOR_INSTANCE_INDEX InteriorInstanceIndex = NULL
|
|
SWITCH g_eCurrentFamilyEvent[eFamilyMember]
|
|
CASE FE_M2_WIFE_with_shopping_bags_enter
|
|
CASE FE_M7_WIFE_with_shopping_bags_enter
|
|
// CASE FE_M7_WIFE_shopping_with_son
|
|
CASE FE_M7_WIFE_shopping_with_daughter
|
|
sRoomHashKey = "V_Michael_G_Hall"
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_FAMILY, "<", GET_THIS_SCRIPT_NAME(), "> family member[", Get_String_From_FamilyMember(eFamilyMember), "] \"", Get_String_From_FamilyEvent(g_eCurrentFamilyEvent[eFamilyMember]), "\" force sRoomHashKey \"", sRoomHashKey, "\"")
|
|
#ENDIF
|
|
|
|
InteriorInstanceIndex = GET_INTERIOR_AT_COORDS_with_type(<< -812.6, 179.4,72.2 >>, "v_michael")
|
|
IF SAVE_FORCE_ROOM_FOR_ENTITY(PedIndex, InteriorInstanceIndex, GET_HASH_KEY(sRoomHashKey))
|
|
bForcedRoomForPed = TRUE
|
|
ENDIF
|
|
BREAK
|
|
// CASE FE_M_WIFE_screaming_at_son_P1 FALLTHRU
|
|
CASE FE_M_WIFE_screaming_at_son_P2 FALLTHRU
|
|
CASE FE_M_WIFE_screaming_at_son_P3
|
|
|
|
IF (eFamilyMember = FM_MICHAEL_SON)
|
|
sRoomHashKey = "V_Michael_1_Hall"
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_FAMILY, "<", GET_THIS_SCRIPT_NAME(), "> family member[", Get_String_From_FamilyMember(eFamilyMember), "] \"", Get_String_From_FamilyEvent(g_eCurrentFamilyEvent[eFamilyMember]), "\" force sRoomHashKey \"", sRoomHashKey, "\"")
|
|
#ENDIF
|
|
|
|
InteriorInstanceIndex = GET_INTERIOR_AT_COORDS_with_type(<< -812.2079, 181.3398, 71.1530 >>, "v_michael")
|
|
IF SAVE_FORCE_ROOM_FOR_ENTITY(PedIndex, InteriorInstanceIndex, GET_HASH_KEY(sRoomHashKey))
|
|
bForcedRoomForPed = TRUE
|
|
ENDIF
|
|
|
|
ELSE
|
|
|
|
IF NOT g_bMagDemoActive
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_FAMILY, "<", GET_THIS_SCRIPT_NAME(), "> family member[", Get_String_From_FamilyMember(eFamilyMember), "] DEFAULT room ")
|
|
#ENDIF
|
|
|
|
CLEAR_ROOM_FOR_ENTITY(PedIndex)
|
|
ENDIF
|
|
|
|
bForcedRoomForPed = FALSE
|
|
ENDIF
|
|
BREAK
|
|
CASE FE_M_SON_Fighting_with_sister_A FALLTHRU
|
|
CASE FE_M_SON_Fighting_with_sister_b FALLTHRU
|
|
CASE FE_M_SON_Fighting_with_sister_C FALLTHRU
|
|
CASE FE_M_SON_Fighting_with_sister_D
|
|
sRoomHashKey = "V_Michael_1_Hall"
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_FAMILY, "<", GET_THIS_SCRIPT_NAME(), "> family member[", Get_String_From_FamilyMember(eFamilyMember), "] \"", Get_String_From_FamilyEvent(g_eCurrentFamilyEvent[eFamilyMember]), "\" force sRoomHashKey \"", sRoomHashKey, "\"")
|
|
#ENDIF
|
|
|
|
InteriorInstanceIndex = GET_INTERIOR_AT_COORDS_with_type(<< -812.2079, 181.3398, 71.1530 >>, "v_michael")
|
|
IF SAVE_FORCE_ROOM_FOR_ENTITY(PedIndex, InteriorInstanceIndex, GET_HASH_KEY(sRoomHashKey))
|
|
bForcedRoomForPed = TRUE
|
|
ENDIF
|
|
BREAK
|
|
CASE FE_M_WIFE_screams_at_mexmaid
|
|
sRoomHashKey = "V_Michael_G_Kitche"
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_FAMILY, "<", GET_THIS_SCRIPT_NAME(), "> family member[", Get_String_From_FamilyMember(eFamilyMember), "] \"", Get_String_From_FamilyEvent(g_eCurrentFamilyEvent[eFamilyMember]), "\" force sRoomHashKey \"", sRoomHashKey, "\"")
|
|
#ENDIF
|
|
|
|
InteriorInstanceIndex = GET_INTERIOR_AT_COORDS_with_type(<<-803.4384, 182.9567, 73.2608>>, "v_michael")
|
|
IF SAVE_FORCE_ROOM_FOR_ENTITY(PedIndex, InteriorInstanceIndex, GET_HASH_KEY(sRoomHashKey))
|
|
bForcedRoomForPed = TRUE
|
|
ENDIF
|
|
BREAK
|
|
CASE FE_M2_MEXMAID_cleans_booze_pot_other
|
|
CASE FE_M7_MEXMAID_cleans_booze_pot_other
|
|
sRoomHashKey = "V_Michael_G_Kitche"
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_FAMILY, "<", GET_THIS_SCRIPT_NAME(), "> family member[", Get_String_From_FamilyMember(eFamilyMember), "] \"", Get_String_From_FamilyEvent(g_eCurrentFamilyEvent[eFamilyMember]), "\" force sRoomHashKey \"", sRoomHashKey, "\"")
|
|
#ENDIF
|
|
|
|
InteriorInstanceIndex = GET_INTERIOR_AT_COORDS_with_type(<<-803.4384, 182.9567, 73.2608>>, "v_michael")
|
|
IF SAVE_FORCE_ROOM_FOR_ENTITY(PedIndex, InteriorInstanceIndex, GET_HASH_KEY(sRoomHashKey))
|
|
bForcedRoomForPed = TRUE
|
|
ENDIF
|
|
BREAK
|
|
|
|
DEFAULT
|
|
|
|
IF NOT g_bMagDemoActive
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_FAMILY, "<", GET_THIS_SCRIPT_NAME(), "> family member[", Get_String_From_FamilyMember(eFamilyMember), "] no specified room ")
|
|
#ENDIF
|
|
|
|
// CLEAR_ROOM_FOR_ENTITY(PedIndex)
|
|
ENDIF
|
|
|
|
bForcedRoomForPed = FALSE
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
|
|
RETURN bForcedRoomForPed
|
|
ENDFUNC
|
|
|
|
PROC PRIVATE_Update_Tv_Globals(enumFamilyMember eFamilyMember, enumFamilyEvents eFamilyEvent)
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// CPRINTLN(DEBUG_FAMILY, "Force Start Ambient TV as ")
|
|
// CPRINTLN(DEBUG_FAMILY, Get_String_From_FamilyMember(eFamilyMember))
|
|
// CPRINTLN(DEBUG_FAMILY, " event is ")
|
|
// CPRINTLN(DEBUG_FAMILY, Get_String_From_FamilyEvent(eFamilyEvent))
|
|
// CprintNL()
|
|
// #ENDIF
|
|
|
|
SWITCH eFamilyEvent
|
|
|
|
CASE FE_M_DAUGHTER_dancing_practice
|
|
CASE FE_M_DAUGHTER_workout_with_mp3
|
|
// CASE FE_M_MEXMAID_watching_TV
|
|
|
|
IF IS_TV_SCRIPT_AVAILABLE_FOR_USE(TV_LOC_MICHAEL_PROJECTOR)
|
|
IF NOT IS_THIS_TV_FORCED_ON(TV_LOC_MICHAEL_PROJECTOR)
|
|
START_AMBIENT_TV_PLAYBACK(TV_LOC_MICHAEL_PROJECTOR, TVCHANNELTYPE_CHANNEL_SPECIAL, TV_PLAYLIST_SPECIAL_WORKOUT)
|
|
SET_TV_INDESTRUCTIBLE(TV_LOC_MICHAEL_PROJECTOR, TRUE)
|
|
ELSE
|
|
|
|
//B* 545077 - Tracey's dancing game not on the TV.
|
|
IF NOT IS_THIS_TV_ON(TV_LOC_JIMMY_BEDROOM)
|
|
IF NOT IS_TVSHOW_CURRENTLY_PLAYING( HASH("exerciseShow"))
|
|
SET_TV_CHANNEL_PLAYLIST(TVCHANNELTYPE_CHANNEL_SPECIAL, "PL_SP_WORKOUT")
|
|
SET_TV_CHANNEL(TVCHANNELTYPE_CHANNEL_SPECIAL)
|
|
|
|
CPRINTLN(DEBUG_FAMILY, "force TV channel to exerciseShow")
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
#IF IS_DEBUG_BUILD
|
|
// CPRINTLN(DEBUG_FAMILY, " Ambient TV TV_LOC_MICHAEL_PROJECTOR not available for ")
|
|
// CPRINTLN(DEBUG_FAMILY, Get_String_From_FamilyMember(eFamilyMember))
|
|
// CPRINTLN(DEBUG_FAMILY, " event is ")
|
|
// CPRINTLN(DEBUG_FAMILY, Get_String_From_FamilyEvent(eFamilyEvent))
|
|
// CprintNL()
|
|
#ENDIF
|
|
EXIT
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE FE_M_DAUGHTER_watching_TV_sober
|
|
CASE FE_M_DAUGHTER_watching_TV_drunk
|
|
CASE FE_M2_SON_watching_TV
|
|
CASE FE_M7_SON_watching_TV_with_tracey
|
|
CASE FE_M7_FAMILY_watching_TV
|
|
CASE FE_M2_WIFE_in_face_mask
|
|
CASE FE_M7_WIFE_in_face_mask
|
|
|
|
IF IS_TV_SCRIPT_AVAILABLE_FOR_USE(TV_LOC_MICHAEL_PROJECTOR)
|
|
IF NOT IS_THIS_TV_FORCED_ON(TV_LOC_MICHAEL_PROJECTOR)
|
|
START_AMBIENT_TV_PLAYBACK(TV_LOC_MICHAEL_PROJECTOR)
|
|
SET_TV_INDESTRUCTIBLE(TV_LOC_MICHAEL_PROJECTOR, TRUE)
|
|
ENDIF
|
|
ELSE
|
|
#IF IS_DEBUG_BUILD
|
|
// CPRINTLN(DEBUG_FAMILY, " Ambient TV TV_LOC_MICHAEL_PROJECTOR not available for ")
|
|
// CPRINTLN(DEBUG_FAMILY, Get_String_From_FamilyMember(eFamilyMember))
|
|
// CPRINTLN(DEBUG_FAMILY, " event is ")
|
|
// CPRINTLN(DEBUG_FAMILY, Get_String_From_FamilyEvent(eFamilyEvent))
|
|
// CprintNL()
|
|
#ENDIF
|
|
EXIT
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE FE_M2_SON_gaming_loop
|
|
CASE FE_M7_SON_gaming
|
|
IF IS_TV_SCRIPT_AVAILABLE_FOR_USE(TV_LOC_JIMMY_BEDROOM)
|
|
IF NOT IS_THIS_TV_FORCED_ON(TV_LOC_JIMMY_BEDROOM)
|
|
START_AMBIENT_TV_PLAYBACK(TV_LOC_JIMMY_BEDROOM, TVCHANNELTYPE_CHANNEL_SPECIAL, TV_PLAYLIST_LO_RIGHTEOUS_SLAUGHTER)
|
|
SET_TV_INDESTRUCTIBLE(TV_LOC_JIMMY_BEDROOM, TRUE)
|
|
ENDIF
|
|
ELSE
|
|
#IF IS_DEBUG_BUILD
|
|
// CPRINTLN(DEBUG_FAMILY, " Ambient TV TV_LOC_JIMMY_BEDROOM not available for ")
|
|
// CPRINTLN(DEBUG_FAMILY, Get_String_From_FamilyMember(eFamilyMember))
|
|
// CPRINTLN(DEBUG_FAMILY, " event is ")
|
|
// CPRINTLN(DEBUG_FAMILY, Get_String_From_FamilyEvent(eFamilyEvent))
|
|
// CprintNL()
|
|
#ENDIF
|
|
EXIT
|
|
ENDIF
|
|
BREAK
|
|
CASE FE_F_AUNT_watching_TV
|
|
CASE FE_F_AUNT_returned_to_aunts
|
|
|
|
IF IS_TV_SCRIPT_AVAILABLE_FOR_USE(TV_LOC_FRANKLIN_LIVING)
|
|
IF NOT IS_THIS_TV_FORCED_ON(TV_LOC_FRANKLIN_LIVING)
|
|
START_AMBIENT_TV_PLAYBACK(TV_LOC_FRANKLIN_LIVING)
|
|
SET_TV_INDESTRUCTIBLE(TV_LOC_FRANKLIN_LIVING, TRUE)
|
|
ENDIF
|
|
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
// CPRINTLN(DEBUG_FAMILY, " Ambient TV TV_LOC_FRANKLIN_LIVING available for ")
|
|
// CPRINTLN(DEBUG_FAMILY, Get_String_From_FamilyMember(eFamilyMember))
|
|
// CPRINTLN(DEBUG_FAMILY, " event is ")
|
|
// CPRINTLN(DEBUG_FAMILY, Get_String_From_FamilyEvent(eFamilyEvent))
|
|
|
|
IF NOT IS_THIS_TV_FORCED_ON(TV_LOC_FRANKLIN_LIVING)
|
|
// CPRINTLN(DEBUG_FAMILY, " NOT forced on")
|
|
ELSE
|
|
// CPRINTLN(DEBUG_FAMILY, " forced on")
|
|
ENDIF
|
|
|
|
// CprintNL()
|
|
#ENDIF
|
|
ELSE
|
|
#IF IS_DEBUG_BUILD
|
|
// CPRINTLN(DEBUG_FAMILY, " Ambient TV TV_LOC_FRANKLIN_LIVING not available for ")
|
|
// CPRINTLN(DEBUG_FAMILY, Get_String_From_FamilyMember(eFamilyMember))
|
|
// CPRINTLN(DEBUG_FAMILY, " event is ")
|
|
// CPRINTLN(DEBUG_FAMILY, Get_String_From_FamilyEvent(eFamilyEvent))
|
|
|
|
IF NOT IS_THIS_TV_FORCED_ON(TV_LOC_FRANKLIN_LIVING)
|
|
// CPRINTLN(DEBUG_FAMILY, " NOT forced on")
|
|
ELSE
|
|
// CPRINTLN(DEBUG_FAMILY, " forced on")
|
|
ENDIF
|
|
|
|
// CprintNL()
|
|
#ENDIF
|
|
EXIT
|
|
ENDIF
|
|
BREAK
|
|
|
|
DEFAULT
|
|
//RESTORE_STANDARD_CHANNELS()
|
|
eFamilyMember = eFamilyMember
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
ENDPROC
|
|
FUNC BOOL PRIVATE_FamilyMemberWatchingTv(PED_INDEX &PedIndex, enumFamilyMember eFamilyMember, enumFamilyEvents eFamilyEvent,
|
|
VECTOR vSequencePos, FLOAT fSequenceHead, INT &iWanderStage,
|
|
enumFamilyEvents eDesiredFamilyEvent = FE_ANY_find_family_event)
|
|
IF (g_eCurrentSafehouseActivity = SA_NONE)
|
|
|
|
IF IS_PLAYER_SWITCH_IN_PROGRESS()
|
|
RETURN FALSE
|
|
ENDIF
|
|
|
|
PED_REQUEST_SCENE_ENUM eScene = Get_Player_Timetable_Scene_In_Progress()
|
|
IF (eScene <> PR_SCENE_INVALID)
|
|
TEXT_LABEL_31 RoomName = ""
|
|
FLOAT fTurnOffTVPhase = 0.0
|
|
TV_LOCATION eRoomTVLocation
|
|
TVCHANNELTYPE eTVChannelType
|
|
TV_CHANNEL_PLAYLIST eTVPlaylist
|
|
|
|
IF CONTROL_PLAYER_WATCHING_TV(eScene, RoomName, fTurnOffTVPhase, eRoomTVLocation, eTVChannelType, eTVPlaylist)
|
|
RETURN FALSE
|
|
ENDIF
|
|
ENDIF
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF (GET_TV_CHANNEL() <> TVCHANNELTYPE_CHANNEL_SPECIAL)
|
|
// CPRINTLN(DEBUG_FAMILY, "PRIVATE_FamilyMemberWatchingTv(GET_TV_CHANNEL() <> TVCHANNELTYPE_CHANNEL_SPECIAL)")
|
|
// CprintNL()
|
|
// ENDIF
|
|
// #ENDIF
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
IF (iWanderStage <> 0)
|
|
CASSERTLN(DEBUG_FAMILY, "PRIVATE_FamilyMemberWatchingTv(iWanderStage <> ???)")
|
|
iWanderStage = 0
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
PRIVATE_Update_Tv_Globals(eFamilyMember, eFamilyEvent)
|
|
RETURN TRUE
|
|
ELSE
|
|
VECTOR vGetupOffset
|
|
FLOAT fGetupHead
|
|
IF PRIVATE_Get_FamilyMember_Init_Offset(eFamilyMember, eFamilyEvent,
|
|
vGetupOffset, fGetupHead)
|
|
vGetupOffset += vSequencePos
|
|
fGetupHead += fSequenceHead
|
|
|
|
CONST_INT iGETUP_0_requestGetup 0
|
|
CONST_INT iGETUP_1_playGetup 1
|
|
CONST_INT iGETUP_2_endGetup 2
|
|
CONST_INT iGETUP_3_delete 3
|
|
|
|
STRING sGetupAnimDict = "AMB@PROP_HUMAN_SEAT_CHAIR@MALE@GENERIC@EXIT", sGetupAnimClip = "EXIT_FORWARD"
|
|
SWITCH eFamilyEvent
|
|
CASE FE_M7_FAMILY_watching_TV
|
|
iWanderStage = iGETUP_3_delete
|
|
BREAK
|
|
CASE FE_M2_SON_watching_TV
|
|
CASE FE_M7_SON_watching_TV_with_tracey
|
|
iWanderStage = iGETUP_3_delete
|
|
BREAK
|
|
CASE FE_M2_WIFE_in_face_mask
|
|
CASE FE_M7_WIFE_in_face_mask
|
|
sGetupAnimDict = ""
|
|
sGetupAnimClip = ""
|
|
iWanderStage = iGETUP_3_delete
|
|
BREAK
|
|
CASE FE_M_DAUGHTER_workout_with_mp3
|
|
CASE FE_M_DAUGHTER_dancing_practice
|
|
sGetupAnimDict = ""
|
|
sGetupAnimClip = ""
|
|
iWanderStage = iGETUP_3_delete
|
|
BREAK
|
|
CASE FE_M_DAUGHTER_watching_TV_sober
|
|
iWanderStage = iGETUP_3_delete
|
|
BREAK
|
|
CASE FE_M_DAUGHTER_watching_TV_drunk
|
|
iWanderStage = iGETUP_3_delete
|
|
BREAK
|
|
// CASE FE_M_MEXMAID_watching_TV
|
|
// BREAK
|
|
|
|
CASE FE_F_AUNT_watching_TV
|
|
CASE FE_F_AUNT_returned_to_aunts
|
|
iWanderStage = iGETUP_3_delete
|
|
BREAK
|
|
|
|
DEFAULT
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_FAMILY, GET_THIS_SCRIPT_NAME(), ": invalid eFamilyEvent for PRIVATE_FamilyMemberWatchingTv: ", Get_String_From_FamilyEvent(eFamilyEvent))
|
|
CASSERTLN(DEBUG_FAMILY, GET_THIS_SCRIPT_NAME(), ": invalid eFamilyEvent for PRIVATE_FamilyMemberWatchingTv: ", Get_String_From_FamilyEvent(eFamilyEvent))
|
|
#ENDIF
|
|
|
|
RETURN FALSE
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
|
|
SWITCH iWanderStage
|
|
CASE iGETUP_0_requestGetup
|
|
REQUEST_ANIM_DICT(sGetupAnimDict)
|
|
IF HAS_ANIM_DICT_LOADED(sGetupAnimDict)
|
|
TASK_PLAY_ANIM_ADVANCED(PedIndex, sGetupAnimDict, sGetupAnimClip,
|
|
vGetupOffset,
|
|
<<0,0,fGetupHead>>,
|
|
INSTANT_BLEND_IN, NORMAL_BLEND_OUT, -1,
|
|
AF_NOT_INTERRUPTABLE, 0)
|
|
|
|
CPRINTLN(DEBUG_FAMILY, "ped[", Get_String_From_FamilyMember(eFamilyMember), "] watching TV: iWanderStage = iGETUP_1_playGetup (g_eCurrentSafehouseActivity: ",g_eCurrentSafehouseActivity, ")")
|
|
iWanderStage = iGETUP_1_playGetup
|
|
RETURN FALSE
|
|
ENDIF
|
|
BREAK
|
|
CASE iGETUP_1_playGetup
|
|
IF NOT IS_ENTITY_PLAYING_ANIM(PedIndex, sGetupAnimDict, sGetupAnimClip)
|
|
CPRINTLN(DEBUG_FAMILY, "ped[", Get_String_From_FamilyMember(eFamilyMember), "] watching TV: iWanderStage = iGETUP_2_endGetup (g_eCurrentSafehouseActivity: ",g_eCurrentSafehouseActivity, ")")
|
|
iWanderStage = iGETUP_2_endGetup
|
|
RETURN FALSE
|
|
ENDIF
|
|
BREAK
|
|
CASE iGETUP_2_endGetup
|
|
IF NOT IS_STRING_NULL_OR_EMPTY(sGetupAnimDict)
|
|
REMOVE_ANIM_DICT(sGetupAnimDict)
|
|
ENDIF
|
|
|
|
PLAY_PED_AMBIENT_SPEECH(PedIndex, "GENERIC_INSULT_MED")
|
|
|
|
CLEAR_PED_TASKS(PedIndex)
|
|
PRIVATE_Set_Current_Family_Member_Event(eFamilyMember, eDesiredFamilyEvent)
|
|
CPRINTLN(DEBUG_FAMILY, "ped[", Get_String_From_FamilyMember(eFamilyMember), "] watching TV: iWanderStage = 0 (endGetup, g_eCurrentSafehouseActivity: ",g_eCurrentSafehouseActivity, ")")
|
|
iWanderStage = 0
|
|
RETURN FALSE
|
|
BREAK
|
|
CASE iGETUP_3_delete
|
|
IF NOT IS_STRING_NULL_OR_EMPTY(sGetupAnimDict)
|
|
REMOVE_ANIM_DICT(sGetupAnimDict)
|
|
ENDIF
|
|
|
|
IF DOES_ENTITY_EXIST(PedIndex)
|
|
DELETE_PED(PedIndex)
|
|
ENDIF
|
|
|
|
PRIVATE_Set_Current_Family_Member_Event(eFamilyMember, FAMILY_MEMBER_BUSY)
|
|
CPRINTLN(DEBUG_FAMILY, "ped[", Get_String_From_FamilyMember(eFamilyMember), "] watching TV: iWanderStage = 0 (delete, g_eCurrentSafehouseActivity: ",g_eCurrentSafehouseActivity, ")")
|
|
iWanderStage = 0
|
|
RETURN FALSE
|
|
BREAK
|
|
|
|
DEFAULT
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_FAMILY, GET_THIS_SCRIPT_NAME(), ": invalid iWanderStage for PRIVATE_FamilyMemberWatchingTv: ", Get_String_From_FamilyEvent(eFamilyEvent))
|
|
CASSERTLN(DEBUG_FAMILY, GET_THIS_SCRIPT_NAME(), ": invalid iWanderStage for PRIVATE_FamilyMemberWatchingTv: ", Get_String_From_FamilyEvent(eFamilyEvent))
|
|
#ENDIF
|
|
|
|
RETURN FALSE
|
|
BREAK
|
|
ENDSWITCH
|
|
ENDIF
|
|
|
|
RETURN FALSE
|
|
ENDIF
|
|
ENDFUNC
|
|
PROC PRIVATE_Cleanup_Tv_Globals()
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_FAMILY, "PRIVATE_Cleanup_Tv_Globals -() STARTED ", GET_THIS_SCRIPT_NAME())
|
|
#ENDIF
|
|
|
|
IF IS_THIS_TV_FORCED_ON(TV_LOC_MICHAEL_PROJECTOR)
|
|
|
|
SET_TV_INDESTRUCTIBLE(TV_LOC_MICHAEL_PROJECTOR, FALSE)
|
|
|
|
STOP_AMBIENT_TV_PLAYBACK(TV_LOC_MICHAEL_PROJECTOR)
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_FAMILY, "PRIVATE_Cleanup_Tv_Globals -() CLEANUP MICHAEL'S PROJECTOR ", GET_THIS_SCRIPT_NAME())
|
|
#ENDIF
|
|
ENDIF
|
|
|
|
IF IS_THIS_TV_FORCED_ON(TV_LOC_JIMMY_BEDROOM)
|
|
|
|
SET_TV_INDESTRUCTIBLE(TV_LOC_JIMMY_BEDROOM, FALSE)
|
|
|
|
STOP_AMBIENT_TV_PLAYBACK(TV_LOC_JIMMY_BEDROOM)
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_FAMILY, "PRIVATE_Cleanup_Tv_Globals -() CLEANUP JIMMY'S TV ", GET_THIS_SCRIPT_NAME())
|
|
#ENDIF
|
|
ENDIF
|
|
|
|
IF IS_THIS_TV_FORCED_ON(TV_LOC_FRANKLIN_LIVING)
|
|
|
|
SET_TV_INDESTRUCTIBLE(TV_LOC_FRANKLIN_LIVING, FALSE)
|
|
|
|
STOP_AMBIENT_TV_PLAYBACK(TV_LOC_FRANKLIN_LIVING)
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_FAMILY, "PRIVATE_Cleanup_Tv_Globals -() CLEANUP DENISE'S TV ", GET_THIS_SCRIPT_NAME())
|
|
#ENDIF
|
|
ENDIF
|
|
|
|
|
|
ENDPROC
|
|
|
|
|
|
USING "familyCoords_private.sch"
|
|
USING "familyComponent_private.sch"
|
|
USING "familyDoor_private.sch"
|
|
USING "familyPtfx_private.sch"
|
|
#if USE_CLF_DLC
|
|
USING "familySchedule_privateCLF.sch"
|
|
#endif
|
|
#if USE_NRM_DLC
|
|
USING "familySchedule_privateNRM.sch"
|
|
#endif
|
|
#if not USE_CLF_DLC
|
|
#if not USE_NRM_DLC
|
|
USING "familySchedule_private.sch"
|
|
#endif
|
|
#endif
|
|
USING "familySfx_private.sch"
|
|
USING "familySpeech_private.sch"
|
|
USING "familyTask_private.sch"
|