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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); } }
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; }
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); }
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); } }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); } }
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(); }