diff --git a/src/CAVE.mpsrc b/src/CAVE.mpsrc
index ccdef84c131cb89a5c76f85934566c3e4ab5663e..0d305849e358ef1108de30fb24a68376cf90e8e9 100644 (file)
--- a/src/CAVE.mpsrc
+++ b/src/CAVE.mpsrc
drop,\r
invui,\r
vars,\r
drop,\r
invui,\r
vars,\r
- particles_store,\r
randoms,\r
memory,\r
worldgen,\r
canvas,\r
items,\r
safeload,\r
randoms,\r
memory,\r
worldgen,\r
canvas,\r
items,\r
safeload,\r
- mob,\r
+ mobs,\r
console,\r
effects,\r
particles,\r
console,\r
effects,\r
particles,\r
video;\r
\r
const\r
video;\r
\r
const\r
- version='BETA 9';\r
- version_map=8;\r
+ version_map = 9;\r
\r
var\r
keymode,updx,updy:integer;\r
\r
var\r
keymode,updx,updy:integer;\r
moon_phase:integer;\r
toolus,toolind:integer;\r
osadki_ani:integer;\r
moon_phase:integer;\r
toolus,toolind:integer;\r
osadki_ani:integer;\r
- sd,sav_fl:string;\r
+ sav_fl:string;\r
global_light:integer;\r
world_typ:integer;\r
float:image;\r
global_light:integer;\r
world_typ:integer;\r
float:image;\r
delay(del);\r
end;\r
\r
delay(del);\r
end;\r
\r
-procedure cleartextures;\r
- var\r
- no:image;\r
- ix,iy,iz:integer;\r
- begin\r
- bg[0]:=no;\r
- bg[1]:=no;\r
- float:=no;\r
- compas:=no;\r
- for ix:=0 to 7 do clock[ix]:=no;\r
-\r
- {for ix:=0 to maxBlockTex do\r
- begin\r
- tex[ix]:=no;\r
- tex8[ix]:=no;\r
- end;\r
- for ix:=0 to maxItemTex do\r
- begin\r
- item[ix]:=no;\r
- item8[ix]:=no;\r
- end;}\r
- for ix:=0 to 8 do back[ix]:=no;\r
-\r
- player.freeSkin;\r
-\r
- for ix:=0 to 34 do\r
- gui[ix]:=no;\r
-\r
- for ix:=0 to 9 do tue[ix]:=no;\r
-\r
- for ix:=0 to 7 do osad[0,ix]:=no;\r
- for ix:=0 to 7 do osad[1,ix]:=no;\r
-\r
- for ix:=0 to 15 do light[ix]:=no;\r
+procedure ClearTextures;\r
+ var\r
+ no : image;\r
+ ix, iy, iz : integer;\r
+ begin\r
+ bg[0] := no;\r
+ bg[1] := no;\r
+ float := no;\r
+ compas := no;\r
+ for ix := 0 to 7 do\r
+ clock[ix] := no;\r
+\r
+ for ix := 0 to maxBlockTex do\r
+ begin\r
+ tex[ix] := no;\r
+ tex8[ix] := no;\r
+ end;\r
+ for ix := 0 to maxItemTex do\r
+ begin\r
+ item[ix] := no;\r
+ item8[ix] := no;\r
+ end;\r
\r
\r
- for ix:=0 to 7 do\r
- begin\r
- pr_1[ix]:=no;\r
- pr_2[ix]:=no;\r
- pr_3[ix]:=no;\r
- pr_4[ix]:=no;\r
- pr_5[ix]:=no;\r
- end;\r
- bubble:=no;\r
+ for ix := 0 to 8 do\r
+ back[ix]:=no;\r
\r
\r
- for ix:=0 to 15 do\r
- pr_boom[ix]:=no;\r
+ player.freeSkin;\r
\r
\r
- mob.freeSkin;\r
+ for ix := 0 to 34 do\r
+ gui[ix] := no;\r
+ for ix := 0 to 9 do\r
+ tue[ix] := no;\r
+ for ix := 0 to 7 do\r
+ osad[0, ix] := no;\r
+ for ix := 0 to 7 do\r
+ osad[1, ix] := no;\r
\r
\r
- sky:=no;\r
+ for ix := 0 to 15 do\r
+ light[ix] := no;\r
\r
\r
- sun:=no;\r
- moon:=no;\r
+ Particles.FreeTextures;\r
+ Mobs.FreeTextures;\r
\r
\r
- sign_im:=no;\r
+ sky := no;\r
+ sun := no;\r
+ moon := no;\r
+ sign_im := no;\r
\r
\r
- for ix:=0 to CONST_MAX_CURS do\r
- LoadCurImg(no, ix);\r
+ for ix := 0 to CONST_MAX_CURS do\r
+ LoadCurImg(no, ix);\r
\r
\r
- //resetVirtualKeyboard(-1);\r
- end;\r
+ //resetVirtualKeyboard(-1);\r
+ end;\r
\r
procedure create_msg(s:string);\r
var\r
\r
procedure create_msg(s:string);\r
var\r
for ix:=0 to 8 do back[ix]:=rotate_image_from_image(im,ix*16,0,16,16,0);\r
end;\r
\r
for ix:=0 to 8 do back[ix]:=rotate_image_from_image(im,ix*16,0,16,16,0);\r
end;\r
\r
- player.loadSkin('char_ani.png', path);\r
- mob.loadSkin(path);\r
+ console.exec('textures.cfg', 'AUTO');\r
+\r
+ Player.LoadSkin('char_ani.png', path);\r
+ Mobs.LoadTextures(path);\r
\r
im:=ld_tex('gui.png',path,'gui/');\r
gui[0]:=rotate_image_from_image(im,0,0,16,16,0);\r
\r
im:=ld_tex('gui.png',path,'gui/');\r
gui[0]:=rotate_image_from_image(im,0,0,16,16,0);\r
for ix:=0 to 15 do light[ix]:=rotate_image_from_image(im,16*ix,0,16,16,0);\r
end;\r
\r
for ix:=0 to 15 do light[ix]:=rotate_image_from_image(im,16*ix,0,16,16,0);\r
end;\r
\r
- if load_particles_tex then\r
- begin\r
- im:=ld_tex('particles.png',path,'terrain/');\r
- for ix:=0 to 7 do\r
- begin\r
- pr_1[ix]:=rotate_image_from_image(im,8*ix,0,8,8,0);\r
- pr_2[ix]:=rotate_image_from_image(im,8*ix,8,8,8,0);\r
- pr_3[ix]:=rotate_image_from_image(im,8*ix,16,8,8,0);\r
- pr_4[ix]:=rotate_image_from_image(im,8*ix,24,8,8,0);\r
- pr_5[ix]:=rotate_image_from_image(im,8*ix,32,8,8,0);\r
- end;\r
- bubble:=rotate_image_from_image(im,0,40,8,8,0);\r
- im:=ld_tex('explosion.png',path,'terrain/');\r
- for ix:=0 to 15 do\r
- pr_boom[ix]:=rotate_image_from_image(im,32*ix,0,32,32,0);\r
- end;\r
+ Particles.LoadTextures(path);\r
\r
im:=ld_tex('partition.png',path,'gui/');\r
gui[18]:=rotate_image_from_image(im,0,0,84,42,0);\r
\r
im:=ld_tex('partition.png',path,'gui/');\r
gui[18]:=rotate_image_from_image(im,0,0,84,42,0);\r
\r
//anim_del2:=0;\r
\r
\r
//anim_del2:=0;\r
\r
- inv.resetData;\r
-\r
- chest.resetData;\r
-\r
- {for ix:=0 to 15 do\r
- begin\r
- b_furnace[ix]:=false;\r
- for iy:=0 to 4 do\r
- begin\r
- furnace[ix,iy].item_i:=0;\r
- furnace[ix,iy].sum_i:=0;\r
- furnace_gg[ix].f_gor:=15;\r
- furnace_gg[ix].fire_time:=0;\r
- furnace_gg[ix].f_got:=0;\r
- furnace_gg[ix].got_time:=0;\r
- end;\r
- end;}\r
-\r
- drop.resetData;\r
-\r
- mob.resetData;\r
-\r
- //gb_up_pa:=0;\r
- reset_particles(max_particles+1);\r
+ Inv.ResetData;\r
+ Chest.ResetData;\r
+ Furnace.ResetData;\r
+ Drop.ResetData;\r
+ Mobs.ResetData;\r
+ Particles.ResetData;\r
\r
for ix:=0 to 255 do\r
begin\r
\r
for ix:=0 to 255 do\r
begin\r
if file_exists(path+world_name)<>1 then file_create(path+world_name);\r
if open_file(path+world_name)=1 then\r
begin\r
if file_exists(path+world_name)<>1 then file_create(path+world_name);\r
if open_file(path+world_name)=1 then\r
begin\r
- writeint(player.getX);\r
- writeint(player.getX);\r
- //Matrix\r
+ writeint(player.getX);\r
+ writeint(player.getY);\r
//Matrix\r
SaveMapRLE;\r
SaveMapInfoRLE;\r
//Matrix\r
SaveMapRLE;\r
SaveMapInfoRLE;\r
write_byte(getBackMap(ix));\r
write_byte(getBiomMap(ix));\r
end;\r
write_byte(getBackMap(ix));\r
write_byte(getBiomMap(ix));\r
end;\r
- drw_load_line('Chests',55);\r
- //Chests\r
- chest.saveData;\r
- drw_load_line('Furnaces',60);\r
- //Furnaces\r
- /* for ix:=0 to 15 do\r
- begin\r
- writebool(b_furnace[ix]);\r
- writeint(furnace_gg[ix].f_gor);\r
- writeint(furnace_gg[ix].f_got);\r
- for iy:=0 to 4 do\r
- begin\r
- write_byte(furnace[ix,iy].item_i);\r
- writeint(furnace[ix,iy].sum_i);\r
- end;\r
- end;*/\r
- drw_load_line('Mobs',70);\r
- //Mobs\r
- mob.saveData;\r
- drw_load_line('Drop',80);\r
- //Drop\r
- drop.saveData;\r
- drw_load_line('Particles',85);\r
- //Particles\r
- writeint(max_particles);\r
- write_byte(gb_up_pa);\r
- for ix:=0 to max_particles do\r
- begin\r
- write_byte(get_particle_type(ix));\r
- write_byte(get_particle_ani(ix));\r
- writeint(get_particle_x(ix));\r
- writeint(get_particle_y(ix));\r
- end;\r
- drw_load_line('Other',90);\r
- //Other\r
+\r
+ drw_load_line('Chests', 55);\r
+ Chest.SaveData;\r
+ drw_load_line('Furnaces', 60);\r
+ Furnace.SaveData;\r
+ drw_load_line('Mobs', 70);\r
+ Mobs.SaveData;\r
+ drw_load_line('Drop', 80);\r
+ Drop.SaveData;\r
+ drw_load_line('Particles', 85);\r
+ Particles.SaveData;\r
+\r
+ drw_load_line('Other', 90);\r
write_byte(updx);\r
write_byte(updy);\r
writebool(osadki);\r
write_byte(updx);\r
write_byte(updy);\r
writebool(osadki);\r
setBackMap(read_byte, ix);\r
setBiomMap(read_byte, ix);\r
end;\r
setBackMap(read_byte, ix);\r
setBiomMap(read_byte, ix);\r
end;\r
- drw_load_line('Chests',55);\r
- //Chests\r
- chest.loadData;\r
- drw_load_line('Furnaces',60);\r
- //Furnaces\r
- /* for ix:=0 to 15 do\r
- begin\r
- b_furnace[ix]:=readbool;\r
- furnace_gg[ix].f_gor:=readint;\r
- furnace_gg[ix].f_got:=readint;\r
- for iy:=0 to 4 do\r
- begin\r
- furnace[ix,iy].item_i:=read_byte;\r
- furnace[ix,iy].sum_i:=readint;\r
- end;\r
- end;*/\r
- drw_load_line('Mobs',70);\r
- //Mobs\r
- mob.loadData;\r
- drw_load_line('Drop',80);\r
- //Drop\r
- drop.loadData;\r
- drw_load_line('Particles',85);\r
- //Particles\r
- max_particles:=readint;\r
- reset_particles(max_particles+1);\r
- gb_up_pa:=read_byte;\r
- for ix:=0 to max_particles do\r
- begin\r
- set_particle_type(ix,read_byte);\r
- set_particle_ani(ix,read_byte);\r
- set_particle_x(ix,readint);\r
- set_particle_y(ix,readint);\r
- end;\r
- drw_load_line('Other',90);\r
- //Other\r
+ drw_load_line('Chests', 55);\r
+ Chest.LoadData;\r
+ drw_load_line('Furnaces', 60);\r
+ Furnace.LoadData;\r
+ Mobs.LoadData;\r
+ drw_load_line('Drop', 80);\r
+ Drop.LoadData;\r
+ drw_load_line('Particles', 85);\r
+ Particles.LoadData;\r
+\r
+ drw_load_line('Other',90);\r
updx:=read_byte;\r
updy:=read_byte;\r
osadki:=readbool;\r
updx:=read_byte;\r
updy:=read_byte;\r
osadki:=readbool;\r
rs:=openRecordStore('SD');\r
sd:=readRecordStoreEntry(rs,1);\r
closeRecordStore(rs);\r
rs:=openRecordStore('SD');\r
sd:=readRecordStoreEntry(rs,1);\r
closeRecordStore(rs);\r
- console.exec('autoexec.cfg', 'AUTO', true);\r
+ console.exec('autoexec.cfg', 'AUTO');\r
if sd='' then\r
begin\r
init_touch;\r
if sd='' then\r
begin\r
init_touch;\r
if m_cur>3 then m_cur:=0;\r
end;\r
\r
if m_cur>3 then m_cur:=0;\r
end;\r
\r
- if clickedKey(KEY_MENU_LEFT) then\r
+ if (max_r >= 0) and clickedKey(KEY_MENU_LEFT) then\r
begin\r
cur_name:=cur_name-1;\r
if cur_name<0 then cur_name:=0;\r
begin\r
cur_name:=cur_name-1;\r
if cur_name<0 then cur_name:=0;\r
\r
if file_exists('/'+sd+'/cavecraft/saves/'+names[cur_name]+'/player.dat')=1 then\r
end;\r
\r
if file_exists('/'+sd+'/cavecraft/saves/'+names[cur_name]+'/player.dat')=1 then\r
end;\r
- if clickedKey(KEY_MENU_RIGHT) then\r
+ if (max_r >= 0) and clickedKey(KEY_MENU_RIGHT) then\r
begin\r
cur_name:=cur_name+1;\r
if cur_name>max_r then cur_name:=max_r;\r
begin\r
cur_name:=cur_name+1;\r
if cur_name>max_r then cur_name:=max_r;\r
if m_cur=0 then begin\r
if cur_name>0 then\r
begin\r
if m_cur=0 then begin\r
if cur_name>0 then\r
begin\r
+ debug("Select TexturePack @ /" + sd + "/cavecraft/texturepacks/" + names[cur_name]);\r
tex_pack:=names[cur_name];\r
LoadDrawFont('/'+sd+'/cavecraft/texturepacks/'+tex_pack+'/');\r
loadtexture('/'+sd+'/cavecraft/texturepacks/'+tex_pack+'/');\r
tex_pack:=names[cur_name];\r
LoadDrawFont('/'+sd+'/cavecraft/texturepacks/'+tex_pack+'/');\r
loadtexture('/'+sd+'/cavecraft/texturepacks/'+tex_pack+'/');\r
rs:=openRecordStore('TX');\r
t:=addRecordStoreEntry(rs,tex_pack);\r
closeRecordStore(rs);\r
rs:=openRecordStore('TX');\r
t:=addRecordStoreEntry(rs,tex_pack);\r
closeRecordStore(rs);\r
+\r
+ LoadDrawFont('/'+sd+'/cavecraft/texturepacks/'+tex_pack+'/');\r
+ loadtexture('/'+sd+'/cavecraft/texturepacks/'+tex_pack+'/');\r
end;\r
else\r
begin\r
end;\r
else\r
begin\r
+ debug("Cancel Select TecturePack");\r
tex_pack:='';\r
loadtexture('/');\r
deleteRecordStore('TX');\r
tex_pack:='';\r
loadtexture('/');\r
deleteRecordStore('TX');\r
end; else\r
if m_cur=-1 then\r
begin\r
end; else\r
if m_cur=-1 then\r
begin\r
- s_particles:=not s_particles;\r
+ Particles.enabled := not Particles.enabled;\r
end; else\r
if m_cur=0 then\r
begin\r
end; else\r
if m_cur=0 then\r
begin\r
\r
drw_btn('Light:'+light_type,-3,m_cur,0,1);\r
drw_btn('Weather:'+ifosad,-2,m_cur,0,1);\r
\r
drw_btn('Light:'+light_type,-3,m_cur,0,1);\r
drw_btn('Weather:'+ifosad,-2,m_cur,0,1);\r
- drw_btn('Particles:'+s_particles,-1,m_cur,0,1);\r
+ drw_btn('Particles:' + Particles.enabled, -1, m_cur, 0, 1);\r
drw_btn('Hide GUI:'+not drawgui,0,m_cur,0,1);\r
drw_btn('Touch:'+(load_key_tex>0),1,m_cur,0,1);\r
drw_btn('JPEG:'+s_jpeg_quality,2,m_cur,0,1);\r
drw_btn('Hide GUI:'+not drawgui,0,m_cur,0,1);\r
drw_btn('Touch:'+(load_key_tex>0),1,m_cur,0,1);\r
drw_btn('JPEG:'+s_jpeg_quality,2,m_cur,0,1);\r
draw_block(ix,iy);\r
end;\r
{===================[drop]===================}\r
draw_block(ix,iy);\r
end;\r
{===================[drop]===================}\r
- drop.draw(camx, camy);\r
+ Drop.Draw(camx, camy);\r
{===================[particles]===================}\r
{===================[particles]===================}\r
- if s_particles then draw_particle;\r
+ Particles.Draw(camx, camy);\r
{===================[player]===================}\r
{===================[player]===================}\r
- if hp>0 then\r
- begin\r
- player.draw(camx, camy);\r
- end;\r
-\r
+ Player.Draw(camx, camy);\r
{===================[mobs]===================}\r
{===================[mobs]===================}\r
- mob.draw(camx, camy);\r
+ Mobs.Draw(camx, camy);\r
{===================[draw_blocks]===================}\r
for ix:=minx to maxx do\r
for iy:=miny to maxy do\r
{===================[draw_blocks]===================}\r
for ix:=minx to maxx do\r
for iy:=miny to maxy do\r
- begin\r
- if getBlockFore(getmap(ix,iy))=true then\r
- draw_block(ix,iy);\r
+ begin\r
+ if getBlockFore(getmap(ix, iy)) then\r
+ draw_block(ix, iy);\r
\r
\r
- setcolor(0,0,0);\r
- if (light_type=1) then begin if getmaplight(ix,iy)=0 then fillrect((ix*16)-camx,(iy*16)-camy,16,16); end;\r
- else\r
- if light_type=2 then begin if getmaplight(ix,iy)<15 then begin if (ix*16-camx<getWidth) and (ix*16-camx>0-16) and (iy*16-camy<getHeight) and (iy*16-camy>0-16) then drawimage(light[getmaplight(ix,iy)],(ix*16)-camx,(iy*16)-camy); end; end;\r
- end;\r
- 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;\r
+ setcolor(0, 0, 0);\r
+ if light_type = 1 then\r
+ begin\r
+ if getmaplight(ix,iy) = 0 then\r
+ fillrect((ix * 16) - camx, (iy * 16) - camy, 16, 16);\r
+ end;\r
+ else if light_type = 2 then\r
+ begin \r
+ if getmaplight(ix, iy) < 15 then\r
+ drawimage(light[getmaplight(ix, iy)], (ix * 16) - camx, (iy * 16) - camy);\r
+ end;\r
+ end;\r
+\r
+ // debug\r
+ // drawimage(light[getmaplight(player.getX div 16, player.getY div 16)], 0, 0);\r
+\r
+ if (toolus > 0) and (toolind < 10) and (getmap(curx,cury) > 0) then\r
+ begin\r
+ if toolind > 9 then\r
+ toolind:=9;\r
+ drawimage(tue[toolind], curx * 16 - camx, cury * 16 - camy);\r
+ end;\r
{===================[gui]===================}\r
if drawgui then\r
begin\r
{===================[gui]===================}\r
if drawgui then\r
begin\r
damg:=1;\r
\r
if posi=0 then\r
damg:=1;\r
\r
if posi=0 then\r
- i:=mob.findAndHit(damg, x-TILE_SIZE, y, TILE_SIZE+(w/2), h, -2, -3);\r
+ i:=Mobs.findAndHit(damg, x-TILE_SIZE, y, TILE_SIZE+(w/2), h, -2, -3);\r
else\r
else\r
- i:=mob.findAndHit(damg, x+(w/2), y, TILE_SIZE+(w/2), h, 2, -3);\r
+ i:=Mobs.findAndHit(damg, x+(w/2), y, TILE_SIZE+(w/2), h, 2, -3);\r
\r
if i<>-1 then\r
begin\r
\r
if i<>-1 then\r
begin\r
y:=last_sleep_y*16;\r
end;\r
end;\r
y:=last_sleep_y*16;\r
end;\r
end;\r
+ player.setX(x);\r
+ player.setY(y);\r
posi:=0;\r
curx:=0;\r
cury:=0;\r
posi:=0;\r
curx:=0;\r
cury:=0;\r
var\r
i:integer;\r
begin\r
var\r
i:integer;\r
begin\r
- player.calcPhysics;\r
- mob.updatePhy;\r
- drop.calcPhy;\r
+ Player.CalcPhysics;\r
+ Mobs.UpdatePhy;\r
+ Drop.CalcPhy;\r
end;\r
\r
procedure light_fillrect(l,x,y,r:integer);\r
end;\r
\r
procedure light_fillrect(l,x,y,r:integer);\r
\r
game_time:=game_time+(600000 div (fps_t*1000));\r
\r
\r
game_time:=game_time+(600000 div (fps_t*1000));\r
\r
+// Ускорение игрового времени в 10 раз\r
+// game_time := game_time + (600000 div (fps_t*100));\r
+\r
if (game_time>600000) or (game_time<0) then\r
begin\r
game_time:=0;\r
if (game_time>600000) or (game_time<0) then\r
begin\r
game_time:=0;\r
load_moon('/'+sd+'/cavecraft/texturepacks/'+tex_pack+'/',moon_phase);\r
end;\r
\r
load_moon('/'+sd+'/cavecraft/texturepacks/'+tex_pack+'/',moon_phase);\r
end;\r
\r
- tim:=10000*getimagewidth(sky)/600000*game_time/10000;\r
- global_light:=effects.get(sky,tim,1,1) {and $F};\r
+ tim := 10000 * getimagewidth(sky) / 600000 * game_time / 10000;\r
+ global_light := effects.get(sky, tim, 1, 1) div 16;\r
\r
if clock_stage<>game_time div 75000 then begin clock_stage:=clock_stage+1; if clock_stage>7 then clock_stage:=0; end;\r
\r
\r
if clock_stage<>game_time div 75000 then begin clock_stage:=clock_stage+1; if clock_stage>7 then clock_stage:=0; end;\r
\r
osadki_ani:=osadki_ani+1;\r
if osadki_ani>7 then osadki_ani:=0;\r
\r
osadki_ani:=osadki_ani+1;\r
if osadki_ani>7 then osadki_ani:=0;\r
\r
- if random(20)=random(20) then create_particle(6,x,y);\r
+ if Random(20) = Random(20) then Particles.Create(Particles.bubble, x, y);\r
\r
if gamemode=1 then begin hp:=666; hunger:=666; end;\r
\r
\r
if gamemode=1 then begin hp:=666; hunger:=666; end;\r
\r
\r
//if s_spawn_mob then if random(4096)=1547 then megaspawn;\r
\r
\r
//if s_spawn_mob then if random(4096)=1547 then megaspawn;\r
\r
- mob.update;\r
-\r
- if particle_upd then update_particle;\r
+ Mobs.Update;\r
+ Particles.Update;\r
\r
if light_type>0 then\r
begin\r
\r
if light_type>0 then\r
begin\r
menu;\r
end;\r
\r
menu;\r
end;\r
\r
+procedure draw_debug;\r
+ var\r
+ i : Integer;\r
+ begin\r
+ //drawfonttext('X:'+(x div 16-128),0,0);\r
+ //drawfonttext('Y:'+integertostring(127-(y div 16)),0,8);\r
+ drawfonttext('CURX:'+(curx-128),0,16);\r
+ drawfonttext('CURY:'+cury,0,24);\r
+ drawfonttext('UPDX:'+updx,0,32);\r
+ drawfonttext('UPDY:'+updy,0,40);\r
+ drawfonttext('FPS:'+fps,0,56);\r
+ drawfonttext('Free RAM:'+free_ram/1024+' KB',0,64);\r
+ drawfonttext('Total RAM:'+memory.get_totalmemory div 1024+' KB',0,72);\r
+ drawfonttext('SEED:'+seed,0,88);\r
+ drawfonttext('Game time:'+game_time,0,96);\r
+ drawfonttext('Global light:' + global_light, 0, 104);\r
+\r
+ for i := 0 to 15 do\r
+ drawImage(light[i], getWidth - 16, 16 * i);\r
+ end;\r
+\r
begin\r
qt_start;\r
hung_time:=getrelativetimems;\r
begin\r
qt_start;\r
hung_time:=getrelativetimems;\r
draw;\r
drawfonttext(version,getWidth-(length(version)*8),getHeight-8);\r
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;\r
draw;\r
drawfonttext(version,getWidth-(length(version)*8),getHeight-8);\r
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;\r
- if deb=true then\r
- begin\r
- //drawfonttext('X:'+(x div 16-128),0,0);\r
- //drawfonttext('Y:'+integertostring(127-(y div 16)),0,8);\r
- drawfonttext('CURX:'+(curx-128),0,16);\r
- drawfonttext('CURY:'+cury,0,24);\r
- drawfonttext('UPDX:'+updx,0,32);\r
- drawfonttext('UPDY:'+updy,0,40);\r
- drawfonttext('FPS:'+fps,0,56);\r
- drawfonttext('Free RAM:'+free_ram/1024+' KB',0,64);\r
- drawfonttext('Total RAM:'+memory.get_totalmemory div 1024+' KB',0,72);\r
- drawfonttext('SEED:'+seed,0,88);\r
- drawfonttext('Game time:'+game_time,0,96);\r
- end;\r
+ if deb = true then\r
+ draw_debug;\r
\r
drawVideo;\r
maxfps;\r
\r
drawVideo;\r
maxfps;\r