All pastes #2119623 Raw Edit

Anonymous

public text v1 · immutable
#2119623 ·published 2012-02-18 07:24 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];
char		chat_buffer_array[3][MAXCMDLINE]; // FS: Remember what we said
int			chat_index = 0; // FS
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_index == 3)
		{
			strcpy(chat_buffer_array[chat_index], chat_buffer_array[chat_index-1]);
			strcpy(chat_buffer_array[chat_index-1], chat_buffer_array[chat_index-2]);
			chat_buffer_array[chat_index-2][0] = 0;
		}
/*		
		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
		strcpy(chat_buffer_array[1], 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);
		}
		*/
		
		if (chat_index < 2 && chat_buffer_array[chat_index + 1][0]) 
		{
			chat_index++;
			strcpy (chat_buffer, chat_buffer_array[chat_index]);
		}
		
		chat_bufferlen = (strlen(chat_buffer));
		return;
	}