Ejemplo n.º 1
0
        public override List <RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform)
        {
            List <RenderInfo> result = new List <RenderInfo>();

            transform.Push();
            transform.NJTranslate(item.Position);
            transform.NJRotateObject(item.Rotation);
            result.AddRange(model.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_WINDY"), meshes));
            if (item.Selected)
            {
                result.AddRange(model.DrawModelTreeInvert(transform, meshes));
            }
            transform.Pop();
            return(result);
        }
Ejemplo n.º 2
0
        public override List <RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform)
        {
            List <RenderInfo> result = new List <RenderInfo>();

            transform.Push();
            transform.NJTranslate(item.Position);
            transform.NJScale((item.Scale.X + 1f), (item.Scale.X + 1f), (item.Scale.X + 1f));
            result.AddRange(sphere.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, null, spheremsh, boundsByMesh: true));
            if (item.Selected)
            {
                result.AddRange(sphere.DrawModelTreeInvert(transform, spheremsh, boundsByMesh: true));
            }
            transform.Pop();
            return(result);
        }
Ejemplo n.º 3
0
        public override List <RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform)
        {
            List <RenderInfo> result = new List <RenderInfo>();

            transform.Push();
            transform.NJTranslate(item.Position.X, item.Position.Y + 8, item.Position.Z);
            transform.NJRotateY(item.Rotation.Y);
            result.AddRange(model.DrawModelTree(dev, transform, ObjectHelper.GetTextures("mi_3dasu"), meshes));
            if (item.Selected)
            {
                result.AddRange(model.DrawModelTreeInvert(transform, meshes));
            }
            transform.Pop();
            return(result);
        }
Ejemplo n.º 4
0
        public override List <RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform)
        {
            List <RenderInfo> result = new List <RenderInfo>();

            transform.Push();
            transform.NJTranslate(item.Position);
            transform.NJRotateObject(item.Rotation.X, item.Rotation.Y - 0x8000, item.Rotation.Z);
            result.AddRange(model.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("e_g_kumitex"), meshes, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting));
            if (item.Selected)
            {
                result.AddRange(model.DrawModelTreeInvert(transform, meshes));
            }
            transform.Pop();
            return(result);
        }
Ejemplo n.º 5
0
        public override List <RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform)
        {
            List <RenderInfo> result = new List <RenderInfo>();

            transform.Push();
            transform.NJTranslate(item.Position);
            transform.NJScale((item.Scale.X + 10f), (item.Scale.Y + 10f), (item.Scale.Z + 10f));
            result.AddRange(model.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_BEACH"), mesh, boundsByMesh: true));
            if (item.Selected)
            {
                result.AddRange(model.DrawModelTreeInvert(transform, mesh, boundsByMesh: true));
            }
            transform.Pop();
            return(result);
        }
Ejemplo n.º 6
0
        public override List <RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform)
        {
            List <RenderInfo> result = new List <RenderInfo>();

            ((BasicAttach)model.Children[childindex].Attach).Material[0].TextureID = itemTexs[Math.Min(Math.Max((int)item.Scale.X, 0), 8)];
            transform.Push();
            transform.NJTranslate(item.Position);
            result.AddRange(model.DrawModelTree(dev, transform, ObjectHelper.GetTextures("OBJ_REGULAR"), meshes));
            if (item.Selected)
            {
                result.AddRange(model.DrawModelTreeInvert(transform, meshes));
            }
            transform.Pop();
            return(result);
        }
Ejemplo n.º 7
0
        public override List <RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform)
        {
            List <RenderInfo> result = new List <RenderInfo>();

            transform.Push();
            transform.NJTranslate(item.Position);
            transform.NJRotateY(item.Rotation.Y);
            transform.NJScale((item.Scale.X + 10) / 5f, (item.Scale.Y + 10) / 5f, (item.Scale.Z + 10) / 5f);
            result.AddRange(model.DrawModelTree(dev, transform, null, meshes));
            if (item.Selected)
            {
                result.AddRange(model.DrawModelTreeInvert(transform, meshes));
            }
            transform.Pop();
            return(result);
        }
Ejemplo n.º 8
0
        public override List <RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform)
        {
            List <RenderInfo> result = new List <RenderInfo>();

            transform.Push();
            transform.NJTranslate(item.Position);
            transform.NJRotateObject(item.Rotation);
            transform.NJTranslate(2f, 0f, 0f);
            result.AddRange(frog.DrawModelTree(dev, transform, ObjectHelper.GetTextures("BIG_KAERU"), frogmsh));
            if (item.Selected)
            {
                result.AddRange(frog.DrawModelTreeInvert(transform, frogmsh));
            }
            transform.Pop();
            return(result);
        }
Ejemplo n.º 9
0
        public override List <RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform)
        {
            List <RenderInfo> result = new List <RenderInfo>();

            transform.Push();
            transform.NJTranslate(item.Position);
            transform.NJRotateY(item.Rotation.Y);
            transform.NJScale((item.Scale.X + 1f), (item.Scale.Y + 1f), (item.Scale.Z + 1f));
            result.AddRange(model.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_BEACH"), mesh, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting));
            if (item.Selected)
            {
                result.AddRange(model.DrawModelTreeInvert(transform, mesh));
            }
            transform.Pop();
            return(result);
        }
Ejemplo n.º 10
0
        public override List <RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform)
        {
            List <RenderInfo> result = new List <RenderInfo>();

            if (item.Scale.Y != 0)
            {
                if ((item.Scale.Y - 1) == 0 && (item.Scale.Y - 1) == 1)
                {
                    transform.Push();
                    transform.NJTranslate(item.Position.X, (item.Position.Y + 10f), item.Position.Z);
                    transform.NJRotateObject(item.Rotation);
                    result.AddRange(eme_b.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("KAOS_EME"), ememsh_b));
                    if (item.Selected)
                    {
                        result.AddRange(eme_b.DrawModelTreeInvert(transform, ememsh_b));
                    }
                    transform.Pop();
                    return(result);
                }
                else
                {
                    transform.Push();
                    transform.NJTranslate(item.Position.X, (item.Position.Y + 10f), item.Position.Z);
                    transform.NJRotateObject(item.Rotation);
                    result.AddRange(eme_c.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("KAOS_EME"), ememsh_c));
                    if (item.Selected)
                    {
                        result.AddRange(eme_c.DrawModelTreeInvert(transform, ememsh_c));
                    }
                    transform.Pop();
                    return(result);
                }
            }
            else
            {
                transform.Push();
                transform.NJTranslate(item.Position.X, (item.Position.Y + 10f), item.Position.Z);
                transform.NJRotateObject(item.Rotation);
                result.AddRange(eme_a.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("KAOS_EME"), ememsh_a));
                if (item.Selected)
                {
                    result.AddRange(eme_a.DrawModelTreeInvert(transform, ememsh_a));
                }
                transform.Pop();
                return(result);
            }
        }
Ejemplo n.º 11
0
		public override List<RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform)
		{
			List<RenderInfo> result = new List<RenderInfo>();
			transform.Push();
			transform.NJTranslate(item.Position);
			int RotY = item.Rotation.Y + 34;
			if ((RotY + 24) != 0x4000)
			{
				transform.NJRotateY((RotY + 24) - 0x4000);
			}
			transform.NJScale(1.5f, 1.5f, 1.5f);
			result.AddRange(model.DrawModelTree(dev.GetRenderState<FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_BEACH"), meshes, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting));
			if (item.Selected)
				result.AddRange(model.DrawModelTreeInvert(transform, meshes));
			transform.Pop();
			return result;
		}
Ejemplo n.º 12
0
        public override List <RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform)
        {
            List <RenderInfo> result = new List <RenderInfo>();

            transform.Push();
            ((BasicAttach)model.Children[1].Attach).Material[0].TextureID = ((MissionSETItem)item).PRMBytes[8] % 5 + 7;
            transform.NJTranslate(item.Position);
            transform.NJRotateY(item.Rotation.Y);
            transform.NJScale(item.Scale);
            result.AddRange(model.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("Mission"), meshes));
            if (item.Selected)
            {
                result.AddRange(model.DrawModelTreeInvert(transform, meshes));
            }
            transform.Pop();
            return(result);
        }
Ejemplo n.º 13
0
 public override List <RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform)
 {
     if (item.Scale.Z == 0.0)
     {
         List <RenderInfo> result = new List <RenderInfo>();
         transform.Push();
         transform.NJTranslate(item.Position);
         transform.NJRotateObject(item.Rotation);
         result.AddRange(model1.DrawModelTree(dev, transform, ObjectHelper.GetTextures("OBJ_BEACH"), meshes1));
         if (item.Selected)
         {
             result.AddRange(model1.DrawModelTreeInvert(transform, meshes1));
         }
         transform.Pop();
         return(result);
     }
     else if (item.Scale.Z <= 5.0)
     {
         List <RenderInfo> result = new List <RenderInfo>();
         transform.Push();
         transform.NJTranslate(item.Position);
         transform.NJRotateObject(item.Rotation);
         result.AddRange(model2.DrawModelTree(dev, transform, ObjectHelper.GetTextures("OBJ_BEACH"), meshes2));
         if (item.Selected)
         {
             result.AddRange(model2.DrawModelTreeInvert(transform, meshes2));
         }
         transform.Pop();
         return(result);
     }
     else
     {
         List <RenderInfo> result = new List <RenderInfo>();
         transform.Push();
         transform.NJTranslate(item.Position);
         transform.NJRotateObject(item.Rotation);
         result.AddRange(model3.DrawModelTree(dev, transform, ObjectHelper.GetTextures("OBJ_BEACH"), meshes3));
         if (item.Selected)
         {
             result.AddRange(model3.DrawModelTreeInvert(transform, meshes3));
         }
         transform.Pop();
         return(result);
     }
 }
Ejemplo n.º 14
0
        public override List <RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform)
        {
            List <RenderInfo> result = new List <RenderInfo>();

            transform.Push();
            transform.NJTranslate(item.Position);
            transform.NJRotateObject(item.Rotation);
            ((BasicAttach)numbermodel.Attach).Material[0].TextureID =
                38 + Math.Min(Math.Max((int)item.Scale.X, 0), 9);
            result.AddRange(numbermodel.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("CON_REGULAR"), numbermeshes, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting));
            result.AddRange(model.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_REGULAR"), meshes, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting));
            if (item.Selected)
            {
                result.AddRange(model.DrawModelTreeInvert(transform, meshes));
            }
            transform.Pop();
            return(result);
        }
Ejemplo n.º 15
0
        public override List <RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform)
        {
            List <RenderInfo> result = new List <RenderInfo>();

            if (texs == null)
            {
                texs = ObjectHelper.GetTextures("objtex_common", texarr, dev);
            }
            //((BasicAttach)model.Children[childindex].Attach).Material[0].TextureID = itemTexs[Math.Min(Math.Max((int)item.Scale.X, 0), ItemBoxLength)];
            transform.Push();
            transform.NJTranslate(item.Position);
            result.AddRange(model.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs, meshes, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting));
            if (item.Selected)
            {
                result.AddRange(model.DrawModelTreeInvert(transform, meshes));
            }
            transform.Pop();
            return(result);
        }
Ejemplo n.º 16
0
        public override List <RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform)
        {
            List <RenderInfo> result = new List <RenderInfo>();

            if (texs == null)
            {
                texs = ObjectHelper.GetTextures("objtex_common", texarr, dev);
            }
            transform.Push();
            transform.NJTranslate(item.Position);
            transform.NJRotateObject(item.Rotation.X, item.Rotation.Y - 0x8000, item.Rotation.Z);
            result.AddRange(model.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, texs, meshes));
            if (item.Selected)
            {
                result.AddRange(model.DrawModelTreeInvert(transform, meshes));
            }
            transform.Pop();
            return(result);
        }
Ejemplo n.º 17
0
        public override List <RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform)
        {
            List <RenderInfo> result = new List <RenderInfo>();

            transform.Push();
            transform.NJTranslate(item.Position);
            int RotY = item.Rotation.Y;

            if (RotY != 0x4000)
            {
                transform.NJRotateY(RotY - 0x4000);
            }
            transform.NJScale(1.5f, 1.5f, 1.5f);
            result.AddRange(model.DrawModelTree(dev, transform, ObjectHelper.GetTextures("OBJ_WINDY"), meshes));
            if (item.Selected)
            {
                result.AddRange(model.DrawModelTreeInvert(transform, meshes));
            }
            transform.Pop();
            return(result);
        }
Ejemplo n.º 18
0
        public override List <RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform)
        {
            List <RenderInfo> result = new List <RenderInfo>();

            transform.Push();
            transform.NJTranslate(item.Position);
            transform.Push();
            transform.NJRotateY(item.Rotation.Y);
            result.AddRange(model.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("SUPI_SUPI"), meshes));
            if (item.Selected)
            {
                result.AddRange(model.DrawModelTreeInvert(transform, meshes));
            }
            transform.Pop();
            float sx = (item.Scale.X + 70) * 0.1f;

            transform.NJScale(sx, 0.02f, sx);
            result.AddRange(cylmdl.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, null, cylmsh, boundsByMesh: true));
            transform.Pop();
            return(result);
        }
Ejemplo n.º 19
0
        public override List <RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform)
        {
            List <RenderInfo> result = new List <RenderInfo>();

            transform.Push();
            transform.NJTranslate(item.Position);
            transform.Push();
            transform.NJScale(4.5f, 4.5f, 4.5f);
            result.AddRange(sphere.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, null, spheremsh, boundsByMesh: true));
            if (item.Selected)
            {
                result.AddRange(sphere.DrawModelTreeInvert(transform, spheremsh, boundsByMesh: true));
            }
            transform.Pop();
            switch (type)
            {
            case WhaleDefType.AOSummon:
                transform.NJTranslate(item.Scale);
                transform.NJRotateY(item.Rotation.Y);
                break;

            case WhaleDefType.AOKill:
                transform.NJRotateZ(0x8000);
                break;

            case WhaleDefType.POSummon:
                transform.NJTranslate(item.Scale);
                transform.NJRotateX(0x2000);
                transform.NJRotateY(item.Rotation.Y);
                break;
            }
            transform.NJScale(0.4f, 0.4f, 0.4f);
            result.AddRange(whale.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_BEACH"), whalemsh, EditorOptions.IgnoreMaterialColors, EditorOptions.OverrideLighting));
            if (item.Selected)
            {
                result.AddRange(whale.DrawModelTreeInvert(transform, whalemsh));
            }
            transform.Pop();
            return(result);
        }
Ejemplo n.º 20
0
        public override List <RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform)
        {
            List <RenderInfo> result = new List <RenderInfo>();

            transform.Push();
            transform.NJTranslate(item.Position);
            transform.NJRotateY(item.Rotation.Y);

            float X, Y;

            X = (item.Scale.X + 10) * 0.1f;
            Y = (item.Scale.Y + 10) * 0.1f;
            transform.NJScale(X, Y, X);

            result.AddRange(model.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, null, meshes, boundsByMesh: true));
            if (item.Selected)
            {
                result.AddRange(model.DrawModelTreeInvert(transform, meshes, boundsByMesh: true));
            }
            transform.Pop();
            return(result);
        }
Ejemplo n.º 21
0
        public override List <RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform)
        {
            List <RenderInfo> result = new List <RenderInfo>();

            transform.Push();
            transform.NJTranslate(xpos ?? item.Position.X, ypos ?? item.Position.Y, zpos ?? item.Position.Z);
            transform.NJRotateObject(xrot ?? item.Rotation.X, yrot ?? item.Rotation.Y, zrot ?? item.Rotation.Z);
            if (model == null)
            {
                result.AddRange(ObjectHelper.RenderSprite(dev, transform, null, item.Position.ToVector3(), item.Selected));
            }
            else
            {
                transform.NJScale(xscl ?? item.Scale.X, yscl ?? item.Scale.Y, zscl ?? item.Scale.Z);
                result.AddRange(model.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures(texture), meshes));
                if (item.Selected)
                {
                    result.AddRange(model.DrawModelTreeInvert(transform, meshes));
                }
            }
            transform.Pop();
            return(result);
        }
Ejemplo n.º 22
0
        public override List <RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform)
        {
            List <RenderInfo> result = new List <RenderInfo>();

            transform.Push();
            transform.NJTranslate(item.Position);
            transform.NJRotateY(item.Rotation.Y);
            float ScaleX = item.Scale.X;
            float ScaleY = item.Scale.Y;

            if (ScaleX < ScaleY)
            {
                ScaleX = ScaleY;
            }
            transform.NJScale(ScaleX, ScaleY, item.Scale.Z);
            result.AddRange(model.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_BEACH"), meshes));
            if (item.Selected)
            {
                result.AddRange(model.DrawModelTreeInvert(transform, meshes));
            }
            transform.Pop();
            return(result);
        }
Ejemplo n.º 23
0
        public override List <RenderInfo> Render(Device dev, EditorCamera camera, MatrixStack transform)
        {
            float dist = Direct3D.Extensions.Distance(camera.Position, Position.ToVector3());

            if (dist > camera.DrawDistance)
            {
                return(EmptyRenderInfo);
            }

            List <RenderInfo> result = new List <RenderInfo>();

            transform.Push();
            transform.NJTranslate(0, offset, 0);
            transform.NJTranslate(Position);
            transform.NJRotateY(YRotation);
            result.AddRange(Model.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, LevelData.Textures[texture], Meshes));
            if (Selected)
            {
                result.AddRange(Model.DrawModelTreeInvert(transform, Meshes));
            }
            transform.Pop();
            return(result);
        }
Ejemplo n.º 24
0
        public override List <RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform)
        {
            List <RenderInfo> result = new List <RenderInfo>();

            v5 = Math.Min(Math.Max((int)item.Scale.Z, -1), 0);
            if (v5 < 0)
            {
                transform.Push();
                transform.NJTranslate(item.Position);
                transform.NJRotateY(item.Rotation.Y);
                float Scale = item.Scale.X + 1.0f;
                transform.NJScale(Scale, Scale, Scale);
                result.AddRange(modelB.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_WINDY"), meshesB));
                if (item.Selected)
                {
                    result.AddRange(modelB.DrawModelTreeInvert(transform, meshesB));
                }
                transform.Pop();
                return(result);
            }
            if (v5 >= 0)
            {
                transform.Push();
                transform.NJTranslate(item.Position);
                transform.NJRotateY(item.Rotation.Y);
                float Scale = item.Scale.X + 1.0f;
                transform.NJScale(Scale, Scale, Scale);
                result.AddRange(modelA.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_WINDY"), meshesA));
                if (item.Selected)
                {
                    result.AddRange(modelA.DrawModelTreeInvert(transform, meshesA));
                }
                transform.Pop();
                return(result);
            }
            return(result);
        }
Ejemplo n.º 25
0
        public override List <RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform)
        {
            List <RenderInfo> result = new List <RenderInfo>();

            transform.Push();
            transform.NJTranslate(item.Position);
            transform.NJRotateY(item.Rotation.Y);
            transform.TranslateLocal(0, 110f, 0);
            result.AddRange(arch.DrawModelTree(dev, transform, ObjectHelper.GetTextures("OBJ_BEACH"), archmsh));
            if (item.Selected)
            {
                result.AddRange(arch.DrawModelTreeInvert(transform, archmsh));
            }
            transform.Pop();
            transform.Push();
            transform.NJTranslate(item.Position);
            transform.NJRotateY(item.Rotation.Y);
            transform.TranslateLocal(0, 0, 73f);
            result.AddRange(side1.DrawModelTree(dev, transform, ObjectHelper.GetTextures("OBJ_BEACH"), side1msh));
            if (item.Selected)
            {
                result.AddRange(side1.DrawModelTreeInvert(transform, side1msh));
            }
            transform.Pop();
            transform.Push();
            transform.NJTranslate(item.Position);
            transform.NJRotateY(item.Rotation.Y);
            transform.TranslateLocal(0, 0, -57f);
            result.AddRange(side2.DrawModelTree(dev, transform, ObjectHelper.GetTextures("OBJ_BEACH"), side2msh));
            if (item.Selected)
            {
                result.AddRange(side2.DrawModelTreeInvert(transform, side2msh));
            }
            transform.Pop();
            return(result);
        }
Ejemplo n.º 26
0
        public override List <RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform)
        {
            List <RenderInfo> result = new List <RenderInfo>();

            transform.Push();
            transform.NJTranslate(item.Position);
            transform.NJRotateY(item.Rotation.Y);
            result.AddRange(ballmodel.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_REGULAR"), ballmeshes));
            if (item.Selected)
            {
                result.AddRange(ballmodel.DrawModelTreeInvert(transform, ballmeshes));
            }
            transform.Pop();
            double v24 = item.Scale.X * 0.05000000074505806;

            transform.Push();
            double v22 = item.Scale.X * 0.5 + item.Position.Y;

            transform.NJTranslate(item.Position.X, (float)v22, item.Position.Z);
            transform.NJScale(1.0f, (float)v24, 1.0f);
            result.AddRange(cylindermodel.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, null, cylindermeshes, boundsByMesh: true));
            if (item.Selected)
            {
                result.AddRange(cylindermodel.DrawModelTreeInvert(transform, cylindermeshes, boundsByMesh: true));
            }
            transform.Pop();
            transform.Push();
            transform.NJTranslate(item.Position.X, item.Position.Y + item.Scale.Z, item.Position.Z);
            result.AddRange(spheremodel.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, null, spheremeshes, boundsByMesh: true));
            if (item.Selected)
            {
                result.AddRange(spheremodel.DrawModelTreeInvert(transform, spheremeshes, boundsByMesh: true));
            }
            transform.Pop();
            return(result);
        }
        public override List <RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform)
        {
            List <RenderInfo> result = new List <RenderInfo>();

            eleType = Math.Min(Math.Max((int)item.Scale.Z, -1), 1);

            if (item.Selected)
            {
                transform.Push();
                transform.NJTranslate(item.Position.X, (item.Position.Y + item.Scale.X), item.Position.Z);
                transform.NJRotateY(item.Rotation.Z);
                result.AddRange(destWele.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, null, destWeleMsh));
                if (item.Selected)
                {
                    result.AddRange(destWele.DrawModelTreeInvert(transform, destWeleMsh));
                }
                transform.Pop();
            }


            if (eleType < 0)
            {
                transform.Push();
                transform.NJTranslate(item.Position);
                transform.NJRotateY(item.Rotation.Y);
                result.AddRange(WeleAlt.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_WINDY"), WeleAltMsh));
                if (item.Selected)
                {
                    result.AddRange(WeleAlt.DrawModelTreeInvert(transform, WeleAltMsh));
                }
                transform.Pop();
                return(result);
            }
            else if (eleType > 0)
            {
                transform.Push();
                transform.NJTranslate(item.Position);
                transform.NJRotateY(item.Rotation.Y);
                result.AddRange(WeleWhite.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_WINDY"), WeleWhiteMsh));
                if (item.Selected)
                {
                    result.AddRange(WeleWhite.DrawModelTreeInvert(transform, WeleWhiteMsh));
                }
                transform.Pop();
                return(result);
            }
            else
            {
                transform.Push();
                transform.NJTranslate(item.Position);
                transform.NJRotateY(item.Rotation.Y);
                result.AddRange(Wele1.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_WINDY"), Wele1Msh));
                if (item.Selected)
                {
                    result.AddRange(Wele1.DrawModelTreeInvert(transform, Wele1Msh));
                }
                transform.Pop();

                return(result);
            }


            return(result);
        }
Ejemplo n.º 28
0
        public override List <RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform)
        {
            List <RenderInfo> result = new List <RenderInfo>();

            transform.Push();
            transform.NJTranslate(item.Position);
            transform.NJRotateY(item.Rotation.Y);
            transform.Push();
            transform.NJTranslate(Base.Position[0], (Base.Position[1]), Base.Position[2]);
            result.AddRange(Base.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_WINDY"), BaseMsh));
            if (item.Selected)
            {
                result.AddRange(Base.DrawModelTreeInvert(transform, BaseMsh));
            }
            transform.Pop();
            transform.Push();
            transform.NJTranslate(Fan.Position[0], (Fan.Position[1] + 30.0f), Fan.Position[2]);
            result.AddRange(Fan.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_WINDY"), FanMsh));
            if (item.Selected)
            {
                result.AddRange(Fan.DrawModelTreeInvert(transform, FanMsh));
            }
            transform.Pop();
            transform.Push();
            transform.NJTranslate(Mid.Position[0], (Mid.Position[1] + 44.0f), Mid.Position[2]);
            result.AddRange(Mid.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_WINDY"), MidMsh));
            if (item.Selected)
            {
                result.AddRange(Mid.DrawModelTreeInvert(transform, MidMsh));
            }
            transform.Pop();
            transform.Push();
            transform.NJTranslate(Fan.Position[0], (Fan.Position[1] + 47.0f), Fan.Position[2]);
            result.AddRange(Fan.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_WINDY"), FanMsh));
            if (item.Selected)
            {
                result.AddRange(Fan.DrawModelTreeInvert(transform, FanMsh));
            }
            transform.Pop();
            transform.Push();
            transform.NJTranslate(Mid.Position[0], (Mid.Position[1] + 61.0f), Mid.Position[2]);
            result.AddRange(Mid.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_WINDY"), MidMsh));
            if (item.Selected)
            {
                result.AddRange(Mid.DrawModelTreeInvert(transform, MidMsh));
            }
            transform.Pop();
            transform.Push();
            transform.NJTranslate(Fan.Position[0], (Fan.Position[1] + 64.0f), Fan.Position[2]);
            result.AddRange(Fan.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_WINDY"), FanMsh));
            if (item.Selected)
            {
                result.AddRange(Fan.DrawModelTreeInvert(transform, FanMsh));
            }
            transform.Pop();
            transform.Push();
            transform.NJTranslate(Cap.Position[0], (Cap.Position[1] + 78.0f), Cap.Position[2]);
            result.AddRange(Cap.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_WINDY"), CapMsh));
            if (item.Selected)
            {
                result.AddRange(Cap.DrawModelTreeInvert(transform, CapMsh));
            }
            transform.Pop();
            transform.Pop();
            return(result);
        }
Ejemplo n.º 29
0
 public override List <RenderInfo> Render(SETItem item, Device dev, EditorCamera camera, MatrixStack transform)
 {
     if (item.Scale.X == 0 || item.Scale.X == 5 || item.Scale.X == 10 || item.Scale.X == -5)
     {
         List <RenderInfo> result = new List <RenderInfo>();
         transform.Push();
         transform.NJTranslate(item.Position);
         transform.NJRotateObject(item.Rotation);
         result.AddRange(model1.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_BEACH"), meshes1));
         if (item.Selected)
         {
             result.AddRange(model1.DrawModelTreeInvert(transform, meshes1));
         }
         transform.Pop();
         return(result);
     }
     else if (item.Scale.X == 1 || item.Scale.X == 6 || item.Scale.X == 11 || item.Scale.X == -1)
     {
         List <RenderInfo> result = new List <RenderInfo>();
         transform.Push();
         transform.NJTranslate(item.Position);
         transform.NJRotateObject(item.Rotation);
         result.AddRange(model2.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_BEACH"), meshes2));
         if (item.Selected)
         {
             result.AddRange(model2.DrawModelTreeInvert(transform, meshes2));
         }
         transform.Pop();
         return(result);
     }
     else if (item.Scale.X == 2 || item.Scale.X == 7 || item.Scale.X == 12 || item.Scale.X == -2)
     {
         List <RenderInfo> result = new List <RenderInfo>();
         transform.Push();
         transform.NJTranslate(item.Position);
         transform.NJRotateObject(item.Rotation);
         result.AddRange(model3.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_BEACH"), meshes3));
         if (item.Selected)
         {
             result.AddRange(model3.DrawModelTreeInvert(transform, meshes3));
         }
         transform.Pop();
         return(result);
     }
     else if (item.Scale.X == 3 || item.Scale.X == 8 || item.Scale.X == 13 || item.Scale.X == -3)
     {
         List <RenderInfo> result = new List <RenderInfo>();
         transform.Push();
         transform.NJTranslate(item.Position);
         transform.NJRotateObject(item.Rotation);
         result.AddRange(model4.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_BEACH"), meshes4));
         if (item.Selected)
         {
             result.AddRange(model4.DrawModelTreeInvert(transform, meshes4));
         }
         transform.Pop();
         return(result);
     }
     else if (item.Scale.X == 4 || item.Scale.X == 9 || item.Scale.X == 14 || item.Scale.X == -4)
     {
         List <RenderInfo> result = new List <RenderInfo>();
         transform.Push();
         transform.NJTranslate(item.Position);
         transform.NJRotateObject(item.Rotation);
         result.AddRange(model5.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_BEACH"), meshes5));
         if (item.Selected)
         {
             result.AddRange(model5.DrawModelTreeInvert(transform, meshes5));
         }
         transform.Pop();
         return(result);
     }
     else
     {
         List <RenderInfo> result = new List <RenderInfo>();
         transform.Push();
         transform.NJTranslate(item.Position);
         transform.NJRotateObject(item.Rotation);
         result.AddRange(model1.DrawModelTree(dev.GetRenderState <FillMode>(RenderState.FillMode), transform, ObjectHelper.GetTextures("OBJ_BEACH"), meshes1));
         if (item.Selected)
         {
             result.AddRange(model1.DrawModelTreeInvert(transform, meshes1));
         }
         transform.Pop();
         return(result);
     }
 }
Ejemplo n.º 30
0
        internal void DrawEntireModel()
        {
            if (!loaded)
            {
                return;
            }
            d3ddevice.SetTransform(TransformState.Projection, Matrix.PerspectiveFovRH(cam.FOV, panel1.Width / (float)panel1.Height, 1, cam.DrawDistance));
            d3ddevice.SetTransform(TransformState.View, cam.ToMatrix());
            UpdateStatusString();
            d3ddevice.SetRenderState(RenderState.FillMode, EditorOptions.RenderFillMode);
            d3ddevice.SetRenderState(RenderState.CullMode, EditorOptions.RenderCullMode);
            d3ddevice.Material = new Material {
                Ambient = Color.White.ToRawColor4()
            };
            d3ddevice.Clear(ClearFlags.Target | ClearFlags.ZBuffer, Color.Black.ToRawColorBGRA(), 1, 0);
            d3ddevice.SetRenderState(RenderState.ZEnable, true);
            d3ddevice.BeginScene();

            //all drawings after this line
            EditorOptions.RenderStateCommonSetup(d3ddevice);

            MatrixStack       transform  = new MatrixStack();
            List <RenderInfo> renderList = new List <RenderInfo>();

            for (int i = 0; i < @event.Scenes[0].Entities.Count; i++)
            {
                NJS_OBJECT model = @event.Scenes[0].Entities[i].Model;
                if (model == null)
                {
                    model = @event.Scenes[0].Entities[i].GCModel;
                }
                if (model != null)
                {
                    if (model.HasWeight)
                    {
                        renderList.AddRange(model.DrawModelTreeWeighted(EditorOptions.RenderFillMode, transform.Top, Textures, meshes[0][i]));
                        if (@event.Scenes[0].Entities[i] == selectedObject)
                        {
                            renderList.AddRange(model.DrawModelTreeWeightedInvert(transform.Top, meshes[0][i]));
                        }
                    }
                    else
                    {
                        renderList.AddRange(model.DrawModelTree(EditorOptions.RenderFillMode, transform, Textures, meshes[0][i]));
                        if (@event.Scenes[0].Entities[i] == selectedObject)
                        {
                            renderList.AddRange(model.DrawModelTreeInvert(transform, meshes[0][i]));
                        }
                    }
                }
            }
            if (scenenum > 0)
            {
                for (int i = 0; i < @event.Scenes[scenenum].Entities.Count; i++)
                {
                    NJS_OBJECT model = @event.Scenes[scenenum].Entities[i].Model;
                    if (model == null)
                    {
                        model = @event.Scenes[scenenum].Entities[i].GCModel;
                    }
                    if (model != null)
                    {
                        if (model.HasWeight)
                        {
                            if (animframe != -1 && @event.Scenes[scenenum].Entities[i].Motion != null)
                            {
                                transform.Push();
                                transform.NJTranslate(@event.Scenes[scenenum].Entities[i].Motion.Models[0].GetPosition(animframe));
                            }
                            renderList.AddRange(model.DrawModelTreeWeighted(EditorOptions.RenderFillMode, transform.Top, Textures, meshes[scenenum][i]));
                            if (@event.Scenes[scenenum].Entities[i] == selectedObject)
                            {
                                renderList.AddRange(model.DrawModelTreeWeightedInvert(transform.Top, meshes[scenenum][i]));
                            }
                            if (animframe != -1 && @event.Scenes[scenenum].Entities[i].Motion != null)
                            {
                                transform.Pop();
                            }
                        }
                        else if (animframe == -1 || @event.Scenes[scenenum].Entities[i].Motion == null)
                        {
                            renderList.AddRange(model.DrawModelTree(EditorOptions.RenderFillMode, transform, Textures, meshes[scenenum][i]));
                            if (@event.Scenes[scenenum].Entities[i] == selectedObject)
                            {
                                renderList.AddRange(model.DrawModelTreeInvert(transform, meshes[scenenum][i]));
                            }
                        }
                        else
                        {
                            renderList.AddRange(model.DrawModelTreeAnimated(EditorOptions.RenderFillMode, transform, Textures, meshes[scenenum][i], @event.Scenes[scenenum].Entities[i].Motion, animframe));
                            if (@event.Scenes[scenenum].Entities[i] == selectedObject)
                            {
                                renderList.AddRange(model.DrawModelTreeAnimatedInvert(transform, meshes[scenenum][i], @event.Scenes[scenenum].Entities[i].Motion, animframe));
                            }
                        }
                    }
                }
                if (@event.Scenes[scenenum].Big?.Model != null)
                {
                    if (@event.Scenes[scenenum].Big.Model.HasWeight)
                    {
                        renderList.AddRange(@event.Scenes[scenenum].Big.Model.DrawModelTreeWeighted(EditorOptions.RenderFillMode, transform.Top, Textures, bigmeshes[scenenum]));
                    }
                    else if (animframe == -1)
                    {
                        renderList.AddRange(@event.Scenes[scenenum].Big.Model.DrawModelTree(EditorOptions.RenderFillMode, transform, Textures, bigmeshes[scenenum]));
                    }
                    else
                    {
                        int an = 0;
                        int fr = animframe;
                        while (an < @event.Scenes[scenenum].Big.Motions.Count && @event.Scenes[scenenum].Big.Motions[an].a.Frames < fr)
                        {
                            fr -= @event.Scenes[scenenum].Big.Motions[an].a.Frames;
                            an++;
                        }
                        if (an < @event.Scenes[scenenum].Big.Motions.Count)
                        {
                            renderList.AddRange(@event.Scenes[scenenum].Big.Model.DrawModelTreeAnimated(EditorOptions.RenderFillMode, transform, Textures, bigmeshes[scenenum], @event.Scenes[scenenum].Big.Motions[an].a, fr));
                        }
                    }
                }
                if (!eventcamera && animframe != -1 && showCameraToolStripMenuItem.Checked)
                {
                    transform.Push();
                    transform.LoadMatrix(cammatrix);
                    renderList.AddRange(cammodel.DrawModel(EditorOptions.RenderFillMode, transform, null, cammesh, true));
                    transform.Pop();
                }
            }

            RenderInfo.Draw(renderList, d3ddevice, cam);
            d3ddevice.EndScene();             //all drawings before this line
            d3ddevice.Present();
        }