Allow a specified starting value for +++/---

This commit is contained in:
spherallic 2023-09-09 11:18:23 +02:00
parent 27a268ae89
commit 56ad6997aa

View file

@ -291,17 +291,38 @@ namespace CodeImp.DoomBuilder.Controls
// This determines the result value // This determines the result value
public double GetResultFloat(double original, int step) public double GetResultFloat(double original, int step)
{ {
// Support specific starting point for increment step
bool start;
// Strip prefixes // Strip prefixes
string textpart = StripPrefixes(this.Text); string textpart = StripPrefixes(this.Text);
// Check for alternate original
if (textpart.Contains("---"))
{
string[] split = textpart.Split('-');
original = double.Parse(split[0]);
textpart = StripPrefixes(split[3]);
start = true;
}
else if (textpart.Contains("+++"))
{
string[] split = textpart.Split('+');
original = double.Parse(split[0]);
textpart = StripPrefixes(split[3]);
start = true;
}
else
start = false;
// Any numbers left? // Any numbers left?
if(textpart.Length > 0) if (textpart.Length > 0)
{ {
double result; double result;
if(allowrelative) if(allowrelative)
{ {
//mxd. Prefixed with +++? //mxd. Prefixed with +++?
if(this.Text.StartsWith("+++")) if(this.Text.StartsWith("+++") || (start && this.Text.Contains("+++")))
{ {
// Add number to original // Add number to original
if(TryGetResultValue(textpart, out result)) if(TryGetResultValue(textpart, out result))
@ -312,7 +333,7 @@ namespace CodeImp.DoomBuilder.Controls
} }
//mxd. Prefixed with ---? //mxd. Prefixed with ---?
if(this.Text.StartsWith("---")) if(this.Text.StartsWith("---") || (start && this.Text.Contains("---")))
{ {
// Subtract number from original // Subtract number from original
if(TryGetResultValue(textpart, out result)) if(TryGetResultValue(textpart, out result))