Commit 3ba959f0 authored by nanahira's avatar nanahira

Merge branch 'server' of https://github.com/purerosefallen/ygopro

parents 53b6b856 8f32dace
No preview for this file type
......@@ -408,7 +408,7 @@ void ClientField::ShowSelectCard(bool buttonok, bool chain) {
else if(conti_selecting)
mainGame->imageLoading.insert(std::make_pair(mainGame->btnCardSelect[i], selectable_cards[i]->chain_code));
else
mainGame->btnCardSelect[i]->setImage(imageManager.tCover[2], rect<s32>(0, 0, CARD_IMG_WIDTH, CARD_IMG_HEIGHT));
mainGame->btnCardSelect[i]->setImage(imageManager.tCover[selectable_cards[i]->controler + 2], rect<s32>(0, 0, CARD_IMG_WIDTH, CARD_IMG_HEIGHT));
mainGame->btnCardSelect[i]->setRelativePosition(rect<s32>(startpos + i * 125, 55, startpos + 120 + i * 125, 225));
mainGame->btnCardSelect[i]->setPressed(false);
mainGame->btnCardSelect[i]->setVisible(true);
......@@ -494,7 +494,7 @@ void ClientField::ShowChainCard() {
if(selectable_cards[i]->code)
mainGame->imageLoading.insert(std::make_pair(mainGame->btnCardSelect[i], selectable_cards[i]->code));
else
mainGame->btnCardSelect[i]->setImage(imageManager.tCover[2], rect<s32>(0, 0, CARD_IMG_WIDTH, CARD_IMG_HEIGHT));
mainGame->btnCardSelect[i]->setImage(imageManager.tCover[selectable_cards[i]->controler + 2], rect<s32>(0, 0, CARD_IMG_WIDTH, CARD_IMG_HEIGHT));
mainGame->btnCardSelect[i]->setRelativePosition(rect<s32>(startpos + i * 125, 55, startpos + 120 + i * 125, 225));
mainGame->btnCardSelect[i]->setPressed(false);
mainGame->btnCardSelect[i]->setVisible(true);
......@@ -549,7 +549,7 @@ void ClientField::ShowLocationCard() {
if(display_cards[i]->code)
mainGame->imageLoading.insert(std::make_pair(mainGame->btnCardDisplay[i], display_cards[i]->code));
else
mainGame->btnCardDisplay[i]->setImage(imageManager.tCover[2], rect<s32>(0, 0, CARD_IMG_WIDTH, CARD_IMG_HEIGHT));
mainGame->btnCardDisplay[i]->setImage(imageManager.tCover[display_cards[i]->controler + 2], rect<s32>(0, 0, CARD_IMG_WIDTH, CARD_IMG_HEIGHT));
mainGame->btnCardDisplay[i]->setRelativePosition(rect<s32>(startpos + i * 125, 55, startpos + 120 + i * 125, 225));
mainGame->btnCardDisplay[i]->setPressed(false);
mainGame->btnCardDisplay[i]->setVisible(true);
......
......@@ -855,7 +855,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
else if(conti_selecting)
mainGame->btnCardSelect[i]->setImage(imageManager.GetTexture(selectable_cards[i + pos]->chain_code));
else
mainGame->btnCardSelect[i]->setImage(imageManager.tCover[2], rect<s32>(0, 0, CARD_IMG_WIDTH, CARD_IMG_HEIGHT));
mainGame->btnCardSelect[i]->setImage(imageManager.tCover[selectable_cards[i + pos]->controler + 2], rect<s32>(0, 0, CARD_IMG_WIDTH, CARD_IMG_HEIGHT));
mainGame->btnCardSelect[i]->setRelativePosition(rect<s32>(30 + i * 125, 55, 30 + 120 + i * 125, 225));
// text
wchar_t formatBuffer[2048];
......@@ -918,7 +918,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
if(display_cards[i + pos]->code)
mainGame->btnCardDisplay[i]->setImage(imageManager.GetTexture(display_cards[i + pos]->code));
else
mainGame->btnCardDisplay[i]->setImage(imageManager.tCover[2], rect<s32>(0, 0, CARD_IMG_WIDTH, CARD_IMG_HEIGHT));
mainGame->btnCardDisplay[i]->setImage(imageManager.tCover[display_cards[i + pos]->controler + 2], rect<s32>(0, 0, CARD_IMG_WIDTH, CARD_IMG_HEIGHT));
mainGame->btnCardDisplay[i]->setRelativePosition(rect<s32>(30 + i * 125, 55, 30 + 120 + i * 125, 225));
wchar_t formatBuffer[2048];
if(display_cards[i + pos]->location == LOCATION_OVERLAY) {
......@@ -981,7 +981,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
if(mcard->code) {
mainGame->ShowCardInfo(mcard->code);
} else {
mainGame->imgCard->setImage(imageManager.tCover[0]);
mainGame->imgCard->setImage(imageManager.tCover[mcard->controler]);
mainGame->showingcode = 0;
mainGame->stName->setText(L"");
mainGame->stInfo->setText(L"");
......@@ -997,7 +997,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
if(mcard->code) {
mainGame->ShowCardInfo(mcard->code);
} else {
mainGame->imgCard->setImage(imageManager.tCover[0]);
mainGame->imgCard->setImage(imageManager.tCover[mcard->controler]);
mainGame->showingcode = 0;
mainGame->stName->setText(L"");
mainGame->stInfo->setText(L"");
......@@ -1580,7 +1580,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
}
} else {
should_show_tip = false;
mainGame->imgCard->setImage(imageManager.tCover[0]);
mainGame->imgCard->setImage(imageManager.tCover[mcard->controler]);
mainGame->showingcode = 0;
mainGame->stName->setText(L"");
mainGame->stInfo->setText(L"");
......
......@@ -27,7 +27,7 @@
#include <io.h>
#endif
unsigned short PRO_VERSION = 0x1344;
unsigned short PRO_VERSION = 0x1345;
namespace ygo {
......
......@@ -14,6 +14,7 @@ bool ImageManager::Initial() {
tCover[0] = NULL;
tCover[1] = NULL;
tCover[2] = NULL;
tCover[3] = NULL;
//tUnknown = NULL;
tUnknown[0] = NULL;
tUnknown[1] = NULL;
......@@ -201,6 +202,12 @@ void ImageManager::ResizeTexture() {
tCover[2] = GetTextureFromFile("textures/cover.jpg", CARD_IMG_WIDTH, CARD_IMG_HEIGHT);
if(!tCover[2])
tCover[2] = tCover[0];
if(!tCover[3])
tCover[3] = GetRandomImage(TEXTURE_COVER_O, CARD_IMG_WIDTH, CARD_IMG_HEIGHT);
if(!tCover[3])
tCover[3] = GetTextureFromFile("textures/cover2.jpg", CARD_IMG_WIDTH, CARD_IMG_HEIGHT);
if(!tCover[3])
tCover[3] = tCover[2];
//driver->removeTexture(tUnknown);
//tUnknown = GetTextureFromFile("textures/unknown.jpg", imgWidth, imgHeight);
driver->removeTexture(tBackGround);
......
......@@ -32,7 +32,7 @@ public:
std::unordered_map<int, irr::video::ITexture*> tFields;
irr::IrrlichtDevice* device;
irr::video::IVideoDriver* driver;
irr::video::ITexture* tCover[3];
irr::video::ITexture* tCover[4];
irr::video::ITexture* tUnknown[3];
irr::video::ITexture* tAct;
irr::video::ITexture* tAttack;
......
......@@ -605,8 +605,6 @@ void SingleDuel::TPResult(DuelPlayer* dp, unsigned char tp) {
NetServer::SendBufferToPlayer(cache_recorder, STOC_GAME_MSG, startbuf, 18);
if(replay_recorder)
NetServer::SendBufferToPlayer(replay_recorder, STOC_GAME_MSG, startbuf, 18);
lp[0] = host_info.start_lp;
lp[1] = host_info.start_lp;
turn_player = 0;
phase = 1;
#endif
......@@ -1504,15 +1502,7 @@ int SingleDuel::Analyze(char* msgbuffer, unsigned int len) {
break;
}
case MSG_DAMAGE: {
#ifdef YGOPRO_SERVER_MODE
int player = BufferIO::ReadInt8(pbuf);
int val = BufferIO::ReadInt32(pbuf);
lp[player] -= val;
if(lp[player] < 0)
lp[player] = 0;
#else
pbuf += 5;
#endif
NetServer::SendBufferToPlayer(players[0], STOC_GAME_MSG, offset, pbuf - offset);
NetServer::ReSendToPlayer(players[1]);
for(auto oit = observers.begin(); oit != observers.end(); ++oit)
......@@ -1523,13 +1513,7 @@ int SingleDuel::Analyze(char* msgbuffer, unsigned int len) {
break;
}
case MSG_RECOVER: {
#ifdef YGOPRO_SERVER_MODE
int player = BufferIO::ReadInt8(pbuf);
int val = BufferIO::ReadInt32(pbuf);
lp[player] += val;
#else
pbuf += 5;
#endif
NetServer::SendBufferToPlayer(players[0], STOC_GAME_MSG, offset, pbuf - offset);
NetServer::ReSendToPlayer(players[1]);
for(auto oit = observers.begin(); oit != observers.end(); ++oit)
......@@ -1551,13 +1535,7 @@ int SingleDuel::Analyze(char* msgbuffer, unsigned int len) {
break;
}
case MSG_LPUPDATE: {
#ifdef YGOPRO_SERVER_MODE
int player = BufferIO::ReadInt8(pbuf);
int val = BufferIO::ReadInt32(pbuf);
lp[player] = val;
#else
pbuf += 5;
#endif
NetServer::SendBufferToPlayer(players[0], STOC_GAME_MSG, offset, pbuf - offset);
NetServer::ReSendToPlayer(players[1]);
for(auto oit = observers.begin(); oit != observers.end(); ++oit)
......@@ -1601,15 +1579,7 @@ int SingleDuel::Analyze(char* msgbuffer, unsigned int len) {
break;
}
case MSG_PAY_LPCOST: {
#ifdef YGOPRO_SERVER_MODE
int player = BufferIO::ReadInt8(pbuf);
int val = BufferIO::ReadInt32(pbuf);
lp[player] -= val;
if(lp[player] < 0)
lp[player] = 0;
#else
pbuf += 5;
#endif
NetServer::SendBufferToPlayer(players[0], STOC_GAME_MSG, offset, pbuf - offset);
NetServer::ReSendToPlayer(players[1]);
for(auto oit = observers.begin(); oit != observers.end(); ++oit)
......@@ -1877,8 +1847,8 @@ void SingleDuel::RequestField(DuelPlayer* dp) {
char startbuf[32], *pbuf = startbuf;
BufferIO::WriteInt8(pbuf, MSG_START);
BufferIO::WriteInt8(pbuf, player);
BufferIO::WriteInt32(pbuf, lp[0]);
BufferIO::WriteInt32(pbuf, lp[1]);
BufferIO::WriteInt32(pbuf, host_info.start_lp);
BufferIO::WriteInt32(pbuf, host_info.start_lp);
BufferIO::WriteInt16(pbuf, 0);
BufferIO::WriteInt16(pbuf, 0);
BufferIO::WriteInt16(pbuf, 0);
......
......@@ -77,7 +77,6 @@ protected:
#ifdef YGOPRO_SERVER_MODE
DuelPlayer* cache_recorder;
DuelPlayer* replay_recorder;
int lp[2];
unsigned char turn_player;
unsigned short phase;
#endif
......
......@@ -591,8 +591,6 @@ void TagDuel::TPResult(DuelPlayer* dp, unsigned char tp) {
NetServer::SendBufferToPlayer(cache_recorder, STOC_GAME_MSG, startbuf, 18);
if(replay_recorder)
NetServer::SendBufferToPlayer(replay_recorder, STOC_GAME_MSG, startbuf, 18);
lp[0] = host_info.start_lp;
lp[1] = host_info.start_lp;
turn_player = 0;
phase = 1;
#endif
......@@ -1451,15 +1449,7 @@ int TagDuel::Analyze(char* msgbuffer, unsigned int len) {
break;
}
case MSG_DAMAGE: {
#ifdef YGOPRO_SERVER_MODE
int player = BufferIO::ReadInt8(pbuf);
int val = BufferIO::ReadInt32(pbuf);
lp[player] -= val;
if(lp[player] < 0)
lp[player] = 0;
#else
pbuf += 5;
#endif
NetServer::SendBufferToPlayer(players[0], STOC_GAME_MSG, offset, pbuf - offset);
NetServer::ReSendToPlayer(players[1]);
NetServer::ReSendToPlayer(players[2]);
......@@ -1472,13 +1462,7 @@ int TagDuel::Analyze(char* msgbuffer, unsigned int len) {
break;
}
case MSG_RECOVER: {
#ifdef YGOPRO_SERVER_MODE
int player = BufferIO::ReadInt8(pbuf);
int val = BufferIO::ReadInt32(pbuf);
lp[player] += val;
#else
pbuf += 5;
#endif
NetServer::SendBufferToPlayer(players[0], STOC_GAME_MSG, offset, pbuf - offset);
NetServer::ReSendToPlayer(players[1]);
NetServer::ReSendToPlayer(players[2]);
......@@ -1504,13 +1488,7 @@ int TagDuel::Analyze(char* msgbuffer, unsigned int len) {
break;
}
case MSG_LPUPDATE: {
#ifdef YGOPRO_SERVER_MODE
int player = BufferIO::ReadInt8(pbuf);
int val = BufferIO::ReadInt32(pbuf);
lp[player] = val;
#else
pbuf += 5;
#endif
NetServer::SendBufferToPlayer(players[0], STOC_GAME_MSG, offset, pbuf - offset);
NetServer::ReSendToPlayer(players[1]);
NetServer::ReSendToPlayer(players[2]);
......@@ -1562,15 +1540,7 @@ int TagDuel::Analyze(char* msgbuffer, unsigned int len) {
break;
}
case MSG_PAY_LPCOST: {
#ifdef YGOPRO_SERVER_MODE
int player = BufferIO::ReadInt8(pbuf);
int val = BufferIO::ReadInt32(pbuf);
lp[player] -= val;
if(lp[player] < 0)
lp[player] = 0;
#else
pbuf += 5;
#endif
NetServer::SendBufferToPlayer(players[0], STOC_GAME_MSG, offset, pbuf - offset);
NetServer::ReSendToPlayer(players[1]);
NetServer::ReSendToPlayer(players[2]);
......@@ -1897,8 +1867,8 @@ void TagDuel::RequestField(DuelPlayer* dp) {
char startbuf[32], *pbuf = startbuf;
BufferIO::WriteInt8(pbuf, MSG_START);
BufferIO::WriteInt8(pbuf, player);
BufferIO::WriteInt32(pbuf, lp[0]);
BufferIO::WriteInt32(pbuf, lp[1]);
BufferIO::WriteInt32(pbuf, host_info.start_lp);
BufferIO::WriteInt32(pbuf, host_info.start_lp);
BufferIO::WriteInt16(pbuf, 0);
BufferIO::WriteInt16(pbuf, 0);
BufferIO::WriteInt16(pbuf, 0);
......
......@@ -62,7 +62,6 @@ protected:
#ifdef YGOPRO_SERVER_MODE
DuelPlayer* cache_recorder;
DuelPlayer* replay_recorder;
int lp[2];
int turn_player;
int phase;
#endif
......
......@@ -243,6 +243,9 @@
!system 1164 同调召唤
!system 1165 超量召唤
!system 1166 连接召唤
!system 1190 加入手卡
!system 1191 送去墓地
!system 1192 除外
#menu
!system 1200 联机模式
!system 1201 单人模式
......@@ -922,3 +925,4 @@
!setname 0x11f 奈芙提斯 ネフティス
!setname 0x120 调皮宝贝 プランキッズ
!setname 0x121 魔妖
!setname 0x122 女武神
......@@ -2,7 +2,7 @@
#nickname & gamename should be less than 20 characters
use_d3d = 0
use_image_scale = 1
pro_version = 4931
pro_version = 4933
antialias = 2
errorlog = 3
nickname = Komeiji Koishi
......
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