Translate Korean comments/strings to English; fix UTF-8 encoding across source tree

Korean translation (84 source files, 876 lines):
- Translated all EUC-KR/CP949 Korean developer comments to English across
  84 source files in Gameleap/code/. Zero Korean bytes remain outside the
  intentional font-table headers (D3FFontEdit2/fontedit all.h etc.).
- Comment markers: //상훈 앞/뒤 -> //sanghoon begin/end (Sang-hun's code
  region markers); //상훈짱 begin/end, //상훈.. variants; // 鉉 -> // hyun
  (second developer's markers); // 鉉 - start/end patterns.
- Functional string translations in recscore.cpp (mw4 + mw4print copies):
  body-part return values (왼발/오른발/etc. -> Left Leg/Right Leg/etc.),
  kill-announcer format strings (~30 entries), and the nonmfc.h assert dialog.
- GosView profiler: 킪 -> us (microseconds) in timing display strings.
- Network/socket code (ctcl.cpp, mugsocs.h, ctime.cpp across Launcher/
  MW4Application/MW4GameEd2/AnimScript): state-machine comments, socket
  ID comments, login/session management comments.
- render.hpp CHSH_Device member comments; GUIRadarManager.cpp drawing
  routine comments; hudchat/hudcomp2/huddamage/hudmap/hudweapon/hudtarg
  HUD component comments.
- DXRasterizer.cpp: cleaned residual U+FFFD replacement characters left
  from a prior partial encoding conversion.

UTF-8 encoding cleanup (76+ files):
- Latin-1 single bytes converted to proper UTF-8 multi-byte sequences:
  © (0xA9) in 3dsmax4/Maxscrpt Autodesk/Wainwright copyright headers,
  ® (0xAE) in gosHelp/Remote.cpp, · (0xB7) bullet points in ai command.hpp,
  Û (0xDB) in SafeChain_Test.cpp tool header,
  ß (0xDF) in AnimationSuite version strings (8 files).
- Font lookup tables (D3FFontEdit2/, fontedit/ *.h) intentionally left
  as-is: raw byte values are C array data, not text.

Language DLL:
- Replaced Gameleap/mw4/Language.dll (original Korean binary) and
  MW4/Language.dll with freshly built English version from
  Language - Win32 English config (Language.dsp). Fixes Korean button
  labels in the GameOS exception/crash dialog (??? ??... / ?? / ???
  were showing instead of More Details.../Continue/Exit).
This commit is contained in:
2026-07-18 13:10:31 -05:00
parent eaa5fd3bbe
commit af416960fa
171 changed files with 973 additions and 973 deletions
+22 -22
View File
@@ -514,7 +514,7 @@ void CSOC_Server::OnSendFile()
BYTE bCode;
if (Disassemble("B", &bCode)) {
ASSERT((bCode == 0) || (bCode == 3));
// 받아가시오 from Game to console...
// Receiving from Game to console...
SYSTEMTIME* pSysTime;
WORD wSysTimeSize;
GUID* pGUID;
@@ -530,7 +530,7 @@ void CSOC_Server::OnSendFile()
pSF = g_pCTCLManager->m_SFM_Recv.Find(*pGUID, nType);
if (pSF) {
if (bCode == 3) {
// 미션리뷰 서버가 mission review 받았다는 것을 받았느냐?
// Did we receive confirmation the mission review server got the mission review?
pSF->m_bProcessed = true;
g_pCTCLManager->m_SFM_Recv.Cut(pSF);
g_pCTCLManager->m_SFM_Done.AddTail(pSF);
@@ -907,7 +907,7 @@ void CSOC_Client::OnSendFile()
BYTE bCode;
if (Disassemble("B", &bCode)) {
ASSERT((bCode == 1) || (bCode == 2));
// 받았오 from console to Game...
// Received from console to Game...
SYSTEMTIME* pSysTime;
WORD wSysTimeSize;
GUID* pGUID;
@@ -1425,21 +1425,21 @@ void CCTCLManager::Run()
#endif // !defined(CTCL_LAUNCHER)
} else {
/*
.
Code executed for both client and server.
*
/ ..
(// .)
*Possible states:
Before server/client role is determined: waiting for commands
(Commands such as exit/start-server/start-client may arrive.)
(CreateSession가 .)
Bot들에
( .)
Launch를
Running as server, waiting for server mech configuration data
(State after CreateSession has been called.)
Running as server, waiting for Bot information
(Client joining happens automatically between client and server.)
Running as server, waiting for Launch
==> .
==>Client has no waiting state as data is transferred immediately on startup.
==> .
==>Define each state and implement the appropriate handling for each.
switch(state){
}
*/
@@ -1521,8 +1521,8 @@ void CCTCLManager::DoMech4Comm()
}
break;
case 1:
//서버/클라이언트로서 실행준비하도록 명령을 전달한다.
//또한 서버를 실행하는데 필요한 모든 파라미터도 함께 전달한다.
//Send command to prepare for execution as server/client.
//Also transmit all parameters required to run the server.
for(i = 0; i < g_nPlayerInfos; i++) {
SPlayerInfo& pi = g_aPlayerInfos[i];
if (!pi.m_bBot) {
@@ -1549,12 +1549,12 @@ void CCTCLManager::DoMech4Comm()
}
}
if (i == g_nPlayerInfos) {
// Bot들에 대한 정보를 모두 한데 묶어서 보낸다.
// Bundle and send all Bot information together.
CPacket pak(&SVR.GetGameSOC());
pak.Assemble("B", C_BOTS);
for(i = 0; i < g_nPlayerInfos; i++) {
if (i != g_nServer) { // 원래 Bot만 지금은 서버를 제외한 전부...
if (i != g_nServer) { // Originally bots only; now everyone except the server...
SPlayerInfo& pi = g_aPlayerInfos[i];
pak.Assemble("BnsDWwsnn", pi.m_bBot, pi.m_nLevelOrTesla, pi.m_szName, pi.m_nMechIndex, pi.m_fileID, pi.m_recordID, pi.m_szMech, pi.m_nTeamOrSkin, pi.m_nDecal);
}
@@ -1565,10 +1565,10 @@ void CCTCLManager::DoMech4Comm()
}
break;
case 4:
// 게임이 성공적으로 만들어지면 서버와 클라이언트들의 Mech에 대한 정보들을 Set한다...
// Once the game is successfully created, set Mech info for server and all clients...
if (SOCGame.m_nGameReturn == _EGR_OkCreateSession) {
for(i = 0; i < g_nPlayerInfos; i++) {
if (i != g_nServer) { // 서버는 이미 SetMech에 진입한 상태...
if (i != g_nServer) { // Server has already entered SetMech...
SPlayerInfo& pi = g_aPlayerInfos[i];
if (!pi.m_bBot) {
CTeslaInfo& ti = m_aTIs.GetAt(pi.m_nLevelOrTesla);
@@ -1581,8 +1581,8 @@ void CCTCLManager::DoMech4Comm()
}
break;
case 6:
//모든 클라이언드들이 서버에 참여하기를 기다린다.<==이 응답은 서버로 부터 얻을 수 있다.
//참여가 모두 끝났으면, 서버로 하여금 게임을 Launch시키도록 한다.
//Wait for all clients to join the server. <==This response comes from the server.
//Once all clients have joined, instruct the server to Launch the game.
if (SOCGame.m_nGameReturn == _EGR_OkLaunchReady) {
g_nMech4Comm = 9;
}