💿🐜 Antkeeper source code https://antkeeper.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
2.6 KiB

7 years ago
7 years ago
7 years ago
  1. /*
  2. * Copyright (C) 2017 Christopher J. Howard
  3. *
  4. * This file is part of Antkeeper Source Code.
  5. *
  6. * Antkeeper Source Code is free software: you can redistribute it and/or modify
  7. * it under the terms of the GNU General Public License as published by
  8. * the Free Software Foundation, either version 3 of the License, or
  9. * (at your option) any later version.
  10. *
  11. * Antkeeper Source Code is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. * GNU General Public License for more details.
  15. *
  16. * You should have received a copy of the GNU General Public License
  17. * along with Antkeeper Source Code. If not, see <http://www.gnu.org/licenses/>.
  18. */
  19. #ifndef CONFIGURATION_HPP
  20. #define CONFIGURATION_HPP
  21. #include <emergent/emergent.hpp>
  22. using namespace Emergent;
  23. #define ANTKEEPER_VERSION_MAJOR @ANTKEEPER_VERSION_MAJOR@
  24. #define ANTKEEPER_VERSION_MINOR @ANTKEEPER_VERSION_MINOR@
  25. #define ANTKEEPER_VERSION_PATCH @ANTKEEPER_VERSION_PATCH@
  26. #define ANTKEEPER_VERSION_STRING "@ANTKEEPER_VERSION@"
  27. #cmakedefine ANTKEEPER_DEBUG
  28. // Terrain dimensions
  29. const float ANTKEEPER_TERRAIN_WIDTH = 100.0f;
  30. const float ANTKEEPER_TERRAIN_BASE_HEIGHT = 35.7f;
  31. const float ANTKEEPER_TERRAIN_DEPTH = ANTKEEPER_TERRAIN_WIDTH;
  32. const float ANTKEEPER_OCTREE_PADDING = 5.0f;
  33. // UI
  34. const int ANTKEEPER_UI_LAYER_LOADING = 40;
  35. const int ANTKEEPER_UI_LAYER_BLACKOUT = 30;
  36. const int ANTKEEPER_UI_LAYER_MENU = 20;
  37. const int ANTKEEPER_UI_LAYER_DARKEN = 10;
  38. const int ANTKEEPER_UI_LAYER_HUD = 0;
  39. const float WORLD_WIDTH = 100.0f; // cm
  40. const float WORLD_HEIGHT = 100.0f; // cm
  41. const float FRAMES_PER_SECOND = 60.0f;
  42. const float TIMESTEP = 1.0f / FRAMES_PER_SECOND;
  43. const float PHEROMONE_MATRIX_RESOLUTION = 5.12f;
  44. const int PHEROMONE_MATRIX_COLUMNS = (int)(WORLD_WIDTH * PHEROMONE_MATRIX_RESOLUTION);
  45. const int PHEROMONE_MATRIX_ROWS = (int)(WORLD_HEIGHT * PHEROMONE_MATRIX_RESOLUTION);
  46. const Vector2 WORLD_BOUNDS_MIN = Vector2(-WORLD_WIDTH * 0.5f, -WORLD_HEIGHT * 0.5f);
  47. const Vector2 WORLD_BOUNDS_MAX = Vector2(WORLD_WIDTH * 0.5f, WORLD_HEIGHT * 0.5f);
  48. const float BRUSH_RADIUS = 0.5f;
  49. const float EVAPORATION_FACTOR = 0.99925f;
  50. const float DIFFUSIONS_PER_SECOND = 4.0f;
  51. const int DIFFUSION_FRAME = static_cast<int>(FRAMES_PER_SECOND / DIFFUSIONS_PER_SECOND);
  52. const float HOMING_PHEROMONE_COLOR[] = {0.55f, 0.55f, 0.00f, 0.0f}; // CMYK
  53. const float RECRUITMENT_PHEROMONE_COLOR[] = {0.00f, 0.55f, 0.55f, 0.0f}; // CMYK
  54. const float ALARM_PHEROMONE_COLOR[] = {0.00f, 0.00f, 1.00f, 0.0f}; // CMYK
  55. #endif // CONFIGURATION_HPP