separate(gameutils)


procedure writeState is
	sfil: text_io.file_type;
begin
	text_io.create(
		file=>sfil,
		name=>statefile,
		mode=>text_io.out_file);

	if drawchalice then put(sfil,"T"); else put(sfil,"F"); end if;
	if chalicegone  then put(sfil,"T"); else put(sfil,"F"); end if;
	if gateheld then put(sfil,"T"); else put(sfil,"F"); end if;
	if bkeyheld then put(sfil,"T"); else put(sfil,"F"); end if;
	if gkeyheld then put(sfil,"T"); else put(sfil,"F"); end if;
	if wkeyheld then put(sfil,"T"); else put(sfil,"F"); end if;
	if swordheld then put(sfil,"T"); else put(sfil,"F"); end if;
	if chaliceheld then put(sfil,"T"); else put(sfil,"F"); end if;
	if bdragondead then put(sfil,"T"); else put(sfil,"F"); end if;
	if rdragondead then put(sfil,"T"); else put(sfil,"F"); end if;
	if minotaurdead then put(sfil,"T"); else put(sfil,"F"); end if;
	if labopen then put(sfil,"T"); else put(sfil,"F"); end if;
	if mazeopen then put(sfil,"T"); else put(sfil,"F"); end if;
	if lionopen then put(sfil,"T"); else put(sfil,"F"); end if;
	if gateopen then put(sfil,"T"); else put(sfil,"F"); end if;
	if interior then put(sfil,"T"); else put(sfil,"F"); end if;

	if bat1sent then put(sfil,"T"); else put(sfil,"F"); end if;
	if bat56sent then put(sfil,"T"); else put(sfil,"F"); end if;

	if bat7sent then put(sfil,"T"); else put(sfil,"F"); end if;
	if bat9sent then put(sfil,"T"); else put(sfil,"F"); end if;

	if play9 then put(sfil,"T"); else put(sfil,"F"); end if;

	new_line(sfil);


	put_line(sfil, integer'image(chapter));
	put_line(sfil, integer'image(scene));
	put_line(sfil, integer'image(schalice));
	put_line(sfil, integer'image(sbkey));
	put_line(sfil, integer'image(sgkey));
	put_line(sfil, integer'image(swkey));
	put_line(sfil, integer'image(ssword));
	put_line(sfil, integer'image(kgate));
	put_line(sfil, integer'image(sgate));
	put_line(sfil, integer'image(rgate));
	put_line(sfil, integer'image(cgate));

	put_line(sfil, integer'image(bsdra));
	put_line(sfil, integer'image(rsdra));

	--put_line(sfil, integer'image(gk1));
	--put_line(sfil, integer'image(gzmk));

-----------------------------------------------------
	put_line(sfil, float'image(xchalice));
	put_line(sfil, float'image(ychalice));
	put_line(sfil, float'image(zchalice));

	put_line(sfil, float'image(xme));
	put_line(sfil, float'image(yme));
	put_line(sfil, float'image(zme));

	put_line(sfil, float'image(xgate));
	put_line(sfil, float'image(ygate));
	put_line(sfil, float'image(zgate));

	put_line(sfil, float'image(xbkey));
	put_line(sfil, float'image(ybkey));
	put_line(sfil, float'image(zbkey));

	put_line(sfil, float'image(xgkey));
	put_line(sfil, float'image(ygkey));
	put_line(sfil, float'image(zgkey));

	put_line(sfil, float'image(xwkey));
	put_line(sfil, float'image(ywkey));
	put_line(sfil, float'image(zwkey));




	put_line(sfil, float'image(rxdra));
	put_line(sfil, float'image(rydra));
	put_line(sfil, float'image(rzdra));

	put_line(sfil, float'image(bxdra));
	put_line(sfil, float'image(bydra));
	put_line(sfil, float'image(bzdra));

	put_line(sfil, float'image(mxdra));
	put_line(sfil, float'image(mydra));
	put_line(sfil, float'image(mzdra));


	put_line(sfil, float'image(xsword));
	put_line(sfil, float'image(ysword));
	put_line(sfil, float'image(zsword));






	text_io.close(sfil);

	--printstate;

end writeState;


