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:
@@ -1,5 +1,5 @@
|
||||
#include "MW4Headers.hpp"
|
||||
//상훈 앞
|
||||
//sanghoon begin
|
||||
#include "MWMission.hpp"
|
||||
#include "VehicleInterface.hpp"
|
||||
#include "Vehicle.hpp"
|
||||
@@ -21,7 +21,7 @@
|
||||
#include "mech.hpp"
|
||||
#include "mechlabheaders.h"
|
||||
#include "bucket.hpp"
|
||||
//상훈 뒤
|
||||
//sanghoon end
|
||||
#include "hudcomp.hpp"
|
||||
#include "HUDChat.hpp"
|
||||
#include "hudcomm.hpp"
|
||||
@@ -30,7 +30,7 @@
|
||||
#include "mwapplication.hpp"
|
||||
#include "..\missionlang\resource.h"
|
||||
|
||||
//상훈짱 begin
|
||||
//sanghoon begin
|
||||
#include <windows.h>
|
||||
#include <ddraw.h>
|
||||
#include <d3d.h>
|
||||
@@ -43,7 +43,7 @@
|
||||
extern Scalar g_fLastStartTime;
|
||||
extern Adept::ReplicatorID g_LastTarget;
|
||||
|
||||
//상훈짱 end
|
||||
//sanghoon end
|
||||
|
||||
extern "C" char* _stdcall CharPrevA(const char* lpszStart, const char* lpszCurrent);
|
||||
#define CharPrev CharPrevA
|
||||
@@ -164,7 +164,7 @@ void HUDChat::Reset (void)
|
||||
// KillData ();
|
||||
comm = Cast_Object (HUDComm *, MWGUIManager::GetInstance ()->Component (MWGUIManager::HUD_COMM));
|
||||
|
||||
//mr_device의 맵 데이타를 로드한다.
|
||||
//Load map data for mr_device.
|
||||
if(hsh_mrdev_initialized){
|
||||
extern char AssetsDirectory1[MAX_PATH];
|
||||
const Map__GameModel *model = Map::GetInstance ()->GetGameModel ();
|
||||
@@ -228,12 +228,12 @@ static const float sm1_offset[][2]={
|
||||
{ 0*2, 0*2}, //special2
|
||||
};
|
||||
|
||||
//number: 0,1,2,3 lancemate의 순서..
|
||||
//part: 해당 lancemate mech의 part
|
||||
//color:해당 part의 color
|
||||
//number: 0,1,2,3 lancemate order..
|
||||
//part: mech part of the lancemate
|
||||
//color: color for this part
|
||||
void RenderAux1SmallMech(int num,int part,int color)
|
||||
{
|
||||
//각각의 offset에 따라서 그린다.
|
||||
//Draw according to each offset.
|
||||
if(sm1_texture[part][2]!=0){
|
||||
mfd_device.DrawTexture(
|
||||
sm1_offset[part][0]+190+num*160,
|
||||
@@ -598,15 +598,15 @@ void HUDChat::DrawImplementation(void)
|
||||
#endif
|
||||
|
||||
if(draw_mr){
|
||||
//미션 리뷰 내용을 그린다.
|
||||
//Draw mission review content.
|
||||
//_______________________________________________________________________________________________________
|
||||
//
|
||||
// Mech상태 및 메시지
|
||||
// Mech status and messages
|
||||
//_______________________________________________________________________________________________________
|
||||
if(!mr_device.map_loaded){
|
||||
comm = Cast_Object (HUDComm *, MWGUIManager::GetInstance ()->Component (MWGUIManager::HUD_COMM));
|
||||
|
||||
//mr_device의 맵 데이타를 로드한다.
|
||||
//Load map data for mr_device.
|
||||
extern char AssetsDirectory1[MAX_PATH];
|
||||
const Map__GameModel *model = Map::GetInstance ()->GetGameModel ();
|
||||
char temp[256];
|
||||
@@ -629,7 +629,7 @@ void HUDChat::DrawImplementation(void)
|
||||
int mech_count=0;
|
||||
PMechInfo pMechInfos = &g_aMechInfos[0];
|
||||
{
|
||||
//현재 다른 메크들의 이름 /Kill/Death를 그린다.
|
||||
//Draw the name/Kill/Death stats of other mechs.
|
||||
mech_count=MWApplication::GetInstance()->GetMechInfos(2, g_aMechInfos, g_TeamOrderOthers);
|
||||
g_TeamOrderCount=mech_count;
|
||||
if (mech_count > 8) // jcem
|
||||
@@ -657,7 +657,7 @@ void HUDChat::DrawImplementation(void)
|
||||
|
||||
|
||||
mr_device.pD3DDevice->SetTexture(0,mr_device.pDDSTexture);
|
||||
//메크의 Damage 상태를 그린다.
|
||||
//Draw mech Damage status.
|
||||
for (j=0;j<11;j++){
|
||||
if (j==7 || j==9 || j==10)
|
||||
continue;
|
||||
@@ -669,7 +669,7 @@ void HUDChat::DrawImplementation(void)
|
||||
}
|
||||
}
|
||||
|
||||
//메크의 Callsign/Score/Kills/Deaths를 그린다.
|
||||
//Draw mech Callsign/Score/Kills/Deaths.
|
||||
int nScore = 0, nKills = 0, nDeaths = 0;
|
||||
callsign=pMechInfos->m_pcszName;
|
||||
if (hud) {
|
||||
@@ -695,7 +695,7 @@ void HUDChat::DrawImplementation(void)
|
||||
pMechInfos++;
|
||||
}
|
||||
|
||||
//채팅장의 내용을 그린다.
|
||||
//Draw the contents of the chat window.
|
||||
stlport::list<ChatData>::iterator iter;
|
||||
int cy=300+30;//chat_y
|
||||
for (iter = m_Messages.begin ();iter != m_Messages.end ();iter++){
|
||||
@@ -733,8 +733,8 @@ void HUDChat::DrawImplementation(void)
|
||||
int i;
|
||||
|
||||
// Secondary Maps
|
||||
//맵과 맵 경계선을 그린다. (게임중에 변하지 않으므로 한번만 그린다.)
|
||||
//DrawMapBoundary();//다른 버전 구현할 것...
|
||||
//Draw map and boundary. (Drawn once since it does not change during game.)
|
||||
//DrawMapBoundary();//Implement alternate version...
|
||||
mr_device.pD3DDevice->SetRenderState(D3DRENDERSTATE_CLIPPING ,TRUE);
|
||||
mr_device.pD3DDevice->SetTexture(0,mr_device.pDDSMapTexture);
|
||||
mr_device.pD3DDevice->SetRenderState( D3DRENDERSTATE_ALPHABLENDENABLE, TRUE );
|
||||
@@ -748,7 +748,7 @@ void HUDChat::DrawImplementation(void)
|
||||
//MechWarrior4::VehicleInterface* p = MechWarrior4::VehicleInterface::GetInstance();
|
||||
|
||||
|
||||
//미션 리뷰에서는 현재 메크가 중심에 표시되므로 맵이 스크롤 되어 표시된다.
|
||||
//In mission review, current mech is shown at center so the map scrolls.
|
||||
float MR_MSF=4.0f;//Mission Review - Map Scale Factor
|
||||
const float ViewSize=300.0f;//Mission Review - Map Size
|
||||
const float ViewLMargin=10;
|
||||
@@ -758,9 +758,9 @@ void HUDChat::DrawImplementation(void)
|
||||
|
||||
D3DVIEWPORT7 viewport={ViewLMargin,ViewTMargin,ViewSize,ViewSize,0.0f,1.0f};
|
||||
mr_device.pD3DDevice->SetViewport(&viewport);
|
||||
///////////////////// MAP 시작 //////////////////////
|
||||
///////////////////// MAP BEGIN //////////////////////
|
||||
|
||||
//Focus Mech를 설정하는 루틴을 넣어야한다.
|
||||
//Need to add routine to set Focus Mech.
|
||||
Scalar multx,multz;
|
||||
|
||||
|
||||
@@ -787,10 +787,10 @@ void HUDChat::DrawImplementation(void)
|
||||
|
||||
mr_device.pD3DDevice->SetTexture(0,mr_device.pDDSTexture);
|
||||
|
||||
//맵상에 메크들들 그리기.텍스트 먼저..
|
||||
//Draw mechs on map. Text first..
|
||||
for(i=0,pMechInfos = &g_aMechInfos[0];i<mech_count;i++,pMechInfos++){
|
||||
Mech* pMech = pMechInfos->m_pMech;
|
||||
//메크의 위치를 구할 것..
|
||||
//TODO: get mech position..
|
||||
|
||||
Stuff::Point3D pos;
|
||||
|
||||
@@ -827,10 +827,10 @@ void HUDChat::DrawImplementation(void)
|
||||
color,callsign,TEXTALIGN_HCENTER|TEXTALIGN_TOP);
|
||||
|
||||
}
|
||||
//아이콘 그리기.
|
||||
//Draw icon.
|
||||
for(i=0,pMechInfos = &g_aMechInfos[0];i<mech_count;i++,pMechInfos++){
|
||||
Mech* pMech = pMechInfos->m_pMech;
|
||||
//메크의 위치를 구할 것..
|
||||
//TODO: get mech position..
|
||||
|
||||
Stuff::Point3D pos;
|
||||
|
||||
@@ -886,7 +886,7 @@ void HUDChat::DrawImplementation(void)
|
||||
mr_device.pD3DDevice->SetViewport(&viewport2);
|
||||
|
||||
|
||||
///////////////////// MAP 끝 //////////////////////
|
||||
///////////////////// MAP END //////////////////////
|
||||
|
||||
//_______________________________________________________________________________________________________
|
||||
//
|
||||
@@ -894,7 +894,7 @@ void HUDChat::DrawImplementation(void)
|
||||
//_______________________________________________________________________________________________________
|
||||
|
||||
|
||||
//미션 시간 그리기...hudtimer.cpp에 DrawImplementation에서 따온것임..
|
||||
//Draw mission timer... taken from DrawImplementation in hudtimer.cpp..
|
||||
MWMission *mwmiss = Cast_Object (MWMission *,Mission::GetInstance ());
|
||||
Verify (mwmiss);
|
||||
Stuff::Scalar cur_time=mwmiss->GetMissionTime();//-mwmiss->GetMissionTime();
|
||||
@@ -923,7 +923,7 @@ void HUDChat::DrawImplementation(void)
|
||||
if(g_nTeamOrderMode==TEAM_MODE){
|
||||
int i,j;
|
||||
int size=3;
|
||||
//메크들의 상태를 그린다.
|
||||
//Draw mech status.
|
||||
PMechInfo pMechInfos = &g_aMechInfos[1];
|
||||
size=MWApplication::GetInstance()->GetMechInfos(0, g_aMechInfos, g_TeamOrderOthers);
|
||||
size--;
|
||||
@@ -970,7 +970,7 @@ void HUDChat::DrawImplementation(void)
|
||||
pMechInfos++;
|
||||
}
|
||||
mfd_device.DrawMFDBackText(mfd_text_comm1);
|
||||
//채팅장의 내용을 그린다.
|
||||
//Draw the contents of the chat window.
|
||||
stlport::list<ChatData>::iterator iter;
|
||||
int cy=240;//chat_y
|
||||
for (iter = m_Messages.begin ();iter != m_Messages.end ();iter++){
|
||||
@@ -996,7 +996,7 @@ void HUDChat::DrawImplementation(void)
|
||||
}
|
||||
|
||||
}else if(g_nTeamOrderMode==FREEFORALL_MODE){
|
||||
//현재 다른 메크들의 이름 /Kill/Death를 그린다.
|
||||
//Draw the name/Kill/Death stats of other mechs.
|
||||
int size=0;
|
||||
PMechInfo pMechInfos = &g_aMechInfos[1];
|
||||
size=MWApplication::GetInstance()->GetMechInfos(2, g_aMechInfos, g_TeamOrderOthers);
|
||||
@@ -1006,10 +1006,10 @@ void HUDChat::DrawImplementation(void)
|
||||
size = 7;
|
||||
|
||||
int i;
|
||||
//번호를 먼저 지운다.
|
||||
//Clear the numbers first.
|
||||
// MSL 5.03 Comm MFD
|
||||
for(i=0;i<7;i++)mfd_text_comm3[i][0]=0;
|
||||
//번호를 채워 넣는다.
|
||||
//Fill in the numbers.
|
||||
// MSL 5.03 Comm MFD
|
||||
for(i=0;i<size;i++)itoa(i+1,mfd_text_comm3[i],10);
|
||||
|
||||
@@ -1064,8 +1064,8 @@ void HUDChat::DrawImplementation(void)
|
||||
if(size.cx<160){
|
||||
mfd_device.pFont[1].DrawText((float)p2->x,(float)p2->y,0xFFFFFFFF,callsign,TEXTALIGN_ORG);
|
||||
}else{
|
||||
//최소크기 폰트도.. 넘어선다...
|
||||
//2line으로 만든다.
|
||||
//Even the minimum font size is exceeded...
|
||||
//Split into 2 lines.
|
||||
char callsign2[128];
|
||||
strcpy(callsign2,callsign);
|
||||
int len2=strlen(callsign)/2;
|
||||
@@ -1120,7 +1120,7 @@ void HUDChat::DrawImplementation(void)
|
||||
|
||||
pMechInfos++;
|
||||
}
|
||||
//채팅장의 내용을 그린다.
|
||||
//Draw the contents of the chat window.
|
||||
stlport::list<ChatData>::iterator iter;
|
||||
int cy=180;//chat_y
|
||||
for (iter = m_Messages.begin ();iter != m_Messages.end ();iter++){
|
||||
@@ -1145,7 +1145,7 @@ void HUDChat::DrawImplementation(void)
|
||||
iter = m_Messages.erase (iter);
|
||||
}
|
||||
/*
|
||||
//MWMission.cpp에서 가져온것인
|
||||
//Taken from MWMission.cpp
|
||||
MWMission *mwmiss = Cast_Object (MWMission *,Mission::GetInstance ());
|
||||
|
||||
int death=0,kill=0;//,score
|
||||
@@ -1167,7 +1167,7 @@ void HUDChat::DrawImplementation(void)
|
||||
}else if(g_nTeamOrderMode==TEAM_MESSAGE2){
|
||||
;//do nothing
|
||||
}
|
||||
//상훈 뒤
|
||||
//sanghoon end
|
||||
mfd_device.EndChannel();
|
||||
} else {
|
||||
}//hsh_initialized
|
||||
|
||||
Reference in New Issue
Block a user