?login_element?

Subversion Repositories NedoOS

Rev

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