///private header for family task control scripts /// alwyn.roberts@rockstarnorth.com /// USING "commands_task.sch" // ******************************************************************************************* // FAMILY ANIM ARRAY TASKS PRIVATE FUNCTIONS // ******************************************************************************************* PROC PRIVATE_TaskPlayAnimArrayAdvanced(PED_INDEX PedIndex, TEXT_LABEL_63 &pAnimDictNames[], TEXT_LABEL_63 &pAnimClipNames[], INT iFamilyAnims, VECTOR pos, VECTOR rot, TEXT_LABEL_63 &tAnimDict, TEXT_LABEL_63 &tAnimClip, FLOAT fBlendInDelta = NORMAL_BLEND_IN, FLOAT fBlendOutDelta = NORMAL_BLEND_OUT, INT nTimeToPlay =-1, ANIMATION_FLAGS AnimFlags = AF_DEFAULT, FLOAT startPhase = 0.0, EULER_ROT_ORDER RotOrder = EULER_YXZ, IK_CONTROL_FLAGS ikFlags = AIK_NONE) INT iMAX_FamilyAnims = iFamilyAnims IF NOT IS_STRING_NULL_OR_EMPTY(tAnimDict) AND NOT IS_STRING_NULL_OR_EMPTY(tAnimClip) CPRINTLN(DEBUG_FAMILY, "old Anim scene: \"", tAnimDict, "\", \"", tAnimClip, "\"") INT iAnims REPEAT (iFamilyAnims+1) iAnims CPRINTLN(DEBUG_FAMILY, " Anim scene[", iAnims, "]: \"", pAnimDictNames[iAnims], "\", \"", pAnimClipNames[iAnims], "\"") IF ARE_STRINGS_EQUAL(tAnimDict, pAnimDictNames[iAnims]) AND ARE_STRINGS_EQUAL(tAnimClip, pAnimClipNames[iAnims]) IF (iAnims <> 0) INT iNewAnims FOR iNewAnims = iAnims TO COUNT_OF(pAnimDictNames)-1 IF ((iNewAnims+1) < COUNT_OF(pAnimDictNames)) pAnimDictNames[iNewAnims] = pAnimDictNames[iNewAnims+1] pAnimClipNames[iNewAnims] = pAnimClipNames[iNewAnims+1] ELSE pAnimDictNames[iNewAnims] = "" pAnimClipNames[iNewAnims] = "" ENDIF ENDFOR iMAX_FamilyAnims-- ENDIF ENDIF ENDREPEAT CPRINTLN(DEBUG_FAMILY, "") ENDIF INT iAnimName = GET_RANDOM_INT_IN_RANGE(0, iMAX_FamilyAnims+1) TEXT_LABEL_63 pAnimDictName = pAnimDictNames[iAnimName] TEXT_LABEL_63 pAnimClipName = pAnimClipNames[iAnimName] IF NOT IS_STRING_NULL_OR_EMPTY(pAnimDictName) #IF IS_DEBUG_BUILD CPRINTLN(DEBUG_FAMILY, "PRIVATE_TaskPlayAnimArrayAdvanced(PedIndex, \"", pAnimDictName, "\", \"", pAnimClipName, "\": ", iAnimName, ")") #ENDIF REQUEST_ANIM_DICT(pAnimDictName) IF NOT HAS_ANIM_DICT_LOADED(pAnimDictName) REQUEST_ANIM_DICT(pAnimDictName) ELSE IF IS_BITMASK_ENUM_AS_ENUM_SET(AnimFlags, AF_LOOPING) CLEAR_BITMASK_ENUM_AS_ENUM(AnimFlags, AF_LOOPING) ELSE // ENDIF IF IS_BITMASK_ENUM_AS_ENUM_SET(AnimFlags, AF_HOLD_LAST_FRAME) // ELSE SET_BITMASK_ENUM_AS_ENUM(AnimFlags, AF_HOLD_LAST_FRAME) ENDIF IF IS_BITMASK_ENUM_AS_ENUM_SET(AnimFlags, AF_USE_KINEMATIC_PHYSICS) SET_RAGDOLL_BLOCKING_FLAGS(PedIndex, RBF_PLAYER_IMPACT) SET_PED_CAN_EVASIVE_DIVE(PedIndex, FALSE) SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(pedIndex, TRUE) ENDIF /* IF IS_BITMASK_ENUM_AS_ENUM_SET(AnimFlags, AF_DISABLE_LEG_IK) //1144977 SET_BITMASK_ENUM_AS_ENUM(ikFlags, AIK_DISABLE_LEG_IK) CLEAR_BITMASK_ENUM_AS_ENUM(AnimFlags, AF_DISABLE_LEG_IK) ENDIF */ TASK_PLAY_ANIM_ADVANCED(PedIndex, pAnimDictName, pAnimClipName, pos, rot, fBlendInDelta, fBlendOutDelta, nTimeToPlay, AnimFlags, startPhase, RotOrder, ikFlags) SET_FORCE_FOOTSTEP_UPDATE(PedIndex, TRUE) SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(PedIndex, TRUE) tAnimDict = pAnimDictName tAnimClip = pAnimClipName ENDIF ELSE #IF IS_DEBUG_BUILD CPRINTLN(DEBUG_FAMILY, "PRIVATE_TaskPlayAnimArrayAdvanced(PedIndex, \"", "null", "\": ", iAnimName, ")") #ENDIF ENDIF ENDPROC FUNC BOOL PRIVATE_Get_Family_AnimArray(enumFamilyMember eFamilyMember, enumFamilyEvents eFamilyEvent, TEXT_LABEL_63 &tFamilySeqAnimDicts[6], TEXT_LABEL_63 &tFamilySeqAnimClips[6], INT &iFamilyAnims, FLOAT &fBlendInDelta, FLOAT &fBlendOutDelta, ANIMATION_FLAGS &eFamilyAnimFlag) fBlendInDelta = SLOW_BLEND_IN fBlendOutDelta = SLOW_BLEND_OUT TEXT_LABEL_63 tFamilySeqAnimDict TEXT_LABEL_63 tFamilySeqAnimRoot enumFamilyAnimProgress eFamilyAnimProgress IF PRIVATE_Get_FamilyMember_Anim(eFamilyMember, eFamilyEvent, tFamilySeqAnimDict, tFamilySeqAnimRoot, eFamilyAnimFlag, eFamilyAnimProgress) #IF IS_DEBUG_BUILD IF (eFamilyAnimProgress <> FAP_3_array) #IF NOT IS_JAPANESE_BUILD IF (eFamilyEvent <> FE_T0_TREVOR_doing_a_shit) //#1113608 #ENDIF TEXT_LABEL_63 str = ("eFamAnimProg <> FAP_3_array for ") str += Get_String_From_FamilyEvent(eFamilyEvent) SCRIPT_ASSERT(str) #IF NOT IS_JAPANESE_BUILD ENDIF #ENDIF ENDIF #ENDIF SWITCH eFamilyEvent CASE FE_M_FAMILY_on_laptops CASE FE_M7_SON_on_laptop_looking_for_jobs // TIMETABLE@AMANDA@IG_12/amanda_base // TIMETABLE@AMANDA@IG_12/amanda_idle_a // TIMETABLE@AMANDA@IG_12/amanda_idle_b tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimDicts[2] = tFamilySeqAnimDict IF (eFamilyMember <> FM_MICHAEL_WIFE) tFamilySeqAnimClips[0] = tFamilySeqAnimRoot tFamilySeqAnimClips[0] += "base" tFamilySeqAnimClips[1] = tFamilySeqAnimRoot tFamilySeqAnimClips[1] += "idle_a" tFamilySeqAnimClips[2] = tFamilySeqAnimRoot tFamilySeqAnimClips[2] += "idle_b" ELSE tFamilySeqAnimClips[0] = "base" tFamilySeqAnimClips[0] += tFamilySeqAnimRoot tFamilySeqAnimClips[1] = "idle_a" tFamilySeqAnimClips[1] += tFamilySeqAnimRoot tFamilySeqAnimClips[2] = "idle_b" tFamilySeqAnimClips[2] += tFamilySeqAnimRoot ENDIF iFamilyAnims = 2 tFamilySeqAnimDicts[3] = "" tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK CASE FE_M7_FAMILY_finished_breakfast CASE FE_M7_FAMILY_finished_pizza /* eat_takeout eating_disorder getting_fit your_boyfriend */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = "eat_takeout" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimClips[1] = "eating_disorder" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimClips[2] = "getting_fit" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimClips[3] = "your_boyfriend" SWITCH eFamilyMember CASE FM_MICHAEL_WIFE tFamilySeqAnimClips[0] += "_Amanda" tFamilySeqAnimClips[1] += "_Amanda" tFamilySeqAnimClips[2] += "_Amanda" tFamilySeqAnimClips[3] += "_Amanda" BREAK CASE FM_MICHAEL_SON tFamilySeqAnimClips[0] += "_Jimmy" tFamilySeqAnimClips[1] += "_Jimmy" tFamilySeqAnimClips[2] += "_Jimmy" tFamilySeqAnimClips[3] += "_Jimmy" BREAK CASE FM_MICHAEL_DAUGHTER tFamilySeqAnimClips[0] += "_Tracy" tFamilySeqAnimClips[1] += "_Tracy" tFamilySeqAnimClips[2] += "_Tracy" tFamilySeqAnimClips[3] += "_Tracy" BREAK ENDSWITCH iFamilyAnims = 3 tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK CASE FE_M7_FAMILY_watching_TV /* base IsThisTheBest ShouldntYouGuys watching_this */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = "base" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimClips[1] = "IsThisTheBest" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimClips[2] = "ShouldntYouGuys" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimClips[3] = "watching_this" SWITCH eFamilyMember CASE FM_MICHAEL_WIFE tFamilySeqAnimClips[0] += "_Amanda" tFamilySeqAnimClips[1] += "_Amanda" tFamilySeqAnimClips[2] += "_Amanda" tFamilySeqAnimClips[3] += "_Amanda" BREAK CASE FM_MICHAEL_SON tFamilySeqAnimClips[0] += "_Jimmy" tFamilySeqAnimClips[1] += "_Jimmy" tFamilySeqAnimClips[2] += "_Jimmy" tFamilySeqAnimClips[3] += "_Jimmy" BREAK CASE FM_MICHAEL_DAUGHTER tFamilySeqAnimClips[0] += "_Tracy" tFamilySeqAnimClips[1] += "_Tracy" tFamilySeqAnimClips[2] += "_Tracy" tFamilySeqAnimClips[3] += "_Tracy" BREAK ENDSWITCH iFamilyAnims = 3 tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK CASE FE_M_SON_sleeping // TIMETABLE@JIMMY@IG_3@BASE/Base.anim // TIMETABLE@JIMMY@IG_3@IDLE_A/Idle_a.anim // TIMETABLE@JIMMY@IG_3@IDLE_A/Idle_b.anim tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimDicts[0] += "@SLEEPING" tFamilySeqAnimClips[0] = "Base" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimDicts[1] += "@BASE" tFamilySeqAnimClips[1] = "Base" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimDicts[2] += "@IDLE_A" tFamilySeqAnimClips[2] = "Idle_a" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimDicts[3] += "@IDLE_A" tFamilySeqAnimClips[3] = "Idle_b" iFamilyAnims = 3 fBlendInDelta = INSTANT_BLEND_IN fBlendOutDelta = INSTANT_BLEND_OUT tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK CASE FE_M_SON_smoking_weed_in_a_bong tFamilySeqAnimDicts[0] = "TIMETABLE@JIMMY@IG_1@BASE" tFamilySeqAnimClips[0] = "Base" tFamilySeqAnimDicts[1] = "TIMETABLE@JIMMY@IG_1@IDLE_A" tFamilySeqAnimClips[1] = "Thats_Some_Good_Shit" tFamilySeqAnimDicts[2] = "TIMETABLE@JIMMY@IG_1@IDLE_A" tFamilySeqAnimClips[2] = "Whole_Chamber_Dog" tFamilySeqAnimDicts[3] = "TIMETABLE@JIMMY@IG_1@IDLE_A" tFamilySeqAnimClips[3] = "Hydrotropic_Bud_Or_Something" tFamilySeqAnimDicts[4] = "TIMETABLE@JIMMY@IG_1@IDLE_A" tFamilySeqAnimClips[4] = "Dont_Dudge_Me_Dad" // tFamilySeqAnimDicts[5] = "TIMETABLE@JIMMY@IG_1@IDLE_B" // tFamilySeqAnimClips[5] = "Hot_I_Need_Ice" iFamilyAnims = 4 BREAK CASE FE_M_SON_in_room_asks_for_munchies // TIMETABLE@JIMMY@IG_3@SLEEPING\Base.anim // TIMETABLE@JIMMY@IG_3@SLEEPING\Body_High2.anim // TIMETABLE@JIMMY@IG_3@SLEEPING\Bring_Me_Some_Food.anim // TIMETABLE@JIMMY@IG_3@SLEEPING\Grow_This_Strain.anim // TIMETABLE@JIMMY@IG_3@SLEEPING\Helps_My_Glands.anim tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = "Base" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimClips[1] = "Body_High2" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimClips[2] = "Grow_This_Strain" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimClips[3] = "Helps_My_Glands" tFamilySeqAnimDicts[4] = tFamilySeqAnimDict tFamilySeqAnimClips[4] = "Bring_Me_Some_Food" iFamilyAnims = 4 tFamilySeqAnimDicts[5] = "" BREAK CASE FE_M7_SON_watching_TV_with_tracey tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = "MICS3_15_BASE" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimClips[1] = "IDLE_A" SWITCH eFamilyMember CASE FM_MICHAEL_SON tFamilySeqAnimClips[0] += "_Jimmy" tFamilySeqAnimClips[1] += "_Jimmy" BREAK CASE FM_MICHAEL_DAUGHTER tFamilySeqAnimClips[0] += "_Tracy" tFamilySeqAnimClips[1] += "_Tracy" BREAK ENDSWITCH iFamilyAnims = 1 tFamilySeqAnimDicts[2] = "" tFamilySeqAnimDicts[3] = "" tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK CASE FE_M_DAUGHTER_workout_with_mp3 /* tFamilyAnimDict = "TIMETABLE@TRACY@IG_5" tFamilyAnimClip = "" */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimDicts[0] += "@BASE" tFamilySeqAnimClips[0] = "base" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimDicts[1] += "@IDLE_A" tFamilySeqAnimClips[1] = "Idle_a" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimDicts[2] += "@IDLE_A" tFamilySeqAnimClips[2] = "Idle_b" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimDicts[3] += "@IDLE_A" tFamilySeqAnimClips[3] = "Idle_c" tFamilySeqAnimDicts[4] = tFamilySeqAnimDict tFamilySeqAnimDicts[4] += "@IDLE_B" tFamilySeqAnimClips[4] = "Idle_d" tFamilySeqAnimDicts[5] = tFamilySeqAnimDict tFamilySeqAnimDicts[5] += "@IDLE_B" tFamilySeqAnimClips[5] = "Idle_e" iFamilyAnims = 5 fBlendInDelta = NORMAL_BLEND_IN //FAST_BLEND_IN fBlendOutDelta = NORMAL_BLEND_OUT //FAST_BLEND_OUT eFamilyAnimFlag |= AF_HOLD_LAST_FRAME BREAK CASE FE_M_DAUGHTER_dancing_practice /* tFamilyAnimDict = "TIMETABLE@TRACY@IG_8" tFamilyAnimClip = "" */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimDicts[0] += "@BASE" tFamilySeqAnimClips[0] = "base" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimDicts[1] += "@IDLE_A" tFamilySeqAnimClips[1] = "Idle_a" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimDicts[2] += "@IDLE_A" tFamilySeqAnimClips[2] = "Idle_b" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimDicts[3] += "@IDLE_A" tFamilySeqAnimClips[3] = "Idle_c" tFamilySeqAnimDicts[4] = tFamilySeqAnimDict tFamilySeqAnimDicts[4] += "@IDLE_B" tFamilySeqAnimClips[4] = "Idle_d" tFamilySeqAnimDicts[5] = tFamilySeqAnimDict tFamilySeqAnimDicts[5] += "@IDLE_B" tFamilySeqAnimClips[5] = "Idle_e" iFamilyAnims = 5 fBlendInDelta = NORMAL_BLEND_IN //FAST_BLEND_IN fBlendOutDelta = NORMAL_BLEND_OUT //FAST_BLEND_OUT eFamilyAnimFlag |= AF_HOLD_LAST_FRAME BREAK CASE FE_M_DAUGHTER_watching_TV_sober /* tFamilyAnimDict = "TIMETABLE@TRACY@IG_2" tFamilyAnimClip = "" TIMETABLE@TRACY@IG_2@IDLE_A/ Idle_a.anim Idle_b.anim Idle_c.anim TIMETABLE@TRACY@IG_2@IDLE_B/ Idle_d.anim Idle_e.anim */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimDicts[0] += "@BASE" tFamilySeqAnimClips[0] = "base" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimDicts[1] += "@IDLE_A" tFamilySeqAnimClips[1] = "Idle_a" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimDicts[2] += "@IDLE_A" tFamilySeqAnimClips[2] = "Idle_b" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimDicts[3] += "@IDLE_A" tFamilySeqAnimClips[3] = "Idle_c" tFamilySeqAnimDicts[4] = tFamilySeqAnimDict tFamilySeqAnimDicts[4] += "@IDLE_B" tFamilySeqAnimClips[4] = "Idle_d" tFamilySeqAnimDicts[5] = tFamilySeqAnimDict tFamilySeqAnimDicts[5] += "@IDLE_B" tFamilySeqAnimClips[5] = "Idle_e" iFamilyAnims = 5 BREAK CASE FE_M_DAUGHTER_watching_TV_drunk /* tFamilyAnimDict = "TIMETABLE@TRACY@IG_15" tFamilyAnimClip = "" TIMETABLE@TRACY@IG_15@BASE base.anim TIMETABLE@TRACY@IG_15@IDLE_A idle_a.anim idle_b.anim idle_c.anim TIMETABLE@TRACY@IG_15@IDLE_B idle_d.anim idle_e.anim idle_f.anim TIMETABLE@TRACY@IG_15@IDLE_C idle_g.anim */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimDicts[0] += "@BASE" tFamilySeqAnimClips[0] = "base" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimDicts[1] += "@IDLE_A" tFamilySeqAnimClips[1] = "Idle_a" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimDicts[2] += "@IDLE_A" tFamilySeqAnimClips[2] = "Idle_b" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimDicts[3] += "@IDLE_A" tFamilySeqAnimClips[3] = "Idle_c" tFamilySeqAnimDicts[4] = tFamilySeqAnimDict tFamilySeqAnimDicts[4] += "@IDLE_B" tFamilySeqAnimClips[4] = "Idle_d" tFamilySeqAnimDicts[5] = tFamilySeqAnimDict tFamilySeqAnimDicts[5] += "@IDLE_B" tFamilySeqAnimClips[5] = "Idle_e" iFamilyAnims = 5 BREAK CASE FE_M_DAUGHTER_sleeping CASE FE_M_DAUGHTER_couchsleep /* // TIMETABLE@TRACY@SLEEP@BASE // TIMETABLE@TRACY@SLEEP@IDLE_A // TIMETABLE@TRACY@SLEEP@IDLE_B // TIMETABLE@TRACY@SLEEP@IDLE_C // TIMETABLE@TRACY@SLEEP@IDLE_D // TIMETABLE@TRACY@SLEEP@IDLE_E // TIMETABLE@TRACY@SLEEP@IDLE_F tFamilyAnimDict = "TIMETABLE@TRACY@SLEEP@" tFamilyAnimClip = "" */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = "base" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimClips[1] = "Idle_a" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimClips[2] = "Idle_b" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimClips[3] = "Idle_c" tFamilySeqAnimDicts[4] = tFamilySeqAnimDict tFamilySeqAnimClips[4] = "Idle_d" tFamilySeqAnimDicts[5] = tFamilySeqAnimDict tFamilySeqAnimClips[5] = "Idle_e" iFamilyAnims = 5 // tFamilySeqAnimDicts[6] = tFamilySeqAnimDict // tFamilySeqAnimClips[6] = "Idle_f" BREAK CASE FE_M_DAUGHTER_purges_in_the_bathroom /* //TIMETABLE@TRACY@IG_7@BASE/BASE.anim //TIMETABLE@TRACY@IG_7@IDLE_A/IDLE_A.anim //TIMETABLE@TRACY@IG_7@IDLE_A/IDLE_B.anim //TIMETABLE@TRACY@IG_7@IDLE_A/IDLE_C.anim //TIMETABLE@TRACY@IG_7@IDLE_B/IDLE_D.anim tFamilyAnimDict = "TIMETABLE@TRACY@IG_7@" tFamilyAnimClip = "" */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimDicts[0] += "BASE" tFamilySeqAnimClips[0] = "base" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimDicts[1] += "IDLE_A" tFamilySeqAnimClips[1] = "Idle_a" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimDicts[2] += "IDLE_A" tFamilySeqAnimClips[2] = "Idle_b" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimDicts[3] += "IDLE_A" tFamilySeqAnimClips[3] = "Idle_c" tFamilySeqAnimDicts[4] = tFamilySeqAnimDict tFamilySeqAnimDicts[4] += "IDLE_B" tFamilySeqAnimClips[4] = "Idle_d" iFamilyAnims = 4 tFamilySeqAnimDicts[5] = "" BREAK CASE FE_M2_WIFE_doing_yoga CASE FE_M7_WIFE_doing_yoga tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = "IG_4_BASE" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimClips[1] = "IG_4_IDLE" iFamilyAnims = 1 tFamilySeqAnimDicts[2] = "" tFamilySeqAnimDicts[3] = "" tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK CASE FE_M2_WIFE_with_shopping_bags_enter CASE FE_M7_WIFE_with_shopping_bags_enter /* // TIMETABLE@AMANDA@IG_7/base // TIMETABLE@AMANDA@IG_7/idle_a // TIMETABLE@AMANDA@IG_7/idle_b // TIMETABLE@AMANDA@IG_7/idle_c // TIMETABLE@AMANDA@IG_7/idle_d // TIMETABLE@AMANDA@IG_7/idle_e // TIMETABLE@AMANDA@IG_7/ig_7_enter // TIMETABLE@AMANDA@IG_7/ig_7_exit tFamilyAnimDict = "TIMETABLE@AMANDA@IG_7" tFamilyAnimClip = "" */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = "base" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimClips[1] = "idle_a" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimClips[2] = "idle_b" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimClips[3] = "idle_c" tFamilySeqAnimDicts[4] = tFamilySeqAnimDict tFamilySeqAnimClips[4] = "idle_d" tFamilySeqAnimDicts[5] = tFamilySeqAnimDict tFamilySeqAnimClips[5] = "idle_e" iFamilyAnims = 5 BREAK CASE FE_M7_WIFE_shopping_with_daughter // CASE FE_M7_WIFE_shopping_with_son /* // TIMETABLE@AMANDA@IG_7/base // TIMETABLE@AMANDA@IG_7/idle_a // TIMETABLE@AMANDA@IG_7/idle_b // TIMETABLE@AMANDA@IG_7/idle_c // TIMETABLE@AMANDA@IG_7/idle_d // TIMETABLE@AMANDA@IG_7/idle_e // TIMETABLE@AMANDA@IG_7/ig_7_enter // TIMETABLE@AMANDA@IG_7/ig_7_exit tFamilyAnimDict = "TIMETABLE@AMANDA@IG_7" tFamilyAnimClip = "" */ tFamilySeqAnimDicts[0] = "TIMETABLE@REUNITED@IG_7" //tFamilySeqAnimDict tFamilySeqAnimClips[0] = "AmandaBase_Amanda" iFamilyAnims = 0 tFamilySeqAnimDicts[1] = "" tFamilySeqAnimDicts[2] = "" tFamilySeqAnimDicts[3] = "" tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK CASE FE_M_WIFE_gets_drink_in_kitchen /* // TIMETABLE@AMANDA@DRUNK_IN_KITCHEN@amanda_gets_drunk_loop1.anim // TIMETABLE@AMANDA@DRUNK_IN_KITCHEN@amanda_gets_drunk_loop2.anim // TIMETABLE@AMANDA@DRUNK_IN_KITCHEN@amanda_gets_drunk_loop3.anim tFamilyAnimDict = "TIMETABLE@AMANDA@DRUNK_IN_KITCHEN@" tFamilyAnimClip = "amanda_gets_drunk_" */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = "amanda_gets_drunk_loop1" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimClips[1] = "amanda_gets_drunk_loop2" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimClips[2] = "amanda_gets_drunk_loop3" iFamilyAnims = 2 tFamilySeqAnimDicts[3] = "" tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK CASE FE_M2_WIFE_phones_man_OR_therapist CASE FE_M7_WIFE_phones_man_OR_therapist tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = tFamilySeqAnimRoot //"IG_11_BASE" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimClips[1] = "IG_11_IDLE_OhReallyWow" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimClips[2] = "IG_11_IDLE_UhHuh" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimClips[3] = "IG_11_IDLE_UmHumYesIKnow" tFamilySeqAnimDicts[4] = tFamilySeqAnimDict tFamilySeqAnimClips[4] = "IG_11_IDLE_YouRSoBad" iFamilyAnims = 4 tFamilySeqAnimDicts[5] = "" BREAK CASE FE_M2_MEXMAID_clean_surface_a FALLTHRU CASE FE_M2_MEXMAID_clean_surface_c FALLTHRU CASE FE_M7_MEXMAID_clean_surface FALLTHRU // CASE FE_M_MEXMAID_MIC4_clean_surface /* tFamilyAnimDict = "TIMETABLE@MAID@CLEANING_SURFACE" tFamilyAnimClip = "" //TIMETABLE@MAID@CLEANING_SURFACE@BASE/base" //TIMETABLE@MAID@CLEANING_SURFACE@IDLE_A/idle_a" //TIMETABLE@MAID@CLEANING_SURFACE@IDLE_A/idle_b" //TIMETABLE@MAID@CLEANING_SURFACE@IDLE_A/idle_c" */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimDicts[0] += "@BASE" tFamilySeqAnimClips[0] = "base" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimDicts[1] += "@IDLE_A" tFamilySeqAnimClips[1] = "idle_a" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimDicts[2] += "@IDLE_A" tFamilySeqAnimClips[2] = "idle_b" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimDicts[3] += "@IDLE_A" tFamilySeqAnimClips[3] = "idle_c" iFamilyAnims = 3 tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK CASE FE_M2_MEXMAID_clean_surface_b /* tFamilyAnimDict = "TIMETABLE@MAID@CLEANING_SURFACE_1@" tFamilyAnimClip = "" //TIMETABLE@MAID@CLEANING_SURFACE_1@\IG_9_BASE.anim //TIMETABLE@MAID@CLEANING_SURFACE_1@\IG_9_ENTER.anim //TIMETABLE@MAID@CLEANING_SURFACE_1@\IG_9_EXIT.anim //TIMETABLE@MAID@CLEANING_SURFACE_1@\IG_9_IDLE_A.anim //TIMETABLE@MAID@CLEANING_SURFACE_1@\IG_9_IDLE_B.anim */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = "IG_9_BASE" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimClips[1] = "IG_9_IDLE_A" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimClips[2] = "IG_9_IDLE_B" iFamilyAnims = 2 tFamilySeqAnimDicts[3] = "" tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK CASE FE_M2_MEXMAID_clean_window FALLTHRU CASE FE_M7_MEXMAID_clean_window FALLTHRU CASE FE_M_MEXMAID_MIC4_clean_window /* TIMETABLE@MAID@CLEANING_WINDOW@BASE base.anim TIMETABLE@MAID@CLEANING_WINDOW@ENTER enter.anim TIMETABLE@MAID@CLEANING_WINDOW@EXIT exit.anim tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimDicts[0] += "@BASE" tFamilySeqAnimClips[0] = "base" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimDicts[1] += "@ENTER" tFamilySeqAnimClips[1] = "enter" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimDicts[2] += "@EXIT" tFamilySeqAnimClips[2] = "exit" tFamilySeqAnimDicts[3] = "" tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" */ /* TIMETABLE@MAID@CLEANING_WINDOW@IDLE_A idle_a.anim idle_b.anim idle_c.anim TIMETABLE@MAID@CLEANING_WINDOW@IDLE_B idle_d.anim idle_e.anim idle_f.anim */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimDicts[0] += "@BASE" tFamilySeqAnimClips[0] = "base" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimDicts[1] += "@IDLE_A" tFamilySeqAnimClips[1] = "idle_a" // //removed for #650600 // tFamilySeqAnimDicts[2] = tFamilySeqAnimDict // tFamilySeqAnimDicts[2] += "@IDLE_A" // tFamilySeqAnimClips[2] = "idle_b" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimDicts[3] += "@IDLE_A" tFamilySeqAnimClips[3] = "idle_c" iFamilyAnims = 3 IF NOT g_bMagDemoActive //blocked for magdemo to stop arm wiping over handles tFamilySeqAnimDicts[4] = tFamilySeqAnimDict tFamilySeqAnimDicts[4] += "@IDLE_B" tFamilySeqAnimClips[4] = "idle_d" //blocked for magdemo to stop the step back tFamilySeqAnimDicts[5] = tFamilySeqAnimDict tFamilySeqAnimDicts[5] += "@IDLE_B" tFamilySeqAnimClips[5] = "idle_e" iFamilyAnims = 5 ENDIF // //removed for 568564 // tFamilySeqAnimDicts[6] = tFamilySeqAnimDict // tFamilySeqAnimDicts[6] += "@IDLE_B" // tFamilySeqAnimClips[6] = "idle_f" BREAK CASE FE_M_MEXMAID_does_the_dishes /* TIMETABLE@MAID@IG_2@ IG_2_BASE.anim IG_2_IDLE_A.anim IG_2_IDLE_B.anim IG_2_IDLE_C.anim tFamilyAnimDict = "TIMETABLE@MAID@MAID@IG_2@" tFamilyAnimClip = "" */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = "IG_2_BASE" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimClips[1] = "IG_2_IDLE_A" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimClips[2] = "IG_2_IDLE_B" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimClips[3] = "IG_2_IDLE_C" iFamilyAnims = 3 tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK // CASE FE_M_MEXMAID_watching_TV // // /* // // TIMETABLE@MAID@COUCH@ // base.anim // idle_a.anim // idle_b.anim // idle_c.anim // idle_d.anim // // tFamilyAnimDict = "TIMETABLE@MAID@MAID@COUCH@" // tFamilyAnimClip = "" // // */ // // tFamilySeqAnimDicts[0] = tFamilySeqAnimDict // tFamilySeqAnimClips[0] = "base" // // tFamilySeqAnimDicts[1] = tFamilySeqAnimDict // tFamilySeqAnimClips[1] = "idle_a" // // tFamilySeqAnimDicts[2] = tFamilySeqAnimDict // tFamilySeqAnimClips[2] = "idle_b" // // tFamilySeqAnimDicts[3] = tFamilySeqAnimDict // tFamilySeqAnimClips[3] = "idle_c" // // tFamilySeqAnimDicts[4] = tFamilySeqAnimDict // tFamilySeqAnimClips[4] = "idle_d" // // iFamilyAnims = 4 // // // // tFamilySeqAnimDicts[5] = "" // // BREAK CASE FE_M_MEXMAID_stealing_stuff /* TIMETABLE@/MAID@/IG_8@/IG_8_BASE.anim TIMETABLE@/MAID@/IG_8@/IG_8_IDLE_A.anim TIMETABLE@/MAID@/IG_8@/IG_8_P2_IBringThisToday.anim TIMETABLE@/MAID@/IG_8@/IG_8_P3_ItLooksBroken.anim TIMETABLE@/MAID@/IG_8@/IG_8_P4_ITakeHomeToPolish.anim */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = "IG_8_BASE" // tFamilySeqAnimDicts[1] = tFamilySeqAnimDict // tFamilySeqAnimClips[1] = "IG_8_IDLE_A" iFamilyAnims = 0 //1 tFamilySeqAnimDicts[2] = "" tFamilySeqAnimDicts[3] = "" tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK CASE FE_M_GARDENER_cleaning_pool /* tFamilyAnimDict = "TIMETABLE@GARDENER@CLEAN_POOL@" tFamilyAnimClip = "" //TIMETABLE@GARDENER@CLEAN_POOL@BASE //TIMETABLE@GARDENER@CLEAN_POOL@IDLE_A //TIMETABLE@GARDENER@CLEAN_POOL@IDLE_B //TIMETABLE@GARDENER@CLEAN_POOL@IDLE_C */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = "idle_a_gardener" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimClips[1] = "idle_b_gardener" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimClips[2] = "idle_c_gardener" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimClips[3] = tFamilySeqAnimRoot iFamilyAnims = 3 tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK CASE FE_M_GARDENER_smoking_weed /* tFamilyAnimDict = "TIMETABLE@GARDENER@SMOKING_JOINT" tFamilyAnimClip = "" //TIMETABLE@GARDENER@SMOKING_JOINT/Idle_Cough.anim //TIMETABLE@GARDENER@SMOKING_JOINT/Smoke_Idle.anim */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = "Idle_Cough" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimClips[1] = "Smoke_Idle" iFamilyAnims = 1 tFamilySeqAnimDicts[2] = "" tFamilySeqAnimDicts[3] = "" tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK CASE FE_F_AUNT_pelvic_floor_exercises /* tFamilyAnimDict = "TIMETABLE@DENICE@IG_1" tFamilyAnimClip = "" //TIMETABLE@DENICE@IG_1/base.anim //TIMETABLE@DENICE@IG_1/idle_A.anim //TIMETABLE@DENICE@IG_1/idle_B.anim //TIMETABLE@DENICE@IG_1/idle_C.anim */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = "base" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimClips[1] = "idle_a" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimClips[2] = "idle_b" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimClips[3] = "idle_c" iFamilyAnims = 3 tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK CASE FE_F_AUNT_watching_TV CASE FE_F_AUNT_returned_to_aunts /* tFamilyAnimDict = "TIMETABLE@DENICE@IG_3" tFamilyAnimClip = "base" //TIMETABLE@DENICE@IG_3/base.anim //TIMETABLE@DENICE@IG_3/idle_A.anim //TIMETABLE@DENICE@IG_3/idle_B.anim //TIMETABLE@DENICE@IG_3/idle_C.anim */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = "base" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimClips[1] = "idle_a" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimClips[2] = "idle_b" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimClips[3] = "idle_c" iFamilyAnims = 3 tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK CASE FE_F_AUNT_listens_to_selfhelp_tapes_x /* tFamilyAnimDict = "TIMETABLE@DENICE@IG_4" tFamilyAnimClip = "base" //TIMETABLE@DENICE@IG_4/base.anim //TIMETABLE@DENICE@IG_4/idle_A.anim //TIMETABLE@DENICE@IG_4/idle_B.anim //TIMETABLE@DENICE@IG_4/idle_C.anim */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = "base" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimClips[1] = "idle_a" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimClips[2] = "idle_b" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimClips[3] = "idle_c" iFamilyAnims = 3 fBlendInDelta = INSTANT_BLEND_IN fBlendOutDelta = INSTANT_BLEND_OUT tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK CASE FE_T0_MICHAEL_depressed_head_in_hands tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimDicts[0] += "BASE" tFamilySeqAnimClips[0] = "ON_CHAIR_Base" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimDicts[1] += "IDLE_A" tFamilySeqAnimClips[1] = "ON_CHAIR_A" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimDicts[2] += "IDLE_A" tFamilySeqAnimClips[2] = "ON_CHAIR_B" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimDicts[3] += "IDLE_B" tFamilySeqAnimClips[3] = "ON_CHAIR_C" tFamilySeqAnimDicts[4] = tFamilySeqAnimDict tFamilySeqAnimDicts[4] += "IDLE_B" tFamilySeqAnimClips[4] = "ON_CHAIR_D" tFamilySeqAnimDicts[5] = tFamilySeqAnimDict tFamilySeqAnimDicts[5] += "IDLE_C" tFamilySeqAnimClips[5] = "ON_CHAIR_E" iFamilyAnims = 5 // tFamilySeqAnimDicts[6] = tFamilySeqAnimDict // tFamilySeqAnimDicts[6] += "IDLE_C" // tFamilySeqAnimClips[6] = "ON_CHAIR_F" BREAK CASE FE_T0_MICHAEL_sunbathing tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimDicts[0] += "BASE" tFamilySeqAnimClips[0] = "ON_CLUBCHAIR_Base" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimDicts[1] += "IDLE_A" tFamilySeqAnimClips[1] = "ON_CLUBCHAIR_A" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimDicts[2] += "IDLE_A" tFamilySeqAnimClips[2] = "ON_CLUBCHAIR_B" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimDicts[3] += "IDLE_B" tFamilySeqAnimClips[3] = "ON_CLUBCHAIR_C" tFamilySeqAnimDicts[4] = tFamilySeqAnimDict tFamilySeqAnimDicts[4] += "IDLE_B" tFamilySeqAnimClips[4] = "ON_CLUBCHAIR_D" tFamilySeqAnimDicts[5] = tFamilySeqAnimDict tFamilySeqAnimDicts[5] += "IDLE_C" tFamilySeqAnimClips[5] = "ON_CLUBCHAIR_E" iFamilyAnims = 5 // tFamilySeqAnimDicts[6] = tFamilySeqAnimDict // tFamilySeqAnimDicts[6] += "IDLE_C" // tFamilySeqAnimClips[6] = "ON_CLUBCHAIR_F" // // tFamilySeqAnimDicts[7] = tFamilySeqAnimDict // tFamilySeqAnimDicts[7] += "IDLE_C" // tFamilySeqAnimClips[7] = "ON_CLUBCHAIR_G" BREAK CASE FE_T0_MICHAEL_drinking_beer /* tFamilyAnimDict = "TIMETABLE@MICHAEL@ON_SOFA" tFamilyAnimClip = "SIT_Sofa" */ //TIMETABLE@MICHAEL@ON_SOFABASE/SIT_Sofa_Base.anim //TIMETABLE@MICHAEL@ON_SOFAIDLE_A/SIT_Sofa_A.anim //TIMETABLE@MICHAEL@ON_SOFAIDLE_A/SIT_Sofa_B.anim //TIMETABLE@MICHAEL@ON_SOFAIDLE_A/SIT_Sofa_C.anim //TIMETABLE@MICHAEL@ON_SOFAIDLE_B/SIT_Sofa_D.anim //TIMETABLE@MICHAEL@ON_SOFAIDLE_B/SIT_Sofa_E.anim //TIMETABLE@MICHAEL@ON_SOFAIDLE_B/SIT_Sofa_F.anim //TIMETABLE@MICHAEL@ON_SOFAIDLE_C/SIT_Sofa_G.anim //TIMETABLE@MICHAEL@ON_SOFAIDLE_C/SIT_Sofa_H.anim //TIMETABLE@MICHAEL@ON_SOFAIDLE_C/SIT_Sofa_I.anim tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimDicts[0] += "BASE" tFamilySeqAnimClips[0] = tFamilySeqAnimRoot tFamilySeqAnimClips[0] += "_Base" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimDicts[1] += "IDLE_A" tFamilySeqAnimClips[1] = tFamilySeqAnimRoot tFamilySeqAnimClips[1] += "_A" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimDicts[2] += "IDLE_A" tFamilySeqAnimClips[2] = tFamilySeqAnimRoot tFamilySeqAnimClips[2] += "_B" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimDicts[3] += "IDLE_A" tFamilySeqAnimClips[3] = tFamilySeqAnimRoot tFamilySeqAnimClips[3] += "_C" tFamilySeqAnimDicts[4] = tFamilySeqAnimDict tFamilySeqAnimDicts[4] += "IDLE_B" tFamilySeqAnimClips[4] = tFamilySeqAnimRoot tFamilySeqAnimClips[4] += "_D" tFamilySeqAnimDicts[5] = tFamilySeqAnimDict tFamilySeqAnimDicts[5] += "IDLE_B" tFamilySeqAnimClips[5] = tFamilySeqAnimRoot tFamilySeqAnimClips[5] += "_E" iFamilyAnims = 5 // tFamilySeqAnimDicts[6] = tFamilySeqAnimDict // tFamilySeqAnimDicts[6] += "IDLE_B" // tFamilySeqAnimClips[6] = tFamilySeqAnimRoot // tFamilySeqAnimClips[6] += "_F" // // // tFamilySeqAnimDicts[3+4] = tFamilySeqAnimDict // tFamilySeqAnimDicts[3+4] += "IDLE_C" // tFamilySeqAnimClips[3+4] = tFamilySeqAnimRoot // tFamilySeqAnimClips[3+4] += "_G" // // tFamilySeqAnimDicts[3+5] = tFamilySeqAnimDict // tFamilySeqAnimDicts[3+5] += "IDLE_C" // tFamilySeqAnimClips[3+5] = tFamilySeqAnimRoot // tFamilySeqAnimClips[3+5] += "_H" // // tFamilySeqAnimDicts[3+6] = tFamilySeqAnimDict // tFamilySeqAnimDicts[3+6] += "IDLE_C" // tFamilySeqAnimClips[3+6] = tFamilySeqAnimRoot // tFamilySeqAnimClips[3+6] += "_I" BREAK CASE FE_T0_RONEX_outside_looking_lonely /* //TIMETABLE@RON@IG_1/IG_1_BASE //TIMETABLE@RON@IG_1/IG_1_IDLE_A tFamilyAnimDict = "TIMETABLE@RON@IG_1" tFamilyAnimClip = "" */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = "IG_1_BASE" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimClips[1] = "IG_1_IDLE_A" iFamilyAnims = 1 fBlendInDelta = WALK_BLEND_IN fBlendOutDelta = WALK_BLEND_OUT tFamilySeqAnimDicts[2] = "" tFamilySeqAnimDicts[3] = "" tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK CASE FE_T0_RON_listens_to_radio_broadcast CASE FE_T0_RONEX_trying_to_pick_up_signals /* //TIMETABLE@RON@IG_2/IG_2_BASE //TIMETABLE@RON@IG_2/IG_2_IDLE_A //TIMETABLE@RON@IG_2/IG_2_IDLE_B tFamilyAnimDict = "TIMETABLE@RON@IG_2" tFamilyAnimClip = "" */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = "IG_2_BASE" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimClips[1] = "IG_2_IDLE_A" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimClips[2] = "IG_2_IDLE_B" iFamilyAnims = 2 tFamilySeqAnimDicts[3] = "" tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK // CASE FE_T0_RONEX_working_a_moonshine_sill // /* // //TIMETABLE@RON@IG_3/IG_3_BASE // //TIMETABLE@RON@IG_3/IG_3_IDLE_A // // tFamilyAnimDict = "TIMETABLE@RON@IG_3" // tFamilyAnimClip = "" // */ // // tFamilySeqAnimDicts[0] = tFamilySeqAnimDict // tFamilySeqAnimClips[0] = "IG_3_BASE" // // tFamilySeqAnimDicts[1] = tFamilySeqAnimDict // tFamilySeqAnimClips[1] = "IG_3_IDLE_A" // // iFamilyAnims = 1 // // // tFamilySeqAnimDicts[2] = "" // tFamilySeqAnimDicts[3] = "" // tFamilySeqAnimDicts[4] = "" // tFamilySeqAnimDicts[5] = "" // BREAK CASE FE_T0_RONEX_doing_target_practice /* //TIMETABLE@RON@IG_4/IG_4_BASE.anim //TIMETABLE@RON@IG_4/IG_4_IDLE_A.anim //TIMETABLE@RON@IG_4/IG_4_IDLE_A.anim //TIMETABLE@RON@IG_4/IG_4_IDLE_A.anim tFamilyAnimDict = "TIMETABLE@RON@IG_4" tFamilyAnimClip = "" */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = "IG_4_BASE" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimClips[1] = "IG_4_IDLE_A" //0.384 tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimClips[2] = "IG_4_IDLE_B" //0.378 tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimClips[3] = "IG_4_IDLE_C" //0.402 iFamilyAnims = 3 tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK CASE FE_T0_RON_drinks_moonshine_from_a_jar /* tFamilyAnimDict = "TIMETABLE@RON@MOONSHINE_IG_5" tFamilyAnimClip = "IG_5_" TIMETABLE@RON@MOONSHINE_IG_5/IG_5_BASE.anim TIMETABLE@RON@MOONSHINE_IG_5/IG_5_IDLE_A.anim TIMETABLE@RON@MOONSHINE_IG_5/IG_5_IDLE_B.anim */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = tFamilySeqAnimRoot tFamilySeqAnimClips[0] += "BASE" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimClips[1] = tFamilySeqAnimRoot tFamilySeqAnimClips[1] += "IDLE_A" //drinks 0.1603 - 0.7200 tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimClips[2] = tFamilySeqAnimRoot tFamilySeqAnimClips[2] += "IDLE_B" //drinks 0.1460 - 0.7890 iFamilyAnims = 2 tFamilySeqAnimDicts[3] = "" tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK CASE FE_T0_RON_stares_through_binoculars /* //TIMETABLE@RON@IG_6/IG_6_BASE.anim //TIMETABLE@RON@IG_6/IG_6_IDLE_A.anim //TIMETABLE@RON@IG_6/IG_6_IDLE_B.anim //TIMETABLE@RON@IG_6/IG_6_IDLE_C.anim tFamilyAnimDict = "TIMETABLE@RON@IG_6" tFamilyAnimClip = "" */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = "IG_6_BASE" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimClips[1] = "IG_6_IDLE_A" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimClips[2] = "IG_6_IDLE_B" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimClips[3] = "IG_6_IDLE_C" iFamilyAnims = 3 tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK CASE FE_T0_TREVOR_smoking_crystal tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimDicts[0] += "@BASE" tFamilySeqAnimClips[0] = "Base" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimDicts[1] += "@IDLE_A" tFamilySeqAnimClips[1] = "Idle_a" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimDicts[2] += "@IDLE_A" tFamilySeqAnimClips[2] = "Idle_b" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimDicts[3] += "@IDLE_A" tFamilySeqAnimClips[3] = "Idle_c" iFamilyAnims = 3 tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" /* PROPS used: p_cs_lighter_01 prop_cs_crackpipe Anims submitted at 10:30 AM EST, April 4/12: TIMETABLE@TREVOR@SMOKING_METH@\BASE\BASE.anim TIMETABLE@TREVOR@SMOKING_METH@\BASE\BASE.clip TIMETABLE@TREVOR@SMOKING_METH@\IDLE_A\IDLE_A.anim TIMETABLE@TREVOR@SMOKING_METH@\IDLE_A\IDLE_A.clip TIMETABLE@TREVOR@SMOKING_METH@\IDLE_A\IDLE_B.anim TIMETABLE@TREVOR@SMOKING_METH@\IDLE_A\IDLE_B.clip TIMETABLE@TREVOR@SMOKING_METH@\IDLE_A\IDLE_C.anim TIMETABLE@TREVOR@SMOKING_METH@\IDLE_A\IDLE_C.clip fbx's here: x:\gta5\art\anim\source_fbx\TIMETABLE@\TREVOR@\SMOKING_METH@\BASE\BASE.fbx x:\gta5\art\anim\source_fbx\TIMETABLE@\TREVOR@\SMOKING_METH@\IDLE_A\IDLE_A.fbx */ BREAK #IF NOT IS_JAPANESE_BUILD CASE FE_T0_TREVOR_doing_a_shit tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = tFamilySeqAnimRoot tFamilySeqAnimClips[0] += "BaseLoop" //(Basic short loop) tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimClips[1] = tFamilySeqAnimRoot tFamilySeqAnimClips[1] += "StruggleLoop" //(Longer Loop of Trevor Struggling iFamilyAnims = 1 tFamilySeqAnimDicts[2] = "" tFamilySeqAnimDicts[3] = "" tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK #ENDIF CASE FE_T0_TREVOR_passed_out_naked_drunk tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = tFamilySeqAnimRoot tFamilySeqAnimClips[0] += "_BASE" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimClips[1] = tFamilySeqAnimRoot tFamilySeqAnimClips[1] += "_IDLE_01" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimClips[2] = tFamilySeqAnimRoot tFamilySeqAnimClips[2] += "_IDLE_02" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimClips[3] = tFamilySeqAnimRoot tFamilySeqAnimClips[3] += "_IDLE_03" iFamilyAnims = 3 tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK CASE FE_T0_KIDNAPPED_WIFE_cleaning tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = "Base" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimClips[1] = "Clean_Up" iFamilyAnims = 1 tFamilySeqAnimDicts[2] = "" tFamilySeqAnimDicts[3] = "" tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK CASE FE_T0_KIDNAPPED_WIFE_does_garden_work tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimDicts[0] += "BASE" tFamilySeqAnimClips[0] = "Base" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimDicts[1] += "IDLE_A" tFamilySeqAnimClips[1] = "IDLE_B" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimDicts[2] += "IDLE_A" tFamilySeqAnimClips[2] = "IDLE_B" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimDicts[3] += "IDLE_A" tFamilySeqAnimClips[3] = "IDLE_C" iFamilyAnims = 3 tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK CASE FE_T1_FLOYD_is_sleeping /* tFamilyAnimDict = "TIMETABLE@FLOYD@CRYINGONBED_IG_5@" tFamilyAnimClip = "" //TIMETABLE@FLOYD@CRYINGONBED_IG_5@Base //TIMETABLE@FLOYD@CRYINGONBED_IG_5@Idle_a //TIMETABLE@FLOYD@CRYINGONBED_IG_5@Idle_b //TIMETABLE@FLOYD@CRYINGONBED_IG_5@Idle_c */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = "Base" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimClips[1] = "Idle_a" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimClips[2] = "Idle_b" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimClips[3] = "Idle_c" iFamilyAnims = 3 tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK CASE FE_M_SON_raids_fridge_for_food /* tFamilyAnimDict = "TIMETABLE@FLOYD@CRYINGONBED_IG_5@" tFamilyAnimClip = "" //TIMETABLE@JIMMY@IG_4@BASE Base.anim //TIMETABLE@JIMMY@IG_4@IDLE_A Idle_a.anim //TIMETABLE@JIMMY@IG_4@IDLE_A Idle_b.anim //TIMETABLE@JIMMY@IG_4@IDLE_A Idle_c.anim */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimDicts[0] += "@BASE" tFamilySeqAnimClips[0] = "Base" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimDicts[1] += "@IDLE_A" tFamilySeqAnimClips[1] = "Idle_a" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimDicts[2] += "@IDLE_A" tFamilySeqAnimClips[2] = "Idle_b" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimDicts[3] += "@IDLE_A" tFamilySeqAnimClips[3] = "Idle_c" iFamilyAnims = 3 tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK CASE FE_M_DAUGHTER_Coming_home_drunk /* //TIMETABLE@TRACY@IG_14@/IG_14_BASE_TRACY.anim //TIMETABLE@TRACY@IG_14@/IG_14_IDLE_A_WhatRUDoingHere_TRACY.anim //TIMETABLE@TRACY@IG_14@/IG_14_IDLE_B_ReallyLoveUDad_TRACY.anim //TIMETABLE@TRACY@IG_14@/IG_14_IDLE_C_YouGotAnyBlowDad_TRACY.anim //TIMETABLE@TRACY@IG_14@/IG_14_IWishAll_A_NOTE.anim //TIMETABLE@TRACY@IG_14@/IG_14_IWishAll_A_PLAYER.anim //TIMETABLE@TRACY@IG_14@/IG_14_IWishAll_A_TRACY.anim //TIMETABLE@TRACY@IG_14@/IG_14_IWishAll_B_NOTE.anim //TIMETABLE@TRACY@IG_14@/IG_14_IWishAll_B_PLAYER.anim //TIMETABLE@TRACY@IG_14@/IG_14_IWishAll_B_TRACY.anim //TIMETABLE@TRACY@IG_14@/IG_14_ParentingAtItsFinest_NOTE.anim //TIMETABLE@TRACY@IG_14@/IG_14_ParentingAtItsFinest_PLAYER.anim //TIMETABLE@TRACY@IG_14@/IG_14_ParentingAtItsFinest_TRACY.anim */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = "IG_14_BASE_TRACY" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimClips[1] = "IG_14_IDLE_A_WhatRUDoingHere_TRACY" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimClips[2] = "IG_14_IDLE_B_ReallyLoveUDad_TRACY" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimClips[3] = "IG_14_IDLE_C_YouGotAnyBlowDad_TRACY" iFamilyAnims = 3 tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK CASE FE_M_DAUGHTER_on_phone_to_friends CASE FE_M_DAUGHTER_on_phone_LOCKED CASE FE_M7_DAUGHTER_studying_on_phone /* //TIMETABLE@TRACY@FAMR_IG_4 //BASE.anim //IDLE_A.anim //IDLE_B.anim //IDLE_C.anim tFamilyAnimDict = "TIMETABLE@TRACY@FAMR_IG_4" tFamilyAnimClip = "" */ // tFamilySeqAnimDicts[0] = tFamilySeqAnimDict // tFamilySeqAnimClips[0] = "base" //played when theres no dialogue tFamilySeqAnimDicts[1-1] = tFamilySeqAnimDict tFamilySeqAnimClips[1-1] = "Idle_a" tFamilySeqAnimDicts[2-1] = tFamilySeqAnimDict tFamilySeqAnimClips[2-1] = "Idle_b" tFamilySeqAnimDicts[3-1] = tFamilySeqAnimDict tFamilySeqAnimClips[3-1] = "Idle_c" iFamilyAnims = 3-1 tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK CASE FE_M7_DAUGHTER_studying_does_nails /* //BASE.anim //FAMR_IG_5_IAmAboutToCrackThis.anim //FAMR_IG_5_IAmTotallyOnTop.anim //FAMR_IG_5_IAmTryingtoConcentrate.anim //FAMR_IG_5_ThisCollegeStuff.anim tFamilyAnimDict = "TIMETABLE@TRACY@FAMR_IG_5" tFamilyAnimClip = "" */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = "base" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimClips[1] = "FAMR_IG_5_IAmAboutToCrackThis" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimClips[2] = "FAMR_IG_5_IAmTotallyOnTop" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimClips[3] = "FAMR_IG_5_IAmTryingtoConcentrate" tFamilySeqAnimDicts[4] = tFamilySeqAnimDict tFamilySeqAnimClips[4] = "FAMR_IG_5_ThisCollegeStuff" iFamilyAnims = 4 fBlendInDelta = INSTANT_BLEND_IN fBlendOutDelta = INSTANT_BLEND_OUT tFamilySeqAnimDicts[5] = "" BREAK CASE FE_M_GARDENER_mowing_lawn /* tFamilyAnimDict = "TIMETABLE@GARDENER@LAWNMOW@" tFamilyAnimClip = "" //TIMETABLE@GARDENER@CLEAN_POOL@BASE //TIMETABLE@GARDENER@CLEAN_POOL@IDLE_A //TIMETABLE@GARDENER@CLEAN_POOL@IDLE_B //TIMETABLE@GARDENER@CLEAN_POOL@IDLE_C */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = "Base" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimClips[1] = "idle_a" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimClips[2] = "idle_b" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimClips[3] = "idle_c" iFamilyAnims = 3 tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK // CASE FE_F_LAMAR_and_STRETCH_arguing // // /* // TIMETABLE@\LAMAR@\IG_3\Base_Idle.anim // TIMETABLE@\LAMAR@\IG_3\003131_01_GC_LAS_IG_3_P3_Traffic_Jam.anim // TIMETABLE@\LAMAR@\IG_3\FAMILES_IS_FAMILES.anim // TIMETABLE@\LAMAR@\IG_3\LAS_IG_3_PT1_Captain_Crunch.anim // TIMETABLE@\LAMAR@\IG_3\LAS_IG_3_PT1_Soul_Pole.anim // TIMETABLE@\LAMAR@\IG_3\STEVE_JOBS_DIED.anim // TIMETABLE@\LAMAR@\IG_3\Soul_Pole.anim // */ // // /* // LAS_IG_3a / 1 // LAS_IG_3a / 2 // LAS_IG_3a / 3 // // LAS_IG_3b / 1 // LAS_IG_3b / 2 // LAS_IG_3b / 3 // */ // // tFamilySeqAnimDicts[0] = "TIMETABLE@LAMAR@IG_3" // tFamilySeqAnimClips[0] = "003131_01_GC_LAS_IG_3_P3_Traffic_Jam" // // tFamilySeqAnimDicts[1] = "TIMETABLE@LAMAR@IG_3" // tFamilySeqAnimClips[1] = "FAMILES_IS_FAMILES" // // tFamilySeqAnimDicts[2] = "TIMETABLE@LAMAR@IG_3" // tFamilySeqAnimClips[2] = "LAS_IG_3_PT1_Captain_Crunch" // // tFamilySeqAnimDicts[3] = "TIMETABLE@LAMAR@IG_3" // tFamilySeqAnimClips[3] = "LAS_IG_3_PT1_Soul_Pole" // // tFamilySeqAnimDicts[4] = "TIMETABLE@LAMAR@IG_3" // tFamilySeqAnimClips[4] = "STEVE_JOBS_DIED" // // tFamilySeqAnimDicts[5] = "TIMETABLE@LAMAR@IG_3" // tFamilySeqAnimClips[5] = "Soul_Pole" // // SWITCH eFamilyMember // CASE FM_FRANKLIN_LAMAR // tFamilySeqAnimClips[0] += "_Lamar" // tFamilySeqAnimClips[1] += "_Lamar" // tFamilySeqAnimClips[2] += "_Lamar" // tFamilySeqAnimClips[3] += "_Lamar" // tFamilySeqAnimClips[4] += "_Lamar" // tFamilySeqAnimClips[5] += "_Lamar" // BREAK // CASE FM_FRANKLIN_STRETCH // tFamilySeqAnimClips[0] += "_Stretch" // tFamilySeqAnimClips[1] += "_Stretch" // tFamilySeqAnimClips[2] += "_Stretch" // tFamilySeqAnimClips[3] += "_Stretch" // tFamilySeqAnimClips[4] += "_Stretch" // tFamilySeqAnimClips[5] += "_Stretch" // BREAK // ENDSWITCH // // iFamilyAnims = 5 // // BREAK // CASE FE_F_LAMAR_and_STRETCH_shout_at_cops // // /* // TIMETABLE@\LAMAR@\IG_4\Base.anim // TIMETABLE@\LAMAR@\IG_4\Hey_One_Time.anim // TIMETABLE@\LAMAR@\IG_4\Keep_Moving.anim // TIMETABLE@\LAMAR@\IG_4\Looking_For_Someone_Frame_Up.anim // TIMETABLE@\LAMAR@\IG_4\Nothing_To_See_Here.anim // TIMETABLE@\LAMAR@\IG_4\Ride_On_Through.anim // */ // // /* // LAS_IG_4a / 1 // LAS_IG_4a / 2 // LAS_IG_4a / 3 // // LAS_IG_4b / 1 // LAS_IG_4b / 2 // LAS_IG_4b / 3 // */ // // tFamilySeqAnimDicts[0] = "TIMETABLE@LAMAR@IG_4" // tFamilySeqAnimClips[0] = "Base" // // tFamilySeqAnimDicts[1] = "TIMETABLE@LAMAR@IG_4" // tFamilySeqAnimClips[1] = "Hey_One_Time" // // tFamilySeqAnimDicts[2] = "TIMETABLE@LAMAR@IG_4" // tFamilySeqAnimClips[2] = "Keep_Moving" // // tFamilySeqAnimDicts[3] = "TIMETABLE@LAMAR@IG_4" // tFamilySeqAnimClips[3] = "Looking_For_Someone_Frame_Up" // // tFamilySeqAnimDicts[4] = "TIMETABLE@LAMAR@IG_4" // tFamilySeqAnimClips[4] = "Nothing_To_See_Here" // // tFamilySeqAnimDicts[5] = "TIMETABLE@LAMAR@IG_4" // tFamilySeqAnimClips[5] = "Ride_On_Through" // // SWITCH eFamilyMember // CASE FM_FRANKLIN_LAMAR // tFamilySeqAnimClips[0] += "_Lamar" // tFamilySeqAnimClips[1] += "_Lamar" // tFamilySeqAnimClips[2] += "_Lamar" // tFamilySeqAnimClips[3] += "_Lamar" // tFamilySeqAnimClips[4] += "_Lamar" // tFamilySeqAnimClips[5] += "_Lamar" // BREAK // CASE FM_FRANKLIN_STRETCH // tFamilySeqAnimClips[0] += "_Stretch" // tFamilySeqAnimClips[1] += "_Stretch" // tFamilySeqAnimClips[2] += "_Stretch" // tFamilySeqAnimClips[3] += "_Stretch" // tFamilySeqAnimClips[4] += "_Stretch" // tFamilySeqAnimClips[5] += "_Stretch" // BREAK // ENDSWITCH // // iFamilyAnims = 5 // // BREAK // CASE FE_F_LAMAR_and_STRETCH_bbq_outside // // /* // Bomb_As_A_Mother_Fucker // Grill_Protien_Like_Clockwork // Keep_On_Walkin // Nothing_ToSee_Here // Smokin_Is_My_Specialty // Swine // You_Want_Some_of_That // */ // // /* // LAS_IG_2a / 1 I dine on that swine, dawg, I fucks with it. // LAS_IG_2a / 2 This shit going to be bomb as a motherfucker. // LAS_IG_2a / 3 Smoking shit is my specialiiaty, you know that's how I get down. // // LAS_IG_2b / 1 Ain't nothing like some fine grilled protein to keep me regular like clock work. // LAS_IG_2b / 2 Keep on walking, fool. This is man's food. // LAS_IG_2b / 3 Ain't no shit for you here, nigga. // */ // // tFamilySeqAnimDicts[0] = "TIMETABLE@LAMAR@IG_2" // tFamilySeqAnimClips[0] = "Swine" // // tFamilySeqAnimDicts[1] = "TIMETABLE@LAMAR@IG_2" // tFamilySeqAnimClips[1] = "Smokin_Is_My_Specialty" // // tFamilySeqAnimDicts[2] = "TIMETABLE@LAMAR@IG_2" // tFamilySeqAnimClips[2] = "Bomb_As_A_Mother_Fucker" // // tFamilySeqAnimDicts[3] = "TIMETABLE@LAMAR@IG_2" // tFamilySeqAnimClips[3] = "Grill_Protien_Like_Clockwork" // // tFamilySeqAnimDicts[4] = "TIMETABLE@LAMAR@IG_2" // tFamilySeqAnimClips[4] = "Keep_On_Walkin" // // tFamilySeqAnimDicts[5] = "TIMETABLE@LAMAR@IG_2" // tFamilySeqAnimClips[5] = "You_Want_Some_of_That" // // SWITCH eFamilyMember // CASE FM_FRANKLIN_LAMAR // tFamilySeqAnimClips[0] += "_Lamar" // tFamilySeqAnimClips[1] += "_Lamar" // tFamilySeqAnimClips[2] += "_Lamar" // tFamilySeqAnimClips[3] += "_Lamar" // tFamilySeqAnimClips[4] += "_Lamar" // tFamilySeqAnimClips[5] += "_Lamar" // BREAK // CASE FM_FRANKLIN_STRETCH // tFamilySeqAnimClips[0] += "_Stretch" // tFamilySeqAnimClips[1] += "_Stretch" // tFamilySeqAnimClips[2] += "_Stretch" // tFamilySeqAnimClips[3] += "_Stretch" // tFamilySeqAnimClips[4] += "_Stretch" // tFamilySeqAnimClips[5] += "_Stretch" // BREAK // ENDSWITCH // // iFamilyAnims = 5 // // BREAK CASE FE_T0_TREVOR_and_kidnapped_wife_walk /* SWITCH eFamilyMember CASE FM_TREVOR_0_TREVOR tFamilyAnimDict = "TIMETABLE@TREVOR@IG_1" tFamilyAnimClip = "IG_1_" RETURN TRUE BREAK CASE FM_TREVOR_0_WIFE tFamilyAnimDict = "TIMETABLE@TREVOR@IG_1" tFamilyAnimClip = "IG_1_" RETURN TRUE BREAK ENDSWITCH // TIMETABLE@TREVOR@IG_1/IG_1_BASE_PATRICIA.anim // TIMETABLE@TREVOR@IG_1/IG_1_BASE_TREVOR.anim // TIMETABLE@TREVOR@IG_1/IG_1_TheDesertIsSoBeautiful_PATRICIA.anim // TIMETABLE@TREVOR@IG_1/IG_1_TheDesertIsSoBeautiful_TREVOR.anim // TIMETABLE@TREVOR@IG_1/IG_1_TheDontKnowWhy_PATRICIA.anim // TIMETABLE@TREVOR@IG_1/IG_1_TheDontKnowWhy_TREVOR.anim // TIMETABLE@TREVOR@IG_1/IG_1_ThereAreJustSomeMoments_PATRICIA.anim // TIMETABLE@TREVOR@IG_1/IG_1_ThereAreJustSomeMoments_TREVOR.anim */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = tFamilySeqAnimRoot tFamilySeqAnimClips[0] += "Base" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimClips[1] = tFamilySeqAnimRoot tFamilySeqAnimClips[1] += "TheDesertIsSoBeautiful" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimClips[2] = tFamilySeqAnimRoot tFamilySeqAnimClips[2] += "TheDontKnowWhy" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimClips[3] = tFamilySeqAnimRoot tFamilySeqAnimClips[3] += "ThereAreJustSomeMoments" SWITCH eFamilyMember CASE FM_TREVOR_0_TREVOR tFamilySeqAnimClips[0] += "_TREVOR" tFamilySeqAnimClips[1] += "_TREVOR" tFamilySeqAnimClips[2] += "_TREVOR" tFamilySeqAnimClips[3] += "_TREVOR" BREAK CASE FM_TREVOR_0_WIFE tFamilySeqAnimClips[0] += "_PATRICIA" tFamilySeqAnimClips[1] += "_PATRICIA" tFamilySeqAnimClips[2] += "_PATRICIA" tFamilySeqAnimClips[3] += "_PATRICIA" BREAK ENDSWITCH iFamilyAnims = 3 tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK CASE FE_T0_TREVOR_and_kidnapped_wife_stare /* //TIMETABLE@TREVOR@TRV_IG_2/Base_Patricia.anim //TIMETABLE@TREVOR@TRV_IG_2/Base_Trevor.anim //TIMETABLE@TREVOR@TRV_IG_2/Making_Me_Blush_Patricia.anim //TIMETABLE@TREVOR@TRV_IG_2/Making_Me_Blush_Trevor.anim //TIMETABLE@TREVOR@TRV_IG_2/Met_You_20_Years_Ago_Patricia.anim //TIMETABLE@TREVOR@TRV_IG_2/Met_You_20_Years_Ago_Trevor.anim //TIMETABLE@TREVOR@TRV_IG_2/You_Blinked_Patricia.anim //TIMETABLE@TREVOR@TRV_IG_2/You_Blinked_Trevor.anim SWITCH eFamilyMember CASE FM_TREVOR_0_TREVOR tFamilyAnimDict = "TIMETABLE@TREVOR@TRV_IG_2" tFamilyAnimClip = "" RETURN TRUE BREAK CASE FM_TREVOR_0_WIFE tFamilyAnimDict = "TIMETABLE@TREVOR@TRV_IG_2" tFamilyAnimClip = "" RETURN TRUE BREAK ENDSWITCH */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = tFamilySeqAnimRoot tFamilySeqAnimClips[0] += "Base" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimClips[1] = tFamilySeqAnimRoot tFamilySeqAnimClips[1] += "Making_Me_Blush" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimClips[2] = tFamilySeqAnimRoot tFamilySeqAnimClips[2] += "Met_You_20_Years_Ago" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimClips[3] = tFamilySeqAnimRoot tFamilySeqAnimClips[3] += "You_Blinked" SWITCH eFamilyMember CASE FM_TREVOR_0_TREVOR tFamilySeqAnimClips[0] += "_TREVOR" tFamilySeqAnimClips[1] += "_TREVOR" tFamilySeqAnimClips[2] += "_TREVOR" tFamilySeqAnimClips[3] += "_TREVOR" BREAK CASE FM_TREVOR_0_WIFE tFamilySeqAnimClips[0] += "_PATRICIA" tFamilySeqAnimClips[1] += "_PATRICIA" tFamilySeqAnimClips[2] += "_PATRICIA" tFamilySeqAnimClips[3] += "_PATRICIA" BREAK ENDSWITCH iFamilyAnims = 3 tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK /* CASE FE_T0_TREVOR_and_kidnapped_wife_laugh //TIMETABLE@TREVOR@TRV_IG_5BASE\BASE_Patricia.anim //TIMETABLE@TREVOR@TRV_IG_5BASE\BASE_Trevor.anim // //TIMETABLE@TREVOR@TRV_IG_5IDLE_A\IDLE_A_Patricia.anim //TIMETABLE@TREVOR@TRV_IG_5IDLE_A\IDLE_A_Trevor.anim SWITCH eFamilyMember CASE FM_TREVOR_0_TREVOR tFamilyAnimDict = "TIMETABLE@TREVOR@TRV_IG_5" tFamilyAnimClip = "" RETURN TRUE BREAK CASE FM_TREVOR_0_WIFE tFamilyAnimDict = "TIMETABLE@TREVOR@TRV_IG_5" tFamilyAnimClip = "" RETURN TRUE BREAK ENDSWITCH tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimDicts[0] += "BASE" tFamilySeqAnimClips[0] = "BASE" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimDicts[1] += "IDLE_A" tFamilySeqAnimClips[1] = "IDLE_A" SWITCH eFamilyMember CASE FM_TREVOR_0_TREVOR tFamilySeqAnimClips[0] += "_TREVOR" tFamilySeqAnimClips[1] += "_TREVOR" BREAK CASE FM_TREVOR_0_WIFE tFamilySeqAnimClips[0] += "_PATRICIA" tFamilySeqAnimClips[1] += "_PATRICIA" BREAK ENDSWITCH iFamilyAnims = 1 tFamilySeqAnimDicts[2] = "" tFamilySeqAnimDicts[3] = "" tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK */ CASE FE_T0_KIDNAPPED_WIFE_talks_to_Michael /* //TIMETABLE@PATRICIA@PAT_IG_3@/ALT_1/ALT_1_Michael.anim //TIMETABLE@PATRICIA@PAT_IG_3@/ALT_1/ALT_1_Patricia.anim //TIMETABLE@PATRICIA@PAT_IG_3@/ALT_2/ALT_2_Michael.anim //TIMETABLE@PATRICIA@PAT_IG_3@/ALT_2/ALT_2_Patricia.anim //TIMETABLE@PATRICIA@PAT_IG_3@/BASE/BASE_Michael.anim //TIMETABLE@PATRICIA@PAT_IG_3@/BASE/BASE_Patricia.anim //TIMETABLE@PATRICIA@PAT_IG_3@/PAT_IG_3_Michael.anim //TIMETABLE@PATRICIA@PAT_IG_3@/PAT_IG_3_Patricia.anim */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimClips[0] = "PAT_IG_3" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimDicts[1] += "BASE" tFamilySeqAnimClips[1] = "BASE" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimDicts[2] += "ALT_1" tFamilySeqAnimClips[2] = "ALT_1" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimDicts[3] += "ALT_2" tFamilySeqAnimClips[3] = "ALT_2" SWITCH eFamilyMember CASE FM_TREVOR_0_WIFE tFamilySeqAnimClips[0] += "_PATRICIA" tFamilySeqAnimClips[1] += "_PATRICIA" tFamilySeqAnimClips[2] += "_PATRICIA" tFamilySeqAnimClips[3] += "_PATRICIA" BREAK CASE FM_TREVOR_0_MICHAEL tFamilySeqAnimClips[0] += "_MICHAEL" tFamilySeqAnimClips[1] += "_MICHAEL" tFamilySeqAnimClips[2] += "_MICHAEL" tFamilySeqAnimClips[3] += "_MICHAEL" BREAK ENDSWITCH iFamilyAnims = 3 fBlendInDelta = INSTANT_BLEND_IN fBlendOutDelta = INSTANT_BLEND_OUT tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK CASE FE_T1_FLOYD_cleaning /* tFamilyAnimDict = "TIMETABLE@FLOYD@CRYINGONBED" tFamilyAnimClip = "" //TIMETABLE@FLOYD@CRYINGONBED@BASE/Base //TIMETABLE@FLOYD@CRYINGONBED@IDLE_A/Idle_a //TIMETABLE@FLOYD@CRYINGONBED@IDLE_A/Idle_b //TIMETABLE@FLOYD@CRYINGONBED@IDLE_A/Idle_c */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimDicts[0] += "@BASE" tFamilySeqAnimClips[0] = "Base" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimDicts[1] += "@IDLE_A" tFamilySeqAnimClips[1] = "Idle_a" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimDicts[2] += "@IDLE_A" tFamilySeqAnimClips[2] = "Idle_b" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimDicts[3] += "@IDLE_A" tFamilySeqAnimClips[3] = "Idle_c" iFamilyAnims = 3 tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK CASE FE_T1_FLOYD_cries_in_foetal_position /* tFamilyAnimDict = "TIMETABLE@FLOYD@CRYINGONBED" tFamilyAnimClip = "" //TIMETABLE@FLOYD@CRYINGONBED@BASE/Base //TIMETABLE@FLOYD@CRYINGONBED@IDLE_A/Idle_a //TIMETABLE@FLOYD@CRYINGONBED@IDLE_A/Idle_b //TIMETABLE@FLOYD@CRYINGONBED@IDLE_A/Idle_c */ tFamilySeqAnimDicts[0] = tFamilySeqAnimDict tFamilySeqAnimDicts[0] += "@BASE" tFamilySeqAnimClips[0] = "Base" tFamilySeqAnimDicts[1] = tFamilySeqAnimDict tFamilySeqAnimDicts[1] += "@IDLE_A" tFamilySeqAnimClips[1] = "Idle_a" tFamilySeqAnimDicts[2] = tFamilySeqAnimDict tFamilySeqAnimDicts[2] += "@IDLE_A" tFamilySeqAnimClips[2] = "Idle_b" tFamilySeqAnimDicts[3] = tFamilySeqAnimDict tFamilySeqAnimDicts[3] += "@IDLE_A" tFamilySeqAnimClips[3] = "Idle_c" iFamilyAnims = 3 tFamilySeqAnimDicts[4] = "" tFamilySeqAnimDicts[5] = "" BREAK DEFAULT #IF IS_DEBUG_BUILD CPRINTLN(DEBUG_FAMILY, "invalid eFamilyEvent ", Get_String_From_FamilyEvent(eFamilyEvent), " in PRIVATE_Update_Family_AnimArray()") SCRIPT_ASSERT("invalid eFamilyEvent in PRIVATE_Get_Family_AnimArray()") #ENDIF iFamilyAnims = -1 RETURN FALSE BREAK ENDSWITCH ENDIF RETURN TRUE ENDFUNC FUNC BOOL PRIVATE_Update_Family_AnimArray(PED_INDEX PedIndex, enumFamilyMember eFamilyMember, enumFamilyEvents eFamilyEvent, TEXT_LABEL_63 &tAnimDict, TEXT_LABEL_63 &tAnimClip, VECTOR vSequencePos, FLOAT fSequenceHead) TEXT_LABEL_63 tFamilySeqAnimDicts[6], tFamilySeqAnimClips[6] INT iFamilyAnims FLOAT fBlendInDelta, fBlendOutDelta ANIMATION_FLAGS eFamilyAnimFlag IF PRIVATE_Get_Family_AnimArray(eFamilyMember, eFamilyEvent, tFamilySeqAnimDicts, tFamilySeqAnimClips, iFamilyAnims, fBlendInDelta, fBlendOutDelta, eFamilyAnimFlag) VECTOR vShitOffset FLOAT fShitHead IF PRIVATE_Get_FamilyMember_Init_Offset(eFamilyMember, eFamilyEvent, vShitOffset, fShitHead) IK_CONTROL_FLAGS ikFlags PRIVATE_Get_FamilyMember_Anim_Ik_Control_Flags(eFamilyMember, eFamilyEvent, ikFlags) CONST_FLOAT fCONST_Anim_Almost_Finished 0.99 BOOL bFound = FALSE IF NOT bFound IF NOT IS_STRING_NULL_OR_EMPTY(tAnimDict) IF IS_ENTITY_PLAYING_ANIM(PedIndex, tAnimDict, tAnimClip, ANIM_SCRIPT) // FLOAT fAnimCurrentTime = GET_ENTITY_ANIM_CURRENT_TIME(PedIndex, tAnimDict, tAnimClip) #IF IS_DEBUG_BUILD TEXT_LABEL_63 str str = ("anim[") // str += (iClip) str += ("]: ") str += (tAnimClip) str += (", ") str += GET_STRING_FROM_FLOAT(fAnimCurrentTime) DrawDebugFamilyTextWithOffset(str, GET_ENTITY_COORDS(PedIndex, FALSE), 2, HUD_COLOUR_GREEN) #ENDIF IF (fAnimCurrentTime >= fCONST_Anim_Almost_Finished) PRIVATE_TaskPlayAnimArrayAdvanced(PedIndex, tFamilySeqAnimDicts, tFamilySeqAnimClips, iFamilyAnims, vSequencePos+vShitOffset, <<0,0,fSequenceHead+fShitHead>>, tAnimDict, tAnimClip, fBlendInDelta, fBlendOutDelta, -1, eFamilyAnimFlag, DEFAULT, DEFAULT, ikFlags) ENDIF bFound = TRUE ENDIF ENDIF ENDIF IF NOT bFound #IF IS_DEBUG_BUILD TEXT_LABEL_63 str str = ("anim[max]: ") str += (tAnimClip) str += (", ") str += (" NONE") DrawDebugFamilyTextWithOffset(str, GET_ENTITY_COORDS(PedIndex, FALSE), 2, HUD_COLOUR_GREEN) #ENDIF PRIVATE_TaskPlayAnimArrayAdvanced(PedIndex, tFamilySeqAnimDicts, tFamilySeqAnimClips, iFamilyAnims, vSequencePos+vShitOffset, <<0,0,fSequenceHead+fShitHead>>, tAnimDict, tAnimClip, fBlendInDelta, fBlendOutDelta, -1, eFamilyAnimFlag, DEFAULT, DEFAULT, ikFlags) ENDIF ENDIF IF NOT IS_STRING_NULL_OR_EMPTY(tAnimDict) RETURN IS_ENTITY_PLAYING_ANIM(PedIndex, tAnimDict, tAnimClip) ENDIF RETURN FALSE ENDIF tAnimDict = "" tAnimClip = "" RETURN FALSE ENDFUNC FUNC BOOL PRIVATE_TaskSynchSceneArray(PED_INDEX PedIndex, INT iScene, TEXT_LABEL_63 &tFamilySynchDicts[], TEXT_LABEL_63 &tFamilySynchClips[], INT iFamilySynchs, TEXT_LABEL_63 &tSynchDict, TEXT_LABEL_63 &tSynchClip, FLOAT blendInDelta, FLOAT blendOutDelta, SYNCED_SCENE_PLAYBACK_FLAGS flags = SYNCED_SCENE_USE_PHYSICS, RAGDOLL_BLOCKING_FLAGS ragdollFlags = RBF_PLAYER_IMPACT, FLOAT moverBlendInDelta = INSTANT_BLEND_IN, IK_CONTROL_FLAGS ikFlags = AIK_NONE) INT iMAX_FamilySynchs = iFamilySynchs IF NOT IS_STRING_NULL_OR_EMPTY(tSynchDict) AND NOT IS_STRING_NULL_OR_EMPTY(tSynchClip) CPRINTLN(DEBUG_FAMILY, "old synch scene: \"", tSynchDict, "\", \"", tSynchClip, "\"") IF (iMAX_FamilySynchs <= 0) CPRINTLN(DEBUG_FAMILY, "zero synch scene: \"", tSynchDict, "\", \"", tSynchClip, "\"") ELSE INT iSynchs REPEAT (iFamilySynchs+1) iSynchs CPRINTLN(DEBUG_FAMILY, " synch scene[", iSynchs, "]: \"", tFamilySynchDicts[iSynchs], "\", \"", tFamilySynchClips[iSynchs], "\"") IF ARE_STRINGS_EQUAL(tSynchDict, tFamilySynchDicts[iSynchs]) AND ARE_STRINGS_EQUAL(tSynchClip, tFamilySynchClips[iSynchs]) INT iNewSynchs FOR iNewSynchs = iSynchs TO COUNT_OF(tFamilySynchDicts)-1 IF ((iNewSynchs+1) < COUNT_OF(tFamilySynchDicts)) tFamilySynchDicts[iNewSynchs] = tFamilySynchDicts[iNewSynchs+1] tFamilySynchClips[iNewSynchs] = tFamilySynchClips[iNewSynchs+1] ELSE tFamilySynchDicts[iNewSynchs] = "" tFamilySynchClips[iNewSynchs] = "" ENDIF ENDFOR iMAX_FamilySynchs-- ENDIF ENDREPEAT CPRINTLN(DEBUG_FAMILY, "") ENDIF ENDIF INT iSynchName = GET_RANDOM_INT_IN_RANGE(0, iMAX_FamilySynchs+1) TEXT_LABEL_63 pSynchDictName = tFamilySynchDicts[iSynchName] TEXT_LABEL_63 pSynchClipName = tFamilySynchClips[iSynchName] IF NOT IS_STRING_NULL_OR_EMPTY(pSynchDictName) REQUEST_ANIM_DICT(pSynchDictName) IF NOT HAS_ANIM_DICT_LOADED(pSynchDictName) #IF IS_DEBUG_BUILD CPRINTLN(DEBUG_FAMILY, "PRIVATE_TaskSynchSceneArray anim dict not loaded(\"", pSynchDictName, "\")") #ENDIF REQUEST_ANIM_DICT(pSynchDictName) ELSE IF IS_BITMASK_ENUM_AS_ENUM_SET(flags, SYNCED_SCENE_USE_PHYSICS) SET_RAGDOLL_BLOCKING_FLAGS(PedIndex, RBF_PLAYER_IMPACT) SET_PED_CAN_EVASIVE_DIVE(PedIndex, FALSE) SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(pedIndex, TRUE) ENDIF #IF IS_DEBUG_BUILD TEXT_LABEL sBlendInDelta, sBlendOutDelta IF blendInDelta = WALK_BLEND_IN sBlendInDelta = "WALK" ELIF blendInDelta = REALLY_SLOW_BLEND_IN sBlendInDelta = "REALLY_SLOW" ELIF blendInDelta = SLOW_BLEND_IN sBlendInDelta = "SLOW" ELIF blendInDelta = NORMAL_BLEND_IN sBlendInDelta = "NORMAL" ELIF blendInDelta = FAST_BLEND_IN sBlendInDelta = "FAST" ELIF blendInDelta = INSTANT_BLEND_IN sBlendInDelta = "INSTANT" ELSE sBlendInDelta = ROUND(blendInDelta) ENDIF IF blendOutDelta = WALK_BLEND_OUT sBlendOutDelta = "WALK" ELIF blendOutDelta = REALLY_SLOW_BLEND_OUT sBlendOutDelta = "REALLY_SLOW" ELIF blendOutDelta = SLOW_BLEND_OUT sBlendOutDelta = "SLOW" ELIF blendOutDelta = NORMAL_BLEND_OUT sBlendOutDelta = "NORMAL" ELIF blendOutDelta = FAST_BLEND_OUT sBlendOutDelta = "FAST" ELIF blendOutDelta = INSTANT_BLEND_OUT sBlendOutDelta = "INSTANT" ELSE sBlendOutDelta = ROUND(blendOutDelta) ENDIF CPRINTLN(DEBUG_FAMILY, "PRIVATE_TaskSynchSceneArray(PedIndex, \"", pSynchDictName, "\", \"", pSynchClipName, "\": ", iSynchName, ", blendInDelta:", sBlendInDelta, ", blendOutDelta: ", sBlendOutDelta, ")") #ENDIF SET_SYNCHRONIZED_SCENE_PHASE(iScene, 0.0) TASK_SYNCHRONIZED_SCENE(PedIndex, iScene, pSynchDictName, pSynchClipName, blendInDelta, blendOutDelta, flags, ragdollFlags, moverBlendInDelta, ikFlags) SET_FORCE_FOOTSTEP_UPDATE(PedIndex, TRUE) SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(PedIndex, TRUE) SET_SYNCHRONIZED_SCENE_LOOPED(iScene, FALSE) tSynchDict = pSynchDictName tSynchClip = pSynchClipName RETURN TRUE ENDIF ELSE #IF IS_DEBUG_BUILD CPRINTLN(DEBUG_FAMILY, "PRIVATE_TaskSynchSceneArray(PedIndex, \"", "null", "\": ", iSynchName, ")") #ENDIF ENDIF RETURN FALSE ENDFUNC PROC PRIVATE_TaskSynchSceneArrayMatch(PED_INDEX PedIndex, INT iScene, TEXT_LABEL_63 &tFamilySynchDicts[], TEXT_LABEL_63 &tFamilySynchClips[], INT iFamilySynchs, TEXT_LABEL_63 &tSynchDict, TEXT_LABEL_63 &tSynchClip, TEXT_LABEL_63 tMatchClip, STRING sMatchTail, FLOAT blendInDelta, FLOAT blendOutDelta, SYNCED_SCENE_PLAYBACK_FLAGS flags = SYNCED_SCENE_USE_PHYSICS, RAGDOLL_BLOCKING_FLAGS ragdollFlags = RBF_PLAYER_IMPACT, FLOAT moverBlendInDelta = INSTANT_BLEND_IN, IK_CONTROL_FLAGS ikFlags = AIK_NONE) // INT iMAX_FamilySynchs = iFamilySynchs INT iSynchName = -1 //= GET_RANDOM_INT_IN_RANGE(0, iMAX_FamilySynchs+1) IF /*NOT IS_STRING_NULL_OR_EMPTY(tSynchDict) AND*/ NOT IS_STRING_NULL_OR_EMPTY(tMatchClip) INT iMatchClip_length = GET_LENGTH_OF_LITERAL_STRING(tMatchClip) INT iMatchTail_length = GET_LENGTH_OF_LITERAL_STRING(sMatchTail) INT iMatchBody_length = iMatchClip_length - iMatchTail_length TEXT_LABEL_63 tMatchBody = GET_CHARACTER_FROM_AUDIO_CONVERSATION_FILENAME(tMatchClip, 0, iMatchBody_length) CPRINTLN(DEBUG_FAMILY, "matchup synch scene: \"", tSynchDict, "\", \"", tMatchClip, "\" - \"", tMatchBody, "\" & \"", sMatchTail, "\"") INT iSynchs REPEAT (iFamilySynchs+1) iSynchs // CPRINTLN(DEBUG_FAMILY, " GET_CHARACTER_FROM_AUDIO_CONVERSATION_FILENAME(\"") // CPRINTLN(DEBUG_FAMILY, tFamilySynchClips[iSynchs]) // CPRINTLN(DEBUG_FAMILY, "\", ") // CPRINTLN(DEBUG_FAMILY, 0) // CPRINTLN(DEBUG_FAMILY, ", ") // CPRINTLN(DEBUG_FAMILY, iMatchBody_length) // CPRINTLN(DEBUG_FAMILY, ")") // cprintlnNL() INT iMatchBody_storedLength = iMatchBody_length INT iFamilySynchClip_length = GET_LENGTH_OF_LITERAL_STRING(tFamilySynchClips[iSynchs]) IF (iMatchBody_storedLength > iFamilySynchClip_length) iMatchBody_storedLength = iFamilySynchClip_length ENDIF TEXT_LABEL_63 tFamilySynchBody = GET_CHARACTER_FROM_AUDIO_CONVERSATION_FILENAME(tFamilySynchClips[iSynchs], 0, iMatchBody_storedLength) CPRINTLN(DEBUG_FAMILY, " match synch scene[", iSynchs, "]: \"", tFamilySynchDicts[iSynchs], "\", \"", tFamilySynchClips[iSynchs], "\"") IF ARE_STRINGS_EQUAL(tMatchBody, tFamilySynchBody) iSynchName = iSynchs CPRINTLN(DEBUG_FAMILY, " MATCH", " \"", tMatchBody, "\" = \"", tFamilySynchBody, "\"") ELSE CPRINTLN(DEBUG_FAMILY, " doesn't match", " \"", tMatchBody, "\" <> \"", tFamilySynchBody, "\"") ENDIF CPRINTLN(DEBUG_FAMILY, "") // // IF ARE_STRINGS_EQUAL(tSynchDict, tFamilySynchDicts[iSynchs]) // AND ARE_STRINGS_EQUAL(tSynchClip, tFamilySynchClips[iSynchs]) // // INT iNewSynchs // FOR iNewSynchs = iSynchs TO COUNT_OF(tFamilySynchDicts)-1 // tFamilySynchDicts[iSynchs] = tFamilySynchDicts[iSynchs+1] // tFamilySynchClips[iSynchs] = tFamilySynchClips[iSynchs+1] // ENDFOR // // iMAX_FamilySynchs-- // ENDIF ENDREPEAT CPRINTLN(DEBUG_FAMILY, "") ELSE CPRINTLN(DEBUG_FAMILY, "tMatchClip \"", tMatchClip, "\" null") EXIT ENDIF IF (iSynchName = -1) CPRINTLN(DEBUG_FAMILY, "iSynchName = -1") EXIT ENDIF TEXT_LABEL_63 pSynchDictName = tFamilySynchDicts[iSynchName] TEXT_LABEL_63 pSynchClipName = tFamilySynchClips[iSynchName] IF NOT IS_STRING_NULL_OR_EMPTY(pSynchDictName) REQUEST_ANIM_DICT(pSynchDictName) IF NOT HAS_ANIM_DICT_LOADED(pSynchDictName) #IF IS_DEBUG_BUILD CPRINTLN(DEBUG_FAMILY, "PRIVATE_TaskSynchSceneArrayMatch anim dict not loaded(\"", pSynchDictName, "\")") #ENDIF REQUEST_ANIM_DICT(pSynchDictName) ELSE IF IS_BITMASK_ENUM_AS_ENUM_SET(ragdollFlags, SYNCED_SCENE_USE_PHYSICS) SET_RAGDOLL_BLOCKING_FLAGS(PedIndex, RBF_PLAYER_IMPACT) SET_PED_CAN_EVASIVE_DIVE(PedIndex, FALSE) SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(pedIndex, TRUE) ENDIF IF NOT IS_BITMASK_ENUM_AS_ENUM_SET(ragdollFlags, SYNCED_SCENE_LOOP_WITHIN_SCENE) SET_BITMASK_ENUM_AS_ENUM(ragdollFlags, SYNCED_SCENE_LOOP_WITHIN_SCENE) ENDIF #IF IS_DEBUG_BUILD TEXT_LABEL sBlendInDelta, sBlendOutDelta IF blendInDelta = WALK_BLEND_IN sBlendInDelta = "WALK" ELIF blendInDelta = REALLY_SLOW_BLEND_IN sBlendInDelta = "REALLY_SLOW" ELIF blendInDelta = SLOW_BLEND_IN sBlendInDelta = "SLOW" ELIF blendInDelta = NORMAL_BLEND_IN sBlendInDelta = "NORMAL" ELIF blendInDelta = FAST_BLEND_IN sBlendInDelta = "FAST" ELIF blendInDelta = INSTANT_BLEND_IN sBlendInDelta = "INSTANT" ELSE sBlendInDelta = ROUND(blendInDelta) ENDIF IF blendOutDelta = WALK_BLEND_OUT sBlendOutDelta = "WALK" ELIF blendOutDelta = REALLY_SLOW_BLEND_OUT sBlendOutDelta = "REALLY_SLOW" ELIF blendOutDelta = SLOW_BLEND_OUT sBlendOutDelta = "SLOW" ELIF blendOutDelta = NORMAL_BLEND_OUT sBlendOutDelta = "NORMAL" ELIF blendOutDelta = FAST_BLEND_OUT sBlendOutDelta = "FAST" ELIF blendOutDelta = INSTANT_BLEND_OUT sBlendOutDelta = "INSTANT" ELSE sBlendOutDelta = ROUND(blendOutDelta) ENDIF CPRINTLN(DEBUG_FAMILY, "PRIVATE_TaskSynchSceneArrayMatch(PedIndex, \"", pSynchDictName, "\", \"", pSynchClipName, "\": ", iSynchName, ", blendInDelta:", sBlendInDelta, ", blendOutDelta: ", sBlendOutDelta, ")") #ENDIF TASK_SYNCHRONIZED_SCENE(PedIndex, iScene, pSynchDictName, pSynchClipName, blendInDelta, blendOutDelta, flags, ragdollFlags, moverBlendInDelta, ikFlags) SET_FORCE_FOOTSTEP_UPDATE(PedIndex, TRUE) SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(PedIndex, TRUE) // SET_SYNCHRONIZED_SCENE_LOOPED(iScene, FALSE) tSynchDict = pSynchDictName tSynchClip = pSynchClipName ENDIF ELSE #IF IS_DEBUG_BUILD CPRINTLN(DEBUG_FAMILY, "PRIVATE_TaskSynchSceneArrayMatch(PedIndex, \"", "null", "\": ", iSynchName, ")") #ENDIF ENDIF ENDPROC FUNC BOOL PRIVATE_Update_Family_SynchSceneArray(PED_INDEX PedIndex, enumFamilyMember eFamilyMember, enumFamilyEvents eFamilyEvent, TEXT_LABEL_63 &tSynchDict, TEXT_LABEL_63 &tSynchClip, VECTOR vFamilyScenePos, FLOAT fFamilySceneHead, INT &iScene, bool loop, bool holdLastFrame) TEXT_LABEL_63 tFamilySeqSyncDicts[6], tFamilySeqSyncClips[6] INT iFamilySynchs BOOL bSceneSuccessfullyStarted FLOAT blendInDelta, blendOutDelta ANIMATION_FLAGS eFamilySyncFlag VECTOR vSynchSceneOffset FLOAT fSynchSceneHead IF PRIVATE_Get_Family_AnimArray(eFamilyMember, eFamilyEvent, tFamilySeqSyncDicts, tFamilySeqSyncClips, iFamilySynchs, blendInDelta, blendOutDelta, eFamilySyncFlag) AND PRIVATE_Get_FamilyMember_Init_Offset(eFamilyMember, eFamilyEvent, vSynchSceneOffset, fSynchSceneHead) #IF IS_DEBUG_BUILD TEXT_LABEL_63 str HUD_COLOURS SynchSceneHudColour = HUD_COLOUR_PINK #ENDIF SYNCED_SCENE_PLAYBACK_FLAGS flags = SYNCED_SCENE_USE_PHYSICS RAGDOLL_BLOCKING_FLAGS ragdollFlags = RBF_PLAYER_IMPACT FLOAT moverBlendInDelta = INSTANT_BLEND_IN IK_CONTROL_FLAGS ikFlags = AIK_NONE PRIVATE_Get_FamilyMember_Anim_Ik_Control_Flags(eFamilyMember, eFamilyEvent, ikFlags) IF IS_BITMASK_ENUM_AS_ENUM_SET(eFamilySyncFlag, AF_NOT_INTERRUPTABLE) SET_BITMASK_ENUM_AS_ENUM(flags, SYNCED_SCENE_DONT_INTERRUPT) ENDIF IF NOT IS_SYNCHRONIZED_SCENE_RUNNING(iScene) CPRINTLN(DEBUG_FAMILY, "NOT IS_SYNCHRONIZED_SCENE_RUNNING(PedIndex, \"", tSynchDict, "\", \"", tSynchClip, "\") //id: ", iScene) IF (eFamilyEvent = FE_T1_FLOYD_cries_in_foetal_position) blendInDelta = INSTANT_BLEND_IN moverBlendInDelta = blendInDelta // blendOutDelta = INSTANT_BLEND_OUT ELIF (eFamilyEvent = FE_M_WIFE_gets_drink_in_kitchen) blendInDelta = REALLY_SLOW_BLEND_IN moverBlendInDelta = blendInDelta // blendOutDelta = INSTANT_BLEND_OUT ELIF (eFamilyEvent = FE_M_SON_sleeping) blendInDelta = INSTANT_BLEND_IN moverBlendInDelta = blendInDelta blendOutDelta = INSTANT_BLEND_OUT ELIF (eFamilyEvent = FE_T0_TREVOR_and_kidnapped_wife_stare) blendInDelta = INSTANT_BLEND_IN moverBlendInDelta = blendInDelta blendOutDelta = INSTANT_BLEND_OUT ELIF (eFamilyEvent = FE_T0_TREVOR_passed_out_naked_drunk) blendInDelta = INSTANT_BLEND_IN moverBlendInDelta = blendInDelta blendOutDelta = INSTANT_BLEND_OUT ELSE blendInDelta = SLOW_BLEND_IN moverBlendInDelta = INSTANT_BLEND_IN // blendOutDelta = INSTANT_BLEND_OUT ENDIF REQUEST_ANIM_DICT(tFamilySeqSyncDicts[0]) IF NOT HAS_ANIM_DICT_LOADED(tFamilySeqSyncDicts[0]) #IF IS_DEBUG_BUILD str = ("requesting dict \"") INT iTaunterAnimOutLength iTaunterAnimOutLength = GET_LENGTH_OF_LITERAL_STRING(tFamilySeqSyncDicts[0]) IF iTaunterAnimOutLength >= 10 str += GET_STRING_FROM_STRING(tFamilySeqSyncDicts[0], iTaunterAnimOutLength - 10, iTaunterAnimOutLength) ELSE str += tFamilySeqSyncDicts[0] ENDIF str += ("\" for synch scene ") str += (iScene) DrawDebugFamilyTextWithOffset(str, GET_ENTITY_COORDS(PedIndex, FALSE), 2, SynchSceneHudColour) #ENDIF RETURN FALSE ENDIF IF (iScene > 0) iScene = -1 ENDIF iScene = CREATE_SYNCHRONIZED_SCENE(vFamilyScenePos+vSynchSceneOffset, <<0,0,fFamilySceneHead+fSynchSceneHead>>) SET_SYNCHRONIZED_SCENE_LOOPED(iScene, loop) SET_SYNCHRONIZED_SCENE_HOLD_LAST_FRAME(iScene, holdLastFrame) bSceneSuccessfullyStarted = PRIVATE_TaskSynchSceneArray(PedIndex, iScene, tFamilySeqSyncDicts, tFamilySeqSyncClips, iFamilySynchs, tSynchDict, tSynchClip, blendInDelta, blendOutDelta, flags, ragdollFlags, moverBlendInDelta, ikFlags) #IF IS_DEBUG_BUILD str = ("creating SynchScene \"") INT iTaunterAnimOutLength iTaunterAnimOutLength = GET_LENGTH_OF_LITERAL_STRING(tSynchClip) IF iTaunterAnimOutLength >= 18 str += GET_STRING_FROM_STRING(tSynchClip, iTaunterAnimOutLength - 18, iTaunterAnimOutLength) ELSE str += tSynchClip ENDIF str += ("\" ") str += (iScene) DrawDebugFamilyTextWithOffset(str, GET_ENTITY_COORDS(PedIndex, FALSE), 2, SynchSceneHudColour) #ENDIF RETURN bSceneSuccessfullyStarted ENDIF IF NOT IS_ENTITY_PLAYING_ANIM(PedIndex, tSynchDict, tSynchClip, ANIM_SYNCED_SCENE) CPRINTLN(DEBUG_FAMILY, "NOT IS_ENTITY_PLAYING_ANIM(PedIndex, \"", tSynchDict, "\", \"", tSynchClip, "\", ANIM_SYNCED_SCENE)") IF NOT PRIVATE_TaskSynchSceneArray(PedIndex, iScene, tFamilySeqSyncDicts, tFamilySeqSyncClips, iFamilySynchs, tSynchDict, tSynchClip, blendInDelta, INSTANT_BLEND_OUT, flags, ragdollFlags, moverBlendInDelta, ikFlags) SET_SYNCHRONIZED_SCENE_HOLD_LAST_FRAME(iScene, TRUE) #IF IS_DEBUG_BUILD str = ("tasking SynchScene \"") str += (tSynchClip) str += ("\"") DrawDebugFamilyTextWithOffset(str, GET_ENTITY_COORDS(PedIndex, FALSE), 2, SynchSceneHudColour) #ENDIF RETURN FALSE ENDIF SET_SYNCHRONIZED_SCENE_LOOPED(iScene, loop) SET_SYNCHRONIZED_SCENE_HOLD_LAST_FRAME(iScene, holdLastFrame) ENDIF #IF IS_DEBUG_BUILD str = ("SynchScene[] \"") str += (tSynchDict) str += ("\" id:") str += iScene DrawDebugFamilyTextWithOffset(str, GET_ENTITY_COORDS(PedIndex, FALSE), 2, SynchSceneHudColour) str = (tSynchClip) str += (":") str += GET_STRING_FROM_FLOAT(GET_SYNCHRONIZED_SCENE_PHASE(iScene)) DrawDebugFamilyTextWithOffset(str, GET_ENTITY_COORDS(PedIndex, FALSE), 3, SynchSceneHudColour) str = ("loop: ") IF loop str += ("TRUE") ELSE str += ("FALSE") ENDIF str += (", holdLastFrame: ") IF holdLastFrame str += ("TRUE") ELSE str += ("FALSE") ENDIF DrawDebugFamilyTextWithOffset(str, GET_ENTITY_COORDS(PedIndex, FALSE), 4, SynchSceneHudColour) #ENDIF // IF loop IF holdLastFrame IF (GET_SYNCHRONIZED_SCENE_PHASE(iScene) >= 0.999) PRIVATE_TaskSynchSceneArray(PedIndex, iScene, tFamilySeqSyncDicts, tFamilySeqSyncClips, iFamilySynchs, tSynchDict, tSynchClip, INSTANT_BLEND_IN, INSTANT_BLEND_OUT, flags, ragdollFlags, INSTANT_BLEND_IN, ikFlags) ENDIF ENDIF // ENDIF RETURN TRUE ENDIF #IF IS_DEBUG_BUILD CPRINTLN(DEBUG_FAMILY, "invalid eFamilyEvent ", Get_String_From_FamilyEvent(eFamilyEvent), " in PRIVATE_Update_Family_SynchSceneArray()") SCRIPT_ASSERT("invalid eFamilyEvent in PRIVATE_Update_Family_SynchSceneArray()") #ENDIF RETURN FALSE ENDFUNC FUNC BOOL PRIVATE_Update_Family_SynchSceneArrayMatch(PED_INDEX PedIndex, enumFamilyMember eFamilyMember, enumFamilyEvents eFamilyEvent, TEXT_LABEL_63 &tSynchDict, TEXT_LABEL_63 &tSynchClip, TEXT_LABEL_63 tMatchClip, STRING sMatchTail, INT &iScene) TEXT_LABEL_63 tFamilySeqSyncDicts[6], tFamilySeqSyncClips[6] INT iFamilySynchs FLOAT blendInDelta, blendOutDelta ANIMATION_FLAGS eFamilySyncFlag VECTOR vSynchSceneOffset FLOAT fSynchSceneHead IF PRIVATE_Get_Family_AnimArray(eFamilyMember, eFamilyEvent, tFamilySeqSyncDicts, tFamilySeqSyncClips, iFamilySynchs, blendInDelta, blendOutDelta, eFamilySyncFlag) AND PRIVATE_Get_FamilyMember_Init_Offset(eFamilyMember, eFamilyEvent, vSynchSceneOffset, fSynchSceneHead) #IF IS_DEBUG_BUILD TEXT_LABEL_63 str HUD_COLOURS SynchSceneHudColour = HUD_COLOUR_PINK #ENDIF SYNCED_SCENE_PLAYBACK_FLAGS flags = SYNCED_SCENE_USE_PHYSICS RAGDOLL_BLOCKING_FLAGS ragdollFlags = RBF_PLAYER_IMPACT FLOAT moverBlendInDelta = INSTANT_BLEND_IN IK_CONTROL_FLAGS ikFlags = AIK_NONE PRIVATE_Get_FamilyMember_Anim_Ik_Control_Flags(eFamilyMember, eFamilyEvent, ikFlags) IF IS_BITMASK_ENUM_AS_ENUM_SET(eFamilySyncFlag, AF_NOT_INTERRUPTABLE) SET_BITMASK_ENUM_AS_ENUM(flags, SYNCED_SCENE_DONT_INTERRUPT) ENDIF IF NOT IS_SYNCHRONIZED_SCENE_RUNNING(iScene) // // IF (iScene > 0) // DETACH_SYNCHRONIZED_SCENE(iScene) // iScene = -1 // ENDIF // // iScene = CREATE_SYNCHRONIZED_SCENE(vFamilyScenePos+vSynchSceneOffset, <<0,0,fFamilySceneHead+fSynchSceneHead>>) // // SET_SYNCHRONIZED_SCENE_LOOPED(iScene, loop) // SET_SYNCHRONIZED_SCENE_HOLD_LAST_FRAME(iScene, holdLastFrame) // // PRIVATE_TaskSynchSceneArray(PedIndex, iScene, // tFamilySeqSyncDicts, tFamilySeqSyncClips, iFamilySynchs, // tSynchDict, tSynchClip, // blendInDelta, blendOutDelta, flags, ragdollFlags, moverBlendInDelta, ikFlags) // #IF IS_DEBUG_BUILD str = ("creating SynchScene \"") str += (tSynchClip) str += ("\" ") str += (iScene) DrawDebugFamilyTextWithOffset(str, GET_ENTITY_COORDS(PedIndex, FALSE), 2, SynchSceneHudColour) #ENDIF RETURN FALSE ENDIF IF NOT IS_ENTITY_PLAYING_ANIM(PedIndex, tSynchDict, tSynchClip, ANIM_SYNCED_SCENE) OR GET_SYNCHRONIZED_SCENE_PHASE(iScene) <= 0.001 PRIVATE_TaskSynchSceneArrayMatch(PedIndex, iScene, tFamilySeqSyncDicts, tFamilySeqSyncClips, iFamilySynchs, tSynchDict, tSynchClip, tMatchClip, sMatchTail, blendInDelta, blendOutDelta, flags, ragdollFlags, moverBlendInDelta, ikFlags) #IF IS_DEBUG_BUILD str = ("tasking SynchScene \"") INT iTaunterAnimOutLength iTaunterAnimOutLength = GET_LENGTH_OF_LITERAL_STRING(tSynchClip) IF iTaunterAnimOutLength >= 15 str += GET_STRING_FROM_STRING(tSynchClip, iTaunterAnimOutLength - 15, iTaunterAnimOutLength) ELSE str += tSynchClip ENDIF str += ("\"") DrawDebugFamilyTextWithOffset(str, GET_ENTITY_COORDS(PedIndex, FALSE), 2, SynchSceneHudColour) #ENDIF RETURN FALSE ENDIF #IF IS_DEBUG_BUILD str = ("SynchMatch[] \"") str += (tSynchDict) str += ("\" id:") str += iScene DrawDebugFamilyTextWithOffset(str, GET_ENTITY_COORDS(PedIndex, FALSE), 2, SynchSceneHudColour) str = (tSynchClip) str += (":") str += GET_STRING_FROM_FLOAT(GET_SYNCHRONIZED_SCENE_PHASE(iScene)) DrawDebugFamilyTextWithOffset(str, GET_ENTITY_COORDS(PedIndex, FALSE), 3, SynchSceneHudColour) str = ("match: \"") str += tMatchClip str += ("\"") DrawDebugFamilyTextWithOffset(str, GET_ENTITY_COORDS(PedIndex, FALSE), 4, HUD_COLOUR_GREEN) #ENDIF RETURN TRUE ENDIF #IF IS_DEBUG_BUILD CPRINTLN(DEBUG_FAMILY, "invalid eFamilyEvent ", Get_String_From_FamilyEvent(eFamilyEvent), " in PRIVATE_Update_Family_SynchSceneArrayMatch()") SCRIPT_ASSERT("invalid eFamilyEvent in PRIVATE_Update_Family_SynchSceneArrayMatch()") #ENDIF RETURN FALSE ENDFUNC