?? menu.cpp
字號:
else
{
SMenu[i].nField[j].DragCount = 0;
}
}
}
}
}
}
else
{
LButtonCount = 0;
if(g_nLButtonState==STATE_BUTTON_RELEASED) //付快膠啊 規陛 凍絹柳 惑怕襯?
{
bSoundOn = false;
YouGotItemFlag = 0;
HandItemOn = false;
int kkk = ItemDrop();
LButtonDown=FALSE;
for(x=MAX_MAIN;x>=0;x--)
{
i=mainmenu[x];
if( mainmenu[x] == MN_MAININTERFACE && SkillStatus != SKILL_OFF ) continue;
if( MenuFocus(i) ) continue; //盔竅綽 皋春 竅唱俊父 付快膠 器目膠甫 敵促
if(! SMenu[i].bActive) continue;
for(j=0; j<SMenu[i].nFieldCount;j++)
{
SMenu[i].nField[j].DragCount = 0;
if( !MouseDrag || SMenu[i].nField[j].fLButtonDown )
{
if( MouseInRectCheak(SMenu[i].x, SMenu[i].y, SMenu[i].nField[j].rCheakBox))
{
SMenu[i].nField[j].fCheakFlag=TRUE;
DoButtonCheckOfMenu( i, j );
f_ReturnOn = true;
}
}
else if( g_MouseItemType && CanMoveItemToMenu(SMenu[i].nField[j].nType))
{
if( MouseInRectCheak(SMenu[i].x, SMenu[i].y, SMenu[i].nField[j].rCheakBox))
{
SMenu[i].nField[j].fCheakFlag=TRUE;
DoButtonCheckOfMenu( i, j );
f_ReturnOn = true;
}
}
SMenu[i].nField[j].fLButtonDown = false;
}
if( f_ReturnOn )
{
MouseDrag = FALSE;
return;
}
}
if( SMenu[MN_FACE].bActive )
{
//<< 031022 kyo
SMenu[MN_FACE].nField[21].fCheakFlag=TRUE;
//DoButtonCheckOfMenu( MN_FACE, 8 );
//>> 031022 kyo
return;
}
MouseDrag = FALSE;
}
}
PutMouseItemCheck(); // 付快膠 靛貳弊 吝 凍絹 哆副錠
}
void MenuSetting()
{
g_StartMenuOn = false;
for(int x=0;x<MAX_MAIN;x++) //老竄 葛電 皋春 備煉眉甸闌 厚勸己欄肺 汲瀝
{
SMenu[mainmenu[x]].bActive=FALSE;
SMenu[mainmenu[x]].Id = mainmenu[x];
}
for(x=0;x<MAX_SMALL;x++)
{
SMenu[smallmenu[x]].bActive=FALSE;
SMenu[smallmenu[x]].Id = smallmenu[x];
}
LoadHangulEnglishFont( "./data/han.fnt", "./data/eng.fnt" );
HangulOutputArea( 0, SCREEN_WIDTH-1, 0, SCREEN_HEIGHT-1);
InitMenu();
ChatMgr.Clear();//020704 lsw//沁帶 措拳 昏力
CurrentMsgMgr.Clear();//020704 lsw//目繁飄 皋技瘤 昏力
SetChatTarget(CHATTYPE_NORMAL);//020705 lsw
HotKeyMemory.Clear();
//撈何盒籃 概春啊 貿瀾 技潑 登綽 鎊.( 肺弊牢老錠)
g_cQuest.DeleteScriptTimer(); // 021025 kyo 肺變且錠 救瘤況柳 鷗撈贛,墨款磐 撈靜擱 瘤款促.
g_cQuest.DeleteScriptCounter(); // 021025 kyo
}
/**************************************************************************************/
//勸己拳等 皋春狼 備己夸家甸闌 薦青
//免仿闌 竅綽 何盒
/**************************************************************************************/
void MenuSubProcessType(SMENU *SubMenu )
{
int i,j,k;
int code;
int lenght;
int LenghtTotal;
int ItemX,ItemY; //酒撈袍闌 顆辨錠 葷儈竅綽 眉農 困摹
int nWeapon_Type; //公扁 輛幅 魄竄闌 困茄 函薦 (公扁, 規菩, 秋鎬, 癌渴)
BOOL flag=TRUE; int & ability=nWeapon_Type; // 林牢傍 瓷仿摹 免仿闌 困茄 烙矯 函薦
int &iMainX = SubMenu->x;//soto_030511
int &iMainY = SubMenu->y;//soto_030511
static int nCursor_Flicker=0; //瀕冠撈綽 目輯甫 困茄 函薦
i = SubMenu->Id;
for(j=0;j<SubMenu->nFieldCount;j++) //皋春俊 備己夸家甸闌 薦青秦扼
{
if( !SubMenu->bActive ) break;
Hcolor( FONT_COLOR_NUMBER );
SetHangulAlign( TA_LEFT );
switch(SubMenu->nField[j].nType)
{
case FT_LOCALWAR_JOIN : // LTS MENU // LTS LOCALWAR // LTS NEW LOCALWAR
{
if (j==0) // 努赴茄芭甫 急琶茄促.
{
int Index=GetLocalWarMapMoveIndex();
// AddCurrentStatusMessage(255,255,0,"%d鍋撈 急琶登菌嚼聰促.",GetLocalWarMapMoveIndex());
Spr *s = GetSprOfMenu( SubMenu->nField[Index].nImageType, SubMenu->nField[Index].nRectImage );
if( s ) PutCompressedImage( SubMenu->x+SubMenu->nField[Index].x+s->ox, SubMenu->y+SubMenu->nField[Index].y+s->oy, s); // 搬拌籍 磺俺柳芭
DrawLocalWarDefeat(SubMenu->nField[j].nImageType,j,SubMenu->x,SubMenu->y); // 搬拌籍 磺俺柳芭
}
if(SubMenu->nField[j].fRectMouse)
{
FieldTypeNomalPut(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, SubMenu->nField[j].nRectImage, SubMenu->nField[j].nImageType );
Spr *s = GetSprOfMenu( SubMenu->nField[j].nImageType, SubMenu->nField[j].nRectImage );
if( s ) PutCompressedImage( SubMenu->x+SubMenu->nField[j].x+s->ox, SubMenu->y+SubMenu->nField[j].y+s->oy, s); // 急琶等芭
s=GetSprOfMenu( SubMenu->nField[j].nImageType, 8 );
if (s) PutCompressedImage(SubMenu->x+335+s->ox,SubMenu->y+275+s->oy, s ); // 痢薦
if (SubMenu->nField[j].fLButtonDown) LocalWarMapMoveClick(j);
DrawLocalWarJoinInterface(SubMenu->nField[j].nImageType,j,SubMenu->x,SubMenu->y); // 搬拌籍 磺俺柳芭
DrawLocalWarDefeat(SubMenu->nField[0].nImageType,0,SubMenu->x,SubMenu->y); // 搬拌籍 磺俺柳芭
}
break;
}
case FT_NOMAL_PUT : if( SubMenu->nField[j].nImageNumber || SubMenu->nField[j].nImageType || SubMenu->Id == MN_SYSTEM_OPTION )
{
if( SubMenu->Id == MN_MAININTERFACE && j == 17 && SCharacterData.nLevel <= 8 )
{
static flag = 0;
if( flag%24 < 12 )
{
FieldTypeNomalPut(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, SubMenu->nField[j+1].nRectImage, SubMenu->nField[j+1].nImageType );
Spr *s = GetSprOfMenu( SubMenu->nField[j+1].nImageType, SubMenu->nField[j+1].nRectImage );
if( s )
PutCompressedImageFX( SubMenu->x+SubMenu->nField[j].x+s->ox, SubMenu->y+SubMenu->nField[j].y+s->oy, s, 4, 2 );
}
else
{
FieldTypeNomalPut(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, SubMenu->nField[j].nImageNumber, SubMenu->nField[j].nImageType );
}
flag++;
}
else
{
FieldTypeNomalPut(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, SubMenu->nField[j].nImageNumber, SubMenu->nField[j].nImageType );
if( (SubMenu->Id == MN_ARIGEMENT && j==0 )|| (SubMenu->Id == MN_STATUS && j==6) || (SubMenu->Id == MN_ABILITY && j==2) )
{
static int stch=0;
static int de=0;
FieldTypeNomalPutFx(SubMenu->x+11, SubMenu->y+6, SubMenu->nField[j].x, SubMenu->nField[j].y, 801+SCharacterData.nCharacterData[ARIGEMENT],de, 2);
if(stch > 15) de-=2;
else de+=2;
stch++;
stch %= 32;
}
}
}
break;
case FT_NOMAL_PUT_CENTER : {
Spr *s = GetSprOfMenu(SubMenu->nField[j].nImageType, SubMenu->nField[j].nImageNumber );
if( !s ) break;
Spr *main = GetSprOfMenu(SubMenu->nImageType, SubMenu->nImageNumber );
if( !main ) break;
PutCompressedImage(SubMenu->x+main->ox, SubMenu->y+SubMenu->nField[j].y+s->oy, s);
break;
}
case FT_SYSTEM_OPTION_SCROLL :
case FT_HIDE_AUTO_PUT : if(SubMenu->nField[j].fRectMouse)
{
FieldTypeNomalPut(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, SubMenu->nField[j].nRectImage, SubMenu->nField[j].nImageType);
// if( !bSoundOn ) { MP3( SN_TOUCH ); bSoundOn = true; }
}
case FT_HIDE_PUT : if(SubMenu->nField[j].fLButtonDown)
FieldTypeNomalPut(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, SubMenu->nField[j].nImageNumber, SubMenu->nField[j].nImageType);
break;
case FT_HIDE_WILLDO_AUTO_PUT_MAGIC : if(SubMenu->nField[j].fRectMouse)
{
// if( !bSoundOn ) { MP3( SN_TOUCH ); bSoundOn = true; }
if( SubMenu->nField[j].nSpecialWillDo == 100 ) PrintQuickKey( "PGUP" );
else PrintQuickKey( "PGDN" );
}
case FT_HIDE_WILLDO_AUTO_PUT : if(SubMenu->nField[j].fRectMouse)
{
// if( !bSoundOn ) { MP3( SN_TOUCH ); bSoundOn = true; }
if(SubMenu->nField[j].nRectImage == 16 || SubMenu->nField[j].nRectImage == 23 || SubMenu->nField[j].nRectImage == 758)
{
static int tt;
static int de =10;
if( tt ) { de ++; if( de > 12 ) { tt = !tt; } }
else { de --; if( de < 3 ) { tt = !tt; } }
FieldTypeNomalPutFx(SubMenu->x,SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y , SubMenu->nField[j].nRectImage , de, 2 );
}
else FieldTypeNomalPut(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, SubMenu->nField[j].nRectImage);
}
case FT_HIDE_WILLDO_PUT : if(SubMenu->nField[j].fLButtonDown)
{
FieldTypeNomalPut(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, SubMenu->nField[j].nImageNumber);
}
break;
case FT_PUT_BUTTON :
{
int image1 = SubMenu->nField[j].nSHideNomalCount; // 乞家 滾瓢
int image2 = SubMenu->nField[j].nRectImage; // 灌籃 滾瓢
int image3 = SubMenu->nField[j].nImageNumber; // 喘赴 滾瓢
int image_type = SubMenu->nField[j].nImageType; // 撈固瘤 鷗澇
if(SubMenu->nField[j].fLButtonDown)
FieldTypeNomalPut(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, image3, image_type );
else if( SubMenu->nField[j].fRectMouse)
FieldTypeNomalPut(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, image2, image_type );
else
FieldTypeNomalPut(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, image1, image_type );
break;
}
case FT_BBS_GO :{
int para = SubMenu->nField[SubMenu->nField[j].nSHideNomalStart].nSHideNomalStart+SubMenu->nField[j].nSHideNomalCount;
if( !(*c_BbsTitle[para].m_Name) ) break;
if( SubMenu->nField[j].fRectMouse )
{
// if( !bSoundOn ) { MP3( SN_TOUCH ); bSoundOn = true; }
static int tt;
static int de =10;
if( tt ) { de ++; if( de > 12 ) { tt = !tt; } }
else { de --; if( de < 3 ) { tt = !tt; } }
FieldTypeNomalPutFx(SubMenu->x,SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y , SubMenu->nField[j].nRectImage, de, 2 );
}
int t = SubMenu->work;
if( t )
{
static start = SubMenu->nField[SubMenu->nField[j].nSHideNomalStart].nSHideNomalStart;
if( start != SubMenu->nField[SubMenu->nField[j].nSHideNomalStart].nSHideNomalStart )
{
SubMenu->work = 0;
start = SubMenu->nField[SubMenu->nField[j].nSHideNomalStart].nSHideNomalStart;
break;
}
FieldTypeNomalPut(SubMenu->x,SubMenu->y, SubMenu->nField[t].x, SubMenu->nField[t].y , SubMenu->nField[t].nImageNumber);
para = SubMenu->nField[SubMenu->nField[t].nSHideNomalStart].nSHideNomalStart+SubMenu->nField[t].nSHideNomalCount;
int date = SubMenu->nField[t].nShideNomalPlus;
Hcolor( FONT_COLOR_NAME );
Hprint2( SubMenu->x+SubMenu->nField[date].x, SubMenu->y+SubMenu->nField[date].y, g_DestBackBuf, " %s", c_BbsTitle[para].m_Name);
Hcolor( FONT_COLOR_NUMBER );
Hprint2( SubMenu->x+SubMenu->nField[date].x, SubMenu->y+SubMenu->nField[date].y, g_DestBackBuf, "%04d/%02d/%02d", c_BbsTitle[para].m_Year, c_BbsTitle[para].m_Month, c_BbsTitle[para].m_Day );
}
break;
}
case FT_MAIN_MENU : {
int &bLButtonDownOn = SubMenu->nField[j].nShideNomalPlus;
if( (SubMenu->nField[j].RectCount > 5) && !bLButtonDownOn )
{
Hcolor( 0 );
SetHangulAlign( TA_CENTER );
switch( SubMenu->nField[j].nSpecialWillDo )
{
case SWD_MAININTERFACE_ITEM : MenuButtonRightExplain( SubMenu->x+SubMenu->nField[j].x, SubMenu->y+SubMenu->nField[j].y, SubMenu->nField[j].nSHideNomalCount, "Item Inventory" );
PrintQuickKey( "S" );
break;
case SWD_MAININTERFACE_MAGIC : MenuButtonRightExplain( SubMenu->x+SubMenu->nField[j].x, SubMenu->y+SubMenu->nField[j].y, SubMenu->nField[j].nSHideNomalCount, "Magic Select" );
PrintQuickKey( "W" );
break;
case SWD_MAININTERFACE_PARTY : MenuButtonLeftExplain( SubMenu->x+SubMenu->nField[j].x, SubMenu->y+SubMenu->nField[j].y, SubMenu->nField[j].nSHideNomalCount, "Party" );
PrintQuickKey( "Q" );
break;
case SWD_MAININTERFACE_SKILL : MenuButtonLeftExplain( SubMenu->x+SubMenu->nField[j].x, SubMenu->y+SubMenu->nField[j].y, SubMenu->nField[j].nSHideNomalCount, "SKILL" );
PrintQuickKey( "A" );
break;
case SWD_MENU_OPEN : switch( SubMenu->nField[j].nWillDo )
{
case MN_SYSTEM : MenuButtonRightExplain( SubMenu->x+SubMenu->nField[j].x, SubMenu->y+SubMenu->nField[j].y, SubMenu->nField[j].nSHideNomalCount, "System Option" );
PrintQuickKey( "X" );
break;
}
break;
}
}
else SubMenu->nField[j].nSHideNomalCount = 100;
if( SubMenu->nField[j].fLButtonDown || SubMenu->nField[j].fCheakFlag ) bLButtonDownOn = true;
if( !SubMenu->nField[j].fRectMouse ) bLButtonDownOn = false;
}
case FT_HIDE_SPECIAL_WILLDO_AUTO_PUT :{
if(SubMenu->nField[j].fRectMouse)
{
// if( !bSoundOn ) { MP3( SN_TOUCH ); bSoundOn = true; }
switch( SubMenu->nField[j].nSpecialWillDo )
{
case SWD_MAININTERFACE_STATUS : PrintQuickKey( "C" ); break;
case SWD_INFO_FLAG_SET : PrintQuickKey( "M" ); break;
break;
}
if( (SubMenu->nField[j].nImageType==DEFAULT_MENU) && ( SubMenu->nField[j].nRectImage == 16 || SubMenu->nField[j].nRectImage == 23 || SubMenu->nField[j].nRectImage == 758) )
{
static int tt;
static int de =10;
if( tt ) { de ++; if( de > 15 ) { tt = !tt; } }
else { de --; if( de < 7 ) { tt = !tt; } }
FieldTypeNomalPutFx(SubMenu->x,SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y , SubMenu->nField[j].nRectImage, de, 2 );
}
else FieldTypeNomalPut(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, SubMenu->nField[j].nRectImage, SubMenu->nField[j].nImageType);
}
}
case FT_HIDE_SPECIAL_WILLDO_PUT :
if(SubMenu->nField[j].fLButtonDown)
{
FieldTypeNomalPut(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, SubMenu->nField[j].nImageNumber, SubMenu->nField[j].nImageType);
if( (SubMenu->Id == MN_ARIGEMENT && j==1 )|| (SubMenu->Id == MN_STATUS && j==7) || (SubMenu->Id == MN_ABILITY && j==3) )
{
static int stch=0;
static int de=0;
FieldTypeNomalPutFx(SubMenu->x+11, SubMenu->y+6, SubMenu->nField[j].x, SubMenu->nField[j].y, 801+SCharacterData.nCharacterData[ARIGEMENT],de, 2);
if(stch > 15) de-=2;
else de+=2;
stch++;
stch %= 32;
}
}break;
case FT_MAKE_RARE_MORE://011013 lsw
case FT_RARE_GROUP_SCROLL://011014 lsw
//011004 lsw >
case FT_SHOW_SPECIAL_WILLDO_AUTO_PUT :
{
if(SubMenu->nField[j].fRectMouse)
{
if(SubMenu->nField[j].fLButtonDown)//滾瓢 努腐 撈亥飄
{
FieldTypeNomalPut(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, SubMenu->nField[j].nRectImage, SubMenu->nField[j].nImageType );
}
else
{
FieldTypeNomalPut (SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y , SubMenu->nField[j].nImageNumber, SubMenu->nField[j].nImageType );
FieldTypeNomalPutFx3(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y , SubMenu->nField[j].nImageNumber, SubMenu->nField[j].nImageType, 3, 2 );
}
}
else
{
FieldTypeNomalPut(SubMenu->x, SubMenu->y, SubMenu->nField[j].x, SubMenu->nField[j].y, SubMenu->nField[j].nImageNumber, SubMenu->nField[j].nImageType );
}
}
break;
//011004 lsw <
case FT_MENU_MOVE_DEFAULT :
{ // 皋春啊 框流牢促~~
if( SubMenu->nTemp && MouseDrag)
{
static int mox, moy;
int &GabX = SubMenu->nField[j].nSHideNomalCount;
int &GabY = SubMenu->nField[j].nSHideNomalStart;
Spr *s = GetSprOfMenu( SubMenu->nImageType, SubMenu->nImageNumber );
if( !s ) return;
if( g_pointMouseX < 0 || g_pointMouseX > GAME_SCREEN_XSIZE || g_pointMouseY < 0 || g_pointMouseY > GAME_SCREEN_YSIZE )
{
Box_( Mapx+mox, Mapy+moy, s->xl, s->yl, RGB16(255,255,255) );
break;
}
if( g_pointMouseX - GabX < 0 ) mox = 0;
else if( g_pointMouseX+(s->xl-GabX) > GAME_SCREEN_XSIZE ) mox = GAME_SCREEN_XSIZE - s->xl;
else mox = g_pointMouseX - GabX;
if( g_pointMouseY - GabY < 0 ) moy = 0;
else if( g_pointMouseY+(s->yl-GabY) > GAME_SCREEN_YSIZE ) moy = GAME_SCREEN_YSIZE - s->yl;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -