src/Config.hh
author ekku
Sun, 07 Dec 2008 18:21:44 +0000
changeset 247 b87f68be579f
parent 235 0a0c729365ee
child 255 99431fdb0dc8
permissions -rw-r--r--
When on the ground, dont integrate in vain
#ifndef CONFIG_HH
#define CONFIG_HH

// XXX: merge this as Config.hh.in?
#include "config.h"

#include <ClanLib/display.h>

// This is a temporary way to declare different constants. Maybe we
// should do somekind of resource manager? Do we have time?

// Mathematical constants
const float KG_PI = 3.14159265;

// Physics simulation
// Physics resolution
const uint16_t MAP_WIDTH = 800;
const uint16_t MAP_HEIGHT = 600;
const float MAP_SCALE = 1; // One "pixel" in "real" units
// Simulation
const uint16_t PHYSICS_TICK_MS = 10;

// Constants affecting physics
const float MAP_GRAVITY = 1500.0;

// Player properties
const float PLAYER_MASS = 10.0;
const float PLAYER_MOVE_FORCE = 1100.0;
const float PLAYER_MIN_SPEED = 10.0;
const float PLAYER_JUMP_MIN_DISTANCE = 5.0;
const float PLAYER_AIM_MIN = -KG_PI/4; 
const float PLAYER_AIM_MAX = KG_PI/2;
const float PLAYER_INITIAL_X = 400.0;
const float PLAYER_INITIAL_Y = 300.0;
const float CROSSHAIR_ANGLE_SPEED = PI/40;

const float PLAYER_MAX_SPEED = 43;
const float PLAYER_WALK_SPEED = 33;

const float PLAYER_COLLISION_ELASTICITY = 0.25; // TODO: This could be
                                        // different for different
                                        // objects

// how far away from the player the projectile spawns
const float PROJECTILE_START_DISTANCE = 10.0;

const float ROPE_GROWTH_RATE = 5;
const float ROPE_FORCE = 3500;
const float ROPE_MASS = 10.0;   // same as player mass...?
const float ROPE_LENGTH = 100.0;
const float ROPE_VELOCITY = 500;

// Graphical properties
const CL_Color COLOR_EMPTY(86, 41, 0);
const CL_Color COLOR_DIRT(144, 82, 23);
const CL_Color COLOR_ROCK(132, 136, 135);

// Data paths
const std::string PLAYER_SKIN_PATH = (PROJECT_DATA_DIR "/skin.png");
const std::string RESOURCE_XML_PATH = (PROJECT_DATA_DIR "/resources.xml");

#endif