#ifndef __SETTINGS_H__ # define __SETTINGS_H__ #include using namespace libnum; /* Radius of the level cylinder, in world units. */ #define LEVEL_RADIUS num(4.0) /* Radius of the kill plane */ #define KILL_PLANE_RADIUS num(12.0) /* Number of platforms in the world cylinder. */ #define PLATFORM_COUNT 10 /* Height of a single platform step. Most levels generate platforms whose height is a integer multiple of this value above the default height. */ #define PLATFORM_HEIGHT_STEP (LEVEL_RADIUS / 12) /* Speed of red platforms falling once walked on (world units/s). */ #define PLATFORM_FALL_SPEED num(1.5) /* Platforms len information, in word units */ #define PLATFORM_LEN_LONG num(3.0) #define PLATFORM_LEN_SHORT num(1) /* Magnitude of the gravity field, locally (world units/s^2), when holding the jump button and when releasing it. */ #define HOVERING_GRAVITY num(-1.75) #define FALLING_GRAVITY num(-12.0) /* Vertical speed granted when a jump starts (world units/s). */ #define JUMP_THRUST num(2.0) /* Maximum height of a step that can be crossed without dying. */ #define STEP_HEIGHT (LEVEL_RADIUS * num(0.09)) /* Player height, for collisions with platform fronts. */ #define PLAYER_HEIGHT num(0.8) /* Duration of a rotation by one platform (s). */ #define TIME_ROTATION num(0.1) /* How long a jump must last for (s). */ #define TIME_JUMP_THRUST_MIN num(0.25) /* Duration of the death animation (s). */ #define TIME_DEATH_ANIMATION num(2.0) /* Duration of the particle trace animation. */ #define TIME_PTRACE_ANIMATION num(2.0) /* Vertical FOV, in degrees */ #define RENDER_FOV 120.0 /* Height of camera above the player's feet, in world units */ #define RENDER_EYE_HEIGHT num(1.0) /* Number of sections visible in advance */ #define RENDER_DISTANCE 8 /* Distance between the player and the camera */ #define RENDER_CAMERA_BACK_DISTANCE num(0.67) /* Depth at which we start rendering platforms */ #define RENDER_DEPTH num(24.0) /* Set to 1 to enable logging by USB. */ #define LOG_USB_ENABLE 0 #endif /* __SETTINGS_H__ */