Beispiel #1
0
//UI Methods
void NetworkChat(bool* opened)
{
	ImGui::SetNextWindowSize(ImVec2(550, 275));
	ImGui::SetNextWindowContentSize(ImVec2(550, 250));
	if (!strcmp(input, ""))
		sceneManager->EnableInput();
	else
		sceneManager->DisableInput();
	if (!ImGui::Begin("Chat Log", opened))
	{
		ImGui::End();
		return;
	}
	ImGui::BeginChild("Log");
	ImGui::TextUnformatted(logger.begin(), logger.end());
	ImGui::SetScrollY(ImGui::GetScrollMaxY());
	ImGui::EndChild();
	ImGui::InputText("", input, 256);
	ImGui::SameLine();
	if (ImGui::Button("Send")) {
		if (input[0] == '@')
		{
			char buffer[256];
			if (sscanf(input, "@clear -%s\0", buffer))
			{
				if (strcmp(buffer, "all"))
					logger.clear();
			}
			if (sscanf(input, "@name -%s\0", buffer))
			{
				ZeroMemory(name, 256);
				strcat(name, "[");
				strcat(name, buffer);
				strcat(name, "]");
				logger.append("name Changed to : ");logger.append(name);logger.append("\n");
			}
		}
		else
		{
			char buffer[256];
			ZeroMemory(buffer, 256);
			strcat(buffer, name);
			strcat(buffer, input);
			strcat(buffer, "\n");
			logger.append(buffer);
			SendNetworkMessage(buffer);
		}
		ZeroMemory(input, 256);
	}
	ImGui::End();
}
Beispiel #2
0
void InitalizeNetwork()
{
	ZeroMemory(Pname, 256);
	int Val = Startup_WinSock();
	sConnect = socket(AF_INET, SOCK_STREAM, NULL);
	addr.sin_addr.s_addr = inet_addr("127.0.0.1");
	addr.sin_port = htons(1435);
	addr.sin_family = AF_INET;
	Val = connect(sConnect, (SOCKADDR*)&addr, sizeof(addr));
	logger.append("Connected To Server!\n");
	logger.append("#change name with command : @name -(name)\n");
	ZeroMemory(name, 256);
	strcat(name, "[");
	strcat(name, "user");
	strcat(name, "]");
}
Beispiel #3
0
void MessageThread()
{
	char *Buffer = CreateTempBuffer(256);
	int size = 0;
	while (true)
	{
		ZeroMemory(Buffer, 256);
		if ((size = recv(sConnect, Buffer, 256, NULL)) > 0)
		{
			logger.append(Buffer);
		}
		Sleep(50);
	}
}
Beispiel #4
0
void debug(const std::string &s) {
  dlog.append(s.c_str());
  dlog.append("\n");
}