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:
@@ -104,7 +104,7 @@ char *TimeToString( double secs )
|
||||
else
|
||||
if( secs*1000000.f >= 1.0f )
|
||||
{
|
||||
sprintf(TimeStr,"%.2f µS", secs*1000000.f);
|
||||
sprintf(TimeStr,"%.2f us", secs*1000000.f);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -24,9 +24,9 @@ const char *DivStrings[] =
|
||||
"1nS / div", // 10^-9
|
||||
"10nS / div", // 10^-8
|
||||
"100nS / div",
|
||||
"1µS / div",
|
||||
"10µS / div",
|
||||
"100µS / div",
|
||||
"1us / div",
|
||||
"10us / div",
|
||||
"100us / div",
|
||||
"1mS / div",
|
||||
"10mS / div",
|
||||
"100mS / div",
|
||||
|
||||
@@ -104,7 +104,7 @@ char *TimeToString( double secs )
|
||||
else
|
||||
if( secs*1000000.f >= 1.0f )
|
||||
{
|
||||
sprintf(TimeStr,"%.2f µS", secs*1000000.f);
|
||||
sprintf(TimeStr,"%.2f us", secs*1000000.f);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -24,9 +24,9 @@ const char *DivStrings[] =
|
||||
"1nS / div", // 10^-9
|
||||
"10nS / div", // 10^-8
|
||||
"100nS / div",
|
||||
"1µS / div",
|
||||
"10µS / div",
|
||||
"100µS / div",
|
||||
"1us / div",
|
||||
"10us / div",
|
||||
"100us / div",
|
||||
"1mS / div",
|
||||
"10mS / div",
|
||||
"100mS / div",
|
||||
|
||||
@@ -1032,19 +1032,19 @@ void __stdcall gos_SetViewport( DWORD LeftX, DWORD TopY, DWORD Width, DWORD Heig
|
||||
// You can only clear the backbuffer or Z buffer on the FIRST setup viewport (outside the Begin/End Scene
|
||||
//
|
||||
|
||||
//상훈 앞
|
||||
//sanghoon begin
|
||||
void __cdecl ClearTargetCameraBackBuffer()
|
||||
{
|
||||
D3DRECT rc={0,10,120,112};
|
||||
wClear(d3dDevice7,1,&rc,D3DCLEAR_TARGET,0xFF00FFFF,0,0);
|
||||
return ;
|
||||
}
|
||||
//상훈 뒤
|
||||
//sanghoon end
|
||||
|
||||
void __stdcall gos_SetupViewport( bool FillZ, float ZBuffer, bool FillBG, DWORD BGColor, float top, float left, float bottom, float right, bool ClearStencil, DWORD StencilValue )
|
||||
{
|
||||
//상훈짱...
|
||||
//원래의 법칙에 어긋나는 행동이기 때문에 ASSERT를 무시한다.
|
||||
//sanghoon
|
||||
//This violates the normal rules, so we suppress the ASSERT.
|
||||
//gosASSERT( !InsideBeginScene || !(FillZ || FillBG) );
|
||||
//
|
||||
// Work out size of viewport
|
||||
|
||||
@@ -47,11 +47,11 @@ extern DWORD gDisableJoystick;
|
||||
bool DisablePolling=0;
|
||||
void CMRestoreEffects( int stick );
|
||||
|
||||
// 鉉 - start
|
||||
// hyun begin
|
||||
int g_bUseOrgJoy = TRUE;
|
||||
void (__stdcall *g_pfnRIO_Joy)(DIJOYSTATE& js) = NULL; // Check out Test ..
|
||||
bool g_bNoWeaponRangeCheck = false;
|
||||
// 鉉 - end
|
||||
// hyun end
|
||||
//
|
||||
//
|
||||
// Initialize the DirectInput devices
|
||||
@@ -479,7 +479,7 @@ extern DWORD EnableDisplayInfo;
|
||||
|
||||
if( EnableDisplayInfo==0 ) {
|
||||
disp:
|
||||
sprintf(DisplayInfoText, "COIN: %d 코인이래요", g_nCoinCount);
|
||||
sprintf(DisplayInfoText, "COIN: %d coins", g_nCoinCount);
|
||||
EnableDisplayInfo = 1;
|
||||
} else if (EnableDisplayInfo==2) {
|
||||
if( timeGetTime() < EndDisplayInfoTime+50 ) {
|
||||
|
||||
@@ -100,11 +100,11 @@ IDirectDraw7* DDobject = NULL; // Primiary DirectDraw object (for persistant
|
||||
IDirectDraw7* CurrentDDobject = NULL; // DirectDraw object for rendering (can be the same as DDObject)
|
||||
IDirectDrawSurface7* ZBufferSurface = NULL; // ZBuffer surface
|
||||
IDirectDrawSurface7* RefZBufferSurface = NULL; // Referemce rasterizer ZBuffer surface
|
||||
//���� ��
|
||||
//sanghoon marker
|
||||
IDirectDrawSurface7* SH_TargetBufferSurface = NULL;
|
||||
IDirectDrawSurface7* SH_SwirlTexture= NULL;
|
||||
IDirectDrawSurface7* SH_GameEndTexture= NULL;
|
||||
//���� ��
|
||||
//sanghoon marker
|
||||
|
||||
DDSURFACEDESC2 BackBufferddsd;
|
||||
//
|
||||
@@ -167,7 +167,7 @@ float GammaSetting=0.0;
|
||||
bool UseGammaCorrection=0;
|
||||
float UserGamma=1.0f;
|
||||
|
||||
//����¯-begin
|
||||
//sanghoon begin
|
||||
bool use_shgui = false;
|
||||
bool hsh_initialized=false;
|
||||
bool hsh_mrdev_initialized=false;
|
||||
@@ -176,7 +176,7 @@ bool hsh_mrdev_initialized=false;
|
||||
#include "coord.cpp"
|
||||
//#include "hsh_dxras.cpp"
|
||||
#include "render.hpp"
|
||||
//����¯-end
|
||||
//sanghoon end
|
||||
|
||||
//
|
||||
// Value range 0-10,000, default 750 (See DirectX docs)
|
||||
@@ -1021,11 +1021,11 @@ void EnterFullScreenMode()
|
||||
//
|
||||
|
||||
#ifdef LAB_ONLY
|
||||
//����¯
|
||||
//sanghoon
|
||||
wSetCooperativeLevel( CurrentDDobject, hWindow, DDSCL_SETFOCUSWINDOW );
|
||||
wSetCooperativeLevel( CurrentDDobject, hWindow, DDSCL_ALLOWREBOOT | DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN );
|
||||
#else
|
||||
//����¯
|
||||
//sanghoon
|
||||
wSetCooperativeLevel( CurrentDDobject, hWindow, DDSCL_SETFOCUSWINDOW );
|
||||
wSetCooperativeLevel( CurrentDDobject, hWindow, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN );
|
||||
#endif
|
||||
@@ -1127,11 +1127,11 @@ void EnterFullScreenMode()
|
||||
}
|
||||
}
|
||||
|
||||
//����¯-begin
|
||||
//sanghoon begin
|
||||
if(use_shgui){
|
||||
HSH_EnterFullScreen2();
|
||||
}
|
||||
//����¯-end
|
||||
//sanghoon end
|
||||
|
||||
//
|
||||
// Changed modes, create all the surfaces
|
||||
@@ -1164,7 +1164,7 @@ void EnterFullScreenMode()
|
||||
// Debugging information
|
||||
//
|
||||
SPEW(( GROUP_DIRECTDRAW, "EnterFullScreenMode() Finished" ));
|
||||
//����
|
||||
//sanghoon
|
||||
}
|
||||
|
||||
|
||||
@@ -1289,7 +1289,7 @@ void DisplayBackBuffer()
|
||||
else
|
||||
{
|
||||
#if 0
|
||||
//���� ��
|
||||
//sanghoon marker
|
||||
extern bool sh_game_started;
|
||||
static FILE* fp=0;
|
||||
static recorded_count=0;
|
||||
@@ -1352,11 +1352,11 @@ extern bool sh_game_started;
|
||||
pp=(double*)malloc(800*600*2);
|
||||
}
|
||||
}
|
||||
//���� ��
|
||||
//sanghoon marker
|
||||
#endif
|
||||
wFlip( FrontBufferSurface,NULL,DDFLIP_DONOTWAIT );//|DDFLIP_INTERVAL2 );
|
||||
//���� ��ħ..
|
||||
//����
|
||||
//sanghoon marker..
|
||||
//sanghoon
|
||||
//wFlip( FrontBufferSurface,NULL,DDFLIP_WAIT );
|
||||
}
|
||||
}
|
||||
@@ -1403,11 +1403,11 @@ extern bool sh_game_started;
|
||||
//
|
||||
void DirectDrawRelease()
|
||||
{
|
||||
//����¯-begin
|
||||
//sanghoon begin
|
||||
if(use_shgui){
|
||||
HSH_DirectDrawRelease2();
|
||||
}
|
||||
//����¯-end
|
||||
//sanghoon end
|
||||
|
||||
SPEW(( GROUP_DIRECTDRAW, "DirectDrawRelease()" ));
|
||||
SafeFPU();
|
||||
@@ -1496,7 +1496,7 @@ void DirectDrawRelease()
|
||||
wRelease( ZBufferSurface );
|
||||
ZBufferSurface=0;
|
||||
}
|
||||
//���� ��
|
||||
//sanghoon marker
|
||||
//DirectDrawRelease
|
||||
if( SH_TargetBufferSurface)
|
||||
{
|
||||
@@ -1513,7 +1513,7 @@ void DirectDrawRelease()
|
||||
wRelease( SH_GameEndTexture );
|
||||
SH_GameEndTexture=0;
|
||||
}
|
||||
//���� ��
|
||||
//sanghoon marker
|
||||
if( GammaControlInterface )
|
||||
{
|
||||
wRelease( GammaControlInterface );
|
||||
@@ -1593,20 +1593,20 @@ void DirectDrawCreateDDObject()
|
||||
//
|
||||
// Create the NULL (primary) DirectDraw object
|
||||
//
|
||||
//���� ��
|
||||
//sanghoon marker
|
||||
/*
|
||||
wDirectDrawCreateEx( &DeviceArray[0].DeviceGUID, (void**)&DDobject, IID_IDirectDraw7, NULL );
|
||||
// wDirectDrawCreateEx( &DeviceArray[Environment.FullScreenDevice].DeviceGUID, (void**)&DDobject, IID_IDirectDraw7, NULL );
|
||||
wSetCooperativeLevel( DDobject, hWindow, DDSCL_NORMAL );
|
||||
CurrentDDobject=DDobject;
|
||||
*/
|
||||
//���� �ҽ�..
|
||||
//sanghoon ..
|
||||
//wDirectDrawCreateEx(&DeviceArray[0].DeviceGUID, (void**)&DDobject, IID_IDirectDraw7, NULL );
|
||||
wDirectDrawCreateEx(NULL, (void**)&DDobject, IID_IDirectDraw7, NULL );
|
||||
|
||||
wSetCooperativeLevel( DDobject, hWindow, DDSCL_NORMAL );
|
||||
CurrentDDobject=DDobject;
|
||||
//���� ��
|
||||
//sanghoon marker
|
||||
//
|
||||
//
|
||||
//
|
||||
@@ -1630,11 +1630,11 @@ bool SetupMode( bool FullScreen, DWORD Renderer )
|
||||
BackBufferSurface=0;
|
||||
ClipperObject=0;
|
||||
ZBufferSurface=0;
|
||||
//���� ��
|
||||
//sanghoon marker
|
||||
SH_TargetBufferSurface = 0;
|
||||
SH_SwirlTexture=0;
|
||||
SH_GameEndTexture=0;
|
||||
//���� ��
|
||||
//sanghoon marker
|
||||
Maind3dDevice7=0;
|
||||
d3dDevice7=0;
|
||||
DDSURFACEDESC2 ddsd;
|
||||
@@ -1993,7 +1993,7 @@ bool SetupMode( bool FullScreen, DWORD Renderer )
|
||||
}
|
||||
wAddAttachedSurface( BackBufferSurface, ZBufferSurface );
|
||||
|
||||
//���� ��
|
||||
//sanghoon marker
|
||||
{
|
||||
DDSURFACEDESC2 rdesc;
|
||||
memset(&rdesc,0,sizeof(ddsd));
|
||||
@@ -2019,7 +2019,7 @@ bool SetupMode( bool FullScreen, DWORD Renderer )
|
||||
|
||||
if(SUCCEEDED(wCreateSurface( CurrentDDobject, &rdesc, &SH_SwirlTexture, NULL ))){
|
||||
;
|
||||
//ȭ�鿡 �ؽ��� ������ ����.
|
||||
//Draw texture content to screen. .
|
||||
}
|
||||
|
||||
rdesc.dwFlags = DDSD_CAPS|DDSD_HEIGHT|DDSD_WIDTH|DDSD_PIXELFORMAT|DDSD_TEXTURESTAGE;
|
||||
@@ -2031,11 +2031,11 @@ bool SetupMode( bool FullScreen, DWORD Renderer )
|
||||
|
||||
if(SUCCEEDED(wCreateSurface( CurrentDDobject, &rdesc, &SH_GameEndTexture, NULL ))){
|
||||
;
|
||||
//ȭ�鿡 �ؽ��� ������ ����.
|
||||
//Draw texture content to screen. .
|
||||
}
|
||||
|
||||
}
|
||||
//���� ��
|
||||
//sanghoon marker
|
||||
//
|
||||
// Get the Z buffer pixel format (nVidia may always match front bit depth)
|
||||
//
|
||||
@@ -2258,7 +2258,7 @@ Failed:
|
||||
wRelease( ZBufferSurface );
|
||||
ZBufferSurface=0;
|
||||
}
|
||||
//����
|
||||
//sanghoon
|
||||
//SetupMode
|
||||
if( SH_TargetBufferSurface)
|
||||
{
|
||||
@@ -2275,7 +2275,7 @@ Failed:
|
||||
wRelease( SH_SwirlTexture );
|
||||
SH_SwirlTexture=0;
|
||||
}
|
||||
//����
|
||||
//sanghoon
|
||||
if( ClipperObject )
|
||||
{
|
||||
if( FrontBufferSurface )
|
||||
@@ -2578,7 +2578,7 @@ void DirectDrawCreateAllBuffers()
|
||||
wRelease( ZBufferSurface );
|
||||
ZBufferSurface=0;
|
||||
}
|
||||
//���� ��
|
||||
//sanghoon marker
|
||||
//DirectDrawCreateAllBuffers
|
||||
if( SH_TargetBufferSurface)
|
||||
{
|
||||
@@ -2595,7 +2595,7 @@ void DirectDrawCreateAllBuffers()
|
||||
wRelease( SH_SwirlTexture );
|
||||
SH_SwirlTexture=0;
|
||||
}
|
||||
//���� ��
|
||||
//sanghoon marker
|
||||
if( ClipperObject )
|
||||
{
|
||||
if( FrontBufferSurface )
|
||||
|
||||
@@ -161,7 +161,7 @@ HRESULT wEndScene( IDirect3DDevice7* d3dDevice7 )
|
||||
|
||||
//Original
|
||||
//if( FAILED(result) )
|
||||
//상훈
|
||||
//sanghoon
|
||||
if( FAILED(result) && result!=DDERR_SURFACELOST)
|
||||
PAUSE(( "FAILED (0x%x - %s) - EndScene()",result,ErrorNumberToMessage(result)));
|
||||
|
||||
|
||||
@@ -834,11 +834,11 @@ __int64 ProfileRenderEnd( __int64 RenderTime )
|
||||
}
|
||||
|
||||
|
||||
//상훈짱 begin
|
||||
//sanghoon begin
|
||||
#include "render.hpp"
|
||||
HRESULT App_Render( LPDIRECT3DDEVICE7 pd3dDevice,LPDIRECTDRAWSURFACE7 pddsTexture);
|
||||
|
||||
//상훈짱 end
|
||||
//sanghoon end
|
||||
|
||||
|
||||
//
|
||||
@@ -915,8 +915,8 @@ void gos_UpdateDisplay( bool Everything )
|
||||
ProfileTime( TimeClearViewPort, gos_SetupViewport( 0, 0, 1, 0x303050 , 0.0, 0.0, 1.0, 1.0 ) );
|
||||
TimeInClearViewPort+=TimeClearViewPort;
|
||||
}
|
||||
//상훈짱 begin
|
||||
//backbuffer에 Background Image를 그린다...
|
||||
//sanghoon begin
|
||||
//Draw background image to backbuffer...
|
||||
|
||||
if(hsh_initialized){
|
||||
// 0 - no MFDs, 1 - orginal(5+1=dual & single), 2 - B&W(3 + 1=1 dual), 3 - color(3 + 1=2 dual)
|
||||
@@ -958,7 +958,7 @@ void gos_UpdateDisplay( bool Everything )
|
||||
}
|
||||
|
||||
//HSH_RenderAux1SmallMech();
|
||||
//상훈짱 end
|
||||
//sanghoon end
|
||||
if (g_pfnCTCL_AfterBeginScene) {
|
||||
(*g_pfnCTCL_AfterBeginScene)();
|
||||
}
|
||||
@@ -1055,7 +1055,7 @@ void gos_UpdateDisplay( bool Everything )
|
||||
LOG_BLOCK("Gos::UpdateDebugger()");
|
||||
ProfileTime( TimeDebugger, UpdateDebugger() );
|
||||
}
|
||||
//상훈..
|
||||
//sanghoon
|
||||
#if 1
|
||||
extern LPDIRECT3DDEVICE7 d3dDevice7;
|
||||
static bool preload_GameEndScreem=true;;
|
||||
@@ -1089,8 +1089,8 @@ void gos_UpdateDisplay( bool Everything )
|
||||
//
|
||||
// Flip or Blit the current image onto the display
|
||||
//
|
||||
//상훈 앞
|
||||
//Flip을 한다.
|
||||
//sanghoon begin
|
||||
//Perform the Flip.
|
||||
if(hsh_initialized){
|
||||
// 0 - no MFDs, 1 - orginal(5+1=dual & single), 2 - B&W(3 + 1=1 dual), 3 - color(3 + 1=2 dual)
|
||||
switch(g_nTypeOfMFDs) {
|
||||
@@ -1143,7 +1143,7 @@ void gos_UpdateDisplay( bool Everything )
|
||||
mr_device.pDDSFront->Flip(0,DDFLIP_DONOTWAIT|DDFLIP_NOVSYNC);
|
||||
}
|
||||
|
||||
//상훈 뒤
|
||||
//sanghoon end
|
||||
{
|
||||
LOG_BLOCK("Gos::DisplayBackBuffer()");
|
||||
ProfileTime( TimeDisplay, DisplayBackBuffer() );
|
||||
|
||||
@@ -44,9 +44,9 @@ extern DWORD gNumLockMode;
|
||||
extern DWORD gCapLockMode;
|
||||
extern DWORD gScrollLockMode;
|
||||
|
||||
// úè - start
|
||||
// hyun begin
|
||||
void (__stdcall *g_pfnRIO_ButtonEvent)(BYTE* by) = NULL;
|
||||
// úè - end
|
||||
// hyun end
|
||||
//
|
||||
|
||||
//
|
||||
@@ -106,14 +106,14 @@ LRESULT CALLBACK GameOSWinProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lPar
|
||||
|
||||
switch( uMsg )
|
||||
{
|
||||
// úè
|
||||
// hyun
|
||||
case WM_USER + 100:
|
||||
{
|
||||
// úè - start
|
||||
// hyun begin
|
||||
if (g_pfnRIO_ButtonEvent) {
|
||||
(*g_pfnRIO_ButtonEvent)((BYTE*)&lParam);
|
||||
}
|
||||
// úè - end
|
||||
// hyun end
|
||||
}
|
||||
break;
|
||||
//
|
||||
|
||||
@@ -163,13 +163,13 @@ static bool IsValidAlphaPair( DIBSECTION& dib,DIBSECTION& diba)
|
||||
|
||||
if(dib.dsBmih.biHeight<0 || diba.dsBmih.biHeight<0)return false;
|
||||
|
||||
//픽셀 포맷을 일단 만족하는가?
|
||||
//Does it satisfy the pixel format requirement?
|
||||
if(!(bm.bmBitsPixel==24 && bma.bmBitsPixel==8))return false;
|
||||
|
||||
//비트맵의 크기가 X,Y모두 2의 지수승인가?
|
||||
//Are the bitmap dimensions (X,Y) both powers of 2?
|
||||
if(!(IsTextureDimension(w) && IsTextureDimension(h)))return false;
|
||||
|
||||
//RGB와 A비트맵의 크기가 같은가?
|
||||
//Are RGB and Alpha bitmaps the same size?
|
||||
if(bma.bmWidth!=w || bma.bmHeight!=h)return NULL;
|
||||
|
||||
return true;
|
||||
@@ -408,7 +408,7 @@ bool __cdecl DrawBitmapToSurface(LPDIRECTDRAWSURFACE7 pddsTexture,int x,int y,co
|
||||
|
||||
|
||||
|
||||
//8Bit Bitmap으로부터.. Alpha를 가진 텍스쳐를 만든다.
|
||||
//Create texture with Alpha from 8-bit Bitmap..
|
||||
static LPDIRECTDRAWSURFACE7 CreateATextureFromBitmap(LPDIRECTDRAW7 pDD,HBITMAP hbm )
|
||||
{
|
||||
BITMAP bm={0,};
|
||||
@@ -442,7 +442,7 @@ static LPDIRECTDRAWSURFACE7 CreateATextureFromBitmap(LPDIRECTDRAW7 pDD,HBITMAP h
|
||||
|
||||
LPDIRECTDRAWSURFACE7 CreateATextureFromFile(LPDIRECTDRAW7 pDD, CHAR* strName )
|
||||
{
|
||||
//ClipBoard.에 텍스트 내용을 복사한다...
|
||||
//Copy text content to Clipboard...
|
||||
/*
|
||||
OpenClipboard(hWindow);
|
||||
HGLOBAL h=GlobalAlloc(GMEM_MOVEABLE,512);
|
||||
@@ -531,7 +531,7 @@ bool CHSH_Device::InitFirst(int devicenum,DWORD resx,DWORD resy, CHSH_Device* pO
|
||||
pDD = pOtherHSHD->pDD;
|
||||
} else {
|
||||
HRESULT hr;
|
||||
//1. 해상도 변경.
|
||||
//1. Resolution change.
|
||||
wDirectDrawCreateEx( &DeviceArray[devicenum].DeviceGUID , (VOID**) &(pDD), IID_IDirectDraw7, NULL );
|
||||
pDD->SetCooperativeLevel(hWindow, dwFlags );
|
||||
hr=pDD->SetDisplayMode( resx, resy, 16, 60, 0 );
|
||||
@@ -846,10 +846,10 @@ void CHSH_Device::DrawThickFrameList(int framecount,RECT* prc,int t,DWORD dwColo
|
||||
}
|
||||
|
||||
|
||||
//texture 좌표.. u1,v1,u2,v2
|
||||
//texture 회전축 tx,ty
|
||||
//screen 회전축 x,y
|
||||
//회전각 e
|
||||
//Texture coordinates.. u1,v1,u2,v2
|
||||
//Texture rotation axis tx,ty
|
||||
//Screen rotation axis x,y
|
||||
//Rotation angle e
|
||||
|
||||
void CHSH_Device::DrawTextureRotate(float u1,float v1,float u2,float v2,float tx,float ty,float x,float y,float e,DWORD color)
|
||||
{
|
||||
@@ -858,9 +858,9 @@ void CHSH_Device::DrawTextureRotate(float u1,float v1,float u2,float v2,float tx
|
||||
float U2=u2-tx;
|
||||
float V2=v2-ty;
|
||||
|
||||
//(U1,V1),(U2,V1),(U1,V2),(U2,V2)네쌍을 회전변환 시킨다.
|
||||
//(U1,V1),(U2,V1),(U1,V2),(U2,V2) four pairs are rotation-transformed.
|
||||
//pt[0][0]....
|
||||
//거기에.. 각 축에..x,y를 더해준다.
|
||||
//Add x,y to each axis.
|
||||
float cose=cosf(e);
|
||||
float cos_u1=cose*U1;
|
||||
float cos_u2=cose*U2;
|
||||
@@ -883,11 +883,11 @@ void CHSH_Device::DrawTextureRotate(float u1,float v1,float u2,float v2,float tx
|
||||
pt[3][1] = sin_u2+cos_v2+y;
|
||||
|
||||
//HSH_Draw3DTexture2(0,pt,0xFF00FF00,u1, v1/256.0f, u2/256.0f, v2/256.0f);
|
||||
//거기에다가 모두 x,y를 다시 이동 시킨다.
|
||||
//Then translate all by x,y again.
|
||||
DrawTexture(pt,color,u1,v1,u2,v2);
|
||||
}
|
||||
|
||||
//임의로 스케일된다. x1,y1,x2,y2
|
||||
//Scaled arbitrarily. x1,y1,x2,y2
|
||||
void CHSH_Device::DrawTexture(float x1,float y1,float x2,float y2,DWORD dwColor, float u1,float v1,float u2,float v2)
|
||||
{
|
||||
|
||||
@@ -900,7 +900,7 @@ void CHSH_Device::DrawTexture(float x1,float y1,float x2,float y2,DWORD dwColor,
|
||||
pD3DDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, D3DFVF_TLVERTEX ,v,4,0 );
|
||||
}
|
||||
|
||||
//임의로 스케일된다. x,y,width,height
|
||||
//Scaled arbitrarily. x,y,width,height
|
||||
void CHSH_Device::DrawTexture2(float x,float y,float w,float h,DWORD dwColor, float u1,float v1,float u2,float v2)
|
||||
{
|
||||
|
||||
@@ -914,7 +914,7 @@ void CHSH_Device::DrawTexture2(float x,float y,float w,float h,DWORD dwColor, fl
|
||||
}
|
||||
|
||||
|
||||
//스케일 되지 않는....
|
||||
//Not scaled....
|
||||
void CHSH_Device::DrawTexture(float x,float y,DWORD dwColor, float u1,float v1,float u2,float v2)
|
||||
{
|
||||
D3DTLVERTEX v[4];
|
||||
@@ -978,11 +978,11 @@ bool CMR_Device::InitFirst()
|
||||
bool CMR_Device::InitSecond()
|
||||
{
|
||||
map_loaded=false;
|
||||
CHSH_Device::InitSecond(0,0); // no off screen - Target Texture를 그리지 않는다.
|
||||
CHSH_Device::InitSecond(0,0); // no off screen - do not create Target Texture.
|
||||
|
||||
char temppath[MAX_PATH],temppatha[MAX_PATH];
|
||||
|
||||
//1. 백그라운드이미지용 Surface
|
||||
//1. Surface for background image
|
||||
sprintf(temppath,"%s\\hsh\\%s",AssetsDirectory1,"mr_background.bmp");
|
||||
pDDSBackground=CreateSurfaceFromFile(pDD,temppath);
|
||||
|
||||
@@ -990,12 +990,12 @@ bool CMR_Device::InitSecond()
|
||||
MessageBeep(0);
|
||||
}
|
||||
|
||||
//2. 범용 텍스쳐
|
||||
//2. General-purpose texture
|
||||
sprintf(temppath,"%s\\hsh\\%s",AssetsDirectory1,"mr_texture.bmp");
|
||||
sprintf(temppatha,"%s\\hsh\\%s",AssetsDirectory1,"mr_texturea.bmp");
|
||||
pDDSTexture=CreateRGBATextureFromFile(pDD, temppath,temppatha,16);
|
||||
|
||||
//3. 맵용 텍스쳐..
|
||||
//3. Texture for map..
|
||||
pDDSMapTexture=CreatePixelFormatTexture(pDD,256,256,&DDPF_R5G6B5);
|
||||
|
||||
tw=256;
|
||||
@@ -1008,17 +1008,17 @@ bool CMR_Device::InitSecond()
|
||||
|
||||
bool CMR_Device::BeginScene()
|
||||
{
|
||||
//Render Target을 설정한다.
|
||||
//Set the Render Target.
|
||||
//SetRenderTargetTexture();
|
||||
|
||||
|
||||
//Texture에.. background image를 그린다. 일종의 Clear대신이다..
|
||||
//Draw background image to Texture. Used as a substitute for Clear..
|
||||
if(sh_game_started){
|
||||
//게임이 시작되었을때만 백그라운드를 그린다.
|
||||
//Draw background only when game has started.
|
||||
RECT rc={0,0,640,480};
|
||||
pDDSBack->BltFast(0,0,pDDSBackground,&rc,0);
|
||||
}else{
|
||||
//게임이 시작되지 않았으면.. blank를 보여준다.
|
||||
//If game has not started.. show blank.
|
||||
pD3DDevice->Clear(0,NULL,D3DCLEAR_TARGET ,0,1.0f,0);
|
||||
}
|
||||
|
||||
@@ -1171,18 +1171,18 @@ bool CRadar_Device::InitSecond()
|
||||
|
||||
bool CRadar_Device::BeginScene()
|
||||
{
|
||||
//Render Target을 설정한다.
|
||||
//Set the Render Target.
|
||||
SetRenderTargetTexture();
|
||||
|
||||
|
||||
//Texture에.. background image를 그린다. 일종의 Clear대신이다..
|
||||
//Draw background image to Texture. Used as a substitute for Clear..
|
||||
if(sh_game_started){
|
||||
//게임이 시작되었을때만 백그라운드를 그린다.
|
||||
//Draw background only when game has started.
|
||||
RECT rc={0,0,480,640};
|
||||
pDDSTarget->BltFast(0,0,pDDSBackground,&rc,0);
|
||||
if(IsMechShutdown())
|
||||
{
|
||||
//지도 영역을 지운다.
|
||||
//Clear map area.
|
||||
RECT rc={140,407,340,607};
|
||||
|
||||
DDBLTFX fx={0,};
|
||||
@@ -1192,15 +1192,15 @@ bool CRadar_Device::BeginScene()
|
||||
pDDSTarget->Blt(&rc,NULL,NULL,DDBLT_COLORFILL ,&fx);
|
||||
}
|
||||
}else{
|
||||
//게임이 시작되지 않았으면.. blank를 보여준다.
|
||||
//If game has not started.. show blank.
|
||||
pD3DDevice->Clear(0,NULL,D3DCLEAR_TARGET ,0,1.0f,0);
|
||||
}
|
||||
pD3DDevice->BeginScene();
|
||||
if(sh_game_started && IsMechShutdown()){
|
||||
//shut down button을 그린다.
|
||||
//Draw shutdown button.
|
||||
int state[12]={0,2,0,};
|
||||
state[3]=recent_state[3];//flush state는.. 최근 값을 가져다 쓴다.
|
||||
state[11]=recent_state[11];//flush state는.. 최근 값을 가져다 쓴다.
|
||||
state[3]=recent_state[3];//flush state: use the most recent value.
|
||||
state[11]=recent_state[11];//flush state: use the most recent value.
|
||||
if (!g_aaRadarText[0][0])
|
||||
strcpy(&g_aaRadarText[0][0], g_szRadarJumpjet);
|
||||
strcpy(&g_aaRadarText[1][0], g_szRadarStartup);
|
||||
@@ -1294,7 +1294,7 @@ POINTF radar_text_pos[12]={
|
||||
//state 1:ready
|
||||
//state 2:activated
|
||||
|
||||
//pilot mode에서는 다른 의미를 갖는다.
|
||||
//Has a different meaning in pilot mode.
|
||||
|
||||
bool CRadar_Device::DrawBackText(int state[12])
|
||||
{
|
||||
@@ -1394,12 +1394,12 @@ bool CMFD_Device::InitSecond()
|
||||
{
|
||||
CHSH_Device::InitSecond(1024,512); // 640 x 480
|
||||
if(g_f3dtarget){
|
||||
pDDSMechTexture=CreatePixelFormatTexture(pDD,128,128,&DDPF_R5G6B5);//3D메크 이미지 저장하기 위한 텍스쳐...
|
||||
pDDSMechTexture=CreatePixelFormatTexture(pDD,128,128,&DDPF_R5G6B5);//Texture for storing 3D mech image...
|
||||
}else{
|
||||
// MSL 5.02 Target MFD Image
|
||||
// pDDSMechTexture=CreatePixelFormatTexture(pDD,512,512,&DDPF_R5G6B5);//2D메크 이미지 저장하기 위한 텍스쳐...
|
||||
pDDSMechTexture=CreatePixelFormatTexture(pDD,1024,1024,&DDPF_R5G6B5);//2D메크 이미지 저장하기 위한 텍스쳐...
|
||||
//모든 메크의 이미지를 저장한다.
|
||||
// pDDSMechTexture=CreatePixelFormatTexture(pDD,512,512,&DDPF_R5G6B5);//texture for storing 2D mech image...
|
||||
pDDSMechTexture=CreatePixelFormatTexture(pDD,1024,1024,&DDPF_R5G6B5);//Texture for storing 2D mech image...
|
||||
//Store images for all mechs.
|
||||
for(int mech=0;mech<ARRAYSIZE(mechnames);mech++){
|
||||
// MSL 5.02 Target MFD Image
|
||||
// int x=(mech%4)*128;
|
||||
@@ -1415,8 +1415,8 @@ bool CMFD_Device::InitSecond()
|
||||
}
|
||||
//if(pDDSMechTexture==NULL)MessageBeep(0);
|
||||
//pDDSMechTexture=0;
|
||||
//pDDSDamageTexture=CreatePixelFormatTexture(pDD,512,512,&DDPF_R4G4B4A4);//데미지.. 이미지를..
|
||||
pDDSDamageTexture=0;//Reset할때.. 새로이 만든다... 지금은 굳이 만들 필요 없다.
|
||||
//pDDSDamageTexture=CreatePixelFormatTexture(pDD,512,512,&DDPF_R4G4B4A4);//damage image..
|
||||
pDDSDamageTexture=0;//On Reset: recreated... no need to create now.
|
||||
// MSL 5.03 Target Damage Display
|
||||
pDDSTargetTexture=0;
|
||||
|
||||
@@ -1491,7 +1491,7 @@ bool CMFD_Device::BeginChannel(DWORD channel)
|
||||
}
|
||||
ch=channel;
|
||||
|
||||
//Render Target을 설정한다.
|
||||
//Set the Render Target.
|
||||
SetRenderTargetTexture();
|
||||
pD3DDevice->Clear(0,NULL,D3DCLEAR_TARGET ,0,0,0);
|
||||
pD3DDevice->BeginScene();
|
||||
@@ -1562,7 +1562,7 @@ bool CMFD_Device::EndChannel()
|
||||
//color = 0xFFFFFFFF;
|
||||
D3DTLVERTEX Vertices[4]; // Vertices for the cube
|
||||
|
||||
float w=(float)size_back.cx/2;//<==주의: 이점이 radar와 다른점이다.
|
||||
float w=(float)size_back.cx/2;//<==NOTE: this differs from radar.
|
||||
float x1=(ch/3)*w;
|
||||
float x2=x1+w;
|
||||
float h=(float)size_back.cy;
|
||||
@@ -1633,7 +1633,7 @@ bool CMFD_Device::BeginScene()
|
||||
}
|
||||
pD3DDevice->BeginScene();
|
||||
if(sh_game_started) {
|
||||
//게임이 시작되었을때만.. 배경을 그린다.
|
||||
//Draw background only when game has started..
|
||||
DrawMFDBackGrid();
|
||||
}
|
||||
pD3DDevice->EndScene();
|
||||
@@ -1775,7 +1775,7 @@ bool CMFD_Device::DrawMFDBackTextAux3(int state)
|
||||
POINTF &tc = mfd_text_coord[i];
|
||||
if(i!=4){
|
||||
pFont[2].DrawTextMultiLine(tc.x,tc.y,0XFFFFFFFF,mfd_text_weapon[i],TEXTALIGN_ORG);
|
||||
}else{//chain fire 표시
|
||||
}else{//display chain fire
|
||||
DrawQuad((int)tc.x-80,(int)tc.y-20,(int)tc.x+80,(int)tc.y+20,0xFFFFFFFF);
|
||||
pFont[2].DrawTextMultiLine(tc.x,tc.y,0XFF000000,mfd_text_weapon[i],TEXTALIGN_ORG);
|
||||
}
|
||||
@@ -1889,20 +1889,20 @@ enum {TEAMORDER_NONE, TEAM_MODE, FREEFORALL_MODE, TEAM_MESSAGE1, TEAM_MESSAGE2};
|
||||
bool CMFD_Device::DrawMFDDefaultBackAux1(int state)
|
||||
{
|
||||
if(state==TEAM_MODE){
|
||||
//메크들의 상태를 보여준다.
|
||||
//Show mech status.
|
||||
DrawQuad(0,240-1,640,240+1,0xFFFFFFFF);
|
||||
DrawQuad(160-1,0,160+1,240,0xFFFFFFFF);
|
||||
DrawQuad(320-1,0,320+1,240,0xFFFFFFFF);
|
||||
DrawQuad(480-1,0,480+1,240,0xFFFFFFFF);
|
||||
}else if(state==FREEFORALL_MODE){
|
||||
DrawQuadList(8,aux1freequads,0xFFFFFFFF);
|
||||
}else if(state==TEAM_MESSAGE1){//이걸로서 더이상 그릴것이 없다.
|
||||
}else if(state==TEAM_MESSAGE1){//nothing more to draw.
|
||||
DrawMFDBackText(mfd_text_comm2);
|
||||
for(int i=0;i<7;i++){
|
||||
int y=80+i*40;
|
||||
pFont[0].DrawText(80,(float)y,0xFFFFFFFF,&aux1_messages[i][0],0);
|
||||
}
|
||||
}else if(state==TEAM_MESSAGE2){//이걸로서 더이상 그릴것이 없다.
|
||||
}else if(state==TEAM_MESSAGE2){//nothing more to draw.
|
||||
DrawMFDBackText(mfd_text_comm2);
|
||||
for(int i=0;i<7;i++){
|
||||
int y=80+i*40;
|
||||
@@ -2025,9 +2025,9 @@ void CHSHFont::Init(LPDIRECTDRAW7 pDD, LPDIRECT3DDEVICE7 pd3dDevice ,const char*
|
||||
|
||||
DWORD x = 0;
|
||||
DWORD y = 0;
|
||||
char str[4] = {0,};//DWORD align시키기 위해서..(원래는 2를 쓰면된다.)
|
||||
char str[4] = {0,};//For DWORD alignment.. (originally 2 would suffice.)
|
||||
SIZE size;
|
||||
m_dwMaxWidth=0;//최소값으로 초기화한다.
|
||||
m_dwMaxWidth=0;//Initialize to minimum value.
|
||||
for( char c=32; c<127; c++ ){
|
||||
|
||||
str[0] = c;
|
||||
@@ -2037,11 +2037,11 @@ void CHSHFont::Init(LPDIRECTDRAW7 pDD, LPDIRECT3DDEVICE7 pd3dDevice ,const char*
|
||||
x = 0;
|
||||
y += size.cy+1;
|
||||
}
|
||||
if(size.cx>(int)m_dwMaxWidth){//문자 하나중 가장 큰것..
|
||||
if(size.cx>(int)m_dwMaxWidth){//widest single character..
|
||||
m_dwMaxWidth=size.cx;
|
||||
}
|
||||
|
||||
//j가 i의 영역을 침범한다. 적절한 조치를 취할것...
|
||||
//j invades the region of i. Take appropriate action...
|
||||
ExtTextOut( hDC, x+0, y+0, ETO_OPAQUE, NULL, str, 1, NULL );
|
||||
|
||||
m_fTexCoords[c-32][0] = ((float)(x+0))/m_dwTexWidth;
|
||||
@@ -2073,7 +2073,7 @@ void CHSHFont::Init(LPDIRECTDRAW7 pDD, LPDIRECT3DDEVICE7 pd3dDevice ,const char*
|
||||
DeleteDC( hDC );
|
||||
DeleteObject( hFont );
|
||||
|
||||
//////StateBlock관련..
|
||||
//////StateBlock related..
|
||||
for( UINT which=0; which<2; which++ ){
|
||||
m_pd3dDevice->BeginStateBlock();
|
||||
m_pd3dDevice->SetTexture( 0, m_pTexture );
|
||||
@@ -2114,9 +2114,9 @@ void CHSHFont::Init(LPDIRECTDRAW7 pDD, LPDIRECT3DDEVICE7 pd3dDevice ,const char*
|
||||
|
||||
DWORD x = 0;
|
||||
DWORD y = 0;
|
||||
char str[4] = {0,};//DWORD align시키기 위해서..(원래는 2를 쓰면된다.)
|
||||
char str[4] = {0,};//For DWORD alignment.. (originally 2 would suffice.)
|
||||
SIZE size;
|
||||
m_dwMaxWidth=0;//최소값으로 초기화한다.
|
||||
m_dwMaxWidth=0;//Initialize to minimum value.
|
||||
for( char c=32; c<127; c++ ){
|
||||
|
||||
str[0] = c;
|
||||
@@ -2126,11 +2126,11 @@ void CHSHFont::Init(LPDIRECTDRAW7 pDD, LPDIRECT3DDEVICE7 pd3dDevice ,const char*
|
||||
x = 0;
|
||||
y += size.cy+1;
|
||||
}
|
||||
if(size.cx>(int)m_dwMaxWidth){//문자 하나중 가장 큰것..
|
||||
if(size.cx>(int)m_dwMaxWidth){//widest single character..
|
||||
m_dwMaxWidth=size.cx;
|
||||
}
|
||||
|
||||
//j가 i의 영역을 침범한다. 적절한 조치를 취할것...
|
||||
//j invades the region of i. Take appropriate action...
|
||||
ExtTextOut( hDC, x+0, y+0, ETO_OPAQUE, NULL, str, 1, NULL );
|
||||
|
||||
m_fTexCoords[c-32][0] = ((float)(x+0))/m_dwTexWidth;
|
||||
@@ -2161,7 +2161,7 @@ void CHSHFont::Init(LPDIRECTDRAW7 pDD, LPDIRECT3DDEVICE7 pd3dDevice ,const char*
|
||||
DeleteDC( hDC );
|
||||
DeleteObject( hFont );
|
||||
|
||||
//////StateBlock관련..
|
||||
//////StateBlock related..
|
||||
for( UINT which=0; which<2; which++ ){
|
||||
m_pd3dDevice->BeginStateBlock();
|
||||
m_pd3dDevice->SetTexture( 0, m_pTexture );
|
||||
@@ -2191,7 +2191,7 @@ void CHSHFont::Cleanup()
|
||||
}
|
||||
SAFE_RELEASE( m_pTexture );
|
||||
SAFE_RELEASE( m_pd3dDevice );
|
||||
}//m_pd3dDevice==NULL이면 아무것도 하지 않는다.
|
||||
}//If m_pd3dDevice==NULL, do nothing.
|
||||
|
||||
}
|
||||
HRESULT CHSHFont::GetTextExtent(const char* strText, SIZE* pSize )
|
||||
@@ -2240,12 +2240,12 @@ HRESULT CHSHFont::DrawText( float sx, float sy, DWORD dwColor,const char* strTex
|
||||
DWORD dwNumVtx = 0;
|
||||
D3DTLVERTEX * pVertices =m_pVB;
|
||||
char c;
|
||||
float osx=sx;//원래의 sx;
|
||||
float h = (m_fTexCoords[0][3]-m_fTexCoords[0][1]) * m_dwTexHeight ;//한글자의 높이는 모두 동일할 것이다.
|
||||
float osx=sx;//original sx;
|
||||
float h = (m_fTexCoords[0][3]-m_fTexCoords[0][1]) * m_dwTexHeight ;//Height of each character should all be the same.
|
||||
|
||||
while( (c = *strText++)!=0 ){
|
||||
|
||||
if( c == '\n')sy+=h,sx=osx;//여러줄을 표시할때...
|
||||
if( c == '\n')sy+=h,sx=osx;//when displaying multiple lines...
|
||||
|
||||
if( c < ' ' )continue;
|
||||
|
||||
@@ -2274,7 +2274,7 @@ HRESULT CHSHFont::DrawText( float sx, float sy, DWORD dwColor,const char* strTex
|
||||
sx += w;
|
||||
}
|
||||
|
||||
//나머지 것들을 그린다.
|
||||
//Draw the remaining items.
|
||||
if(dwNumVtx> 0 ){
|
||||
m_pd3dDevice->DrawPrimitive( D3DPT_TRIANGLELIST, D3DFVF_TLVERTEX ,m_pVB,dwNumVtx,0 );
|
||||
}
|
||||
@@ -2342,7 +2342,7 @@ HRESULT CHSHFont::DrawTextMultiLine( float sx, float sy, DWORD dwColor,const cha
|
||||
break;
|
||||
}
|
||||
|
||||
char string[128];//최대값을 임의로 정한다.
|
||||
char string[128];//Max length set arbitrarily.
|
||||
strcpy(string,strText);
|
||||
char * seps="\n";
|
||||
char * token;
|
||||
@@ -2377,7 +2377,7 @@ HRESULT CHSHFont::DrawTextVerticalOrg( float sx, float sy, DWORD dwColor,const c
|
||||
float h = (float)((m_fTexCoords[0][3]-m_fTexCoords[0][1])*m_dwTexHeight);
|
||||
float w = (float)m_dwMaxWidth;
|
||||
|
||||
//가로 쓰기라고 가정했을때의 명칭이다.
|
||||
//Name assuming horizontal (left-to-right) text layout.
|
||||
int col_count=0;//maximum column count
|
||||
int row_count=1;
|
||||
|
||||
@@ -2395,7 +2395,7 @@ HRESULT CHSHFont::DrawTextVerticalOrg( float sx, float sy, DWORD dwColor,const c
|
||||
ccount++;
|
||||
if(ccount>col_count)col_count=ccount;//update the max value
|
||||
}
|
||||
//여기서는 새로 쓰기일때의 크기이다.
|
||||
//This is the size when writing from scratch.
|
||||
SIZE size;
|
||||
size.cx=(int)(row_count*w);
|
||||
size.cy=(int)(col_count*h);
|
||||
@@ -2408,7 +2408,7 @@ HRESULT CHSHFont::DrawTextVerticalOrg( float sx, float sy, DWORD dwColor,const c
|
||||
m_pd3dDevice->ApplyStateBlock( m_dwDrawTextStateBlock );
|
||||
m_pd3dDevice->SetTexture(0,m_pTexture);
|
||||
|
||||
char string[128];//최대값을 임의로 정한다.
|
||||
char string[128];//Max length set arbitrarily.
|
||||
strcpy(string,strText);
|
||||
char * seps="\n";
|
||||
char * token;
|
||||
@@ -2416,7 +2416,7 @@ HRESULT CHSHFont::DrawTextVerticalOrg( float sx, float sy, DWORD dwColor,const c
|
||||
DWORD dwNumVtx = 0;
|
||||
D3DTLVERTEX * pVertices =m_pVB;
|
||||
|
||||
float osy=sy-size.cy/2;//원래의 sy 가장 높은 좌표..;
|
||||
float osy=sy-size.cy/2;//original sy: topmost coordinate..;
|
||||
sx=sx-size.cx/2;
|
||||
|
||||
|
||||
@@ -2456,7 +2456,7 @@ HRESULT CHSHFont::DrawTextVerticalOrg( float sx, float sy, DWORD dwColor,const c
|
||||
token = strtok( NULL, seps );
|
||||
}
|
||||
|
||||
//나머지 것들을 그린다.
|
||||
//Draw the remaining items.
|
||||
if(dwNumVtx> 0 ){
|
||||
m_pd3dDevice->DrawPrimitive( D3DPT_TRIANGLELIST, D3DFVF_TLVERTEX ,m_pVB,dwNumVtx,0 );
|
||||
}
|
||||
@@ -2506,20 +2506,20 @@ int __cdecl CopyTargetImage(int stage,LPDIRECTDRAWSURFACE7 tex,int step)
|
||||
if(stage==1){
|
||||
if(inited){
|
||||
//normal function
|
||||
//성능상의 이유로.. 맨처음에 두었음..
|
||||
//Placed at the top for performance reasons..
|
||||
RECT rc={0,0,128,128};
|
||||
LONG lPitch;
|
||||
LPDWORD agp_org,agp,pci_org,pci,mem;
|
||||
int x,y;
|
||||
int sx=0,sy=10,ex=120,ey=112;
|
||||
//int hy=ey-sy;//높이.
|
||||
//int hy=ey-sy;//height.
|
||||
// if(1<=sh_step&&sh_step<=3){
|
||||
//1. AGP->MEM
|
||||
//int h=(sh_step-1)*hy/3;//세그먼트 오프셋..
|
||||
//int h=(sh_step-1)*hy/3;//segment offset..
|
||||
mem=mem_org;
|
||||
agp_org=(DWORD*)GetSurfacePointer(SH_TargetBufferSurface,rc,lPitch,DDLOCK_READONLY );
|
||||
if(agp_org!=NULL){
|
||||
if(lPitch%4==0){// DWORD align됐을때만 실행한다.
|
||||
if(lPitch%4==0){// execute only when DWORD aligned.
|
||||
for(y=sy;y<ey;y++){
|
||||
agp=agp_org+lPitch/4*y;
|
||||
mem=mem_org+128*2/4*y;
|
||||
@@ -2552,7 +2552,7 @@ int __cdecl CopyTargetImage(int stage,LPDIRECTDRAWSURFACE7 tex,int step)
|
||||
mem=mem_org;
|
||||
pci_org=(DWORD*)GetSurfacePointer(texture,rc,lPitch,DDLOCK_WRITEONLY );
|
||||
if(pci_org){
|
||||
if(lPitch%4==0){// DWORD align됐을때만 실행한다.
|
||||
if(lPitch%4==0){// execute only when DWORD aligned.
|
||||
for(y=sy;y<ey;y++){
|
||||
pci=pci_org+lPitch/4*y;
|
||||
mem=mem_org+128*2/4*y;
|
||||
@@ -2593,16 +2593,16 @@ int __cdecl CopyTargetImage(int stage,LPDIRECTDRAWSURFACE7 tex,int step)
|
||||
// Full Screen
|
||||
//_____________________________________________________________________________________________________
|
||||
|
||||
//전에 SCREENS와 유사한 역할을 한다
|
||||
//command line paramemer에 의해 정해지고 이후에는 변하지 않는다.
|
||||
//Previously served a role similar to SCREENS
|
||||
//Set by command line parameter and does not change thereafter.
|
||||
bool use_multimonitor;
|
||||
|
||||
//보통 true이다.. 그러나 window모드로 들어가면.. false가된다.
|
||||
//true이면.. 각종 드로딩 루틴을 그리고 false를 일때는 일체 하지 않는다.
|
||||
//Normally true.. but becomes false when entering windowed mode..
|
||||
//If true.. runs all drawing routines; if false, does nothing.
|
||||
bool draw_mfd_huds;
|
||||
|
||||
//window모드가 되었을때 무조건 true가 되도록한다.(현재에는..)
|
||||
//멀티모디터 드로잉과는 관계없다.
|
||||
//Force to true when windowed mode is entered. (currently..)
|
||||
//Unrelated to multi-monitor drawing.
|
||||
bool draw_main_huds;
|
||||
CRadar_Device radar_device;
|
||||
CMFD_Device mfd_device;
|
||||
@@ -2719,7 +2719,7 @@ void __cdecl DrawSwrling(LPDIRECT3DDEVICE7 pd3dDevice,LPDIRECTDRAWSURFACE7 pText
|
||||
const int segvert=(seg+1)*2;
|
||||
static D3DTLVERTEX Vertices[seg2][segvert]; // Vertices for the cube
|
||||
static bool vertices_initialized=false;
|
||||
//int rcount,scount;//회전 방향 setment수.., 직선 방향 segment수..
|
||||
//int rcount,scount;//num rotation-direction segments, num straight-direction segments..
|
||||
static float off_z=0;
|
||||
if(freload){
|
||||
char temppath[MAX_PATH];
|
||||
@@ -2745,7 +2745,7 @@ void __cdecl DrawSwrling(LPDIRECT3DDEVICE7 pd3dDevice,LPDIRECTDRAWSURFACE7 pText
|
||||
MakeTorus(Vertices[2],w/2,h/2, 0*f,100*f,seg,0xFF000000,0xFF666666,0.3f,0.5f,0,-500,0,-200);
|
||||
vertices_initialized=true;
|
||||
}else{
|
||||
//초기화 됐을경우는 텍스쳐 좌표를 계속해서 바꾼다.
|
||||
//If initialized, keep changing texture coordinates.
|
||||
static float offset=0;
|
||||
static float off=0;
|
||||
float bb=sinf(off)*2;
|
||||
@@ -2774,7 +2774,7 @@ void __cdecl DrawGameEndScreen(LPDIRECT3DDEVICE7 pd3dDevice,LPDIRECTDRAWSURFACE7
|
||||
{
|
||||
static D3DTLVERTEX Vertices[4]; // Vertices for the cube
|
||||
static bool vertices_initialized=false;
|
||||
//int rcount,scount;//회전 방향 setment수.., 직선 방향 segment수..
|
||||
//int rcount,scount;//num rotation-direction segments, num straight-direction segments..
|
||||
static float off_z=0;
|
||||
if(freload){
|
||||
extern bool g_bCOOP; // COin OPeration
|
||||
@@ -2805,7 +2805,7 @@ void __cdecl DrawGameEndScreen(LPDIRECT3DDEVICE7 pd3dDevice,LPDIRECTDRAWSURFACE7
|
||||
Vertices[3] = D3DTLVERTEX(D3DVECTOR( (float)w, (float)h, z_pos),1.0f,0xFFFFFFFF,0, 800.0f/1024.0f, 600.0f/1024.0f );
|
||||
vertices_initialized=true;
|
||||
}else{
|
||||
//초기화 됐을경우는 텍스쳐 좌표를 계속해서 바꾼다.
|
||||
//If initialized, keep changing texture coordinates.
|
||||
}
|
||||
pd3dDevice->SetTextureStageState(0,D3DTSS_COLOROP ,D3DTOP_MODULATE);
|
||||
pd3dDevice->SetTextureStageState(0,D3DTSS_COLORARG1 ,D3DTA_TEXTURE);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//D3DCOLOR_XXXX정위한다.(d3d8types.h에 정의되어 있으므로. 정의되어있지 않을것이다.
|
||||
//D3DCOLOR_XXXX macros are defined in d3d8types.h and will not be redefined here.
|
||||
#ifndef D3DCOLOR_ARGB
|
||||
|
||||
#define D3DCOLOR_ARGB(a,r,g,b) (D3DCOLOR)((((a)&0xff)<<24)|(((r)&0xff)<<16)|(((g)&0xff)<<8)|((b)&0xff)))
|
||||
@@ -44,10 +44,10 @@ enum AUX1STATE
|
||||
#define AUX1_TEAM_MESSAGE 2
|
||||
#define AUX1_FREE_MESSAGE 3
|
||||
|
||||
//각 디바이스마다.., 각 폰트 종류(typeface,크기,굴기,기울기)가 달라질때 마다 하나씩 생성시켜 사용하면 된다.
|
||||
//Create one instance per device per font type (typeface, size, bold, italic).
|
||||
class CHSHFont
|
||||
{
|
||||
//일시적으로 사용되고.. 각 instance마다 사용되어질 필요가 없으므로 static으로 하였다.
|
||||
//Used temporarily; no need per instance, so declared static.
|
||||
static D3DTLVERTEX m_pVB[300];
|
||||
|
||||
LPDIRECT3DDEVICE7 m_pd3dDevice;
|
||||
@@ -59,7 +59,7 @@ class CHSHFont
|
||||
DWORD m_dwSavedStateBlock;
|
||||
DWORD m_dwDrawTextStateBlock;
|
||||
|
||||
DWORD m_dwMaxWidth;//문자 하나중 가장 큰것..
|
||||
DWORD m_dwMaxWidth;//Width of the widest single character..
|
||||
public:
|
||||
CHSHFont();
|
||||
~CHSHFont();
|
||||
@@ -80,10 +80,10 @@ public:
|
||||
CHSH_Device* m_pOtherHSHD;
|
||||
public:
|
||||
LPDIRECTDRAW7 pDD;
|
||||
LPDIRECTDRAWSURFACE7 pDDSFront; //Flip을 하기위해서 필요..
|
||||
LPDIRECTDRAWSURFACE7 pDDSBack; //Drawing하기 위해서 필요.
|
||||
LPDIRECTDRAWSURFACE7 pDDSTarget; //실제 그리는 텍스쳐 이다.
|
||||
LPDIRECTDRAWSURFACE7 pDDSTexture; //실제 그리는 텍스쳐 이다.
|
||||
LPDIRECTDRAWSURFACE7 pDDSFront; //Required for Flip..
|
||||
LPDIRECTDRAWSURFACE7 pDDSBack; //Required for Drawing.
|
||||
LPDIRECTDRAWSURFACE7 pDDSTarget; //The actual rendering texture.
|
||||
LPDIRECTDRAWSURFACE7 pDDSTexture; //The actual rendering texture.
|
||||
LPDIRECT3DDEVICE7 pD3DDevice;
|
||||
CHSHFont pFont[4];
|
||||
SIZE size_back;
|
||||
@@ -141,7 +141,7 @@ public:
|
||||
bool InitFirst();
|
||||
bool InitSecond();
|
||||
LPDIRECTDRAWSURFACE7 pDDSBackground; //one attatched image sruface
|
||||
LPDIRECTDRAWSURFACE7 pDDSRadarDamageTexture;//메크 데미지 텍스쳐..
|
||||
LPDIRECTDRAWSURFACE7 pDDSRadarDamageTexture;//Mech damage texture..
|
||||
// MSL 5.03 Mechview
|
||||
LPDIRECTDRAWSURFACE7 pDDSMechViewBkgnd;
|
||||
LPDIRECTDRAWSURFACE7 pDDSMechViewBeagle;
|
||||
@@ -151,7 +151,7 @@ public:
|
||||
LPDIRECTDRAWSURFACE7 pDDSMechViewLightamp;
|
||||
LPDIRECTDRAWSURFACE7 m_pDDSMechView; //m x n - tiled 3D MechView images
|
||||
|
||||
virtual bool BeginScene(); //texture를 ratate시켜서 출력하기 위한 루틴이 포함된다.. background이미지를.. 미리 출력한다...
|
||||
virtual bool BeginScene(); //Rotates and outputs texture; pre-renders background image...
|
||||
virtual bool EndScene();
|
||||
virtual bool Release();
|
||||
bool LoadRadarDamageTexture(const char *mechtexturename);
|
||||
@@ -163,10 +163,10 @@ class CMFD_Device:public CHSH_Device
|
||||
{
|
||||
public:
|
||||
//CHSHFont SmallFont;
|
||||
LPDIRECTDRAWSURFACE7 pDDSMechTexture;//3D메크 이미지 저장하기 위한 텍스쳐...
|
||||
LPDIRECTDRAWSURFACE7 pDDSDamageTexture;//메크 데미지 텍스쳐..
|
||||
LPDIRECTDRAWSURFACE7 pDDSMechTexture;//Texture for storing 3D mech image...
|
||||
LPDIRECTDRAWSURFACE7 pDDSDamageTexture;//Mech damage texture..
|
||||
// MSL 5.03 Target Damage Display
|
||||
LPDIRECTDRAWSURFACE7 pDDSTargetTexture;//메크 데미지 텍스쳐..
|
||||
LPDIRECTDRAWSURFACE7 pDDSTargetTexture;//Target damage texture..
|
||||
|
||||
DWORD ch; //current channel....
|
||||
CHSH_Device* m_pRightDevice; // mode 4: pointer to right 640x480 device (NULL in modes 1-3)
|
||||
@@ -175,11 +175,11 @@ public:
|
||||
~CMFD_Device();
|
||||
bool InitFirst();
|
||||
bool InitSecond();
|
||||
bool BeginChannel(DWORD channel);// 0~4번의 채널을 정할 수 있게된다.
|
||||
bool BeginChannel(DWORD channel);// Select channel 0-4.
|
||||
bool EndChannel();
|
||||
virtual bool BeginScene(); //normal한 beginscene/endscene를 한다.
|
||||
virtual bool BeginScene(); //Performs normal BeginScene/EndScene.
|
||||
bool BeginSceneRight(); // mode 4: clear+grid on right device at sh_step==1
|
||||
virtual bool EndScene(); //flip을 한다.
|
||||
virtual bool EndScene(); //Performs the Flip.
|
||||
virtual bool Release();
|
||||
bool LoadDamageTexture(const char *mechtexturename);
|
||||
// MSL 5.03 Target Damage Display
|
||||
@@ -214,10 +214,10 @@ public:
|
||||
bool InitFirst();
|
||||
bool InitSecond();
|
||||
LPDIRECTDRAWSURFACE7 pDDSBackground; //one attatched image sruface
|
||||
LPDIRECTDRAWSURFACE7 pDDSMapTexture; //스크롤되는 맵 이미지를 위한 텍스쳐..
|
||||
LPDIRECTDRAWSURFACE7 pDDSMRTargetTexture;//메크 데미지 텍스쳐..
|
||||
LPDIRECTDRAWSURFACE7 pDDSMapTexture; //Texture for scrollable map image..
|
||||
LPDIRECTDRAWSURFACE7 pDDSMRTargetTexture;//Mission Review target texture..
|
||||
bool LoadMRTargetTexture(const char *mechtexturename);
|
||||
virtual bool BeginScene(); //texture를 ratate시켜서 출력하기 위한 루틴이 포함된다.. background이미지를.. 미리 출력한다...
|
||||
virtual bool BeginScene(); //Rotates and outputs texture; pre-renders background image...
|
||||
virtual bool EndScene();
|
||||
virtual bool Release();
|
||||
};
|
||||
|
||||
@@ -71,7 +71,7 @@ INTERNET_STATUS_STATE_CHANGE
|
||||
INTERNET_STATE_DISCONNECTED_BY_USER
|
||||
Disconnected by user request.
|
||||
INTERNET_STATE_IDLE
|
||||
No network requests are being made by the Win32® Internet functions.
|
||||
No network requests are being made by the Win32® Internet functions.
|
||||
INTERNET_STATE_BUSY
|
||||
Network requests are being made by the Win32 Internet functions.
|
||||
INTERNET_STATUS_USER_INPUT_REQUIRED
|
||||
|
||||
Reference in New Issue
Block a user