{
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,
} //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;