seperate code for entering chat mode
[netris.git] / game.c
diff --git a/game.c b/game.c
index 9bd9f23bb7446a734473899f702e392c974dfd85..5779d84c2ca89f71e7d9f72a04c91ac5a59ff218 100644 (file)
--- a/game.c
+++ b/game.c
@@ -319,8 +319,10 @@ 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,
@@ -331,20 +333,22 @@ void OneGame(void)
                                } //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;
@@ -428,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);