1#ifndef DEFENDER_TYPES_HPP
2#define DEFENDER_TYPES_HPP
58 constexpr float TERRAIN_SEGMENT_WIDTH = 8.0f;
60 const int segment =
static_cast<int>(std::floor(wrapped_x / TERRAIN_SEGMENT_WIDTH));
61 const float segment_progress = std::fmod(wrapped_x, TERRAIN_SEGMENT_WIDTH) / TERRAIN_SEGMENT_WIDTH;
62 const auto height_for = [](
int index) {
63 const uint32_t hash =
static_cast<uint32_t
>(index) * 1103515245U + 12345U;
64 return WORLD_BOTTOM + 1.0f +
static_cast<float>((hash >> 16U) % 7U) * 0.26f;
66 return std::lerp(height_for(segment), height_for(segment + 1), segment_progress);
glm::vec3 nearest_world_position(glm::vec3 position, float origin_x)
constexpr glm::vec4 PROJECTILE_COLOR
constexpr float PROJECTILE_LIFETIME
float nearest_world_x(float target, float origin)
float wrapped_delta_x(float target, float origin)
constexpr float CONTROLLER_AXIS_MAX
constexpr float WORLD_BOTTOM
constexpr float WORLD_TOP
float wrap_world_x(float x)
constexpr Sint16 CONTROLLER_DEAD_ZONE
constexpr int MAX_ASTEROIDS
float terrain_height(float world_x)
constexpr float SHIP_MODEL_SCALE
constexpr float WORLD_HALF_WIDTH
constexpr int FIRE_COOLDOWN
constexpr int UFO_SPRITE_SET_COUNT
constexpr int MAX_PROJECTILES
constexpr float CAMERA_SCROLL_EDGE_FRACTION
constexpr float CAMERA_DISTANCE
constexpr int RADAR_HEIGHT
constexpr int GAME_VIEWPORT_TOP
constexpr float PROJECTILE_SPEED
constexpr float WORLD_WIDTH
constexpr int UFO_ANIMATION_FRAMES
constexpr float CAMERA_HEIGHT