Commit d5024bbf authored by edo9300's avatar edo9300

added graphic suppor for both level and rank

parent e86c0b0b
...@@ -40,6 +40,7 @@ ClientCard::ClientCard() { ...@@ -40,6 +40,7 @@ ClientCard::ClientCard() {
atkstring[0] = 0; atkstring[0] = 0;
defstring[0] = 0; defstring[0] = 0;
lvstring[0] = 0; lvstring[0] = 0;
rkstring[0] = 0;
rscstring[0] = 0; rscstring[0] = 0;
lscstring[0] = 0; lscstring[0] = 0;
overlayTarget = 0; overlayTarget = 0;
...@@ -82,9 +83,9 @@ void ClientCard::UpdateInfo(char* buf) { ...@@ -82,9 +83,9 @@ void ClientCard::UpdateInfo(char* buf) {
} }
if(flag & QUERY_RANK) { if(flag & QUERY_RANK) {
pdata = BufferIO::ReadInt32(buf); pdata = BufferIO::ReadInt32(buf);
if(pdata && rank != (unsigned int)pdata) { if(rank != (unsigned int)pdata) {
rank = pdata; rank = pdata;
myswprintf(lvstring, L"R%d", rank); myswprintf(rkstring, L"R%d", rank);
} }
} }
if(flag & QUERY_ATTRIBUTE) if(flag & QUERY_ATTRIBUTE)
......
...@@ -102,6 +102,7 @@ public: ...@@ -102,6 +102,7 @@ public:
wchar_t atkstring[16]; wchar_t atkstring[16];
wchar_t defstring[16]; wchar_t defstring[16];
wchar_t lvstring[16]; wchar_t lvstring[16];
wchar_t rkstring[16];
wchar_t lscstring[16]; wchar_t lscstring[16];
wchar_t rscstring[16]; wchar_t rscstring[16];
......
...@@ -412,6 +412,7 @@ void Game::DrawMisc() { ...@@ -412,6 +412,7 @@ void Game::DrawMisc() {
pcard = dField.mzone[0][i]; pcard = dField.mzone[0][i];
if(pcard && pcard->code != 0) { if(pcard && pcard->code != 0) {
int m = 493 + i * 85; int m = 493 + i * 85;
int m2 = 473 + i * 80;
adFont->draw(L"/", recti(m - 4, 416, m + 4, 436), 0xff000000, true, false, 0); adFont->draw(L"/", recti(m - 4, 416, m + 4, 436), 0xff000000, true, false, 0);
adFont->draw(L"/", recti(m - 3, 417, m + 5, 437), 0xffffffff, true, false, 0); adFont->draw(L"/", recti(m - 3, 417, m + 5, 437), 0xffffffff, true, false, 0);
int w = adFont->getDimension(pcard->atkstring).Width; int w = adFont->getDimension(pcard->atkstring).Width;
...@@ -422,15 +423,28 @@ void Game::DrawMisc() { ...@@ -422,15 +423,28 @@ void Game::DrawMisc() {
adFont->draw(pcard->defstring, recti(m + 4, 416, m + 4 + w, 436), 0xff000000, false, false, 0); adFont->draw(pcard->defstring, recti(m + 4, 416, m + 4 + w, 436), 0xff000000, false, false, 0);
adFont->draw(pcard->defstring, recti(m + 5, 417, m + 5 + w, 437), adFont->draw(pcard->defstring, recti(m + 5, 417, m + 5 + w, 437),
pcard->defense > pcard->base_defense ? 0xffffff00 : pcard->defense < pcard->base_defense ? 0xffff2090 : 0xffffffff , false, false, 0); pcard->defense > pcard->base_defense ? 0xffffff00 : pcard->defense < pcard->base_defense ? 0xffff2090 : 0xffffffff , false, false, 0);
adFont->draw(pcard->lvstring, recti(473 + i * 80, 356, 475 + i * 80, 366), 0xff000000, false, false, 0); if (pcard->level!=0 && pcard->rank!=0) {
adFont->draw(pcard->lvstring, recti(474 + i * 80, 357, 476 + i * 80, 367), adFont->draw(L"/", recti(m2 - 4, 356, m2 + 4, 366), 0xff000000, true, false, 0);
(pcard->type & TYPE_XYZ) ? 0xffff80ff : (pcard->type & TYPE_TUNER) ? 0xffffff00 : 0xffffffff, false, false, 0); adFont->draw(L"/", recti(m2 - 3, 357, m2 + 5, 367), 0xffffffff, true, false, 0);
int w2 = adFont->getDimension(pcard->lvstring).Width;
adFont->draw(pcard->lvstring, recti(m2 - 5 - w2, 356, m - 5, 366), 0xff000000, false, false, 0);
adFont->draw(pcard->lvstring, recti(m2 - 4 - w2, 357, m - 5, 367), (pcard->type & TYPE_TUNER) ? 0xffffff00 : 0xffffffff, false, false, 0);
adFont->draw(pcard->rkstring, recti(m2 + 4, 356, m2 + 4 + w2, 366), 0xff000000, false, false, 0);
adFont->draw(pcard->rkstring, recti(m2 + 5, 357, m2 + 5 + w2, 367), 0xffff80ff, false, false, 0);
}else if (pcard->rank != 0) {
adFont->draw(pcard->rkstring, recti(473 + i * 80, 356, 475 + i * 80, 366), 0xff000000, false, false, 0);
adFont->draw(pcard->rkstring, recti(474 + i * 80, 357, 476 + i * 80, 367),0xffff80ff, false, false, 0);
}else if (pcard->level != 0) {
adFont->draw(pcard->lvstring, recti(473 + i * 80, 356, 475 + i * 80, 366), 0xff000000, false, false, 0);
adFont->draw(pcard->lvstring, recti(474 + i * 80, 357, 476 + i * 80, 367),(pcard->type & TYPE_TUNER) ? 0xffffff00 : 0xffffffff, false, false, 0);
}
} }
} }
for(int i = 0; i < 5; ++i) { for(int i = 0; i < 5; ++i) {
pcard = dField.mzone[1][i]; pcard = dField.mzone[1][i];
if(pcard && (pcard->position & POS_FACEUP)) { if(pcard && (pcard->position & POS_FACEUP)) {
int m = 803 - i * 68; int m = 803 - i * 68;
int m2 = 779 - i * 71;
adFont->draw(L"/", recti(m - 4, 235, m + 4, 255), 0xff000000, true, false, 0); adFont->draw(L"/", recti(m - 4, 235, m + 4, 255), 0xff000000, true, false, 0);
adFont->draw(L"/", recti(m - 3, 236, m + 5, 256), 0xffffffff, true, false, 0); adFont->draw(L"/", recti(m - 3, 236, m + 5, 256), 0xffffffff, true, false, 0);
int w = adFont->getDimension(pcard->atkstring).Width; int w = adFont->getDimension(pcard->atkstring).Width;
...@@ -441,9 +455,21 @@ void Game::DrawMisc() { ...@@ -441,9 +455,21 @@ void Game::DrawMisc() {
adFont->draw(pcard->defstring, recti(m + 4, 235, m + 4 + w, 255), 0xff000000, false, false, 0); adFont->draw(pcard->defstring, recti(m + 4, 235, m + 4 + w, 255), 0xff000000, false, false, 0);
adFont->draw(pcard->defstring, recti(m + 5, 236, m + 5 + w, 256), adFont->draw(pcard->defstring, recti(m + 5, 236, m + 5 + w, 256),
pcard->defense > pcard->base_defense ? 0xffffff00 : pcard->defense < pcard->base_defense ? 0xffff2090 : 0xffffffff , false, false, 0); pcard->defense > pcard->base_defense ? 0xffffff00 : pcard->defense < pcard->base_defense ? 0xffff2090 : 0xffffffff , false, false, 0);
adFont->draw(pcard->lvstring, recti(779 - i * 71, 272, 800 - i * 71, 292), 0xff000000, false, false, 0); if (pcard->level!=0 && pcard->rank!=0) {
adFont->draw(pcard->lvstring, recti(780 - i * 71, 273, 800 - i * 71, 293), adFont->draw(L"/", recti(m2 - 4, 272, m2 + 4, 292), 0xff000000, true, false, 0);
(pcard->type & TYPE_XYZ) ? 0xffff80ff : (pcard->type & TYPE_TUNER) ? 0xffffff00 : 0xffffffff, false, false, 0); adFont->draw(L"/", recti(m2 - 3, 273, m2 + 5, 293), 0xffffffff, true, false, 0);
int w2 = adFont->getDimension(pcard->lvstring).Width;
adFont->draw(pcard->lvstring, recti(m2 - 5 - w2, 272, m - 5, 292), 0xff000000, false, false, 0);
adFont->draw(pcard->lvstring, recti(m2 - 4 - w2, 273, m - 5, 293), (pcard->type & TYPE_TUNER) ? 0xffffff00 : 0xffffffff, false, false, 0);
adFont->draw(pcard->rkstring, recti(m2 + 4, 272, m2 + 4 + w2, 292), 0xff000000, false, false, 0);
adFont->draw(pcard->rkstring, recti(m2 + 5, 273, m2 + 5 + w2, 293), 0xffff80ff, false, false, 0);
}else if (pcard->rank != 0) {
adFont->draw(pcard->rkstring, recti(473 + i * 80, 272, 475 + i * 80, 292), 0xff000000, false, false, 0);
adFont->draw(pcard->rkstring, recti(474 + i * 80, 273, 476 + i * 80, 293),0xffff80ff, false, false, 0);
}else if (pcard->level != 0) {
adFont->draw(pcard->lvstring, recti(473 + i * 80, 272, 475 + i * 80, 292), 0xff000000, false, false, 0);
adFont->draw(pcard->lvstring, recti(474 + i * 80, 273, 476 + i * 80, 293),(pcard->type & TYPE_TUNER) ? 0xffffff00 : 0xffffffff, false, false, 0);
}
} }
} }
pcard = dField.szone[0][6]; pcard = dField.szone[0][6];
......
...@@ -1737,8 +1737,12 @@ bool ClientField::OnEvent(const irr::SEvent& event) { ...@@ -1737,8 +1737,12 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
myswprintf(formatBuffer, L"\n%ls/%ls", mcard->atkstring, mcard->defstring); myswprintf(formatBuffer, L"\n%ls/%ls", mcard->atkstring, mcard->defstring);
str.append(formatBuffer); str.append(formatBuffer);
int form = 0x2605; int form = 0x2605;
if (mcard->rank && mcard->level){
myswprintf(formatBuffer, L"\n%c%d/%c%d %ls/%ls", form, mcard->level, form+1, mcard->rank, dataManager.FormatRace(mcard->race), dataManager.FormatAttribute(mcard->attribute));
}else{
if (mcard->rank) ++form; if (mcard->rank) ++form;
myswprintf(formatBuffer, L"\n%c%d %ls/%ls", form, (mcard->level ? mcard->level : mcard->rank), dataManager.FormatRace(mcard->race), dataManager.FormatAttribute(mcard->attribute)); myswprintf(formatBuffer, L"\n%c%d %ls/%ls", form, (mcard->level ? mcard->level : mcard->rank), dataManager.FormatRace(mcard->race), dataManager.FormatAttribute(mcard->attribute));
}
str.append(formatBuffer); str.append(formatBuffer);
if(mcard->location == LOCATION_HAND && (mcard->type & TYPE_PENDULUM)) { if(mcard->location == LOCATION_HAND && (mcard->type & TYPE_PENDULUM)) {
myswprintf(formatBuffer, L"\n%d/%d", mcard->lscale, mcard->rscale); myswprintf(formatBuffer, L"\n%d/%d", mcard->lscale, mcard->rscale);
......
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