U7open(in, fname);
try { U7open(in, fname); } catch (exult_exception& e) { if (Game::is_editing()) return 0; throw e; }
static long Savefile	(	ostream& out,			// Write here.	const char *fname			// Name of file to save.	)	{	ifstream in;	U7open(in, fname);	in.seekg(0, ios::end);		// Get to end so we can get length.	long len = in.tellg();	in.seekg(0, ios::beg);	char namebuf[13];		// First write 13-byte name.	memset(namebuf, 0, sizeof(namebuf));	const char *base = strchr(fname, '/');// Want the base name.	if (!base)		base = strchr(fname, '\\');	if (base)		base++;	else		base = fname;	strncpy(namebuf, base, sizeof(namebuf));	out.write(namebuf, sizeof(namebuf));	char *buf = new char[len];	// Get it all at once.	in.read(buf, len);	out.write(buf, len);	delete [] buf;	if (!in.good())		throw file_read_exception(fname);	return len + 13;		// Include filename.	}