?? menu.cpp
字號:
// menu.cpp
#include "stdafx.h"
#include <ddraw.h>
#include "Hangul.h"
#include "dragon.h"
#include "Menu.h"
#include "Hong_Sprite.h"
#include "SmallMenuSet.h"
#include "stdio.h"
#include "directsound.h"
#include "directinput.h"
#include "Char.h"
#include "SmallMenu.h"
#include "Hong_Sub.h"
#include "Effect.h"
#include "map.h"
#include "tool.h"
#include "MenuSet.h"
#include "skill.h"
#include "Item.h"
#include "MenuNetwork.h"
#include "MouseCursor.h"
#include "CharDataTable.h"
#include "gameproc.h"
#include "kh_cpp.h"
#include "NationSys.h" // 010904 LTS // For Nation War Interface
#include "NationSupport.h" // 010904 LTS // For Nation War Interface
//011001 lsw
#include "skill_lsw.h"
#include "linecommand.h"
#include "hong_light.h"
#include "menudef2.h"
#include "MagicSys.h"
#include "chat.h"//020704 lsw
#include "CurrentMsgMgr.h"
#include "Auction.h"
#include "MailMgr.h"
#include "HunterSystem.h"
#include "ExchangeMgr.h"
extern bool isNewWarfieldServer();
#include "QuestFunction.h" // 021025 kyo
#include "SymbolMgr_Client.h"//soto-1.02
#include "LottoMgr.h"//soto-030501
#include "ArenaManager.h"
extern CSymbolMgr_Client g_SymBolMgr;//soto-1.02
extern void MenuSubProcessType2(SMENU *SubMenu,const int j); //021022 kyo
extern int g_iScenarioOn;
extern void lsw_MenuSubProcessType(SMENU *SubMenu,const int j);//020214 lsw
extern void lsw_DoLButtonDownOfMenu(const int i,const int j);
extern void lsw_DoRButtonDownOfMenu(const int i,const int j);
extern void MenuSubProcessType_FT_DO(SMENU *SubMenu,int j);
extern void DisplayInventoryMenu(SMENU *SubMenu ,int j);//牢亥配府 叼膠敲飯撈
extern void ButtonDownAtInventory(const int i, const int j);//021111 lsw
extern void DisplayQuickMenu(SMENU *SubMenu ,int j);//獰芒 叼膠敲飯撈
extern void DisplayCandleMenu(SMENU *SubMenu ,int j);
extern void LocalWarDoneBoxText(bool Button); // LTS LOCALWAR MENU
extern void SendWarMove();
extern void SendWarStatusRefresh();
int g_SelectMail = 0;
CGuildIntroduction *g_Guild_Introduction;
CMenuVariable g_Menu_Variable;
char *g_szScale;
#ifdef CHANGE_MONEY_
char g_szMoneyName[] = "Crit";
#else
char g_szMoneyName[] = "Cell";
#endif
//#define PAGE_NUMBER__ 2//020515 lsw
extern void SendNationPacket(int type);//010730 lsw
extern bool isNationWarfieldServer();
extern int CheckNationStatus(int StatusNo);
extern int WarResultAniCount;
extern void lsw_FT_DATA_PUT(SMENU *SubMenu ,int iDP_TYPE);
//extern int GetItemKind( int itemno );
RareMain Soksungattr_gm;
extern MakeItem gm_make_item_result;
extern int gm_make_item_result_needitem[2];
extern MakeItem gm_make_item_list[MAX_UPGRADE_RARE];
extern bool DoButtonCheckOfMenu_lsw(int i , int j);
//_____________________________________________________________________ // 010904
extern int g_Squad; // LTS TEMP
extern int g_Commander;
extern void SendCMD_NW_MAP_MOVE(int Type,int WarfieldNo);
extern void SendCMD_SET_SQUAD_LODING_POINT(int SquadNo,int LoadingPoint);
extern void SendCMD_REQUEST_SQUAD_INFO(int SquadNo);
extern void SendCMD_REQUEST_COMMANDER_VOTE_DATA(int CandidaterNo);
extern int GetSquadNo();
extern void SendCMD_CHECK_ABILITY_CHANGE_MONEY(); //011201 LTS // LTS MENU
extern void SendCMD_LOCALWAR_MAPMOVE(); // LTS NEW LOCALWAR
extern void CloseLocalWarInfo(); // LTS NEW LOCALWAR
extern void LocalWarMapMoveClick(int MapNo); // LTS NEW LOCALWAR
extern int GetLocalWarMapMoveIndex(); // LTS NEW LOCALWAR
extern void DrawLocalWarDefeat(int ImageType,int MenuNumber,int BaseX,int BaseY); // LTS NEW LOCALWAR
extern void SendCMD_LOCALWAR_JOIN(); // LTS LOCALWAR
extern void SendCMD_EVENT_LOCALWAR_JOIN(); // 020115 LTS
extern void SendCMD_EVENT_LOCALWAR_MOVE(); // 020115 LTS
extern void DrawLocalWarJoinInterface(int ImageType,int MenuNumber,int BaseX,int BaseY);
//_____________________________________________________________________ // 010904
char g_szSearchLadderRankName[20];
bool bSmallTips = false;
int g_RemainTimeType;
int g_RemainTimeDelay;
#define MAX_SALVAITON_MONEY 3000000000
int bbs_money[2][2] = { {100, 1000}, {1500, 15000} };
int g_BattleStatusView;
int g_RecvLoanInfo;
int g_CurrUsedMagic; // 泅犁 某膠潑 登絆 樂綽 付過
int refresh_magery_time = 100;
int TotalSalvation;
char man_list[MAX_MAP_][MAN_LIST_MAX_][20]; // 惑痢 林牢 撈撫甸
int AutoLevelUpOn;
DWORD AutoLevelUpCount;
t_QuickMemory SaveMemory[MAX_MAGIC_MEMORY]; // 竄綿虐肺 扁撅矯難敵 格廢//020530 lsw
t_QuickMemory HotKeyMemory; // 滾瓢 茄俺肺 葷儈 竅綽 Ram 鞍籃 函薦
/*//020515 lsw
bool bDisplaySkillExp;
bool bDisplayTacticExp;
*/
int before_skill_no;
//int g_DisplaySkillExp;
int g_VoteSignExist; // 急芭 泅炔 焊咯林綽啊 付綽啊..
int g_CanRegistCandidate; // 饒焊 殿廢闌 且薦 樂綽 惑怕啊 酒聰擱 -1, 捧釬甫 且薦 樂綽 惑炔撈 酒聰擱 -2
int g_Candidate_max;
int g_CurrVote; // 泅犁 急芭 柳青 惑怕 0:檬扁 惑怕( 單撈鷗甫 罐酒 柯促), -1:澇饒焊 且薦 絕促. 1:澇饒焊 惑怕 2:捧釬 惑怕
k_client_candidate Candidate[3]; // 澇饒焊 瀝焊
Spr scenario_spr; // 矯唱府坷
int fight_map_live_man[4]; // 混酒 樂綽 葷恩
char nation_bbs[2000];
char nation_bbs2[8][8][50];
int man_to_man_start=0;
int fight_map_stop=0;
int g_fight_win;
int g_fight_lose;
int fight_who; // 1:1 措搬竅綽 葷恩狼 酒撈叼
int danger_by_hunter;
int skill_index[5] = {0,};
CServerText public_bbs; // 款康磊啊 努扼撈攫飄肺 官肺 傍瘤葷親闌 焊塵錠,
bool g_MagicMenuOn;
bool g_ExplainMenuOn;
int magic_plus[MAX_MAGIC]; // 郴啊 葷儈茄 概流 穿利
int magic_plus_count; // 醚 骯薦
int magic_plus_start; // 嘛闌 撈固瘤 start何盒
bool g_explain_menu_on = false;
char g_explain_menu[MAX_STRING];
bool g_explain_magic_on = false;
int g_explain_magic;
bool g_explain_skill_on = false;
int g_explain_skill;
//bool g_ExplainMessageOn; // 汲疙芒闌 葷儈沁綽啊..
DWORD g_alarm ;
CServerText g_ServerText; // 輯滾俊輯 傈價罐綽 咆膠飄甫 困茄 備煉眉
bool g_bTimeMenuOn;
bool bCallGodMeetingMenu; // 抗硅 皋春 剁快扁
Spr spr2[MAX_IMAGE2]; // 眠啊 皋春 撈固瘤
bool g_bMagicSelect = true; // 付過 俺充撈 皋葛扼撈令 俺充牢瘤 酒囪瘤 魄竄... true -> 皋葛扼撈令...
bool bSoundOn = false;
bool g_DropOnHero = false; // 葷恩俊霸 酒撈袍闌 凍絹哆啡闌 版快 true set
int g_MouseInMenu = 0; // 031110 YGI
int memorize[12] = {0,}; // 皋葛扼撈令 合俊輯 葷儈...
int SkillOn=-1; // 膠懦撈 場唱霸 登擱 -1肺 悸潑秦 霖促.
PosItem skill_use_item[5][10];
PosItem skill_use_item_result;
int con_to_img[7] = { 0, 263, 263, 265, 265, 265, 264 }; // 某腐磐 惑怕 弊覆闌 持綽促.
K_ITEM i_DivideItem; // 酒撈袍狼 加己客 困摹啊 樂促.
ItemJoinSelect learn_item_list[MAX_LEARN_ITEM] = {0,};
OtherCharacter You;
int Hero_Ability[20];
MakeItem make_item_list[20];
MakeItem make_item_result;
int selected_skill; // 急琶登絹柳 膠懦
CharacterParty mouse_ch; // 付快膠啊 甸絆 樂綽 葷恩...
int storelistindex; // 惑痢俊輯 葷儈且 烙矯 函薦
bool is_buymenu_On; // buy 皋春啊 躲版快 悸潑秦 霖促.
int nSkillLearnResult; // 膠懦 硅快扁狼 搬苞 1:瓷仿撈 葛磊恩, 2:搗撈 葛磊恩, 3: 肋 勞軀瀾
int motherSkillImageNo[2]; // 膠懦 硅快扁俊輯 力格魄 撈固瘤 鍋齲
int motherSkillImageType[2]; // 膠懦 硅快扁俊輯 力格魄 撈固瘤 鷗澇
BOOL RButtonDown;
BOOL MouseDrag;
int LButtonCount; // 付快膠 滾瓢闌 穿福絆 樂菌帶 矯埃
int y_PutBarSize=0; //HP唱 MP甫 免仿且 阜措 弊貳橇狼 臭撈甫 拌魂茄 藹闌 歷厘茄促.
int id_password = TRUE; // 酒撈叼 菩膠況靛 沫 吭促 艾促竅扁...
bool MessageOn=false; // MessageOn撈 飄風肺 眉農 登擱 皋牢 牢磐其撈膠 汲疙芒俊 皋矯瘤啊 奪促
char Message[MAX_STRING];
int g_MouseItemNumber=0; //鷗澇俊 蝶扼 啊瘤絆 樂綽 酒撈袍狼 鍋齲 0撈擱 酒撈袍撈 絕促綽 舵
int g_MouseItemType=0; //0撈擱 付快膠啊 絹恫 酒撈袍檔 啊瘤絆 樂瘤 臼促綽 舵(付過,酒撈袍) 1=老館 酒撈袍,2=付過 鞏輯
RECT rScreenRect; //皋春甫 力寇茄 角力 霸烙拳擱狼 諒釬 付快膠 哭率滾瓢闌 初闌錠 酒撈袍撈 凍絹瘤綽 巴闌 眉農茄促
int YouGotItemFlag=false;
int g_BoadAndSignNumber; // CSD-030324 // thai2 YGI
int MouseItemInRectOn; // 酒贛 芒 辟貿肺 酒撈袍撈 促啊吭闌 錠 貿府
POINT MouseItemInRect;
int cRMoveMenu=0; //皋牢 牢磐其撈膠俊輯 坷弗率俊 殿厘竅綽 皋春(酒撈袍,付過)啊 框流老錠 葷儈竅綽 墨款飄
int cLMoveMenu=0; //皋牢 牢磐其撈膠俊輯 哭率俊 殿厘竅綽 皋春(膠萍撈磐膠,絹呼府萍,啊摹包)啊 框龍老錠 葷儈竅綽 墨款飄
int fRMoveMenu=0; //皋春狼 輛幅,咯磋撈 惑炔俊 蝶扼 弊 惑怕甫 歷厘竅綽 函薦 0老訂 酒公老檔 絕促
int fLMoveMenu=0; // 哭率 皋春 摧扁
int nItemOther; // 酒撈袍 皋春啊 凱副錠 鞍撈 棟具 竅綽 皋春
int nPartyOther=0; // 頗萍 皋春啊 摧灑擱 棟具且 皋春
int nPartyState = 0; // 頗萍 皋春 哆扁 傈俊 固府 棟 樂菌帶 皋春
int nPartyShow=1; // 皋牢 牢磐其撈膠 頗萍 皋春俊輯 急琶 扼撈飄 釬矯竅扁 函薦
struct InterfaceFlag main_interface;
SystemInfo system_info;
CHouse *house; // 籠 汲疙 -> 昏力 措惑 絆妨
CMenuStack MenuStack;
int chat_scroll_count;
POS IP_base; // 酒撈袍撈 盔貳 樂菌帶 磊府
ItemAttr InvItemAttr[3][3][8];
ItemAttr EquipItemAttr[ITEM_EQUIP_MAX];//021119
ItemAttr QuickItemAttr[ITEM_QUICK_MAX+1];
ItemAttr BankItemAttr[5][3][6];
ItemAttr HandItemAttr;
ItemAttr SupperItemAttr[3][15];
ItemAttr InvAttrBackUp[3][3][8];
ItemAttr EquipAttrBackUp[8];
ItemAttr QuickAttrBackUp[7];
ItemAttr HandAttrBackUp;
ItemAttr aItemInventoryFull; // 牢亥配府 芒俊 菜 謾闌 錠
bool LeftShiftOn; // 哭率 矯橇飄 虐啊 喘妨 臉綽瘤 true : 喘覆,
// int AbilityToInt[20];
int RectImageOn=0; //概流 勸己拳啊 燈闌錠, 瀕冠烙
int nBankTemp=0; //籃青 皋春俊輯 搗 拌魂竅扁 困茄 函薦
int WearAble[9] = { 2, 3, 4, 5, 6, 7, 8, 8, 9 }; // 厘饅 困摹 函券 函薦
int HandBackUp;
int HandBackUptype;
int HandItemOn = false;
bool no_active_box_yet; // 輯滾俊輯 藹闌 傈價 罐欄擱 false set.
int aMagicItem[3][4][3][5];
int SkillInventory[2][2][4]; // 膠懦 牢亥配府...
int SkillInventory2[2][2][4]; // 硅快瘤 臼籃 膠懦
int Skill_Know_Inv[3][3];
ItemJoinSelect Item_Select[MAX_LEARN_SKILL_PAGE][10];
ItemJoinSelect item_select_result;
int aSellBuyItemPos[MAX_BUY_ITEM*3*5]; // inventroy 絹蠢鎊俊 樂帶 拱扒牢瘤...
ItemAttr aSellBuyItemAttr[MAX_BUY_ITEM*3*5];
int aSellBuyItemMax;
const int y_ItemSubMenu[] = //021014 lsw
{
MN_ITEM_MAKE,
MN_ITEM_MAKE_OK,
MN_ITEM_MAKE_RARE_SELECT,
MN_GM_2ND_SKILL,
MN_SKILL_MASTER_MAKE,//021111 lsw
MN_DIVIDE_ITEM,
MN_CHARACTER_ITEM,
MN_GAMBLE,
MN_MERCHANT_REGISTER,
MN_EXCHANGE_BOND_MONEY,
};
const int mainmenu[]=
{
MN_MAININTERFACE,
MN_MAIN_EXPLAIN,
MN_QUICK_MAGIC_PLUS,
MN_QUICK_MAGIC_SCROLL,
MN_TIME_DISPLAY_ON_OFF,
MN_QUICK_SKILL,
MN_TIME_DISPLAY_MENU,
MN_COMBAT_SKILL_DOING,//020420 lsw
MN_COMBAT_SKILL_POINT,//020707 lsw
MN_EXCHANGE_ITEM,
MN_MAN_TO_MAN, // 搬捧
MN_SMALL_MAP,
MN_DIVIDE_ITEM,
MN_ITEM,
MN_PARTY,
MN_STATUS,
MN_ABILITY,
MN_ARIGEMENT,
MN_TACTICS,
MN_GUILD_ITEM_GET,
MN_GUILD_ITEM_PUT,
MN_CHATTING,
MN_FACE,
MN_WISPER_LIST,
MN_ARENA_LOBBY,
MN_OBSERVER_MODE,
MN_BETTING,
MN_SYSTEM,
MN_SYSTEM_OPTION,
MN_BANK_CUSTODY,
MN_ITEM_MAKE,
MN_ITEM_MAKE_SELECT,
MN_ITEM_MAKE_OK,
MN_ITEM_MAKE_RARE_SELECT,
MN_COMBAT_SKILL_DOING,
MN_COMBAT_SKILL_POINT,
MN_GM_2ND_SKILL,
MN_SKILL_MASTER_MAKE,//021111 lsw
MN_MERCHANT_REGISTER,
MN_EXCHANGE_BOND_MONEY,
MN_CHARACTER_ITEM,
MN_ITEM_SELECT,
MN_VOTE_SIGN,
MN_MESSAGEBOX_BIG,
MN_PARTY_FACE1,
MN_PARTY_FACE2,
MN_PARTY_FACE3,
MN_PARTY_FACE4,
MN_PARTY_FACE5,
MN_PARTY_FACE6,
MN_SMALL_TIPS,
MN_DISPLAY_SKILL_EXP,
MN_DISPLAY_TAC_EXP,
MN_DISPLAY_MAGIC_EXP,
MN_GAMBLE,
MN_FIGHT_MAP_SIGN,
MN_DISTANCE_TABLE,
MN_STORE_SIGN,
MN_OK_MESSAGEBOX,
MN_OKCANCEL_MESSAGEBOX,
MN_ITEM_MESSAGEBOX,
MN_DEL_CHAR_COMFORM,
MN_SYSTEM_LOGOUT,
MN_EFFECT_TOOL,
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -