-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTextFungeProject.cs
105 lines (90 loc) · 2.1 KB
/
TextFungeProject.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
using BefunGen.AST.CodeGen;
using System.Collections.Generic;
namespace BefunWrite
{
public enum SH_Mode
{
AUTOMATIC = 0,
NONE = 1,
SIMPLE = 2,
EXTENDED = 3,
}
/// <summary>
/// Class in JSON Config File
/// </summary>
public class BefunExecSettings
{
public bool startPaused;
public SH_Mode syntaxHighlight;
public bool asciistack;
public bool follocursormode;
public bool skipnop;
public bool IsDebug;
public bool EnableUndo;
public bool ReverseStack;
public int initialSpeedIndex;
public int decaytime;
public bool dodecay;
public bool zoomToDisplay;
public static BefunExecSettings getBES_Debug()
{
return new BefunExecSettings
{
startPaused = true,
syntaxHighlight = SH_Mode.AUTOMATIC,
asciistack = true,
follocursormode = false,
skipnop = true,
IsDebug = true,
EnableUndo = true,
ReverseStack = false,
initialSpeedIndex = 6,
decaytime = 500, // BefunExec.Logic.RunOptions.DECAY_TIME
dodecay = true,
zoomToDisplay = false,
};
}
public static BefunExecSettings getBES_Release()
{
return new BefunExecSettings
{
startPaused = false,
syntaxHighlight = SH_Mode.AUTOMATIC,
asciistack = true,
follocursormode = false,
skipnop = true,
IsDebug = false,
EnableUndo = false,
ReverseStack = false,
initialSpeedIndex = 15,
decaytime = 500, // BefunExec.Logic.RunOptions.DECAY_TIME
dodecay = true,
zoomToDisplay = false,
};
}
}
/// <summary>
/// Class in JSON Config File
/// </summary>
public class ProjectCodeGenOptions
{
public string Name;
public CodeGenOptions Options;
public BefunExecSettings ExecSettings = new BefunExecSettings();
public override string ToString()
{
return Name;
}
}
/// <summary>
/// The Class that represents the JSON Config File
/// </summary>
public class TextFungeProject
{
public string SourceCodePath = "";
public string DisplayValuePath = "";
public string OutputPath = "";
public int SelectedConfiguration = -1;
public List<ProjectCodeGenOptions> Configurations = new List<ProjectCodeGenOptions>();
}
}