Commit 8a3718e1 authored by argon.sun's avatar argon.sun

fix

parent 363c2ee4
......@@ -25,8 +25,8 @@ void Draw2DImageRotation(video::IVideoDriver* driver, video::ITexture* image, co
uvCorner[2] = irr::core::vector2df(sourceRect.UpperLeftCorner.X, sourceRect.LowerRightCorner.Y);
uvCorner[3] = irr::core::vector2df(sourceRect.LowerRightCorner.X, sourceRect.LowerRightCorner.Y);
for (int x = 0; x < 4; x++) {
float uvX = uvCorner[x].X / (float)image->getSize().Width;
float uvY = uvCorner[x].Y / (float)image->getSize().Height;
float uvX = uvCorner[x].X / (float)image->getOriginalSize().Width;
float uvY = uvCorner[x].Y / (float)image->getOriginalSize().Height;
uvCorner[x] = irr::core::vector2df(uvX, uvY);
}
irr::video::S3DVertex vertices[4];
......
......@@ -31,7 +31,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
}
case BUTTON_SAVE_DECK: {
deckManager.SaveDeck(deckManager.current_deck, mainGame->cbDBDecks->getItem(mainGame->cbDBDecks->getSelected()));
mainGame->stACMessage->setText(L"保存成功");
mainGame->stACMessage->setText(dataManager.GetSysString(1335));
mainGame->PopupElement(mainGame->wACMessage, 20);
break;
}
......@@ -53,8 +53,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
mainGame->cbDBDecks->setSelected(mainGame->cbDBDecks->getItemCount() - 1);
}
deckManager.SaveDeck(deckManager.current_deck, dname);
mainGame->ebDeckname->setText(L"");
mainGame->stACMessage->setText(L"保存成功");
mainGame->stACMessage->setText(dataManager.GetSysString(1335));
mainGame->PopupElement(mainGame->wACMessage, 20);
break;
}
......@@ -348,19 +347,19 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
mainGame->ebDefence->setEnabled(true);
mainGame->ebStar->setEnabled(true);
mainGame->cbCardType2->clear();
mainGame->cbCardType2->addItem(L"(无)", 0);
mainGame->cbCardType2->addItem(L"通常", TYPE_MONSTER + TYPE_NORMAL);
mainGame->cbCardType2->addItem(L"效果", TYPE_MONSTER + TYPE_EFFECT);
mainGame->cbCardType2->addItem(L"融合", TYPE_MONSTER + TYPE_FUSION);
mainGame->cbCardType2->addItem(L"仪式", TYPE_MONSTER + TYPE_RITUAL);
mainGame->cbCardType2->addItem(L"同调", TYPE_MONSTER + TYPE_SYNCHRO);
mainGame->cbCardType2->addItem(L"超量", TYPE_MONSTER + TYPE_XYZ);
mainGame->cbCardType2->addItem(L"调整", TYPE_MONSTER + TYPE_TUNER);
mainGame->cbCardType2->addItem(L"二重", TYPE_MONSTER + TYPE_DUAL);
mainGame->cbCardType2->addItem(L"同盟", TYPE_MONSTER + TYPE_UNION);
mainGame->cbCardType2->addItem(L"灵魂", TYPE_MONSTER + TYPE_SPIRIT);
mainGame->cbCardType2->addItem(L"反转", TYPE_MONSTER + TYPE_FLIP);
mainGame->cbCardType2->addItem(L"卡通", TYPE_MONSTER + TYPE_TOON);
mainGame->cbCardType2->addItem(dataManager.GetSysString(1080), 0);
mainGame->cbCardType2->addItem(dataManager.GetSysString(1054), TYPE_MONSTER + TYPE_NORMAL);
mainGame->cbCardType2->addItem(dataManager.GetSysString(1055), TYPE_MONSTER + TYPE_EFFECT);
mainGame->cbCardType2->addItem(dataManager.GetSysString(1056), TYPE_MONSTER + TYPE_FUSION);
mainGame->cbCardType2->addItem(dataManager.GetSysString(1057), TYPE_MONSTER + TYPE_RITUAL);
mainGame->cbCardType2->addItem(dataManager.GetSysString(1063), TYPE_MONSTER + TYPE_SYNCHRO);
mainGame->cbCardType2->addItem(dataManager.GetSysString(1073), TYPE_MONSTER + TYPE_XYZ);
mainGame->cbCardType2->addItem(dataManager.GetSysString(1062), TYPE_MONSTER + TYPE_TUNER);
mainGame->cbCardType2->addItem(dataManager.GetSysString(1061), TYPE_MONSTER + TYPE_DUAL);
mainGame->cbCardType2->addItem(dataManager.GetSysString(1060), TYPE_MONSTER + TYPE_UNION);
mainGame->cbCardType2->addItem(dataManager.GetSysString(1059), TYPE_MONSTER + TYPE_SPIRIT);
mainGame->cbCardType2->addItem(dataManager.GetSysString(1071), TYPE_MONSTER + TYPE_FLIP);
mainGame->cbCardType2->addItem(dataManager.GetSysString(1072), TYPE_MONSTER + TYPE_TOON);
break;
}
case 2: {
......@@ -371,13 +370,13 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
mainGame->ebDefence->setEnabled(false);
mainGame->ebStar->setEnabled(false);
mainGame->cbCardType2->clear();
mainGame->cbCardType2->addItem(L"(无)", 0);
mainGame->cbCardType2->addItem(L"通常", TYPE_SPELL);
mainGame->cbCardType2->addItem(L"速攻", TYPE_SPELL + TYPE_QUICKPLAY);
mainGame->cbCardType2->addItem(L"永续", TYPE_SPELL + TYPE_CONTINUOUS);
mainGame->cbCardType2->addItem(L"仪式", TYPE_SPELL + TYPE_RITUAL);
mainGame->cbCardType2->addItem(L"装备", TYPE_SPELL + TYPE_EQUIP);
mainGame->cbCardType2->addItem(L"场地", TYPE_SPELL + TYPE_FIELD);
mainGame->cbCardType2->addItem(dataManager.GetSysString(1080), 0);
mainGame->cbCardType2->addItem(dataManager.GetSysString(1054), TYPE_SPELL);
mainGame->cbCardType2->addItem(dataManager.GetSysString(1066), TYPE_SPELL + TYPE_QUICKPLAY);
mainGame->cbCardType2->addItem(dataManager.GetSysString(1067), TYPE_SPELL + TYPE_CONTINUOUS);
mainGame->cbCardType2->addItem(dataManager.GetSysString(1057), TYPE_SPELL + TYPE_RITUAL);
mainGame->cbCardType2->addItem(dataManager.GetSysString(1068), TYPE_SPELL + TYPE_EQUIP);
mainGame->cbCardType2->addItem(dataManager.GetSysString(1069), TYPE_SPELL + TYPE_FIELD);
break;
}
case 3: {
......@@ -388,10 +387,10 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
mainGame->ebDefence->setEnabled(false);
mainGame->ebStar->setEnabled(false);
mainGame->cbCardType2->clear();
mainGame->cbCardType2->addItem(L"(无)", 0);
mainGame->cbCardType2->addItem(L"通常", TYPE_TRAP);
mainGame->cbCardType2->addItem(L"永续", TYPE_TRAP + TYPE_CONTINUOUS);
mainGame->cbCardType2->addItem(L"反击", TYPE_TRAP + TYPE_COUNTER);
mainGame->cbCardType2->addItem(dataManager.GetSysString(1080), 0);
mainGame->cbCardType2->addItem(dataManager.GetSysString(1054), TYPE_TRAP);
mainGame->cbCardType2->addItem(dataManager.GetSysString(1067), TYPE_TRAP + TYPE_CONTINUOUS);
mainGame->cbCardType2->addItem(dataManager.GetSysString(1070), TYPE_TRAP + TYPE_COUNTER);
break;
}
}
......
......@@ -600,8 +600,8 @@ void Game::DrawSpec() {
}
}
void Game::ShowElement(irr::gui::IGUIElement * win, int autoframe) {
if(fadingFrame || win->isVisible())
return;
if(fadingFrame)
guiFading->setVisible(false);
fadingSize = win->getRelativePosition();
irr::core::position2di center = fadingSize.getCenter();
fadingDiff.X = fadingSize.getWidth() / 10;
......@@ -628,8 +628,8 @@ void Game::ShowElement(irr::gui::IGUIElement * win, int autoframe) {
win->setVisible(true);
}
void Game::HideElement(irr::gui::IGUIElement * win, bool set_action, irr::gui::IGUIElement* next) {
if(fadingFrame || !win->isVisible())
return;
if(fadingFrame)
guiFading->setVisible(false);
fadingSize = win->getRelativePosition();
fadingDiff.X = fadingSize.getWidth() / 10;
fadingDiff.Y = (fadingSize.getHeight() - 4) / 10;
......
......@@ -466,7 +466,7 @@ void Game::MainLoop() {
atkdy = (float)sin(atkframe);
driver->beginScene(true, true, SColor(0, 0, 0, 0));
if(imageManager.tBackGround)
driver->draw2DImage(imageManager.tBackGround, recti(0, 0, 1024, 640), recti(0, 0, imageManager.tBackGround->getSize().Width, imageManager.tBackGround->getSize().Height));
driver->draw2DImage(imageManager.tBackGround, recti(0, 0, 1024, 640), recti(0, 0, imageManager.tBackGround->getOriginalSize().Width, imageManager.tBackGround->getOriginalSize().Height));
gMutex.Lock();
if(dInfo.isStarted) {
DrawBackGround();
......
......@@ -213,14 +213,14 @@ void NetServer::HandleCTOSPacket(DuelPlayer* dp, char* data, unsigned int len) {
pkt->info.rule = 0;
if(pkt->info.mode > 1)
pkt->info.mode = 0;
unsigned int hash = 0;
unsigned int hash = 1;
for(auto lfit = deckManager._lfList.begin(); lfit != deckManager._lfList.end(); ++lfit) {
if(pkt->info.lflist == lfit->hash) {
hash = pkt->info.lflist;
break;
}
}
if(!hash)
if(hash == 1)
pkt->info.lflist = deckManager._lfList[0].hash;
duel_mode->host_info = pkt->info;
BufferIO::CopyWStr(pkt->name, duel_mode->name, 20);
......
......@@ -124,6 +124,7 @@ void SingleDuel::LeaveGame(DuelPlayer* dp) {
} else {
STOC_HS_PlayerChange scpc;
players[dp->type] = 0;
ready[dp->type] = false;
scpc.status = (dp->type << 4) | PLAYERCHANGE_LEAVE;
if(players[0] && dp->type != 0)
NetServer::SendPacketToPlayer(players[0], STOC_HS_PLAYER_CHANGE, scpc);
......@@ -134,7 +135,6 @@ void SingleDuel::LeaveGame(DuelPlayer* dp) {
if(pduel)
NetServer::StopServer();
else {
ready[dp->type] = false;
NetServer::DisconnectPlayer(dp);
}
}
......
......@@ -80,7 +80,7 @@ end
function c29071332.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)
Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP_ATTACK)
end
end
function c29071332.damcon(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -31,7 +31,7 @@ function c39987164.eqcost(e,tp,eg,ep,ev,re,r,rp,chk)
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c39987164.filter(c)
return c:IsFaceup() and c:IsAttack() and c:IsAbleToChangeControler()
return c:IsFaceup() and c:IsAttack() and c:IsType(TYPE_EFFECT) and c:IsAbleToChangeControler()
end
function c39987164.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) and c39987164.filter(chkc) end
......
......@@ -23,7 +23,7 @@ function c43513897.atkop(e,tp,eg,ep,ev,re,r,rp)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+RESET_END)
e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetValue(500)
tc:RegisterEffect(e1)
tc=g:GetNext()
......
......@@ -31,7 +31,7 @@ function c90727556.initial_effect(c)
c:RegisterEffect(e4)
end
function c90727556.condition(e,tp,eg,ep,ev,re,r,rp)
return not Duel.CheckPhaseActivity() and e:GetHandler():IsSetCard(0x100a)
return Duel.GetCurrentPhase()==PHASE_MAIN1 and not Duel.CheckPhaseActivity() and e:GetHandler():IsSetCard(0x100a)
and not Duel.IsExistingMatchingCard(Card.IsType,tp,LOCATION_ONFIELD,0,1,nil,TYPE_SPELL+TYPE_TRAP)
end
function c90727556.cost(e,tp,eg,ep,ev,re,r,rp,chk)
......
......@@ -157,6 +157,7 @@
!system 1071 反转
!system 1072 卡通
!system 1073 超量
!system 1080 (N/A)
#GUI
!system 1100 魔陷破坏
!system 1101 怪兽破坏
......@@ -283,6 +284,7 @@
!system 1332 副卡组:
!system 1333 搜索结果:
!system 1334 副卡组更换完成
!system 1335 保存成功
!system 1340 是否保存录像?
!system 1341 保存
!system 1342 录像文件:
......
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