?login_element?

Subversion Repositories NedoOS

Rev

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

  1.        if atm
  2.         include "../../_sdk/sys_h.asm"
  3.        endif
  4. ;atm=1
  5. ;doublescr=1
  6. showfps=1-atm
  7. EDITOR=1;0
  8.  
  9. crosshair=1;0
  10.  
  11.         if atm
  12. ID_DOOR=0+(22*2);127
  13.         else
  14. ID_DOOR=0x40+((22-16)*2);127
  15.         endif
  16.  
  17. ;ZX data:
  18. music=doublescr
  19.  
  20. debug=0
  21. demorec=0
  22. demoplay=0;1
  23.  
  24. ;control:
  25. doublespeed=1
  26. doublerotate=1
  27. autostrafe=1
  28. kempston=0;1
  29. mouse=1
  30. mindist=64;111 ;max=111 ;118 stuck in door
  31.  
  32. colour=7
  33. ceilingcolour=0
  34. floorcolour=colour*9
  35. ceilingcolourbyte=0b00000000;%11111111 ;atm
  36. floorcolourbyte=0b00010010;%11110110 ;atm
  37.  
  38. sprites=1
  39. CURSPRITES_RECSZ=5;4 ;ID, distL, distH, xscr, [monsterindex]
  40. FATMONSTERS=0
  41. viewrange=6
  42. MONSTERviewrange=3
  43. MONSTERBACKviewrange=2
  44.  
  45. scale64=3;1 ;0 не поддерживается
  46.  
  47. ;render:
  48.         if atm
  49. scrwid=32 ;chr$
  50. scrtopx=(32-scrwid)/2
  51. scrhgt=200;128 ;pixels
  52. scrhgtpix=scrhgt
  53. Ycenter=100
  54. Ytop=Ycenter-(scrhgt/2)
  55. Ybottom=Ycenter+(scrhgt/2)
  56. scrbase=0x4000+4
  57. scrtop=Ytop*40+scrbase
  58.         else
  59. scrwid=24;32 ;chr$
  60. scrtopx=(32-scrwid)/2
  61. scrhgt=20;24 ;chr$ (10,12,...,24)
  62. scrhgtpix=scrhgt*8
  63. scrtop=(24-scrhgt)*16+#4000+scrtopx
  64. attrtop=((scrtop/8)&0x300)+(0xff&scrtop)+0x5800
  65. ;для ускорения EOR-fill (частично замазывание атрибутами) размеры всегда активной части столбца:
  66. lowscrtop=#4800+scrtopx
  67. lowattrtop=((lowscrtop/8)&0x300)+(0xff&lowscrtop)+0x5800
  68. lowscrhgt=8 ;chr$
  69. lowscrhgtpix=lowscrhgt*8
  70.         endif
  71.  
  72.         IF scale64
  73. maxscale=63
  74.  IF scale64 == 3 ;sc=(s+sh)^p/div, Ys=(Y/32-1)*sc, где s=0..63, Y=1..62, p=5, k=16^(-1/p), sh=(63*k)/(1-k), div = (63+sh)^p/1024*8
  75. lowmaxscale=27;28 ;fit in low screen
  76.  ELSE
  77. lowmaxscale=19 ;fit in low screen
  78.  ENDIF
  79.         ELSE
  80. maxscale=127
  81. lowmaxscale=25 ;fit in low screen
  82.         ENDIF
  83. mapdifbit=5;7
  84.         IF atm == 0
  85. lores=0
  86. optres=1&(1-lores) ;+22t на мелких, выигрыш на крупных
  87.         ELSE
  88. lores=1
  89. optres=0
  90.         ENDIF
  91. optfast=0
  92. loresspr=0|lores
  93. optresspr=1&(1-loresspr) ;выигрыш на крупных
  94. loresspr_hires=loresspr&(1-lores)
  95. pixperchr=8>>lores
  96. corr_coord=1
  97.  if atm
  98. interpolate=4
  99.  else
  100. interpolate=16
  101.  endif
  102. antizalom=1
  103.  
  104.         if lores
  105. SCRWIDPIX=scrwid*4
  106.         else
  107. SCRWIDPIX=scrwid*8
  108.         endif
  109.  
  110.         if atm
  111. scrbuf=#6040
  112.         else
  113. scrbuf=#A040
  114. lowscrbuf=(scrhgtpix-lowscrhgtpix)/2+scrbuf
  115.         endif
  116. scrbufflag=(scrbuf&#FF00)+32
  117. dropline=scrhgt*8+(0xff&scrbuf) ;Y=192
  118. map=scrbuf-#3F;#A001 ;+0 занят dropline, +32 занят флагом высоких
  119. mapend=map+#2000
  120. invmap=1
  121.  
  122.         if atm == 0
  123. tscale=#C000 ;128x64, множители 0 и 63 выдают константы 0 и 3
  124.              ;64x64 при scale64=1
  125.         endif
  126.  
  127. RENDERSPEEDLIMIT=2 ;1=50 fps, 2=25 fps, 3=17 fps
  128. LOGICSPEED=2       ;1=50 fps, 2=25 fps, 3=17 fps
  129.  
  130. TIME_WOUNDED=30/LOGICSPEED
  131. TIME_WANTATTACK=40/LOGICSPEED
  132. TIME_ATTACK=25/LOGICSPEED
  133. TIME_STEP=10/LOGICSPEED
  134.