From 813fcf6956eb4e583f687aa77eba1ef4a9b4a1f1 Mon Sep 17 00:00:00 2001 From: DeaDDooMER Date: Wed, 8 Mar 2017 21:16:33 +0300 Subject: [PATCH] Fix sunshine --- BUGS | 2 +- res/terrain/sky.png | Bin 1648 -> 747 bytes src/CAVE.mpsrc | 80 ++++++++++++++++++++++++++++++-------------- 3 files changed, 55 insertions(+), 27 deletions(-) diff --git a/BUGS b/BUGS index e563f53..932bedc 100644 --- a/BUGS +++ b/BUGS @@ -6,7 +6,7 @@ Мобы не дохнут от солнечного света Убогая текстура дождя Медленное обновление падающих блоков -Какая-то фигня со светом на старте игры ++ Какая-то фигня со светом на старте игры + У кого-то почему-то не масштабируется экран От падения с высоты нет урона Под водой скорость разлома блоков не уменьшается diff --git a/res/terrain/sky.png b/res/terrain/sky.png index 885e4e2b99ef1dd2eb7fd60dafaa8fcc52574c81..9b2cc13d6dc57036ed704b78ac1da9f5d9ef0f2c 100644 GIT binary patch delta 703 zcmV;w0zm!n4C@7uBo78+OGiWi{{a60|De66laWmre+P6)O+^Rc0|*f_FVTjfmH+?( zcu7P-R7l6|mfddKNDPHP&WtqjPc8Xsul6na1npbwi|j+kUJD6g{SMg+$+ny(KsQB! z0?h%4LvbjIBaMh7U;oCUhulN%pa`%EH;x%Z4|#xWHs`@R5D$2dx{TyAMwipONbe)P zThY2mf9uw?enle%jbGEqictb1o+N=Jo`fffXI%OOk~k6`70-xAuh))*L&c-GYupeL z4nr^;Dl+?mA|L_=Cc+Ye%?xtA+pg<9;g{w!Uki#i!-*lLI230}HoYz8-Qq3bNdy#U zQ{0mXbKF}Z@X{X%rg$4E=!n`;SVz>BXdO{|f1-6{+L2pNrX86L_%sk~#MyvoLNsBc zG7iuW(Dv{=+fxUR9Xt=vjBp+&ZZDjm8=*^+^$7-rqU*uh$BY-WR!PNU*4=?JNUOqjDaXSun&$c)xX1A?f;cIDAIp0IC(|4WGiM76Zkk7zxs=Z{Dt!Lu z-)n*We*a7T5B#1uolgJT4?qE=(}@bG=J;RltoeZtEb-P1kuR?)EPt=C@^>n%&gDO$ zu$GGI&sJD|-ql+wORg$Q-=(th)DW#Bf7hPeIx-#JrLvl(%1Sqtbspe63T<-q=163i z&+u76DAugj8#bFQyWNg*S5j6L)xM-E_f%CyS(fa|9lKAT*lxFMHd{8EHLKN%A{N9V zlIQuyU;Z1RX&Ro-XPzD(sq31$t~nl$91aJL$0H994;&8%PN)B<>zb#>n)dmLC82Fd leG57eNJOXPV#F}bp>M@};O3m;2de-8002ovPDHLkV1jLKP8a|H delta 1631 zcmV-l2B7)t1@H`zB!3`dNK#Dz0D2_=0Dyx40Qvs_0D$NK08$750ToyP06Lcd02go9 zS|5-A000SaNLh0L01FZT01FZU(%pXi0000QbVXQnQ*UN;cVTj608n9RZgehAMN}Ym zGcGkQF)>H;LN@>a1<*-EK~zXf?UvhDQ)e2+znowv5<(0_Fn>xxkjlZLjyi(4v{IP? zwbfRv78R941%(81+(||q3$?adt74(bcmTz=UbTOK{sFG#WqapZ-a5URUbvQ5zrH&M z#kQ=@%$mC~YyH;qemgrmd%w?{e2-E}VPG~XY!-#xs>sVxxHW~>q44D?UdvZ3El|{Y z6f27qe=b&R@P8?q7c1Jz6gw&uyO$~sR4YDQuJEr^#MUTIG%7ycpg8-c;=&fim#vD4 zZHlXJD<*deyDVJUtuemW$)yet=k_n;^ucoeez*p`dnH4?>*?!zi-Y~!cz<9wZx43T z=I^4#-%E3#pG`vpY#0jAI2>ecFv6dLIx9j+>Ov=}4u7AbDm+SMAdOWekqn8A{`gDLSfrsOxG-=LD; zzC`M{U=}RNudycYkdvGdZlfh{VNXtxm$*rO@&>NNHQb3wJn<`d)oF@E*c1uU90|}89-uAU&-QRHJ44;< z3La!%a4%g$?{YM-mEpl=^noT$9$m}n{(8_Y8_kS!?yi=*zBAz!bQmmFas4Y}fxD|_> ziXxep{9J`5Gh{KR=ju1ua#1!rDmM>h&qp~5Q1d(}XAvsD80E@Rf+|=z3!l`Bgp9hS zb}vTF&r&M&YiT@XFDR6{usluC5>cV3ViuKB3toez8LHB{z*tMYU^dHS{kkApJez7+ z&wrw%2K5{{o~nPXv(K5UHa=rqSKc?SpQ^Je-=AF@_wy3QJ!bG4YCKbx>~m(Gdv-rk z{mJynBRw-PdiT7inI6wK`fZTuf65QTpR7mXoy+jbPy_KZUoiZ2defde+$hZ@v*1MK zIMQ?Rdo%O$u{j27)=4Il36uPx8EQ70Q-4^@7AzJsR;xv@rmcFq5pr|MHPCX= zG&^>?hCQWr9D<>CheMFHsAJx|=jw8~c*Xyw2M$N3uhM6`-RQTF(u@bPXEHmRuYdH# z@ASXy#az9f%bWki-+$weDm_0VBP00ze)e^Au(hp~^^Fa@QCCe>`69|oJd}FoQR>cN ziQ7W8$3(sCsB2|sZIXnwSrS&O?6&Vn!fKa`6NR#5zO^Wkx z$*%oZNm*MJU&#)BWry&dg^6~J%YS>ET=>AlXZsd1+F8ztLp8*@RuJfEB^%|;MFfvtdHT- zFHowVr%XRbMeI|mVyCHzjZzyu#T(I+tc)IKO(em(NR0L2FdM_eY!3U`5;{g}sE=)- z9(Dw~cyG9qj^RBV4(z1g-+xBn*qcO;HuAT=)qHehIiK_{MaoEe%PB+&N zIJvoBW2(c(^jt~)ld&aBR|7QoDK7GnRfBK0>j~?;x;Y04-yT{$T dcNrfa=NIDqZ#(Y%x(NUP002ovPDHLkV1hTAEyDl+ diff --git a/src/CAVE.mpsrc b/src/CAVE.mpsrc index 6de766b..cbaf096 100644 --- a/src/CAVE.mpsrc +++ b/src/CAVE.mpsrc @@ -2042,16 +2042,32 @@ procedure draw; {===================[draw_blocks]===================} for ix:=minx to maxx do for iy:=miny to maxy do - begin - if getBlockFore(getmap(ix,iy))=true then - draw_block(ix,iy); + begin + if getBlockFore(getmap(ix, iy)) then + draw_block(ix, iy); - setcolor(0,0,0); - if (light_type=1) then begin if getmaplight(ix,iy)=0 then fillrect((ix*16)-camx,(iy*16)-camy,16,16); end; - else - if light_type=2 then begin if getmaplight(ix,iy)<15 then begin if (ix*16-camx0-16) and (iy*16-camy0-16) then drawimage(light[getmaplight(ix,iy)],(ix*16)-camx,(iy*16)-camy); end; end; - end; - if (toolus>0) and (toolind<10) and (getmap(curx,cury)>0) then begin if toolind>9 then toolind:=9; drawimage(tue[toolind],curx*16-camx,cury*16-camy); end; + setcolor(0, 0, 0); + if light_type = 1 then + begin + if getmaplight(ix,iy) = 0 then + fillrect((ix * 16) - camx, (iy * 16) - camy, 16, 16); + end; + else if light_type = 2 then + begin + if getmaplight(ix, iy) < 15 then + drawimage(light[getmaplight(ix, iy)], (ix * 16) - camx, (iy * 16) - camy); + end; + end; + + // debug + // drawimage(light[getmaplight(player.getX div 16, player.getY div 16)], 0, 0); + + if (toolus > 0) and (toolind < 10) and (getmap(curx,cury) > 0) then + begin + if toolind > 9 then + toolind:=9; + drawimage(tue[toolind], curx * 16 - camx, cury * 16 - camy); + end; {===================[gui]===================} if drawgui then begin @@ -2873,7 +2889,10 @@ procedure game; drop.reflux; player.getDrop; - game_time:=game_time+(600000 div (fps_t*1000)); +// game_time:=game_time+(600000 div (fps_t*1000)); + +// Ускорение игрового времени в 10 раз + game_time := game_time + (600000 div (fps_t*100)); if (game_time>600000) or (game_time<0) then begin @@ -2883,8 +2902,8 @@ procedure game; load_moon('/'+sd+'/cavecraft/texturepacks/'+tex_pack+'/',moon_phase); end; - tim:=10000*getimagewidth(sky)/600000*game_time/10000; - global_light:=effects.get(sky,tim,1,1) {and $F}; + tim := 10000 * getimagewidth(sky) / 600000 * game_time / 10000; + global_light := effects.get(sky, tim, 1, 1) div 16; if clock_stage<>game_time div 75000 then begin clock_stage:=clock_stage+1; if clock_stage>7 then clock_stage:=0; end; @@ -3024,6 +3043,27 @@ procedure qt_start; menu; end; +procedure draw_debug; + var + i : Integer; + begin + //drawfonttext('X:'+(x div 16-128),0,0); + //drawfonttext('Y:'+integertostring(127-(y div 16)),0,8); + drawfonttext('CURX:'+(curx-128),0,16); + drawfonttext('CURY:'+cury,0,24); + drawfonttext('UPDX:'+updx,0,32); + drawfonttext('UPDY:'+updy,0,40); + drawfonttext('FPS:'+fps,0,56); + drawfonttext('Free RAM:'+free_ram/1024+' KB',0,64); + drawfonttext('Total RAM:'+memory.get_totalmemory div 1024+' KB',0,72); + drawfonttext('SEED:'+seed,0,88); + drawfonttext('Game time:'+game_time,0,96); + drawfonttext('Global light:' + global_light, 0, 104); + + for i := 0 to 15 do + drawImage(light[i], getWidth - 16, 16 * i); + end; + begin qt_start; hung_time:=getrelativetimems; @@ -3038,20 +3078,8 @@ begin draw; drawfonttext(version,getWidth-(length(version)*8),getHeight-8); if getrelativetimems-msg_time[4]>500 then begin free_ram:=memory.get_freememory; if free_ram<0 then free_ram:=-free_ram; msg_time[4]:=getrelativetimems; end; - if deb=true then - begin - //drawfonttext('X:'+(x div 16-128),0,0); - //drawfonttext('Y:'+integertostring(127-(y div 16)),0,8); - drawfonttext('CURX:'+(curx-128),0,16); - drawfonttext('CURY:'+cury,0,24); - drawfonttext('UPDX:'+updx,0,32); - drawfonttext('UPDY:'+updy,0,40); - drawfonttext('FPS:'+fps,0,56); - drawfonttext('Free RAM:'+free_ram/1024+' KB',0,64); - drawfonttext('Total RAM:'+memory.get_totalmemory div 1024+' KB',0,72); - drawfonttext('SEED:'+seed,0,88); - drawfonttext('Game time:'+game_time,0,96); - end; + if deb = true then + draw_debug; drawVideo; maxfps; -- 2.29.2