Login

Subversion Repositories NedoOS

Rev

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

;************************************************************
;**************** локальные переменные  *********************
;;*L+
      DEFB #D;ummy
;Interupt entry
INTRP   EX DE,HL
        EX (SP),HL
        LD (INTRQ+1),HL
        EX DE,HL
        POP DE
        LD (INTRS+1),SP
        LD SP,DBL_SP
        CALL INAR0
INTRS   LD SP,#0000 ;(**)
        EI
INTRQ   JP #0000 ;(**)
;/CONTRL
CONTRB  DEFB    0
;/RND
RNA     DEFW    911
RNB     DEFB    20
;/XDLPZ
DLPCB   DEFM "Чего"

;/ROTATE
isROT   DEFB 0 ;идёт скролл?
;/SW_OFF
isSWFF  DEFB 0 ;1-погасить курсор

;/OU_MAP
delMAP  DEFB 0 ;задержка на выв карты

;/MANUAL
Z_LOCK  DEFB 0 ;"Z" нажата?
T_FIRE  DEFB 0 ;тип нажатого FIRE (0-2)
fixTAR  DEFB 0 ;1-цель зафиксирована

;/BLITER
V_LINE  DEFB 0 ;текущ выв линия
V_FLAG  DEFB 0 ;режим отобр курсора: 0-norm, 1-refresh, 2-none
P_FLAG  DEFB 0 ;если 1, выполнить отображение курсора
;/V_...
        if EGA==0
G_MX    DEFB  010
G_MY    DEFB  010
G_SIZE  DEFB 8      ;высота курс
G_IMG   DEFW G_MAP1 ;изобр курс
        endif
;TODO в EGA убрать и это:
GBU1    DEFS 16,#F0 ;копия из SCR
GBAD1   DEFW 0;0x0800;0     ;адр копии в SCR ;запарывает это место при первом вызове ;добавил проверку на 0
GBU2    ds 16     ;копия из DSCR
GBAD2   DEFW 0      ;

;/X_PUT - параметры спрайта
SHIFTh  DEFB    0
IMGh    DEFW    #FE00
ScrADh  DEFW    0
Xh      DEFB    010     ;(з/м)
Yh      DEFB    011     ;(pix)
Wh      DEFB    2
Hh      DEFB    16
BHh     DEFB    16

;/MAKE_R
MAXLEN  DEFB 64 ;макс глубина просмотра 64-обычн/120-катакомб)
MAXTRY  DEFB 5  ;макс число трассировок

MINLEN  DEFB 0  ;min дл обх
MINDIS  DEFB 0  ;мин дистанц
NROUND  DEFB 02 ;напр обх
MAX_II  DEFB 0
ss_num  DEFB 05 ;номер и адр в карте тек гер
ss_pos  DEFW 04
makTRY  DEFB 0 ;число обращений к MAKE_R

;/wGrLib
PUTsHL  DEFW 0
SCRADR  DEFB SCR/256
ATRADR  DEFB #D8
FONT    DEFW WFONT

;/SHEDUL
HER_N   DEFB 09 ;текущ герой
SIDE_N  DEFB 01 ;текущ армия (0-свои,1-враги,2-пленники)

;/MOVING
en_IX   DEFW 0 ;IX врага, на которого идёт удар
en_A    DEFB 0 ;N врага, --""--

;/MMOV
COORD   DEFW    #887F
OLDCO   DEFW    014     ;WORKING
MX      EQU     COORD
MY      EQU     MX+1
MXOLD   DEFW    0
ENDX    DEFB    248     ;\
MtSTEP  DEFB    1       ;/

;/работа с курсором
PX      DEFB 01;map-ptr
PY      DEFB 02
BCAP    DEFB 0  ;caps 1-нажато
BENTER  DEFB 01 ;enter/x
BXOLD   DEFB 0
BYOLD   DEFB 0
UBY     DEFB 0;
BATR    DEFW 0
BADR    DEFW 0
B_ABUF  DEFB 0
B_BUF   ds 8
BX      DEFB 0;scr-коорд/8
BY      DEFB 0;
UATR    DEFW 0
UADR    DEFW 0
U_ABUF  DEFB 0
U_BUF   ds 8
B_ONOF  DEFB 0  ;0/1 -выкл/вкл

        if EGA==0
;/hLINE
LMask   DEFB #C3 ;маска линии
LMask_  DEFB 10
        endif

;/TST7[**]
t7pos   DEFW #2820

;/flpSEL
SyLOCK  DEFB 0 ;sym нажат?
;/capSEL
begBOX  DEFB 0; caps был нажат, строить рамку
BOXX    DEFB 01; коорд нач
BOXY    DEFB 02
;/SELECT
_n_FUN  DEFB 255 ;внутр
N_FUNC  DEFB 255 ;функция 0-5, или 255-none
N_FUN1  DEFB 255 ;дубль для подсветки
F_FUNC  DEFB 1   ;функция по нажатию space

;/ресурсы
MONEY1  DEFW #0 ;деньги на пр-во
WOOD1   DEFW #150 ;леc на пр-во

        if EGA==0
;/oINDY
IND1    DEFB 127        ;тек знач ind1
IND1MX  DEFB 145        ;макc знач
IND2    DEFB 10
IND2MX  DEFB 67
IND2TP  DEFB 2          ;тип ind2 (0-none,1-magic,2-%)
        endif


;/Кнопки: внутр. перем
_BUT_H  DEFB 00 ;внутр  \
_BUT_N  DEFS 6,#FF;     /
;/Кнопки: номера
NAME    DEFB 0 ;номер назв
BUT_H   DEFB 0;изобр героя
BUT_N   DEFB 0,0,0,0,0,0;изобр кнопок
;/Кнопки: деньги&леc
BUT_mn  DEFW #750,#1500,#4869,#110,#0,#50
BUT_wd  DEFW #50,#100,#150,#0,#10,#0

;/BUTING
ext_M   DEFB 0; дополнит.меню (1,2)
_event  DEFB 0; если 1 - cмена меню

;/ONSEE/ONSEE2
ONSEE   JP onsee  ;для врагов заменяется на RET
ONSEE2  JP onsee2 ; --""--

;/aMONEY/dMONEY/setCRC/chkCRC
MNYcrc  DEFB 5 ;контр.сумма денег

;/ZZ0
ZZ00    JP kINTEL ;для врагов - интеллект; для наших - RET

;/ZZ6
BrWOOD  DEFB 1 ;число ударов по дверям/дереву

;/QSC
QSC     JP QSCt1 ;тип сканирования: QSCt1,QSCt1H,QSCt2,QSCt2h

;/BCD
DCstr   db "Cлавa"
        DEFB #7F
;/SAVlev
TXMgme  DEFB 20,51,64,48,91,0,0,0,127

;/dMAGIC
mag_TM  DEFB 0 ;cчётчик блоков

;/peonN
peon_W  DEFB 02 ;число лесорубов врага \
        DEFB 02 ;число золотоискателей /

;/ZZ19,...
ZZ_tar  DEFW 0 ;центр заклинания

;/vFLAME
brNUM   DEFB 0 ;к-во поврежд зданий
brBLT   ds 24 ;список повреждённых зданий

;----------параметры героев----

;/BUTING
hBUT    ;изобр героев
        DEFB 51,51,51,53,52,56,57,55,54
        DEFB 61,61,61,63,62,66,67,65,64
        DEFB 68,70,58,72,73,75,71,69,59

hMSG    ;назв героев
        DEFB 1,1,1,3,2,6,7,5,4
        DEFB 10,10,10,12,11,14,15,5,13
        DEFB 16,19,8,21,22,24,20,17,9

;/HERMOV
HvTHs   ;скорость гориз перемещ
        DEFB 2,2,2,2,2,2,2,1,#2
        DEFB 2,2,2,2,2,2,2,1,#3
        DEFB 3,2,3,1,2,2,2,3,3
HvTDs   ;cкорость диаг перемещ
        DEFB 2,2,2,2,2,2,2,1,#2
        DEFB 2,2,2,2,2,2,2,1,#2
        DEFB 2,2,2,1,2,2,2,2,2

;/SHED_p /IMPACT
BFORCE  ;сила снаряда
        DEFB #3 ;(1)стрелы людей
        DEFB #4 ;(2)cтрелы орков
        DEFB 1  ;(3)огонь свящ
        DEFB 0
        DEFB 2  ;(5)огонь волш
        DEFB 73 ;(6)снар.катап (в эпицентре в 3-ое больше!)
        DEFB 20 ;(7)снар стеногр
        DEFB #5 ;(8)снар огн дождя (<-rnd(127))
        DEFB 0,0,0
        DEFB 15 ;(12)закл - смерчь
        DEFB 0
        DEFB 5  ;(14)закл огн кольца

FORCE   ;сила удара
        DEFB  0,0,0,0,#3,0,0,0,#8
        DEFB  0,0,0,0,#3,0,0,0,#8
        DEFB  1,2,1,3,0,0, 10,15,0

DEFENC  ;защита 0..4 (x/4-вероятность снижения силы удара в двое)
        DEFB  0,0,0, #0,#0,0,0,0,#0
        DEFB  0,0,0, #0,#0,0,0,0,#0
        DEFB  0,1,0,2,0,0, 1,1,1
;/ONSEE
sRANGE  ;дальность видимости(+2)
        DEFB    0,0,0,#1,0,0,2,3,1
        DEFB    0,0,0,#0,0,0,2,3,1
        DEFB    0,0,0,0,0,0, 2,2,2
sSCAN   ;дальность сканирования (0-не сканир)
        DEFB    0,0,0,#3,1,2,4,8,1
        DEFB    0,0,0,#2,1,2,4,8,1
        DEFB    1,1,1,1,0,0, 1,2,3
ksSCAN  ;дальность сканирования охраной противника соотв. типу
        DEFB    5,4,4, 6,5,5,7,10,5
        DEFB    5,4,4, 6,5,5,7,10,5
        DEFB    4,4,4,4,4,4, 4,6,6

;внимание - у лучников дисбаланс/сила дальность

;--------- Эти параметры зависят от DIFFIC ----

;/WW07
KATrng  CP 9 ;определение дальности стрельбы катап-1 (0:9/1:8)
        RET
;/HELPme
HLPrng  CP 6 ;радиус вызова подмоги (0:6/1:10)
        RET

;/WW03/WW12
ARCrng  JP ARvsKT ;лучники vs катап

;/kwwMAG
deMRCH  DEFB %1110 ;скорость отступл волш (0:%111/1:%1)

;------------технические параметры-----

fram    DEFB 0
X0      DEFB 20 ;угол окна отобр
Y0      DEFB 25
_X0pos  DEFW 0 ;отриц поз X0 в пикс
_Y0pos  DEFW 05
TIC_UP  DEFB 0 ;время вражеского апгрейда
ANIM    DEFB 01
COLRsc  DEFB #60 ;цвет скрол курс
MCOLOR  DEFB 0   ;цвет панели
LEV_T   DEFB 0  ;тип карты - 0/1 - обычн/подземелье [MAP+0]==0/1
TIC3    DEFB 1  ;\ внутр таймер 0..2
TIC     DEFB 0  ;/ внутр таймер 0..255
isMAP   DEFB 0  ;0/1 - поле/карта
        nop ;isTST8     DEFB 3  ;[**]
SET_SP  LD SP,0 ;(**) - изм
        RET     ;
JP_SUB  JP 0    ;(**)

;-------- общие параметры игры -------
DIFFIC  DEFB 0 ; сложность игры (0-нормальная, 1-повышенная)

;наличие заклинаний - передаются от уровня к уровню
hCLRIC  DEFB 0,0,0 ;cвящ (1-есть закл) (0,0,0)
hWIZRD  DEFB 0,0,0 ;волш  (0,0,0)
RESULT  DEFB 0,0,0,43,0,0,127 ;время прохождения

hCLRI_  DEFB 0,0,0 ;копия
hWIZR_  DEFB 0,0,0 ;копия
RESUL_  DEFB 0,0,0,43,0,0 ;нач.копия времени прохождения

;--------------Параметры настройки игры---

KEYS    DEFW    KBR
KEYJOY  DEFB    0 ;(1-K.-stick)

PMOUSE  DEFB 1;0        ;(1-K.-mouse) ;NedoOS
MUSONF  DEFB 1  ;музыка вкл/выкл (1/0)   (*)
AY_FX   DEFB 1  ;AY_эффекты                     (*)
isCOLR  DEFB 1  ;Игра цветная(1), Ч/Б(0)        (*)
SAVDSK  DEFB 0  ;Диск для отгрузок(0-A/1-B)     (*)
M_STEP  DEFB 2  ;cкорость перемещ курс(1..17)   (*)
SLOW    DEFB 0  ;замедлитель (0-20)             (*)
isANI   DEFB 1  ;анимация (1-вкл)               (*)
shadwT  DEFB 1  ;невидим поле (0/1-фигурн/чёрн) (*)

VOL_M   DEFB 40 ;уровень                        (unused)
VOL_FX  DEFB 30 ; -''--                         (unused)

;-------