Files
firestorm/Gameleap/code/mw4/Code/MW4/huddamage.hpp
T
dicion af416960fa 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).
2026-07-18 13:10:31 -05:00

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;
}
}
};
}