Commit c697373a authored by DailyShana's avatar DailyShana Committed by mercury233

show STATUS_PROC_COMPLETE in client (#2156)

parent ea45f43d
...@@ -18,7 +18,7 @@ ClientCard::ClientCard() { ...@@ -18,7 +18,7 @@ ClientCard::ClientCard() {
is_showtarget = false; is_showtarget = false;
is_showchaintarget = false; is_showchaintarget = false;
is_highlighting = false; is_highlighting = false;
is_disabled = false; status = 0;
is_reversed = false; is_reversed = false;
cmdFlag = 0; cmdFlag = 0;
code = 0; code = 0;
...@@ -164,10 +164,8 @@ void ClientCard::UpdateInfo(char* buf) { ...@@ -164,10 +164,8 @@ void ClientCard::UpdateInfo(char* buf) {
} }
if(flag & QUERY_OWNER) if(flag & QUERY_OWNER)
owner = BufferIO::ReadInt32(buf); owner = BufferIO::ReadInt32(buf);
if(flag & QUERY_IS_DISABLED) if(flag & QUERY_STATUS)
is_disabled = BufferIO::ReadInt32(buf); status = BufferIO::ReadInt32(buf);
if(flag & QUERY_IS_PUBLIC)
is_public = BufferIO::ReadInt32(buf);
if(flag & QUERY_LSCALE) { if(flag & QUERY_LSCALE) {
lscale = BufferIO::ReadInt32(buf); lscale = BufferIO::ReadInt32(buf);
myswprintf(lscstring, L"%d", lscale); myswprintf(lscstring, L"%d", lscale);
......
...@@ -89,8 +89,7 @@ public: ...@@ -89,8 +89,7 @@ public:
u8 location; u8 location;
u8 sequence; u8 sequence;
u8 position; u8 position;
u8 is_disabled; u32 status;
u8 is_public;
u8 cHint; u8 cHint;
u32 chValue; u32 chValue;
u32 opParam; u32 opParam;
......
...@@ -382,7 +382,8 @@ void Game::DrawCard(ClientCard* pcard) { ...@@ -382,7 +382,8 @@ void Game::DrawCard(ClientCard* pcard) {
matManager.mTexture.setTexture(0, imageManager.tChainTarget); matManager.mTexture.setTexture(0, imageManager.tChainTarget);
driver->setMaterial(matManager.mTexture); driver->setMaterial(matManager.mTexture);
driver->drawVertexPrimitiveList(matManager.vSymbol, 4, matManager.iRectangle, 2); driver->drawVertexPrimitiveList(matManager.vSymbol, 4, matManager.iRectangle, 2);
} else if(pcard->is_disabled && (pcard->location & LOCATION_ONFIELD) && (pcard->position & POS_FACEUP)) { } else if((pcard->status & (STATUS_DISABLED | STATUS_FORBIDDEN))
&& (pcard->location & LOCATION_ONFIELD) && (pcard->position & POS_FACEUP)) {
matManager.mTexture.setTexture(0, imageManager.tNegated); matManager.mTexture.setTexture(0, imageManager.tNegated);
driver->setMaterial(matManager.mTexture); driver->setMaterial(matManager.mTexture);
driver->drawVertexPrimitiveList(matManager.vNegate, 4, matManager.iRectangle, 2); driver->drawVertexPrimitiveList(matManager.vNegate, 4, matManager.iRectangle, 2);
......
...@@ -2234,6 +2234,8 @@ void ClientField::ShowCardInfoInList(ClientCard* pcard, irr::gui::IGUIElement* e ...@@ -2234,6 +2234,8 @@ void ClientField::ShowCardInfoInList(ClientCard* pcard, irr::gui::IGUIElement* e
if(pcard->code) { if(pcard->code) {
str.append(dataManager.GetName(pcard->code)); str.append(dataManager.GetName(pcard->code));
} }
if(pcard->status & STATUS_PROC_COMPLETE)
str.append(L"\n").append(dataManager.GetSysString(218));
for(size_t i = 0; i < chains.size(); ++i) { for(size_t i = 0; i < chains.size(); ++i) {
wchar_t formatBuffer[2048]; wchar_t formatBuffer[2048];
auto chit = chains[i]; auto chit = chains[i];
......
...@@ -1487,18 +1487,17 @@ void SingleDuel::RefreshHand(int player, int flag, int use_cache) { ...@@ -1487,18 +1487,17 @@ void SingleDuel::RefreshHand(int player, int flag, int use_cache) {
BufferIO::WriteInt8(qbuf, MSG_UPDATE_DATA); BufferIO::WriteInt8(qbuf, MSG_UPDATE_DATA);
BufferIO::WriteInt8(qbuf, player); BufferIO::WriteInt8(qbuf, player);
BufferIO::WriteInt8(qbuf, LOCATION_HAND); BufferIO::WriteInt8(qbuf, LOCATION_HAND);
int len = query_field_card(pduel, player, LOCATION_HAND, flag | QUERY_IS_PUBLIC, (unsigned char*)qbuf, use_cache); int len = query_field_card(pduel, player, LOCATION_HAND, flag | QUERY_POSITION, (unsigned char*)qbuf, use_cache);
NetServer::SendBufferToPlayer(players[player], STOC_GAME_MSG, query_buffer, len + 3); NetServer::SendBufferToPlayer(players[player], STOC_GAME_MSG, query_buffer, len + 3);
int qlen = 0; int qlen = 0;
while(qlen < len) { while(qlen < len) {
int slen = BufferIO::ReadInt32(qbuf); int slen = BufferIO::ReadInt32(qbuf);
int qflag = *(int*)qbuf; int qflag = *(int*)qbuf;
int pos = slen - 8; int offset = 8;
if(qflag & QUERY_LSCALE) if(!(qflag & QUERY_CODE))
pos -= 4; offset -= 4;
if(qflag & QUERY_RSCALE) unsigned position = ((*(int*)(qbuf + offset)) >> 24) & 0xff;
pos -= 4; if(!(position & POS_FACEUP))
if(!qbuf[pos])
memset(qbuf, 0, slen - 4); memset(qbuf, 0, slen - 4);
qbuf += slen - 4; qbuf += slen - 4;
qlen += slen; qlen += slen;
......
...@@ -1583,18 +1583,17 @@ void TagDuel::RefreshHand(int player, int flag, int use_cache) { ...@@ -1583,18 +1583,17 @@ void TagDuel::RefreshHand(int player, int flag, int use_cache) {
BufferIO::WriteInt8(qbuf, MSG_UPDATE_DATA); BufferIO::WriteInt8(qbuf, MSG_UPDATE_DATA);
BufferIO::WriteInt8(qbuf, player); BufferIO::WriteInt8(qbuf, player);
BufferIO::WriteInt8(qbuf, LOCATION_HAND); BufferIO::WriteInt8(qbuf, LOCATION_HAND);
int len = query_field_card(pduel, player, LOCATION_HAND, flag | QUERY_IS_PUBLIC, (unsigned char*)qbuf, use_cache); int len = query_field_card(pduel, player, LOCATION_HAND, flag | QUERY_POSITION, (unsigned char*)qbuf, use_cache);
NetServer::SendBufferToPlayer(cur_player[player], STOC_GAME_MSG, query_buffer, len + 3); NetServer::SendBufferToPlayer(cur_player[player], STOC_GAME_MSG, query_buffer, len + 3);
int qlen = 0; int qlen = 0;
while(qlen < len) { while(qlen < len) {
int slen = BufferIO::ReadInt32(qbuf); int slen = BufferIO::ReadInt32(qbuf);
int qflag = *(int*)qbuf; int qflag = *(int*)qbuf;
int pos = slen - 8; int offset = 8;
if(qflag & QUERY_LSCALE) if(!(qflag & QUERY_CODE))
pos -= 4; offset -= 4;
if(qflag & QUERY_RSCALE) unsigned position = ((*(int*)(qbuf + offset)) >> 24) & 0xff;
pos -= 4; if(!(position & POS_FACEUP))
if(!qbuf[pos])
memset(qbuf, 0, slen - 4); memset(qbuf, 0, slen - 4);
qbuf += slen - 4; qbuf += slen - 4;
qlen += slen; qlen += slen;
......
...@@ -70,6 +70,7 @@ ...@@ -70,6 +70,7 @@
!system 215 已选择数字: !system 215 已选择数字:
!system 216 在连锁%d发动 !system 216 在连锁%d发动
!system 217 被连锁%d的[%ls]选择为对象 !system 217 被连锁%d的[%ls]选择为对象
!system 218 已用正规方法特殊召唤
!system 500 请选择要解放的卡 !system 500 请选择要解放的卡
!system 501 请选择要丢弃的手卡 !system 501 请选择要丢弃的手卡
!system 502 请选择要破坏的卡 !system 502 请选择要破坏的卡
......
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