📄 cscriptmanager.cpp
字号:
// cScriptManager.cpp: implementation of the cScriptManager class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "cScriptManager.h"
#include "../GlobalEventFunc.h"
#include "../WindowIDEnum.h"
#include "cResourceManager.h"
#include "../CharacterDialog.h"
#include "../MugongSuryunDialog.h"
#include "../MugongDialog.h"
#include "../SuryunDialog.h"
#include "../InventoryExDialog.h"
#include "../ChatDialog.h"
#include "../MoneyDlg.h"
#include "../DealDialog.h"
#include "../QuickDialog.h"
#include "../PartyMemberDlg.h"
#include "../PartyBtnDlg.h"
#include "../PartyCreateDlg.h"
#include "../PartyInviteDlg.h"
#include "../MousePointer.h"
#include "../MunpaListDialog.h"
#include "../MunpaDialog.h"
#include "../MunpaCreateDialog.h"
#include "../MiniMapDlg.h"
#include "../MunpaWareIconGridDialog.h"
#include "../PyogukDialog.h"
#include "../FriendDialog.h"
#include "../NoteDialog.h"
#include "../MiniNoteDialog.h"
#include "../MiniFriendDialog.h"
#include "../ReviveDialog.h"
#include "../MacroDialog.h"
#include "../ChatOptionDialog.h"
#include "../OptionDialog.h"
#include "../ExitDialog.h"
#include "../ExchangeDialog.h"
#include "../CharStateDialog.h"
#include "../MenuSlotDialog.h"
#include "../PKLootingDialog.h"
#include "../StreetStall.h"
#include "../NpcScriptDialog.h"
#include "../HelpDialog.h"
#include "../HelperSpeechDlg.h"
#include "../MainBarDialog.h"
#include "../ObjectGuagen.h"
#include "../cComboBoxEx.h"
#include "../CharMakeDialog.h"
#include "../MonsterGuageDlg.h"
#include "../MunpaWarehouseDialog.h"
#include "../PrivateWarehouseDialog.h"
#include "../MunpaMarkDialog.h"
#include "../cDivideBox.h"
#include "../LoadingDlg.h"
#include "../UpgradeDlg.h"
#include "../MixDialog.h"
#include "../ReinforceDlg.h"
#include "../ChannelDialog.h"
#include "../ServerListDialog.h"
#include "../WantNpcDialog.h"
#include "../WantRegistDialog.h"
#include "../QuestTotalDialog.h"
#include "../QuestDialog.h"
#include "../WantedDialog.h"
#include "../JournalDialog.h"
#include "../MPRegistDialog.h"
#include "../MPMissionDialog.h"
#include "../MPNoticeDialog.h"
#include "../MPGuageDialog.h"
#include "../ChinaAdviceDlg.h"
#include "../BailDialog.h"
#include "../EventNotifyDialog.h"
#include "../DissolutionDialog.h"
#include "../GuildCreateDialog.h"
#include "../GuildDialog.h"
#include "../GuildInviteDialog.h"
#include "../GuildMarkDialog.h"
#include "../GuildLevelupDialog.h"
#include "../GuildNickNameDialog.h"
#include "../GuildRankDialog.h"
#include "../GuildWarehouseDialog.h"
#include "../ItemShopDialog.h"
#include "../ItemShopGridDialog.h"
#include "../ItemShopInven.h"
#include "../MoveDialog.h"
#include "../PointSaveDialog.h"
//#include "../MainDialog.h"
//#include "../WearedExDialog.h"
//////////
//MurimNet
#include "../MNPlayRoomDialog.h"
#include "../MNChannelDialog.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
GLOBALTON(cScriptManager);
cScriptManager::cScriptManager()
{
}
cScriptManager::~cScriptManager()
{
}
char * cScriptManager::GetMsg( int idx )
{
return RESRCMGR->GetMsg(idx);
}
void cScriptManager::GetImage( CMHFile * fp, cImage * pImage )
{
ASSERT(pImage);
char buff[255];
int idx = 0;
cImageRect rect = {0,0,0,0};
fp->GetString(buff);
if(buff[0] != '(') return ;
idx = fp->GetInt();
rect.left = fp->GetLong();
rect.top = fp->GetLong();
rect.right = fp->GetLong();
rect.bottom = fp->GetLong();
fp->GetString(buff);
if(buff[0] != ')') return ;
GetImage( idx, pImage, &rect );
}
void cScriptManager::GetImage( int idx, cImage * pImage, cImageRect * rect )
{
ASSERT(pImage);
pImage->SetSpriteObject(RESRCMGR->GetImageInfo(idx));
IMAGE_NODE* pNode = RESRCMGR->GetInfo(idx);
if(pNode)
pImage->SetImageSrcSize(&pNode->size);
pImage->SetImageSrcRect(rect);
}
void cScriptManager::GetImage( int hard_idx, cImage * pImage , ePATH_FILE_TYPE type )
{
CMHFile fp;
//--------------------------------------
#ifdef _FILE_BIN_
char msg[255];
switch( type )
{
case PFT_HARDPATH:
fp.Init( FILE_IMAGE_HARD_PATH, "rb" );
break;
case PFT_ITEMPATH:
fp.Init( FILE_IMAGE_ITEM_PATH, "rb" );
break;
case PFT_MUGONGPATH:
fp.Init( FILE_IMAGE_MUGONG_PATH, "rb" );
break;
case PFT_ABILITYPATH:
fp.Init( FILE_IMAGE_ABILITY_PATH, "rb");
break;
case PFT_BUFFPATH:
fp.Init( FILE_IMAGE_BUFF_PATH, "rb");
break;
case PFT_MINIMAPPATH:
fp.Init( FILE_IMAGE_MINIMAP_PATH, "rb");
break;
}
for( int i = 0 ; i < hard_idx ; ++i )
{
fp.GetLine(msg, 255);
}
fp.GetInt();
// fp.Seek(1);
#else
char msg[255];
switch( type )
{
case PFT_HARDPATH:
fp.Init( FILE_IMAGE_HARD_PATH, "rt" );
break;
case PFT_ITEMPATH:
fp.Init( FILE_IMAGE_ITEM_PATH, "rt" );
break;
case PFT_MUGONGPATH:
fp.Init( FILE_IMAGE_MUGONG_PATH, "rt" );
break;
case PFT_ABILITYPATH:
fp.Init( FILE_IMAGE_ABILITY_PATH, "rt");
break;
case PFT_BUFFPATH:
fp.Init( FILE_IMAGE_BUFF_PATH, "rt");
break;
case PFT_MINIMAPPATH:
fp.Init( FILE_IMAGE_MINIMAP_PATH, "rt");
break;
}
for( int i = 0 ; i < hard_idx ; ++i )
{
fp.GetLine(msg, 255);
}
fp.GetInt();
fp.Seek(1);
#endif
//--------------------------------------
int idx = 0;
cImageRect rect = {0,0,0,0};
idx = fp.GetInt();
rect.left = fp.GetLong();
rect.top = fp.GetLong();
rect.right = fp.GetLong();
rect.bottom = fp.GetLong();
GetImage( idx, pImage, &rect );
}
cWindow * cScriptManager::GetDlgInfoFromFile(char * filePath, char* mode)
{
CMHFile fp;
if(!fp.Init(filePath, mode))
return NULL;
char buff[256]={0,};
cWindow * dlg = NULL;
while(1)
{
fp.GetString(buff);
if(fp.IsEOF())
break;
if(buff[0] == '@')
{
fp.GetLineX(buff, 256);
continue;
}
CMD_ST(buff)
CMD_CS("$DLG")
if((fp.GetString())[0] == '{')
dlg = (cDialog *)GetInfoFromFile((cWindow*)(new cDialog), &fp);
else
__asm int 3;
CMD_CS("$LISTDLG")
if((fp.GetString())[0] == '{')
dlg = (cDialog *)GetInfoFromFile((cWindow*)(new cListDialog), &fp);
else
__asm int 3;
CMD_CS("$LISTDLGEX")
if((fp.GetString())[0] == '{')
dlg = (cDialog *)GetInfoFromFile((cWindow*)(new cListDialogEx), &fp);
else
__asm int 3;
CMD_CS("$CHARINFODLG")
if((fp.GetString())[0] == '{')
dlg = (cDialog *)GetInfoFromFile((cWindow*)(new CCharacterDialog), &fp);
else
__asm int 3;
CMD_CS("$MUGONGSURYUNDLG")
if((fp.GetString())[0] == '{')
dlg = (cDialog *)GetInfoFromFile((cWindow*)(new CMugongSuryunDialog), &fp);
else
__asm int 3;
CMD_CS("$MAINDLG")
if((fp.GetString())[0] == '{')
dlg = (cDialog *)GetInfoFromFile((cWindow*)(new CMainBarDialog), &fp);
else
__asm int 3;
CMD_CS("$INVENTORYDLG")
if((fp.GetString())[0] == '{')
dlg = (cDialog *)GetInfoFromFile((cWindow*)(new CInventoryExDialog), &fp);
else
__asm int 3;
CMD_CS("$CHATDLG")
if((fp.GetString())[0] == '{')
dlg = (cDialog *)GetInfoFromFile((cWindow*)(new CChatDialog), &fp);
else
__asm int 3;
CMD_CS("$STREETSTALLDLG")
if((fp.GetString())[0] == '{')
dlg = (cDialog *)GetInfoFromFile((cWindow*)(new CStreetStall), &fp);
else
__asm int 3;
CMD_CS("$NPCSCRIPTDLG")
if((fp.GetString())[0] == '{')
dlg = (cDialog *)GetInfoFromFile((cWindow*)(new cNpcScriptDialog), &fp);
else
__asm int 3;
CMD_CS("$HELPDLG")
if((fp.GetString())[0] == '{')
dlg = (cDialog *)GetInfoFromFile((cWindow*)(new cHelpDialog), &fp);
else
__asm int 3;
CMD_CS("$CHARMAKEDLG")
if((fp.GetString())[0] == '{')
dlg = (cCharMakeDlg *)GetInfoFromFile((cWindow*)(new cCharMakeDlg), &fp);
else
__asm int 3;
CMD_CS("$HELPERSPEECHDLG")
if((fp.GetString())[0] == '{')
dlg = (cHelperSpeechDlg *)GetInfoFromFile((cWindow*)(new cHelperSpeechDlg), &fp);
else
__asm int 3;
CMD_CS("$MONEYDLG")
if((fp.GetString())[0] == '{')
dlg = (cDialog *)GetInfoFromFile((cWindow*)(new CMoneyDlg), &fp);
else
__asm int 3;
CMD_CS("$DEALDLG")
if((fp.GetString())[0] == '{')
dlg = (cDialog *)GetInfoFromFile((cWindow*)(new CDealDialog), &fp);
else
__asm int 3;
CMD_CS("$QUICKDIALOG")
if((fp.GetString())[0] == '{')
dlg = (cDialog *)GetInfoFromFile((cWindow*)(new CQuickDialog), &fp);
else
__asm int 3;
CMD_CS("$PA_MEMBER1DLG")
if((fp.GetString())[0] == '{')
dlg = (CPartyMemberDlg *)GetInfoFromFile((cWindow*)(new CPartyMemberDlg), &fp);
else
__asm int 3;
CMD_CS("$PA_MEMBER2DLG")
if((fp.GetString())[0] == '{')
dlg = (CPartyMemberDlg *)GetInfoFromFile((cWindow*)(new CPartyMemberDlg), &fp);
else
__asm int 3;
CMD_CS("$PA_MEMBER3DLG")
if((fp.GetString())[0] == '{')
dlg = (CPartyMemberDlg *)GetInfoFromFile((cWindow*)(new CPartyMemberDlg), &fp);
else
__asm int 3;
CMD_CS("$PA_MEMBER4DLG")
if((fp.GetString())[0] == '{')
dlg = (CPartyMemberDlg *)GetInfoFromFile((cWindow*)(new CPartyMemberDlg), &fp);
else
__asm int 3;
CMD_CS("$PA_MEMBER5DLG")
if((fp.GetString())[0] == '{')
dlg = (CPartyMemberDlg *)GetInfoFromFile((cWindow*)(new CPartyMemberDlg), &fp);
else
__asm int 3;
CMD_CS("$PA_MEMBER6DLG")
if((fp.GetString())[0] == '{')
dlg = (CPartyMemberDlg *)GetInfoFromFile((cWindow*)(new CPartyMemberDlg), &fp);
else
__asm int 3;
CMD_CS("$PA_BTNDLG")
if((fp.GetString())[0] == '{')
dlg = (CPartyBtnDlg *)GetInfoFromFile((cWindow*)(new CPartyBtnDlg), &fp);
else
__asm int 3;
CMD_CS("$PA_CREATEDLG")
if((fp.GetString())[0] == '{')
dlg = (CPartyCreateDlg *)GetInfoFromFile((cWindow*)(new CPartyCreateDlg), &fp);
else
__asm int 3;
CMD_CS("$PA_INVITEDLG")
if((fp.GetString())[0] == '{')
dlg = (CPartyInviteDlg *)GetInfoFromFile((cWindow*)(new CPartyInviteDlg), &fp);
else
__asm int 3;
CMD_CS("$ANI")
if((fp.GetString())[0] == '{')
dlg = (cAni *)GetInfoFromFile((cWindow*)(new cAni), &fp);
else
__asm int 3;
CMD_CS("$MOUSEPOINTER")
if((fp.GetString())[0] == '{')
dlg = (CMousePointer *)GetInfoFromFile((cWindow*)(new CMousePointer), &fp);
else
__asm int 3;
CMD_CS("$MUNPALISTDLG")
if((fp.GetString())[0] == '{')
dlg = (CMunpaListDialog *)GetInfoFromFile((cWindow*)(new CMunpaListDialog), &fp);
else
__asm int 3;
CMD_CS("$MUNPADLG")
if((fp.GetString())[0] == '{')
dlg = (CMunpaDialog *)GetInfoFromFile((cWindow*)(new CMunpaDialog), &fp);
else
__asm int 3;
CMD_CS("$MUNPACREATEDLG")
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -