void MultiSendMacro (int key) { if (!(gameOpts->multi.bUseMacros && (gameData.app.nGameMode & GM_MULTI))) return; switch (key) { case KEY_F9: key = 0; break; case KEY_F10: key = 1; break; case KEY_F11: key = 2; break; case KEY_F12: key = 3; break; default: Int3 (); } if (!gameData.multigame.msg.szMacro [key][0]) { HUDInitMessage (TXT_NO_MACRO); return; } strcpy (gameData.multigame.msg.szMsg, gameData.multigame.msg.szMacro [key]); gameData.multigame.msg.nReceiver = 100; HUDInitMessage ("%s '%s'", TXT_SENDING, gameData.multigame.msg.szMsg); MultiMessageFeedback (); }
void MultiSendMsgEnd () { gameData.multigame.msg.nReceiver = 100; if (!strnicmp (gameData.multigame.msg.szMsg, TXT_NAMES_OFF, 6)) { bNameReturning = 1-bNameReturning; HUDInitMessage (TXT_NAMERET, bNameReturning? TXT_NR_ACTIVE : TXT_NR_DISABLED); } else if (!strnicmp (gameData.multigame.msg.szMsg, TXT_HANDICAP, 9)) { if (HandicapPlayer ()) return; } else if (!strnicmp (gameData.multigame.msg.szMsg, TXT_BOMBS_OFF, 7)) netGame.DoSmartMine = 0; else if (!(gameStates.render.cockpit.bShowPingStats || strnicmp (gameData.multigame.msg.szMsg, TXT_PING, 5))) { if (PingPlayer (-1)) return; } else if (!strnicmp (gameData.multigame.msg.szMsg, TXT_MOVE, 5)) { if (MovePlayer ()) return; } else if (!strnicmp (gameData.multigame.msg.szMsg, TXT_KICK, 5) && (gameData.app.nGameMode & GM_NETWORK)) { if (KickPlayer (0)) return; } else if (!strnicmp (gameData.multigame.msg.szMsg, TXT_BAN, 4) && (gameData.app.nGameMode & GM_NETWORK)) { if (KickPlayer (1)) return; } else HUDInitMessage ("%s '%s'", TXT_SENDING, gameData.multigame.msg.szMsg); MultiSendMessage (); MultiMessageFeedback (); MultiSendMsgQuit (); }
void MultiSendMsgDialog (void) { CMenu m (1); int choice; if (!(gameData.app.nGameMode & GM_MULTI)) return; gameData.multigame.msg.szMsg [0] = 0; // Get rid of old contents m.AddInput (gameData.multigame.msg.szMsg, MAX_MESSAGE_LEN - 1); choice = m.Menu (NULL, TXT_SEND_MESSAGE); if ((choice > -1) && (strlen (gameData.multigame.msg.szMsg) > 0)) { gameData.multigame.msg.nReceiver = 100; HUDInitMessage ("%s '%s'", TXT_SENDING, gameData.multigame.msg.szMsg); MultiMessageFeedback (); } }
void MultiSendMsgDialog (void) { tMenuItem m [1]; int choice; if (!(gameData.app.nGameMode & GM_MULTI)) return; gameData.multigame.msg.szMsg [0] = 0; // Get rid of old contents memset (m, 0, sizeof (m)); m [0].nType = NM_TYPE_INPUT; m [0].text = gameData.multigame.msg.szMsg; m [0].text_len = MAX_MESSAGE_LEN-1; choice = ExecMenu (NULL, TXT_SEND_MESSAGE, 1, m, NULL, NULL); if ((choice > -1) && (strlen (gameData.multigame.msg.szMsg) > 0)) { gameData.multigame.msg.nReceiver = 100; HUDInitMessage ("%s '%s'", TXT_SENDING, gameData.multigame.msg.szMsg); MultiMessageFeedback (); } }