mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/4jcraft.git
synced 2026-06-22 17:25:33 +00:00
restructure codebase according to vcproj filters
This commit is contained in:
66
Minecraft.Client/net/minecraft/client/gui/ChatScreen.cpp
Normal file
66
Minecraft.Client/net/minecraft/client/gui/ChatScreen.cpp
Normal file
@@ -0,0 +1,66 @@
|
||||
#include "../../../../../Minecraft.World/Header Files/stdafx.h"
|
||||
#include "ChatScreen.h"
|
||||
#include "../multiplayer/MultiPlayerLocalPlayer.h"
|
||||
#include "../../../../../Minecraft.World/net/minecraft/SharedConstants.h"
|
||||
#include "../../../../../Minecraft.World/ConsoleHelpers/StringHelpers.h"
|
||||
|
||||
const std::wstring ChatScreen::allowedChars =
|
||||
SharedConstants::acceptableLetters;
|
||||
|
||||
ChatScreen::ChatScreen() { frame = 0; }
|
||||
|
||||
void ChatScreen::init() { Keyboard::enableRepeatEvents(true); }
|
||||
|
||||
void ChatScreen::removed() { Keyboard::enableRepeatEvents(false); }
|
||||
|
||||
void ChatScreen::tick() { frame++; }
|
||||
|
||||
void ChatScreen::keyPressed(wchar_t ch, int eventKey) {
|
||||
if (eventKey == Keyboard::KEY_ESCAPE) {
|
||||
minecraft->setScreen(nullptr);
|
||||
return;
|
||||
}
|
||||
if (eventKey == Keyboard::KEY_RETURN) {
|
||||
std::wstring msg = trimString(message);
|
||||
if (msg.length() > 0) {
|
||||
std::wstring trim = trimString(message);
|
||||
if (!minecraft->handleClientSideCommand(trim)) {
|
||||
minecraft->player->chat(trim);
|
||||
}
|
||||
}
|
||||
minecraft->setScreen(nullptr);
|
||||
return;
|
||||
}
|
||||
if (eventKey == Keyboard::KEY_BACK && message.length() > 0)
|
||||
message = message.substr(0, message.length() - 1);
|
||||
if (allowedChars.find(ch) >= 0 &&
|
||||
message.length() < SharedConstants::maxChatLength) {
|
||||
message += ch;
|
||||
}
|
||||
}
|
||||
|
||||
void ChatScreen::render(int xm, int ym, float a) {
|
||||
fill(2, height - 14, width - 2, height - 2, 0x80000000);
|
||||
drawString(font, L"> " + message + (frame / 6 % 2 == 0 ? L"_" : L""), 4,
|
||||
height - 12, 0xe0e0e0);
|
||||
|
||||
Screen::render(xm, ym, a);
|
||||
}
|
||||
|
||||
void ChatScreen::mouseClicked(int x, int y, int buttonNum) {
|
||||
if (buttonNum == 0) {
|
||||
if (minecraft->gui->selectedName != L"") // 4J - was nullptr comparison
|
||||
{
|
||||
if (message.length() > 0 && message[message.length() - 1] != L' ') {
|
||||
message += L" ";
|
||||
}
|
||||
message += minecraft->gui->selectedName;
|
||||
unsigned int maxLength = SharedConstants::maxChatLength;
|
||||
if (message.length() > maxLength) {
|
||||
message = message.substr(0, maxLength);
|
||||
}
|
||||
} else {
|
||||
Screen::mouseClicked(x, y, buttonNum);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user