private void PedVariation(CutEvent e) { var args = e.EventArgs as CutObjectVariationEventArgs; if (args == null) { return; } var oe = e as CutObjectIdEvent; if (oe == null) { return; } CutsceneObject cso = null; SceneObjects.TryGetValue(oe.iObjectId, out cso); if (cso?.Ped != null) { int comp = args.iComponent; int drbl = args.iDrawable; int texx = args.iTexture; Task.Run(() => { cso.Ped.SetComponentDrawable(comp, drbl, 0, texx, GameFileCache); }); } }
private void EnableBlockBounds(CutEvent e) { var oe = e as CutObjectIdEvent; if (oe == null) { return; } }
private void EnableAnimation(CutEvent e) { var oe = e as CutObjectIdEvent; if (oe == null) { return; } }
private void LoadOverlays(CutEvent e) { var args = e.EventArgs as CutObjectIdListEventArgs; if (args == null) { return; } }
private void LoadAudio(CutEvent e) { var args = e.EventArgs as CutNameEventArgs; if (args == null) { return; } }
private void DisableCamera(CutEvent e) { var oe = e as CutObjectIdEvent; if (oe == null) { return; } }
private void LoadScene(CutEvent e) { var args = e.EventArgs as CutLoadSceneEventArgs; if (args == null) { return; } Position = args.vOffset; Rotation = Quaternion.RotationAxis(Vector3.UnitZ, args.fRotation * 0.0174532925f);//is this right? }
private void EnableHideObject(CutEvent e) { var oe = e as CutObjectIdEvent; if (oe == null) { return; } CutsceneObject cso = null; SceneObjects.TryGetValue(oe.iObjectId, out cso); if (cso != null) { cso.Enabled = true; } }
private void LoadGxt2(CutEvent e) { if (GameFileCache == null) { return; } if (Gxt2File != null) { } var args = e.EventArgs as CutFinalNameEventArgs; if (args == null) { return; } var namel = args.cName?.ToLowerInvariant(); var namehash = JenkHash.GenHash(namel); RpfFileEntry gxt2entry = null; GameFileCache.Gxt2Dict.TryGetValue(namehash, out gxt2entry); if (gxt2entry != null) //probably should do this load async { Gxt2File = GameFileCache.RpfMan.GetFile <Gxt2File>(gxt2entry); if (Gxt2File != null) { for (int i = 0; i < Gxt2File.TextEntries.Length; i++) { var te = Gxt2File.TextEntries[i]; GlobalText.Ensure(te.Text, te.Hash); } } } }
private void Subtitle(CutEvent e) { var args = e.EventArgs as CutSubtitleEventArgs; if (args == null) { return; } if (WorldForm != null) { var txt = args.cName.ToString(); var dur = args.fSubtitleDuration; txt = txt.Replace("~z~", ""); txt = txt.Replace("~c~~n~", "\n - "); txt = txt.Replace("~n~", "\n"); txt = txt.Replace("~c~", " - "); txt = txt.Replace("~t~", " - "); WorldForm.ShowSubtitle(txt, dur); } }
private void CameraCut(CutEvent e) { var args = e.EventArgs as CutCameraCutEventArgs; if (args == null) { return; } var oe = e as CutObjectIdEvent; if (oe == null) { return; } CutsceneObject obj = null; SceneObjects.TryGetValue(oe.iObjectId, out obj); if (obj == null) { return; } var pos = Position; var rot = Rotation * Quaternion.RotationAxis(Vector3.UnitX, 1.57079632679f); obj.Position = pos + rot.Multiply(args.vPosition); obj.Rotation = rot * args.vRotationQuaternion; CameraNearClip = (args.fNearDrawDistance > 0) ? Math.Min(args.fNearDrawDistance, 0.5f) : 0.5f; CameraFarClip = (args.fFarDrawDistance > 0) ? Math.Max(args.fFarDrawDistance, 1000.0f) : 12000.0f; CameraClipUpdate = true; CameraObject = obj; }
private void UnloadModels(CutEvent e) { var args = e.EventArgs as CutObjectIdListEventArgs; if (args == null) { return; } if (args.iObjectIdList == null) { return; } foreach (var objid in args.iObjectIdList) { CutsceneObject obj = null; SceneObjects.TryGetValue(objid, out obj); if (obj != null) { obj.Enabled = false; } } }
private void DecalUnk2(CutEvent e) { }
private void DisableLight(CutEvent e) { }
private void DisableOverlay(CutEvent e) { }
private void CameraShadowCascade(CutEvent e) { }
private void EnableLight(CutEvent e) { }
private void PedUnk1(CutEvent e) { }
private void RaiseEvent(CutEvent e) { switch (e.iEventId) { case CutEventType.LoadScene: LoadScene(e); break; case CutEventType.LoadAnimation: LoadAnimation(e); break; case CutEventType.LoadAudio: LoadAudio(e); break; case CutEventType.LoadModels: LoadModels(e); break; case CutEventType.LoadRayfireDes: LoadRayfireDes(e); break; case CutEventType.LoadParticles: LoadParticles(e); break; case CutEventType.LoadOverlays: LoadOverlays(e); break; case CutEventType.LoadGxt2: LoadGxt2(e); break; case CutEventType.UnloadModels: UnloadModels(e); break; case CutEventType.UnloadRayfireDes: UnloadRayfireDes(e); break; case CutEventType.EnableScreenFade: EnableScreenFade(e); break; case CutEventType.EnableHideObject: EnableHideObject(e); break; case CutEventType.EnableFixupModel: EnableFixupModel(e); break; case CutEventType.EnableBlockBounds: EnableBlockBounds(e); break; case CutEventType.EnableAnimation: EnableAnimation(e); break; case CutEventType.EnableParticleEffect: EnableParticleEffect(e); break; case CutEventType.EnableOverlay: EnableOverlay(e); break; case CutEventType.EnableAudio: EnableAudio(e); break; case CutEventType.EnableCamera: EnableCamera(e); break; case CutEventType.EnableLight: EnableLight(e); break; case CutEventType.DisableScreenFade: DisableScreenFade(e); break; case CutEventType.DisableHideObject: DisableHideObject(e); break; case CutEventType.DisableBlockBounds: DisableBlockBounds(e); break; case CutEventType.DisableAnimation: DisableAnimation(e); break; case CutEventType.DisableParticleEffect: DisableParticleEffect(e); break; case CutEventType.DisableOverlay: DisableOverlay(e); break; case CutEventType.DisableAudio: DisableAudio(e); break; case CutEventType.DisableCamera: DisableCamera(e); break; case CutEventType.DisableLight: DisableLight(e); break; case CutEventType.Subtitle: Subtitle(e); break; case CutEventType.PedVariation: PedVariation(e); break; case CutEventType.CameraCut: CameraCut(e); break; case CutEventType.CameraShadowCascade: CameraShadowCascade(e); break; case CutEventType.CameraUnk1: CameraUnk1(e); break; case CutEventType.CameraUnk2: CameraUnk2(e); break; case CutEventType.CameraUnk3: CameraUnk3(e); break; case CutEventType.CameraUnk4: CameraUnk4(e); break; case CutEventType.CameraUnk5: CameraUnk5(e); break; case CutEventType.CameraUnk6: CameraUnk6(e); break; case CutEventType.CameraUnk7: CameraUnk7(e); break; case CutEventType.CameraUnk8: CameraUnk8(e); break; case CutEventType.DecalUnk1: DecalUnk1(e); break; case CutEventType.DecalUnk2: DecalUnk2(e); break; case CutEventType.PropUnk1: PropUnk1(e); break; case CutEventType.Unk1: Unk1(e); break; case CutEventType.Unk2: Unk2(e); break; case CutEventType.VehicleUnk1: VehicleUnk1(e); break; case CutEventType.PedUnk1: PedUnk1(e); break; default: break; } }
private void VehicleUnk1(CutEvent e) { }
private void DisableParticleEffect(CutEvent e) { }
private void EnableFixupModel(CutEvent e) { }
private void UnloadRayfireDes(CutEvent e) { }
private void CameraUnk8(CutEvent e) { }
private void EnableScreenFade(CutEvent e) { }
private void EnableOverlay(CutEvent e) { }
private void PropUnk1(CutEvent e) { }
private void DisableScreenFade(CutEvent e) { }
private void Unk2(CutEvent e) { }
private void CutToolStripMenuItem_Click(object sender, EventArgs e) { CutEvent.Invoke(sender, e); }