37 #ifndef M_PARAMETERS_H
38 #define M_PARAMETERS_H
42 #define M_ENV_WINDOWS 1
45 #define NOMINMAX // eigen doesn't like the default min/max
51 #define M_BOOL unsigned char
58 #define M_LOGFILE "engine-log.txt"
60 #define M_DIR_MODEL "model\\"
61 #define M_DIR_FX "fx\\"
62 #define M_DIR_TEXTURE "texture\\"
63 #define M_DIR_FONT "font\\"
67 #define M_DSECTION_1 '['
68 #define M_DSECTION_2 ']'
70 #define M_DIR_LEVEL "level\\"
71 #define M_DIR_TILESET "tileset\\"
73 #define M_NEWGAME_FIRST_LEVEL "test-1.lvl"
74 #define M_INTRO_LEVEL "mmenu.lvl"
79 #define M_MIN(a,b) ((a)<(b)?(a):(b))
80 #define M_MAX(a,b) ((a)>(b)?(a):(b))
81 #define M_CLAMP(mini, maxi, val) M_MIN( (maxi), M_MAX( (mini), (val) ))
83 #define M_SIGN(a) ((a)>=0?(1):(-1))
84 #define M_ABS(a) ((a)>0?(a):(-(a)))
86 #define M_R2D(r) ((r)*(180.0/3.14159))
87 #define M_D2R(r) ((r)*(3.14159/180.0))
94 #define M_SMALL_VECT_DOUBLE (M_UNIT*0.001)
96 #define M_GRAVITATION_ON
97 //#define M_HIDE_GEOMETRY
102 #define M_NORMAL_RESPONSE (0.04*M_UNIT)
107 #define M_GRAVITATIONAL_HOVER (0.15*M_UNIT)
112 #define M_GRAVITATION_ACC (600.0)
115 #define M_CUTOFF 0 //(M_UNIT*0.05)
122 #define M_COPYRIGHT_STRING (laFont::getSourceStr(0))
123 #define M_VERSION_STRING "Alpha"
125 #define M_JRTITLE_STRING (laFont::getSourceStr(1))
126 #define M_EDITORTITLE_STRING (laFont::getSourceStr(2))
131 #define M_GRAPHICS_GL
135 #define M_TEXTURE unsigned long
137 #define M_TEX_SIMPLE 1
144 #define M_CHARCNT 32.0
145 #define M_MAX_FONT_CNT 10
158 #define M_MAXOBJCNT 1024
159 #define M_MAXVARCNT 5
160 #define M_MAXFORCECNT 10
161 #define M_MAXLITTER_POOLS 32
162 #define M_MAXLITTER_BOX 10
164 #define M_MAX_COLLISION_DOMAIN_SZ 128
179 #include <boost\shared_ptr.hpp>
180 #include <boost\weak_ptr.hpp>
182 using namespace boost;
184 #include <iprof\prof.h>
189 #define WAVE_AMPLITUDE M_UNIT*0.1
190 #define WAVE_FREQUENCY 15
191 #define M_LAVASURFACE_OFFSET M_UNIT*1.45
200 #define M_OBJ_OBJECT 0
201 #define M_OBJ_PLAYER 1
202 #define M_OBJ_MONSTER 2
203 #define M_OBJ_FINISH 3
204 #define M_OBJ_CHECKPT 4
205 #define M_OBJ_ARROW 5
207 #define M_AI_WALKER 1
212 #define M_STAGE_MENU ((unsigned)0)
213 #define M_STAGE_LOAD 1
214 #define M_STAGE_GAME 2
215 #define M_STAGE_GEN 3
216 #define M_STAGE_EDIT 4
217 #define M_STAGE_INTRO 5
221 #define M_UI_SPACING 10
222 #define M_UI_HEIGHT 30
223 #define M_UI_POTIONFX_W 170
224 #define M_UI_POTIONFX_MARGIN 4
226 #define M_BATTLEICON_SZ (M_UNIT/2.0)
227 #define M_HPBAR_W (M_UNIT*0.8)
228 #define M_HPBAR_H (M_UNIT/18.0)
229 #define M_HPBAR_HOVER (M_UNIT/10.0)
230 #define M_POTION_LABEL_RANGE 6*M_UNIT
239 #define M_DEFAULT_SPEED 50 // M_UNIT per second
240 #define M_DEFAULT_JUMP 100
241 #define M_DEFAULT_SOMERSAULT 80
243 #define M_PLAYER_SPEED 70 // M_UNIT per second
244 #define M_PLAYER_JUMP 150
245 #define M_PLAYER_SOMERSAULT 100
247 #define M_PUNCH_TIME 2 // sec
251 #define M_HP_VISIBILITY_DISTANCE (M_UNIT*4)
252 #define M_TOUCH_HIT_INTERVAL (1.1)
254 #define M_PLAYER_ATTACK_RANGE (M_UNIT*2.2)
255 #define M_PLAYER_ATTACK_INTERVAL (0.4)
256 #define M_MATTACK_RANGE (M_UNIT*1)
258 #define M_DISPLAY_DAMAGE 2.0 //sec
262 #define M_XP_LVL2 20 // XP required for 2nd level
263 #define M_XP_INCREMENT 1.5 // Next level costs XP_Current * M_XP_INCREMENT
265 #define M_HP_INCREMENT 2 // HP points added to HP_Max
266 #define M_AP_INCREMENT 1 // AP added to all attacks
267 #define M_DP_INCREMENT 0.1 // DP added to all defenses
272 #define MSG(str, ...) (::laSystemIntegrator::getEnvironment()->message(M_FALSE, str, __VA_ARGS__)) //<! Debug message box
273 #define MLOG(str, ...) (::laSystemIntegrator::getEnvironment()->mlog(__FUNCTION__, str, __VA_ARGS__)) //<! Debug log file message
286 #define M_MODE_PROFILE //<! Enable global profiler
292 #ifdef M_MODE_PROFILE
293 #define PROFILE(x) Prof(x)
298 #ifdef M_MODE_PROFILE_COL
299 #define PROFILE_COL(x) PROFILE(x)
301 #define PROFILE_COL(x)
304 #ifdef M_MODE_PROFILE_REN
305 #define PROFILE_REN(x) PROFILE(x)
307 #define PROFILE_REN(x)
310 #ifdef M_MODE_PROFILE_ANIM
311 #define PROFILE_ANIM(x) PROFILE(x)
313 #define PROFILE_ANIM(x)
316 #ifdef M_MODE_PROFILE_LVL
317 #define PROFILE_LVL(x) PROFILE(x)
319 #define PROFILE_LVL(x)
322 #endif //#ifndef M_PARAMETERS_H