Commit c68aad12 authored by edo9300's avatar edo9300

Added speed duel mode and updated fields

parent 6b8529ee
This diff is collapsed.
...@@ -139,7 +139,7 @@ void DuelClient::ClientEvent(bufferevent *bev, short events, void *ctx) { ...@@ -139,7 +139,7 @@ void DuelClient::ClientEvent(bufferevent *bev, short events, void *ctx) {
cscg.info.master = mainGame->chkRules[13]->isChecked() ? 2 : 0; cscg.info.master = mainGame->chkRules[13]->isChecked() ? 2 : 0;
cscg.info.rule_count = 0; cscg.info.rule_count = 0;
for (int i = 0; i < 14; ++i) { for (int i = 0; i < 14; ++i) {
if (mainGame->chkRules[i]->isChecked() && i != 11) { if (mainGame->chkRules[i]->isChecked() && i != 3 && i != 11) {
cscg.info.rule_count++; cscg.info.rule_count++;
} }
} }
...@@ -497,6 +497,7 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) { ...@@ -497,6 +497,7 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
mainGame->wChat->setVisible(true); mainGame->wChat->setVisible(true);
mainGame->gMutex.Unlock(); mainGame->gMutex.Unlock();
mainGame->dInfo.duel_rule = pkt->info.duel_rule; mainGame->dInfo.duel_rule = pkt->info.duel_rule;
mainGame->dInfo.speed = (pkt->info.speed == 2) ? 1 : 0;
watching = 0; watching = 0;
connect_state |= 0x4; connect_state |= 0x4;
break; break;
...@@ -605,16 +606,41 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) { ...@@ -605,16 +606,41 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
mainGame->wChat->setVisible(true); mainGame->wChat->setVisible(true);
mainGame->device->setEventReceiver(&mainGame->dField); mainGame->device->setEventReceiver(&mainGame->dField);
// reset master rule 4 phase button position // reset master rule 4 phase button position
if (mainGame->dInfo.duel_rule >= 4) { mainGame->wPhase->setRelativePosition(mainGame->Resize(480, 310, 855, 330));
mainGame->btnSP->setRelativePosition(mainGame->Resize(0, 0, 50, 20)); if(mainGame->dInfo.speed) {
mainGame->btnM1->setRelativePosition(mainGame->Resize(160, 0, 210, 20)); if(mainGame->dInfo.duel_rule >= 4) {
mainGame->btnBP->setRelativePosition(mainGame->Resize(160, 0, 210, 20)); mainGame->wPhase->setRelativePosition(mainGame->Resize(480, 290, 855, 350));
mainGame->btnM2->setRelativePosition(mainGame->Resize(160, 0, 210, 20)); mainGame->btnShuffle->setRelativePosition(mainGame->Resize(0, 40, 50, 60));
mainGame->btnDP->setRelativePosition(mainGame->Resize(0, 40, 50, 60));
mainGame->btnSP->setRelativePosition(mainGame->Resize(0, 40, 50, 60));
mainGame->btnM1->setRelativePosition(mainGame->Resize(160, 20, 210, 40));
mainGame->btnBP->setRelativePosition(mainGame->Resize(160, 20, 210, 40));
mainGame->btnM2->setRelativePosition(mainGame->Resize(160, 20, 210, 40));
mainGame->btnEP->setRelativePosition(mainGame->Resize(310, 0, 360, 20));
} else {
mainGame->btnShuffle->setRelativePosition(mainGame->Resize(65, 0, 115, 20));
mainGame->btnDP->setRelativePosition(mainGame->Resize(65, 0, 115, 20));
mainGame->btnSP->setRelativePosition(mainGame->Resize(65, 0, 115, 20));
mainGame->btnM1->setRelativePosition(mainGame->Resize(130, 0, 180, 20));
mainGame->btnBP->setRelativePosition(mainGame->Resize(195, 0, 245, 20));
mainGame->btnM2->setRelativePosition(mainGame->Resize(260, 0, 310, 20));
mainGame->btnEP->setRelativePosition(mainGame->Resize(260, 0, 310, 20));
}
} else { } else {
mainGame->btnSP->setRelativePosition(mainGame->Resize(65, 0, 115, 20)); mainGame->btnDP->setRelativePosition(mainGame->Resize(0, 0, 50, 20));
mainGame->btnM1->setRelativePosition(mainGame->Resize(130, 0, 180, 20)); if(mainGame->dInfo.duel_rule >= 4) {
mainGame->btnBP->setRelativePosition(mainGame->Resize(195, 0, 245, 20)); mainGame->btnSP->setRelativePosition(mainGame->Resize(0, 0, 50, 20));
mainGame->btnM2->setRelativePosition(mainGame->Resize(260, 0, 310, 20)); mainGame->btnM1->setRelativePosition(mainGame->Resize(160, 0, 210, 20));
mainGame->btnBP->setRelativePosition(mainGame->Resize(160, 0, 210, 20));
mainGame->btnM2->setRelativePosition(mainGame->Resize(160, 0, 210, 20));
} else {
mainGame->btnSP->setRelativePosition(mainGame->Resize(65, 0, 115, 20));
mainGame->btnM1->setRelativePosition(mainGame->Resize(130, 0, 180, 20));
mainGame->btnBP->setRelativePosition(mainGame->Resize(195, 0, 245, 20));
mainGame->btnM2->setRelativePosition(mainGame->Resize(260, 0, 310, 20));
}
mainGame->btnEP->setRelativePosition(mainGame->Resize(320, 0, 370, 20));
mainGame->btnShuffle->setRelativePosition(mainGame->Resize(0, 0, 50, 20));
} }
if(!mainGame->dInfo.isTag) { if(!mainGame->dInfo.isTag) {
if(selftype > 1) { if(selftype > 1) {
...@@ -1187,7 +1213,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) { ...@@ -1187,7 +1213,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
else if (pcard->location == LOCATION_EXTRA) else if (pcard->location == LOCATION_EXTRA)
mainGame->dField.extra_act = true; mainGame->dField.extra_act = true;
else { else {
int seq = mainGame->dInfo.duel_rule >= 4 ? 0 : 6; int seq = mainGame->dInfo.duel_rule >= 4 ? (mainGame->dInfo.speed) ? 1 : 0 : 6;
if (pcard->location == LOCATION_SZONE && pcard->sequence == seq && (pcard->type & TYPE_PENDULUM) && !pcard->equipTarget) if (pcard->location == LOCATION_SZONE && pcard->sequence == seq && (pcard->type & TYPE_PENDULUM) && !pcard->equipTarget)
mainGame->dField.pzone_act[pcard->controler] = true; mainGame->dField.pzone_act[pcard->controler] = true;
} }
...@@ -3500,7 +3526,9 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) { ...@@ -3500,7 +3526,9 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
case MSG_RELOAD_FIELD: { case MSG_RELOAD_FIELD: {
mainGame->gMutex.Lock(); mainGame->gMutex.Lock();
mainGame->dField.Clear(); mainGame->dField.Clear();
mainGame->dInfo.duel_rule = BufferIO::ReadInt8(pbuf); int rule = BufferIO::ReadInt8(pbuf);
mainGame->dInfo.duel_rule = rule & 0xf;
mainGame->dInfo.speed = (rule >> 4) ? 1 : 0;
int val = 0; int val = 0;
for(int i = 0; i < 2; ++i) { for(int i = 0; i < 2; ++i) {
int p = mainGame->LocalPlayer(i); int p = mainGame->LocalPlayer(i);
......
This diff is collapsed.
...@@ -1458,20 +1458,41 @@ void Game::OnResize() ...@@ -1458,20 +1458,41 @@ void Game::OnResize()
btnReplayExit->setRelativePosition(Resize(5, 105, 85, 125)); btnReplayExit->setRelativePosition(Resize(5, 105, 85, 125));
wPhase->setRelativePosition(Resize(480, 310, 855, 330)); wPhase->setRelativePosition(Resize(480, 310, 855, 330));
btnDP->setRelativePosition(Resize(0, 0, 50, 20)); if(dInfo.speed) {
if (dInfo.duel_rule >= 4) { if(dInfo.duel_rule >= 4) {
btnSP->setRelativePosition(Resize(0, 0, 50, 20)); wPhase->setRelativePosition(Resize(480, 290, 855, 350));
btnM1->setRelativePosition(Resize(160, 0, 210, 20)); btnShuffle->setRelativePosition(Resize(0, 40, 50, 60));
btnBP->setRelativePosition(Resize(160, 0, 210, 20)); btnDP->setRelativePosition(Resize(0, 40, 50, 60));
btnM2->setRelativePosition(Resize(160, 0, 210, 20)); btnSP->setRelativePosition(Resize(0, 40, 50, 60));
btnM1->setRelativePosition(Resize(160, 20, 210, 40));
btnBP->setRelativePosition(Resize(160, 20, 210, 40));
btnM2->setRelativePosition(Resize(160, 20, 210, 40));
btnEP->setRelativePosition(Resize(310, 0, 360, 20));
} else {
btnShuffle->setRelativePosition(Resize(65, 0, 115, 20));
btnDP->setRelativePosition(Resize(65, 0, 115, 20));
btnSP->setRelativePosition(Resize(65, 0, 115, 20));
btnM1->setRelativePosition(Resize(130, 0, 180, 20));
btnBP->setRelativePosition(Resize(195, 0, 245, 20));
btnM2->setRelativePosition(Resize(260, 0, 310, 20));
btnEP->setRelativePosition(Resize(260, 0, 310, 20));
}
} else { } else {
btnSP->setRelativePosition(Resize(65, 0, 115, 20)); btnDP->setRelativePosition(Resize(0, 0, 50, 20));
btnM1->setRelativePosition(Resize(130, 0, 180, 20)); if(dInfo.duel_rule >= 4) {
btnBP->setRelativePosition(Resize(195, 0, 245, 20)); btnSP->setRelativePosition(Resize(0, 0, 50, 20));
btnM2->setRelativePosition(Resize(260, 0, 310, 20)); btnM1->setRelativePosition(Resize(160, 0, 210, 20));
btnBP->setRelativePosition(Resize(160, 0, 210, 20));
btnM2->setRelativePosition(Resize(160, 0, 210, 20));
} else {
btnSP->setRelativePosition(Resize(65, 0, 115, 20));
btnM1->setRelativePosition(Resize(130, 0, 180, 20));
btnBP->setRelativePosition(Resize(195, 0, 245, 20));
btnM2->setRelativePosition(Resize(260, 0, 310, 20));
}
btnEP->setRelativePosition(Resize(320, 0, 370, 20));
btnShuffle->setRelativePosition(Resize(0, 0, 50, 20));
} }
btnEP->setRelativePosition(Resize(320, 0, 370, 20));
btnShuffle->setRelativePosition(Resize(0, 0, 50, 20));
btnSpectatorSwap->setRelativePosition(Resize(205, 100, 295, 135)); btnSpectatorSwap->setRelativePosition(Resize(205, 100, 295, 135));
btnChainAlways->setRelativePosition(Resize(205, 140, 295, 175)); btnChainAlways->setRelativePosition(Resize(205, 140, 295, 175));
btnChainIgnore->setRelativePosition(Resize(205, 100, 295, 135)); btnChainIgnore->setRelativePosition(Resize(205, 100, 295, 135));
......
...@@ -55,6 +55,7 @@ struct DuelInfo { ...@@ -55,6 +55,7 @@ struct DuelInfo {
int lp[2]; int lp[2];
int startlp; int startlp;
int duel_rule; int duel_rule;
int speed = false;
int turn; int turn;
short curMsg; short curMsg;
wchar_t hostname[20]; wchar_t hostname[20];
......
...@@ -32,10 +32,14 @@ bool ImageManager::Initial() { ...@@ -32,10 +32,14 @@ bool ImageManager::Initial() {
tBackGround_deck = driver->getTexture("textures/bg_deck.jpg"); tBackGround_deck = driver->getTexture("textures/bg_deck.jpg");
if(!tBackGround_deck) if(!tBackGround_deck)
tBackGround_deck = tBackGround; tBackGround_deck = tBackGround;
tField[0] = driver->getTexture("textures/field2.png"); tField[0][0] = driver->getTexture("textures/field2.png");
tFieldTransparent[0] = driver->getTexture("textures/field-transparent2.png"); tFieldTransparent[0][0] = driver->getTexture("textures/field-transparent2.png");
tField[1] = driver->getTexture("textures/field3.png"); tField[0][1] = driver->getTexture("textures/field3.png");
tFieldTransparent[1] = driver->getTexture("textures/field-transparent3.png"); tFieldTransparent[0][1] = driver->getTexture("textures/field-transparent3.png");
tField[1][0] = driver->getTexture("textures/fieldSP2.png");
tFieldTransparent[1][0] = driver->getTexture("textures/field-transparentSP2.png");
tField[1][1] = driver->getTexture("textures/fieldSP3.png");
tFieldTransparent[1][1] = driver->getTexture("textures/field-transparentSP3.png");
return true; return true;
} }
void ImageManager::SetDevice(irr::IrrlichtDevice* dev) { void ImageManager::SetDevice(irr::IrrlichtDevice* dev) {
......
...@@ -40,8 +40,8 @@ public: ...@@ -40,8 +40,8 @@ public:
irr::video::ITexture* tBackGround; irr::video::ITexture* tBackGround;
irr::video::ITexture* tBackGround_menu; irr::video::ITexture* tBackGround_menu;
irr::video::ITexture* tBackGround_deck; irr::video::ITexture* tBackGround_deck;
irr::video::ITexture* tField[2]; irr::video::ITexture* tField[2][2];
irr::video::ITexture* tFieldTransparent[2]; irr::video::ITexture* tFieldTransparent[2][2];
}; };
extern ImageManager imageManager; extern ImageManager imageManager;
......
...@@ -21,9 +21,12 @@ Materials::Materials() { ...@@ -21,9 +21,12 @@ Materials::Materials() {
SetS3DVertex(vChainNum, -0.35f, -0.35f, 0.35f, 0.35f, 0, 1, 0, 0, 0.19375f, 0.2421875f); SetS3DVertex(vChainNum, -0.35f, -0.35f, 0.35f, 0.35f, 0, 1, 0, 0, 0.19375f, 0.2421875f);
SetS3DVertex(vActivate, -0.5f, -0.5f, 0.5f, 0.5f, 0, 1, 0, 0, 1, 1); SetS3DVertex(vActivate, -0.5f, -0.5f, 0.5f, 0.5f, 0, 1, 0, 0, 1, 1);
SetS3DVertex(vField, -1.0f, -4.0f, 9.0f, 4.0f, 0, 1, 0, 0, 1, 1); SetS3DVertex(vField, -1.0f, -4.0f, 9.0f, 4.0f, 0, 1, 0, 0, 1, 1);
SetS3DVertex(vFieldSpell, 1.2f, -3.2f, 6.7f, 3.2f, 0, 1, 0, 0, 1, 1); SetS3DVertex(vFieldSpell[0], 1.2f, -3.2f, 6.7f, 3.2f, 0, 1, 0, 0, 1, 1);
SetS3DVertex(vFieldSpell1, 1.2f, 0.8f, 6.7f, 3.2f, 0, 1, 0, 0.2f, 1, 0.63636f); SetS3DVertex(vFieldSpell[1], 2.3f, -3.2f, 5.6f, 3.2f, 0, 1, 0, 0, 1, 1);
SetS3DVertex(vFieldSpell2, 1.2f, -3.2f, 6.7f, -0.8f, 0, 1, 1, 0.63636f, 0, 0.2f); SetS3DVertex(vFieldSpell1[0], 1.2f, 0.8f, 6.7f, 3.2f, 0, 1, 0, 0.2f, 1, 0.63636f);
SetS3DVertex(vFieldSpell1[1], 2.3f, 0.8f, 5.6f, 3.2f, 0, 1, 0, 0.2f, 1, 0.63636f);
SetS3DVertex(vFieldSpell2[0], 1.2f, -3.2f, 6.7f, -0.8f, 0, 1, 1, 0.63636f, 0, 0.2f);
SetS3DVertex(vFieldSpell2[1], 2.3f, -3.2f, 5.6f, -0.8f, 0, 1, 1, 0.63636f, 0, 0.2f);
/* /*
//background grids //background grids
...@@ -182,65 +185,108 @@ Materials::Materials() { ...@@ -182,65 +185,108 @@ Materials::Materials() {
iRectangle[4] = 1; iRectangle[4] = 1;
iRectangle[5] = 3; iRectangle[5] = 3;
SetS3DVertex(vFieldDeck[0], 6.9f, 2.7f, 7.7f, 3.9f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldDeck[0][0], 6.9f, 2.7f, 7.7f, 3.9f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldDeck[0][1], 5.8f, 2.7f, 6.6f, 3.9f, 0, 1, 0, 0, 0, 0);
//grave //grave
SetS3DVertex(vFieldGrave[0][0], 6.9f, 0.1f, 7.7f, 1.3f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldGrave[0][0][0], 6.9f, 0.1f, 7.7f, 1.3f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldGrave[0][1], 6.9f, 1.4f, 7.7f, 2.6f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldGrave[0][1][0], 6.9f, 1.4f, 7.7f, 2.6f, 0, 1, 0, 0, 0, 0);
//speed duel grave
SetS3DVertex(vFieldGrave[0][0][1], 5.8f, 0.1f, 6.6f, 1.3f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldGrave[0][1][1], 5.8f, 1.4f, 6.6f, 2.6f, 0, 1, 0, 0, 0, 0);
//extra //extra
SetS3DVertex(vFieldExtra[0], 0.2f, 2.7f, 1.0f, 3.9f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldExtra[0][0], 0.2f, 2.7f, 1.0f, 3.9f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldExtra[0][1], 1.3f, 2.7f, 2.1f, 3.9f, 0, 1, 0, 0, 0, 0);
//remove //remove
SetS3DVertex(vFieldRemove[0][0], 7.9f, 0.1f, 8.7f, 1.3f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldRemove[0][0][0], 7.9f, 0.1f, 8.7f, 1.3f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldRemove[0][1], 6.9f, 0.1f, 7.7f, 1.3f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldRemove[0][1][0], 6.9f, 0.1f, 7.7f, 1.3f, 0, 1, 0, 0, 0, 0);
//speed duel remove
SetS3DVertex(vFieldRemove[0][0][1], 6.8f, 0.1f, 7.6f, 1.3f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldRemove[0][1][1], 5.8f, 0.1f, 6.6f, 1.3f, 0, 1, 0, 0, 0, 0);
for(int i = 0; i < 5; ++i) for(int i = 0; i < 5; ++i)
SetS3DVertex(vFieldMzone[0][i], 1.2f + i * 1.1f, 0.8f, 2.3f + i * 1.1f, 2.0f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldMzone[0][i], 1.2f + i * 1.1f, 0.8f, 2.3f + i * 1.1f, 2.0f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldMzone[0][5], 2.3f, -0.6f, 3.4f, 0.6f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldMzone[0][5], 2.3f, -0.6f, 3.4f, 0.6f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldMzone[0][6], 4.5f, -0.6f, 5.6f, 0.6f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldMzone[0][6], 4.5f, -0.6f, 5.6f, 0.6f, 0, 1, 0, 0, 0, 0);
for (int i = 0; i < 5; ++i) { for (int i = 0; i < 5; ++i) {
SetS3DVertex(vFieldSzone[0][i][0], 1.2f + i * 1.1f, 2.0f, 2.3f + i * 1.1f, 3.2f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldSzone[0][i][0][0], 1.2f + i * 1.1f, 2.0f, 2.3f + i * 1.1f, 3.2f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldSzone[0][i][1], 1.2f + i * 1.1f, 2.0f, 2.3f + i * 1.1f, 3.2f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldSzone[0][i][1][0], 1.2f + i * 1.1f, 2.0f, 2.3f + i * 1.1f, 3.2f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldSzone[0][i][0][1], 1.2f + i * 1.1f, 2.0f, 2.3f + i * 1.1f, 3.2f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldSzone[0][i][1][1], 1.2f + i * 1.1f, 2.0f, 2.3f + i * 1.1f, 3.2f, 0, 1, 0, 0, 0, 0);
} }
//field //field
SetS3DVertex(vFieldSzone[0][5][0], 0.2f, 0.1f, 1.0f, 1.3f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldSzone[0][5][0][0], 0.2f, 0.1f, 1.0f, 1.3f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldSzone[0][5][1], 0.2f, 1.4f, 1.0f, 2.6f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldSzone[0][5][1][0], 0.2f, 1.4f, 1.0f, 2.6f, 0, 1, 0, 0, 0, 0);
//field speed duel
SetS3DVertex(vFieldSzone[0][5][0][1], 1.3f, 0.1f, 2.1f, 1.3f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldSzone[0][5][1][1], 1.3f, 1.4f, 2.1f, 2.6f, 0, 1, 0, 0, 0, 0);
//LScale //LScale
SetS3DVertex(vFieldSzone[0][6][0], 0.2f, 1.4f, 1.0f, 2.6f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldSzone[0][6][0][0], 0.2f, 1.4f, 1.0f, 2.6f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldSzone[0][6][1], 0.2f, 0.1f, 1.0f, 1.3f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldSzone[0][6][1][0], 0.2f, 0.1f, 1.0f, 1.3f, 0, 1, 0, 0, 0, 0);
//LScale speed duel
SetS3DVertex(vFieldSzone[0][6][0][1], 1.3f, 1.4f, 2.1f, 2.6f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldSzone[0][6][1][1], 1.3f, 0.1f, 2.1f, 1.3f, 0, 1, 0, 0, 0, 0);
//RScale //RScale
SetS3DVertex(vFieldSzone[0][7][0], 6.9f, 1.4f, 7.7f, 2.6f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldSzone[0][7][0][0], 6.9f, 1.4f, 7.7f, 2.6f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldSzone[0][7][1], 7.9f, 0.1f, 8.7f, 1.3f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldSzone[0][7][1][0], 7.9f, 0.1f, 8.7f, 1.3f, 0, 1, 0, 0, 0, 0);
//RScale speed duel
SetS3DVertex(vFieldSzone[0][7][0][1], 5.8f, 1.4f, 6.6f, 2.6f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldSzone[0][7][1][1], 6.8f, 0.1f, 7.6f, 1.3f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldDeck[1], 1.0f, -2.7f, 0.2f, -3.9f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldDeck[1][0], 1.0f, -2.7f, 0.2f, -3.9f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldDeck[1][1], 2.1f, -2.7f, 1.3f, -3.9f, 0, 1, 0, 0, 0, 0);
//grave //grave
SetS3DVertex(vFieldGrave[1][0], 1.0f, -0.1f, 0.2f, -1.3f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldGrave[1][0][0], 1.0f, -0.1f, 0.2f, -1.3f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldGrave[1][1], 1.0f, -1.4f, 0.2f, -2.6f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldGrave[1][1][0], 1.0f, -1.4f, 0.2f, -2.6f, 0, 1, 0, 0, 0, 0);
//speed duel grave
SetS3DVertex(vFieldGrave[1][0][1], 2.1f, -0.1f, 1.3f, -1.3f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldGrave[1][1][1], 2.1f, -1.4f, 1.3f, -2.6f, 0, 1, 0, 0, 0, 0);
//extra //extra
SetS3DVertex(vFieldExtra[1], 7.7f, -2.7f, 6.9f, -3.9f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldExtra[1][0], 7.7f, -2.7f, 6.9f, -3.9f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldExtra[1][1], 6.6f, -2.7f, 5.8f, -3.9f, 0, 1, 0, 0, 0, 0);
//remove //remove
SetS3DVertex(vFieldRemove[1][0], 0.0f, -0.1f, -0.8f, -1.3f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldRemove[1][0][0], 0.0f, -0.1f, -0.8f, -1.3f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldRemove[1][1], 1.0f, -0.1f, 0.2f, -1.3f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldRemove[1][1][0], 1.0f, -0.1f, 0.2f, -1.3f, 0, 1, 0, 0, 0, 0);
//speed duel remove
SetS3DVertex(vFieldRemove[1][0][1], 1.1f, -0.1f, 0.3f, -1.3f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldRemove[1][1][1], 2.1f, -0.1f, 1.3f, -1.3f, 0, 1, 0, 0, 0, 0);
for(int i = 0; i < 5; ++i) for(int i = 0; i < 5; ++i)
SetS3DVertex(vFieldMzone[1][i], 6.7f - i * 1.1f, -0.8f, 5.6f - i * 1.1f, -2.0f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldMzone[1][i], 6.7f - i * 1.1f, -0.8f, 5.6f - i * 1.1f, -2.0f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldMzone[1][5], 5.6f, 0.6f, 4.5f, -0.6f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldMzone[1][5], 5.6f, 0.6f, 4.5f, -0.6f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldMzone[1][6], 3.4f, 0.6f, 2.3f, -0.6f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldMzone[1][6], 3.4f, 0.6f, 2.3f, -0.6f, 0, 1, 0, 0, 0, 0);
for (int i = 0; i < 5; ++i) { for (int i = 0; i < 5; ++i) {
SetS3DVertex(vFieldSzone[1][i][0], 6.7f - i * 1.1f, -2.0f, 5.6f - i * 1.1f, -3.2f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldSzone[1][i][0][0], 6.7f - i * 1.1f, -2.0f, 5.6f - i * 1.1f, -3.2f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldSzone[1][i][1], 6.7f - i * 1.1f, -2.0f, 5.6f - i * 1.1f, -3.2f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldSzone[1][i][1][0], 6.7f - i * 1.1f, -2.0f, 5.6f - i * 1.1f, -3.2f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldSzone[1][i][0][1], 6.7f - i * 1.1f, -2.0f, 5.6f - i * 1.1f, -3.2f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldSzone[1][i][1][1], 6.7f - i * 1.1f, -2.0f, 5.6f - i * 1.1f, -3.2f, 0, 1, 0, 0, 0, 0);
} }
//field //field
SetS3DVertex(vFieldSzone[1][5][0], 7.7f, -0.1f, 6.9f, -1.3f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldSzone[1][5][0][0], 7.7f, -0.1f, 6.9f, -1.3f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldSzone[1][5][1], 7.7f, -1.4f, 6.9f, -2.6f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldSzone[1][5][1][0], 7.7f, -1.4f, 6.9f, -2.6f, 0, 1, 0, 0, 0, 0);
//field speed duel
SetS3DVertex(vFieldSzone[1][5][0][1], 6.6f, -0.1f, 5.8f, -1.3f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldSzone[1][5][1][1], 6.6f, -1.4f, 5.8f, -2.6f, 0, 1, 0, 0, 0, 0);
//LScale //LScale
SetS3DVertex(vFieldSzone[1][6][0], 7.7f, -1.4f, 6.9f, -2.6f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldSzone[1][6][0][0], 7.7f, -1.4f, 6.9f, -2.6f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldSzone[1][6][1], 7.7f, -0.1f, 6.9f, -1.3f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldSzone[1][6][1][0], 7.7f, -0.1f, 6.9f, -1.3f, 0, 1, 0, 0, 0, 0);
//LScale speed duel
SetS3DVertex(vFieldSzone[1][6][0][1], 6.6f, -1.4f, 5.8f, -2.6f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldSzone[1][6][1][1], 6.6f, -0.1f, 5.8f, -1.3f, 0, 1, 0, 0, 0, 0);
//RScale //RScale
SetS3DVertex(vFieldSzone[1][7][0], 1.0f, -1.4f, 0.2f, -2.6f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldSzone[1][7][0][0], 1.0f, -1.4f, 0.2f, -2.6f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldSzone[1][7][1], 0.0f, -0.1f, -0.8f, -1.3f, 0, 1, 0, 0, 0, 0); SetS3DVertex(vFieldSzone[1][7][1][0], 0.0f, -0.1f, -0.8f, -1.3f, 0, 1, 0, 0, 0, 0);
//RScale speed duel
SetS3DVertex(vFieldSzone[1][7][0][1], 2.1f, -1.4f, 1.3f, -2.6f, 0, 1, 0, 0, 0, 0);
SetS3DVertex(vFieldSzone[1][7][1][1], 1.1f, -0.1f, 0.3f, -1.3f, 0, 1, 0, 0, 0, 0);
//conti_act //conti_act
vFieldContiAct[0] = vector3df(-0.8f, 0.1f, 0.0f); vFieldContiAct[0][0] = vector3df(-0.8f, 0.1f, 0.0f);
vFieldContiAct[1] = vector3df(0.0f, 0.1f, 0.0f); vFieldContiAct[0][1] = vector3df(0.0f, 0.1f, 0.0f);
vFieldContiAct[2] = vector3df(-0.8f, 1.3f, 0.0f); vFieldContiAct[0][2] = vector3df(-0.8f, 1.3f, 0.0f);
vFieldContiAct[3] = vector3df(0.0f, 1.3f, 0.0f); vFieldContiAct[0][3] = vector3df(0.0f, 1.3f, 0.0f);
//conti_act speed
vFieldContiAct[1][0] = vector3df(0.3f, 0.1f, 0.0f);
vFieldContiAct[1][1] = vector3df(1.1f, 0.1f, 0.0f);
vFieldContiAct[1][2] = vector3df(0.3f, 1.3f, 0.0f);
vFieldContiAct[1][3] = vector3df(1.1f, 1.3f, 0.0f);
for(int i = 0; i < 40; ++i) for(int i = 0; i < 40; ++i)
......
...@@ -16,17 +16,17 @@ public: ...@@ -16,17 +16,17 @@ public:
S3DVertex vChainNum[4]; S3DVertex vChainNum[4];
S3DVertex vActivate[4]; S3DVertex vActivate[4];
S3DVertex vField[4]; S3DVertex vField[4];
S3DVertex vFieldSpell[4]; S3DVertex vFieldSpell[2][4];
S3DVertex vFieldSpell1[4]; S3DVertex vFieldSpell1[2][4];
S3DVertex vFieldSpell2[4]; S3DVertex vFieldSpell2[2][4];
//S3DVertex vBackLine[76]; //S3DVertex vBackLine[76];
S3DVertex vFieldDeck[2][4]; S3DVertex vFieldDeck[2][2][4];
S3DVertex vFieldGrave[2][2][4]; S3DVertex vFieldGrave[2][2][2][4];
S3DVertex vFieldExtra[2][4]; S3DVertex vFieldExtra[2][2][4];
S3DVertex vFieldRemove[2][2][4]; S3DVertex vFieldRemove[2][2][2][4];
S3DVertex vFieldMzone[2][7][4]; S3DVertex vFieldMzone[2][7][4];
S3DVertex vFieldSzone[2][8][2][4]; S3DVertex vFieldSzone[2][8][2][2][4];
irr::core::vector3df vFieldContiAct[4]; irr::core::vector3df vFieldContiAct[2][4];
S3DVertex vArrow[40]; S3DVertex vArrow[40];
SColor c2d[4]; SColor c2d[4];
u16 iRectangle[6]; u16 iRectangle[6];
......
textures/field-transparent2.png

1.95 KB | W: | H:

textures/field-transparent2.png

137 KB | W: | H:

textures/field-transparent2.png
textures/field-transparent2.png
textures/field-transparent2.png
textures/field-transparent2.png
  • 2-up
  • Swipe
  • Onion skin
textures/field-transparent3.png

15.9 KB | W: | H:

textures/field-transparent3.png

57.6 KB | W: | H:

textures/field-transparent3.png
textures/field-transparent3.png
textures/field-transparent3.png
textures/field-transparent3.png
  • 2-up
  • Swipe
  • Onion skin
textures/field2.png

3.99 KB | W: | H:

textures/field2.png

292 KB | W: | H:

textures/field2.png
textures/field2.png
textures/field2.png
textures/field2.png
  • 2-up
  • Swipe
  • Onion skin
textures/field3.png

18.4 KB | W: | H:

textures/field3.png

154 KB | W: | H:

textures/field3.png
textures/field3.png
textures/field3.png
textures/field3.png
  • 2-up
  • Swipe
  • Onion skin
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