Change integer snap for position

This commit is contained in:
spherallic 2024-05-29 16:51:35 +02:00
parent 160dde12cf
commit 0b6a0e4a74
4 changed files with 7 additions and 4 deletions

View file

@ -157,6 +157,7 @@ namespace CodeImp.DoomBuilder.Config
private bool srb2rendernights;
private bool srb2renderzoomtubes;
private bool srb2renderpolyobjects;
private bool snaptointeger;
// These are not stored in the configuration, only used at runtime
private int defaultbrightness;
@ -301,6 +302,7 @@ namespace CodeImp.DoomBuilder.Config
public bool SRB2RenderNiGHTS { get { return srb2rendernights; } internal set { srb2rendernights = value; } }
public bool SRB2RenderZoomTubes { get { return srb2renderzoomtubes; } internal set { srb2renderzoomtubes = value; } }
public bool SRB2RenderPolyobjects { get { return srb2renderpolyobjects; } internal set { srb2renderpolyobjects = value; } }
public bool SnapToInteger { get { return snaptointeger; } internal set { snaptointeger = value; } }
//mxd. Left here for compatibility reasons...
public string DefaultTexture { get { return General.Map != null ? General.Map.Options.DefaultWallTexture : "-"; } set { if(General.Map != null) General.Map.Options.DefaultWallTexture = value; } }
@ -452,6 +454,7 @@ namespace CodeImp.DoomBuilder.Config
srb2rendernights = cfg.ReadSetting("srb2rendernights", true);
srb2renderpolyobjects = cfg.ReadSetting("srb2renderpolyobjects", true);
srb2renderzoomtubes = cfg.ReadSetting("srb2renderzoomtubes", true);
snaptointeger = cfg.ReadSetting("snaptointeger", true);
//mxd. Sector defaults
defaultceilheight = cfg.ReadSetting("defaultceilheight", 128);
@ -607,6 +610,7 @@ namespace CodeImp.DoomBuilder.Config
cfg.WriteSetting("srb2rendernights", srb2rendernights);
cfg.WriteSetting("srb2renderzoomtubes", srb2renderzoomtubes);
cfg.WriteSetting("srb2renderpolyobjects", srb2renderpolyobjects);
cfg.WriteSetting("snaptointeger", snaptointeger);
// Toasts
General.ToastManager.WriteSettings(cfg);

View file

@ -3761,8 +3761,7 @@ namespace CodeImp.DoomBuilder.Map
/// <summary>This snaps all vertices to the map format accuracy. Call this to ensure the vertices are at valid coordinates.</summary>
public void SnapAllToAccuracy(bool usepreciseposition)
{
// SRB2 doesn't support decimals for X/Y position, but does still require VertexDecimals for other float fields/values...
if (General.Map.Config.EngineName == "srb2")
if (General.Settings.SnapToInteger)
usepreciseposition = false;
foreach (Vertex v in vertices) v.SnapToAccuracy(usepreciseposition);

View file

@ -726,7 +726,7 @@ namespace CodeImp.DoomBuilder.Map
// This snaps the vertex to the map format accuracy
public void SnapToAccuracy()
{
SnapToAccuracy(!(General.Map.Config.EngineName == "srb2"));
SnapToAccuracy(!General.Settings.SnapToInteger);
}
// This snaps the vertex to the map format accuracy

View file

@ -283,7 +283,7 @@ namespace CodeImp.DoomBuilder.Map
// This snaps the vertex to the map format accuracy
public void SnapToAccuracy()
{
SnapToAccuracy(!(General.Map.Config.EngineName == "srb2"));
SnapToAccuracy(!General.Settings.SnapToInteger);
}
// This snaps the vertex to the map format accuracy