Commit a0d801ec authored by nanahira's avatar nanahira

Merge branch 'master' into server

parents 31983934 935534a1
No preview for this file type
...@@ -854,6 +854,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) { ...@@ -854,6 +854,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
} }
case irr::gui::EGET_EDITBOX_ENTER: { case irr::gui::EGET_EDITBOX_ENTER: {
switch(id) { switch(id) {
case EDITBOX_INPUTS:
case EDITBOX_KEYWORD: { case EDITBOX_KEYWORD: {
StartFilter(); StartFilter();
break; break;
...@@ -1010,6 +1011,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) { ...@@ -1010,6 +1011,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
break; break;
} }
} }
mainGame->env->setFocus(0);
InstantSearch(); InstantSearch();
break; break;
} }
...@@ -1027,13 +1029,16 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) { ...@@ -1027,13 +1029,16 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
mainGame->ebDefense->setEnabled(true); mainGame->ebDefense->setEnabled(true);
} }
} }
mainGame->env->setFocus(0);
InstantSearch(); InstantSearch();
break; break;
} }
case COMBOBOX_ATTRIBUTE: case COMBOBOX_ATTRIBUTE:
case COMBOBOX_RACE: case COMBOBOX_RACE:
case COMBOBOX_LIMIT: case COMBOBOX_LIMIT:
mainGame->env->setFocus(0);
InstantSearch(); InstantSearch();
break;
} }
} }
case irr::gui::EGET_LISTBOX_CHANGED: { case irr::gui::EGET_LISTBOX_CHANGED: {
...@@ -1651,6 +1656,7 @@ bool DeckBuilder::CardNameContains(const wchar_t *haystack, const wchar_t *needl ...@@ -1651,6 +1656,7 @@ bool DeckBuilder::CardNameContains(const wchar_t *haystack, const wchar_t *needl
return true; return true;
} }
} else { } else {
i -= j;
j = 0; j = 0;
} }
i++; i++;
......
...@@ -1629,6 +1629,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) { ...@@ -1629,6 +1629,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
int c, l, s, ss; int c, l, s, ss;
unsigned int code; unsigned int code;
bool panelmode = false; bool panelmode = false;
int handcount = 0;
bool select_ready = mainGame->dField.select_min == 0; bool select_ready = mainGame->dField.select_min == 0;
mainGame->dField.select_ready = select_ready; mainGame->dField.select_ready = select_ready;
ClientCard* pcard; ClientCard* pcard;
...@@ -1654,6 +1655,11 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) { ...@@ -1654,6 +1655,11 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
pcard->is_selected = false; pcard->is_selected = false;
if (l & 0xf1) if (l & 0xf1)
panelmode = true; panelmode = true;
if(l & LOCATION_HAND) {
handcount++;
if(handcount >= 10)
panelmode = true;
}
} }
std::sort(mainGame->dField.selectable_cards.begin(), mainGame->dField.selectable_cards.end(), ClientCard::client_card_sort); std::sort(mainGame->dField.selectable_cards.begin(), mainGame->dField.selectable_cards.end(), ClientCard::client_card_sort);
if(select_hint) if(select_hint)
......
...@@ -701,16 +701,16 @@ bool Game::Initialize() { ...@@ -701,16 +701,16 @@ bool Game::Initialize() {
for(int filter = 0x1; filter != 0x2000000; filter <<= 1) for(int filter = 0x1; filter != 0x2000000; filter <<= 1)
cbRace->addItem(dataManager.FormatRace(filter), filter); cbRace->addItem(dataManager.FormatRace(filter), filter);
stAttack = env->addStaticText(dataManager.GetSysString(1322), rect<s32>(205, 22 + 50 / 6, 280, 42 + 50 / 6), false, false, wFilter); stAttack = env->addStaticText(dataManager.GetSysString(1322), rect<s32>(205, 22 + 50 / 6, 280, 42 + 50 / 6), false, false, wFilter);
ebAttack = env->addEditBox(L"", rect<s32>(260, 20 + 50 / 6, 340, 40 + 50 / 6), true, wFilter); ebAttack = env->addEditBox(L"", rect<s32>(260, 20 + 50 / 6, 340, 40 + 50 / 6), true, wFilter, EDITBOX_INPUTS);
ebAttack->setTextAlignment(irr::gui::EGUIA_CENTER, irr::gui::EGUIA_CENTER); ebAttack->setTextAlignment(irr::gui::EGUIA_CENTER, irr::gui::EGUIA_CENTER);
stDefense = env->addStaticText(dataManager.GetSysString(1323), rect<s32>(205, 42 + 75 / 6, 280, 62 + 75 / 6), false, false, wFilter); stDefense = env->addStaticText(dataManager.GetSysString(1323), rect<s32>(205, 42 + 75 / 6, 280, 62 + 75 / 6), false, false, wFilter);
ebDefense = env->addEditBox(L"", rect<s32>(260, 40 + 75 / 6, 340, 60 + 75 / 6), true, wFilter); ebDefense = env->addEditBox(L"", rect<s32>(260, 40 + 75 / 6, 340, 60 + 75 / 6), true, wFilter, EDITBOX_INPUTS);
ebDefense->setTextAlignment(irr::gui::EGUIA_CENTER, irr::gui::EGUIA_CENTER); ebDefense->setTextAlignment(irr::gui::EGUIA_CENTER, irr::gui::EGUIA_CENTER);
stStar = env->addStaticText(dataManager.GetSysString(1324), rect<s32>(10, 62 + 100 / 6, 80, 82 + 100 / 6), false, false, wFilter); stStar = env->addStaticText(dataManager.GetSysString(1324), rect<s32>(10, 62 + 100 / 6, 80, 82 + 100 / 6), false, false, wFilter);
ebStar = env->addEditBox(L"", rect<s32>(60, 60 + 100 / 6, 100, 80 + 100 / 6), true, wFilter); ebStar = env->addEditBox(L"", rect<s32>(60, 60 + 100 / 6, 100, 80 + 100 / 6), true, wFilter, EDITBOX_INPUTS);
ebStar->setTextAlignment(irr::gui::EGUIA_CENTER, irr::gui::EGUIA_CENTER); ebStar->setTextAlignment(irr::gui::EGUIA_CENTER, irr::gui::EGUIA_CENTER);
stScale = env->addStaticText(dataManager.GetSysString(1336), rect<s32>(101, 62 + 100 / 6, 150, 82 + 100 / 6), false, false, wFilter); stScale = env->addStaticText(dataManager.GetSysString(1336), rect<s32>(101, 62 + 100 / 6, 150, 82 + 100 / 6), false, false, wFilter);
ebScale = env->addEditBox(L"", rect<s32>(150, 60 + 100 / 6, 190, 80 + 100 / 6), true, wFilter); ebScale = env->addEditBox(L"", rect<s32>(150, 60 + 100 / 6, 190, 80 + 100 / 6), true, wFilter, EDITBOX_INPUTS);
ebScale->setTextAlignment(irr::gui::EGUIA_CENTER, irr::gui::EGUIA_CENTER); ebScale->setTextAlignment(irr::gui::EGUIA_CENTER, irr::gui::EGUIA_CENTER);
stSearch = env->addStaticText(dataManager.GetSysString(1325), rect<s32>(205, 62 + 100 / 6, 280, 82 + 100 / 6), false, false, wFilter); stSearch = env->addStaticText(dataManager.GetSysString(1325), rect<s32>(205, 62 + 100 / 6, 280, 82 + 100 / 6), false, false, wFilter);
ebCardName = env->addEditBox(L"", rect<s32>(260, 60 + 100 / 6, 390, 80 + 100 / 6), true, wFilter, EDITBOX_KEYWORD); ebCardName = env->addEditBox(L"", rect<s32>(260, 60 + 100 / 6, 390, 80 + 100 / 6), true, wFilter, EDITBOX_KEYWORD);
...@@ -1082,18 +1082,22 @@ void Game::LoadExpansions() { ...@@ -1082,18 +1082,22 @@ void Game::LoadExpansions() {
myswprintf(fpath, L"./expansions/%ls", name); myswprintf(fpath, L"./expansions/%ls", name);
dataManager.LoadDB(fpath); dataManager.LoadDB(fpath);
} }
<<<<<<< HEAD
#ifdef YGOPRO_SERVER_MODE #ifdef YGOPRO_SERVER_MODE
}); });
#else #else
if(!isdir && wcsrchr(name, '.') && !mywcsncasecmp(wcsrchr(name, '.'), L".zip", 4)) { if(!isdir && wcsrchr(name, '.') && !mywcsncasecmp(wcsrchr(name, '.'), L".zip", 4)) {
=======
if(!isdir && wcsrchr(name, '.') && (!mywcsncasecmp(wcsrchr(name, '.'), L".zip", 4) || !mywcsncasecmp(wcsrchr(name, '.'), L".ypk", 4))) {
>>>>>>> master
wchar_t fpath[1024]; wchar_t fpath[1024];
myswprintf(fpath, L"./expansions/%ls", name); myswprintf(fpath, L"./expansions/%ls", name);
#ifdef _WIN32 #ifdef _WIN32
dataManager.FileSystem->addFileArchive(fpath, true, false); dataManager.FileSystem->addFileArchive(fpath, true, false, EFAT_ZIP);
#else #else
char upath[1024]; char upath[1024];
BufferIO::EncodeUTF8(fpath, upath); BufferIO::EncodeUTF8(fpath, upath);
dataManager.FileSystem->addFileArchive(upath, true, false); dataManager.FileSystem->addFileArchive(upath, true, false, EFAT_ZIP);
#endif #endif
} }
}); });
......
...@@ -197,6 +197,12 @@ public: ...@@ -197,6 +197,12 @@ public:
return focus && focus->hasType(type); return focus && focus->hasType(type);
} }
void TrimText(irr::gui::IGUIElement* editbox) const {
irr::core::stringw text(editbox->getText());
text.trim();
editbox->setText(text.c_str());
}
void OnResize(); void OnResize();
recti Resize(s32 x, s32 y, s32 x2, s32 y2); recti Resize(s32 x, s32 y, s32 x2, s32 y2);
recti Resize(s32 x, s32 y, s32 x2, s32 y2, s32 dx, s32 dy, s32 dx2, s32 dy2); recti Resize(s32 x, s32 y, s32 x2, s32 y2, s32 dx, s32 dy, s32 dx2, s32 dy2);
...@@ -792,6 +798,7 @@ extern HostInfo game_info; ...@@ -792,6 +798,7 @@ extern HostInfo game_info;
#define BUTTON_MARKS_FILTER 322 #define BUTTON_MARKS_FILTER 322
#define BUTTON_MARKERS_OK 323 #define BUTTON_MARKERS_OK 323
#define COMBOBOX_SORTTYPE 324 #define COMBOBOX_SORTTYPE 324
#define EDITBOX_INPUTS 325
#define WINDOW_DECK_MANAGE 330 #define WINDOW_DECK_MANAGE 330
#define BUTTON_NEW_CATEGORY 331 #define BUTTON_NEW_CATEGORY 331
#define BUTTON_RENAME_CATEGORY 332 #define BUTTON_RENAME_CATEGORY 332
......
...@@ -64,6 +64,8 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) { ...@@ -64,6 +64,8 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
} }
case BUTTON_JOIN_HOST: { case BUTTON_JOIN_HOST: {
bot_mode = false; bot_mode = false;
mainGame->TrimText(mainGame->ebJoinHost);
mainGame->TrimText(mainGame->ebJoinPort);
char ip[20]; char ip[20];
const wchar_t* pstr = mainGame->ebJoinHost->getText(); const wchar_t* pstr = mainGame->ebJoinHost->getText();
BufferIO::CopyWStr(pstr, ip, 16); BufferIO::CopyWStr(pstr, ip, 16);
......
Subproject commit c48f5e5f179bfda57a0da32d0e1a0f14bcdd8884 Subproject commit a636af1e4e078d6380303a63b013900b0816fdf7
Subproject commit 8fb7f95a65d6b7ccb5ec565e95df34139ca9439a Subproject commit 10c2806e0aae76d0b6bf2f052208d28fabcbee73
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment