Exemplo n.º 1
0
        private void M2SliderScale_ValueChanged(object sender, RoutedPropertyChangedEventArgs <double> e)
        {
            M2SceneNode node = ModelSceneService.Instance.MainM2SceneNode;

            if (node != null)
            {
                float scale = (float)e.NewValue;

                M2Move move = node.M2Move;
                if (move != null)
                {
                    move.Scale = new vector3df(scale, scale, scale);
                }
                else
                {
                    matrix4 mat = new matrix4(true);
                    node.GetRelativeTransformation(out mat);

                    matrix4 newMat = new matrix4(true);
                    newMat.RotationRadians = mat.RotationRadians;
                    newMat.Scale           = new vector3df(scale, scale, scale);
                    newMat.Translation     = mat.Translation;
                    node.SetRelativeTransformation(ref newMat);
                }

                node.Update(true);
            }
        }
Exemplo n.º 2
0
        private void M2ScaleDefault_Click(object sender, RoutedEventArgs e)
        {
            M2SceneNode node = ModelSceneService.Instance.MainM2SceneNode;

            if (node != null)
            {
                float scale = 1.0f;

                M2Move move = node.M2Move;
                if (move != null)
                {
                    move.Scale = new vector3df(scale, scale, scale);
                }
                else
                {
                    matrix4 mat = new matrix4(true);
                    node.GetRelativeTransformation(out mat);

                    matrix4 newMat = new matrix4(true);
                    newMat.RotationRadians = mat.RotationRadians;
                    newMat.Scale           = new vector3df(scale, scale, scale);
                    newMat.Translation     = mat.Translation;
                    node.SetRelativeTransformation(ref newMat);
                }

                node.Update(true);
            }
        }
Exemplo n.º 3
0
        public M2SceneNode SetMainM2SceneNode(string filename, bool npc)
        {
            if (Client.Instance.GetPlayer().GetRideNpcId() != 0)
            {
                Client.Instance.GetPlayer().RideOnModel(0, E_M2_STATES.EMS_STAND);
            }

            RemoveMainSceneNode();

            M2SceneNode node = Engine.Instance.SceneManager.AddM2SceneNode(filename, null, npc);

            if (node != null)
            {
                switch (node.Type)
                {
                case M2Type.MT_INTERFACE:
                {
                    if (node.M2Fsm != null)
                    {
                        node.M2Fsm.ResetState();
                    }
                    node.PlayAnimation("Stand", 0, true, 0);
                    node.SetCamera(0);
                }
                break;

                default:
                {
                    M2Move move = node.M2Move;
                    if (move != null)
                    {
                        move.Dir = new vector3df(0, 0, -1);
                    }
                    else
                    {
                        matrix4 mat = new matrix4(true);
                        mat.RotationDegrees = new vector3df(0, 90, 0);
                        node.SetRelativeTransformation(ref mat);
                    }

                    if (node.M2Fsm != null)
                    {
                        node.M2Fsm.ResetState();
                    }
                    node.PlayAnimation("Stand", 0, true, 0);
                }
                break;
                }
            }

            Engine.Instance.SceneManager.SetDebugM2SceneNode(node);

            mainM2SceneNode = node;

            RaiseMainM2SceneNodeChanged();

            return(node);
        }
Exemplo n.º 4
0
        private void menuWmoScale_SubmenuOpened(object sender, RoutedEventArgs e)
        {
            WMOSceneNode node = ModelSceneService.Instance.MainWMOSceneNode;

            if (node != null)
            {
                matrix4 mat = new matrix4(true);
                node.GetRelativeTransformation(out mat);
                wmoSliderScale.Value = mat.Scale.X;
            }
        }
        public M2SceneNode SetMainM2SceneNode(string filename, bool npc)
        {
            RemoveMainSceneNode();

            M2SceneNode node = Engine.Instance.SceneManager.AddM2SceneNode(filename, null, npc);

            if (node != null)
            {
                switch (node.Type)
                {
                case M2Type.MT_INTERFACE:
                {
                    node.ResetState();
                    node.PlayAnimation("Stand", 0, true, 0);
                    node.SetCamera(0);
                }
                break;

                default:
                {
                    matrix4 mat = new matrix4(true);
                    mat.RotationDegrees = new vector3df(0, 90, 0);
                    node.SetRelativeTransformation(ref mat);

                    node.ResetState();
                    node.PlayAnimation("Stand", 0, true, 0);
                }
                break;
                }
            }

            Engine.Instance.SceneManager.SetDebugM2SceneNode(node);

            mainM2SceneNode = node;

            RaiseMainM2SceneNodeChanged();

            return(node);
        }
Exemplo n.º 6
0
        public WMOSceneNode SetMainWMOSceneNode(string filename)
        {
            if (Client.Instance.GetPlayer().GetRideNpcId() != 0)
            {
                Client.Instance.GetPlayer().RideOnModel(0, E_M2_STATES.EMS_STAND);
            }

            RemoveMainSceneNode();

            WMOSceneNode node = Engine.Instance.SceneManager.AddWMOSceneNode(filename, null);

            if (node != null)
            {
                float   scale = 1.0f;
                matrix4 mat   = new matrix4(true);
                node.GetRelativeTransformation(out mat);

                matrix4 newMat = new matrix4(true);
                newMat.RotationRadians = mat.RotationRadians;
                newMat.Scale           = new vector3df(scale, scale, scale);
                newMat.Translation     = mat.Translation;
                node.SetRelativeTransformation(ref newMat);
                node.Update(true);
            }

            Engine.Instance.SceneManager.SetDebugWMOSceneNode(node);

            mainWMOSceneNode = node;

            RaiseMainWMOSceneNodeChanged();

            Player player = Client.Instance.GetPlayer();

            player.SetM2AsTarget(null, 15, (float)(Math.PI / 6.0f));

            return(node);
        }
Exemplo n.º 7
0
 public static extern void gs_matrix_get(out matrix4 dst);
Exemplo n.º 8
0
 public static extern void vec4_transform(out Vector4 dst, out Vector4 v, out matrix4 m);
Exemplo n.º 9
0
 public static extern void matrix4_translate4v(out matrix4 dst, out matrix4 m, out Vector4 v);
Exemplo n.º 10
0
 public static extern void matrix4_rotate_aa(out matrix4 dst, out matrix4 m, out axisang aa);
Exemplo n.º 11
0
 public static extern bool matrix4_inv(out matrix4 dst, out matrix4 m);
Exemplo n.º 12
0
 public static extern void matrix4_transpose(out matrix4 dst, out matrix4 m);
Exemplo n.º 13
0
 public static extern void matrix4_scale(out matrix4 dst, out matrix4 m, out Vector3 v);
Exemplo n.º 14
0
 public static extern void matrix4_rotate(out matrix4 dst, out matrix4 m, out quat q);
Exemplo n.º 15
0
 public static extern float matrix4_determinant(out matrix4 m);
Exemplo n.º 16
0
 public static extern void gs_matrix_mul(out matrix4 matrix);
Exemplo n.º 17
0
 public static extern void obs_sceneitem_get_box_transform(obs_sceneitem_t item, out matrix4 transform);
Exemplo n.º 18
0
 public static extern void vec3_transform(out Vector3 dst, out Vector3 v, out matrix4 m);
Exemplo n.º 19
0
 public static extern void vec4_transform(out Vector4 dst, out Vector4 v, out matrix4 m);
Exemplo n.º 20
0
 public static extern void vec3_transform(out Vector3 dst, out Vector3 v, out matrix4 m);
Exemplo n.º 21
0
 public static extern void matrix3_from_matrix4(out matrix3 dst, out matrix4 m);
Exemplo n.º 22
0
 public static extern void matrix4_translate4v(out matrix4 dst, out matrix4 m, out Vector4 v);
Exemplo n.º 23
0
 public static extern void gs_effect_set_matrix4(gs_eparam_t param, out matrix4 val);
Exemplo n.º 24
0
 public static extern void matrix4_rotate_aa(out matrix4 dst, out matrix4 m, out axisang aa);
Exemplo n.º 25
0
 public static extern void gs_matrix_get(out matrix4 dst);
Exemplo n.º 26
0
 public static extern bool matrix4_inv(out matrix4 dst, out matrix4 m);
Exemplo n.º 27
0
 public static extern void gs_matrix_mul(out matrix4 matrix);
Exemplo n.º 28
0
 public static extern float matrix4_determinant(out matrix4 m);
Exemplo n.º 29
0
 public static extern void gs_matrix_set(out matrix4 matrix);
Exemplo n.º 30
0
 public static extern void matrix4_rotate(out matrix4 dst, out matrix4 m, out quat q);
Exemplo n.º 31
0
 public static extern void gs_effect_set_matrix4(gs_eparam_t param, out matrix4 val);
Exemplo n.º 32
0
 public static extern void matrix4_scale(out matrix4 dst, out matrix4 m, out Vector3 v);
Exemplo n.º 33
0
 public static extern void gs_matrix_set(out matrix4 matrix);
Exemplo n.º 34
0
 public static extern void matrix4_transpose(out matrix4 dst, out matrix4 m);
Exemplo n.º 35
0
 public static extern void obs_sceneitem_get_draw_transform(obs_sceneitem_t item, out matrix4 transform);