
/*	ＧＰｅｎシリーズ完全互換関数	*/

#include	<io.h>
#include	<stdlib.h>
#include	<math.h>
#include	<EGB.H>
#include	<MOS.H>
#include	<kkstr2.h>
#include	<NORMLIB.H>
#include	<okome.h>
#include	<gpen.h>
/*	GpenSub.h include禁止	*/

void bsz( int *l, int *b )
{
	int i;
	if ( *l > *b ) {
		i = *b;
		*b = *l;
		*l = i;
	}
}

void uboxf( int x1, int y1, int x2, int y2, int c1, int c2, int c3 )
{
	boxf( x1, y1, x2, y2, c3 );
	ubox( x1, y1, x2, y2, c1, c2 );
}

void end( void )		/*	終わりのまとまり	*/
{
	free(vp0);
	KAN_disp(KAN_DISPOFF);
	wpg( 1 );
	EGB_clearScreen( work );
	wpg( 0 );
	EGB_clearScreen( work );
	KAN_finish();
	MOS_end();
	exit(0);
}

void udten(int x1, int y1, int x2, int y2)
{
	int y, l;
	char v[1024], w[1024];
	bsz( &x1, &x2 );
	bsz( &y1, &y2 );
	for (y=0; y<y2-y1; y+=2) {
		l=y;
		if ((y2-y1) % 2==0 && y*2>=(y2-y1))
			l+=1;
		egbget(x1, y1+l, x2, y1+l, v);
		egbget(x1, y2-l, x2, y2-l, w);
		egbput(x1, y1+l, x2, y1+l, w);
		egbput(x1, y2-l, x2, y2-l, v);
	}
}

void lrten(int x1, int y1, int x2, int y2)
{
	int x,l;
	char v[1024], w[1024];
	bsz( &x1, &x2 );
	bsz( &y1, &y2 );
	for (x=0; x<x2-x1; x+=2) {
		l=x;
		if ((x2-x1) % 2==0 && x*2>=(x2-x1))
			l+=1;
		egbget(x1+l, y1, x1+l, y2, v);
		egbget(x2-l, y1, x2-l, y2, w);
		egbput(x1+l, y1, x1+l, y2, w);
		egbput(x2-l, y1, x2-l, y2, v);
	}
}

void circlen2(int x1, int y1, int x2, int y2, int c )
{
	circle( x1,y1, sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)), 0x2, c );
}

void circlef2(int x1, int y1, int x2, int y2, int c )
{
	circle( x1,y1, sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)), 0x22, c );
}

void circlenl(int x1, int y1, int x2, int y2, int c )
{
	circlel( x1,y1, x2-x1,y2-y1, 0x2, c );
}

void circlefl(int x1, int y1, int x2, int y2, int c )
{
	circlel( x1,y1, x2-x1,y2-y1, 0x22, c );
}

void mspoit( void )
{
	int mb, mx, my;
	MOS_disp( 0 );
	MOS_typeRom2( 86, 1, 1, mpat );
	MOS_disp( 1 );
	mbout( &mb, &mx, &my );
	mbin( &mb, &mx, &my );
	MOS_disp( 0 );
	MOS_typeRom2( 81, 1, 1, mpat );
	MOS_disp( 1 );
	tclc(mb, mx, my);
	mbout( &mb, &mx, &my );
}

void mcolm2( int mb )
{
	mcl[mb] = mcl[0];
	mbclp();
}

int sachk(char *nn)
{
	if (_access(nn,0)==0)
		return (message2(1, "上書きしますか？", 2));
	return (0);
}
