?? menustart.cpp
字號:
}
else
{
SMenu[i].nField[j].fRectMouse=false;
SMenu[i].nField[j].fLButtonDown=false;
// SMenu[i].nField[j].fCheakFlag=false;
}
break;
}
// case 3: {
// int ArrayX=(g_pointMouseX - (SMenu[i].x + 202) )/8;
// int ArrayY=(g_pointMouseY - (SMenu[i].y + 390) )/13;
// if( (ArrayX >= 0) && (ArrayX <= 15) && (ArrayY >=0) && (ArrayY <=15) ) // 付快膠甫 撈儈秦 備茄 諒釬啊 硅凱俊 甸絹啊襯?
// {
// if( ( (CheakArray[SMenu[i].CheakType - 1][ArrayY][ArrayX] - 1) == j ) )
// SMenu[i].nField[j].fRectMouse = true;
// else
// {
// SMenu[i].nField[j].fRectMouse=false;
// SMenu[i].nField[j].fLButtonDown=false;
// SMenu[i].nField[j].fCheakFlag=false;
/// }
// }
// else
// {
// SMenu[i].nField[j].fRectMouse=false;
// SMenu[i].nField[j].fLButtonDown=false;
// // SMenu[i].nField[j].fCheakFlag=false;
// }
// break;
// }
}
}
}
else
{
for(j=0;j<SMenu[i].nFieldCount;j++)
{
SMenu[i].nField[j].fRectMouse=false;
}
}
}
if( g_nLDButtonState == STATE_BUTTON_DOUBLECLICK )
{
for(x=0;x<MAX_START;x++)
{
i=menu[x];
if(SMenu[i].bActive)
{
if( y_MenuFocus && y_MenuFocus != i ) continue;
for(j=0; j<SMenu[i].nFieldCount;j++)
{
if( MouseInRectCheak(SMenu[i].x, SMenu[i].y, SMenu[i].nField[j].rCheakBox))
{
DoLButtonDoubbleClickOfStartMenu(i, j);
b_DoubleClickOn = true;
return;
}
if(SMenu[i].nField[j].nType==FT_HIDE_NOMAL_ONE_PUT)
{
for(k=SMenu[i].nField[j].nSHideNomalStart; k<(SMenu[i].nField[j].nSHideNomalStart)+(SMenu[i].nField[j].nShideNomalPlus) && k<SMenu[i].nField[j].nSHideNomalCount; k++)
{
if( MouseInRectCheak(SMenu[i].x, SMenu[i].y, SHideNomal[SMenu[i].nField[j].nSHideNomalNumber][k].rCheakBox))
{
DoLButtonDoubbleClickOfStartMenu( i, j );
// MouseDrag = true; // 撈扒 促瀾俊 努腐狼 康氫闌 林瘤 臼扁 困秦輯撈促.. 呈公竅寸~
b_DoubleClickOn = true;
return;
}
}
}
}
}
}
}
if(g_nLButtonState==STATE_BUTTON_PRESSED)
{
LButtonDown=TRUE;
StateMousePoint = g_pointMouse;
}
if(g_nLButtonState==STATE_BUTTON_STILL && LButtonDown==TRUE) // 老竄 付快膠啊 絹叼急啊 規陛 喘啡促. 弊霸 裹困 救俊輯 喘啡綽瘤, 酒囪瘤 魄竄 何盒
{
MouseDrag = true;
for(x=0;x<MAX_START;x++)
{
i=menu[x];
if(SMenu[i].bActive)
{
if( y_MenuFocus && y_MenuFocus != i ) continue;
switch(SMenu[i].CheakType)
{
case 0 : //RECT屈 眉農 鷗澇
for(j=0; j<SMenu[i].nFieldCount;j++) //皋春狼 備己夸家甸闌 八葷
{
if( MouseInRectCheak(SMenu[i].x, SMenu[i].y, SMenu[i].nField[j].rCheakBox) &&
MouseInRectCheak(SMenu[i].x, SMenu[i].y, SMenu[i].nField[j].rCheakBox, FALSE)) //付快膠啊 皋春備己 夸家狼 rect救俊輯 L滾瓢撈 喘啡襯
{
SMenu[i].nField[j].fLButtonDown=TRUE; //弊礬擱 喘啡促絆 釬矯
}
else
{
SMenu[i].nField[j].fLButtonDown=FALSE;
}
}
break;
case 1 : //硅凱鍋齲 1鍋欄肺 眉農
case 2 : //硅凱鍋齲 2鍋欄肺 眉農
int ArrayX=(g_pointMouseX - (SMenu[i].x + 31) )/10; //10皋春啊 10僑伎究 唱床輯 硅凱拳 矯淖促 (16*16)
int ArrayY=(g_pointMouseY - (SMenu[i].y + 31) )/10;
int StateArrayX = (StateMousePoint.x - (SMenu[i].x + 31) )/10;
int StateArrayY = (StateMousePoint.y - (SMenu[i].y + 31) )/10;
for(j=0;j<SMenu[i].nFieldCount;j++)
{
if(SMenu[i].nField[j].fLButtonDown) //撈 皋春夸家啊 喘啡菌襯?
{
if( (ArrayX >= 0) && (ArrayX <= 15) && (ArrayY >=0) && (ArrayY <=15) ) // 付快膠甫 撈儈秦 備茄 諒釬啊 硅凱俊 甸絹啊襯?
{
if( ( (CheakArray[SMenu[i].CheakType - 1][ArrayY][ArrayX] - 1) != j ) ||
( (CheakArray[SMenu[i].CheakType - 1][StateArrayY][StateArrayX] - 1) != j ) ) //付快膠啊 哭率滾瓢欄肺 急琶沁帶 皋春備己夸家俊輯 狐廉唱艾襯?
{
SMenu[i].nField[j].fLButtonDown = FALSE;
}
}
else
{
SMenu[i].nField[j].fLButtonDown=FALSE;
}
}
else
{
if( (ArrayX >= 0) && (ArrayX <= 15) && (ArrayY >=0) && (ArrayY <=15) && //貿瀾 哭率滾瓢欄肺 喘赴 撈 皋春備己 夸家俊 付快膠啊 力措肺 急琶沁襯?
(StateArrayX >= 0) && (StateArrayX <= 15) && (StateArrayY >=0) && (StateArrayY <=15) )
{
if( ( (CheakArray[SMenu[i].CheakType - 1][ArrayY][ArrayX] - 1) == j ) &&
( (CheakArray[SMenu[i].CheakType - 1][StateArrayY][StateArrayX] - 1) == j ) ) //付快膠啊 哭率滾瓢欄肺 急琶沁帶 皋春備己夸家俊輯 狐廉唱艾襯?
SMenu[i].nField[(CheakArray[ SMenu[i].CheakType - 1][ArrayY][ArrayX] - 1)].fLButtonDown = TRUE;
}
}
}
}
}
}
}
else if(g_nLButtonState==STATE_BUTTON_RELEASED) //付快膠啊 規陛 凍絹柳 惑怕襯?
{
bSoundOn = false;
if( b_DoubleClickOn )
{
b_DoubleClickOn = false;
return;
}
LButtonDown=FALSE;
for(x=0;x<MAX_START;x++)
{
bool f_ClickOn = false; // 努腐竅擱 歹撈惑 皋春 曼煉綽 絕促.
i=menu[x];
if(SMenu[i].bActive) //i鍋擄 皋春啊 勸己拳 登樂襯?
{
if( y_MenuFocus && y_MenuFocus != i ) continue;
switch(SMenu[i].CheakType) //勸己拳等 皋春狼 眉農 鷗澇撈 構襯?
{
case 0 : //RECT屈 眉農 鷗澇
for(j=0; j<SMenu[i].nFieldCount;j++) //皋春狼 備己夸家甸闌 八葷
{
if(SMenu[i].nField[j].nType==FT_HIDE_NOMAL_ONE_PUT)
{
for(k=SMenu[i].nField[j].nSHideNomalStart; k<(SMenu[i].nField[j].nSHideNomalStart)+(SMenu[i].nField[j].nShideNomalPlus) && k<SMenu[i].nField[j].nSHideNomalCount; k++)
{
if( MouseInRectCheak(SMenu[i].x, SMenu[i].y, SHideNomal[SMenu[i].nField[j].nSHideNomalNumber][k].rCheakBox))
{
SHideNomal[SMenu[i].nField[j].nSHideNomalNumber][k].bShow=TRUE;
if(SMenu[MN_MAKECHARACTER_BASIC].bActive)
{
SCharSource.nCharacterData[SMenu[i].nField[j].nSHideNomalNumber]=k;
MP3(SN_SELECT_START);
}
}
else
{
SHideNomal[SMenu[i].nField[j].nSHideNomalNumber][k].bShow=FALSE;
}
}
}
else if( !MouseDrag || SMenu[i].nField[j].fLButtonDown )
{
if( MouseInRectCheak(SMenu[i].x, SMenu[i].y, SMenu[i].nField[j].rCheakBox))
{
SMenu[i].nField[j].fLButtonDown=FALSE;
SMenu[i].nField[j].fCheakFlag=TRUE;
}
else
{
SMenu[i].nField[j].fLButtonDown=FALSE;
}
}
}
break;
case 1 :
case 2 : int ArrayX=(g_pointMouseX - (SMenu[i].x + 31) )/10;
int ArrayY=(g_pointMouseY - (SMenu[i].y + 31) )/10;
for(j=0;j<SMenu[i].nFieldCount;j++)
{
if(!MouseDrag || SMenu[i].nField[j].fLButtonDown)
{
SMenu[i].nField[j].fLButtonDown=FALSE;
if( ( (ArrayX >= 0) && (ArrayX <= 15) ) && ( (ArrayY >=0) && (ArrayY <=15) ) )
{
if( (CheakArray[ SMenu[i].CheakType - 1][ArrayY][ArrayX] - 1) == j )
{
SMenu[i].nField[j].fCheakFlag=TRUE;
// f_ClickOn = true; // 眉農 竅唱俊 努腐竅唱
}
}
}
}
break;
}
}
if( f_ClickOn ) break;
}
MouseDrag = false;
}
}
/**************************************************************************************/
//勸己拳等 皋春狼 備己夸家甸闌 薦青
//免仿闌 竅綽 何盒
/**************************************************************************************/
void StartMenuSubProcessType(SMENU *SubMenu )
{
int explain_start_map = 0;
int i,j,k;
int code;
int lenght;
int LenghtTotal;
static int nCursor_Flicker=0; // 瀕冠撈綽 目輯甫 困茄 函薦
BOOL flag=TRUE; // int & ability=nWeapon_Type; // 林牢傍 瓷仿摹 免仿闌 困茄 烙矯 函薦
// static id_password = TRUE; // 酒撈叼 菩膠況靛 沫 吭促 艾促竅扁...
int cursor1=0, cursor2=0; // 瀕冠撈綽 目輯 烙矯 歷厘
char sPassword_temp[15]="";
// 俊叼磐 冠膠 磷撈綽 何盒.... 酒流 滴 焙單輯父 靜牢促...
if((!SMenu[MN_LOGIN].bActive) && (!SMenu[MN_MAKECHARACTER_NAME].bActive))
{
if(!SMenu[MN_DEL_CHAR_COMFORM].bActive)//某腐 昏力 鞠齲 何盒撈 波廉 樂欄擱
{
EWndMgr.ClearAllTxt();//021001 lsw
SetFocus2( HWND_GAME_MAIN );//021001 lsw
}
}
SetCharacterData();
start_KeyProc();
for(j=0;j<SubMenu->nFieldCount;j++) //皋春俊 備己夸家甸闌 薦青秦扼
{
Hcolor( FONT_COLOR_NUMBER );
SetHangulAlign( TA_LEFT );
switch(SubMenu->nField[j].nType) //備己夸家啊 絹恫 鷗澇撈瘤?
{
case FT_NOMAL_PUT : //撈固瘤父 嘛綽 備己夸家
// if( SubMenu->Id == MN_MAINSTART_BACK ) FieldTypeNomalPutFx(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, SubMenu->nField[j].nImageNumber, 15,1);
// else
FieldTypeNomalPut(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, SubMenu->nField[j].nImageNumber, SubMenu->nField[j].nImageType );
if( !SubMenu->key)
{
if( *SubMenu->nField[j].temp )
{
Hcolor( FONT_COLOR_NAME );
static old_field = j;
static count = 0;
if( old_field != j )
{
old_field = j;
count = 0;
}
if( !count ) MP3( SN_MENU_OPEN );
int curr_line = count / 30;
int max_line = GetLineRectTextPut( 170, SubMenu->nField[j].temp );
if( max_line )
{
if( max_line == 2 )
{
RectTextPut(SubMenu->x+SubMenu->nField[j].x+13,SubMenu->y+SubMenu->nField[j].y+14,170,SubMenu->nField[j].temp); // 汲疙鞏闌 敬促
}
else
{
curr_line %= max_line;
SkipRectTextPut(SubMenu->x+SubMenu->nField[j].x+13,SubMenu->y+SubMenu->nField[j].y+14,170, curr_line, SubMenu->nField[j].temp, 2, 0); // 汲疙鞏闌 敬促
}
count++;
}
}
}
SubMenu->nField[j].fLButtonDown = false;
SubMenu->nField[j].fCheakFlag = false;
break;
case FT_NOMAL_PUT_FX : FieldTypeNomalPutFx(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, SubMenu->nField[j].nImageNumber, 8, 3);
break;
case FT_NOMAL_PUT_CENTER_1 :
if( !spr[SubMenu->nField[j].nImageNumber].img )
{
LoadSmallMenuImage( SubMenu->nField[j].nImageNumber );
}
lenght= (spr[SubMenu->nImageNumber].xl - spr[SubMenu->nField[j].nImageNumber].xl)/2;
FieldTypeNomalPut(SubMenu->x, SubMenu->y, lenght+1, SubMenu->nField[j].y, SubMenu->nField[j].nImageNumber);
break;
case FT_SWITCH_PUT : {
static int stch=0;
static int de=3;
FieldTypeNomalPutFx(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, SubMenu->nField[j].nImageNumber, de/3, 2);
if(stch > 19) de--;
else de++;
stch++;
stch %= 40;
}
case FT_SELECT_SERVER_SCROLL : //020828 lsw
{
const int willdo = SubMenu->nField[j].nWillDo;
const int max_server = SubMenu->work;
int &curr_page = SubMenu->key;
const int max_page = (max_server-1)/5 + 1;
switch(willdo)
{
case SCROLL_UP:
{
if( curr_page <= 0 ) break;//0 其撈瘤 焊促 累闌 薦綽 絕促
if( SubMenu->nField[j].fCheakFlag)
{
curr_page--;
SubMenu->nField[j].fCheakFlag = 0;
break;
}
}break;
case SCROLL_DOWN:
{
if( max_page <= curr_page+1 ) break;
if( SubMenu->nField[j].fCheakFlag)
{
curr_page++;
SubMenu->nField[j].fCheakFlag = 0;
break;
}
}break;
default:
{
}break;
}
int target_number;
if( SubMenu->nField[j].fLButtonDown )
{
target_number = SubMenu->nField[j].nImageNumber;
}
else if( SubMenu->nField[j].fRectMouse )
{
target_number = SubMenu->nField[j].nRectImage;
}
else
{
target_number = SubMenu->nField[j].nSpecialWillDo;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -