?login_element?

Subversion Repositories NedoOS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. #pragma disable_warning 85
  2.  
  3. //юяЁхфхыхэш  Єшяют яхЁхьхээ√ї
  4.  
  5. typedef unsigned char u8;
  6. typedef   signed char i8;
  7. typedef unsigned  int u16;
  8. typedef   signed  int i16;
  9. typedef unsigned long u32;
  10. typedef   signed long i32;
  11.  
  12. #define TRUE    1
  13. #define FALSE   0
  14.  
  15. //Їыруш ъэюяюъ фцющёЄшър
  16.  
  17. #define JOY_RIGHT       0x01
  18. #define JOY_LEFT        0x02
  19. #define JOY_DOWN        0x04
  20. #define JOY_UP          0x08
  21. #define JOY_FIRE        0x10
  22.  
  23. //ёьх∙хэш  т ьрёёштх ъыртш° фы  юяЁюёр ъыртшрЄєЁ√
  24.  
  25. #define KEY_SPACE       0x23
  26. #define KEY_ENTER       0x1e
  27. #define KEY_SYMBOL      0x24
  28. #define KEY_CAPS        0x00
  29.  
  30. #define KEY_0           0x14
  31. #define KEY_1           0x0f
  32. #define KEY_2           0x10
  33. #define KEY_3           0x11
  34. #define KEY_4           0x12
  35. #define KEY_5           0x13
  36. #define KEY_6           0x18
  37. #define KEY_7           0x17
  38. #define KEY_8           0x16
  39. #define KEY_9           0x15
  40.  
  41. #define KEY_A           0x05
  42. #define KEY_B           0x27
  43. #define KEY_C           0x03
  44. #define KEY_D           0x07
  45. #define KEY_E           0x0c
  46. #define KEY_F           0x08
  47. #define KEY_G           0x09
  48. #define KEY_H           0x22
  49. #define KEY_I           0x1b
  50. #define KEY_J           0x21
  51. #define KEY_K           0x20
  52. #define KEY_L           0x1f
  53. #define KEY_M           0x25
  54. #define KEY_N           0x26
  55. #define KEY_O           0x1a
  56. #define KEY_P           0x19
  57. #define KEY_Q           0x0a
  58. #define KEY_R           0x0d
  59. #define KEY_S           0x06
  60. #define KEY_T           0x0e
  61. #define KEY_U           0x1c
  62. #define KEY_V           0x04
  63. #define KEY_W           0x0b
  64. #define KEY_X           0x02
  65. #define KEY_Y           0x1d
  66. #define KEY_Z           0x01
  67.  
  68. //Їыруш ёюёЄю эш  ъыртш°
  69.  
  70. #define KEY_DOWN        0x01    //ъэюяър єфхЁцштрхЄё 
  71. #define KEY_PRESS       0x02    //ъэюяър эрцрЄр, Їыру ёсЁрё√трхЄё  яюёых т√чютр keyboard
  72.  
  73. //Їыруш ъэюяюъ ь√°ш
  74.  
  75. #define MOUSE_LBTN      0x01
  76. #define MOUSE_RBTN      0x02
  77. #define MOUSE_MBTN      0x04
  78.  
  79. //яюыєўхэшх ъюфр ЎтхЄр шч RGB ё фтєїсшЄэ√ьш чэрўхэш ьш ърэрыют
  80.  
  81. #define RGB222(r,g,b)   (((b)&3)|(((g)&3)<<2)|(((r)&3)<<4))
  82.  
  83. //ъЁрщэшх ш ёЁхфэшщ єЁютэш  ЁъюёЄш
  84.  
  85. #define BRIGHT_MIN      0
  86. #define BRIGHT_MID      3
  87. #define BRIGHT_MAX      6
  88.  
  89. //ъюф ъюэЎр ёяшёър ёяЁрщЄют
  90.  
  91. #define SPRITE_END      0xff00
  92.  
  93.  
  94.  
  95. //чряюыэхэшх ярь Єш чрфрээ√ь чэрўхэшхь
  96.  
  97. void memset(void* m,u8 b,u16 len) __naked;
  98.  
  99. //ъюяшЁютрэшх ярь Єш, юсырёЄш эх фюыцэ√ яхЁхёхърЄ№ё 
  100.  
  101. void memcpy(void* d,void* s,u16 len) __naked;
  102.  
  103. //ухэхЁрЎш  16-сшЄэюую яёхтфюёыєўрщэюую ўшёыр
  104.  
  105. u16 rand16(void) __naked;
  106.  
  107. //єёЄрэютър ЎтхЄр сюЁф■Ёр, 0..15
  108.  
  109. void border(u8 n) __naked;
  110.  
  111. //юцшфрэшх ёыхфє■∙хую ╥┬ ърфЁр
  112.  
  113. void vsync(void) __naked;
  114.  
  115. //юяЁюё kempston фцющёЄшър ш ъєЁёюЁэ√ї ъыртш° ё яЁюсхыюь
  116. //фы  юяЁюёр ъэюяюъ хёЄ№ ъюэёЄрэЄ√ JOY_
  117.  
  118. u8 joystick(void) __naked;
  119.  
  120. //юяЁюё ъыртшрЄєЁ√, тючтЁр∙рхЄ ёюёЄю эшх ъыртш° т 40-срщЄэ√щ ьрёёшт
  121. //фы  юяЁюёр ъыртш° хёЄ№ ъюэёЄрэЄ√ KEY_
  122.  
  123. void keyboard(u8* keys) __naked;
  124.  
  125. //яюыєўхэшх Єхъє∙хщ яючшЎшш єърчрЄхы  ь√°ш, ЁрчЁх°хэшх яю x яюэшцхэю тфтюх, ъръ фы  ёяЁрщЄют
  126. //ь√°№ яхЁхьх∙рхЄё  т чрфрээющ чюэх ъышяяшэур
  127.  
  128. u8 mouse_pos(u8* x,u8* y) __naked;
  129.  
  130. //єёЄрэютър Єхъє∙хщ яючшЎшш єърчрЄхы  ь√°ш
  131.  
  132. void mouse_set(u8 x,u8 y) __naked;
  133.  
  134. //єёЄрэютър чюэ√ ъышяяшэур фы  єърчрЄхы  ь√°ш, яю єьюыўрэш■ 0..160, 0..200
  135.  
  136. void mouse_clip(u8 xmin,u8 ymin,u8 xmax,u8 ymax) __naked;
  137.  
  138. //яюыєўхэшх фхы№Є√ яхЁхьх∙хэш  ь√°ш, схч яюэшцхэш  ЁрчЁх°хэш  яю x
  139.  
  140. u8 mouse_delta(i8* x,i8* y) __naked;
  141.  
  142. //яЁюшуЁ√трэшх чтєъютюую ¤ЇЇхъЄр ё єърчрээ√ь эюьхЁюь ш юЄэюёшЄхы№эющ уЁюьъюёЄ№■ -8..8
  143.  
  144. void sfx_play(u8 sfx,i8 vol) __naked;
  145.  
  146. //юёЄрэют тёхї яЁюшуЁ√трхь√ї чтєъют√ї ¤ЇЇхъЄют
  147.  
  148. void sfx_stop(void) __naked;
  149.  
  150. //яЁюшуЁ√трэшх ьєч√ъш ё єърчрээ√ь эюьхЁюь
  151.  
  152. void music_play(u8 mus) __naked;
  153.  
  154. //яЁхъЁр∙хэшх яЁюшуЁ√трэш  ьєч√ъш
  155.  
  156. void music_stop(void) __naked;
  157.  
  158. //яЁюшуЁ√трэшх ё¤ьяыр ё єърчрээ√ь эюьхЁюь ўхЁхч Covox
  159. //тю тЁхь  яЁюшуЁ√трэш  яЁюуЁрььр цф╕Є ш яЁхЁ√трэш  чряЁх∙хэ√
  160.  
  161. void sample_play(u8 sample) __naked;
  162.  
  163. //єёЄрэютър тёхї чэрўхэшщ т ярышЄЁх т 0 (ў╕Ёэ√щ ЎтхЄ)
  164.  
  165. void pal_clear(void) __naked;
  166.  
  167. //єёЄрэютър  ЁъюёЄш ¤ъЁрэр BRIGHT_MIN..BRIGHT_MID..BRIGHT_MAX (0..3..6)
  168. //юЄ яюыэюёЄ№■ ў╕Ёэюую ¤ъЁрэр фю эюЁьры№эющ  ЁъюёЄш фю яюыэюёЄ№■ схыюую ¤ъЁрэр
  169.  
  170. void pal_bright(u8 bright) __naked;
  171.  
  172. //т√сюЁ яЁхфюяЁхфхы╕ээющ ярышЄЁ√ яю эюьхЁє
  173.  
  174. void pal_select(u8 id) __naked;
  175.  
  176. //ъюяшЁютрэшх яЁхфюяЁхфхы╕ээющ ярышЄЁ√ т ьрёёшт (16 срщЄ)
  177.  
  178. void pal_copy(u8 id,u8* pal) __naked;
  179.  
  180. //єёЄрэютър ЎтхЄр т ярышЄЁх, id 0..15, col т ЇюЁьрЄх R2G2B2
  181.  
  182. void pal_col(u8 id,u8 col) __naked;
  183.  
  184. //єёЄрэютър тёхї 16 ЎтхЄют т ярышЄЁх чэрўхэш ьш R2G2B2 шч ьрёёштр
  185.  
  186. void pal_custom(u8* pal) __naked;
  187.  
  188. //т√сюЁ шчюсЁрцхэш  фы  ЇєэъЎшщ draw_tile
  189.  
  190. void select_image(u8 id) __naked;
  191.  
  192. //т√сюЁ яЁючЁрўэюую ЎтхЄр 0..15 фы  ЇєэъЎшш draw_tile_key
  193.  
  194. void color_key(u8 col) __naked;
  195.  
  196. //юЄЁшёютър Єрщыр шч Єхъє∙хую т√сЁрээюую шчюсЁрцхэш 
  197. //т юфэюь шчюсЁрцхэшш ьюцхЄ с√Є№ фю 65536 Єрщыют
  198.  
  199. void draw_tile(u8 x,u8 y,u16 tile) __naked;
  200.  
  201. //юЄЁшёютър Єрщыр ё ьрёъющ, чрфрээющ эюьхЁюь яЁючЁрўэюую ЎтхЄр
  202.  
  203. void draw_tile_key(u8 x,u8 y,u16 tile) __naked;
  204.  
  205. //юЄЁшёютър шчюсЁрцхэш  Ўхышъюь
  206.  
  207. void draw_image(u8 x,u8 y,u8 id) __naked;
  208. void draw_image_extra(u8 x,u8 y,u8 id,u8 width,u8 begx) __naked;
  209.  
  210. //юўшёЄър Єхэхтюую ¤ъЁрэр эєцэ√ь ЎтхЄюь 0..15
  211.  
  212. void clear_screen(u8 color) __naked;
  213.  
  214. //яхЁхъы■ўхэшх ¤ъЁрэют, Єхэхтющ ёЄрэютшЄё  тшфшь√ь
  215. //юцшфрэшх ърфЁр т√яюыэ хЄё  ртЄюьрЄшўхёъш, vsync яхЁхф т√чютюь ¤Єющ ЇєэъЎшш эх эєцхэ
  216. //ЇєэъЎш  Єръцх юсэюты хЄ ёяЁрщЄ√, хёыш юэш тъы■ўхэ√
  217.  
  218. void swap_screen(void) __naked;
  219.  
  220. //чряєёъ ёшёЄхь√ т√тюфр ёяЁрщЄют
  221. //эр тшфшьюь ¤ъЁрэх фюыцэю с√Є№ шчюсЁрцхэшх, яютхЁї ъюЄюЁюую сєфєЄ т√тхфхэ√ ёяЁрщЄ√
  222. //¤Єр ЇєэъЎш  т√яюыэ хЄё  ьхфыхээю, яЁюшёїюфшЄ ъюяшЁютрэшх сюы№°юую юс·╕ьр фрээ√ї
  223. //яюёых Єюую ъръ ёяЁрщЄ√ ЁрчЁх°хэ√, юэш сєфєЄ ртЄюьрЄшўхёъш т√тюфшЄ№ё  яЁш swap_screen
  224.  
  225. void sprites_start(void) __naked;
  226.  
  227. //юёЄрэют ёшёЄхь√ т√тюфр ёяЁрщЄют
  228.  
  229. void sprites_stop(void) __naked;
  230.  
  231. //єёЄрэютър яюыюцхэш  ёяЁрщЄр
  232. //id эюьхЁ т ёяшёъх 0..63
  233. //x ъююЁфшэрЄр 0..152 (ЄюўэюёЄ№ т√тюфр яю уюЁшчюэЄрыш фтр ¤ъЁрээ√ї яшъёхы )
  234. //y ъююЁфшэрЄр 0..184
  235. //spr эюьхЁ шчюсЁрцхэш  ёяЁрщЄр, хёыш SPRITE_END, Єю т√тюф ёяшёър яЁхъЁр∙рхЄё 
  236. //тэшьрэшх: ъышяяшэу яЁш т√тюфх юЄёєЄёЄтєхЄ, ёяЁрщЄ эх ьюцхЄ ўрёЄшўэю чрїюфшЄ№
  237. //чр уЁрэшЎє ¤ъЁрэр
  238.  
  239. void set_sprite(u8 id,u8 x,u8 y,u16 spr) __naked;
  240.  
  241. //тЁхь  ё ьюьхэЄр чряєёър яЁюуЁрьь√ т ърфЁрї
  242.  
  243. u32 time(void) __naked;
  244.  
  245. //чрфхЁцър, чэрўхэшх т ърфЁрї (1/50 ёхъєэф√)
  246.  
  247. void delay(u16 time) __naked;
  248.  
  249.  
  250.  
  251.