3 interface
4 const
7 var
31 //load_key_tex:integer;
47 implementation
49 uses
50 keyboard,
51 vars,
52 maps,
53 canvas,
54 mobs,
55 worldgen,
56 jsr75i,
57 particles,
58 func,
59 player,
60 sensor,
61 drop,
62 inv,
63 furnace,
64 items_store,
65 video;
67 const
72 var
84 begin
87 bytecode
95 begin
101 begin
107 var
109 begin
116 begin
122 var
124 begin
129 var
131 begin
139 begin
142 begin
146 else
148 begin
152 else
155 else
160 var
163 begin
177 begin
182 var
184 begin
187 begin
190 exit;
202 var
204 begin
211 var
213 begin
220 var
222 begin
233 var
236 begin
238 repeat
241 break;
244 forever;
249 var
251 begin
254 begin
260 else
261 begin
270 var
272 begin
273 repeat
276 exit;
278 {Symbol ';' is one line commentary}
280 begin
281 repeat
284 exit;
285 forever;
289 begin
290 //Go back
292 exit;
294 forever;
298 var
301 begin
303 clearSpaces;
304 repeat
308 begin
310 exit;
314 begin
315 //Go back
318 exit;
320 else
322 forever;
326 begin
330 else
333 else
336 else
340 //Перевод строки в целое число. base - система счисления
342 var
346 begin
349 begin
355 begin
359 else
362 else
363 begin
366 exit;
374 else
379 begin
384 else
387 else
392 begin
399 var
402 begin
404 begin
407 exit;
416 else
419 else
422 else
425 else
427 begin
430 else
432 begin
435 else
437 begin
440 else
442 begin
446 else
451 var
454 begin
456 clearSpaces;
458 exit;
463 begin
466 else
469 else
472 else
475 else
478 else
480 begin
484 else
486 begin
490 else
492 begin
496 else
497 {if com='SPAWN_MOBS' then
498 s_spawn_mob:=strToBool(nextWord);
499 else}
500 {if com='SURVIVAL' then
501 begin
502 fly:=false;
503 gamemode:=0;
504 hp:=20;
505 hunger:=20;
506 for i:=0 to 35 do
507 begin
508 inv[i].item_i:=0;
509 inv[i].sum_i:=0;
510 end;
511 end;
512 else}
514 begin
517 else
522 begin
525 else
528 else
530 halt;
531 else
534 else
535 {if com='MEGASPAWN' then
536 megaspawn;
537 else}
540 else
543 else
546 else
551 else
552 {if com='DRW_MOBS' then
553 drw_mobs:=strToBool(nextWord);
554 else}
557 else
560 else
562 begin
569 else
572 else
575 else
578 else
581 else
584 else
587 else
588 {if com='LOAD_MOB_TEX' then
589 load_mob_tex:=strToBool(nextWord);
590 else}
593 else
596 else
599 else
602 else
605 else
608 else
611 else
613 save_settings;
614 else
616 load_settings;
617 else
620 else
622 begin
626 else
628 begin
630 //addToLog('Max fuel: '+decodeInt(parsed_str[1]));
632 else
634 begin
639 else
641 begin
643 //addToLog('Max recipes: '+decodeInt(parsed_str[1]));
645 else
647 begin
652 else
654 begin
656 //addToLog('Max crafts: '+decodeInt(parsed_str[1]));
658 else
660 begin
666 else
668 begin
674 else
676 begin
679 else
681 begin
684 else
686 begin
689 else
691 resetTmpImg;
692 else
695 nextWord,
698 begin
707 tmp,
710 else
712 begin
717 else
720 else
723 else
726 else
728 swapStack;
729 else
731 dupStack;
732 else
735 else
737 begin
741 else
744 else
746 begin
750 else
752 begin
756 else
759 else
762 else
765 else
771 else
774 else
775 //addToLog('Unknown command "'+com+'"');
779 var
784 begin
788 repeat
789 ClearForm;
801 ShowForm;
802 Repaint;
804 repeat
807 begin
809 showCanvas;
810 exit;
812 else
814 begin
819 break;
821 forever;
822 forever;
826 var
830 begin
834 begin
838 else
840 begin
842 begin
847 else
849 begin
852 begin
854 begin
859 else
860 begin
865 else
866 begin
868 exit;
872 repeat
875 //addToLog('Exec: "'+str+'"');
879 else
887 initialization