#ifndef id2E81C803F1B94170B2C61A63D5020E08 #define id2E81C803F1B94170B2C61A63D5020E08 #if defined(__cplusplus) # include #else # include #endif #if !defined(DK_COORD_SCALAR_TYPE) /* this type represent tiles' coordinates, so it should be an integer type */ /* so it's not the tile position in your game world */ # define DK_COORD_SCALAR_TYPE int32_t #endif #if !defined(DK_COORD_DISTANCE_TYPE) # define DK_COORD_DISTANCE_TYPE int64_t #endif #if defined(__cplusplus) # define MAKE_DK_NAME(a) a namespace dk { #else # define MAKE_DK_NAME(a) dk_ ## a #endif typedef DK_COORD_SCALAR_TYPE MAKE_DK_NAME(CoordinateScalarType); typedef DK_COORD_DISTANCE_TYPE MAKE_DK_NAME(CoordinateDistType); #if defined(__cplusplus) } //namespace dk #endif #undef DK_COORD_SCALAR_TYPE #undef DK_COORD_DISTANCE_TYPE #undef MAKE_DK_NAME #if !defined(NDEBUG) && !defined(NO_DK_ASSERTIONS) # if !defined(DK_ASSERT) # include # define DK_ASSERT(a) assert(a) # endif # define DK_ASSERTIONS_ENABLED #else # if !defined(DK_ASSERT) # define DK_ASSERT(a) # endif #endif #endif