All pastes #2119593 Raw Edit

Anonymous

public text v1 · immutable
#2119593 ·published 2012-02-18 06:59 UTC
rendered paste body

qboolean	chat_team;
char		chat_buffer[MAXCMDLINE];
char		chat_buffer1[MAXCMDLINE]; // FS: Remember what we said
char		chat_buffer2[MAXCMDLINE];
char		chat_buffer3[MAXCMDLINE];
int			chat_bufferlen = 0;

void Key_Message (int key)
{
	if ( key == K_ENTER || key == K_KP_ENTER )
	{
		if (chat_team)
			Cbuf_AddText ("say_team \"");
		else
			Cbuf_AddText ("say_all \"");
		Cbuf_AddText(chat_buffer);
		Cbuf_AddText("\"\n");

#ifdef JPN
		ImeSetMode2(FALSE);
#endif

		cls.key_dest = key_game;
		if(chat_buffer2 != 0)
		{
			strcpy(chat_buffer3, chat_buffer2);
			strcpy(chat_buffer2, chat_buffer1);
			chat_buffer1[0] = 0;
		}
		else if (chat_buffer1 != 0)
		{
			strcpy(chat_buffer2, chat_buffer1);
			chat_buffer1[0] = 0;
		}

		strcpy(chat_buffer1, chat_buffer); // FS: Copy it
		
		chat_bufferlen = 0;
		chat_buffer[0] = 0;
		return;
	}

	if (key == K_UPARROW || key == K_RIGHTARROW) // FS: Remember last 3 things we typed
	{
		cls.key_dest = key_message;

		if (!stricmp(chat_buffer, chat_buffer1)) // FS: First buffer
		{
			if((strlen(chat_buffer2)) == 0)
					strcpy(chat_buffer, chat_buffer1); // FS: Buffer 2 is null so stay at first
			else
				strcpy(chat_buffer, chat_buffer2);
		}
		else if (!stricmp(chat_buffer, chat_buffer2) && (strlen(chat_buffer2)) != 0)
		{
			if((strlen(chat_buffer3)) == 0)
					strcpy(chat_buffer, chat_buffer2);
			else
				strcpy(chat_buffer, chat_buffer3);
		}
		else if (!stricmp(chat_buffer, chat_buffer3) && (strlen(chat_buffer3)) != 0)
		{
			strcpy(chat_buffer, chat_buffer3);
		}
		else
		{
			strcpy(chat_buffer, chat_buffer1);
		}

		chat_bufferlen = (strlen(chat_buffer));
		return;
	}

	if (key == K_DOWNARROW || key == K_LEFTARROW) // FS: Remember last 3 things we typed
	{
		cls.key_dest = key_message;

		if (!stricmp(chat_buffer, chat_buffer3) && (strlen(chat_buffer3)) != 0)
		{
			strcpy(chat_buffer, chat_buffer2);
		}
		else if (!stricmp(chat_buffer, chat_buffer2) && (strlen(chat_buffer2)) != 0)
		{
			strcpy(chat_buffer, chat_buffer1);
		}
		else if (!stricmp(chat_buffer, chat_buffer1))
		{
			chat_buffer[0] = 0;
			strcpy(chat_buffer, chat_buffer);
		}

		chat_bufferlen = (strlen(chat_buffer));
		return;
	}