X-Git-Url: https://deadsoftware.ru/gitweb?p=cavecraft.git;a=blobdiff_plain;f=src%2Ffurnace.mpsrc;h=0d195642186697463307e752a6dc2c29e52f751c;hp=7f568dfe10252c743cfc0495de0a26612f5b45e2;hb=13a872abec65a21544bfa928624c6bf3975fd50f;hpb=be17b532d3ef289fa455ba7be5ff8c25ad95a18d diff --git a/src/furnace.mpsrc b/src/furnace.mpsrc index 7f568df..0d19564 100644 --- a/src/furnace.mpsrc +++ b/src/furnace.mpsrc @@ -38,8 +38,13 @@ interface function furnaceBurn(i:integer):boolean; function itemBurn(i:integer):boolean; + procedure SaveData; + procedure LoadData; + procedure ResetData; + implementation - uses maps, drop, items_store, items; + uses maps, drop, items_store, items, jsr75i, func; + var furnace_b: array [0..MAX_FURNACE] of boolean; furnace_item, furnace_sum: array [0..MAX_FURNACE, 0..MAX_FURNACE_CELLS] of integer; @@ -366,4 +371,58 @@ implementation UpdateTime; end; + procedure SaveData; + var + i, j : Integer; + begin + for i := 0 to MAX_FURNACE do + begin + writebool(furnace_b[i]); + for j := 0 to MAX_FURNACE_CELLS do + begin + write_byte(furnace_item[i, j]); + writeint(furnace_sum[i, j]); + end; + writeint(furnace_fstart[i]); + writeint(furnace_ftime[i]); + writeint(furnace_prstart[i]); + end; + end; + + procedure LoadData; + var + i, j : Integer; + begin + for i := 0 to MAX_FURNACE do + begin + furnace_b[i] := readbool; + for j := 0 to MAX_FURNACE_CELLS do + begin + furnace_item[i, j] := read_byte; + furnace_sum[i, j] := readint; + end; + furnace_fstart[i] := readint; + furnace_ftime[i] := readint; + furnace_prstart[i] := readint; + end; + end; + + procedure ResetData; + var + i, j : Integer; + begin + for i := 0 to MAX_FURNACE do + begin + furnace_b[i] := false; + for j := 0 to MAX_FURNACE_CELLS do + begin + furnace_item[i, j] := 0; + furnace_sum[i, j] := 0; + end; + furnace_fstart[i] := 0; + furnace_ftime[i] := 0; + furnace_prstart[i] := 0; + end; + end; + end.