Commit 0ca71d8e authored by nanahira's avatar nanahira

Merge branch 'patch-chat-reverse' into develop

parents 3472f1a2 13c2d7a9
Pipeline #26822 passed with stages
in 4 minutes and 33 seconds
......@@ -239,6 +239,7 @@ void DuelClient::ClientEvent(bufferevent *bev, short events, void *ctx) {
mainGame->closeDoneSignal.Wait();
mainGame->gMutex.lock();
mainGame->dInfo.isStarted = false;
mainGame->dInfo.isInDuel = false;
mainGame->dInfo.isFinished = false;
mainGame->is_building = false;
mainGame->device->setEventReceiver(&mainGame->menuHandler);
......@@ -472,6 +473,7 @@ void DuelClient::HandleSTOCPacketLan(unsigned char* data, unsigned int len) {
case STOC_CHANGE_SIDE: {
mainGame->gMutex.lock();
mainGame->dInfo.isStarted = false;
mainGame->dInfo.isInDuel = false;
mainGame->dField.Clear();
mainGame->is_building = true;
mainGame->is_siding = true;
......@@ -776,6 +778,7 @@ void DuelClient::HandleSTOCPacketLan(unsigned char* data, unsigned int len) {
mainGame->closeDoneSignal.Wait();
mainGame->gMutex.lock();
mainGame->dInfo.isStarted = false;
mainGame->dInfo.isInDuel = false;
mainGame->dInfo.isFinished = true;
mainGame->dInfo.announce_cache.clear();
mainGame->is_building = false;
......@@ -860,13 +863,13 @@ void DuelClient::HandleSTOCPacketLan(unsigned char* data, unsigned int len) {
int player = pkt->player;
if(player < 4) {
if(!mainGame->dInfo.isTag) {
if(mainGame->dInfo.isStarted) {
if(mainGame->dInfo.isInDuel) {
player = mainGame->LocalPlayer(player);
if(player == 1 && mainGame->chkIgnore1->isChecked())
break;
}
} else {
if(mainGame->dInfo.isStarted && !mainGame->dInfo.isFirst)
if(mainGame->dInfo.isInDuel && !mainGame->dInfo.isFirst)
player ^= 2;
if(player == 0)
player = 0;
......@@ -1111,6 +1114,7 @@ int DuelClient::ClientAnalyze(unsigned char* msg, unsigned int len) {
mainGame->closeDoneSignal.Wait();
mainGame->gMutex.lock();
mainGame->dInfo.isStarted = false;
mainGame->dInfo.isInDuel = false;
mainGame->dInfo.isFinished = false;
mainGame->btnCreateHost->setEnabled(true);
mainGame->btnJoinHost->setEnabled(true);
......@@ -1362,6 +1366,7 @@ int DuelClient::ClientAnalyze(unsigned char* msg, unsigned int len) {
mainGame->showcard = 0;
mainGame->gMutex.lock();
mainGame->dField.Clear();
mainGame->dInfo.isInDuel = true;
int playertype = BufferIO::ReadUInt8(pbuf);
mainGame->dInfo.isFirst = (playertype & 0xf) ? false : true;
if(playertype & 0xf0)
......
......@@ -127,6 +127,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
if(mainGame->dInfo.player_type == 7) {
DuelClient::StopClient();
mainGame->dInfo.isStarted = false;
mainGame->dInfo.isInDuel = false;
mainGame->dInfo.isFinished = false;
mainGame->device->setEventReceiver(&mainGame->menuHandler);
mainGame->CloseDuelWindow();
......
......@@ -20,6 +20,7 @@ Game* mainGame;
void DuelInfo::Clear() {
isStarted = false;
isInDuel = false;
isFinished = false;
isReplay = false;
isReplaySkiping = false;
......
......@@ -93,7 +93,8 @@ struct Config {
struct DuelInfo {
bool isStarted{ false };
bool isFinished{ false };
bool isInDuel{ false };
bool isFinished{false};
bool isReplay{ false };
bool isReplaySkiping{ false };
bool isFirst{ false };
......
......@@ -262,6 +262,7 @@ void ReplayMode::EndDuel() {
}
mainGame->gMutex.lock();
mainGame->dInfo.isStarted = false;
mainGame->dInfo.isInDuel = false;
mainGame->dInfo.isFinished = true;
mainGame->dInfo.isReplay = false;
mainGame->dInfo.isSingleMode = false;
......@@ -280,7 +281,9 @@ void ReplayMode::EndDuel() {
}
void ReplayMode::Restart(bool refresh) {
end_duel(pduel);
mainGame->dInfo.isInDuel = false;
mainGame->dInfo.isStarted = false;
mainGame->dInfo.isInDuel = false;
mainGame->dInfo.isFinished = true;
mainGame->dField.Clear();
//mainGame->device->setEventReceiver(&mainGame->dField);
......
......@@ -162,6 +162,7 @@ int SingleMode::SinglePlayThread() {
if(!is_closing) {
mainGame->gMutex.lock();
mainGame->dInfo.isStarted = false;
mainGame->dInfo.isInDuel = false;
mainGame->dInfo.isFinished = true;
mainGame->dInfo.isSingleMode = false;
mainGame->gMutex.unlock();
......
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