Convert source files from EUC-KR to UTF8 #13

Open
Tr0n wants to merge 8 commits from Tr0n/client:chore/convert-euckr into master
First-time contributor

Converted all *.h and *.cpp files from EUC-KR to UTF8.
While doing that I've tried to ensure that all non-UTF8 characters in string literals were preserved in their byte-escaped format. This should ensure compatibility with old code.

Converted all `*.h` and `*.cpp` files from EUC-KR to UTF8. While doing that I've tried to ensure that all non-UTF8 characters in string literals were preserved in their byte-escaped format. This should ensure compatibility with old code.
Tr0n added 3 commits 2024-12-30 12:44:36 +02:00
Author
First-time contributor

Please independently validate it on a running client/server before merging.

Please independently validate it on a running client/server before merging.
Tr0n added 1 commit 2025-01-01 20:37:49 +02:00
Author
First-time contributor

I had to change the font face strings in GetFontFaceFromCodePage9x to the ones in GetFontFaceFromCodePageNT because the escaped values were too long for the data-type.

I had to change the font face strings in `GetFontFaceFromCodePage9x` to the ones in `GetFontFaceFromCodePageNT` because the escaped values were too long for the data-type.
Exynox reviewed 2025-01-12 16:57:32 +02:00
@ -41,3 +41,1 @@
// 굴림.fnt "굴림" 폰트 기본 사이즈 12 로 로딩
// 굴림:18.fnt "굴림" 폰트 사이즈 18 로 로딩
// 굴림:14i.fnt "굴림" 폰트 사이즈 14 & 이탤릭으로 로딩
// 굴림.fnt "\xB1\xBC\xB8\xB2" 폰트 기본 사이즈 12 로 로딩
Owner

I think these got caught up in a regex, but it doesn't really matter

I think these got caught up in a regex, but it doesn't really matter
Tr0n marked this conversation as resolved
Exynox reviewed 2025-01-12 17:00:38 +02:00
@ -95,3 +95,2 @@
// NOTE : IsShow는 "자신이 보이는가?" 이지만, __IsShowing은 "자신이 그려지고 있는가?" 를 체크한다
// 자신은 Show 지만 Tree 위쪽의 Parent 중 하나는 Hide 일 수 있으므로.. - [levites]
// NOTE : IsShow는 "\xC0\xDA\xBD\xC5\xC0\xCC \xBA\xB8\xC0\xCC\xB4\xC2\xB0\xA1?" 이지만, __IsShowing은 "\xC0\xDA\xBD\xC5\xC0\xCC \xB1\xD7\xB7\xC1\xC1\xF6\xB0\xED \xC0\xD6\xB4\xC2\xB0\xA1?" 를 체크한다
Owner

Another mistaken escape sequence

Another mistaken escape sequence
Tr0n marked this conversation as resolved
Exynox reviewed 2025-01-12 17:22:19 +02:00
@ -63,3 +63,3 @@
}
// FIXME : "건물일때만 체크"로 바꾼다. - [levites]
// FIXME : "\xB0\xC7\xB9\xB0\xC0\xCF\xB6\xA7\xB8\xB8 \xC3\xBC\xC5\xA9"로 바꾼다. - [levites]
Owner

Another one!

Another one!
Tr0n marked this conversation as resolved
Exynox reviewed 2025-01-12 17:27:33 +02:00
@ -437,3 +437,3 @@
if (isAttr)
//"item:번호:플래그:소켓0:소켓1:소켓2"
//"item:\xB9\xF8\xC8\xA3:\xC7\xC3\xB7\xA1\xB1\xD7:\xBC\xD2\xC4\xCF0:\xBC\xD2\xC4\xCF1:\xBC\xD2\xC4\xCF2"
Owner

Another mistaken escape

Another mistaken escape
Tr0n marked this conversation as resolved
Exynox reviewed 2025-01-12 17:28:30 +02:00
@ -656,3 +656,3 @@
return true;
TraceError("처리되지 않은 패킷 헤더 %d, state %s\n", header, m_strPhase.c_str());
TraceError("\xC3\xB3\xB8\xAE\xB5\xC7\xC1\xF6 \xBE\xCA\xC0\xBA \xC6\xD0\xC5\xB6 \xC7\xEC\xB4\xF5 %d, state %s\n", header, m_strPhase.c_str());
Owner

Should be translated to English

Should be translated to English
Tr0n marked this conversation as resolved
Exynox reviewed 2025-01-12 17:29:16 +02:00
@ -122,3 +122,3 @@
pstTokenVector->push_back(strLine.substr(beginPos, endPos - beginPos));
// 추가 코드. 맨뒤에 탭이 있는 경우를 체크한다. - [levites]
// \xC3\xDF\xB0\xA1 \xC4\xDA\xB5\xE5. \xB8\xC7\xB5\xDA\xBF\xA1 \xC5\xC7\xC0\xCC \xC0\xD6\xB4\xC2 \xB0\xE6\xBF\xEC\xB8\xA6 \xC3\xBC\xC5\xA9\xC7\xD1\xB4\xD9. - [levites]
Owner

All comments in this file were mistakenly escaped instead of converted

All comments in this file were mistakenly escaped instead of converted
Tr0n marked this conversation as resolved
Exynox reviewed 2025-01-12 17:29:57 +02:00
@ -1552,3 +1552,3 @@
// CPythonNetworkStream& rns=CPythonNetworkStream::Instance();
// rns.SendRequestRefineInfoPacket(iSlotIndex);
assert(!"netSendRequestRefineInfoPacket - 더이상 사용하지 않는 함수 입니다");
assert(!"netSendRequestRefineInfoPacket - \xB4\xF5\xC0\xCC\xBB\xF3 \xBB\xE7\xBF\xEB\xC7\xCF\xC1\xF6 \xBE\xCA\xB4\xC2 \xC7\xD4\xBC\xF6 \xC0\xD4\xB4\xCF\xB4\xD9");
Owner

Function deprecated - should be deleted!

Function deprecated - should be deleted!
Exynox reviewed 2025-01-12 17:30:20 +02:00
@ -1281,2 +1280,2 @@
// "이름: 내용" 입력을 "내용: 이름" 순서로 출력하기 위해 탭(0x08)을 넣음
// 탭을 아랍어 기호로 처리해 (영어1) : (영어2) 로 입력되어도 (영어2) : (영어1) 로 출력하게 만든다
// 유럽 아랍 버전 처리
// "\xC0\xCC\xB8\xA7: \xB3\xBB\xBF\xEB" 입력을 "\xB3\xBB\xBF\xEB: \xC0\xCC\xB8\xA7" 순서로 출력하기 위해 탭(0x08)을 넣음
Owner

Another comment escape

Another comment escape
Tr0n marked this conversation as resolved
Exynox reviewed 2025-01-12 17:30:37 +02:00
@ -1559,3 +1559,3 @@
if (pkInstMain==pkChrInstSel)
{
Tracenf("주인공 사망");
Tracenf("\xC1\xD6\xC0\xCE\xB0\xF8 \xBB\xE7\xB8\xC1");
Owner

Should be translated to English

Should be translated to English
Tr0n marked this conversation as resolved
Exynox reviewed 2025-01-12 17:31:25 +02:00
@ -2304,3 +2304,3 @@
bool CPythonNetworkStream::RecvSkillLevel()
{
assert(!"CPythonNetworkStream::RecvSkillLevel - 사용하지 않는 함수");
assert(!"CPythonNetworkStream::RecvSkillLevel - \xBB\xE7\xBF\xEB\xC7\xCF\xC1\xF6 \xBE\xCA\xB4\xC2 \xC7\xD4\xBC\xF6");
Owner

Deprecated, should be deleted

Deprecated, should be deleted
Exynox requested changes 2025-01-12 18:02:25 +02:00
Exynox left a comment
Owner

I haven't found any big issues, only comments that contain quotes and therefore their contents were also escaped instead of simply converted to UTF-8.

Also, there are some trace call that I think should better be translated to English instead of being escaped, as copy-pasting the strings into Google Translate/Deepl will be much harder with escaped characters.

With this occasion, I realised that there are asserts that basically disable some functions/mark them as deprecated. You don't have to do anything with those, I just marked them for reference (I'll create a new issue to remove these deprecated calls).

If you could help me out with fixing the mistakenly escaped strings and translating the trace calls, that would be amazing!

Thank you so much for your work!

I haven't found any big issues, only comments that contain quotes and therefore their contents were also escaped instead of simply converted to UTF-8. Also, there are some trace call that I think should better be translated to English instead of being escaped, as copy-pasting the strings into Google Translate/Deepl will be much harder with escaped characters. With this occasion, I realised that there are asserts that basically disable some functions/mark them as deprecated. You don't have to do anything with those, I just marked them for reference (I'll create a new issue to remove these deprecated calls). If you could help me out with fixing the mistakenly escaped strings and translating the trace calls, that would be amazing! Thank you so much for your work!
@ -200,3 +200,3 @@
void CGrannyMesh::RebuildTriGroupNodeList()
{
assert(!"CGrannyMesh::RebuildTriGroupNodeList() - 왜 리빌드를 하는가- -?");
assert(!"CGrannyMesh::RebuildTriGroupNodeList() - \xBF\xD6 \xB8\xAE\xBA\xF4\xB5\xE5\xB8\xA6 \xC7\xCF\xB4\xC2\xB0\xA1- -?");
Owner

Deprecated

Deprecated
@ -282,3 +282,3 @@
void CGrannyModelInstance::ReloadTexture()
{
assert("현재 사용하지 않음 - CGrannyModelInstance::ReloadTexture()");
assert("\xC7\xF6\xC0\xE7 \xBB\xE7\xBF\xEB\xC7\xCF\xC1\xF6 \xBE\xCA\xC0\xBD - CGrannyModelInstance::ReloadTexture()");
Owner

Deprecated

Deprecated
@ -127,3 +127,3 @@
if (m_roText.IsNull())
{
Tracef("CGraphicTextInstance::Update - 폰트가 설정되지 않았습니다\n");
Tracef("CGraphicTextInstance::Update - \xC6\xF9\xC6\xAE\xB0\xA1 \xBC\xB3\xC1\xA4\xB5\xC7\xC1\xF6 \xBE\xCA\xBE\xD2\xBD\xC0\xB4\xCF\xB4\xD9\n");
Owner

To be translated

To be translated
Tr0n marked this conversation as resolved
@ -371,3 +371,3 @@
*letter = (char)'"';
return true;
case 0x201d: // L''
case 0x201d: // L'\xE2\x80\x9D'
Owner

Just convert the string

Just convert the string
Tr0n marked this conversation as resolved
@ -1261,3 +1261,3 @@
PyObject * wndMgrSetToggleSlot(PyObject * poSelf, PyObject * poArgs)
{
assert(!"wndMgrSetToggleSlot - 사용하지 않는 함수");
assert(!"wndMgrSetToggleSlot - \xBB\xE7\xBF\xEB\xC7\xCF\xC1\xF6 \xBE\xCA\xB4\xC2 \xC7\xD4\xBC\xF6");
Owner

Deprecated

Deprecated
@ -176,3 +176,3 @@
// 이미 입력 한계 시간이 지났다면..
// 이미 입력 한계 시간이 지났다면..
if (fElapsedTime > m_pkCurRaceMotionData->GetComboInputEndTime())
{
Owner

To be translated to English (and those below)

To be translated to English (and those below)
Tr0n marked this conversation as resolved
@ -230,3 +230,3 @@
if (m_isPreInput)
{
//Tracenf("선입력 %f 다음콤보시간 %f", fElapsedTime, m_pkCurRaceMotionData->GetNextComboTime());
//Tracenf("\xBC\xB1\xC0\xD4\xB7\xC2 %f \xB4\xD9\xC0\xBD\xC4\xDE\xBA\xB8\xBD\xC3\xB0\xA3 %f", fElapsedTime, m_pkCurRaceMotionData->GetNextComboTime());
Owner

To be translated

To be translated
Tr0n marked this conversation as resolved
@ -66,3 +66,3 @@
if (IsFaint())
{
//Tracenf("일어서려고 했으나 기절중");
//Tracenf("\xC0\xCF\xBE\xEE\xBC\xAD\xB7\xC1\xB0\xED \xC7\xDF\xC0\xB8\xB3\xAA \xB1\xE2\xC0\xFD\xC1\xDF");
Owner

To be translated

To be translated
Tr0n marked this conversation as resolved
@ -100,3 +100,2 @@
{
//Tracenf("일어서려고 했으나 사망");
// 예전 데이터로 복구
//Tracenf("\xC0\xCF\xBE\xEE\xBC\xAD\xB7\xC1\xB0\xED \xC7\xDF\xC0\xB8\xB3\xAA \xBB\xE7\xB8\xC1");
Owner

To be translated

To be translated
Tr0n marked this conversation as resolved
@ -669,3 +669,3 @@
if (!m_isMain)
{
Logn(0, "주인공이 아니라면 이동중이라 데미지 동작을 취하지 않음");
Logn(0, "\xC1\xD6\xC0\xCE\xB0\xF8\xC0\xCC \xBE\xC6\xB4\xCF\xB6\xF3\xB8\xE9 \xC0\xCC\xB5\xBF\xC1\xDF\xC0\xCC\xB6\xF3 \xB5\xA5\xB9\xCC\xC1\xF6 \xB5\xBF\xC0\xDB\xC0\xBB \xC3\xEB\xC7\xCF\xC1\xF6 \xBE\xCA\xC0\xBD");
Owner

To be translated

To be translated
Tr0n marked this conversation as resolved
@ -760,1 +758,3 @@
//Tracef("MotionData에 콤보 데이타가 들어 있지 않습니다.\n");
// NOTE : ClearCombo() 를 수행해서는 안된다.
// 콤보 다음에 스킬을 이어서 사용할 경우 m_pkCurRaceMotionData까지 초기화 되어 버린다.
//Tracef("MotionData\xBF\xA1 \xC4\xDE\xBA\xB8 \xB5\xA5\xC0\xCC\xC5\xB8\xB0\xA1 \xB5\xE9\xBE\xEE \xC0\xD6\xC1\xF6 \xBE\xCA\xBD\xC0\xB4\xCF\xB4\xD9.\n");
Owner

To be translated

To be translated
Tr0n marked this conversation as resolved
@ -204,3 +204,3 @@
if (!CResourceManager::Instance().IsFileExist(c_szFileName))
{
TraceError("%s 파일이 없습니다.CItemData::__SetIconImage",c_szFileName);
TraceError("%s \xC6\xC4\xC0\xCF\xC0\xCC \xBE\xF8\xBD\xC0\xB4\xCF\xB4\xD9.CItemData::__SetIconImage",c_szFileName);
Owner

To be translated

To be translated
Tr0n marked this conversation as resolved
@ -58,3 +58,3 @@
if (!LoadMultipleTextData(strFileName.c_str(), stTokenVectorMap))
{
TraceError("CMapBase::LoadProperty(FileName=%s) - LoadMultipleTextData ERROR 파일이 없을 가능성이 많습니다.", strFileName.c_str());
TraceError("CMapBase::LoadProperty(FileName=%s) - LoadMultipleTextData ERROR \xC6\xC4\xC0\xCF\xC0\xCC \xBE\xF8\xC0\xBB \xB0\xA1\xB4\xC9\xBC\xBA\xC0\xCC \xB8\xB9\xBD\xC0\xB4\xCF\xB4\xD9.", strFileName.c_str());
Owner

To be translated

To be translated
Tr0n marked this conversation as resolved
@ -185,3 +185,3 @@
if (!m_pkMap)
{
TraceError("CMapManager::GetHeight(%f, %f) - 맵이 생성되지 않은 상태에서 접근", fx, fy);
TraceError("CMapManager::GetHeight(%f, %f) - \xB8\xCA\xC0\xCC \xBB\xFD\xBC\xBA\xB5\xC7\xC1\xF6 \xBE\xCA\xC0\xBA \xBB\xF3\xC5\xC2\xBF\xA1\xBC\xAD \xC1\xA2\xB1\xD9", fx, fy);
Owner

To be translated (and two more below)

To be translated (and two more below)
Tr0n marked this conversation as resolved
@ -400,2 +400,2 @@
// TextureSet 이 적용되어 있지 않아도 진행
LogBox("TextureSet 이 적용되어있지 않은 맵 입니다.\n지형 텍스춰 작업에 주의하시기 바랍니다.");
// TextureSet 이 적용되어 있지 않아도 진행
LogBox("TextureSet \xC0\xCC \xC0\xFB\xBF\xEB\xB5\xC7\xBE\xEE\xC0\xD6\xC1\xF6 \xBE\xCA\xC0\xBA \xB8\xCA \xC0\xD4\xB4\xCF\xB4\xD9.\n\xC1\xF6\xC7\xFC \xC5\xD8\xBD\xBA\xC3\xE7 \xC0\xDB\xBE\xF7\xBF\xA1 \xC1\xD6\xC0\xC7\xC7\xCF\xBD\xC3\xB1\xE2 \xB9\xD9\xB6\xF8\xB4\xCF\xB4\xD9.");
Owner

To be translated (even though we don't plan on using World Editor on this codebase)

To be translated (even though we don't plan on using World Editor on this codebase)
Tr0n marked this conversation as resolved
@ -743,3 +743,3 @@
ConvertTerrainToTnL(lRealCenterX, lRealCenterY);
UpdateAreaList(lRealCenterX, lRealCenterY);
//Tracef("사용하는 Area, Terrain : (%d, %d), 지울 Area, Terrain : (%d, %d)\n",
//Tracef("\xBB\xE7\xBF\xEB\xC7\xCF\xB4\xC2 Area, Terrain : (%d, %d), \xC1\xF6\xBF\xEF Area, Terrain : (%d, %d)\n",
Owner

To be translated

To be translated
Tr0n marked this conversation as resolved
@ -226,3 +226,3 @@
if (!fp)
LogBox("예약 CRC 파일을 열 수 없습니다.");
LogBox("\xBF\xB9\xBE\xE0 CRC \xC6\xC4\xC0\xCF\xC0\xBB \xBF\xAD \xBC\xF6 \xBE\xF8\xBD\xC0\xB4\xCF\xB4\xD9.");
Owner

To be translated

To be translated
Tr0n marked this conversation as resolved
@ -120,3 +120,3 @@
float x_normal, float y_normal, float z_normal) const
{
assert(!" CSoundInstance3D::SetOrientation - 사용 하지 않는 함수");
assert(!" CSoundInstance3D::SetOrientation - \xBB\xE7\xBF\xEB \xC7\xCF\xC1\xF6 \xBE\xCA\xB4\xC2 \xC7\xD4\xBC\xF6");
Owner

Deprecated?

Deprecated?
@ -398,3 +398,3 @@
if (CTimer::Instance().GetCurrentSecond() - fTime < 0.3f)
{
//Tracef("똑같은 소리가 0.3초 내에 다시 플레이 %s\n", c_szFileName);
//Tracef("\xB6\xC8\xB0\xB0\xC0\xBA \xBC\xD2\xB8\xAE\xB0\xA1 0.3\xC3\xCA \xB3\xBB\xBF\xA1 \xB4\xD9\xBD\xC3 \xC7\xC3\xB7\xB9\xC0\xCC %s\n", c_szFileName);
Owner

To be translated

To be translated
Tr0n marked this conversation as resolved
@ -27,3 +27,3 @@
if (rkTextFileLoader.IsEmpty())
{
SetResultString((strResult + " 읽기용 파일을 열 수 없음").c_str());
SetResultString((strResult + " \xC0\xD0\xB1\xE2\xBF\xEB \xC6\xC4\xC0\xCF\xC0\xBB \xBF\xAD \xBC\xF6 \xBE\xF8\xC0\xBD").c_str());
Owner

Maybe SetResultString() calls could be translated, have to check it out

Maybe SetResultString() calls could be translated, have to check it out
@ -97,3 +97,2 @@
_snprintf(szErrorText, sizeof(szErrorText), "Failed to save file (%s).\nPlease check if it is read-only or you have no space on the disk.\n", c_szFileName);
LogBox(szErrorText, "에러");
SetResultString((strResult + " 쓰기용 파일을 열 수 없음").c_str());
LogBox(szErrorText, "\xBF\xA1\xB7\xAF");
Owner

To be translated

To be translated
Tr0n marked this conversation as resolved
@ -195,3 +195,3 @@
if (GetTextureCount() >= 256)
{
LogBox("텍스처를 더 이상 추가할 수 없습니다.", "최대 텍스처 개수 255개");
LogBox("\xC5\xD8\xBD\xBA\xC3\xB3\xB8\xA6 \xB4\xF5 \xC0\xCC\xBB\xF3 \xC3\xDF\xB0\xA1\xC7\xD2 \xBC\xF6 \xBE\xF8\xBD\xC0\xB4\xCF\xB4\xD9.", "\xC3\xD6\xB4\xEB \xC5\xD8\xBD\xBA\xC3\xB3 \xB0\xB3\xBC\xF6 255\xB0\xB3");
Owner

To be translated

To be translated
Tr0n marked this conversation as resolved
@ -411,3 +411,3 @@
if (__IsMainInstance())
{
TraceError("CInstanceBase::__EnableSkipCollision - 자신은 충돌검사스킵이 되면 안된다!!");
TraceError("CInstanceBase::__EnableSkipCollision - \xC0\xDA\xBD\xC5\xC0\xBA \xC3\xE6\xB5\xB9\xB0\xCB\xBB\xE7\xBD\xBA\xC5\xB5\xC0\xCC \xB5\xC7\xB8\xE9 \xBE\xC8\xB5\xC8\xB4\xD9!!");
Owner

To be translated

To be translated
Tr0n marked this conversation as resolved
@ -1191,3 +1191,2 @@
{
//assert(!"CInstanceBase::PushTCPState 플레이어 자신에게 이동패킷은 오면 안된다!");
TraceError("CInstanceBase::PushTCPState 플레이어 자신에게 이동패킷은 오면 안된다!");
//assert(!"CInstanceBase::PushTCPState \xC7\xC3\xB7\xB9\xC0\xCC\xBE\xEE \xC0\xDA\xBD\xC5\xBF\xA1\xB0\xD4 \xC0\xCC\xB5\xBF\xC6\xD0\xC5\xB6\xC0\xBA \xBF\xC0\xB8\xE9 \xBE\xC8\xB5\xC8\xB4\xD9!");
Owner

To be translated

To be translated
Tr0n marked this conversation as resolved
@ -1205,3 +1205,3 @@
m_dwBaseCmdTime = dwCmdTime;
Tracenf("VID[%d] 네트웍갭 [%d]", GetVirtualID(), nNetworkGap);
Tracenf("VID[%d] \xB3\xD7\xC6\xAE\xBF\xF7\xB0\xB8 [%d]", GetVirtualID(), nNetworkGap);
Owner

To be translated

To be translated
Tr0n marked this conversation as resolved
@ -1223,3 +1223,3 @@
//if (nApplyGap<-500 || nApplyGap>500)
// Tracenf("VID[%d] NAME[%s] 네트웍갭 [cur:%d ave:%d] 작동시간 (%d)", GetVirtualID(), GetNameString(), nNetworkGap, m_nAverageNetworkGap, nApplyGap);
// Tracenf("VID[%d] NAME[%s] \xB3\xD7\xC6\xAE\xBF\xF7\xB0\xB8 [cur:%d ave:%d] \xC0\xDB\xB5\xBF\xBD\xC3\xB0\xA3 (%d)", GetVirtualID(), GetNameString(), nNetworkGap, m_nAverageNetworkGap, nApplyGap);
Owner

To be translated

To be translated
Tr0n marked this conversation as resolved
@ -1314,3 +1314,3 @@
float fDirLen = (float)sqrt(kPPosDir.x * kPPosDir.x + kPPosDir.y * kPPosDir.y);
//Tracenf("거리 %f", fDirLen);
//Tracenf("\xB0\xC5\xB8\xAE %f", fDirLen);
Owner

To be translated

To be translated
Tr0n marked this conversation as resolved
@ -1318,3 +1318,3 @@
if (!__CanProcessNetworkStatePacket())
{
Lognf(0, "vid=%d 움직일 수 없는 상태라 스킵 IsDead=%d, IsKnockDown=%d", uVID, m_GraphicThingInstance.IsDead(), m_GraphicThingInstance.IsKnockDown());
Lognf(0, "vid=%d \xBF\xF2\xC1\xF7\xC0\xCF \xBC\xF6 \xBE\xF8\xB4\xC2 \xBB\xF3\xC5\xC2\xB6\xF3 \xBD\xBA\xC5\xB5 IsDead=%d, IsKnockDown=%d", uVID, m_GraphicThingInstance.IsDead(), m_GraphicThingInstance.IsKnockDown());
Owner

To be translated (and all other Trace functions below)

To be translated (and all other Trace functions below)
Tr0n marked this conversation as resolved
@ -498,3 +498,3 @@
if (m_GraphicThingInstance.CanSkipCollision())
{
//Tracenf("%x VID %d 충돌 스킵", ELTimer_GetMSec(), GetVirtualID());
//Tracenf("%x VID %d \xC3\xE6\xB5\xB9 \xBD\xBA\xC5\xB5", ELTimer_GetMSec(), GetVirtualID());
Owner

To be translated

To be translated
Tr0n marked this conversation as resolved
@ -179,3 +179,3 @@
if(index > 7)
{
TraceError("ProcessDamage무한루프 가능성");
TraceError("ProcessDamage\xB9\xAB\xC7\xD1\xB7\xE7\xC7\xC1 \xB0\xA1\xB4\xC9\xBC\xBA");
Owner

To be translated

To be translated
Tr0n marked this conversation as resolved
@ -528,3 +528,3 @@
{
s_uiNextFrameTime += nAdjustTime;
printf("FrameSkip 보정 %d\n",nAdjustTime);
printf("FrameSkip \xBA\xB8\xC1\xA4 %d\n",nAdjustTime);
Owner

To be translated

To be translated
Tr0n marked this conversation as resolved
@ -550,3 +550,3 @@
// {
// s_uiNextFrameTime += dt / uiFrameTime * uiFrameTime;
// printf("FrameSkip 보정 %d\n", dt / uiFrameTime * uiFrameTime);
// printf("FrameSkip \xBA\xB8\xC1\xA4 %d\n", dt / uiFrameTime * uiFrameTime);
Owner

To be translated

To be translated
Tr0n marked this conversation as resolved
@ -610,3 +610,3 @@
/*
TraceError("무한 프레임 스킵으로 접속을 종료합니다");
TraceError("\xB9\xAB\xC7\xD1 \xC7\xC1\xB7\xB9\xC0\xD3 \xBD\xBA\xC5\xB5\xC0\xB8\xB7\xCE \xC1\xA2\xBC\xD3\xC0\xBB \xC1\xBE\xB7\xE1\xC7\xD5\xB4\xCF\xB4\xD9");
Owner

To be translated

To be translated
Tr0n marked this conversation as resolved
@ -249,3 +249,3 @@
PyObject * backgroundRenderDungeon(PyObject * poSelf, PyObject * poArgs)
{
assert(!"background.RenderDungeon() - 사용하지 않는 함수입니다 - [levites]");
assert(!"background.RenderDungeon() - \xBB\xE7\xBF\xEB\xC7\xCF\xC1\xF6 \xBE\xCA\xB4\xC2 \xC7\xD4\xBC\xF6\xC0\xD4\xB4\xCF\xB4\xD9 - [levites]");
Owner

Deprecated?

Deprecated?
@ -516,3 +516,3 @@
PyObject * guildGetGuildSkillLevel(PyObject * poSelf, PyObject * poArgs)
{
assert(FALSE && !"guildGetGuildSkillLevel - 사용하지 않는 함수입니다.");
assert(FALSE && !"guildGetGuildSkillLevel - \xBB\xE7\xBF\xEB\xC7\xCF\xC1\xF6 \xBE\xCA\xB4\xC2 \xC7\xD4\xBC\xF6\xC0\xD4\xB4\xCF\xB4\xD9.");
Owner

deprecated :(

deprecated :(
@ -2530,3 +2530,3 @@
__GlobalPositionToLocalPosition(kPacket.lX, kPacket.lY);
Tracef("VID [%d]가 타겟을 추가 설정\n",kPacket.dwShooterVID);
Tracef("VID [%d]\xB0\xA1 \xC5\xB8\xB0\xD9\xC0\xBB \xC3\xDF\xB0\xA1 \xBC\xB3\xC1\xA4\n",kPacket.dwShooterVID);
Owner

Should be translated to English

Should be translated to English
Tr0n marked this conversation as resolved
@ -174,3 +174,3 @@
bool CPythonNetworkStream::RecvCharacterAppendPacketNew()
{
TraceError("TPacketGCCharacterAdd2는 쓰지 않는 패킷입니다.");
TraceError("TPacketGCCharacterAdd2\xB4\xC2 \xBE\xB2\xC1\xF6 \xBE\xCA\xB4\xC2 \xC6\xD0\xC5\xB6\xC0\xD4\xB4\xCF\xB4\xD9.");
Owner

Should be translated to English

Should be translated to English
Tr0n marked this conversation as resolved
@ -14,3 +14,3 @@
bool CPythonNetworkStream::SendSafeBoxMoneyPacket(BYTE byState, DWORD dwMoney)
{
assert(!"CPythonNetworkStream::SendSafeBoxMoneyPacket - 사용하지 않는 함수");
assert(!"CPythonNetworkStream::SendSafeBoxMoneyPacket - \xBB\xE7\xBF\xEB\xC7\xCF\xC1\xF6 \xBE\xCA\xB4\xC2 \xC7\xD4\xBC\xF6");
Owner

Function deprecated

Function deprecated
@ -862,3 +862,3 @@
default:
TraceError("%d 는 없는 스페셜 이펙트 번호입니다.TPacketGCSpecialEffect",kSpecialEffect.type);
TraceError("%d \xB4\xC2 \xBE\xF8\xB4\xC2 \xBD\xBA\xC6\xE4\xBC\xC8 \xC0\xCC\xC6\xE5\xC6\xAE \xB9\xF8\xC8\xA3\xC0\xD4\xB4\xCF\xB4\xD9.TPacketGCSpecialEffect",kSpecialEffect.type);
Owner

Should be translated to English

Should be translated to English
Tr0n marked this conversation as resolved
@ -979,3 +979,3 @@
void CPythonPlayer::SetSkillLevel(DWORD dwSlotIndex, DWORD dwSkillLevel)
{
assert(!"CPythonPlayer::SetSkillLevel - 사용하지 않는 함수");
assert(!"CPythonPlayer::SetSkillLevel - \xBB\xE7\xBF\xEB\xC7\xCF\xC1\xF6 \xBE\xCA\xB4\xC2 \xC7\xD4\xBC\xF6");
Owner

Deprecated

Deprecated
@ -261,3 +261,3 @@
return;
Tracef("Shoot : 다른 target에 맞았습니다 : %d, %d\n", dwSkillIndex, dwVID);
Tracef("Shoot : \xB4\xD9\xB8\xA5 target\xBF\xA1 \xB8\xC2\xBE\xD2\xBD\xC0\xB4\xCF\xB4\xD9 : %d, %d\n", dwSkillIndex, dwVID);
Owner

To be translated to English

To be translated to English
Tr0n marked this conversation as resolved
@ -1052,3 +1052,3 @@
if( GetDefaultCodePage() == CP_ARABIC ) {
if (isAttr)
//"item:번호:플래그:소켓0:소켓1:소켓2"
//"item:\xB9\xF8\xC8\xA3:\xC7\xC3\xB7\xA1\xB1\xD7:\xBC\xD2\xC4\xCF0:\xBC\xD2\xC4\xCF1:\xBC\xD2\xC4\xCF2"
Owner

Convert instead of escape

Convert instead of escape
Tr0n marked this conversation as resolved
@ -573,3 +573,3 @@
{
pkInstTarget = pkInstMain;
Tracef(" [ALERT] 동료에게 사용하는 기술임에도 적에게 타겟팅 되어있어서 자신에게로 재설정\n");
Tracef(" [ALERT] \xB5\xBF\xB7\xE1\xBF\xA1\xB0\xD4 \xBB\xE7\xBF\xEB\xC7\xCF\xB4\xC2 \xB1\xE2\xBC\xFA\xC0\xD3\xBF\xA1\xB5\xB5 \xC0\xFB\xBF\xA1\xB0\xD4 \xC5\xB8\xB0\xD9\xC6\xC3 \xB5\xC7\xBE\xEE\xC0\xD6\xBE\xEE\xBC\xAD \xC0\xDA\xBD\xC5\xBF\xA1\xB0\xD4\xB7\xCE \xC0\xE7\xBC\xB3\xC1\xA4\n");
Owner

To be translated

To be translated
Tr0n marked this conversation as resolved
@ -637,3 +637,3 @@
pkInstTarget = pkInstMain;
pkInstMain->SetFlyTargetInstance(*pkInstMain);
Tracef(" [ALERT] 타겟이 없어서 플레이어에게 사용합니다\n");
Tracef(" [ALERT] \xC5\xB8\xB0\xD9\xC0\xCC \xBE\xF8\xBE\xEE\xBC\xAD \xC7\xC3\xB7\xB9\xC0\xCC\xBE\xEE\xBF\xA1\xB0\xD4 \xBB\xE7\xBF\xEB\xC7\xD5\xB4\xCF\xB4\xD9\n");
Owner

To be translated

To be translated
Tr0n marked this conversation as resolved
@ -497,3 +497,3 @@
if (SKILL_EFFECT_COUNT < numGrade)
{
TraceError("%s[%s] 가 등급 제한[%d]을 넘어갔습니다.",rSkillData.strName.c_str(), TokenVector[DESC_TOKEN_TYPE_MOTION_INDEX_GRADE_NUM].c_str(), SKILL_EFFECT_COUNT);
TraceError("%s[%s] \xB0\xA1 \xB5\xEE\xB1\xDE \xC1\xA6\xC7\xD1[%d]\xC0\xBB \xB3\xD1\xBE\xEE\xB0\xAC\xBD\xC0\xB4\xCF\xB4\xD9.",rSkillData.strName.c_str(), TokenVector[DESC_TOKEN_TYPE_MOTION_INDEX_GRADE_NUM].c_str(), SKILL_EFFECT_COUNT);
Owner

To be translated

To be translated
Tr0n marked this conversation as resolved
@ -448,3 +448,3 @@
if (m_CharacterTextTailList.end() != std::find(m_CharacterTextTailList.begin(), m_CharacterTextTailList.end(), pTextTail))
{
//Tracef("이미 리스트에 있음 : %d\n", VirtualID);
//Tracef("\xC0\xCC\xB9\xCC \xB8\xAE\xBD\xBA\xC6\xAE\xBF\xA1 \xC0\xD6\xC0\xBD : %d\n", VirtualID);
Owner

To be translated (and the one below)

To be translated (and the one below)
Tr0n marked this conversation as resolved
@ -240,3 +240,3 @@
#ifdef _DISTRIBUTE
Tracef("알림: 팩 모드입니다.\n");
Tracef("\xBE\xCB\xB8\xB2: \xC6\xD1 \xB8\xF0\xB5\xE5\xC0\xD4\xB4\xCF\xB4\xD9.\n");
Owner

To be translated

To be translated
Tr0n marked this conversation as resolved
Tr0n added 1 commit 2025-01-12 19:15:01 +02:00
Tr0n added 1 commit 2025-01-12 19:29:24 +02:00
Tr0n added 2 commits 2025-01-12 19:37:52 +02:00
Tr0n requested review from Exynox 2025-01-12 21:07:07 +02:00
This pull request can be merged automatically.
You are not authorized to merge this pull request.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u chore/convert-euckr:Tr0n-chore/convert-euckr
git checkout Tr0n-chore/convert-euckr
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: metin2/client#13
No description provided.