_auto.inc 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. /**--------------------------------------------------------------------------**\
  2. ===============================
  3. Y Sever Includes - Master Auto
  4. ===============================
  5. Description:
  6. Attempts to figure out from what library the current instance of the master
  7. system was included from.
  8. Legal:
  9. Version: MPL 1.1
  10. The contents of this file are subject to the Mozilla Public License Version
  11. 1.1 (the "License"); you may not use this file except in compliance with
  12. the License. You may obtain a copy of the License at
  13. http://www.mozilla.org/MPL/
  14. Software distributed under the License is distributed on an "AS IS" basis,
  15. WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  16. for the specific language governing rights and limitations under the
  17. License.
  18. The Original Code is the YSI master include.
  19. The Initial Developer of the Original Code is Alex "Y_Less" Cole.
  20. Portions created by the Initial Developer are Copyright (C) 2011
  21. the Initial Developer. All Rights Reserved.
  22. Contributors:
  23. ZeeX, koolk, JoeBullet/Google63, g_aSlice/Slice
  24. Thanks:
  25. JoeBullet/Google63 - Handy arbitrary ASM jump code using SCTRL.
  26. ZeeX - Very productive conversations.
  27. koolk - IsPlayerinAreaEx code.
  28. TheAlpha - Danish translation.
  29. breadfish - German translation.
  30. Fireburn - Dutch translation.
  31. yom - French translation.
  32. 50p - Polish translation.
  33. Zamaroht - Spanish translation.
  34. Dracoblue, sintax, mabako, Xtreme, other coders - Producing other modes
  35. for me to strive to better.
  36. Pixels^ - Running XScripters where the idea was born.
  37. Matite - Pestering me to release it and using it.
  38. Very special thanks to:
  39. Thiadmer - PAWN, whose limits continue to amaze me!
  40. Kye/Kalcor - SA:MP.
  41. SA:MP Team past, present and future - SA:MP.
  42. Version:
  43. 0.1
  44. Changelog:
  45. 06/08/10:
  46. First version.
  47. Functions:
  48. Public:
  49. -
  50. Core:
  51. -
  52. Stock:
  53. -
  54. Static:
  55. -
  56. Inline:
  57. -
  58. API:
  59. -
  60. Hooks:
  61. -
  62. Callbacks:
  63. -
  64. Definitions:
  65. -
  66. Enums:
  67. -
  68. Macros:
  69. -
  70. Tags:
  71. -
  72. Variables:
  73. Global:
  74. -.
  75. Static:
  76. -
  77. Commands:
  78. -
  79. Compile options:
  80. -
  81. Operators:
  82. -
  83. Natives:
  84. -
  85. </remarks>
  86. \**--------------------------------------------------------------------------**/
  87. // =============================================================================
  88. // =============================================================================
  89. //
  90. // MAKE SURE THE RECALL CODE IN y_groups HAS THE RIGHT NUMBERS - THATS GIVEN
  91. // ODD ERRORS TWICE NOW!!!
  92. //
  93. // =============================================================================
  94. // =============================================================================
  95. #undef _inc__auto
  96. //#define _YSIM_USED_AUTO
  97. #if defined YSI_TESTS
  98. /*#if defined _inc_y_testing
  99. #if !defined _YCM_j@
  100. #define MASTER 9
  101. #endinput
  102. #endif
  103. #endif*/
  104. #if defined _MASTER_TEST_ID
  105. #if !defined _YCM_i@
  106. #define MASTER 8
  107. //#undef _MASTER_TEST_ID
  108. #endinput
  109. #endif
  110. #endif
  111. //#include "y_testing"
  112. //#define _MASTER_TEST_ID
  113. #endif
  114. // Commands are set as master number 25
  115. #if defined _inc_y_commands
  116. #if !defined _YCM_z@ // z is letter 25
  117. #define MASTER 25
  118. #endinput
  119. #endif
  120. #endif
  121. // Groups are set as master number 24
  122. #if defined _inc_y_grouponce
  123. #if !defined _YCM_y@ // y is letter 24
  124. #define MASTER 24
  125. #endinput
  126. #endif
  127. #endif
  128. // Reserve this number (only in terms of not using it).
  129. //#define DEFAULT_USER_COMMAND_MASTER 23
  130. // Classes are set as master number 22
  131. #if defined _inc_y_classes
  132. #if !defined _YCM_w@ // w is letter 22
  133. #define MASTER 22
  134. //#if defined _inc_y_classes_do
  135. // // Make sure only the implementation file calls y_master.
  136. // #define YSIM_DISABLE_RECALL
  137. //#endif
  138. #endinput
  139. #endif
  140. #endif
  141. // Languages are set as master number 21. This is the first library I've done
  142. // since largely finishing the y_master system (I hope anyway) and it is now, I
  143. // have to say, VERY smooth adding in a new YSI mastered library! Actually, I
  144. // need to remember to add the "revert" code, but it's only hard with groups.
  145. #if defined _inc_y_languages
  146. #if !defined _YCM_v@ // v is letter 21
  147. #define MASTER 21
  148. #endinput
  149. #endif
  150. #endif
  151. // Players are set as master number 20
  152. #if defined _inc_y_users
  153. #if !defined _YCM_u@ // u is letter 20
  154. #define MASTER 20
  155. #endinput
  156. #endif
  157. #endif
  158. // Dialogs are set as master number 19
  159. #if defined _inc_y_dialog
  160. #if !defined _YCM_t@ // t is letter 19
  161. #define MASTER 19
  162. #endinput
  163. #endif
  164. #endif
  165. // Areas are set as master number 18
  166. #if defined _inc_y_areas
  167. #if !defined _YCM_s@ // s is letter 18
  168. #define MASTER 18
  169. #endinput
  170. #endif
  171. #endif
  172. // PHP is set as master number 17
  173. #if defined _inc_y_php
  174. #if !defined _YCM_r@ // r is letter 17
  175. #define MASTER 17
  176. #endinput
  177. #endif
  178. #endif
  179. // Incognito's streamer is set as master number 16
  180. #if defined _inc_streamer
  181. #if !defined _YCM_q@ // q is letter 16
  182. #define MASTER 16
  183. #endinput
  184. #endif
  185. #endif
  186. // Incognito's streamer is set as master number 16
  187. #if defined _inc_y_phone
  188. #if !defined _YCM_p@ // q is letter 16
  189. #define MASTER 15
  190. #endinput
  191. #endif
  192. #endif
  193. // Races are set as master number 14
  194. #if defined _inc_y_races
  195. #if !defined _YCM_o@ // o is letter 14
  196. #define MASTER 14
  197. #endinput
  198. #endif
  199. #endif
  200. #if defined _inc_y_zonenames
  201. #if !defined _YCM_n@ // o is letter 14
  202. #define MASTER 13
  203. #endinput
  204. #endif
  205. #endif
  206. // The help system is set as master number 29
  207. /*#if defined _inc_y_help
  208. #if !defined _YCM_u@ // D is letter 29
  209. #define MASTER 20
  210. #endinput
  211. #endif
  212. #endif*/
  213. #if defined _YSI_ALLOW_INTERNAL_TEST
  214. /*#if defined _inc_y_inttest
  215. #if !defined _YCM_j@
  216. #define MASTER 9
  217. #endinput
  218. #endif
  219. #endif
  220. #if defined _inc_y_inttest2
  221. #if !defined _YCM_i@
  222. #define MASTER 8
  223. #endinput
  224. #endif
  225. #endif*/
  226. #endif