📄 cbmain.cpp
字号:
else if( FACE_GetProgramState() == PROGRAM_STATE_NONE
&& MAIN_bEnding == TRUE )
{
// game ending
GAME_EndingEx( -2 );
MAIN_bFirst = TRUE;
break;
}
// 调试开关
// July 18. 1997
switch( wParam )
{
/*
case VK_F1:
GAME_EndingEx( 0 );
MAIN_bFirst = TRUE;
break;
*/
case VK_F2:
if( CHEAT_bEnable == TRUE )
{
RUN_bAUTO = 1-RUN_bAUTO;
}
break;
case VK_F3:
// 当前将领降一级
if( CHEAT_bEnable == TRUE
&& GAME_bNetwork == FALSE )
{
CTRL_DebugGeneral(0);
}
break;
case VK_F4:
// 当前将领升一级
if( CHEAT_bEnable == TRUE
&& GAME_bNetwork == FALSE )
{
CTRL_DebugGeneral(1);
}
break;
case VK_F5:
// 显示刷新率
if( CHEAT_bEnable == TRUE )
{
static BOOL bShowFrameCount=TRUE;
DDC_ShowFrameRate( bShowFrameCount );
bShowFrameCount = !bShowFrameCount;
DRAW_bShowScrollBorder = !DRAW_bShowScrollBorder;
}
break;
case VK_F6:
// 调试显示所有命令组
if( CHEAT_bEnable == TRUE )
{
CTRL_bDebugCommand = 1-CTRL_bDebugCommand;
}
break;
case VK_F7:
// 调试不死
// July.17.1997
if( CHEAT_bEnable == TRUE
&& GAME_bNetwork == FALSE )
{
CTRL_bDebugDie = 1-CTRL_bDebugDie;
}
break;
case VK_F8:
// 调试打开阴影
// enable or disable shadow
if( CHEAT_bEnable == TRUE )
{
SHADOW_Enable( 1-SHADOW_IfEnabled() );
}
break;
case VK_F9:
// 调试加钱
if( CHEAT_bEnable == TRUE
&& GAME_bNetwork == FALSE )
{
GAME.Players[GAME.nMe].nGold+=10000;
GAME.Players[GAME.nMe].nFood+=10000;
GAME.Players[GAME.nMe].nWood+=10000;
GAME.Players[GAME.nMe].nIron+=10000;
GFWI_bUpdate = TRUE;
}
break;
case VK_F11:
// 拷贝当前屏幕
DRAW_CopyScreen();
break;
/* case VK_F12:
if( CHEAT_bEnable )
{
RUN_DEBUG_bEndGame = 1 - RUN_DEBUG_bEndGame;
}
break;
*/
case VK_ESCAPE:
{
FACE_EscKey(FALSE) ;
}
break;
case VK_PAUSE:
{
if( (FACE_GetCommandState() == COMMAND_STATE_PLAY)||
(FACE_GetCommandState() == COMMAND_STATE_PAUSE)
)
PostMessage(hwndGame, WM_COMMAND, BUTTON_PAUSE, 0);
}
break;
/* case VK_ADD:
{
GAME.nSpeed += 5;
char tmp[129];
itoa( GAME.nSpeed, tmp, 10 );
OutputDebugString( tmp );
OutputDebugString( "\t" );
}
break;
case VK_SUBTRACT:
{
if( GAME.nSpeed <= 0 ) break;
GAME.nSpeed -= 5;
char tmp[129];
itoa( GAME.nSpeed, tmp, 10 );
OutputDebugString( tmp );
OutputDebugString( "\t" );
}
break; */
//------LHJ-------------------------------
case VK_RETURN:
{
FACE_EscKey(TRUE) ;
if( FACE_GetCommandState() == COMMAND_STATE_PLAY )
{
if( FACE_bMessageBox == FALSE )
{
FACE_bMessageBox = TRUE;
FACE_SetMessage();
FACE_Echo_prompt(hWnd);
}
else
{
FACE_bMessageBox = FALSE;
FACE_UpdateMessageRect();
}
}
}
break;
default:
break;
//----LHJ---------------------------------
}
break;
//------------
case WM_SYSKEYDOWN:
{
switch( wParam )
{
case VK_F10:
{
PostMessage(hwndGame, WM_COMMAND, BUTTON_SYSTEMENU, 0);
}
break;
default:
break;
}
}
break;
////////////////////////////////////////////////////////
// to end the mession of a section or all of this game
////////////////////////////////////////////////////////
case WM_GAME_END :
{
if( DD_nSurfaceCounter != 210 )
OutputDebugString("");
class CDDPalette pal;
if( GAME.nID == 16 && lParam == -1 )
{ // 刘备方胜利结束,调试
DD_FadeOutScreen( 5, 10 );
DD_EraseFrontScreen();
//FACE_ShowABitmapPicture( PICTURE_END );
//DD_EraseFrontScreen();
//pal.LoadPalettePAL( "res\\ending.pal", TRUE );
//pal.LoadPalettePAL( "res\\end.pal", TRUE );
GAME_EndingEx( 0 );
MAIN_bEnding = TRUE;
MAIN_bFirst = TRUE;
//DS_QuitSound();
//DD_QuitGraph();
//PostQuitMessage( 3 );
//PostMessage( hWnd, WM_CLOSE, 0, 0 );
break;
}
if( (GAME.nID == 16 || GAME.nID == 15) && lParam == 1 )
{ // 刘备方胜利结束
DD_FadeOutScreen( 5, 10 );
DD_EraseFrontScreen();
//FACE_ShowABitmapPicture( PICTURE_END );
//DD_EraseFrontScreen();
//DS_QuitSound();
//DD_QuitGraph();
//pal.LoadPalettePAL( "res\\end.pal", TRUE );
if( GAME.nID == 15 )
GAME_EndingEx( 0 );
else
GAME_EndingEx( 1 );
MAIN_bEnding = TRUE;
MAIN_bFirst = TRUE;
//PostQuitMessage( 4 );
//PostMessage( hWnd, WM_CLOSE, 0, 0 );
break;
}
if( GAME.nID == 33 && lParam == -1 )
{ // 曹操方胜利结束,调试
DD_FadeOutScreen( 5, 10 );
DD_EraseFrontScreen();
//FACE_ShowABitmapPicture( PICTURE_END );
//DD_EraseFrontScreen();
//pal.LoadPalettePAL( "res\\end.pal", TRUE );
GAME_EndingEx( 3 );
MAIN_bEnding = TRUE;
MAIN_bFirst = TRUE;
//DS_QuitSound();
//DD_QuitGraph();
//PostQuitMessage( 5 );
//PostMessage( hWnd, WM_CLOSE, 0, 0 );
break;
}
if( (GAME.nID == 33 || GAME.nID == 31) && lParam == 1 )
{ // 曹操方胜利结束
DD_FadeOutScreen( 5, 10 );
DD_EraseFrontScreen();
//FACE_ShowABitmapPicture( PICTURE_END );
//DD_EraseFrontScreen();
//DS_QuitSound();
//DD_QuitGraph();
//pal.LoadPalettePAL( "res\\end.pal", TRUE );
if( GAME.nID == 31 )
GAME_EndingEx( 2 );
else
GAME_EndingEx( 3 );
MAIN_bEnding = TRUE;
MAIN_bFirst = TRUE;
//PostQuitMessage( 2 );
//PostMessage( hWnd, WM_CLOSE, 0, 0 );
break;
}
if( GAME.nID == 0 && lParam == -2 )
{ // 减少到0关
FACE_SetCommandState( COMMAND_STATE_PLAY );
break;
}
if( GAME.nID == 17 && lParam == -2 )
{ // 减少到0关
FACE_SetCommandState( COMMAND_STATE_PLAY );
break;
}
if( lParam == 1 )
{ // 胜利
DD_FadeOutScreen( 5, 10 );
// 刘备方两个分支
if( GAME.nID == 5 || GAME.nID == 14
|| GAME.nID == 6 || GAME.nID == 15 )
{
PostMessage(hwndGame, WM_COMMAND, NEW_MESSION, wParam+2 );
}
// 曹操方一个分支
else if( GAME.nID == 29 )
{
PostMessage(hwndGame, WM_COMMAND, NEW_MESSION, wParam+3 );
}
// 其它
else
{
PostMessage(hwndGame, WM_COMMAND, NEW_MESSION, wParam+1 );
}
GAME_SetGenInfo( GAME_nSlot );
}
else if( lParam == 2 )
{
// 分支的结束,汇合
Assert( GAME.nID == 5 || GAME.nID == 14 || GAME.nID == 29 );
PostMessage(hwndGame, WM_COMMAND, NEW_MESSION, wParam+1 );
GAME_SetGenInfo( GAME_nSlot );
}
else if( lParam == 0 )
{ // 失败
DD_FadeOutScreen( 5, 10 );
// to show the fail picture
FACE_ShowABitmapPicture( PICTURE_FAIL ) ; // flag -> to indentify which bitmap picture to show
// PostMessage(hwndGame, WM_COMMAND, BUTTON_SYSTEMENU_EXIT_TOMAINMENU, NONE );
PostMessage(hwndGame, WM_COMMAND, NEW_MESSION, wParam );
}
else if( lParam == -1 )
{ // 调试,下一关
DD_FadeOutScreen( 5, 10 );
GAME_SetGenInfo( GAME_nSlot );
PostMessage(hwndGame, WM_COMMAND, NEW_MESSION, wParam+1 );
}
else if( lParam == -2 )
{ // 调试,上一关
DD_FadeOutScreen( 5, 10 );
PostMessage(hwndGame, WM_COMMAND, NEW_MESSION, wParam-1 );
}
}
break;
case WM_COMMAND:
{
char message[50];
wsprintf(message,"Get number %d", wParam);
// MessageBox(hwndGame,message,NULL,MB_OK);
FACE_ButtonCommand( hWnd, wParam, lParam );
if( wParam == ESTABLISH_UNIT )
{
int tmp1=0;
int tmp2 =0;
tmp1 = wParam;
tmp2 = lParam;
char mes[50];
sprintf(mes, " nID -> %d, COMMAND -> %d.\n", tmp2, tmp1);
// MessageBox(hwndGame, mes, NULL, MB_OK);
}
// Liu
if( FACE_GetCommandState() == COMMAND_STATE_PLAY )
{
if( CTRL_TASK_AssembleCmd( wParam, lParam ) == FALSE )
CTRL_TASK_NumberButton( wParam, lParam );
}
}
break;
case WM_MOUSEMOVE:
{
static int xPosSave=0, yPosSave=0;
UINT fwKeys = wParam;
int xPos = LOWORD(lParam);
int yPos = HIWORD(lParam);
if( xPosSave == xPos && yPosSave == yPos )
{
OutputDebugString( "S" );
break;
}
// LHJ. Oct.31.1996
FACE_MouseMove(wParam, xPos, yPos);
// LHJ
// Liu
if( FACE_GetCommandState() == COMMAND_STATE_PLAY )
{ // 在整个屏幕范围内
MOUSE_IsLeftDown( xPos, yPos );
}
}
//return TRUE;
break;
case WM_LBUTTONDOWN:
{
UINT fwKeys = wParam;
int xPos = LOWORD(lParam);
int yPos = HIWORD(lParam);
if(FACE_GetProgramState() == PROGRAM_STATE_AVI)
{
if(FACE_Avi_Close() == TRUE)
break;
}
if( FACE_GetCommandState() == COMMAND_STATE_PLAY )
{
if( DRAW_rcClient.left < xPos &&
DRAW_rcClient.top < yPos &&
DRAW_rcClient.right >= xPos &&
DRAW_rcClient.bottom >= yPos )
{ // 客户区以内
// Liu
if( CTRL_TASK_AssembleDest( xPos, yPos ) == FALSE )
MOUSE_LeftDown( xPos, yPos );
}
else
DRAW_JumpScreen( MOUSE_InMiniMap( xPos, yPos ) );
}
if( FACE_GetCommandState() != COMMAND_STATE_NONE )
{
// LHJ.Oct.31.1996
FACE_LeftButtonDown(xPos, yPos);
// LHJ
}
}
break;
case WM_LBUTTONUP:
{
UINT fwKeys = wParam;
int xPos = LOWORD(lParam);
int yPos = HIWORD(lParam);
// LHJ.Oct.31.1996
FACE_LeftButtonUp(xPos, yPos);
// LHJ
// Liu
if( FACE_GetCommandState() == COMMAND_STATE_PLAY )
{ // 一定在客户区以内
if( CTRL_TASK_AssembleSrc( &MOUSE_LeftUp( xPos, yPos ), wParam ) )
{
//OutputString( MOUSE_nHitCounter, "\n" );
}
}
}
break;
case WM_LBUTTONDBLCLK:
{
UINT fwKeys = wParam;
int xPos = LOWORD(lParam);
int yPos = HIWORD(lParam);
// if( xPos>470 )
if( FACE_GetCommandState() != COMMAND_STATE_NONE )
{
FACE_LeftButtonDoubleClick(fwKeys, xPos, yPos);
}
}
break;
//------------
case WM_RBUTTONDOWN:
{
UINT fwKeys = wParam;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -