config.h 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. /*
  2. Copyright (c) 2013 Daniele Bartolini, Michele Rossi
  3. Copyright (c) 2012 Daniele Bartolini, Simone Boscaratto
  4. Permission is hereby granted, free of charge, to any person
  5. obtaining a copy of this software and associated documentation
  6. files (the "Software"), to deal in the Software without
  7. restriction, including without limitation the rights to use,
  8. copy, modify, merge, publish, distribute, sublicense, and/or sell
  9. copies of the Software, and to permit persons to whom the
  10. Software is furnished to do so, subject to the following
  11. conditions:
  12. The above copyright notice and this permission notice shall be
  13. included in all copies or substantial portions of the Software.
  14. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  15. EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  16. OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  17. NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  18. HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  19. WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  20. FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  21. OTHER DEALINGS IN THE SOFTWARE.
  22. */
  23. // Adapted from Branimir Karadžić's config.h (https://github.com/bkaradzic/bx)
  24. #pragma once
  25. #include "platform.h"
  26. #ifndef CE_PIXELS_PER_METER
  27. #define CE_PIXELS_PER_METER 32
  28. #endif // CE_PIXELS_PER_METER
  29. #ifndef CROWN_DEFAULT_WINDOW_WIDTH
  30. #define CROWN_DEFAULT_WINDOW_WIDTH 1280
  31. #endif // CROWN_DEFAULT_WINDOW_WIDTH
  32. #ifndef CROWN_DEFAULT_WINDOW_HEIGHT
  33. #define CROWN_DEFAULT_WINDOW_HEIGHT 720
  34. #endif // CROWN_DEFAULT_WINDOW_HEIGHT
  35. #ifndef CROWN_DEFAULT_CONSOLE_PORT
  36. #define CROWN_DEFAULT_CONSOLE_PORT 10001
  37. #endif // CROWN_DEFAULT_CONSOLE_PORT
  38. #ifndef CE_MAX_WORLDS
  39. #define CE_MAX_WORLDS 1024
  40. #endif // CE_MAX_WORLDS
  41. #ifndef CE_MAX_UNITS
  42. #define CE_MAX_UNITS 65000 // Per world
  43. #endif // CE_MAX_UNITS
  44. #ifndef CE_MAX_CAMERAS
  45. #define CE_MAX_CAMERAS 16 // Per world
  46. #endif // CE_MAX_CAMERAS
  47. #ifndef CE_MAX_ACTORS
  48. #define CE_MAX_ACTORS 1024 // Per world
  49. #endif // CE_MAX_ACTORS
  50. #ifndef CE_MAX_CONTROLLERS
  51. #define CE_MAX_CONTROLLERS 16 // Per world
  52. #endif // CE_MAX
  53. #ifndef CE_MAX_TRIGGERS
  54. #define CE_MAX_TRIGGERS 1024 // Per world
  55. #endif // CE_MAX
  56. #ifndef CE_MAX_JOINTS
  57. #define CE_MAX_JOINTS 512 // Per world
  58. #endif // CE_MAX
  59. #ifndef CE_MAX_SOUND_INSTANCES
  60. #define CE_MAX_SOUND_INSTANCES 64 // Per world
  61. #endif // CE_MAX
  62. #ifndef CE_MAX_RAYCASTS
  63. #define CE_MAX_RAYCASTS 8 // Per World
  64. #endif // CE_MAX
  65. #ifndef CE_MAX_RAY_INTERSECTIONS
  66. #define CE_MAX_RAY_INTERSECTIONS 16
  67. #endif // CE_MAX
  68. #ifndef CE_MAX_CAMERA_COMPONENTS
  69. #define CE_MAX_CAMERA_COMPONENTS 16 // Per unit
  70. #endif // CE_MAX
  71. #ifndef CE_MAX_MESH_COMPONENTS
  72. #define CE_MAX_MESH_COMPONENTS 16 // Per unit
  73. #endif // CE_MAX
  74. #ifndef CE_MAX_SPRITE_COMPONENTS
  75. #define CE_MAX_SPRITE_COMPONENTS 16 // Per unit
  76. #endif // CE_MAX
  77. #ifndef CE_MAX_ACTOR_COMPONENTS
  78. #define CE_MAX_ACTOR_COMPONENTS 16 // Per unit
  79. #endif // CE_MAX
  80. #ifndef CE_MAX_MATERIAL_COMPONENTS
  81. #define CE_MAX_MATERIAL_COMPONENTS 16 // Per unit
  82. #endif // CE_MAX
  83. #ifndef CE_MAX_CONSOLE_CLIENTS
  84. #define CE_MAX_CONSOLE_CLIENTS 32
  85. #endif // CE_MAX
  86. #ifndef CE_MAX_GUI_RECTS
  87. #define CE_MAX_GUI_RECTS 64 // Per Gui
  88. #endif // CE_MAX
  89. #ifndef CE_MAX_GUI_TRIANGLES
  90. #define CE_MAX_GUI_TRIANGLES 64 // Per Gui
  91. #endif // CE_MAX
  92. #ifndef CE_MAX_GUI_IMAGES
  93. #define CE_MAX_GUI_IMAGES 64 // Per Gui
  94. #endif // CE_MAX
  95. #ifndef CE_MAX_GUI_TEXTS
  96. #define CE_MAX_GUI_TEXTS 64 // Per Gui
  97. #endif // CE_MAX
  98. #ifndef CE_MAX_DEBUG_LINES
  99. #define CE_MAX_DEBUG_LINES 2 * 1024 // Per DebugLine
  100. #endif // CE_MAX
  101. #ifndef CE_MAX_LUA_VECTOR3
  102. #define CE_MAX_LUA_VECTOR3 4096
  103. #endif // CE_MAX
  104. #ifndef CE_MAX_LUA_MATRIX4X4
  105. #define CE_MAX_LUA_MATRIX4X4 4096
  106. #endif // CE_MAX
  107. #ifndef CE_MAX_LUA_QUATERNION
  108. #define CE_MAX_LUA_QUATERNION 4096
  109. #endif // CE_MAX
  110. #ifndef CROWN_SOUND_OPENAL
  111. #define CROWN_SOUND_OPENAL (CROWN_PLATFORM_LINUX || CROWN_PLATFORM_WINDOWS)
  112. #endif // CROWN_SOUND_OPENAL
  113. #ifndef CROWN_SOUND_OPENSLES
  114. #define CROWN_SOUND_OPENSLES (CROWN_PLATFORM_ANDROID)
  115. #endif // CROWN_SOUND_OPENSLES