Exemplo n.º 1
0
LRESULT APIENTRY MainWndProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam )
{
	int				i;
	PAINTSTRUCT		ps;

	switch( message ){
	case WM_CREATE:
		InitCommonControls();
		break;
	case WM_MOUSEWHEEL:
		sysInf.zDelta = (short) HIWORD(wParam);
		break;
    case WM_DESTROY:
	case WM_QUIT:
	case WM_CLOSE:
#ifdef _MASTER
		if(IDYES==MessageBox(sysInf.hWnd,"鎖−クサリ− を終了します。よろしいですか?","終了確認",MB_YESNO)){
			sysInf.bGameEnd = on;
		}
#else
		sysInf.bGameEnd = on;
#endif
		return 0;
	case WM_ACTIVATE:
		for(i=0;i<g_iDIDeviceNum;i++){
			if(LOWORD(wParam) == WA_INACTIVE){
				g_pDIDevice[i]->Unacquire();
			}else{
				g_pDIDevice[i]->Acquire();
				g_pDIDevice[i]->Poll();
			}
		}
		sysInf.bIsActive = LOWORD(wParam) ? TRUE : FALSE;
		if(sysInf.bIsActive)myOutputDebugString("ActivateHandle: Active\n");
		else myOutputDebugString("ActivateHandle: Non Active\n");
		if(sysInf.bIsActive)clearPadState();
		break;
	case WM_KEYDOWN:
#ifndef _MASTER
		switch(wParam){
		  case (VK_F2):
			sysInf.bInfo = !sysInf.bInfo;
			if(!sysInf.bInfo && sysInf.hDebugWnd){
				SendMessage(sysInf.hDebugWnd,WM_CLOSE,0,0);
			}else if(sysInf.bInfo && NULL==sysInf.hDebugWnd){
				sysInf.hDebugWnd = CreateDialog(
					sysInf.hInstance, MAKEINTRESOURCE(IDD_DEBUGWND), sysInf.hWnd, (DLGPROC)DebugDlgProc);
			}
			break;
		}
#endif
		break;
	case WM_COMMAND:
		switch( LOWORD(wParam) ){
		  case ID_END:
			sysInf.bGameEnd = on;
			return 0;
		  case ID_MYAPP_EXIT:
#ifdef _MASTER
			if(IDYES==MessageBox(sysInf.hWnd,"鎖−クサリ− を終了します。よろしいですか?","終了確認",MB_YESNO)){
				sysInf.bGameEnd = on;
			}
#else
			sysInf.bGameEnd = on;
#endif
			return 0;
		  case ID_DISPCHANGE:
			if(0==sysInf.full_screen){
				if(CheckOSw2k()){
					SendMessage(hWnd,WM_COMMAND,ID_SUBMENU,0);
				}else{
					SendMessage(hWnd,WM_COMMAND,ID_DISPFULL,0);
				}
			}else{
				SendMessage(hWnd,WM_COMMAND,ID_DISPWINDOW,0);
			}
			break;
		  case ID_DISPFULL:
			if(lpMovie)	return 0;
			ScreenChange(1,0);
			EnableMenuItem( sysInf.hMenu,ID_DISPFULL,   MF_GRAYED  );
			CheckMenuItem( sysInf.hMenu, ID_DISPFULL,   MF_CHECKED );	
			EnableMenuItem( sysInf.hMenu,ID_DISPWINDOW, MF_ENABLED );
			CheckMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_UNCHECKED );
			break;
		  case ID_DISPWINDOW:
			if(lpMovie)	return 0;
			ScreenChange(0,0);
			if(CheckOSw2k()){
				for(i=0;i<DispFreqMax;i++){
					EnableMenuItem( sysInf.hMenu, ID_SUBMENU+i,  MF_ENABLED  );
					CheckMenuItem( sysInf.hMenu, ID_SUBMENU+i,   MF_UNCHECKED );
				}
			}else{
				EnableMenuItem( sysInf.hMenu, ID_DISPFULL,  MF_ENABLED );
				CheckMenuItem( sysInf.hMenu, ID_DISPFULL,   MF_UNCHECKED );
			}
			EnableMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_GRAYED  );
			CheckMenuItem( sysInf.hMenu, ID_DISPWINDOW,  MF_CHECKED   );
			break;
		  case ID_SUBMENU:		case ID_SUBMENU+1:	case ID_SUBMENU+2:	case ID_SUBMENU+3:
		  case ID_SUBMENU+4:	case ID_SUBMENU+5:	case ID_SUBMENU+6:	case ID_SUBMENU+7:
			if(lpMovie)	return 0;
			ScreenChange( wParam-ID_SUBMENU+1 ,TRUE);
			for(i=0;i<DispFreqMax;i++){
				EnableMenuItem( sysInf.hMenu, ID_SUBMENU+i,  MF_ENABLED  );
				CheckMenuItem( sysInf.hMenu, ID_SUBMENU+i,   MF_UNCHECKED );
			}
			EnableMenuItem( sysInf.hMenu, LOWORD(wParam),  MF_GRAYED  );
			CheckMenuItem( sysInf.hMenu, LOWORD(wParam),   MF_CHECKED );
			EnableMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_ENABLED );
			CheckMenuItem( sysInf.hMenu, ID_DISPWINDOW,  MF_UNCHECKED );
			break;
		  case ID_AUTOREAD:
			msgWnd.toggleAutoRead();
			break;
		  case ID_READSKIP:
			msgWnd.toggleMessageSkip();
			break;
		  case ID_UPDATE:
			ShellExecute( sysInf.hWnd, NULL, "http://leaf.aquaplus.co.jp", NULL, NULL, SW_SHOWNORMAL );
			break;
		  case ID_VER:
			DialogBox( sysInf.hInstance, MAKEINTRESOURCE(IDD_ABOUTDIALOG), sysInf.hWnd, AboutDialogBoxProc );
			break;
		  case ID_SYSTEMINFO:
			DialogBox( sysInf.hInstance, MAKEINTRESOURCE(IDD_INFODIALOG), sysInf.hWnd, InfoDialogBoxProc );
			break;
		  case ID_CONFIG:
			if(NULL==optionWnd)	optionWnd = new OptionMode;
			break;
#ifndef _MASTER
		  case ID_FLAGEDIT:
			DialogBox( sysInf.hInstance, MAKEINTRESOURCE(IDD_FLAGEDIT), sysInf.hWnd, FlagDialogBoxProc );
			break;
#endif
		  case ID_LOADEXEC:
			if(ESC_GetFlag(_セーブロード無効))break;
			switch(sysInf.execMode){
			  case event_exec_mode: case select_exec_mode: case opening_mode:
				if(NULL==EXEC_LangBuf){
					EXEC_LangBuf  = (char *)&LangData.LangBuf;
					EXEC_LangInfo = &LangData;
				}
				if(NULL==saveWnd)saveWnd = new SaveWnd(load_mode);
				break;
			}
			break;
		  case ID_SAVEEXEC:
			if(ESC_GetFlag(_セーブロード無効))break;
			if(NULL==EXEC_LangBuf)break;
			switch(sysInf.execMode){
			  case event_exec_mode: case select_exec_mode:
				if(NULL==saveWnd)saveWnd = new SaveWnd(save_mode);
				break;
			}
			break;
		  case ID_BACKTITLE:
			ReturnTitile(TRUE);
			break;
		  case ID_BACKSELECT:
			SAV_Load( 98 );
			break;
		  case ID_MOVIEHI:
			sysInf.movieQuality = 2;
			CheckMenuItem( sysInf.hMenu, ID_MOVIEHI,   MF_CHECKED );
			CheckMenuItem( sysInf.hMenu, ID_MOVIEMID,  MF_UNCHECKED );
			CheckMenuItem( sysInf.hMenu, ID_MOVIELOW,  MF_UNCHECKED );
			break;
		  case ID_MOVIEMID:
			sysInf.movieQuality = 1;
			CheckMenuItem( sysInf.hMenu, ID_MOVIEHI,   MF_UNCHECKED );
			CheckMenuItem( sysInf.hMenu, ID_MOVIEMID,  MF_CHECKED );
			CheckMenuItem( sysInf.hMenu, ID_MOVIELOW,  MF_UNCHECKED );
			break;
		  case ID_MOVIELOW:
			sysInf.movieQuality = 0;
			CheckMenuItem( sysInf.hMenu, ID_MOVIEHI,   MF_UNCHECKED );
			CheckMenuItem( sysInf.hMenu, ID_MOVIEMID,  MF_UNCHECKED );
			CheckMenuItem( sysInf.hMenu, ID_MOVIELOW,  MF_CHECKED );
			break;
		  case ID_NOUSEOVERLAY:
			sysInf.nouseOverlay = !sysInf.nouseOverlay;
			if(sysInf.nouseOverlay){
				CheckMenuItem( sysInf.hMenu, ID_NOUSEOVERLAY,  MF_CHECKED );
			}else{
				CheckMenuItem( sysInf.hMenu, ID_NOUSEOVERLAY,  MF_UNCHECKED );
			}
			break;
		  case ID_FPS60:
			sysInf.setFPS = 2;
			CheckMenuItem( sysInf.hMenu, ID_FPS60,  MF_CHECKED );
			CheckMenuItem( sysInf.hMenu, ID_FPS30,  MF_UNCHECKED );
			CheckMenuItem( sysInf.hMenu, ID_FPS20,  MF_UNCHECKED );
			break;
		  case ID_FPS30:
			sysInf.setFPS = 1;
			CheckMenuItem( sysInf.hMenu, ID_FPS60,  MF_UNCHECKED );
			CheckMenuItem( sysInf.hMenu, ID_FPS30,  MF_CHECKED );
			CheckMenuItem( sysInf.hMenu, ID_FPS20,  MF_UNCHECKED );
			break;
		  case ID_FPS20:
			sysInf.setFPS = 0;
			CheckMenuItem( sysInf.hMenu, ID_FPS60,  MF_UNCHECKED );
			CheckMenuItem( sysInf.hMenu, ID_FPS30,  MF_UNCHECKED );
			CheckMenuItem( sysInf.hMenu, ID_FPS20,  MF_CHECKED );
			break;
		}
		break;
	case WM_SYSCOMMAND:
		if(sysInf.full_screen){
			switch (wParam) {
				case SC_KEYMENU :
					return 0;
			}
		}else{
			switch(wParam & 0xfff0){
			  case SC_MAXIMIZE:
				if(lpMovie)	return 0;
				ScreenChange(1,0);
				EnableMenuItem( sysInf.hMenu,ID_DISPFULL,   MF_GRAYED  );
				CheckMenuItem( sysInf.hMenu, ID_DISPFULL,   MF_CHECKED );
				EnableMenuItem( sysInf.hMenu,ID_DISPWINDOW, MF_ENABLED );
				CheckMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_UNCHECKED );
				return 0;
			}
		}
		break;
	case WM_DISPLAYCHANGE:
		if(!sysInf.bDisplayChange)break;
		SetTimer(sysInf.hWnd, 1, 500, NULL);	
		break;
	case WM_TIMER:
		if(!sysInf.bDisplayChange || 1!=wParam)break;
		KillTimer(sysInf.hWnd, wParam);
		if(0==sysInf.full_screen){
			MoveWindow(sysInf.hWnd,
				(GetSystemMetrics(SM_CXSCREEN)-sysInf.ScreenW)/2,(GetSystemMetrics(SM_CYSCREEN)-sysInf.ScreenH)/2,
				sysInf.ScreenW +GetSystemMetrics(SM_CXDLGFRAME)*2,
				sysInf.ScreenH +GetSystemMetrics(SM_CYDLGFRAME)*2 +GetSystemMetrics(SM_CYBORDER)+GetSystemMetrics(SM_CYSIZE) +GetSystemMetrics(SM_CYMENU),
				TRUE);
		}else{
			MoveWindow(sysInf.hWnd,
				0, 0, sysInf.ScreenW, sysInf.ScreenH, TRUE);
			if(NULL==sysInf.hMenuWnd){
				sysInf.hMenuWnd = CreateWindow(className,"menuWnd",WS_POPUP,
					0,0,
					WIN_SIZEX,GetSystemMetrics(SM_CYMENUSIZE),sysInf.hWnd,sysInf.hMenu,sysInf.hInstance,NULL);
			}
		}
		sysInf.bDisplayChange = FALSE;
		break;
	case WM_PAINT:
		if(lpMovie){
			myOutputDebugString("movie WM_PAINT\n");
			if(lpMovie->forccNum<3){
				BeginPaint( sysInf.hWnd, &ps );
				EndPaint( sysInf.hWnd, &ps );
			}
		}else{
			BeginPaint( sysInf.hWnd, &ps );
			BitBlt( ps.hdc, 0, 0, WIN_SIZEX, WIN_SIZEY, g_DibInf.memDC, 0, 0, SRCCOPY );
			EndPaint( sysInf.hWnd, &ps );
		}
		break;
	case WM_SETCURSOR:
	default:
		break;
    }
	return DefWindowProc(hWnd, message, wParam, lParam);

} // MainWndProc
Exemplo n.º 2
0
BOOL StaffmodeWnd::Exec()
{
	int			i,loadTex,nextStaff;
	BOOL		bPush = FALSE;
	POINT		icPt;

	if(staffmode_mode!=sysInf.execMode)return FALSE;
	switch(state){
	  case 0:
	  case 6:
		time = bgInf.look_cnt-timeGetTime();
		baseWnd.alpha = float(bgInf.look_max-time)/bgInf.look_max;
		if(time<=0){
			baseWnd.alpha = 1.0f;
			bgInf.look_cnt = 0;
			state ++;
		}
		if(1==state)baseWnd.loadLGF(pack_gparts,"staffBase");
		if(7==state)changeExecMode( event_exec_mode );
		panel[0].alpha = panel[1].alpha = button.alpha = logo.alpha = baseWnd.alpha;
		return TRUE;
	  case 1:
		if(keyState.push_cancel || keyState.push_down){
			PlayEffectNum(evtHandle[1],CancelSnd);
			baseWnd.loadLGF(pack_eventcg,"s20100");
			bgInf.colorBuf.loadLGF(pack_eventcg,"s20100",Type_back);
			backColorBuf.BltFast(40, 30, &bgInf.colorBuf, NULL, FALSE);
			saveInf.btRect.left = saveInf.btRect.top = 0;
			saveInf.btRect.right = 800;	saveInf.btRect.bottom = 600;
			saveInf.btPoint.x = 40; saveInf.btPoint.y = 30;

			state = 6;
			bgInf.look_max = 900;
			bgInf.look_cnt = timeGetTime() +bgInf.look_max;
			panel[0].alpha = panel[1].alpha = button.alpha = logo.alpha = baseWnd.alpha = 0;
		}else if(keyState.push_left){
			bTurn = 1;
		}else if(keyState.push_right){
			bTurn = 2;
		}else if(keyState.push_up){
			bTurn = 3;
		}
		for(i=0;i<3;i++){
			if(btn[i].CheckState(&sysInf.msPoint)){
				bTurn = i+1;
			}
		}
		if(bTurn==1){
			selectNum --;
			if(selectNum < 0) selectNum = 43;
			nextStaff = selectNum -1;
			if(nextStaff < 0)nextStaff += 44;
			frontNum --;
			if(frontNum < 0)frontNum = 3;
			loadTex = frontNum -1;
			if(loadTex < 0) loadTex = 3;
			wsprintf(str,"stt%03d",nextStaff);
			panel[loadTex].loadLGF(pack_eventcg,str);
			src[loadTex].buf = (BYTE *)panel[loadTex].pBuf;
			src[loadTex].pal = (RGB32 *)panel[loadTex].palColor;
			state = 2;
			writeName();
			PlayEffectNum(evtHandle[1],CurMoveSnd);
		}else if(bTurn==2){
			selectNum ++;
			if(selectNum > 43) selectNum = 0;
			nextStaff = selectNum+1;
			if(nextStaff > 43)nextStaff -= 44;
			frontNum ++;
			if(frontNum > 3)frontNum = 0;
			loadTex = frontNum +1;
			if(loadTex > 3) loadTex = 0;
			wsprintf(str,"stt%03d",nextStaff);
			panel[loadTex].loadLGF(pack_eventcg,str);
			src[loadTex].buf = (BYTE *)panel[loadTex].pBuf;
			src[loadTex].pal = (RGB32 *)panel[loadTex].palColor;
			state = 2;
			writeName();
			PlayEffectNum(evtHandle[1],CurMoveSnd);
		}else if(bTurn==3){
			state = 2;
			moveStep = 0;
			PlayEffectNum(evtHandle[1],SelectSnd);
		}
		break;
	  case 2:
		if(3==bTurn){
			moveStep ++;
			button.alpha = logo.alpha = float(19-moveStep)/19;
			if(moveStep==19){
				bTurn = 0;
				wsprintf(str,"st%03d",selectNum);
				baseWnd.loadLGF(pack_eventcg,str);
				clearPadState();
				state = 3;
			}
			break;
		}
		if(1==bTurn){
			deg += 5;
			if(deg >= 360) deg -= 360;
		}else if(2==bTurn){
			deg -= 5;
			if(deg < 0)deg += 360;
		}
		if(deg % 90 == 0){
			bTurn = 0;
			state = 1;
		}
		break;
	  case 3:
		if(keyState.push_action || keyState.push_down || keyState.push_cancel){
			PlayEffectNum(evtHandle[1],CancelSnd);
			baseWnd.loadLGF(pack_gparts,"staffBase");
			bTurn = 3;
			moveStep = 18;
			state = 4;
		}
		break;
	  case 4:
		moveStep --;
		button.alpha = logo.alpha = float(19-moveStep)/19;
		if(moveStep==0){
			bTurn = 0;
			state = 1;
		}
		break;
	}
	return TRUE;
} // StaffmodeWnd::Exec
Exemplo n.º 3
0
LRESULT APIENTRY MainWndProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam )
{
	int				i;
	PAINTSTRUCT		ps;

	switch( message ){
	case WM_CREATE:
		InitCommonControls();
		break;
	case WM_MOUSEWHEEL:
		sysInf.zDelta = (short) HIWORD(wParam);
		break;
    case WM_DESTROY:
	case WM_QUIT:
	case WM_CLOSE:
		if(IDYES==MessageBox(sysInf.hWnd,"アルルゥとあそぼ!!を終了してよろしいですか?","終了確認",MB_YESNO)){
			sysInf.bGameEnd = on;
		}
		return 0;
	case WM_ACTIVATE:
		for(i=0;i<g_iDIDeviceNum;i++){
			if(LOWORD(wParam) == WA_INACTIVE){
				g_pDIDevice[i]->Unacquire();
			}else{
				g_pDIDevice[i]->Acquire();
				g_pDIDevice[i]->Poll();
			}
		}
		sysInf.bIsActive = LOWORD(wParam) ? TRUE : FALSE;
		myOutputDebugString("ActivateHandle: ");
		if(sysInf.bIsActive)myOutputDebugString("Active\n");
		else myOutputDebugString("Non Active\n");
		if(sysInf.bIsActive)clearPadState();
		break;
	case WM_COMMAND:
		switch( LOWORD(wParam) ){
		  case ID_MYAPP_EXIT:
			if(IDYES==MessageBox(sysInf.hWnd,"アルルゥとあそぼ!!を終了してよろしいですか?","終了確認",MB_YESNO)){
				sysInf.bGameEnd = on;
			}
			return 0;
		  case ID_DISPCHANGE:
			if(lpMovie)	lpMovie->StopMovie();
			if(0==sysInf.full_screen){
				if(CheckOSw2k()){
					ScreenChange( 1 ,TRUE);
					for(i=0;i<DispFreqMax;i++){
						EnableMenuItem( sysInf.hMenu, ID_SUBMENU+i,  MF_ENABLED  );
						CheckMenuItem( sysInf.hMenu, ID_SUBMENU+i,   MF_UNCHECKED );
					}
					EnableMenuItem( sysInf.hMenu, ID_SUBMENU,  MF_GRAYED  );
					CheckMenuItem( sysInf.hMenu, ID_SUBMENU,   MF_CHECKED );
					EnableMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_ENABLED );
					CheckMenuItem( sysInf.hMenu, ID_DISPWINDOW,  MF_UNCHECKED );
				}else{
					ScreenChange(1,0);
					EnableMenuItem( sysInf.hMenu,ID_DISPFULL,   MF_GRAYED  );
					CheckMenuItem( sysInf.hMenu, ID_DISPFULL,   MF_CHECKED );
					EnableMenuItem( sysInf.hMenu,ID_DISPWINDOW, MF_ENABLED );
					CheckMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_UNCHECKED );
				}
			}else{
				ScreenChange(0,0);
				if(CheckOSw2k()){
					for(i=0;i<DispFreqMax;i++){
						EnableMenuItem( sysInf.hMenu, ID_SUBMENU+i,  MF_ENABLED  );
						CheckMenuItem( sysInf.hMenu, ID_SUBMENU+i,   MF_UNCHECKED );
					}
				}else{
					EnableMenuItem( sysInf.hMenu, ID_DISPFULL,  MF_ENABLED );
					CheckMenuItem( sysInf.hMenu, ID_DISPFULL,   MF_UNCHECKED );
				}
				EnableMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_GRAYED  );
				CheckMenuItem( sysInf.hMenu, ID_DISPWINDOW,  MF_CHECKED   );
			}
			break;
		  case ID_DISPFULL:
			if(lpMovie)	lpMovie->StopMovie();
			ScreenChange(1,0);
			EnableMenuItem( sysInf.hMenu,ID_DISPFULL,   MF_GRAYED  );
			CheckMenuItem( sysInf.hMenu, ID_DISPFULL,   MF_CHECKED );
			EnableMenuItem( sysInf.hMenu,ID_DISPWINDOW, MF_ENABLED );
			CheckMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_UNCHECKED );
			break;
		  case ID_DISPWINDOW:
			if(lpMovie)	lpMovie->StopMovie();
			ScreenChange(0,0);
			if(CheckOSw2k()){
				for(i=0;i<DispFreqMax;i++){
					EnableMenuItem( sysInf.hMenu, ID_SUBMENU+i,  MF_ENABLED  );
					CheckMenuItem( sysInf.hMenu, ID_SUBMENU+i,   MF_UNCHECKED );
				}
			}else{
				EnableMenuItem( sysInf.hMenu, ID_DISPFULL,  MF_ENABLED );
				CheckMenuItem( sysInf.hMenu, ID_DISPFULL,   MF_UNCHECKED );
			}
			EnableMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_GRAYED  );
			CheckMenuItem( sysInf.hMenu, ID_DISPWINDOW,  MF_CHECKED   );
			break;
		  case ID_SUBMENU:		case ID_SUBMENU+1:	case ID_SUBMENU+2:	case ID_SUBMENU+3:
		  case ID_SUBMENU+4:	case ID_SUBMENU+5:	case ID_SUBMENU+6:	case ID_SUBMENU+7:
			if(lpMovie)	lpMovie->StopMovie();
			ScreenChange( wParam-ID_SUBMENU+1 ,TRUE);
			for(i=0;i<DispFreqMax;i++){
				EnableMenuItem( sysInf.hMenu, ID_SUBMENU+i,  MF_ENABLED  );
				CheckMenuItem( sysInf.hMenu, ID_SUBMENU+i,   MF_UNCHECKED );
			}
			EnableMenuItem( sysInf.hMenu, LOWORD(wParam),  MF_GRAYED  );
			CheckMenuItem( sysInf.hMenu, LOWORD(wParam),   MF_CHECKED );
			EnableMenuItem( sysInf.hMenu, ID_DISPWINDOW, MF_ENABLED );
			CheckMenuItem( sysInf.hMenu, ID_DISPWINDOW,  MF_UNCHECKED );
			break;
		  case ID_AUTOREAD:
			sysInf.bAutoRead = !sysInf.bAutoRead;
			if(sysInf.bAutoRead){
				CheckMenuItem( sysInf.hMenu, ID_AUTOREAD,   MF_CHECKED );
			}else{
				CheckMenuItem( sysInf.hMenu, ID_AUTOREAD,   MF_UNCHECKED );
			}
			break;
		  case ID_READSKIP:
			sysInf.bReadSkip = !sysInf.bReadSkip;
			if(sysInf.bReadSkip){
				CheckMenuItem( sysInf.hMenu, ID_READSKIP,   MF_CHECKED );
				sysInf.bAlreadyRead = AVG_CheckScenarioFlag();
			}else{
				CheckMenuItem( sysInf.hMenu, ID_READSKIP,   MF_UNCHECKED );
			}
			break;
		  case ID_UPDATE:
			ShellExecute( sysInf.hWnd, NULL, "http://leaf.aquaplus.co.jp", NULL, NULL, SW_SHOWNORMAL );
			break;
		  case ID_VER:
			DialogBox( sysInf.hInstance, MAKEINTRESOURCE(IDD_ABOUTDIALOG), sysInf.hWnd, AboutDialogBoxProc );
			break;
		  case ID_CONFIG:
			DialogBox( sysInf.hInstance, MAKEINTRESOURCE(IDD_CONFIGDIALOG), sysInf.hWnd, ConfDialogBoxProc );
			break;
		  case ID_LOADEXEC:
			if(lpMovie)break;
			if(NULL==EXEC_LangBuf){
				EXEC_LangBuf  = (char *)&LangData.LangBuf;
				EXEC_LangInfo = &LangData;
			}
			if(NULL==saveWnd)saveWnd = new SaveWnd(load_mode);
			break;
		  case ID_SAVEEXEC:
			if(lpMovie || NULL==EXEC_LangBuf)break;
			if(NULL==saveWnd)saveWnd = new SaveWnd(save_mode);
			break;
		  case ID_BACKTITLE:
			selectWnd.selectEnd();
			ESC_InitEOprFlag();
			lpSoundDS->ChangeMusic(bgmHandle,pack_bgmfile,2,FALSE,0);
			my_delete(lpMenuWnd);
			my_delete(lpKabeSetWnd);
			my_delete(lpStaffmodeWnd);
			my_delete(lpStaffRoll);
			my_delete(lpMovie);
			lpMovie = new CMovie;
			lpMovie->OpenMovie("title.avi",-1,TRUE);
			break;
		}
		break;
	case WM_SYSCOMMAND:
		if(sysInf.full_screen){
			switch (wParam) {
				case SC_KEYMENU :
					return 0;
			}
		}
		break;
	case WM_DISPLAYCHANGE:
		if(!sysInf.bDisplayChange)break;
		SetTimer(sysInf.hWnd,1,500,NULL);
		break;
	case WM_TIMER:
		if(!sysInf.bDisplayChange || 1!=wParam)break;
		KillTimer(sysInf.hWnd,1);
		if(0==sysInf.full_screen){
			MoveWindow(sysInf.hWnd,
				(GetSystemMetrics(SM_CXSCREEN)-sysInf.ScreenW)/2,(GetSystemMetrics(SM_CYSCREEN)-sysInf.ScreenH)/2,
				sysInf.ScreenW +GetSystemMetrics(SM_CXDLGFRAME)*2,
				sysInf.ScreenH +GetSystemMetrics(SM_CYDLGFRAME)*2 +GetSystemMetrics(SM_CYBORDER)+GetSystemMetrics(SM_CYSIZE) +GetSystemMetrics(SM_CYMENU),
				TRUE);
		}else{
			MoveWindow(sysInf.hWnd,
				0, 0, sysInf.ScreenW, sysInf.ScreenH, TRUE);
			if(NULL==sysInf.hMenuWnd){
				sysInf.hMenuWnd = CreateWindow(className,"menuWnd",WS_POPUP,
					0,0,
					WIN_SIZEX,GetSystemMetrics(SM_CYMENUSIZE),sysInf.hWnd,sysInf.hMenu,sysInf.hInstance,NULL);
			}
		}
		sysInf.bDisplayChange = FALSE;
		break;
	case WM_PAINT:
		if(lpMovie)break;
		BeginPaint( sysInf.hWnd, &ps );
		BitBlt( ps.hdc, 0, 0, WIN_SIZEX, WIN_SIZEY, g_DibInf.memDC, 0, 0, SRCCOPY );
		EndPaint( sysInf.hWnd, &ps );
		break;
	case WM_SETCURSOR:
	default:
		break;
    }
	return DefWindowProc(hWnd, message, wParam, lParam);

} // MainWndProc