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).
130 lines
3.2 KiB
C++
130 lines
3.2 KiB
C++
|
|
#pragma once
|
|
|
|
#include "MW4.hpp"
|
|
#include "Sensor.hpp"
|
|
#include "hudcomp.hpp"
|
|
#include "weapon.hpp"
|
|
|
|
namespace MechWarrior4
|
|
{
|
|
const int MAX_HUD_DAMAGE_ZONE = 11;
|
|
|
|
const int MAX_HUD_DAMAGE_LEVEL = 6;
|
|
|
|
class HUDDamage : public HUDComponent
|
|
{
|
|
protected:
|
|
|
|
typedef HUDComponent inherited;
|
|
int m_DamageValues[MAX_HUD_DAMAGE_ZONE+1];
|
|
Scalar m_ArmorValues[MAX_HUD_DAMAGE_ZONE+1];
|
|
DWORD m_DamageColors[MAX_HUD_DAMAGE_LEVEL];
|
|
|
|
HUDText *m_RearText;
|
|
Stuff::Time m_DamageFlashTime,m_HitFlashTime;
|
|
bool m_DamageFlash;
|
|
int m_HitFlashCount[MAX_HUD_DAMAGE_ZONE+1];
|
|
int m_MechID;
|
|
bool m_ArmorMode;
|
|
|
|
void DrawImplementation(void);
|
|
|
|
public:
|
|
HUDDamage();
|
|
~HUDDamage();
|
|
virtual void Update (Stuff::Time till);
|
|
virtual void Reset (void);
|
|
void SetVehicle(Vehicle *vehicle);
|
|
|
|
void DamageValue (int values[MAX_HUD_DAMAGE_ZONE+1]);
|
|
void ArmorValue (Scalar values[MAX_HUD_DAMAGE_ZONE+1],bool firstpass);
|
|
void ToggleMode (void)
|
|
{ m_ArmorMode = !m_ArmorMode;
|
|
VehicleInterface::GetInstance()->hudDamageMode = m_ArmorMode;
|
|
}
|
|
};
|
|
|
|
class HUDTargetDamage : public HUDComponent
|
|
{
|
|
protected:
|
|
struct WeaponData {
|
|
int m_TextureID;
|
|
int m_PartLoc;
|
|
WeaponData (int p1,int p3)
|
|
{
|
|
m_TextureID = p1;
|
|
m_PartLoc = p3;
|
|
}
|
|
};
|
|
typedef HUDComponent inherited;
|
|
void DrawImplementation(void);
|
|
bool m_ArmorMode;
|
|
|
|
Stuff::SlotOf <Entity *> m_TargetVehicle;
|
|
stlport::vector<WeaponData> m_Weapons;
|
|
|
|
HUDText *m_TargetName;
|
|
HUDText *m_TargetRangeText;
|
|
int m_TargetAlignment;
|
|
Stuff::Scalar m_TargetTonnage;
|
|
int m_DamageValues[MAX_HUD_DAMAGE_ZONE+1];
|
|
Scalar m_ArmorValues[MAX_HUD_DAMAGE_ZONE+1];
|
|
DWORD m_DamageColors[MAX_HUD_DAMAGE_LEVEL];
|
|
Stuff::Time m_DamageFlashTime,m_HitFlashTime;
|
|
bool m_DamageFlash;
|
|
int m_HitFlashCount[MAX_HUD_DAMAGE_ZONE+1];
|
|
int m_TargetMechID;
|
|
bool m_ShowData;
|
|
bool m_LastMechMode;
|
|
//sanghoon begin
|
|
public:
|
|
char hsh_targetname[64];
|
|
char hsh_targetrange[64];
|
|
//sanghoon end
|
|
|
|
public:
|
|
HUDTargetDamage();
|
|
~HUDTargetDamage();
|
|
virtual void Update (Stuff::Time till);
|
|
virtual void Reset (void);
|
|
// void DamageValue (int values[MAX_HUD_DAMAGE_ZONE]);
|
|
// void ArmorValue (Scalar values[MAX_HUD_DAMAGE_ZONE],bool firstpass);
|
|
bool ToggleMode (void);
|
|
bool ShowCamera (void)
|
|
{ return ((!m_ArmorMode) && m_Visible); }
|
|
void Target (Entity *veh);
|
|
void TargetName (char *name)
|
|
{
|
|
m_TargetName->UpdateText (name);
|
|
//sanghoon begin
|
|
strncpy(hsh_targetname,name,sizeof(hsh_targetname));
|
|
hsh_targetname[sizeof(hsh_targetname)-1]=0;
|
|
//sanghoon end
|
|
}
|
|
void TargetRange (Stuff::Scalar value)
|
|
{
|
|
char text[50];
|
|
int temp = (int) value;
|
|
sprintf (text,"%dm",temp);
|
|
m_TargetRangeText->UpdateText (text);
|
|
//sanghoon begin
|
|
strncpy(hsh_targetrange,text,sizeof(hsh_targetrange));
|
|
hsh_targetrange[sizeof(hsh_targetrange)-1]=0;
|
|
//sanghoon end
|
|
}
|
|
void TargetTonnage (Stuff::Scalar value);
|
|
void TargetAlignment (int value)
|
|
{ m_TargetAlignment = value; }
|
|
void ReticuleTarget (Entity *veh)
|
|
{
|
|
if (veh && !m_ShowData)
|
|
{
|
|
if (veh == m_TargetVehicle.GetCurrent ())
|
|
m_ShowData = true;
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|