#ifndef _LCR_CONSTANTS_H
#define _LCR_CONSTANTS_H

#include "settings.h"

#define LCR_EFFECTIVE_RESOLUTION_X \
  (LCR_SETTING_RESOLUTION_X / LCR_SETTING_RESOLUTION_SUBDIVIDE)

#define LCR_EFFECTIVE_RESOLUTION_Y \
  (LCR_SETTING_RESOLUTION_Y / LCR_SETTING_RESOLUTION_SUBDIVIDE)

#define LCR_FREE_CAMERA_STEP \
  (LCR_SETTING_FREE_CAMERA_SPEED / LCR_SETTING_FPS)

#if LCR_FREE_CAMERA_STEP == 0
  #define LCR_FREE_CAMERA_STEP 1
#endif

#define LCR_FREE_CAMERA_TURN_STEP \
  (LCR_SETTING_FREE_CAMERA_TURN_SPEED / LCR_SETTING_FPS)

#define LCR_MAP_SIZE_BLOCKS 64

/** Physics FPS, i.e. the number of physics ticks per second. */
#define LCR_RACING_FPS 30

#define LCR_RACING_TICK_MS (1000 / LCR_RACING_FPS)

#define LCR_ANIMATE_CAR (LCR_SETTING_CAR_ANIMATION_SUBDIVIDE != 0)

/** Maximum number of triangles of a block shape. */
#define LCR_MAP_BLOCK_SHAPE_MAX_BYTES 80

#define LCR_FONT_PIXEL_SIZE (1 + LCR_EFFECTIVE_RESOLUTION_X / 512)

#define LCR_RESOURCE_FILE_SEPARATOR '#'
#define LCR_RESOURCE_FILE_SEPARATOR2 ';'

#define LCR_MENU_MAX_ITEMS 9    // don't change
#define LCR_RESOURCE_ITEM_CHUNK (LCR_MENU_MAX_ITEMS - 1)
#define LCR_MENU_TABS 4
#define LCR_MENU_STRING_SIZE 16

#endif
