Commit 0f5444d2 authored by VanillaSalt's avatar VanillaSalt

update vField

parent 89b00401
...@@ -15,6 +15,9 @@ ClientField::ClientField() { ...@@ -15,6 +15,9 @@ ClientField::ClientField() {
hovered_card = 0; hovered_card = 0;
clicked_card = 0; clicked_card = 0;
highlighting_card = 0; highlighting_card = 0;
hovered_controler = 0;
hovered_location = 0;
hovered_sequence = 0;
deck_act = false; deck_act = false;
grave_act = false; grave_act = false;
remove_act = false; remove_act = false;
...@@ -716,15 +719,9 @@ void ClientField::GetChainLocation(int controler, int location, int sequence, ir ...@@ -716,15 +719,9 @@ void ClientField::GetChainLocation(int controler, int location, int sequence, ir
t->Z = 0; t->Z = 0;
switch((location & 0x7f)) { switch((location & 0x7f)) {
case LOCATION_DECK: { case LOCATION_DECK: {
if (controler == 0) { t->X = (matManager.vFieldDeck[controler][0].Pos.X + matManager.vFieldDeck[controler][1].Pos.X) / 2;
t->X = (matManager.vFields[0].Pos.X + matManager.vFields[1].Pos.X) / 2; t->Y = (matManager.vFieldDeck[controler][0].Pos.Y + matManager.vFieldDeck[controler][2].Pos.Y) / 2;
t->Y = (matManager.vFields[0].Pos.Y + matManager.vFields[2].Pos.Y) / 2; t->Z = deck[controler].size() * 0.01f + 0.03f;
t->Z = deck[controler].size() * 0.01f + 0.03f;
} else {
t->X = (matManager.vFields[68].Pos.X + matManager.vFields[69].Pos.X) / 2;
t->Y = (matManager.vFields[68].Pos.Y + matManager.vFields[70].Pos.Y) / 2;
t->Z = deck[controler].size() * 0.01f + 0.03f;
}
break; break;
} }
case LOCATION_HAND: { case LOCATION_HAND: {
...@@ -740,91 +737,33 @@ void ClientField::GetChainLocation(int controler, int location, int sequence, ir ...@@ -740,91 +737,33 @@ void ClientField::GetChainLocation(int controler, int location, int sequence, ir
break; break;
} }
case LOCATION_MZONE: { case LOCATION_MZONE: {
if (controler == 0) { t->X = (matManager.vFieldMzone[controler][sequence][0].Pos.X + matManager.vFieldMzone[controler][sequence][1].Pos.X) / 2;
t->X = (matManager.vFields[16].Pos.X + matManager.vFields[17].Pos.X) / 2 + 1.1f * sequence; t->Y = (matManager.vFieldMzone[controler][sequence][0].Pos.Y + matManager.vFieldMzone[controler][sequence][2].Pos.Y) / 2;
t->Y = (matManager.vFields[16].Pos.Y + matManager.vFields[18].Pos.Y) / 2; t->Z = 0.03f;
t->Z = 0.03f;
} else {
t->X = (matManager.vFields[84].Pos.X + matManager.vFields[85].Pos.X) / 2 - 1.1f * sequence;
t->Y = (matManager.vFields[84].Pos.Y + matManager.vFields[86].Pos.Y) / 2;
t->Z = 0.03f;
}
break; break;
} }
case LOCATION_SZONE: { case LOCATION_SZONE: {
if (controler == 0) { t->X = (matManager.vFieldSzone[controler][sequence][0].Pos.X + matManager.vFieldSzone[controler][sequence][1].Pos.X) / 2;
if (sequence <= 4) { t->Y = (matManager.vFieldSzone[controler][sequence][0].Pos.Y + matManager.vFieldSzone[controler][sequence][2].Pos.Y) / 2;
t->X = (matManager.vFields[36].Pos.X + matManager.vFields[37].Pos.X) / 2 + 1.1f * sequence; t->Z = 0.03f;
t->Y = (matManager.vFields[36].Pos.Y + matManager.vFields[38].Pos.Y) / 2;
t->Z = 0.03f;
} else if (sequence == 5) {
t->X = (matManager.vFields[56].Pos.X + matManager.vFields[57].Pos.X) / 2;
t->Y = (matManager.vFields[56].Pos.Y + matManager.vFields[58].Pos.Y) / 2;
t->Z = 0.03f;
} else if (sequence == 6) {
t->X = (matManager.vFields[60].Pos.X + matManager.vFields[61].Pos.X) / 2;
t->Y = (matManager.vFields[60].Pos.Y + matManager.vFields[62].Pos.Y) / 2;
t->Z = 0.03f;
} else {
t->X = (matManager.vFields[64].Pos.X + matManager.vFields[65].Pos.X) / 2;
t->Y = (matManager.vFields[64].Pos.Y + matManager.vFields[66].Pos.Y) / 2;
t->Z = 0.03f;
}
} else {
if (sequence <= 4) {
t->X = (matManager.vFields[104].Pos.X + matManager.vFields[105].Pos.X) / 2 - 1.1f * sequence;
t->Y = (matManager.vFields[104].Pos.Y + matManager.vFields[106].Pos.Y) / 2;
t->Z = 0.03f;
} else if (sequence == 5) {
t->X = (matManager.vFields[124].Pos.X + matManager.vFields[125].Pos.X) / 2;
t->Y = (matManager.vFields[124].Pos.Y + matManager.vFields[126].Pos.Y) / 2;
t->Z = 0.03f;
} else if (sequence == 6) {
t->X = (matManager.vFields[128].Pos.X + matManager.vFields[129].Pos.X) / 2;
t->Y = (matManager.vFields[128].Pos.Y + matManager.vFields[130].Pos.Y) / 2;
t->Z = 0.03f;
} else {
t->X = (matManager.vFields[132].Pos.X + matManager.vFields[133].Pos.X) / 2;
t->Y = (matManager.vFields[132].Pos.Y + matManager.vFields[134].Pos.Y) / 2;
t->Z = 0.03f;
}
}
break; break;
} }
case LOCATION_GRAVE: { case LOCATION_GRAVE: {
if (controler == 0) { t->X = (matManager.vFieldGrave[controler][0].Pos.X + matManager.vFieldGrave[controler][1].Pos.X) / 2;
t->X = (matManager.vFields[4].Pos.X + matManager.vFields[5].Pos.X) / 2; t->Y = (matManager.vFieldGrave[controler][0].Pos.Y + matManager.vFieldGrave[controler][2].Pos.Y) / 2;
t->Y = (matManager.vFields[4].Pos.Y + matManager.vFields[6].Pos.Y) / 2; t->Z = grave[controler].size() * 0.01f + 0.03f;
t->Z = grave[controler].size() * 0.01f + 0.03f;
} else {
t->X = (matManager.vFields[72].Pos.X + matManager.vFields[73].Pos.X) / 2;
t->Y = (matManager.vFields[72].Pos.Y + matManager.vFields[74].Pos.Y) / 2;
t->Z = grave[controler].size() * 0.01f + 0.03f;
}
break; break;
} }
case LOCATION_REMOVED: { case LOCATION_REMOVED: {
if (controler == 0) { t->X = (matManager.vFieldRemove[controler][0].Pos.X + matManager.vFieldRemove[controler][1].Pos.X) / 2;
t->X = (matManager.vFields[12].Pos.X + matManager.vFields[13].Pos.X) / 2; t->Y = (matManager.vFieldRemove[controler][0].Pos.Y + matManager.vFieldRemove[controler][2].Pos.Y) / 2;
t->Y = (matManager.vFields[12].Pos.Y + matManager.vFields[14].Pos.Y) / 2; t->Z = remove[controler].size() * 0.01f + 0.03f;
t->Z = remove[controler].size() * 0.01f + 0.03f;
} else {
t->X = (matManager.vFields[80].Pos.X + matManager.vFields[81].Pos.X) / 2;
t->Y = (matManager.vFields[80].Pos.Y + matManager.vFields[82].Pos.Y) / 2;
t->Z = remove[controler].size() * 0.01f + 0.03f;
}
break; break;
} }
case LOCATION_EXTRA: { case LOCATION_EXTRA: {
if (controler == 0) { t->X = (matManager.vFieldExtra[controler][0].Pos.X + matManager.vFieldExtra[controler][1].Pos.X) / 2;
t->X = (matManager.vFields[8].Pos.X + matManager.vFields[9].Pos.X) / 2; t->Y = (matManager.vFieldExtra[controler][0].Pos.Y + matManager.vFieldExtra[controler][2].Pos.Y) / 2;
t->Y = (matManager.vFields[8].Pos.Y + matManager.vFields[10].Pos.Y) / 2; t->Z = extra[controler].size() * 0.01f + 0.03f;
t->Z = extra[controler].size() * 0.01f + 0.03f;
} else {
t->X = (matManager.vFields[76].Pos.X + matManager.vFields[77].Pos.X) / 2;
t->Y = (matManager.vFields[76].Pos.Y + matManager.vFields[78].Pos.Y) / 2;
t->Z = extra[controler].size() * 0.01f + 0.03f;
}
break; break;
} }
} }
...@@ -835,10 +774,10 @@ void ClientField::GetCardLocation(ClientCard* pcard, irr::core::vector3df* t, ir ...@@ -835,10 +774,10 @@ void ClientField::GetCardLocation(ClientCard* pcard, irr::core::vector3df* t, ir
int location = pcard->location; int location = pcard->location;
switch (location) { switch (location) {
case LOCATION_DECK: { case LOCATION_DECK: {
t->X = (matManager.vFieldDeck[controler][0].Pos.X + matManager.vFieldDeck[controler][1].Pos.X) / 2;
t->Y = (matManager.vFieldDeck[controler][0].Pos.Y + matManager.vFieldDeck[controler][2].Pos.Y) / 2;
t->Z = 0.01f + 0.01f * sequence;
if (controler == 0) { if (controler == 0) {
t->X = (matManager.vFields[0].Pos.X + matManager.vFields[1].Pos.X) / 2;
t->Y = (matManager.vFields[0].Pos.Y + matManager.vFields[2].Pos.Y) / 2;
t->Z = 0.01f + 0.01f * sequence;
if(deck_reversed == pcard->is_reversed) { if(deck_reversed == pcard->is_reversed) {
r->X = 0.0f; r->X = 0.0f;
r->Y = 3.1415926f; r->Y = 3.1415926f;
...@@ -849,9 +788,6 @@ void ClientField::GetCardLocation(ClientCard* pcard, irr::core::vector3df* t, ir ...@@ -849,9 +788,6 @@ void ClientField::GetCardLocation(ClientCard* pcard, irr::core::vector3df* t, ir
r->Z = 0.0f; r->Z = 0.0f;
} }
} else { } else {
t->X = (matManager.vFields[68].Pos.X + matManager.vFields[69].Pos.X) / 2;
t->Y = (matManager.vFields[68].Pos.Y + matManager.vFields[70].Pos.Y) / 2;
t->Z = 0.01f + 0.01f * sequence;
if(deck_reversed == pcard->is_reversed) { if(deck_reversed == pcard->is_reversed) {
r->X = 0.0f; r->X = 0.0f;
r->Y = 3.1415926f; r->Y = 3.1415926f;
...@@ -913,10 +849,10 @@ void ClientField::GetCardLocation(ClientCard* pcard, irr::core::vector3df* t, ir ...@@ -913,10 +849,10 @@ void ClientField::GetCardLocation(ClientCard* pcard, irr::core::vector3df* t, ir
break; break;
} }
case LOCATION_MZONE: { case LOCATION_MZONE: {
t->X = (matManager.vFieldMzone[controler][sequence][0].Pos.X + matManager.vFieldMzone[controler][sequence][1].Pos.X) / 2;
t->Y = (matManager.vFieldMzone[controler][sequence][0].Pos.Y + matManager.vFieldMzone[controler][sequence][2].Pos.Y) / 2;
t->Z = 0.01f;
if (controler == 0) { if (controler == 0) {
t->X = (matManager.vFields[16].Pos.X + matManager.vFields[17].Pos.X) / 2 + 1.1f * sequence;
t->Y = (matManager.vFields[16].Pos.Y + matManager.vFields[18].Pos.Y) / 2;
t->Z = 0.01f;
if (pcard->position & POS_DEFENSE) { if (pcard->position & POS_DEFENSE) {
r->X = 0.0f; r->X = 0.0f;
r->Z = -3.1415926f / 2.0f; r->Z = -3.1415926f / 2.0f;
...@@ -931,9 +867,6 @@ void ClientField::GetCardLocation(ClientCard* pcard, irr::core::vector3df* t, ir ...@@ -931,9 +867,6 @@ void ClientField::GetCardLocation(ClientCard* pcard, irr::core::vector3df* t, ir
else r->Y = 0.0f; else r->Y = 0.0f;
} }
} else { } else {
t->X = (matManager.vFields[84].Pos.X + matManager.vFields[85].Pos.X) / 2 - 1.1f * sequence;
t->Y = (matManager.vFields[84].Pos.Y + matManager.vFields[86].Pos.Y) / 2;
t->Z = 0.01f;
if (pcard->position & POS_DEFENSE) { if (pcard->position & POS_DEFENSE) {
r->X = 0.0f; r->X = 0.0f;
r->Z = 3.1415926f / 2.0f; r->Z = 3.1415926f / 2.0f;
...@@ -951,47 +884,16 @@ void ClientField::GetCardLocation(ClientCard* pcard, irr::core::vector3df* t, ir ...@@ -951,47 +884,16 @@ void ClientField::GetCardLocation(ClientCard* pcard, irr::core::vector3df* t, ir
break; break;
} }
case LOCATION_SZONE: { case LOCATION_SZONE: {
t->X = (matManager.vFieldSzone[controler][sequence][0].Pos.X + matManager.vFieldSzone[controler][sequence][1].Pos.X) / 2;
t->Y = (matManager.vFieldSzone[controler][sequence][0].Pos.Y + matManager.vFieldSzone[controler][sequence][2].Pos.Y) / 2;
t->Z = 0.01f;
if (controler == 0) { if (controler == 0) {
if (sequence <= 4) {
t->X = (matManager.vFields[36].Pos.X + matManager.vFields[37].Pos.X) / 2 + 1.1f * sequence;
t->Y = (matManager.vFields[36].Pos.Y + matManager.vFields[38].Pos.Y) / 2;
t->Z = 0.01f;
} else if (sequence == 5) {
t->X = (matManager.vFields[56].Pos.X + matManager.vFields[57].Pos.X) / 2;
t->Y = (matManager.vFields[56].Pos.Y + matManager.vFields[58].Pos.Y) / 2;
t->Z = 0.01f;
} else if (sequence == 6) {
t->X = (matManager.vFields[60].Pos.X + matManager.vFields[61].Pos.X) / 2;
t->Y = (matManager.vFields[60].Pos.Y + matManager.vFields[62].Pos.Y) / 2;
t->Z = 0.01f;
} else {
t->X = (matManager.vFields[64].Pos.X + matManager.vFields[65].Pos.X) / 2;
t->Y = (matManager.vFields[64].Pos.Y + matManager.vFields[66].Pos.Y) / 2;
t->Z = 0.01f;
}
r->X = 0.0f; r->X = 0.0f;
r->Z = 0.0f; r->Z = 0.0f;
if (pcard->position & POS_FACEDOWN) if (pcard->position & POS_FACEDOWN)
r->Y = 3.1415926f; r->Y = 3.1415926f;
else r->Y = 0.0f; else r->Y = 0.0f;
} else { } else {
if (sequence <= 4) {
t->X = (matManager.vFields[104].Pos.X + matManager.vFields[105].Pos.X) / 2 - 1.1f * sequence;
t->Y = (matManager.vFields[104].Pos.Y + matManager.vFields[106].Pos.Y) / 2;
t->Z = 0.01f;
} else if (sequence == 5) {
t->X = (matManager.vFields[124].Pos.X + matManager.vFields[125].Pos.X) / 2;
t->Y = (matManager.vFields[124].Pos.Y + matManager.vFields[126].Pos.Y) / 2;
t->Z = 0.01f;
} else if (sequence == 6) {
t->X = (matManager.vFields[128].Pos.X + matManager.vFields[129].Pos.X) / 2;
t->Y = (matManager.vFields[128].Pos.Y + matManager.vFields[130].Pos.Y) / 2;
t->Z = 0.01f;
} else {
t->X = (matManager.vFields[132].Pos.X + matManager.vFields[133].Pos.X) / 2;
t->Y = (matManager.vFields[132].Pos.Y + matManager.vFields[134].Pos.Y) / 2;
t->Z = 0.01f;
}
r->X = 0.0f; r->X = 0.0f;
r->Z = 3.1415926f; r->Z = 3.1415926f;
if (pcard->position & POS_FACEDOWN) if (pcard->position & POS_FACEDOWN)
...@@ -1001,17 +903,14 @@ void ClientField::GetCardLocation(ClientCard* pcard, irr::core::vector3df* t, ir ...@@ -1001,17 +903,14 @@ void ClientField::GetCardLocation(ClientCard* pcard, irr::core::vector3df* t, ir
break; break;
} }
case LOCATION_GRAVE: { case LOCATION_GRAVE: {
t->X = (matManager.vFieldGrave[controler][0].Pos.X + matManager.vFieldGrave[controler][1].Pos.X) / 2;
t->Y = (matManager.vFieldGrave[controler][0].Pos.Y + matManager.vFieldGrave[controler][2].Pos.Y) / 2;
t->Z = 0.01f + 0.01f * sequence;
if (controler == 0) { if (controler == 0) {
t->X = (matManager.vFields[4].Pos.X + matManager.vFields[5].Pos.X) / 2;
t->Y = (matManager.vFields[4].Pos.Y + matManager.vFields[6].Pos.Y) / 2;
t->Z = 0.01f + 0.01f * sequence;
r->X = 0.0f; r->X = 0.0f;
r->Y = 0.0f; r->Y = 0.0f;
r->Z = 0.0f; r->Z = 0.0f;
} else { } else {
t->X = (matManager.vFields[72].Pos.X + matManager.vFields[73].Pos.X) / 2;
t->Y = (matManager.vFields[72].Pos.Y + matManager.vFields[74].Pos.Y) / 2;
t->Z = 0.01f + 0.01f * sequence;
r->X = 0.0f; r->X = 0.0f;
r->Y = 0.0f; r->Y = 0.0f;
r->Z = 3.1415926f; r->Z = 3.1415926f;
...@@ -1019,10 +918,10 @@ void ClientField::GetCardLocation(ClientCard* pcard, irr::core::vector3df* t, ir ...@@ -1019,10 +918,10 @@ void ClientField::GetCardLocation(ClientCard* pcard, irr::core::vector3df* t, ir
break; break;
} }
case LOCATION_REMOVED: { case LOCATION_REMOVED: {
t->X = (matManager.vFieldRemove[controler][0].Pos.X + matManager.vFieldRemove[controler][1].Pos.X) / 2;
t->Y = (matManager.vFieldRemove[controler][0].Pos.Y + matManager.vFieldRemove[controler][2].Pos.Y) / 2;
t->Z = 0.01f + 0.01f * sequence;
if (controler == 0) { if (controler == 0) {
t->X = (matManager.vFields[12].Pos.X + matManager.vFields[13].Pos.X) / 2;
t->Y = (matManager.vFields[12].Pos.Y + matManager.vFields[14].Pos.Y) / 2;
t->Z = 0.01f + 0.01f * sequence;
if(pcard->position & POS_FACEUP) { if(pcard->position & POS_FACEUP) {
r->X = 0.0f; r->X = 0.0f;
r->Y = 0.0f; r->Y = 0.0f;
...@@ -1033,9 +932,6 @@ void ClientField::GetCardLocation(ClientCard* pcard, irr::core::vector3df* t, ir ...@@ -1033,9 +932,6 @@ void ClientField::GetCardLocation(ClientCard* pcard, irr::core::vector3df* t, ir
r->Z = 0.0f; r->Z = 0.0f;
} }
} else { } else {
t->X = (matManager.vFields[80].Pos.X + matManager.vFields[81].Pos.X) / 2;
t->Y = (matManager.vFields[80].Pos.Y + matManager.vFields[82].Pos.Y) / 2;
t->Z = 0.01f + 0.01f * sequence;
if(pcard->position & POS_FACEUP) { if(pcard->position & POS_FACEUP) {
r->X = 0.0f; r->X = 0.0f;
r->Y = 0.0f; r->Y = 0.0f;
...@@ -1049,19 +945,16 @@ void ClientField::GetCardLocation(ClientCard* pcard, irr::core::vector3df* t, ir ...@@ -1049,19 +945,16 @@ void ClientField::GetCardLocation(ClientCard* pcard, irr::core::vector3df* t, ir
break; break;
} }
case LOCATION_EXTRA: { case LOCATION_EXTRA: {
t->X = (matManager.vFieldExtra[controler][0].Pos.X + matManager.vFieldExtra[controler][1].Pos.X) / 2;
t->Y = (matManager.vFieldExtra[controler][0].Pos.Y + matManager.vFieldExtra[controler][2].Pos.Y) / 2;
t->Z = 0.01f + 0.01f * sequence;
if (controler == 0) { if (controler == 0) {
t->X = (matManager.vFields[8].Pos.X + matManager.vFields[9].Pos.X) / 2;
t->Y = (matManager.vFields[8].Pos.Y + matManager.vFields[10].Pos.Y) / 2;
t->Z = 0.01f + 0.01f * sequence;
r->X = 0.0f; r->X = 0.0f;
if(pcard->position & POS_FACEUP) if(pcard->position & POS_FACEUP)
r->Y = 0.0f; r->Y = 0.0f;
else r->Y = 3.1415926f; else r->Y = 3.1415926f;
r->Z = 0.0f; r->Z = 0.0f;
} else { } else {
t->X = (matManager.vFields[76].Pos.X + matManager.vFields[77].Pos.X) / 2;
t->Y = (matManager.vFields[76].Pos.Y + matManager.vFields[78].Pos.Y) / 2;
t->Z = 0.01f * sequence;
r->X = 0.0f; r->X = 0.0f;
if(pcard->position & POS_FACEUP) if(pcard->position & POS_FACEUP)
r->Y = 0.0f; r->Y = 0.0f;
...@@ -1076,15 +969,15 @@ void ClientField::GetCardLocation(ClientCard* pcard, irr::core::vector3df* t, ir ...@@ -1076,15 +969,15 @@ void ClientField::GetCardLocation(ClientCard* pcard, irr::core::vector3df* t, ir
} }
int oseq = pcard->overlayTarget->sequence; int oseq = pcard->overlayTarget->sequence;
if (pcard->overlayTarget->controler == 0) { if (pcard->overlayTarget->controler == 0) {
t->X = (matManager.vFields[16].Pos.X + matManager.vFields[17].Pos.X) / 2 + 1.1f * oseq - 0.12f + 0.06f * sequence; t->X = (matManager.vFieldMzone[0][oseq][0].Pos.X + matManager.vFieldMzone[0][oseq][1].Pos.X) / 2 - 0.12f + 0.06f * sequence;
t->Y = (matManager.vFields[16].Pos.Y + matManager.vFields[18].Pos.Y) / 2 + 0.05f; t->Y = (matManager.vFieldMzone[0][oseq][0].Pos.Y + matManager.vFieldMzone[0][oseq][2].Pos.Y) / 2 + 0.05f;
t->Z = 0.005f + pcard->sequence * 0.0001f; t->Z = 0.005f + pcard->sequence * 0.0001f;
r->X = 0.0f; r->X = 0.0f;
r->Y = 0.0f; r->Y = 0.0f;
r->Z = 0.0f; r->Z = 0.0f;
} else { } else {
t->X = (matManager.vFields[84].Pos.X + matManager.vFields[85].Pos.X) / 2 - 1.1f * oseq + 0.12f - 0.06f * sequence; t->X = (matManager.vFieldMzone[1][oseq][0].Pos.X + matManager.vFieldMzone[1][oseq][1].Pos.X) / 2 + 0.12f - 0.06f * sequence;
t->Y = (matManager.vFields[84].Pos.Y + matManager.vFields[86].Pos.Y) / 2 - 0.05f; t->Y = (matManager.vFieldMzone[1][oseq][0].Pos.Y + matManager.vFieldMzone[1][oseq][2].Pos.Y) / 2 - 0.05f;
t->Z = 0.005f + pcard->sequence * 0.0001f; t->Z = 0.005f + pcard->sequence * 0.0001f;
r->X = 0.0f; r->X = 0.0f;
r->Y = 0.0f; r->Y = 0.0f;
......
...@@ -108,22 +108,22 @@ void Game::DrawBackGround() { ...@@ -108,22 +108,22 @@ void Game::DrawBackGround() {
unsigned int filter = 0x1; unsigned int filter = 0x1;
for (int i = 0; i < 5; ++i, filter <<= 1) { for (int i = 0; i < 5; ++i, filter <<= 1) {
if (dField.selectable_field & filter) if (dField.selectable_field & filter)
DrawSelectionLine(&matManager.vFields[16 + i * 4], !(dField.selected_field & filter), 2, cv); DrawSelectionLine(matManager.vFieldMzone[0][i], !(dField.selected_field & filter), 2, cv);
} }
filter = 0x100; filter = 0x100;
for (int i = 0; i < 8; ++i, filter <<= 1) { for (int i = 0; i < 8; ++i, filter <<= 1) {
if (dField.selectable_field & filter) if (dField.selectable_field & filter)
DrawSelectionLine(&matManager.vFields[36 + i * 4], !(dField.selected_field & filter), 2, cv); DrawSelectionLine(matManager.vFieldSzone[0][i], !(dField.selected_field & filter), 2, cv);
} }
filter = 0x10000; filter = 0x10000;
for (int i = 0; i < 5; ++i, filter <<= 1) { for (int i = 0; i < 5; ++i, filter <<= 1) {
if (dField.selectable_field & filter) if (dField.selectable_field & filter)
DrawSelectionLine(&matManager.vFields[84 + i * 4], !(dField.selected_field & filter), 2, cv); DrawSelectionLine(matManager.vFieldMzone[1][i], !(dField.selected_field & filter), 2, cv);
} }
filter = 0x1000000; filter = 0x1000000;
for (int i = 0; i < 8; ++i, filter <<= 1) { for (int i = 0; i < 8; ++i, filter <<= 1) {
if (dField.selectable_field & filter) if (dField.selectable_field & filter)
DrawSelectionLine(&matManager.vFields[104 + i * 4], !(dField.selected_field & filter), 2, cv); DrawSelectionLine(matManager.vFieldSzone[1][i], !(dField.selected_field & filter), 2, cv);
} }
} }
//disabled field //disabled field
...@@ -132,50 +132,47 @@ void Game::DrawBackGround() { ...@@ -132,50 +132,47 @@ void Game::DrawBackGround() {
unsigned int filter = 0x1; unsigned int filter = 0x1;
for (int i = 0; i < 5; ++i, filter <<= 1) { for (int i = 0; i < 5; ++i, filter <<= 1) {
if (dField.disabled_field & filter) { if (dField.disabled_field & filter) {
driver->draw3DLine(matManager.vFields[16 + i * 4].Pos, matManager.vFields[16 + i * 4 + 3].Pos, 0xffffffff); driver->draw3DLine(matManager.vFieldMzone[0][i][0].Pos, matManager.vFieldMzone[0][i][3].Pos, 0xffffffff);
driver->draw3DLine(matManager.vFields[16 + i * 4 + 1].Pos, matManager.vFields[16 + i * 4 + 2].Pos, 0xffffffff); driver->draw3DLine(matManager.vFieldMzone[0][i][1].Pos, matManager.vFieldMzone[0][i][2].Pos, 0xffffffff);
} }
} }
filter = 0x100; filter = 0x100;
for (int i = 0; i < 8; ++i, filter <<= 1) { for (int i = 0; i < 8; ++i, filter <<= 1) {
if (dField.disabled_field & filter) { if (dField.disabled_field & filter) {
driver->draw3DLine(matManager.vFields[36 + i * 4].Pos, matManager.vFields[36 + i * 4 + 3].Pos, 0xffffffff); driver->draw3DLine(matManager.vFieldSzone[0][i][0].Pos, matManager.vFieldSzone[0][i][3].Pos, 0xffffffff);
driver->draw3DLine(matManager.vFields[36 + i * 4 + 1].Pos, matManager.vFields[36 + i * 4 + 2].Pos, 0xffffffff); driver->draw3DLine(matManager.vFieldSzone[0][i][1].Pos, matManager.vFieldSzone[0][i][2].Pos, 0xffffffff);
} }
} }
filter = 0x10000; filter = 0x10000;
for (int i = 0; i < 5; ++i, filter <<= 1) { for (int i = 0; i < 5; ++i, filter <<= 1) {
if (dField.disabled_field & filter) { if (dField.disabled_field & filter) {
driver->draw3DLine(matManager.vFields[84 + i * 4].Pos, matManager.vFields[84 + i * 4 + 3].Pos, 0xffffffff); driver->draw3DLine(matManager.vFieldMzone[1][i][0].Pos, matManager.vFieldMzone[1][i][3].Pos, 0xffffffff);
driver->draw3DLine(matManager.vFields[84 + i * 4 + 1].Pos, matManager.vFields[84 + i * 4 + 2].Pos, 0xffffffff); driver->draw3DLine(matManager.vFieldMzone[1][i][1].Pos, matManager.vFieldMzone[1][i][2].Pos, 0xffffffff);
} }
} }
filter = 0x1000000; filter = 0x1000000;
for (int i = 0; i < 8; ++i, filter <<= 1) { for (int i = 0; i < 8; ++i, filter <<= 1) {
if (dField.disabled_field & filter) { if (dField.disabled_field & filter) {
driver->draw3DLine(matManager.vFields[104 + i * 4].Pos, matManager.vFields[104 + i * 4 + 3].Pos, 0xffffffff); driver->draw3DLine(matManager.vFieldSzone[1][i][0].Pos, matManager.vFieldSzone[1][i][3].Pos, 0xffffffff);
driver->draw3DLine(matManager.vFields[104 + i * 4 + 1].Pos, matManager.vFields[104 + i * 4 + 2].Pos, 0xffffffff); driver->draw3DLine(matManager.vFieldSzone[1][i][1].Pos, matManager.vFieldSzone[1][i][2].Pos, 0xffffffff);
} }
} }
} }
//current sel //current sel
if (dField.hovered_location != 0 && dField.hovered_location != 2 && dField.hovered_location != POSITION_HINT) { if (dField.hovered_location != 0 && dField.hovered_location != 2 && dField.hovered_location != POSITION_HINT) {
int index = 0; S3DVertex *vertex = 0;
if (dField.hovered_controler == 0) { if (dField.hovered_location == LOCATION_DECK)
if (dField.hovered_location == LOCATION_DECK) index = 0; vertex = matManager.vFieldDeck[dField.hovered_controler];
else if (dField.hovered_location == LOCATION_MZONE) index = 16 + dField.hovered_sequence * 4; else if (dField.hovered_location == LOCATION_MZONE)
else if (dField.hovered_location == LOCATION_SZONE) index = 36 + dField.hovered_sequence * 4; vertex = matManager.vFieldMzone[dField.hovered_controler][dField.hovered_sequence];
else if (dField.hovered_location == LOCATION_GRAVE) index = 4; else if (dField.hovered_location == LOCATION_SZONE)
else if (dField.hovered_location == LOCATION_REMOVED) index = 12; vertex = matManager.vFieldSzone[dField.hovered_controler][dField.hovered_sequence];
else if (dField.hovered_location == LOCATION_EXTRA) index = 8; else if (dField.hovered_location == LOCATION_GRAVE)
} else { vertex = matManager.vFieldGrave[dField.hovered_controler];
if (dField.hovered_location == LOCATION_DECK) index = 68; else if (dField.hovered_location == LOCATION_REMOVED)
else if (dField.hovered_location == LOCATION_MZONE) index = 84 + dField.hovered_sequence * 4; vertex = matManager.vFieldRemove[dField.hovered_controler];
else if (dField.hovered_location == LOCATION_SZONE) index = 104 + dField.hovered_sequence * 4; else if (dField.hovered_location == LOCATION_EXTRA)
else if (dField.hovered_location == LOCATION_GRAVE) index = 72; vertex = matManager.vFieldExtra[dField.hovered_controler];
else if (dField.hovered_location == LOCATION_REMOVED) index = 80;
else if (dField.hovered_location == LOCATION_EXTRA) index = 76;
}
selFieldAlpha += selFieldDAlpha; selFieldAlpha += selFieldDAlpha;
if (selFieldAlpha <= 5) { if (selFieldAlpha <= 5) {
selFieldAlpha = 5; selFieldAlpha = 5;
...@@ -188,7 +185,7 @@ void Game::DrawBackGround() { ...@@ -188,7 +185,7 @@ void Game::DrawBackGround() {
matManager.mSelField.AmbientColor = 0xffffffff; matManager.mSelField.AmbientColor = 0xffffffff;
matManager.mSelField.DiffuseColor = selFieldAlpha << 24; matManager.mSelField.DiffuseColor = selFieldAlpha << 24;
driver->setMaterial(matManager.mSelField); driver->setMaterial(matManager.mSelField);
driver->drawVertexPrimitiveList(&matManager.vFields[index], 4, matManager.iRectangle, 2); driver->drawVertexPrimitiveList(vertex, 4, matManager.iRectangle, 2);
} }
} }
void Game::DrawCards() { void Game::DrawCards() {
...@@ -286,44 +283,44 @@ void Game::DrawMisc() { ...@@ -286,44 +283,44 @@ void Game::DrawMisc() {
matManager.mTexture.setTexture(0, imageManager.tAct); matManager.mTexture.setTexture(0, imageManager.tAct);
driver->setMaterial(matManager.mTexture); driver->setMaterial(matManager.mTexture);
if(dField.deck_act) { if(dField.deck_act) {
im.setTranslation(vector3df(matManager.vFields[0].Pos.X - (matManager.vFields[0].Pos.X - matManager.vFields[1].Pos.X)/2, im.setTranslation(vector3df((matManager.vFieldDeck[0][0].Pos.X + matManager.vFieldDeck[0][1].Pos.X) / 2,
matManager.vFields[0].Pos.Y - (matManager.vFields[0].Pos.Y - matManager.vFields[3].Pos.Y)/2, dField.deck[0].size() * 0.01f + 0.02f)); (matManager.vFieldDeck[0][0].Pos.Y + matManager.vFieldDeck[0][2].Pos.Y) / 2, dField.deck[0].size() * 0.01f + 0.02f));
driver->setTransform(irr::video::ETS_WORLD, im); driver->setTransform(irr::video::ETS_WORLD, im);
driver->drawVertexPrimitiveList(matManager.vActivate, 4, matManager.iRectangle, 2); driver->drawVertexPrimitiveList(matManager.vActivate, 4, matManager.iRectangle, 2);
} }
if(dField.grave_act) { if(dField.grave_act) {
im.setTranslation(vector3df(matManager.vFields[4].Pos.X - (matManager.vFields[4].Pos.X - matManager.vFields[5].Pos.X)/2, im.setTranslation(vector3df((matManager.vFieldGrave[0][0].Pos.X + matManager.vFieldGrave[0][1].Pos.X) / 2,
matManager.vFields[4].Pos.Y - (matManager.vFields[4].Pos.Y - matManager.vFields[6].Pos.Y)/2, dField.grave[0].size() * 0.01f + 0.02f)); (matManager.vFieldGrave[0][0].Pos.Y + matManager.vFieldGrave[0][2].Pos.Y) / 2, dField.grave[0].size() * 0.01f + 0.02f));
driver->setTransform(irr::video::ETS_WORLD, im); driver->setTransform(irr::video::ETS_WORLD, im);
driver->drawVertexPrimitiveList(matManager.vActivate, 4, matManager.iRectangle, 2); driver->drawVertexPrimitiveList(matManager.vActivate, 4, matManager.iRectangle, 2);
} }
if(dField.remove_act) { if(dField.remove_act) {
im.setTranslation(vector3df(matManager.vFields[12].Pos.X - (matManager.vFields[12].Pos.X - matManager.vFields[13].Pos.X)/2, im.setTranslation(vector3df((matManager.vFieldRemove[0][0].Pos.X + matManager.vFieldRemove[0][1].Pos.X) / 2,
matManager.vFields[12].Pos.Y - (matManager.vFields[12].Pos.Y - matManager.vFields[14].Pos.Y)/2, dField.remove[0].size() * 0.01f + 0.02f)); (matManager.vFieldRemove[0][0].Pos.Y + matManager.vFieldRemove[0][2].Pos.Y) / 2, dField.remove[0].size() * 0.01f + 0.02f));
driver->setTransform(irr::video::ETS_WORLD, im); driver->setTransform(irr::video::ETS_WORLD, im);
driver->drawVertexPrimitiveList(matManager.vActivate, 4, matManager.iRectangle, 2); driver->drawVertexPrimitiveList(matManager.vActivate, 4, matManager.iRectangle, 2);
} }
if(dField.extra_act) { if(dField.extra_act) {
im.setTranslation(vector3df(matManager.vFields[8].Pos.X - (matManager.vFields[8].Pos.X - matManager.vFields[9].Pos.X)/2, im.setTranslation(vector3df((matManager.vFieldExtra[0][0].Pos.X + matManager.vFieldExtra[0][1].Pos.X) / 2,
matManager.vFields[8].Pos.Y - (matManager.vFields[8].Pos.Y - matManager.vFields[10].Pos.Y)/2, dField.extra[0].size() * 0.01f + 0.02f)); (matManager.vFieldExtra[0][0].Pos.Y + matManager.vFieldExtra[0][2].Pos.Y) / 2, dField.extra[0].size() * 0.01f + 0.02f));
driver->setTransform(irr::video::ETS_WORLD, im); driver->setTransform(irr::video::ETS_WORLD, im);
driver->drawVertexPrimitiveList(matManager.vActivate, 4, matManager.iRectangle, 2); driver->drawVertexPrimitiveList(matManager.vActivate, 4, matManager.iRectangle, 2);
} }
if(dField.pzone_act[0]) { if(dField.pzone_act[0]) {
im.setTranslation(vector3df(matManager.vFields[60].Pos.X - (matManager.vFields[60].Pos.X - matManager.vFields[61].Pos.X)/2, im.setTranslation(vector3df((matManager.vFieldSzone[0][6][0].Pos.X + matManager.vFieldSzone[0][6][0].Pos.X) / 2,
matManager.vFields[60].Pos.Y - (matManager.vFields[60].Pos.Y - matManager.vFields[62].Pos.Y)/2, 0.03f)); (matManager.vFieldSzone[0][6][0].Pos.Y + matManager.vFieldSzone[0][6][2].Pos.Y) / 2, 0.03f));
driver->setTransform(irr::video::ETS_WORLD, im); driver->setTransform(irr::video::ETS_WORLD, im);
driver->drawVertexPrimitiveList(matManager.vActivate, 4, matManager.iRectangle, 2); driver->drawVertexPrimitiveList(matManager.vActivate, 4, matManager.iRectangle, 2);
} }
if(dField.pzone_act[1]) { if(dField.pzone_act[1]) {
im.setTranslation(vector3df(matManager.vFields[128].Pos.X - (matManager.vFields[128].Pos.X - matManager.vFields[129].Pos.X)/2, im.setTranslation(vector3df((matManager.vFieldSzone[0][7][0].Pos.X + matManager.vFieldSzone[0][7][0].Pos.X) / 2,
matManager.vFields[128].Pos.Y - (matManager.vFields[128].Pos.Y - matManager.vFields[130].Pos.Y)/2, 0.03f)); (matManager.vFieldSzone[0][7][0].Pos.Y + matManager.vFieldSzone[0][7][2].Pos.Y) / 2, 0.03f));
driver->setTransform(irr::video::ETS_WORLD, im); driver->setTransform(irr::video::ETS_WORLD, im);
driver->drawVertexPrimitiveList(matManager.vActivate, 4, matManager.iRectangle, 2); driver->drawVertexPrimitiveList(matManager.vActivate, 4, matManager.iRectangle, 2);
} }
if(dField.conti_act) { if(dField.conti_act) {
im.setTranslation(vector3df(matManager.vFields[136].Pos.X - (matManager.vFields[136].Pos.X - matManager.vFields[137].Pos.X)/2, im.setTranslation(vector3df((matManager.vFieldContiAct[0].X + matManager.vFieldContiAct[1].X) / 2,
matManager.vFields[136].Pos.Y - (matManager.vFields[136].Pos.Y - matManager.vFields[138].Pos.Y)/2, 0.03f)); (matManager.vFieldContiAct[0].Y + matManager.vFieldContiAct[2].Y) / 2, 0.03f));
driver->setTransform(irr::video::ETS_WORLD, im); driver->setTransform(irr::video::ETS_WORLD, im);
driver->drawVertexPrimitiveList(matManager.vActivate, 4, matManager.iRectangle, 2); driver->drawVertexPrimitiveList(matManager.vActivate, 4, matManager.iRectangle, 2);
} }
......
...@@ -2057,90 +2057,85 @@ void ClientField::GetHoverField(int x, int y) { ...@@ -2057,90 +2057,85 @@ void ClientField::GetHoverField(int x, int y) {
double boardx = 4.2 + 7.8 * screenx / vlen / cos(angle); double boardx = 4.2 + 7.8 * screenx / vlen / cos(angle);
double boardy = 8.0 - 7.8 * tan(angle); double boardy = 8.0 - 7.8 * tan(angle);
hovered_location = 0; hovered_location = 0;
if(boardx >= matManager.vFields[8].Pos.X && boardx <= matManager.vFields[9].Pos.X) { if(boardx >= matManager.vFieldExtra[0][0].Pos.X && boardx <= matManager.vFieldExtra[0][1].Pos.X) {
if(boardy >= matManager.vFields[8].Pos.Y && boardy <= matManager.vFields[10].Pos.Y) { if(boardy >= matManager.vFieldExtra[0][0].Pos.Y && boardy <= matManager.vFieldExtra[0][2].Pos.Y) {
hovered_controler = 0; hovered_controler = 0;
hovered_location = LOCATION_EXTRA; hovered_location = LOCATION_EXTRA;
} else if(boardy >= matManager.vFields[56].Pos.Y && boardy <= matManager.vFields[58].Pos.Y) {//field } else if(boardy >= matManager.vFieldSzone[0][5][0].Pos.Y && boardy <= matManager.vFieldSzone[0][5][2].Pos.Y) {//field
hovered_controler = 0; hovered_controler = 0;
hovered_location = LOCATION_SZONE; hovered_location = LOCATION_SZONE;
hovered_sequence = 5; hovered_sequence = 5;
} else if(boardy >= matManager.vFields[60].Pos.Y && boardy <= matManager.vFields[62].Pos.Y) { } else if(boardy >= matManager.vFieldSzone[0][6][0].Pos.Y && boardy <= matManager.vFieldSzone[0][6][2].Pos.Y) {
hovered_controler = 0; hovered_controler = 0;
hovered_location = LOCATION_SZONE; hovered_location = LOCATION_SZONE;
hovered_sequence = 6; hovered_sequence = 6;
} else if(boardy >= matManager.vFields[134].Pos.Y && boardy <= matManager.vFields[132].Pos.Y) { } else if(boardy >= matManager.vFieldSzone[1][7][2].Pos.Y && boardy <= matManager.vFieldSzone[1][7][0].Pos.Y) {
hovered_controler = 1; hovered_controler = 1;
hovered_location = LOCATION_SZONE; hovered_location = LOCATION_SZONE;
hovered_sequence = 7; hovered_sequence = 7;
} else if(boardy >= matManager.vFields[74].Pos.Y && boardy <= matManager.vFields[72].Pos.Y) { } else if(boardy >= matManager.vFieldGrave[1][2].Pos.Y && boardy <= matManager.vFieldGrave[1][0].Pos.Y) {
hovered_controler = 1; hovered_controler = 1;
hovered_location = LOCATION_GRAVE; hovered_location = LOCATION_GRAVE;
} else if(boardy >= matManager.vFields[70].Pos.Y && boardy <= matManager.vFields[68].Pos.Y) { } else if(boardy >= matManager.vFieldDeck[1][2].Pos.Y && boardy <= matManager.vFieldDeck[1][0].Pos.Y) {
hovered_controler = 1; hovered_controler = 1;
hovered_location = LOCATION_DECK; hovered_location = LOCATION_DECK;
} }
} else if(boardx >= matManager.vFields[81].Pos.X && boardx <= matManager.vFields[80].Pos.X) { } else if(boardx >= matManager.vFieldRemove[1][1].Pos.X && boardx <= matManager.vFieldRemove[1][0].Pos.X) {
if(boardy >= matManager.vFields[82].Pos.Y && boardy <= matManager.vFields[80].Pos.Y) { if(boardy >= matManager.vFieldRemove[1][2].Pos.Y && boardy <= matManager.vFieldRemove[1][0].Pos.Y) {
hovered_controler = 1; hovered_controler = 1;
hovered_location = LOCATION_REMOVED; hovered_location = LOCATION_REMOVED;
} else if(boardy >= matManager.vFields[136].Pos.Y && boardy <= matManager.vFields[138].Pos.Y) { } else if(boardy >= matManager.vFieldContiAct[0].Y && boardy <= matManager.vFieldContiAct[2].Y) {
hovered_controler = 0; hovered_controler = 0;
hovered_location = POSITION_HINT; hovered_location = POSITION_HINT;
} }
} else if(boardx >= matManager.vFields[0].Pos.X && boardx <= matManager.vFields[1].Pos.X) { } else if(boardx >= matManager.vFieldDeck[0][0].Pos.X && boardx <= matManager.vFieldDeck[0][1].Pos.X) {
if(boardy >= matManager.vFields[0].Pos.Y && boardy <= matManager.vFields[2].Pos.Y) { if(boardy >= matManager.vFieldDeck[0][0].Pos.Y && boardy <= matManager.vFieldDeck[0][2].Pos.Y) {
hovered_controler = 0; hovered_controler = 0;
hovered_location = LOCATION_DECK; hovered_location = LOCATION_DECK;
} else if(boardy >= matManager.vFields[4].Pos.Y && boardy <= matManager.vFields[6].Pos.Y) { } else if(boardy >= matManager.vFieldGrave[0][0].Pos.Y && boardy <= matManager.vFieldGrave[0][2].Pos.Y) {
hovered_controler = 0; hovered_controler = 0;
hovered_location = LOCATION_GRAVE; hovered_location = LOCATION_GRAVE;
} else if(boardy >= matManager.vFields[130].Pos.Y && boardy <= matManager.vFields[128].Pos.Y) { } else if(boardy >= matManager.vFieldSzone[1][6][2].Pos.Y && boardy <= matManager.vFieldSzone[1][6][0].Pos.Y) {
hovered_controler = 1; hovered_controler = 1;
hovered_location = LOCATION_SZONE; hovered_location = LOCATION_SZONE;
hovered_sequence = 6; hovered_sequence = 6;
} else if(boardy >= matManager.vFields[64].Pos.Y && boardy <= matManager.vFields[66].Pos.Y) { } else if(boardy >= matManager.vFieldSzone[0][7][0].Pos.Y && boardy <= matManager.vFieldSzone[0][7][2].Pos.Y) {
hovered_controler = 0; hovered_controler = 0;
hovered_location = LOCATION_SZONE; hovered_location = LOCATION_SZONE;
hovered_sequence = 7; hovered_sequence = 7;
} else if(boardy >= matManager.vFields[126].Pos.Y && boardy <= matManager.vFields[124].Pos.Y) { } else if(boardy >= matManager.vFieldSzone[1][5][2].Pos.Y && boardy <= matManager.vFieldSzone[1][5][0].Pos.Y) {
hovered_controler = 1; hovered_controler = 1;
hovered_location = LOCATION_SZONE; hovered_location = LOCATION_SZONE;
hovered_sequence = 5; hovered_sequence = 5;
} else if(boardy >= matManager.vFields[78].Pos.Y && boardy <= matManager.vFields[76].Pos.Y) { } else if(boardy >= matManager.vFieldExtra[1][2].Pos.Y && boardy <= matManager.vFieldExtra[1][0].Pos.Y) {
hovered_controler = 1; hovered_controler = 1;
hovered_location = LOCATION_EXTRA; hovered_location = LOCATION_EXTRA;
} }
} else if(boardx >= matManager.vFields[12].Pos.X && boardx <= matManager.vFields[13].Pos.X) { } else if(boardx >= matManager.vFieldRemove[0][0].Pos.X && boardx <= matManager.vFieldRemove[0][1].Pos.X) {
if(boardy >= matManager.vFields[12].Pos.Y && boardy <= matManager.vFields[14].Pos.Y) { if(boardy >= matManager.vFieldRemove[0][0].Pos.Y && boardy <= matManager.vFieldRemove[0][2].Pos.Y) {
hovered_controler = 0; hovered_controler = 0;
hovered_location = LOCATION_REMOVED; hovered_location = LOCATION_REMOVED;
} }
} else if(boardx >= matManager.vFields[36].Pos.X && boardx <= matManager.vFields[55].Pos.X) { } else if(boardx >= matManager.vFieldMzone[0][0][0].Pos.X && boardx <= matManager.vFieldMzone[0][4][1].Pos.X) {
if(boardy > matManager.vFields[36].Pos.Y && boardy <= matManager.vFields[38].Pos.Y) { int sequence = (boardx - matManager.vFieldMzone[0][0][0].Pos.X) / (matManager.vFieldMzone[0][0][1].Pos.X - matManager.vFieldMzone[0][0][0].Pos.X);
if(sequence > 4)
sequence = 4;
if(boardy > matManager.vFieldSzone[0][0][0].Pos.Y && boardy <= matManager.vFieldSzone[0][0][2].Pos.Y) {
hovered_controler = 0; hovered_controler = 0;
hovered_location = LOCATION_SZONE; hovered_location = LOCATION_SZONE;
hovered_sequence = (boardx - 1.2) / 1.1; hovered_sequence = sequence;
if(hovered_sequence > 4) } else if(boardy >= matManager.vFieldMzone[0][0][0].Pos.Y && boardy <= matManager.vFieldMzone[0][0][2].Pos.Y) {
hovered_sequence = 4;
} else if(boardy >= matManager.vFields[16].Pos.Y && boardy <= matManager.vFields[35].Pos.Y) {
hovered_controler = 0; hovered_controler = 0;
hovered_location = LOCATION_MZONE; hovered_location = LOCATION_MZONE;
hovered_sequence = (boardx - 1.2) / 1.1; hovered_sequence = sequence;
if(hovered_sequence > 4) } else if(boardy >= matManager.vFieldMzone[1][0][2].Pos.Y && boardy <= matManager.vFieldMzone[1][0][0].Pos.Y) {
hovered_sequence = 4;
} else if(boardy >= matManager.vFields[103].Pos.Y && boardy <= matManager.vFields[84].Pos.Y) {
hovered_controler = 1; hovered_controler = 1;
hovered_location = LOCATION_MZONE; hovered_location = LOCATION_MZONE;
hovered_sequence = 4 - (int)((boardx - 1.2) / 1.1); hovered_sequence = 4 - sequence;
if(hovered_sequence < 0) } else if(boardy >= matManager.vFieldSzone[1][0][2].Pos.Y && boardy < matManager.vFieldSzone[1][0][0].Pos.Y) {
hovered_sequence = 0;
} else if(boardy >= matManager.vFields[123].Pos.Y && boardy < matManager.vFields[104].Pos.Y) {
hovered_controler = 1; hovered_controler = 1;
hovered_location = LOCATION_SZONE; hovered_location = LOCATION_SZONE;
hovered_sequence = 4 - (int)((boardx - 1.2) / 1.1); hovered_sequence = 4 - sequence;
if(hovered_sequence < 0)
hovered_sequence = 0;
} }
} }
} }
......
...@@ -4,55 +4,28 @@ namespace ygo { ...@@ -4,55 +4,28 @@ namespace ygo {
Materials matManager; Materials matManager;
inline void SetS3DVertex(S3DVertex* v, f32 x1, f32 y1, f32 x2, f32 y2, f32 z, f32 nz, f32 tu1, f32 tv1, f32 tu2, f32 tv2) {
v[0] = S3DVertex(x1, y1, z, 0, 0, nz, SColor(255, 255, 255, 255), tu1, tv1);
v[1] = S3DVertex(x2, y1, z, 0, 0, nz, SColor(255, 255, 255, 255), tu2, tv1);
v[2] = S3DVertex(x1, y2, z, 0, 0, nz, SColor(255, 255, 255, 255), tu1, tv2);
v[3] = S3DVertex(x2, y2, z, 0, 0, nz, SColor(255, 255, 255, 255), tu2, tv2);
}
Materials::Materials() { Materials::Materials() {
vCardFront[0] = S3DVertex(vector3df(-0.35f, -0.5f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0)); SetS3DVertex(vCardFront, -0.35f, -0.5f, 0.35f, 0.5f, 0, 1, 0, 0, 1, 1);
vCardFront[1] = S3DVertex(vector3df(0.35f, -0.5f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(1, 0)); SetS3DVertex(vCardOutline, -0.375f, -0.54f, 0.37f, 0.54f, 0, 1, 0, 0, 1, 1);
vCardFront[2] = S3DVertex(vector3df(-0.35f, 0.5f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 1)); SetS3DVertex(vCardOutliner, 0.37f, -0.54f, -0.375f, 0.54f, 0, 1, 0, 0, 1, 1);
vCardFront[3] = S3DVertex(vector3df(0.35f, 0.5f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(1, 1)); SetS3DVertex(vCardBack, 0.35f, -0.5f, -0.35f, 0.5f, 0, -1, 0, 0, 1, 1);
vCardOutline[0] = S3DVertex(vector3df(-0.375f, -0.54f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0)); SetS3DVertex(vSymbol, -0.35f, -0.35f, 0.35f, 0.35f, 0.01f, 1, 0, 0, 1, 1);
vCardOutline[1] = S3DVertex(vector3df(0.37f, -0.54f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(1, 0)); SetS3DVertex(vNegate, -0.25f, -0.28f, 0.25f, 0.22f, 0, 1, 0, 0, 1, 1);
vCardOutline[2] = S3DVertex(vector3df(-0.375f, 0.54f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 1)); SetS3DVertex(vChainNum, -0.35f, -0.35f, 0.35f, 0.35f, 0, 1, 0, 0, 0.19375f, 0.2421875f);
vCardOutline[3] = S3DVertex(vector3df(0.37f, 0.54f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(1, 1)); SetS3DVertex(vActivate, -0.5f, -0.5f, 0.5f, 0.5f, 0, 1, 0, 0, 1, 1);
vCardOutliner[0] = S3DVertex(vector3df(0.37f, -0.54f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0)); SetS3DVertex(vField, -1.0f, -4.0f, 9.0f, 4.0f, 0, 1, 0, 0, 1, 1);
vCardOutliner[1] = S3DVertex(vector3df(-0.375f, -0.54f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(1, 0)); SetS3DVertex(vFieldSpell, 1.2f, -3.2f, 6.7f, 3.2f, 0, 1, 0, 0, 1, 1);
vCardOutliner[2] = S3DVertex(vector3df(0.37f, 0.54f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 1)); SetS3DVertex(vFieldSpell1, 1.2f, 0.8f, 6.7f, 3.2f, 0, 1, 0, 0.2f, 1, 0.63636f);
vCardOutliner[3] = S3DVertex(vector3df(-0.375f, 0.54f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(1, 1)); SetS3DVertex(vFieldSpell2, 1.2f, -3.2f, 6.7f, -0.8f, 0, 1, 0, 0.63636f, 1, 0.2f);
vCardBack[0] = S3DVertex(vector3df(0.35f, -0.5f, 0), vector3df(0, 0, -1), SColor(255, 255, 255, 255), vector2df(0, 0));
vCardBack[1] = S3DVertex(vector3df(-0.35f, -0.5f, 0), vector3df(0, 0, -1), SColor(255, 255, 255, 255), vector2df(1, 0)); /*
vCardBack[2] = S3DVertex(vector3df(0.35f, 0.5f, 0), vector3df(0, 0, -1), SColor(255, 255, 255, 255), vector2df(0, 1));
vCardBack[3] = S3DVertex(vector3df(-0.35f, 0.5f, 0), vector3df(0, 0, -1), SColor(255, 255, 255, 255), vector2df(1, 1));
vSymbol[0] = S3DVertex(vector3df(-0.35f, -0.35f, 0.01f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vSymbol[1] = S3DVertex(vector3df(0.35f, -0.35f, 0.01f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(1, 0));
vSymbol[2] = S3DVertex(vector3df(-0.35f, 0.35f, 0.01f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 1));
vSymbol[3] = S3DVertex(vector3df(0.35f, 0.35f, 0.01f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(1, 1));
vNegate[0] = S3DVertex(vector3df(-0.25f, -0.28f, 0.01f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vNegate[1] = S3DVertex(vector3df(0.25f, -0.28f, 0.01f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(1, 0));
vNegate[2] = S3DVertex(vector3df(-0.25f, 0.22f, 0.01f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 1));
vNegate[3] = S3DVertex(vector3df(0.25f, 0.22f, 0.01f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(1, 1));
vChainNum[0] = S3DVertex(vector3df(-0.35f, -0.35f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vChainNum[1] = S3DVertex(vector3df(0.35f, -0.35f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0.19375f, 0));
vChainNum[2] = S3DVertex(vector3df(-0.35f, 0.35f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0.2421875f));
vChainNum[3] = S3DVertex(vector3df(0.35f, 0.35f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0.19375f, 0.2421875f));
vActivate[0] = S3DVertex(vector3df(-0.5f, -0.5f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vActivate[1] = S3DVertex(vector3df(0.5f, -0.5f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(1, 0));
vActivate[2] = S3DVertex(vector3df(-0.5f, 0.5f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 1));
vActivate[3] = S3DVertex(vector3df(0.5f, 0.5f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(1, 1));
vField[0] = S3DVertex(vector3df(-1.0f, -4.0f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vField[1] = S3DVertex(vector3df(9.0f, -4.0f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(1, 0));
vField[2] = S3DVertex(vector3df(-1.0f, 4.0f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 1));
vField[3] = S3DVertex(vector3df(9.0f, 4.0f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(1, 1));
vFieldSpell[0] = S3DVertex(vector3df(1.2f, -3.2f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFieldSpell[1] = S3DVertex(vector3df(6.7f, -3.2f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(1, 0));
vFieldSpell[2] = S3DVertex(vector3df(1.2f, 3.2f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 1));
vFieldSpell[3] = S3DVertex(vector3df(6.7f, 3.2f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(1, 1));
vFieldSpell1[0] = S3DVertex(vector3df(1.2f, 0.8f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0.2f));
vFieldSpell1[1] = S3DVertex(vector3df(6.7f, 0.8f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(1, 0.2f));
vFieldSpell1[2] = S3DVertex(vector3df(1.2f, 3.2f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0.63636f));
vFieldSpell1[3] = S3DVertex(vector3df(6.7f, 3.2f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(1, 0.63636f));
vFieldSpell2[0] = S3DVertex(vector3df(1.2f, -3.2f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(1, 0.63636f));
vFieldSpell2[1] = S3DVertex(vector3df(6.7f, -3.2f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0.63636f));
vFieldSpell2[2] = S3DVertex(vector3df(1.2f, -0.8f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(1, 0.2f));
vFieldSpell2[3] = S3DVertex(vector3df(6.7f, -0.8f, 0), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0.2f));
//background grids //background grids
for (int i = 0; i < 6; ++i) { for (int i = 0; i < 6; ++i) {
vBackLine[i * 6 + 0] = S3DVertex(vector3df(1.2f + i * 1.1f, 0.5f, -0.01f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0)); vBackLine[i * 6 + 0] = S3DVertex(vector3df(1.2f + i * 1.1f, 0.5f, -0.01f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
...@@ -200,6 +173,7 @@ Materials::Materials() { ...@@ -200,6 +173,7 @@ Materials::Materials() {
iBackLine[113] = 75; iBackLine[113] = 75;
iBackLine[114] = 74; iBackLine[114] = 74;
iBackLine[115] = 75; iBackLine[115] = 75;
*/
iRectangle[0] = 0; iRectangle[0] = 0;
iRectangle[1] = 1; iRectangle[1] = 1;
...@@ -208,159 +182,41 @@ Materials::Materials() { ...@@ -208,159 +182,41 @@ Materials::Materials() {
iRectangle[4] = 1; iRectangle[4] = 1;
iRectangle[5] = 3; iRectangle[5] = 3;
//deck0 SetS3DVertex(vFieldDeck[0], 6.9f, 2.7f, 7.7f, 3.9f, 0, 1, 0, 0, 0, 0);
vFields[0] = S3DVertex(vector3df(6.9f, 2.7f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0)); SetS3DVertex(vFieldGrave[0], 6.9f, 0.1f, 7.7f, 1.3f, 0, 1, 0, 0, 0, 0);
vFields[1] = S3DVertex(vector3df(7.7f, 2.7f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0)); SetS3DVertex(vFieldExtra[0], 0.2f, 2.7f, 1.0f, 3.9f, 0, 1, 0, 0, 0, 0);
vFields[2] = S3DVertex(vector3df(6.9f, 3.9f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0)); SetS3DVertex(vFieldRemove[0], 7.9f, 0.1f, 8.7f, 1.3f, 0, 1, 0, 0, 0, 0);
vFields[3] = S3DVertex(vector3df(7.7f, 3.9f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0)); for(int i = 0; i < 5; ++i)
//grave0 SetS3DVertex(vFieldMzone[0][i], 1.2f + i * 1.1f, 0.8f, 2.3f + i * 1.1f, 2.0f, 0, 1, 0, 0, 0, 0);
vFields[4] = S3DVertex(vector3df(6.9f, 0.1f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0)); for(int i = 0; i < 5; ++i)
vFields[5] = S3DVertex(vector3df(7.7f, 0.1f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0)); SetS3DVertex(vFieldSzone[0][i], 1.2f + i * 1.1f, 2.0f, 2.3f + i * 1.1f, 3.2f, 0, 1, 0, 0, 0, 0);
vFields[6] = S3DVertex(vector3df(6.9f, 1.3f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0)); //field
vFields[7] = S3DVertex(vector3df(7.7f, 1.3f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0)); SetS3DVertex(vFieldSzone[0][5], 0.2f, 0.1f, 1.0f, 1.3f, 0, 1, 0, 0, 0, 0);
//extra0 //LScale
vFields[8] = S3DVertex(vector3df(0.2f, 2.7f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0)); SetS3DVertex(vFieldSzone[0][6], 0.2f, 1.4f, 1.0f, 2.6f, 0, 1, 0, 0, 0, 0);
vFields[9] = S3DVertex(vector3df(1.0f, 2.7f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0)); //RScale
vFields[10] = S3DVertex(vector3df(0.2f, 3.9f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0)); SetS3DVertex(vFieldSzone[0][7], 6.9f, 1.4f, 7.7f, 2.6f, 0, 1, 0, 0, 0, 0);
vFields[11] = S3DVertex(vector3df(1.0f, 3.9f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
//remove0 SetS3DVertex(vFieldDeck[1], 1.0f, -2.7f, 0.2f, -3.9f, 0, 1, 0, 0, 0, 0);
vFields[12] = S3DVertex(vector3df(7.9f, 0.1f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0)); SetS3DVertex(vFieldGrave[1], 1.0f, -0.1f, 0.2f, -1.3f, 0, 1, 0, 0, 0, 0);
vFields[13] = S3DVertex(vector3df(8.7f, 0.1f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0)); SetS3DVertex(vFieldExtra[1], 7.7f, -2.7f, 6.9f, -3.9f, 0, 1, 0, 0, 0, 0);
vFields[14] = S3DVertex(vector3df(7.9f, 1.3f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0)); SetS3DVertex(vFieldRemove[1], 0.0f, -0.1f, -0.8f, -1.3f, 0, 1, 0, 0, 0, 0);
vFields[15] = S3DVertex(vector3df(8.7f, 1.3f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0)); for(int i = 0; i < 5; ++i)
//mzone0 SetS3DVertex(vFieldMzone[1][i], 6.7f - i * 1.1f, -0.8f, 5.6f - i * 1.1f, -2.0f, 0, 1, 0, 0, 0, 0);
vFields[16] = S3DVertex(vector3df(1.2f, 0.8f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0)); for(int i = 0; i < 5; ++i)
vFields[17] = S3DVertex(vector3df(2.3f, 0.8f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0)); SetS3DVertex(vFieldSzone[1][i], 6.7f - i * 1.1f, -2.0f, 5.6f - i * 1.1f, -3.2f, 0, 1, 0, 0, 0, 0);
vFields[18] = S3DVertex(vector3df(1.2f, 2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0)); //field
vFields[19] = S3DVertex(vector3df(2.3f, 2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0)); SetS3DVertex(vFieldSzone[1][5], 7.7f, -0.1f, 6.9f, -1.3f, 0, 1, 0, 0, 0, 0);
vFields[20] = S3DVertex(vector3df(2.3f, 0.8f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0)); //LScale
vFields[21] = S3DVertex(vector3df(3.4f, 0.8f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0)); SetS3DVertex(vFieldSzone[1][6], 7.7f, -1.4f, 6.9f, -2.6f, 0, 1, 0, 0, 0, 0);
vFields[22] = S3DVertex(vector3df(2.3f, 2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0)); //RScale
vFields[23] = S3DVertex(vector3df(3.4f, 2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0)); SetS3DVertex(vFieldSzone[1][7], 1.0f, -1.4f, 0.2f, -2.6f, 0, 1, 0, 0, 0, 0);
vFields[24] = S3DVertex(vector3df(3.4f, 0.8f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[25] = S3DVertex(vector3df(4.5f, 0.8f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[26] = S3DVertex(vector3df(3.4f, 2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[27] = S3DVertex(vector3df(4.5f, 2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[28] = S3DVertex(vector3df(4.5f, 0.8f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[29] = S3DVertex(vector3df(5.6f, 0.8f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[30] = S3DVertex(vector3df(4.5f, 2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[31] = S3DVertex(vector3df(5.6f, 2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[32] = S3DVertex(vector3df(5.6f, 0.8f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[33] = S3DVertex(vector3df(6.7f, 0.8f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[34] = S3DVertex(vector3df(5.6f, 2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[35] = S3DVertex(vector3df(6.7f, 2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
//szone0
vFields[36] = S3DVertex(vector3df(1.2f, 2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[37] = S3DVertex(vector3df(2.3f, 2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[38] = S3DVertex(vector3df(1.2f, 3.2f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[39] = S3DVertex(vector3df(2.3f, 3.2f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[40] = S3DVertex(vector3df(2.3f, 2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[41] = S3DVertex(vector3df(3.4f, 2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[42] = S3DVertex(vector3df(2.3f, 3.2f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[43] = S3DVertex(vector3df(3.4f, 3.2f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[44] = S3DVertex(vector3df(3.4f, 2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[45] = S3DVertex(vector3df(4.5f, 2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[46] = S3DVertex(vector3df(3.4f, 3.2f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[47] = S3DVertex(vector3df(4.5f, 3.2f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[48] = S3DVertex(vector3df(4.5f, 2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[49] = S3DVertex(vector3df(5.6f, 2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[50] = S3DVertex(vector3df(4.5f, 3.2f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[51] = S3DVertex(vector3df(5.6f, 3.2f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[52] = S3DVertex(vector3df(5.6f, 2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[53] = S3DVertex(vector3df(6.7f, 2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[54] = S3DVertex(vector3df(5.6f, 3.2f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[55] = S3DVertex(vector3df(6.7f, 3.2f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[56] = S3DVertex(vector3df(0.2f, 0.1f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));//field
vFields[57] = S3DVertex(vector3df(1.0f, 0.1f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[58] = S3DVertex(vector3df(0.2f, 1.3f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[59] = S3DVertex(vector3df(1.0f, 1.3f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[60] = S3DVertex(vector3df(0.2f, 1.4f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));//LScale
vFields[61] = S3DVertex(vector3df(1.0f, 1.4f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[62] = S3DVertex(vector3df(0.2f, 2.6f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[63] = S3DVertex(vector3df(1.0f, 2.6f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[64] = S3DVertex(vector3df(6.9f, 1.4f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));//RScale
vFields[65] = S3DVertex(vector3df(7.7f, 1.4f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[66] = S3DVertex(vector3df(6.9f, 2.6f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[67] = S3DVertex(vector3df(7.7f, 2.6f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
//deck1
vFields[68] = S3DVertex(vector3df(1.0f, -2.7f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[69] = S3DVertex(vector3df(0.2f, -2.7f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[70] = S3DVertex(vector3df(1.0f, -3.9f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[71] = S3DVertex(vector3df(0.2f, -3.9f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
//grave1
vFields[72] = S3DVertex(vector3df(1.0f, -0.1f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[73] = S3DVertex(vector3df(0.2f, -0.1f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[74] = S3DVertex(vector3df(1.0f, -1.3f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[75] = S3DVertex(vector3df(0.2f, -1.3f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
//extra1
vFields[76] = S3DVertex(vector3df(7.7f, -2.7f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[77] = S3DVertex(vector3df(6.9f, -2.7f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[78] = S3DVertex(vector3df(7.7f, -3.9f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[79] = S3DVertex(vector3df(6.9f, -3.9f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
//remove1
vFields[80] = S3DVertex(vector3df(0.0f, -0.1f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[81] = S3DVertex(vector3df(-0.8f, -0.1f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[82] = S3DVertex(vector3df(0.0f, -1.3f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[83] = S3DVertex(vector3df(-0.8f, -1.3f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
//mzone1
vFields[84] = S3DVertex(vector3df(6.7f, -0.8f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[85] = S3DVertex(vector3df(5.6f, -0.8f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[86] = S3DVertex(vector3df(6.7f, -2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[87] = S3DVertex(vector3df(5.6f, -2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[88] = S3DVertex(vector3df(5.6f, -0.8f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[89] = S3DVertex(vector3df(4.5f, -0.8f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[90] = S3DVertex(vector3df(5.6f, -2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[91] = S3DVertex(vector3df(4.5f, -2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[92] = S3DVertex(vector3df(4.5f, -0.8f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[93] = S3DVertex(vector3df(3.4f, -0.8f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[94] = S3DVertex(vector3df(4.5f, -2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[95] = S3DVertex(vector3df(3.4f, -2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[96] = S3DVertex(vector3df(3.4f, -0.8f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[97] = S3DVertex(vector3df(2.3f, -0.8f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[98] = S3DVertex(vector3df(3.4f, -2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[99] = S3DVertex(vector3df(2.3f, -2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[100] = S3DVertex(vector3df(2.3f, -0.8f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[101] = S3DVertex(vector3df(1.2f, -0.8f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[102] = S3DVertex(vector3df(2.3f, -2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[103] = S3DVertex(vector3df(1.2f, -2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
//szone1
vFields[104] = S3DVertex(vector3df(6.7f, -2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[105] = S3DVertex(vector3df(5.6f, -2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[106] = S3DVertex(vector3df(6.7f, -3.2f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[107] = S3DVertex(vector3df(5.6f, -3.2f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[108] = S3DVertex(vector3df(5.6f, -2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[109] = S3DVertex(vector3df(4.5f, -2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[110] = S3DVertex(vector3df(5.6f, -3.2f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[111] = S3DVertex(vector3df(4.5f, -3.2f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[112] = S3DVertex(vector3df(4.5f, -2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[113] = S3DVertex(vector3df(3.4f, -2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[114] = S3DVertex(vector3df(4.5f, -3.2f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[115] = S3DVertex(vector3df(3.4f, -3.2f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[116] = S3DVertex(vector3df(3.4f, -2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[117] = S3DVertex(vector3df(2.3f, -2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[118] = S3DVertex(vector3df(3.4f, -3.2f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[119] = S3DVertex(vector3df(2.3f, -3.2f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[120] = S3DVertex(vector3df(2.3f, -2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[121] = S3DVertex(vector3df(1.2f, -2.0f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[122] = S3DVertex(vector3df(2.3f, -3.2f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[123] = S3DVertex(vector3df(1.2f, -3.2f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[124] = S3DVertex(vector3df(7.7f, -0.1f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));//field
vFields[125] = S3DVertex(vector3df(6.9f, -0.1f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[126] = S3DVertex(vector3df(7.7f, -1.3f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[127] = S3DVertex(vector3df(6.9f, -1.3f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[128] = S3DVertex(vector3df(7.7f, -1.4f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));//lscale
vFields[129] = S3DVertex(vector3df(6.9f, -1.4f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[130] = S3DVertex(vector3df(7.7f, -2.6f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[131] = S3DVertex(vector3df(6.9f, -2.6f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[132] = S3DVertex(vector3df(1.0f, -1.4f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));//rscale
vFields[133] = S3DVertex(vector3df(0.2f, -1.4f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[134] = S3DVertex(vector3df(1.0f, -2.6f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
vFields[135] = S3DVertex(vector3df(0.2f, -2.6f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0));
//conti_act //conti_act
vFields[136] = S3DVertex(vector3df(-0.8f, 0.1f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0)); vFieldContiAct[0] = vector3df(-0.8f, 0.1f, 0.0f);
vFields[137] = S3DVertex(vector3df(0.0f, 0.1f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0)); vFieldContiAct[1] = vector3df(0.0f, 0.1f, 0.0f);
vFields[138] = S3DVertex(vector3df(-0.8f, 1.3f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0)); vFieldContiAct[2] = vector3df(-0.8f, 1.3f, 0.0f);
vFields[139] = S3DVertex(vector3df(0.0f, 1.3f, 0.0f), vector3df(0, 0, 1), SColor(255, 255, 255, 255), vector2df(0, 0)); vFieldContiAct[3] = vector3df(0.0f, 1.3f, 0.0f);
for(int i = 0; i < 40; ++i) for(int i = 0; i < 40; ++i)
......
...@@ -19,12 +19,18 @@ public: ...@@ -19,12 +19,18 @@ public:
S3DVertex vFieldSpell[4]; S3DVertex vFieldSpell[4];
S3DVertex vFieldSpell1[4]; S3DVertex vFieldSpell1[4];
S3DVertex vFieldSpell2[4]; S3DVertex vFieldSpell2[4];
S3DVertex vBackLine[76]; //S3DVertex vBackLine[76];
S3DVertex vFields[140]; S3DVertex vFieldDeck[2][4];
S3DVertex vFieldGrave[2][4];
S3DVertex vFieldExtra[2][4];
S3DVertex vFieldRemove[2][4];
S3DVertex vFieldMzone[2][5][4];
S3DVertex vFieldSzone[2][8][4];
irr::core::vector3df vFieldContiAct[4];
S3DVertex vArrow[40]; S3DVertex vArrow[40];
SColor c2d[4]; SColor c2d[4];
u16 iRectangle[6]; u16 iRectangle[6];
u16 iBackLine[116]; //u16 iBackLine[116];
u16 iArrow[40]; u16 iArrow[40];
irr::video::SMaterial mCard; irr::video::SMaterial mCard;
irr::video::SMaterial mTexture; irr::video::SMaterial mTexture;
......
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