Login

Subversion Repositories NedoOS

Rev

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

;*D- ;???
;уровень 0-DEMO
LEVDAT  EQU     #79C0 ;адр. нач данных уровня
        ORG     LEVDAT
;******************************************************
;********* ГЛОБАЛЬНЫЕ ПАРАМЕТРЫ УРОВНЯ ****************

isRUNL  RET ;#C9 - обычный уровень, иначе кодовый блок

;--------характеристики сторон-------(0)-обнулять вначале

;параметры играющего
hTOWER  DEFB 1 ;мак.число типов вооруж (1-4)
hARC    DEFB 0 ;0-2 (0)
hHORSE  DEFB 0 ;0-3 (0)
hSHILD  DEFB 0 ;0-2 (0)
hBLADE  DEFB 0 ;0-2 (0)
hmaxC   DEFB 1 ;1-3 чиcло возможн иccл закл свящ
hmaxW   DEFB 1 ;1-3 число  --"-- закл волш

;дополнительные параметры играющего
hmaxB1  DEFB 0 ;макс число стандарт зданий (0 или 1-2)
hmaxB2  DEFB 0 ;maкc число доп зданий (0, 1-4)
hWALL   DEFB 0 ;0/17 - можно/нельзя строить стены

;параметры компьютера
kTOWER  DEFB 1 ;1-4
kARC    DEFB 0 ;0-2  ~\;
kHORSE  DEFB 2 ;0-3    |
kSHILD  DEFB 0 ;0-2    |
kBLADE  DEFB 2 ;0-2  _/
kmaxC   DEFB 1 ;1,3 чиcло иccл закл (0-нет свящ)
kmaxW   DEFB 1 ;1..3 чиcло иccл закл (0-нет волш)

;----------- параметры стратегии врага ----------------
;/wSTRATEG
levMAX  DEFB 8   ;макс число народу в группе (для уровня) = 1..10
levDEL  DEFB 1  ;средн задержка межд сборами (для уровня) = 1..X
lev1ST  DEFB 2   ;нач задержка первого сбора = 1..
 ;Тип уровня 0 ;обычный
 ;Тип уровня 1 ;атакованый охранник становится атакующим
 ;Тип уровня 2 ;см. тип 1 + охранники иногда идут в атаку
levTYP  DEFB 0   ;тип уровня (0-обычный)
;-------- цветовые настройки -------
COLOR   DEFB #20 ;цвет поля

;-------- общие параметры уровня -----
MASTER  DEFB 01 ; кто играет 0/1 - люди?кунги
LEVEL   DEFB 0  ; номер уровня
MONEY   DEFB 0,0,0,0,0,0 ;деньги
WOOD    DEFB 0,0,0,0,0,0 ;леc
TASK_M  ;задание: 3 строки по 20+1 символов = 63
        incbin "task/w000.tsk"
LEVRES  DEFB 0,0,0,43,0,0,127 ;текущее время прохождения

;------- используемые файлы -------

fsLAND  DEFB 1; 1-4
fsMUS   DEFB 7; 0-7


;****************** Инициализируемые переменные ****************
;--------------- (входят в описание каждого уровня) ------------
;/выбраные герои
SEL_T DEFB 0 ;0-none;1-один;2-6-group;7-кунг,8-здание
SEL_N DEFB 0,0,0,0,0,0 ;номера 6 выбр гер/зд

sel_en DEFB #FF ;выбранный враг-цель
sel_ti DEFB 0 ;время отображения цели

;/outLED
LED DEFB 4,3,4,3,4,3

;/putTX
_msg    DEFB #FF
pTX_AD  DEFW 0;WNAMES
TX_AD   DEFW 0;WNAMES
pTXdel  DEFB 0 ;t задержки на выв экcтр cообщ

;/M_PLAT
isPLAT  DEFB 0; 0/1-есть/нет площадки
szPLAT  DEFB 0; размер площадки под стр-во (1..3, 0-нет)
bcPLAT  DEFW 0; размеры
adPLAT  DEFW 0; позиция in ATR
waPLAT  DEFB 0; если стена - 1

;/PAUSE
onPAUS  DEFB 1 ;0-включить паузу

;/SOUNDn
NOTA    DEFW se ;текущ нота
se      DEFW #FFFF ;конст
levSND  DEFB 0 ;0-макс громкость
sIY56   DEFW 0 ;координаты снарядов
priv_S  DEFB 0 ;текущ приоритет (0-нет мелодии)
NOTA2   DEFW se ;нота новой мелодии
priv_2  DEFB 0  ;нов приор

;/STRATEG - variables
pntX    DEFB 32  ;-коорд т.сбора
pntY    DEFB 31  ;-/
pntNUM  DEFB 0   ;-число оставшихся до конца сбора воинов (0-конец сбора, 255-нов сбор)
pntDEL  DEFB 22  ;-время до нач.след сбора/задержка на пр-во воина
pntTAR  DEFB #FF ;-объект атаки (0-101 - воины, #80.. -здания, #FF-нет)
pntUNI  DEFB 0   ;-отряд разнородный/однородный (0/member typ)
pntEN   DEFB 0,0,0,0,0,0
                 ;-разреш пр-во вида (3..8) (0-нет)
pntMAN  DEFB 0   ;тип пораждаемого воина

;/isEND
END_1   DEFB 0  ;0/1/2-none/нет врагов/нет людей
END_2   DEFB 0  ;не0-князь вошёл в пещеру
TheEND  DEFB 0  ;0/1/2-none/победа людей/победа врагов (устанавл в _cLOOP)
;-----------(резерв)-------------
dummy   DEFS 6,0 ;+0=isTST7[**]
;-----------процедуры------------
pcLOOP  JR _cLOOP
pcINI   ;стартовая процедура
        RET
;_cLOOP  ;процедура окончания под землёй
;        LD A,(END_2)
;        OR A
;        JR NZ,_cLO1
;        LD A,(END_1)
;        CP 1
;        RET Z
;_cLO1   LD (TheEND),A
;        RET
_cLOOP   ;стандартная проц окончания
         LD A,(END_1)
         LD (END_2),A
         RET

;------ обнуление основных структур данных ---

        DEFS #7AA0-$,#27
BULL    DEFS 24*12      ;from #7AA0
MINE    DEFS 8*8        ;from #7BC0
HBUILD  DEFS 32*8       ;from #7C00
KBUILD  DEFS 32*8       ;from #7D00
BUF512  EQU #7E00; буфер512     ;from #7E00
MAP     EQU #8000; DEFS #1000   ;from #8000
MAP2    EQU #9000; DEFS #1000   ;from #9000
DSCR    EQU #A000; DEFS #1800   ;from #A000
HUMAN   EQU #B800; DEFS 48*16   ;from #B800
KUNGE   EQU #BB00; DEFS 48*16   ;from #BB00
SLAVE   EQU #BE00; DEFS 6*16    ;from #BE00
XY      EQU #BE60; DEFS 102*4   ;from #BE60
;NEXT   EQU #BFF8; nop

;для мар2:
;0-своб.поле, 1-граница, 2 -непрох
;#38-#3F        шахты
;#40-#5F        здания людей
;#60-#7F        здания кунгов
;#80-#AF        люди
;#B0-#DF        кунги
;#E0-#FF        пленники


;------------------------------------------------------------
;--------- Золото шахт ----- (4096+512 переносится на BUF512)

datMIN  DEFW 100,100,100,100,100,100,100,100 ;золото для шахт/100
        ;0-чей (255-конец), 1-тип, 2/3-XY,4-none

;------ Описание героев и карты ---

datHER
        incbin "map/w0_s1.her"
        incbin "map/w0_s1.map"

;-------Картинка-----
datSCR
       DEFS 6912,#5C
;*B ..\BARKOV\WARRIOR.SCR

;----------------------------------