1 #ifndef CONFIG_H
2 #define CONFIG_H
3 
4 
5 #ifdef WIN
6 #define PATH_SEP "\\"
7 #define PATH_SEP_CHAR '\\'
8 #else
9 #define PATH_SEP "/"
10 #define PATH_SEP_CHAR '/'
11 #endif
12 
13 //VersionInfoStart
14 #ifndef SAVE_VERSION
15 #define SAVE_VERSION 95
16 #endif
17 
18 #ifndef MINOR_VERSION
19 #define MINOR_VERSION 0
20 #endif
21 
22 #ifndef BUILD_NUM
23 #define BUILD_NUM 345
24 #endif
25 
26 #ifndef SNAPSHOT_ID
27 #define SNAPSHOT_ID 0
28 #endif
29 
30 // Mod ID, used on the https://starcatcher.us/TPT build server
31 // The build server will compile for all platforms for you, and send updates in game
32 // See jacob1 to get a mod ID
33 #ifndef MOD_ID
34 #define MOD_ID 0
35 #endif
36 
37 #if defined(SNAPSHOT) || defined(DEBUG)
38 #define FUTURE_SAVE_VERSION 95
39 #define FUTURE_MINOR_VERSION 0
40 #endif
41 //VersionInfoEnd
42 
43 #define IGNORE_UPDATES //uncomment this for mods, to not get any update notifications
44 
45 #if !(defined(MACOSX) && defined(DEBUG))
46 #define HIGH_QUALITY_RESAMPLE			//High quality image resampling, slower but much higher quality than my terribad linear interpolation
47 #endif
48 
49 #if defined(SNAPSHOT)
50 #define IDENT_RELTYPE "S"
51 #elif defined(BETA)
52 #define IDENT_RELTYPE "B"
53 #else
54 #define IDENT_RELTYPE "R"
55 #endif
56 
57 #if defined(WIN)
58 #if defined(_64BIT)
59 #define IDENT_PLATFORM "WIN64"
60 #else
61 #define IDENT_PLATFORM "WIN32"
62 #endif
63 #elif defined(LIN)
64 #if defined(_64BIT)
65 #define IDENT_PLATFORM "LIN64"
66 #else
67 #define IDENT_PLATFORM "LIN32"
68 #endif
69 #elif defined(MACOSX)
70 #define IDENT_PLATFORM "MACOSX"
71 #else
72 #define IDENT_PLATFORM "UNKNOWN"
73 #endif
74 
75 #if defined(X86_SSE3)
76 #define IDENT_BUILD "SSE3"
77 #elif defined(X86_SSE2)
78 #define IDENT_BUILD "SSE2"
79 #elif defined(X86_SSE)
80 #define IDENT_BUILD "SSE"
81 #else
82 #define IDENT_BUILD "NO"
83 #endif
84 
85 #define MTOS_EXPAND(str) #str
86 #define MTOS(str) MTOS_EXPAND(str)
87 
88 #define SCHEME "https://"
89 #define SERVER "powdertoy.co.uk"
90 #define STATICSCHEME "https://"
91 #define STATICSERVER "static.powdertoy.co.uk"
92 #define ENFORCE_HTTPS
93 
94 #define LOCAL_SAVE_DIR "Saves"
95 
96 #define STAMPS_DIR "stamps"
97 
98 #define BRUSH_DIR "Brushes"
99 
100 #ifndef M_GRAV
101 #define M_GRAV 6.67300e-1
102 #endif
103 
104 #ifdef RENDERER
105 #define MENUSIZE 0
106 #define BARSIZE 0
107 #else
108 #define MENUSIZE 40
109 #define BARSIZE 17
110 #endif
111 #define XRES	612
112 #define YRES	384
113 #define NPART XRES*YRES
114 
115 #define XCNTR   XRES/2
116 #define YCNTR   YRES/2
117 
118 #define WINDOWW (XRES+BARSIZE)
119 #define WINDOWH (YRES+MENUSIZE)
120 
121 #define MAX_DISTANCE sqrt(pow((float)XRES, 2)+pow((float)YRES, 2))
122 
123 #define GRAV_DIFF
124 
125 #define MAXSIGNS 16
126 
127 //CELL, the size of the pressure, gravity, and wall maps. Larger than 1 to prevent extreme lag
128 #define CELL	4
129 #define ISTP	(CELL/2)
130 #define CFDS	(4.0f/CELL)
131 #define SIM_MAXVELOCITY 1e4f
132 
133 //Air constants
134 #define AIR_TSTEPP 0.3f
135 #define AIR_TSTEPV 0.4f
136 #define AIR_VADV 0.3f
137 #define AIR_VLOSS 0.999f
138 #define AIR_PLOSS 0.9999f
139 
140 #define NGOL 24
141 
142 #define CIRCLE_BRUSH 0
143 #define SQUARE_BRUSH 1
144 #define TRI_BRUSH 2
145 #define BRUSH_NUM 3
146 
147 //Photon constants
148 #define SURF_RANGE		10
149 #define NORMAL_MIN_EST	3
150 #define NORMAL_INTERP	20
151 #define NORMAL_FRAC		16
152 
153 #define REFRACT			0x80000000
154 
155 /* heavy flint glass, for awesome refraction/dispersion
156    this way you can make roof prisms easily */
157 #define GLASS_IOR		1.9
158 #define GLASS_DISP		0.07
159 
160 #define SDEUT
161 
162 #endif /* CONFIG_H */
163