?login_element?

Subversion Repositories NedoOS

Rev

Rev 278 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. ;************************************************************
  2. ;**************** локальные переменные  *********************
  3. ;;*L+
  4.       DEFB #D;ummy
  5. ;Interupt entry
  6. INTRP   EX DE,HL
  7.         EX (SP),HL
  8.         LD (INTRQ+1),HL
  9.         EX DE,HL
  10.         POP DE
  11.         LD (INTRS+1),SP
  12.         LD SP,DBL_SP
  13.         CALL INAR0
  14. INTRS   LD SP,#0000 ;(**)
  15.         EI
  16. INTRQ   JP #0000 ;(**)
  17. ;/CONTRL
  18. CONTRB  DEFB    0
  19. ;/RND
  20. RNA     DEFW    911
  21. RNB     DEFB    20
  22. ;/XDLPZ
  23. DLPCB   DEFM "Чего"
  24.  
  25. ;/ROTATE
  26. isROT   DEFB 0 ;идёт скролл?
  27. ;/SW_OFF
  28. isSWFF  DEFB 0 ;1-погасить курсор
  29.  
  30. ;/OU_MAP
  31. delMAP  DEFB 0 ;задержка на выв карты
  32.  
  33. ;/MANUAL
  34. Z_LOCK  DEFB 0 ;"Z" нажата?
  35. T_FIRE  DEFB 0 ;тип нажатого FIRE (0-2)
  36. fixTAR  DEFB 0 ;1-цель зафиксирована
  37.  
  38. ;/BLITER
  39. V_LINE  DEFB 0 ;текущ выв линия
  40. V_FLAG  DEFB 0 ;режим отобр курсора: 0-norm, 1-refresh, 2-none
  41. P_FLAG  DEFB 0 ;если 1, выполнить отображение курсора
  42. ;/V_...
  43.         if EGA==0
  44. G_MX    DEFB  010
  45. G_MY    DEFB  010
  46. G_SIZE  DEFB 8      ;высота курс
  47. G_IMG   DEFW G_MAP1 ;изобр курс
  48.         endif
  49. ;TODO в EGA убрать и это:
  50. GBU1    DEFS 16,#F0 ;копия из SCR
  51. GBAD1   DEFW 0;0x0800;0     ;адр копии в SCR ;запарывает это место при первом вызове ;добавил проверку на 0
  52. GBU2    ds 16     ;копия из DSCR
  53. GBAD2   DEFW 0      ;
  54.  
  55. ;/X_PUT - параметры спрайта
  56. SHIFTh  DEFB    0
  57. IMGh    DEFW    #FE00
  58. ScrADh  DEFW    0
  59. Xh      DEFB    010     ;(з/м)
  60. Yh      DEFB    011     ;(pix)
  61. Wh      DEFB    2
  62. Hh      DEFB    16
  63. BHh     DEFB    16
  64.  
  65. ;/MAKE_R
  66. MAXLEN  DEFB 64 ;макс глубина просмотра 64-обычн/120-катакомб)
  67. MAXTRY  DEFB 5  ;макс число трассировок
  68.  
  69. MINLEN  DEFB 0  ;min дл обх
  70. MINDIS  DEFB 0  ;мин дистанц
  71. NROUND  DEFB 02 ;напр обх
  72. MAX_II  DEFB 0
  73. ss_num  DEFB 05 ;номер и адр в карте тек гер
  74. ss_pos  DEFW 04
  75. makTRY  DEFB 0 ;число обращений к MAKE_R
  76.  
  77. ;/wGrLib
  78. PUTsHL  DEFW 0
  79. SCRADR  DEFB SCR/256
  80. ATRADR  DEFB #D8
  81. FONT    DEFW WFONT
  82.  
  83. ;/SHEDUL
  84. HER_N   DEFB 09 ;текущ герой
  85. SIDE_N  DEFB 01 ;текущ армия (0-свои,1-враги,2-пленники)
  86.  
  87. ;/MOVING
  88. en_IX   DEFW 0 ;IX врага, на которого идёт удар
  89. en_A    DEFB 0 ;N врага, --""--
  90.  
  91. ;/MMOV
  92. COORD   DEFW    #887F
  93. OLDCO   DEFW    014     ;WORKING
  94. MX      EQU     COORD
  95. MY      EQU     MX+1
  96. MXOLD   DEFW    0
  97. ENDX    DEFB    248     ;\
  98. MtSTEP  DEFB    1       ;/
  99.  
  100. ;/работа с курсором
  101. PX      DEFB 01;map-ptr
  102. PY      DEFB 02
  103. BCAP    DEFB 0  ;caps 1-нажато
  104. BENTER  DEFB 01 ;enter/x
  105. BXOLD   DEFB 0
  106. BYOLD   DEFB 0
  107. UBY     DEFB 0;
  108. BATR    DEFW 0
  109. BADR    DEFW 0
  110. B_ABUF  DEFB 0
  111. B_BUF   ds 8
  112. BX      DEFB 0;scr-коорд/8
  113. BY      DEFB 0;
  114. UATR    DEFW 0
  115. UADR    DEFW 0
  116. U_ABUF  DEFB 0
  117. U_BUF   ds 8
  118. B_ONOF  DEFB 0  ;0/1 -выкл/вкл
  119.  
  120.         if EGA==0
  121. ;/hLINE
  122. LMask   DEFB #C3 ;маска линии
  123. LMask_  DEFB 10
  124.         endif
  125.  
  126. ;/TST7[**]
  127. t7pos   DEFW #2820
  128.  
  129. ;/flpSEL
  130. SyLOCK  DEFB 0 ;sym нажат?
  131. ;/capSEL
  132. begBOX  DEFB 0; caps был нажат, строить рамку
  133. BOXX    DEFB 01; коорд нач
  134. BOXY    DEFB 02
  135. ;/SELECT
  136. _n_FUN  DEFB 255 ;внутр
  137. N_FUNC  DEFB 255 ;функция 0-5, или 255-none
  138. N_FUN1  DEFB 255 ;дубль для подсветки
  139. F_FUNC  DEFB 1   ;функция по нажатию space
  140.  
  141. ;/ресурсы
  142. MONEY1  DEFW #0 ;деньги на пр-во
  143. WOOD1   DEFW #150 ;леc на пр-во
  144.  
  145.         if EGA==0
  146. ;/oINDY
  147. IND1    DEFB 127        ;тек знач ind1
  148. IND1MX  DEFB 145        ;макc знач
  149. IND2    DEFB 10
  150. IND2MX  DEFB 67
  151. IND2TP  DEFB 2          ;тип ind2 (0-none,1-magic,2-%)
  152.         endif
  153.  
  154.  
  155. ;/Кнопки: внутр. перем
  156. _BUT_H  DEFB 00 ;внутр  \
  157. _BUT_N  DEFS 6,#FF;     /
  158. ;/Кнопки: номера
  159. NAME    DEFB 0 ;номер назв
  160. BUT_H   DEFB 0;изобр героя
  161. BUT_N   DEFB 0,0,0,0,0,0;изобр кнопок
  162. ;/Кнопки: деньги&леc
  163. BUT_mn  DEFW #750,#1500,#4869,#110,#0,#50
  164. BUT_wd  DEFW #50,#100,#150,#0,#10,#0
  165.  
  166. ;/BUTING
  167. ext_M   DEFB 0; дополнит.меню (1,2)
  168. _event  DEFB 0; если 1 - cмена меню
  169.  
  170. ;/ONSEE/ONSEE2
  171. ONSEE   JP onsee  ;для врагов заменяется на RET
  172. ONSEE2  JP onsee2 ; --""--
  173.  
  174. ;/aMONEY/dMONEY/setCRC/chkCRC
  175. MNYcrc  DEFB 5 ;контр.сумма денег
  176.  
  177. ;/ZZ0
  178. ZZ00    JP kINTEL ;для врагов - интеллект; для наших - RET
  179.  
  180. ;/ZZ6
  181. BrWOOD  DEFB 1 ;число ударов по дверям/дереву
  182.  
  183. ;/QSC
  184. QSC     JP QSCt1 ;тип сканирования: QSCt1,QSCt1H,QSCt2,QSCt2h
  185.  
  186. ;/BCD
  187. DCstr   db "Cлавa"
  188.         DEFB #7F
  189. ;/SAVlev
  190. TXMgme  DEFB 20,51,64,48,91,0,0,0,127
  191.  
  192. ;/dMAGIC
  193. mag_TM  DEFB 0 ;cчётчик блоков
  194.  
  195. ;/peonN
  196. peon_W  DEFB 02 ;число лесорубов врага \
  197.         DEFB 02 ;число золотоискателей /
  198.  
  199. ;/ZZ19,...
  200. ZZ_tar  DEFW 0 ;центр заклинания
  201.  
  202. ;/vFLAME
  203. brNUM   DEFB 0 ;к-во поврежд зданий
  204. brBLT   ds 24 ;список повреждённых зданий
  205.  
  206. ;----------параметры героев----
  207.  
  208. ;/BUTING
  209. hBUT    ;изобр героев
  210.         DEFB 51,51,51,53,52,56,57,55,54
  211.         DEFB 61,61,61,63,62,66,67,65,64
  212.         DEFB 68,70,58,72,73,75,71,69,59
  213.  
  214. hMSG    ;назв героев
  215.         DEFB 1,1,1,3,2,6,7,5,4
  216.         DEFB 10,10,10,12,11,14,15,5,13
  217.         DEFB 16,19,8,21,22,24,20,17,9
  218.  
  219. ;/HERMOV
  220. HvTHs   ;скорость гориз перемещ
  221.         DEFB 2,2,2,2,2,2,2,1,#2
  222.         DEFB 2,2,2,2,2,2,2,1,#3
  223.         DEFB 3,2,3,1,2,2,2,3,3
  224. HvTDs   ;cкорость диаг перемещ
  225.         DEFB 2,2,2,2,2,2,2,1,#2
  226.         DEFB 2,2,2,2,2,2,2,1,#2
  227.         DEFB 2,2,2,1,2,2,2,2,2
  228.  
  229. ;/SHED_p /IMPACT
  230. BFORCE  ;сила снаряда
  231.         DEFB #3 ;(1)стрелы людей
  232.         DEFB #4 ;(2)cтрелы орков
  233.         DEFB 1  ;(3)огонь свящ
  234.         DEFB 0
  235.         DEFB 2  ;(5)огонь волш
  236.         DEFB 73 ;(6)снар.катап (в эпицентре в 3-ое больше!)
  237.         DEFB 20 ;(7)снар стеногр
  238.         DEFB #5 ;(8)снар огн дождя (<-rnd(127))
  239.         DEFB 0,0,0
  240.         DEFB 15 ;(12)закл - смерчь
  241.         DEFB 0
  242.         DEFB 5  ;(14)закл огн кольца
  243.  
  244. FORCE   ;сила удара
  245.         DEFB  0,0,0,0,#3,0,0,0,#8
  246.         DEFB  0,0,0,0,#3,0,0,0,#8
  247.         DEFB  1,2,1,3,0,0, 10,15,0
  248.  
  249. DEFENC  ;защита 0..4 (x/4-вероятность снижения силы удара в двое)
  250.         DEFB  0,0,0, #0,#0,0,0,0,#0
  251.         DEFB  0,0,0, #0,#0,0,0,0,#0
  252.         DEFB  0,1,0,2,0,0, 1,1,1
  253. ;/ONSEE
  254. sRANGE  ;дальность видимости(+2)
  255.         DEFB    0,0,0,#1,0,0,2,3,1
  256.         DEFB    0,0,0,#0,0,0,2,3,1
  257.         DEFB    0,0,0,0,0,0, 2,2,2
  258. sSCAN   ;дальность сканирования (0-не сканир)
  259.         DEFB    0,0,0,#3,1,2,4,8,1
  260.         DEFB    0,0,0,#2,1,2,4,8,1
  261.         DEFB    1,1,1,1,0,0, 1,2,3
  262. ksSCAN  ;дальность сканирования охраной противника соотв. типу
  263.         DEFB    5,4,4, 6,5,5,7,10,5
  264.         DEFB    5,4,4, 6,5,5,7,10,5
  265.         DEFB    4,4,4,4,4,4, 4,6,6
  266.  
  267. ;внимание - у лучников дисбаланс/сила дальность
  268.  
  269. ;--------- Эти параметры зависят от DIFFIC ----
  270.  
  271. ;/WW07
  272. KATrng  CP 9 ;определение дальности стрельбы катап-1 (0:9/1:8)
  273.         RET
  274. ;/HELPme
  275. HLPrng  CP 6 ;радиус вызова подмоги (0:6/1:10)
  276.         RET
  277.  
  278. ;/WW03/WW12
  279. ARCrng  JP ARvsKT ;лучники vs катап
  280.  
  281. ;/kwwMAG
  282. deMRCH  DEFB %1110 ;скорость отступл волш (0:%111/1:%1)
  283.  
  284. ;------------технические параметры-----
  285.  
  286. fram    DEFB 0
  287. X0      DEFB 20 ;угол окна отобр
  288. Y0      DEFB 25
  289. _X0pos  DEFW 0 ;отриц поз X0 в пикс
  290. _Y0pos  DEFW 05
  291. TIC_UP  DEFB 0 ;время вражеского апгрейда
  292. ANIM    DEFB 01
  293. COLRsc  DEFB #60 ;цвет скрол курс
  294. MCOLOR  DEFB 0   ;цвет панели
  295. LEV_T   DEFB 0  ;тип карты - 0/1 - обычн/подземелье [MAP+0]==0/1
  296. TIC3    DEFB 1  ;\ внутр таймер 0..2
  297. TIC     DEFB 0  ;/ внутр таймер 0..255
  298. isMAP   DEFB 0  ;0/1 - поле/карта
  299.         nop ;isTST8     DEFB 3  ;[**]
  300. SET_SP  LD SP,0 ;(**) - изм
  301.         RET     ;
  302. JP_SUB  JP 0    ;(**)
  303.  
  304. ;-------- общие параметры игры -------
  305. DIFFIC  DEFB 0 ; сложность игры (0-нормальная, 1-повышенная)
  306.  
  307. ;наличие заклинаний - передаются от уровня к уровню
  308. hCLRIC  DEFB 0,0,0 ;cвящ (1-есть закл) (0,0,0)
  309. hWIZRD  DEFB 0,0,0 ;волш  (0,0,0)
  310. RESULT  DEFB 0,0,0,43,0,0,127 ;время прохождения
  311.  
  312. hCLRI_  DEFB 0,0,0 ;копия
  313. hWIZR_  DEFB 0,0,0 ;копия
  314. RESUL_  DEFB 0,0,0,43,0,0 ;нач.копия времени прохождения
  315.  
  316. ;--------------Параметры настройки игры---
  317.  
  318. KEYS    DEFW    KBR
  319. KEYJOY  DEFB    0 ;(1-K.-stick)
  320.  
  321. PMOUSE  DEFB 1;0        ;(1-K.-mouse) ;NedoOS
  322. MUSONF  DEFB 1  ;музыка вкл/выкл (1/0)   (*)
  323. AY_FX   DEFB 1  ;AY_эффекты                     (*)
  324. isCOLR  DEFB 1  ;Игра цветная(1), Ч/Б(0)        (*)
  325. SAVDSK  DEFB 0  ;Диск для отгрузок(0-A/1-B)     (*)
  326. M_STEP  DEFB 2  ;cкорость перемещ курс(1..17)   (*)
  327. SLOW    DEFB 0  ;замедлитель (0-20)             (*)
  328. isANI   DEFB 1  ;анимация (1-вкл)               (*)
  329. shadwT  DEFB 1  ;невидим поле (0/1-фигурн/чёрн) (*)
  330.  
  331. VOL_M   DEFB 40 ;уровень                        (unused)
  332. VOL_FX  DEFB 30 ; -''--                         (unused)
  333.  
  334. ;-------