X-Git-Url: http://git.shiar.net/netris.git/blobdiff_plain/c7eeb8f0c70c3d6538b7199f0e2094967413d35d..50f9d7882f93716af8b7436e88d1da62f05e198b:/game.c diff --git a/game.c b/game.c index 7537fc4..5779d84 100644 --- a/game.c +++ b/game.c @@ -125,6 +125,7 @@ void HandleOption(char tag, char *value) case 'a': //ascii if (value && !strcasecmp(value, "0")) Sets.ascii = 0; else Sets.ascii = 1; + Sets.drawstyle &= ~Sets.ascii; break; case 'c': //connect game = GT_classicTwo; @@ -137,10 +138,7 @@ void HandleOption(char tag, char *value) Game.initspeed = atof(value) * 1e6; break; case 'l': //level - if ((Players[0].score.level = atof(value)) < 1) - Players[0].score.level = 1; - if (Players[0].score.level > 15) - Players[0].score.level = 15; + Players[0].score.level = MIN(MAX(atof(value), 1), 15); break; case 'n': //nick memcpy(Players[0].name, value, strlen(value) + 1); @@ -294,8 +292,7 @@ void CheckClears(int scr) short junkLines; netint4 data[1]; - if (Game.gravity) junkLines = linesCleared - 1; - else junkLines = linesCleared - (linesCleared < 4); + junkLines = linesCleared - (Game.gravity ? 1 : linesCleared < 4); data[0] = junkLines; SendPacket(me, NP_giveJunk, sizeof(data), data); Message("\\%dYou send %d lines", @@ -322,30 +319,36 @@ void OneGame(void) { char *p; - if (key == 13) { - if (!(chatMode = !chatMode)) { + if (chatMode) { + if (key == 13) { + // enter text + chatMode = 0; if (chatText[0]) { Message("<\\%d%s\\7> %s", Players[me].team > 7 ? 7 : Players[me].team, Players[me].name, chatText); - if (game==GT_classicTwo) + if (game == GT_classicTwo) SendPacket(me, NP_msg, strlen(chatText) + 1, chatText); memset(chatText, 0, sizeof(chatText)); } //say it else Messagetype(27, -1, NULL); //escape return; - } //leave chat mode - } //enter pressed (start/stop chat mode) - if (chatMode) { - if (key == 27) //escape + } + else if (key == 27) //escape chatMode = 0; else if (key == 127 && chatText) //backspace chatText[strlen(chatText) - 1] = 0; - else if (key != 13 && strlen(chatText) < MSG_WIDTH-1) //text + else if (strlen(chatText) < MSG_WIDTH-1) //text chatText[strlen(chatText)] = key; Messagetype(key, strlen(chatText) - 1, chatText); return; } //key in chat mode + + if (key == 13) { + chatMode = 1; + Messagetype(key, strlen(chatText) - 1, chatText); + } + if (!(p = strchr(keyTable, tolower(key)))) return; key = p - keyTable; if (Players[me].alive <= 0 && key != KT_quit) return; @@ -429,7 +432,6 @@ void OneGame(void) switch(net.type) { case NP_newPiece: { - FreezePiece(net.uid); memcpy(&Players[net.uid].nextShape, net.data, sizeof(Players[0].nextShape)); StartNewPiece(net.uid, Players[net.uid].curShape); @@ -583,24 +585,24 @@ void OneGame(void) break; } //(un)pause case NP_part: + // player left checkPaused(); oldPaused = 0; - { Players[net.uid].alive = -1; Message("%s left", Players[net.uid].name); checkPaused(); ShowPause(net.uid); changed = 1; break; - } //player left case NP_argghhh: { char i; memcpy(&i, net.data, sizeof(i)); Players[net.uid].alive = 0; - if (i == me) Message("\\%dYou fragged %s", + if (i == me) + Message("\\%dYou fragged %s", Players[me].team > 7 ? 7 : Players[me].team, Players[net.uid].name); - else if (i==net.uid) + else if (i == net.uid) Message("\\%d%s died", Players[i].team > 7 ? 7 : Players[i].team, Players[i].name); else