DEADSOFTWARE

Rewrited module for particles
[cavecraft.git] / src / console.pas
index 49b9435b2a561e9b72e8bfd2a6b3fe1eb16d77bd..c6c2f69dd056e7db6d8f3cdbcb8f94be8a5093d2 100644 (file)
@@ -8,7 +8,6 @@ interface
   osadki:boolean;\r
   bl_upd:integer;\r
   s_get_drp:boolean;\r
-  particle_upd:boolean;\r
   drw_back:boolean;\r
   drw_sm:boolean;\r
   s_max_fps:integer;\r
@@ -17,13 +16,11 @@ interface
   light_type:integer;\r
 \r
   ifosad:boolean;\r
-  //s_particles:boolean; - module\r
 \r
   load_sm:integer;\r
   load_sky_siz:integer;\r
   load_back_tex:boolean;\r
   load_weather_tex:boolean;\r
-  load_particles_tex:boolean;\r
   load_light_tex:boolean;\r
   load_gui_tex:boolean;\r
 \r
@@ -39,31 +36,49 @@ interface
 \r
   sd:string;\r
 \r
-  //max_particles:integer; - module\r
+  EOFstr, ENDstr:boolean;\r
 \r
  procedure save_settings;\r
  procedure load_settings;\r
  procedure call_console;\r
- procedure exec(s, search:string; acces:boolean);\r
+ procedure exec(s, search:string);\r
  procedure addToLog(str:string);\r
 \r
 implementation\r
-uses keyboard,particles_store,vars,maps,items,canvas,mob,worldgen,jsr75i,particles,func, player,sensor, drop, inv, furnace, items_store, video;\r
+\r
+  uses\r
+    keyboard,\r
+    vars,\r
+    maps,\r
+    items,\r
+    canvas,\r
+    mobs,\r
+    worldgen,\r
+    jsr75i,\r
+    particles,\r
+    func,\r
+    player,\r
+    sensor,\r
+    drop,\r
+    inv,\r
+    furnace,\r
+    items_store,\r
+    video;\r
+\r
 const\r
  CON_LOG_SIZE=9;\r
  PARSER_MAX_STR=15;\r
  MAX_IMGREG=2;\r
+\r
 var\r
  logSTR: array [0..CON_LOG_SIZE] of string;\r
  lastCommand:string;\r
 \r
  parseStr:string;\r
- EOFstr, ENDstr:boolean;\r
 \r
  stack: array [0..0] of integer;\r
  stack_pointer:integer;\r
 \r
- autoexec_acces:boolean;\r
  regimg:image;\r
 \r
  procedure resetStack(size:integer);\r
@@ -152,7 +167,7 @@ procedure save_settings;
   t:=addRecordStoreEntry(rs,version);\r
   t:=addRecordStoreEntry(rs,''+light_type);\r
   t:=addRecordStoreEntry(rs,''+ifosad);\r
-  t:=addRecordStoreEntry(rs,''+s_particles);\r
+  t:=addRecordStoreEntry(rs, '' + Particles.enabled);\r
   t:=addRecordStoreEntry(rs,''+drawgui);\r
   t:=addRecordStoreEntry(rs,''+s_jpeg_quality);\r
   t:=addRecordStoreEntry(rs,''+load_key_tex);\r
@@ -177,7 +192,7 @@ procedure load_settings;
    end;\r
   light_type:=stringtointeger(readRecordStoreEntry(rs,2));\r
   ifosad:=sett_ld_bool(readRecordStoreEntry(rs,3));\r
-  s_particles:=sett_ld_bool(readRecordStoreEntry(rs,4));\r
+  Particles.enabled := sett_ld_bool(readRecordStoreEntry(rs, 4));\r
   drawgui:=sett_ld_bool(readRecordStoreEntry(rs,5));\r
   s_jpeg_quality:=stringtointeger(readRecordStoreEntry(rs,6));\r
   load_key_tex:=stringtointeger(readRecordStoreEntry(rs,7));\r
@@ -445,7 +460,7 @@ procedure exeCommand(str:string);
 \r
   com:=UpCase(nextWord);\r
 \r
-  if (cheats) or (autoexec_acces) or (gamemode=1) then\r
+  if (cheats) or (gamemode=1) then\r
    begin\r
     if com='TIME' then\r
      game_time:=decodeInt(nextWord);\r
@@ -474,13 +489,6 @@ procedure exeCommand(str:string);
       fly:=false;\r
      end;\r
     else\r
-    {if com='KILL_MOBS' then\r
-     for i:=0 to 31 do\r
-      begin\r
-       mob[i].m_type:=0;\r
-       mob[i].m_hp:=0;\r
-      end;\r
-    else}\r
     if com='SPAWN' then\r
      begin\r
       player.setX(get_spawn_x*16+4);\r
@@ -537,12 +545,6 @@ procedure exeCommand(str:string);
   if com='GET_DRP' then\r
    s_get_drp:=strToBool(nextWord);\r
   else\r
-  {if com='AI_UPD' then\r
-   ai_upd:=strToBool(nextWord);\r
-  else}\r
-  if com='PRT_UPD' then\r
-   particle_upd:=strToBool(nextWord);\r
-  else\r
   if com='MAX_FPS' then\r
    s_max_fps:=decodeInt(nextWord); else\r
   if com='DRW_BACK' then\r
@@ -579,7 +581,7 @@ procedure exeCommand(str:string);
    light_type:=decodeInt(nextWord);\r
   else\r
   if com='S_PARTICLES' then\r
-   s_particles:=strToBool(nextWord);\r
+   Particles.enabled := strToBool(nextWord);\r
   else\r
   if com='LOAD_SKY' then\r
    load_sky_siz:=decodeInt(nextWord);\r
@@ -593,9 +595,6 @@ procedure exeCommand(str:string);
   if com='LOAD_WEATHER_TEX' then\r
    load_weather_tex:=strToBool(nextWord);\r
   else\r
-  if com='LOAD_PARTICLES_TEX' then\r
-   load_particles_tex:=strToBool(nextWord);\r
-  else\r
   if com='LOAD_LIGHT_TEX' then\r
    load_light_tex:=strToBool(nextWord);\r
   else\r
@@ -620,16 +619,10 @@ procedure exeCommand(str:string);
   if com='LOAD_MINIMAP_TEX' then\r
    load_minimap_tex:=strToBool(nextWord);\r
   else\r
-  if com='MAX_PARTICLES' then\r
-   begin\r
-    max_particles:=decodeInt(nextWord);\r
-    reset_particles(max_particles+1);\r
-   end;\r
-  else\r
   if com='EXEC' then\r
    begin\r
     tmp:=nextWord;\r
-    exec(nextWord, tmp, autoexec_acces);\r
+    exec(nextWord, tmp);\r
    end;\r
   else\r
   if com='RESET_ITEMS' then\r
@@ -741,7 +734,9 @@ procedure exeCommand(str:string);
    end;\r
   else\r
   if com='LOAD_TEX' then\r
-   regimg:=ld_tex(nextWord, '/'+sd+'/cavecraft/', '');\r
+   begin\r
+    regimg:=ld_tex(nextWord, '/'+sd+'/cavecraft/texturepacks/'+tex_pack+'/', '');\r
+   end;\r
   else\r
   if com='RESET_TEX' then\r
    resetTmpImg;\r
@@ -885,15 +880,12 @@ procedure call_console;
   forever;\r
  end;\r
 \r
-procedure exec(s, search:string; acces:boolean);\r
+procedure exec(s, search:string);\r
  var\r
   res:resource;\r
   str:string;\r
-  tmp_acces, tmpEOF:boolean;\r
+  tmpEOF : Boolean;\r
  begin\r
-  tmp_acces:=autoexec_acces;\r
-  autoexec_acces:=acces;\r
-\r
   search:=UpCase(search);\r
 \r
   if search='LOCAL' then\r
@@ -931,7 +923,6 @@ procedure exec(s, search:string; acces:boolean);
   else\r
    begin\r
     addToLog('Unknown load type "'+search+'", file "'+s+'" not executed!');\r
-    autoexec_acces:=tmp_acces;\r
     exit;\r
    end;\r
 \r
@@ -946,8 +937,9 @@ procedure exec(s, search:string; acces:boolean);
   else\r
    addToLog('Execute file "'+s+'" not found!');\r
 \r
+  EOFstr := false;\r
+  ENDstr := false;\r
   CloseResource(res);\r
-  autoexec_acces:=tmp_acces;\r
  end;\r
 \r
 initialization\r