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
+87 -87
View File
@@ -19,16 +19,16 @@
#include <MLR\MLRTexture.hpp>
#include "MWObject.hpp"
//상훈짱 begin
//sanghoon begin
#include <windows.h>
#include <ddraw.h>
#include <d3d.h>
#include <GameOS\render.hpp>
#define RADAR_SCALE 2.8f
//상훈짱 end
//sanghoon end
int m_gCool; //
int m_gCool; // hyun: coolant
namespace MW4AI
{
@@ -121,22 +121,22 @@ GUIRadarManager::GUIRadarManager() :
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
//상훈
//sanghoon
extern bool sh_game_started;
GUIRadarManager::~GUIRadarManager()
{
//상훈 앞
//sanghoon begin
sh_game_started=false;
//상훈 뒤
//sanghoon end
delete m_RangeText;
}
void DrawMapBoundary()
{
//DrawImplementation에서 추출해왔음..
//미션이 시작한 후 한번만 그리게된다.(맵상의 작전 영역은 변하지 않으므로..)
//Extracted from DrawImplementation..
//Drawn only once after mission start (operation area on map does not change..)
Scalar multx,multz;
multx = 200.0f/(MW4AI::MaxX - MW4AI::MinX);
@@ -148,7 +148,7 @@ void DrawMapBoundary()
int numpts = ptlist.GetLength ();
HDC hdcBackImage;
radar_device.pDDSBackground->GetDC( &hdcBackImage);//백버퍼 준비용.. 이미지..
radar_device.pDDSBackground->GetDC( &hdcBackImage);//Image for back buffer preparation..
HPEN hpenold=(HPEN)SelectObject(hdcBackImage,CreatePen(PS_SOLID,1,RGB(255,0,0)));
for (int i=0;i<numpts;i++){
@@ -184,7 +184,7 @@ void DrawMapBoundary()
void GUIRadarManager::Reset (void)
{
//상훈
//sanghoon
MWApplication *m_App;
m_App = MWApplication::GetInstance ();
@@ -192,19 +192,19 @@ void GUIRadarManager::Reset (void)
bool networking = MWApplication::GetInstance()->networkingFlag;
if (!networking)
m_RadarMode = 0;
//상훈
//sanghoon
if(hsh_initialized)
DrawMapBoundary();
}
//상훈 앞
//sanghoon begin
/*
char * radar_text[]={
"JUMP\nJET","SHUT\nDOWN","OVER\nRIDE","FLUSH","CROUCH","",
"RANGE","RADAR\nMODE","LIGHT\nAMP","SEARCH\nLIGHT","AUTO\nCENTER"
};
*/
//상훈 뒤
//sanghoon end
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
@@ -246,7 +246,7 @@ if(!hsh_initialized){
Check_Pointer(vehicle);
Check_Pointer(vehicle->GetSensor());
/*
//상훈 앞 맵
//sanghoon begin: map
Scalar multx,multz;
multx = 200.0f/(MW4AI::MaxX - MW4AI::MinX);
@@ -655,7 +655,7 @@ if(!hsh_initialized){
int i;
// Secondary Maps
//맵과 맵 경계선을 그린다. (게임중에 변하지 않으므로 한번만 그린다.)
//Draw map and boundary. (Drawn once since it does not change during game.)
if(!radar_device.MapDrawn){
extern char AssetsDirectory1[MAX_PATH];
@@ -724,8 +724,8 @@ if(!hsh_initialized){
Check_Pointer(vehicle->GetSensor());
///////////////////// MAP 시작 //////////////////////
/////Torso Sweep그리기.. 시작
///////////////////// MAP BEGIN //////////////////////
/////Torso Sweep draw.. begin
Scalar multx,multz;
multx = 200.0f/(MW4AI::MaxX - MW4AI::MinX);
@@ -759,16 +759,16 @@ if(!hsh_initialized){
radar_device.DrawQuad(-pos.x+240-1,-pos.y+508-1,-pos.x+240+2,-pos.y+508+2,0xFF0000C0);
}
/////Torso Sweep그리기.. 끝
/////Torso Sweep draw.. end
//맵상에 오브젝트들 그리기.
//Draw objects on map.
{
radar_device.pD3DDevice->SetTexture(0,radar_device.pDDSTexture);
MWObject *hsh_current_object;
for(i=0;i<vehicle->GetSensor()->numberOfContacts;i++){
hsh_current_object=vehicle->GetSensor()->GetSensorData()[i]->object.GetCurrent();
if (hsh_current_object != NULL){
bool draw_contact = true;//해당 오브젝트를 그릴것인지..에대한 플래그..
bool draw_contact = true;//Flag: whether to draw this object..
// MSL 5.02 Bot on Map
if (hsh_current_object->GetAI()==NULL && (MWApplication::GetInstance()->networkingFlag == false))draw_contact = false;
@@ -833,10 +833,10 @@ if(!hsh_initialized){
}
}
///////////////////// MAP //////////////////////
///////////////////// MAP END //////////////////////
///////////////////// RADAR 시작 //////////////////////
///////////////////// RADAR BEGIN //////////////////////
radar_device.pD3DDevice->SetTexture(0,0);
@@ -855,7 +855,7 @@ if(!hsh_initialized){
world_to_vehicle.Invert(vehicle_to_world);
// 경계선 그리기..
// Draw boundary line..
Mission *miss;
miss = Mission::GetInstance ();
@@ -900,7 +900,7 @@ if(!hsh_initialized){
}
//Torso View그리기..
//Draw Torso View..
//HSH_RenderRadarTorsoView(-m_TorsoTwist);
radar_device.pD3DDevice->SetTexture(0,radar_device.pDDSTexture);
radar_device.pD3DDevice->SetRenderState( D3DRENDERSTATE_ALPHABLENDENABLE, TRUE );
@@ -914,7 +914,7 @@ if(!hsh_initialized){
radar_device.pD3DDevice->SetTextureStageState(0,D3DTSS_MAGFILTER, D3DTFG_POINT );
radar_device.pD3DDevice->SetTextureStageState(0,D3DTSS_MINFILTER, D3DTFG_POINT );
//Radar범위 그리기.
//Draw Radar range.
char text[10];
if (radarRange != radarRangeOrg)
sprintf (text,"NoLmt");
@@ -923,11 +923,11 @@ if(!hsh_initialized){
//HSH_DrawRadarNumber(345,386,text,1);
radar_device.pFont[1].DrawText(80,350,0xFFFFFFFF,text,TEXTALIGN_ORG);
//ActiveMode그리기..
//Draw ActiveMode..
char* modechar=(vehicle->GetSensor ()->GetSensorMode () == Sensor::ActiveMode)?"Active":"Passive";
radar_device.pFont[1].DrawText(395,350,0xFFFFFF,modechar,TEXTALIGN_ORG);
//빌딩 그리기
//Draw buildings.
MWObject *current_object;
for(i=0;i<vehicle->GetSensor()->numberOfBuildingContacts;i++)
{
@@ -993,7 +993,7 @@ if(!hsh_initialized){
}
}
//Object그리기.
//Draw Objects.
for(i=0;i<vehicle->GetSensor()->numberOfContacts;i++){
current_object=vehicle->GetSensor()->GetSensorData()[i]->object.GetCurrent();
if (current_object != NULL){
@@ -1081,7 +1081,7 @@ if(!hsh_initialized){
}
}
//Navigation Point그리기.
//Draw Navigation Points.
j=0;
ChainIteratorOf<NavPoint *> iter (NavPoint::s_RevealedNavPoints);
NavPoint *nav;
@@ -1136,7 +1136,7 @@ if(!hsh_initialized){
radar_device.DrawTexture(posx2,posy2,0xFFFFFFFF,(60+id*12),0,(60+id*12)+12,12);
}
///////////////////// RADAR //////////////////////
///////////////////// RADAR END //////////////////////
}
}
@@ -1586,23 +1586,23 @@ if(!hsh_initialized){
DWORD color = MakeColor (64,64,64,255);
//막대 게이지의 백그라운드.. 기준..
//Bar gauge background baseline..
m_Textures[1]->Draw (loc,size,color,HUDTexture::NO_FLIP,true);
color = MakeColor (255,255,255,255);
loc.y += size.y - targetyval;
size.y = (Scalar) targetyval;
m_Textures[0]->TopLeft (m_Textures[0]->Left (),(Scalar) (m_BaseBottom - targetyval));
m_Textures[0]->BlendMode (gos_BlendDecal);
//삼색 막대 게이지 그리기..(clipping size를 조절함으로써.. 값을 조절하는 효과를 나타낸다.)
//Draw tri-color bar gauge.. (value adjusted by modifying clip size..)
m_Textures[0]->Draw (loc,size,color,HUDTexture::NO_FLIP);
color = MakeColor (0,125,0,250);
size = Size ();
loc = Location ();
//막대 게이지의 프레임.
//Bar gauge frame.
DrawFrame ((int) (loc.x-2),(int) (loc.y-2),(int) (loc.x+size.x),(int) (loc.y+size.y),color);
//온도 텍스트의 프레임..
//Temperature text frame..
DrawFrame (261,542,303,560,color);
m_HeatText->TopLeft (261,542);
m_HeatText->BottomRight (303,560);
@@ -1611,23 +1611,23 @@ if(!hsh_initialized){
DWORD textw,texth;
m_HeatText->DrawSize (textw,texth);
//온도를 정해진 색으로 출력한다.(게이지는 텍스쳐이므로 색을 지정할 필요가 없다.)
//Display temperature in its designated color. (Gauge is a texture, no color spec needed.)
m_HeatText->Draw (Point3D (282.0f - (textw/2.0f),551.0f - (texth/2.0f),0.9f));
DrawLine (304,549,310,549,color);
DrawLine (309,(int) heaty,309,549,color);
DrawLine ((int) (loc.x-2),(int) (heaty),309,(int) (heaty),color);
}else if(sh_step==1){
//radar manager는 shutdown 시에 호출되지 않으므로.. 여기서 추가적으로 state를 업데이트 시켜준다.
//radar manager is not called on shutdown.. state updated additionally here.
MechWarrior4::VehicleInterface* p = MechWarrior4::VehicleInterface::GetInstance();
p->GetGUIRadarStates(radar_device.recent_state);
int targetyval = (int) ((m_Heat * 23)/100.0f);
Clamp (targetyval,0,22);
//heat의 범위는??? 0~100???
//What is the range of heat??? 0~100???
//target은 그리지 않고 현재 온도만 그린다.
//Draw current temperature only, without the target.
float sizey=256;
//삼색 막대 게이지 그리기..(clipping size를 조절함으로써.. 값을 조절하는 효과를 나타낸다.)
//Draw tri-color bar gauge.. (value adjusted by modifying clip size..)
{
radar_device.pD3DDevice->SetTexture(0,radar_device.pDDSTexture);
//backbground image
@@ -1642,7 +1642,7 @@ if(!hsh_initialized){
radar_device.pD3DDevice->SetTexture(0,0);
radar_device.DrawFrame(54-1,630-188-3,80+1,630+3,0xFFFFFFFF);
}
//텍스트
//Text
{
char buf[16];
// MSL 5.02 Heat Scale Header
@@ -1664,7 +1664,7 @@ HUDJump::HUDJump ()
m_TargetJump = -1.0f;
Location (Point3D (467,539,0.9f));
Size (Point3D (7,49,0.9f));
//j라고 하는 작은 글자... <==실제로는 잘 보이지 않는다.
//Small 'j' character... <==actually barely visible.
AddTexture ("hud\\hud4",0,98,200,106,207);
}
@@ -1703,14 +1703,14 @@ if(!hsh_initialized){
size = Size ();
loc = Location ();
DWORD color = MakeColor (255,255,255,250); // 원래 255,255,255,250이었음
//j라고 하는 작은 글자...
DWORD color = MakeColor (255,255,255,250); // was originally 255,255,255,250
//Small 'j' character...
m_Textures[0]->Draw (Point3D (loc.x+2,loc.y - m_Textures[0]->Size().y-2.0f,0.9f),m_Textures[0]->Size (),color);
int targetyval = (int) (m_Jump * size.y);
color = MakeColor (0,125,0,250);
//녹색 게이지..
//Green gauge..
my_DrawRect ((int) (loc.x),(int) (loc.y+size.y-targetyval),(int) (loc.x+size.x),(int) (loc.y+size.y),color);
if ((m_Jump != 0) && (m_Alpha != 0))
{
@@ -1718,11 +1718,11 @@ if(!hsh_initialized){
my_DrawRect ((int) (loc.x),(int) (loc.y+size.y-targetyval),(int) (loc.x+size.x),(int) (loc.y+size.y),color);
}
//게이지 맨위의 흰선..
//White line at the top of gauge..
color = MakeColor (255,255,255,200);
DrawLine ((int) (loc.x),(int) (loc.y+size.y-targetyval),(int) (loc.x+size.x),(int) (loc.y+size.y-targetyval),color);
//테두리 그리기..
//Draw border..
color = MakeColor (0,125,0,250);
DrawFrame ((int) loc.x,(int) (loc.y),(int) (loc.x+size.x),(int) (loc.y+size.y),color);
}else if(sh_step==1){
@@ -1736,7 +1736,7 @@ if(!hsh_initialized){
}
}
//전반적으로 jumpjet과 거의 같다.
//Overall almost identical to jumpjet.
HUDCoolant::HUDCoolant ()
{
m_Alpha = 255;
@@ -1745,7 +1745,7 @@ HUDCoolant::HUDCoolant ()
m_Cool = 100;
Location (Point3D (332,539,0.9f));
Size (Point3D (7,49,0.9f));
//C라고 하는 작은 글자..
//Small 'C' character..
AddTexture ("hud\\hud4",0,88,200,96,207);
}
@@ -1782,7 +1782,7 @@ if(!hsh_initialized){
loc = Location ();
DWORD color = MakeColor (0,125,0,250);
//C라고 하는 작은 글자..
//Small 'C' character..
m_Textures[0]->Draw (Point3D (loc.x+2,loc.y - m_Textures[0]->Size().y-2.0f,0.9f),m_Textures[0]->Size (),color);
m_gCool = m_Cool;
@@ -1790,19 +1790,19 @@ if(!hsh_initialized){
Clamp (targetyval,0,(int) size.y);
color = MakeColor (0,100,255,250);
//게이지 그리기..
//Draw gauge..
my_DrawRect ((int) (loc.x),(int) (loc.y+size.y-targetyval),(int) (loc.x+size.x),(int) (loc.y+size.y),color);
if ((m_Cool != 0) && (m_Alpha != 0))
{
//flush했을때.. 흰색으로 깜박이는 효과 그리기...
//When flushed.. draw white blinking effect...
color = MakeColor (255,255,255,m_Alpha);
my_DrawRect ((int) (loc.x),(int) (loc.y+size.y-targetyval),(int) (loc.x+size.x),(int) (loc.y+size.y),color);
}
color = MakeColor (255,255,255,200);
//게이지 위쪽의 흰선..
//White line above gauge..
DrawLine ((int) (loc.x),(int) (loc.y+size.y-targetyval),(int) (loc.x+size.x),(int) (loc.y+size.y-targetyval),color);
//게이지를 둘러싸는 프레임..
//Frame surrounding gauge..
color = MakeColor (0,125,0,250);
DrawFrame ((int) loc.x,(int) (loc.y),(int) (loc.x+size.x),(int) (loc.y+size.y),color);
}else if(sh_step==1){
@@ -1817,7 +1817,7 @@ if(!hsh_initialized){
}
//속도를 나타내는... HUD Component
//HUD Component displaying speed...
namespace NHUDSPEED
{
// const int for_speed_box[12] = {0,4,8,12,16,20,24,28,32,36,40,44};
@@ -1928,25 +1928,25 @@ if(!hsh_initialized){
speedy = loc.y + 56 - fred;
DWORD color = MakeColor (255,255,255,255);
//게이지 백그라운드 눈금..
//Gauge background tick marks..
m_Textures[1]->Draw (loc,size,color,HUDTexture::NO_FLIP,true);
loc.y += top;
size.y = (Scalar) bottom - top;
//삼색 막대 게이지 그리기..(clipping size를 조절함으로써.. 값을 조절하는 효과를 나타낸다.)
//Draw tri-color bar gauge.. (value adjusted by modifying clip size..)
m_Textures[0]->TopLeft (m_Textures[0]->Left (),(Scalar) (top));
m_Textures[0]->BottomRight (m_Textures[0]->Right (),(Scalar) (bottom));
m_Textures[0]->BlendMode (gos_BlendDecal);
//colored 게이지..녹색으로 되어 있다.
//Colored gauge.. currently green.
m_Textures[0]->Draw (loc,size,color,HUDTexture::NO_FLIP,true);
color = MakeColor (0,125,0,250);
size = Size ();
loc = Location ();
//게이지를 둘러싸는.. 프레임 그리기..
//Draw frame surrounding gauge..
DrawFrame ((int) (loc.x-2),(int) (loc.y-2),(int) (loc.x+size.x),(int) (loc.y+size.y),color);
//속도 표시하는 프레임...
//Speed display frame...
DrawFrame (506,537,548,555,color);
m_SpeedText->TopLeft (506,537);
m_SpeedText->BottomRight (548,555);
@@ -1958,15 +1958,15 @@ if(!hsh_initialized){
DWORD textw,texth;
m_SpeedText->DrawSize (textw,texth);
//속도 표시하는 텍스트.. 앞/뒤 방향에 따라서 색이 녹식/파란색.....으로 된다.
//Speed text.. color is green/blue depending on forward/backward direction.....
m_SpeedText->Draw (Point3D (527.0f - (textw/2.0f),546.0f - (texth/2.0f),0.9f));
//속도프레임-게이지 프레임 연결하는 3 segment라인..
//3-segment line connecting speed frame to gauge frame..
DrawLine (498,549,506,549,color);
DrawLine (498,(int) speedy,498,549,color);
DrawLine ((int) (loc.x+size.x+2),(int) (speedy),498,(int) (speedy),color);
}else if(sh_step==1){
//적절하지는 않지만.. 미션 시간을 speed에서 같이 그린다.
//미션 시간 그리기...hudtimer.cpp에 DrawImplementation에서 따온것임..
//Not ideal, but draw mission time alongside speed display.
//Draw mission timer... taken from DrawImplementation in hudtimer.cpp..
{
MWMission *mwmiss = Cast_Object (MWMission *,Mission::GetInstance ());
Verify (mwmiss);
@@ -1983,7 +1983,7 @@ if(!hsh_initialized){
}
float offset;
//126,62.. 188의 속도.. 2:1로 나누면..
//126,62.. speed 188.. divided 2:1..
//backbground image
radar_device.pD3DDevice->SetTexture(0,radar_device.pDDSTexture);
@@ -2094,8 +2094,8 @@ HUDNav::HUDNav()
navPointName = new HUDText ();
navPointRange = new HUDNumberText ();
playerAngle = new HUDNumberText ();
navPointRange->SetSize (HUDText::MEDIUM_SIZE); // 원래 SMALL_SIZE였음
playerAngle->SetSize (HUDText::MEDIUM_SIZE); // 원래 SMALL_SIZE였음
navPointRange->SetSize (HUDText::MEDIUM_SIZE); // was originally SMALL_SIZE
playerAngle->SetSize (HUDText::MEDIUM_SIZE); // was originally SMALL_SIZE
m_NavAlphaTime = 0;
@@ -2203,14 +2203,14 @@ if(!hsh_initialized){
m_Textures[10]->TopLeft ((Scalar) (m_BaseLeft + offset),m_Textures[10]->Top ());
size = m_Textures[10]->Size ();
m_Textures[10]->Draw (loc,size,color,HUDTexture::NO_FLIP,true);
//2번 aux의 줄자..의 대부분...(이걸로 표시되지 않을때.. 다음걸로 표시한다.)
//Main portion of aux2 ruler... (if not displayable here, use next one.)
#if 1
loc.x += size.x;
loc.x-=1;
m_Textures[13]->BottomRight ((Scalar) m_BaseLeft+offset,m_Textures[13]->Bottom ());
size = m_Textures[13]->Size ();
m_Textures[13]->Draw (loc,size,color,HUDTexture::NO_FLIP,true);
//2번 aux의 줄자의 짦은 부분....
//Short tick marks of aux2 ruler....
#endif
int heading = m_PlayerFacing;
@@ -2223,7 +2223,7 @@ if(!hsh_initialized){
bool draw = false;
if (dir < 0)
dir += 360;
else if (dir > 360)//상훈 고침.. 원래는 --> "else if (dir > 360)" 였음..
else if (dir > 360)//sanghoon fix: original was --> "else if (dir > 360)"..
dir -= 360;
switch (dir)
{
@@ -2265,11 +2265,11 @@ if(!hsh_initialized){
navText[textid]->DrawSize (dx,dy);
textloc.x -= dx/2;
navText[textid]->Draw (textloc);
//2번 aux방위각 표시.. 340 350 N 10 20...
//Aux2 bearing display.. 340 350 N 10 20...
}
}
//2번 aux mech의 방향각도 표시...
//Aux2 mech heading angle display...
color = Color ();
DrawFrame (400-13,10,400+13,22,color);
DWORD dx,dy;
@@ -2288,7 +2288,7 @@ if(!hsh_initialized){
size = m_Textures[11]->Size ();
color = Color ();
m_Textures[11]->Draw (Point3D (400.0f,44.0f,0.9f),size,color);
//2번 aux 중심표시.. 역삼각형..(매우작음)
//Aux2 center indicator.. inverted triangle.. (very small)
if (m_NavPointRange != -1)
{
@@ -2299,9 +2299,9 @@ if(!hsh_initialized){
textloc.y = 0;
textloc.z = 0;
// Draw navpoint bug or arrows
//2번 aux navigation
//navpoint bug:... 목표를 나타내는 동그라미를 발한다.(ruler안에 표시가능할때)
//arrow ruler안에 표시가 불가능할때.. 방향만 좌/우 화살표로서 표시한다.
//Aux2 navigation
//navpoint: draw circle indicating objective (when displayable in ruler)
//When unable to display in arrow ruler.. show direction with left/right arrow only.
DWORD color = (m_NavAlpha << 24) + 0x00AF00;
size = Size ();
@@ -2346,7 +2346,7 @@ if(!hsh_initialized){
textloc.y += 5;
textloc.z = 0.9f;
}
//지점 타켓의 이름을 그린다.
//Draw the name of the point target.
DWORD dx,dy;
navPointName->TopLeft (textloc.x-50.0f,textloc.y-2.0f);
navPointName->BottomRight (textloc.x+50.0f,textloc.y+20.0f);
@@ -2357,7 +2357,7 @@ if(!hsh_initialized){
navPointName->Draw (textloc);
textloc.x += dx/2;
//지점 타켓의 거리를 그린다.
//Draw distance to point target.
textloc.y += 12.0f;
navPointName->TopLeft (textloc.x-50.0f,textloc.y-2.0f);
navPointName->BottomRight (textloc.x+50.0f,textloc.y+20.0f);
@@ -2503,7 +2503,7 @@ if(!hsh_initialized){
if(VehGetShutdownState()!=1)
{
mfd_device.DrawTexture(120,140,0xFFFFFFFF,testoffset+1,256,testoffset+402+1,256+18);
//눈금위의 방위각 그리기
//Draw bearing above tick marks
int heading = m_PlayerFacing;
int ii=0;
for (int i=heading-20;i<=heading+20;i++,ii++){
@@ -2521,7 +2521,7 @@ if(!hsh_initialized){
}
mfd_device.pD3DDevice->SetTexture(0,0);
//현재 방위각 그리기
//Draw current bearing
{
char text[8];
wsprintf(text,"%d",(int)m_PlayerFacing);
@@ -2530,19 +2530,19 @@ if(!hsh_initialized){
}
mfd_device.pD3DDevice->SetTexture(0,mfd_device.pDDSTexture);
//중심표시 역삼각형(매우작음) 그리기
//Draw center-indicator inverted triangle (very small)
mfd_device.DrawTexture(320-5,140,0xFFFFFFFF,59,30+256,70,39+256);
//목표 그리기.
if (m_NavPointRange != -1){//목표 지점이 있을때.
//Draw objective.
if (m_NavPointRange != -1){//when a target waypoint exists.
int hsh_textpos=0;
//목표 표시 그리기.
//Draw objective indicator.
if ((m_NavPointFacing > -20) && (m_NavPointFacing < 20)){
//방위각 내에 있을때.. 버그를 그린다.
//When inside bearing range.. draw indicator.
mfd_device.DrawTexture((int)(320-9-m_NavPointFacing*10),140+4,0xFFFFFFFF,87,28+256,106,47+256);
hsh_textpos=(int)(320-m_NavPointFacing*10);
}else{
//방위각 밖에 있을때.. 화살표를 그린다.
//When outside bearing range.. draw arrow.
if (m_NavPointFacing <= -10){
mfd_device.DrawTexture(520+4,140,0xFFFFFFFF,3,54+256,39,81+256);
hsh_textpos=520;
@@ -2552,12 +2552,12 @@ if(!hsh_initialized){
}
}
//목표 이름과 거리(텍스트) 그리기.
//Draw objective name and distance (text).
mfd_device.pFont[0].DrawText(hsh_textpos,140+26,0xFFFFFFFF,m_NavPointName,TEXTALIGN_CENTER);
mfd_device.pFont[0].DrawText(hsh_textpos,140+46,0xFFFFFFFF,m_NavPointRangeText,TEXTALIGN_CENTER);
}
}
//반드시.. scroe정보 그리는 루틴을 추가할것..
//Must add routine to draw score info here..
{
char score[32]={0};
char kills[32]={0};