X-Git-Url: https://deadsoftware.ru/gitweb?p=cavecraft.git;a=blobdiff_plain;f=src%2FCAVE.mpsrc;h=4f61a7db150db7a01614a4bdc5f285d6244b66b3;hp=04446b3bf80dc50ba51180b00352480d03a26965;hb=f69f36f1ce7426048c8ddfef03f7b237164403ad;hpb=f428de930645e7a200a288b4af87b8bd4be53820 diff --git a/src/CAVE.mpsrc b/src/CAVE.mpsrc index 04446b3..4f61a7d 100644 --- a/src/CAVE.mpsrc +++ b/src/CAVE.mpsrc @@ -13,7 +13,7 @@ uses canvas, items, safeload, - mob, + mobs, console, effects, particles, @@ -32,8 +32,7 @@ uses video; const - version = 'BETA 9'; - version_map = 9; + version_map = 9; var keymode,updx,updy:integer; @@ -54,7 +53,7 @@ var moon_phase:integer; toolus,toolind:integer; osadki_ani:integer; - sd,sav_fl:string; + sav_fl:string; global_light:integer; world_typ:integer; float:image; @@ -108,68 +107,70 @@ procedure maxfps; delay(del); end; -procedure cleartextures; - var - no:image; - ix,iy,iz:integer; - begin - bg[0]:=no; - bg[1]:=no; - float:=no; - compas:=no; - for ix:=0 to 7 do clock[ix]:=no; - - {for ix:=0 to maxBlockTex do - begin - tex[ix]:=no; - tex8[ix]:=no; - end; - for ix:=0 to maxItemTex do - begin - item[ix]:=no; - item8[ix]:=no; - end;} - for ix:=0 to 8 do back[ix]:=no; - - player.freeSkin; - - for ix:=0 to 34 do - gui[ix]:=no; - - for ix:=0 to 9 do tue[ix]:=no; - - for ix:=0 to 7 do osad[0,ix]:=no; - for ix:=0 to 7 do osad[1,ix]:=no; +procedure ClearTextures; + var + no : image; + ix, iy, iz : integer; + begin + bg[0] := no; + bg[1] := no; + float := no; + compas := no; + for ix := 0 to 7 do + clock[ix] := no; + + for ix := 0 to maxBlockTex do + begin + tex[ix] := no; + tex8[ix] := no; + end; + for ix := 0 to maxItemTex do + begin + item[ix] := no; + item8[ix] := no; + end; - for ix:=0 to 15 do light[ix]:=no; + for ix := 0 to 8 do + back[ix]:=no; - for ix:=0 to 7 do - begin - pr_1[ix]:=no; - pr_2[ix]:=no; - pr_3[ix]:=no; - pr_4[ix]:=no; - pr_5[ix]:=no; - end; - bubble:=no; + player.freeSkin; - for ix:=0 to 15 do - pr_boom[ix]:=no; + for ix := 0 to 34 do + gui[ix] := no; + for ix := 0 to 9 do + tue[ix] := no; + for ix := 0 to 7 do + osad[0, ix] := no; + for ix := 0 to 7 do + osad[1, ix] := no; - mob.freeSkin; + for ix := 0 to 15 do + light[ix] := no; + for ix := 0 to 7 do + begin + pr_1[ix] := no; + pr_2[ix] := no; + pr_3[ix] := no; + pr_4[ix] := no; + pr_5[ix] := no; + end; - sky:=no; + bubble := no; + for ix := 0 to 15 do + pr_boom[ix] := no; - sun:=no; - moon:=no; + Mobs.FreeTextures; - sign_im:=no; + sky := no; + sun := no; + moon := no; + sign_im := no; - for ix:=0 to CONST_MAX_CURS do - LoadCurImg(no, ix); + for ix := 0 to CONST_MAX_CURS do + LoadCurImg(no, ix); - //resetVirtualKeyboard(-1); - end; + //resetVirtualKeyboard(-1); + end; procedure create_msg(s:string); var @@ -205,8 +206,10 @@ procedure loadtexture(path:string); for ix:=0 to 8 do back[ix]:=rotate_image_from_image(im,ix*16,0,16,16,0); end; + console.exec('textures.cfg', 'AUTO'); + player.loadSkin('char_ani.png', path); - mob.loadSkin(path); + Mobs.LoadTextures(path); im:=ld_tex('gui.png',path,'gui/'); gui[0]:=rotate_image_from_image(im,0,0,16,16,0); @@ -343,7 +346,7 @@ procedure cleargame; drop.resetData; - mob.resetData; + Mobs.ResetData; //gb_up_pa:=0; reset_particles(max_particles+1); @@ -521,7 +524,7 @@ procedure saveworld(path:string); furnace.saveData; drw_load_line('Mobs',70); //Mobs - mob.saveData; + Mobs.SaveData; drw_load_line('Drop',80); //Drop drop.saveData; @@ -652,7 +655,7 @@ function loadworld(path:string):boolean; //Furnaces furnace.loadData; //Mobs - mob.loadData; + Mobs.LoadData; drw_load_line('Drop',80); //Drop drop.loadData; @@ -1039,7 +1042,7 @@ procedure start_uu; rs:=openRecordStore('SD'); sd:=readRecordStoreEntry(rs,1); closeRecordStore(rs); - console.exec('autoexec.cfg', 'AUTO', true); + console.exec('autoexec.cfg', 'AUTO'); if sd='' then begin init_touch; @@ -1395,6 +1398,7 @@ procedure menu_tex; if m_cur=0 then begin if cur_name>0 then begin + debug("Select TexturePack @ /" + sd + "/cavecraft/texturepacks/" + names[cur_name]); tex_pack:=names[cur_name]; LoadDrawFont('/'+sd+'/cavecraft/texturepacks/'+tex_pack+'/'); loadtexture('/'+sd+'/cavecraft/texturepacks/'+tex_pack+'/'); @@ -1402,9 +1406,13 @@ procedure menu_tex; rs:=openRecordStore('TX'); t:=addRecordStoreEntry(rs,tex_pack); closeRecordStore(rs); + + LoadDrawFont('/'+sd+'/cavecraft/texturepacks/'+tex_pack+'/'); + loadtexture('/'+sd+'/cavecraft/texturepacks/'+tex_pack+'/'); end; else begin + debug("Cancel Select TecturePack"); tex_pack:=''; loadtexture('/'); deleteRecordStore('TX'); @@ -2038,7 +2046,7 @@ procedure draw; end; {===================[mobs]===================} - mob.draw(camx, camy); + Mobs.Draw(camx, camy); {===================[draw_blocks]===================} for ix:=minx to maxx do for iy:=miny to maxy do @@ -2284,9 +2292,9 @@ function rt_useweap:boolean; damg:=1; if posi=0 then - i:=mob.findAndHit(damg, x-TILE_SIZE, y, TILE_SIZE+(w/2), h, -2, -3); + i:=Mobs.findAndHit(damg, x-TILE_SIZE, y, TILE_SIZE+(w/2), h, -2, -3); else - i:=mob.findAndHit(damg, x+(w/2), y, TILE_SIZE+(w/2), h, 2, -3); + i:=Mobs.findAndHit(damg, x+(w/2), y, TILE_SIZE+(w/2), h, 2, -3); if i<>-1 then begin @@ -2721,9 +2729,9 @@ procedure phyhandler; var i:integer; begin - player.calcPhysics; - mob.updatePhy; - drop.calcPhy; + Player.CalcPhysics; + Mobs.UpdatePhy; + Drop.CalcPhy; end; procedure light_fillrect(l,x,y,r:integer); @@ -2925,7 +2933,7 @@ procedure game; //if s_spawn_mob then if random(4096)=1547 then megaspawn; - mob.update; + Mobs.Update; if particle_upd then update_particle;