void ReturnTitile(BOOL bForce) { ESC_InitEOprFlag(); ESC_InitFlag(); InitRestartData(); if(cgmodeWnd && scene_play_mode==cgmodeWnd->GetMode() && FALSE==bForce){ changeExecMode(scene_play_mode); }else{ my_delete(cgmodeWnd); my_delete(titleWnd); titleWnd = new TitleWnd; } }
void SAV_LoadScript(void) { int digit=0; ESC_InitEOprFlag( ); memcpy( NowLangFileName, SaveStruct.NowLangFileName, 16 ); *EXEC_LangInfo = SaveStruct.EXEC_LangInfo; EXEC_LangInfo->LangBuf=NULL; RunLangBlockNo = SaveStruct.RunLangBlockNo; PrevRunLangBlockNo = SaveStruct.PrevRunLangBlockNo; int index = EXEC_ReadLang( NowLangFileName, EXEC_LangInfo ); EXEC_LangInfo->BusyFlg = SaveStruct.EXEC_LangInfo.BusyFlg; AVG_SetScenarioNo( index ); } // SAV_LoadScript
void SAV_LoadScript(void) { int digit=0; ESC_InitEOprFlag( ); CopyMemory( NowLangFileName, SaveStruct.NowScriptFileName, 64 ); *EXEC_LangInfo = SaveStruct.EXEC_ScriptInfo; EXEC_LangInfo->LangBuf=NULL; RunLangBlockNo = SaveStruct.RunScriptBlockNo; PrevRunLangBlockNo = SaveStruct.PrevRunScriptBlockNo; EXEC_ReadLang( NowLangFileName, EXEC_LangInfo ); EXEC_LangInfo->BusyFlg = SaveStruct.EXEC_ScriptInfo.BusyFlg; AVG_SetScenarioNo( GetScenarioNo(NowLangFileName) ); }
TitleWnd::TitleWnd() { int i; RECT ptRect[4]; ZeroMemory(this,sizeof(TitleWnd)); ZeroMemory(&backSelectInf,sizeof(BackSelectInf)); ESC_InitEOprFlag(); lpSoundDS->ChangeMusic(bgmHandle,pack_bgmfile,2,TRUE,0); titleCBuf.loadLGF(pack_gparts,"title_op"); titleBtnCBuf.loadLGF( pack_gparts,"TitleButton"); rect.left = 200; rect.right = rect.left +400; rect.top = 460; rect.bottom = rect.top +70; for(i=0;i<4;i++){ ptRect[i].left = 0; ptRect[i].right = ptRect[i].left +400; ptRect[i].top = 70*i; ptRect[i].bottom = ptRect[i].top +70; } btn.Create(1,&titleBtnCBuf,&rect,ptRect,&g_DibInf.colorBuf); SetWindowCursorPos(sysInf.hWnd,rect.left+10, rect.top+10); titleCBuf.alpha = 0; changeExecMode( opening_mode ); } // TitleWnd::TitleWnd
TitleWnd::TitleWnd() { int i; RECT ptRect[4]; ZeroMemory(this,sizeof(TitleWnd)); ZeroMemory(&backSelectInf,sizeof(BackSelectInf)); EnableMenuItem( sysInf.hMenu, ID_BACKSELECT, MF_GRAYED ); ESC_InitEOprFlag(); lpSoundDS->ChangeMusic(bgmHandle,pack_bgmfile,2,TRUE,0); baseCBuf.loadLGF(pack_gparts,"TitleBase"); btnCBuf.loadLGF( pack_gparts,"TitleButton"); rect.left = 484; rect.right = rect.left +272; rect.top = 216; rect.bottom = rect.top +40; for(i=0;i<4;i++){ ptRect[i].left = 272*i; ptRect[i].right = ptRect[i].left +272; ptRect[i].top = 0; ptRect[i].bottom = 40; } btn[0].Create(1,&btnCBuf,&rect,ptRect,&baseCBuf); btn[0].Draw(); btn[0].Create(1,&btnCBuf,&rect,ptRect,&g_DibInf.colorBuf); SetWindowCursorPos(sysInf.hWnd,rect.left+10, rect.top+10); rect.left = 484; rect.right = rect.left +272; rect.top = 256; rect.bottom = rect.top +40; for(i=0;i<4;i++){ ptRect[i].left = 272*i; ptRect[i].right = ptRect[i].left +272; ptRect[i].top = 40; ptRect[i].bottom = ptRect[i].top +40; } btn[1].Create(1,&btnCBuf,&rect,ptRect,&baseCBuf); btn[1].Draw(); btn[1].Create(1,&btnCBuf,&rect,ptRect,&g_DibInf.colorBuf); rect.left = 484; rect.right = rect.left +272; rect.top = 296; rect.bottom = rect.top +40; for(i=0;i<4;i++){ ptRect[i].left = 272*i; ptRect[i].right = ptRect[i].left +272; ptRect[i].top = 80; ptRect[i].bottom = ptRect[i].top +40; } btn[2].Create(1,&btnCBuf,&rect,ptRect,&baseCBuf); btn[2].Draw(); btn[2].Create(1,&btnCBuf,&rect,ptRect,&g_DibInf.colorBuf); rect.left = 484; rect.right = rect.left +272; rect.top = 336; rect.bottom = rect.top +40; for(i=0;i<4;i++){ ptRect[i].left = 272*i; ptRect[i].right = ptRect[i].left +272; ptRect[i].top = 120; ptRect[i].bottom = ptRect[i].top +40; } if(AVG_GetCgFlag(0)){ btn[3].Create(1,&btnCBuf,&rect,ptRect,&baseCBuf); btn[3].Draw(); btn[3].Create(1,&btnCBuf,&rect,ptRect,&g_DibInf.colorBuf); }else{ btn[3].Create(1,&btnCBuf,&rect,ptRect,&g_DibInf.colorBuf); btn[3].SetState(btn_disable); } rect.left = 484; rect.right = rect.left +272; rect.top = 416; rect.bottom = rect.top +40; for(i=0;i<4;i++){ ptRect[i].left = 272*i; ptRect[i].right = ptRect[i].left +272; ptRect[i].top = 200; ptRect[i].bottom = ptRect[i].top +40; } btn[4].Create(1,&btnCBuf,&rect,ptRect,&baseCBuf); btn[4].Draw(); btn[4].Create(1,&btnCBuf,&rect,ptRect,&g_DibInf.colorBuf); baseCBuf.alpha = 0; changeExecMode( opening_mode ); } // TitleWnd::TitleWnd
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