Commit 84c0d7fd authored by mercury233's avatar mercury233

Merge branch 'master' of https://github.com/Fluorohydride/ygopro

parents 48d36486 3ecfeece
...@@ -92,7 +92,6 @@ extern int enable_log; ...@@ -92,7 +92,6 @@ extern int enable_log;
extern bool exit_on_return; extern bool exit_on_return;
extern bool open_file; extern bool open_file;
extern wchar_t open_file_name[256]; extern wchar_t open_file_name[256];
extern wchar_t open_file_name_with_category[256];
extern bool bot_mode; extern bool bot_mode;
#endif #endif
...@@ -11,7 +11,6 @@ int enable_log = 0; ...@@ -11,7 +11,6 @@ int enable_log = 0;
bool exit_on_return = false; bool exit_on_return = false;
bool open_file = false; bool open_file = false;
wchar_t open_file_name[256] = L""; wchar_t open_file_name[256] = L"";
wchar_t open_file_name_with_category[256] = L"";
bool bot_mode = false; bool bot_mode = false;
void ClickButton(irr::gui::IGUIElement* btn) { void ClickButton(irr::gui::IGUIElement* btn) {
...@@ -128,11 +127,14 @@ int main(int argc, char* argv[]) { ...@@ -128,11 +127,14 @@ int main(int argc, char* argv[]) {
exit_on_return = !keep_on_return; exit_on_return = !keep_on_return;
if(i < wargc) { if(i < wargc) {
open_file = true; open_file = true;
wcscpy(open_file_name, wargv[i]); if(deckCategorySpecified) {
if(deckCategorySpecified && wcslen(ygo::mainGame->gameConf.lastcategory)) { #ifdef WIN32
swprintf(open_file_name_with_category, 256, L"%ls/%ls", ygo::mainGame->gameConf.lastcategory, open_file_name); myswprintf(open_file_name, L"%ls\\%ls", ygo::mainGame->gameConf.lastcategory, wargv[i]);
#else
myswprintf(open_file_name, L"%ls/%ls", ygo::mainGame->gameConf.lastcategory, wargv[i]);
#endif
} else { } else {
wcscpy(open_file_name_with_category, open_file_name); wcscpy(open_file_name, wargv[i]);
} }
} }
ClickButton(ygo::mainGame->btnDeckEdit); ClickButton(ygo::mainGame->btnDeckEdit);
......
...@@ -399,14 +399,14 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) { ...@@ -399,14 +399,14 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
} }
case BUTTON_DECK_EDIT: { case BUTTON_DECK_EDIT: {
mainGame->RefreshCategoryDeck(mainGame->cbDBCategory, mainGame->cbDBDecks); mainGame->RefreshCategoryDeck(mainGame->cbDBCategory, mainGame->cbDBDecks);
if(open_file && deckManager.LoadDeck(open_file_name_with_category)) { if(open_file && deckManager.LoadDeck(open_file_name)) {
#ifdef WIN32 #ifdef WIN32
wchar_t *dash = wcsrchr(open_file_name, L'\\'); wchar_t *dash = wcsrchr(open_file_name, L'\\');
#else #else
wchar_t *dash = wcsrchr(open_file_name, L'/'); wchar_t *dash = wcsrchr(open_file_name, L'/');
#endif #endif
wchar_t *dot = wcsrchr(open_file_name, L'.'); wchar_t *dot = wcsrchr(open_file_name, L'.');
if(dash && dot) { if(dash && dot && !mywcsncasecmp(dot, L".ydk", 4)) { // full path
wchar_t deck_name[256]; wchar_t deck_name[256];
wcsncpy(deck_name, dash + 1, dot - dash - 1); wcsncpy(deck_name, dash + 1, dot - dash - 1);
deck_name[dot - dash - 1] = L'\0'; deck_name[dot - dash - 1] = L'\0';
...@@ -416,7 +416,17 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) { ...@@ -416,7 +416,17 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
mainGame->btnManageDeck->setEnabled(false); mainGame->btnManageDeck->setEnabled(false);
mainGame->cbDBCategory->setEnabled(false); mainGame->cbDBCategory->setEnabled(false);
mainGame->cbDBDecks->setEnabled(false); mainGame->cbDBDecks->setEnabled(false);
} else { } else if(dash) { // has category
wchar_t deck_name[256];
wcsncpy(deck_name, dash + 1, 256);
for(size_t i = 0; i < mainGame->cbDBDecks->getItemCount(); ++i) {
if(!wcscmp(mainGame->cbDBDecks->getItem(i), deck_name)) {
wcscpy(mainGame->gameConf.lastdeck, deck_name);
mainGame->cbDBDecks->setSelected(i);
break;
}
}
} else { // only deck name
for(size_t i = 0; i < mainGame->cbDBDecks->getItemCount(); ++i) { for(size_t i = 0; i < mainGame->cbDBDecks->getItemCount(); ++i) {
if(!wcscmp(mainGame->cbDBDecks->getItem(i), open_file_name)) { if(!wcscmp(mainGame->cbDBDecks->getItem(i), open_file_name)) {
wcscpy(mainGame->gameConf.lastdeck, open_file_name); wcscpy(mainGame->gameConf.lastdeck, open_file_name);
......
...@@ -228,7 +228,7 @@ bool Replay::CheckReplay(const wchar_t* name) { ...@@ -228,7 +228,7 @@ bool Replay::CheckReplay(const wchar_t* name) {
ReplayHeader rheader; ReplayHeader rheader;
size_t count = fread(&rheader, sizeof(ReplayHeader), 1, rfp); size_t count = fread(&rheader, sizeof(ReplayHeader), 1, rfp);
fclose(rfp); fclose(rfp);
return count == 1 && rheader.id == 0x31707279 && rheader.version >= 0x12d0u; return count == 1 && rheader.id == 0x31707279 && rheader.version >= 0x12d0u && (rheader.version < 0x1353u || (rheader.flag & REPLAY_UNIFORM));
} }
bool Replay::DeleteReplay(const wchar_t* name) { bool Replay::DeleteReplay(const wchar_t* name) {
wchar_t fname[256]; wchar_t fname[256];
......
This diff is collapsed.
...@@ -729,9 +729,9 @@ ...@@ -729,9 +729,9 @@
!setname 0x41 LV LV(レベル) !setname 0x41 LV LV(レベル)
!setname 0x42 极星 極星 !setname 0x42 极星 極星
!setname 0x3042 极星天 極星天 !setname 0x3042 极星天 極星天
!setname 0x5042 极星宝 極星宝
!setname 0x6042 极星兽 極星獣 !setname 0x6042 极星兽 極星獣
!setname 0xa042 极星灵 極星霊 !setname 0xa042 极星灵 極星霊
!setname 0x5042 极星宝 極星宝
!setname 0x43 废品 ジャンク !setname 0x43 废品 ジャンク
!setname 0x44 代行者 !setname 0x44 代行者
!setname 0x45 恶魔 デーモン !setname 0x45 恶魔 デーモン
...@@ -749,8 +749,8 @@ ...@@ -749,8 +749,8 @@
#setname 0x4d N/A #setname 0x4d N/A
#setname 0x4e 进化 エヴォル #setname 0x4e 进化 エヴォル
!setname 0x304e 进化虫 エヴォルド !setname 0x304e 进化虫 エヴォルド
!setname 0x604e 进化龙 エヴォルダー
!setname 0x504e 进化帝 エヴォルカイザー !setname 0x504e 进化帝 エヴォルカイザー
!setname 0x604e 进化龙 エヴォルダー
#setname 0x4f 爆裂 バスター #setname 0x4f 爆裂 バスター
!setname 0x104f /爆裂体 /バスター !setname 0x104f /爆裂体 /バスター
!setname 0x50 蛇毒 ヴェノム !setname 0x50 蛇毒 ヴェノム
...@@ -1086,7 +1086,7 @@ ...@@ -1086,7 +1086,7 @@
!setname 0x154 龙辉巧 ドライトロン !setname 0x154 龙辉巧 ドライトロン
!setname 0x155 护宝炮妖 スプリガンズ !setname 0x155 护宝炮妖 スプリガンズ
!setname 0x156 治安战警队 SForce !setname 0x156 治安战警队 SForce
!setname 0x157 突变体 Myutant !setname 0x157 秘异三变 ミュートリア
#setname 0x158 圣 サン #setname 0x158 圣 サン
!setname 0x1158 圣蔓 サンヴァイン !setname 0x1158 圣蔓 サンヴァイン
!setname 0x2158 圣天树 サンアバロン !setname 0x2158 圣天树 サンアバロン
...@@ -1097,8 +1097,8 @@ ...@@ -1097,8 +1097,8 @@
!setname 0x15c 游乐设施 アトラクション !setname 0x15c 游乐设施 アトラクション
!setname 0x15d 烙印 !setname 0x15d 烙印
!setname 0x15e 降阶魔法 RDM !setname 0x15e 降阶魔法 RDM
!setname 0x15f 岩战 War Rock !setname 0x15f 战吼 ウォークライ
!setname 0x160 源质兽 Materiactor !setname 0x160 物质炉 マテリアクトル
!setname 0x161 溟界 !setname 0x161 溟界
!setname 0x162 七音服 ドレミコード !setname 0x162 七音服 ドレミコード
!setname 0x163 北极天熊 ベアルクティ !setname 0x163 北极天熊 ベアルクティ
......
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