UltimateZoneBuilder/Source/Core/GZBuilder/Data/ModelData.cs
MaxED 9c7b8e4e3c Model rendering (all modes): UDMF scale, pitch and roll are now displayed.
Thing Edit Form, UDMF: added controls for setting pitch, roll, scale, render style, fill color, alpha, health and score.
Visual mode, UDMF: UDMF scale is now applied when rendering sprites.
Added Thing Statistics form (Edit -> View Thing Types...), which shows all loaded thing types with some additional info.
Visual mode: sprites with negative ScaleX and positive ScaleY were not rendered properly.
Classic modes: display was not updated after loading a sprite.
Current testing engine change was not saved on closing the program when no other game configuration settings were changed.
2014-04-30 10:01:22 +00:00

47 lines
1.2 KiB
C#

using System.Collections.Generic;
using SlimDX;
using SlimDX.Direct3D9;
using CodeImp.DoomBuilder.GZBuilder.MD3;
namespace CodeImp.DoomBuilder.GZBuilder.Data
{
internal sealed class ModelData
{
internal List<string> ModelNames;
internal List<string> TextureNames;
internal GZModel Model;
private ModelLoadState loadstate;
public ModelLoadState LoadState { get { return loadstate; } internal set { loadstate = value; } }
internal Vector3 Scale;
internal float zOffset;
internal float AngleOffset; //in radians
internal float PitchOffset; //in radians
internal float RollOffset; //in radians
internal bool OverridePalette; //used for voxel models only
internal bool IsVoxel;
internal bool InheritActorPitch;
internal bool InheritActorRoll;
internal ModelData() {
ModelNames = new List<string>();
TextureNames = new List<string>();
Scale = new Vector3(1, 1, 1);
}
internal void Dispose() {
if (Model != null) {
foreach (Mesh mesh in Model.Meshes)
mesh.Dispose();
foreach (Texture t in Model.Textures)
t.Dispose();
loadstate = ModelLoadState.None;
}
}
}
}