1 /* 2 * all defines that can change the compiling 3 */ 4 5 #ifndef simconst_h 6 #define simconst_h 7 8 // color depth (default assumes RGB565), undefine only for rgb555 builds! 9 //#define RGB555 10 11 // number of player 12 #define MAX_PLAYER_COUNT (16) 13 #define PLAYER_UNOWNED (15) 14 15 /* Flag for non Intel byte order 16 * SET THIS IN YOUR COMPILER COMMAND LINE! 17 */ 18 //#define SIM_BIG_ENDIAN 19 20 /* crossconnect industry and half heights like openTTD */ 21 //#define OTTD_LIKE 22 23 /* single height is only 8 pixel (default 16) */ 24 //#define HALF_HEIGHT 25 26 /* construct automatic bridges also as active player */ 27 //#define AUTOMATIC_BRIDGES 28 29 /* construct automatic tunnels also as active player */ 30 //#define AUTOMATIC_TUNNELS 31 32 /* citycars have a destination; if they could get near, they dissolve */ 33 //#define DESTINATION_CITYCARS 34 35 /* need to emulate the mouse pointer with a graphic */ 36 //#define USE_SOFTPOINTER 37 38 /* Use assembly imepmentation of routines if available 39 * Some routines, eg for drawing, can have assembly implementations for certaint platforms that may perform better */ 40 #define USE_ASSEMBLER 41 42 /* Use low level C/C++ implementations of routines 43 * Some routines, eg for drawing, can have low level C++ implementations that might perform better on certain platforms */ 44 #define LOW_LEVEL 45 46 // The wind (i.e. approach direction) is random all over the map (not recommended, since it confuses players) 47 //#define USE_DIFFERENT_WIND 48 49 // define this for automatically joining stations next to a public stop with it 50 //#define AUTOJOIN_PUBLIC 51 52 // allow minspeed and private way signs on waterways (imho pointless) 53 //#define ENABLE_WATERWAY_SIGNS 54 55 // Maximum number of threads 56 #define MAX_THREADS (12) 57 58 59 /*********************** Useful things for debugging ... ********************/ 60 61 /* will highlight marked areas and convoi will leave traces */ 62 //#define DEBUG_ROUTES 63 64 /* shows which tiles are drawn as dings (used in boden/grund.cc) */ 65 //#define SHOW_FORE_GRUND 66 67 /* shows with block needed update and which not */ 68 //#define DEBUG_FLUSH_BUFFER 69 70 /* define USE_VALGRIND_MEMCHECK to make valgrind aware of the freelist memory pool */ 71 //#define USE_VALGRIND_MEMCHECK 72 73 /* define this to check for double free and sizes for freelist */ 74 //#define DEBUG_FREELIST 75 76 77 /**************************** automatic stuff ********************************/ 78 79 80 // inclination types 81 // constants used in tools tool_setslope / tool_restoreslope_t 82 #define ALL_UP_SLOPE (82) 83 #define ALL_DOWN_SLOPE (83) 84 #define RESTORE_SLOPE (84) 85 #define ALL_UP_SLOPE_SINGLE (16) 86 #define ALL_DOWN_SLOPE_SINGLE (17) 87 #define RESTORE_SLOPE_SINGLE (18) 88 89 90 // 16 internal pixels per tile, for purposes of object visual offsets. 91 #define OBJECT_OFFSET_STEPS (16) 92 // These must be changed (along with lots of other code) if OBJECT_OFFSET_STEPS is changed. 93 #define tile_raster_scale_x(v, rw) (((v)*(rw)) >> 6) 94 #define tile_raster_scale_y(v, rh) (((v)*(rh)) >> 6) 95 96 #define INVALID_INDEX (65530u) 97 98 // offsets for mouse pointer 99 #define Z_PLAN (4) 100 #define Z_GRID (0) 101 102 #endif 103