Remapped special chars to UCS equivalents; some cleanups of coarse scan code
git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@2167 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
@@ -71,6 +71,14 @@ size_t getStringFromWide(unsigned char *ptr, size_t size,
|
|||||||
int isWideGraphChar(wchar_t ch);
|
int isWideGraphChar(wchar_t ch);
|
||||||
int isWidePrintChar(wchar_t ch);
|
int isWidePrintChar(wchar_t ch);
|
||||||
|
|
||||||
|
#define WCHAR_DEGREE_SIGN 0x00b0
|
||||||
|
#define STR_DEGREE_SIGN "\xC2\xB0"
|
||||||
|
#define WCHAR_INFINITY_SIGN 0x221e
|
||||||
|
#define STR_INFINITY_SIGN "\xE2\x88\x9E"
|
||||||
|
#define WCHAR_EARTH_SIGN 0x2641
|
||||||
|
#define STR_EARTH_SIGN "\xE2\x99\x81"
|
||||||
|
#define WCHAR_MIDDLE_DOT 0x00b7
|
||||||
|
#define STR_MIDDLE_DOT "\xC2\xB7"
|
||||||
|
|
||||||
#endif /* _STRLIB_H */
|
#endif /* _STRLIB_H */
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+86
-126
@@ -110,14 +110,27 @@ PrintScanTitlePC (TEXT *t, RECT *r, const char *txt, int xpos)
|
|||||||
BUILD_COLOR (MAKE_RGB15 (0xF, 0x00, 0x19), 0x3B));
|
BUILD_COLOR (MAKE_RGB15 (0xF, 0x00, 0x19), 0x3B));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
MakeScanValue (UNICODE *buf, long val, const UNICODE *extra)
|
||||||
|
{
|
||||||
|
if (val >= 10 * 100)
|
||||||
|
{ // 1 decimal place
|
||||||
|
sprintf (buf, "%ld.%ld%s", val / 100, (val / 10) % 10, extra);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{ // 2 decimal places
|
||||||
|
sprintf (buf, "%ld.%02ld%s", val / 100, val % 100, extra);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
PrintCoarseScanPC (void)
|
PrintCoarseScanPC (void)
|
||||||
{
|
{
|
||||||
#define SCAN_LEADING_PC 14
|
#define SCAN_LEADING_PC 14
|
||||||
SIZE temp;
|
SDWORD val;
|
||||||
TEXT t;
|
TEXT t;
|
||||||
RECT r;
|
RECT r;
|
||||||
UNICODE buf[40];
|
UNICODE buf[200];
|
||||||
|
|
||||||
LockMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (SpaceContext);
|
SetContext (SpaceContext);
|
||||||
@@ -164,12 +177,12 @@ PrintCoarseScanPC (void)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
temp = pSolarSysState->pOrbitalDesc->data_index & ~PLANET_SHIELDED;
|
val = pSolarSysState->pOrbitalDesc->data_index & ~PLANET_SHIELDED;
|
||||||
if (temp >= FIRST_GAS_GIANT)
|
if (val >= FIRST_GAS_GIANT)
|
||||||
wsprintf (buf, "%s", GAME_STRING (SCAN_STRING_BASE + 4 + 51));
|
sprintf (buf, "%s", GAME_STRING (SCAN_STRING_BASE + 4 + 51));
|
||||||
else
|
else
|
||||||
wsprintf (buf, "%s %s",
|
sprintf (buf, "%s %s",
|
||||||
GAME_STRING (SCAN_STRING_BASE + 4 + temp),
|
GAME_STRING (SCAN_STRING_BASE + 4 + val),
|
||||||
GAME_STRING (SCAN_STRING_BASE + 4 + 50));
|
GAME_STRING (SCAN_STRING_BASE + 4 + 50));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -195,12 +208,9 @@ PrintCoarseScanPC (void)
|
|||||||
|
|
||||||
LockMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
PrintScanTitlePC (&t, &r, "Orbit: ", LEFT_SIDE_BASELINE_X_PC);
|
PrintScanTitlePC (&t, &r, "Orbit: ", LEFT_SIDE_BASELINE_X_PC);
|
||||||
temp = (SIZE)((pSolarSysState->SysInfo.PlanetInfo.PlanetToSunDist * 100L
|
val = ((pSolarSysState->SysInfo.PlanetInfo.PlanetToSunDist * 100L
|
||||||
+ (EARTH_RADIUS >> 1)) / EARTH_RADIUS);
|
+ (EARTH_RADIUS >> 1)) / EARTH_RADIUS);
|
||||||
if (temp >= 10 * 100)
|
MakeScanValue (buf, val, " a.u.");
|
||||||
wsprintf (buf, "%u.%u a.u.", temp / 100, (temp / 10) % 10);
|
|
||||||
else
|
|
||||||
wsprintf (buf, "%u.%02u a.u.", temp / 100, temp % 100);
|
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
@@ -210,17 +220,14 @@ PrintCoarseScanPC (void)
|
|||||||
LockMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
PrintScanTitlePC (&t, &r, "Atmo: ", LEFT_SIDE_BASELINE_X_PC);
|
PrintScanTitlePC (&t, &r, "Atmo: ", LEFT_SIDE_BASELINE_X_PC);
|
||||||
if (pSolarSysState->SysInfo.PlanetInfo.AtmoDensity == GAS_GIANT_ATMOSPHERE)
|
if (pSolarSysState->SysInfo.PlanetInfo.AtmoDensity == GAS_GIANT_ATMOSPHERE)
|
||||||
wsprintf (buf, "Super Thick");
|
sprintf (buf, "Super Thick");
|
||||||
else if (pSolarSysState->SysInfo.PlanetInfo.AtmoDensity == 0)
|
else if (pSolarSysState->SysInfo.PlanetInfo.AtmoDensity == 0)
|
||||||
wsprintf (buf, "Vacuum");
|
sprintf (buf, "Vacuum");
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
temp = (pSolarSysState->SysInfo.PlanetInfo.AtmoDensity * 100
|
val = (pSolarSysState->SysInfo.PlanetInfo.AtmoDensity * 100
|
||||||
+ (EARTH_ATMOSPHERE >> 1)) / EARTH_ATMOSPHERE;
|
+ (EARTH_ATMOSPHERE >> 1)) / EARTH_ATMOSPHERE;
|
||||||
if (temp >= 10 * 100)
|
MakeScanValue (buf, val, " atm");
|
||||||
wsprintf (buf, "%u.%u atm", temp / 100, (temp / 10) % 10);
|
|
||||||
else
|
|
||||||
wsprintf (buf, "%u.%02u atm", temp / 100, temp % 100);
|
|
||||||
}
|
}
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
@@ -230,7 +237,7 @@ PrintCoarseScanPC (void)
|
|||||||
|
|
||||||
LockMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
PrintScanTitlePC (&t, &r, "Temp: ", LEFT_SIDE_BASELINE_X_PC);
|
PrintScanTitlePC (&t, &r, "Temp: ", LEFT_SIDE_BASELINE_X_PC);
|
||||||
wsprintf (buf, "%d^ c",
|
sprintf (buf, "%d" STR_DEGREE_SIGN " c",
|
||||||
pSolarSysState->SysInfo.PlanetInfo.SurfaceTemperature);
|
pSolarSysState->SysInfo.PlanetInfo.SurfaceTemperature);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
@@ -244,7 +251,7 @@ PrintCoarseScanPC (void)
|
|||||||
t.pStr = "None";
|
t.pStr = "None";
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
wsprintf (buf, "Class %u",
|
sprintf (buf, "Class %u",
|
||||||
pSolarSysState->SysInfo.PlanetInfo.Weather + 1);
|
pSolarSysState->SysInfo.PlanetInfo.Weather + 1);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
}
|
}
|
||||||
@@ -260,7 +267,7 @@ PrintCoarseScanPC (void)
|
|||||||
t.pStr = "None";
|
t.pStr = "None";
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
wsprintf (buf, "Class %u",
|
sprintf (buf, "Class %u",
|
||||||
pSolarSysState->SysInfo.PlanetInfo.Tectonics + 1);
|
pSolarSysState->SysInfo.PlanetInfo.Tectonics + 1);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
}
|
}
|
||||||
@@ -272,20 +279,13 @@ PrintCoarseScanPC (void)
|
|||||||
|
|
||||||
LockMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
PrintScanTitlePC (&t, &r, "Mass: ", RIGHT_SIDE_BASELINE_X_PC);
|
PrintScanTitlePC (&t, &r, "Mass: ", RIGHT_SIDE_BASELINE_X_PC);
|
||||||
{
|
val = pSolarSysState->SysInfo.PlanetInfo.PlanetRadius;
|
||||||
DWORD tr;
|
val = (val * val * val / 100L
|
||||||
|
* pSolarSysState->SysInfo.PlanetInfo.PlanetDensity
|
||||||
tr = pSolarSysState->SysInfo.PlanetInfo.PlanetRadius;
|
+ ((100L * 100L) >> 1)) / (100L * 100L);
|
||||||
tr = (tr * tr * tr / 100L
|
if (val == 0)
|
||||||
* (DWORD)pSolarSysState->SysInfo.PlanetInfo.PlanetDensity
|
val = 1;
|
||||||
+ (DWORD)((100L * 100L) >> 1)) / (DWORD)(100L * 100L);
|
MakeScanValue (buf, val, " e.s.");
|
||||||
if (tr == 0)
|
|
||||||
tr = 1;
|
|
||||||
if (tr >= 10 * 100)
|
|
||||||
wsprintf (buf, "%lu.%lu e.s.", tr / 100, (tr / 10) % 10);
|
|
||||||
else
|
|
||||||
wsprintf (buf, "%lu.%02lu e.s.", tr / 100, tr % 100);
|
|
||||||
}
|
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
@@ -294,11 +294,8 @@ PrintCoarseScanPC (void)
|
|||||||
|
|
||||||
LockMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
PrintScanTitlePC (&t, &r, "Radius: ", RIGHT_SIDE_BASELINE_X_PC);
|
PrintScanTitlePC (&t, &r, "Radius: ", RIGHT_SIDE_BASELINE_X_PC);
|
||||||
temp = pSolarSysState->SysInfo.PlanetInfo.PlanetRadius;
|
val = pSolarSysState->SysInfo.PlanetInfo.PlanetRadius;
|
||||||
if (temp >= 10 * 100)
|
MakeScanValue (buf, val, " e.s.");
|
||||||
wsprintf (buf, "%u.%u e.s.", temp / 100, (temp / 10) % 10);
|
|
||||||
else
|
|
||||||
wsprintf (buf, "%u.%02u e.s.", temp / 100, temp % 100);
|
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
@@ -307,15 +304,10 @@ PrintCoarseScanPC (void)
|
|||||||
|
|
||||||
LockMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
PrintScanTitlePC (&t, &r, "Gravity: ", RIGHT_SIDE_BASELINE_X_PC);
|
PrintScanTitlePC (&t, &r, "Gravity: ", RIGHT_SIDE_BASELINE_X_PC);
|
||||||
temp = pSolarSysState->SysInfo.PlanetInfo.SurfaceGravity;
|
val = pSolarSysState->SysInfo.PlanetInfo.SurfaceGravity;
|
||||||
if (temp >= 10 * 100)
|
if (val == 0)
|
||||||
wsprintf (buf, "%u.%u g.", temp / 100, (temp / 10) % 10);
|
val = 1;
|
||||||
else
|
MakeScanValue (buf, val, " g.");
|
||||||
{
|
|
||||||
if (temp == 0)
|
|
||||||
temp = 1;
|
|
||||||
wsprintf (buf, "%u.%02u g.", temp / 100, temp % 100);
|
|
||||||
}
|
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
@@ -324,18 +316,9 @@ PrintCoarseScanPC (void)
|
|||||||
|
|
||||||
LockMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
PrintScanTitlePC (&t, &r, "Day: ", RIGHT_SIDE_BASELINE_X_PC);
|
PrintScanTitlePC (&t, &r, "Day: ", RIGHT_SIDE_BASELINE_X_PC);
|
||||||
if (pSolarSysState->SysInfo.PlanetInfo.RotationPeriod < 240 * 10)
|
val = (SDWORD)pSolarSysState->SysInfo.PlanetInfo.RotationPeriod
|
||||||
{
|
* 10 / 24;
|
||||||
temp = (SIZE)(pSolarSysState->SysInfo.PlanetInfo.RotationPeriod *
|
MakeScanValue (buf, val, " days");
|
||||||
10 / 24);
|
|
||||||
wsprintf (buf, "%u.%02u days", temp / 100, temp % 100);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
temp = (SIZE)((pSolarSysState->SysInfo.PlanetInfo.RotationPeriod
|
|
||||||
+ (24 >> 1)) / 24);
|
|
||||||
wsprintf (buf, "%u.%u days", temp / 10, temp % 10);
|
|
||||||
}
|
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
@@ -344,10 +327,11 @@ PrintCoarseScanPC (void)
|
|||||||
|
|
||||||
LockMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
PrintScanTitlePC (&t, &r, "Tilt: ", RIGHT_SIDE_BASELINE_X_PC);
|
PrintScanTitlePC (&t, &r, "Tilt: ", RIGHT_SIDE_BASELINE_X_PC);
|
||||||
if ((temp = pSolarSysState->SysInfo.PlanetInfo.AxialTilt) < 0)
|
val = pSolarSysState->SysInfo.PlanetInfo.AxialTilt;
|
||||||
temp = -temp;
|
if (val < 0)
|
||||||
|
val = -val;
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
wsprintf (buf, "%u^", temp);
|
sprintf (buf, "%ld" STR_DEGREE_SIGN, val);
|
||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
UnlockMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
@@ -357,10 +341,10 @@ static void
|
|||||||
PrintCoarseScan3DO (void)
|
PrintCoarseScan3DO (void)
|
||||||
{
|
{
|
||||||
#define SCAN_LEADING 19
|
#define SCAN_LEADING 19
|
||||||
SIZE temp;
|
SDWORD val;
|
||||||
TEXT t;
|
TEXT t;
|
||||||
STAMP s;
|
STAMP s;
|
||||||
UNICODE buf[40];
|
UNICODE buf[200];
|
||||||
|
|
||||||
LockMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
SetContext (SpaceContext);
|
SetContext (SpaceContext);
|
||||||
@@ -406,12 +390,12 @@ PrintCoarseScan3DO (void)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
temp = pSolarSysState->pOrbitalDesc->data_index & ~PLANET_SHIELDED;
|
val = pSolarSysState->pOrbitalDesc->data_index & ~PLANET_SHIELDED;
|
||||||
if (temp >= FIRST_GAS_GIANT)
|
if (val >= FIRST_GAS_GIANT)
|
||||||
wsprintf (buf, "%s", GAME_STRING (SCAN_STRING_BASE + 4 + 51));
|
sprintf (buf, "%s", GAME_STRING (SCAN_STRING_BASE + 4 + 51));
|
||||||
else
|
else
|
||||||
wsprintf (buf, "%s %s",
|
sprintf (buf, "%s %s",
|
||||||
GAME_STRING (SCAN_STRING_BASE + 4 + temp),
|
GAME_STRING (SCAN_STRING_BASE + 4 + val),
|
||||||
GAME_STRING (SCAN_STRING_BASE + 4 + 50));
|
GAME_STRING (SCAN_STRING_BASE + 4 + 50));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -441,12 +425,9 @@ PrintCoarseScan3DO (void)
|
|||||||
|
|
||||||
LockMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
temp = (SIZE)((pSolarSysState->SysInfo.PlanetInfo.PlanetToSunDist * 100L
|
val = ((pSolarSysState->SysInfo.PlanetInfo.PlanetToSunDist * 100L
|
||||||
+ (EARTH_RADIUS >> 1)) / EARTH_RADIUS);
|
+ (EARTH_RADIUS >> 1)) / EARTH_RADIUS);
|
||||||
if (temp >= 10 * 100)
|
MakeScanValue (buf, val, STR_EARTH_SIGN);
|
||||||
wsprintf (buf, "%u.%u&", temp / 100, (temp / 10) % 10);
|
|
||||||
else
|
|
||||||
wsprintf (buf, "%u.%02u&", temp / 100, temp % 100);
|
|
||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
t.baseline.y += SCAN_LEADING;
|
t.baseline.y += SCAN_LEADING;
|
||||||
@@ -455,15 +436,12 @@ PrintCoarseScan3DO (void)
|
|||||||
LockMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
if (pSolarSysState->SysInfo.PlanetInfo.AtmoDensity == GAS_GIANT_ATMOSPHERE)
|
if (pSolarSysState->SysInfo.PlanetInfo.AtmoDensity == GAS_GIANT_ATMOSPHERE)
|
||||||
wsprintf (buf, "\x7f");
|
strcpy (buf, STR_INFINITY_SIGN);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
temp = (pSolarSysState->SysInfo.PlanetInfo.AtmoDensity * 100
|
val = (pSolarSysState->SysInfo.PlanetInfo.AtmoDensity * 100
|
||||||
+ (EARTH_ATMOSPHERE >> 1)) / EARTH_ATMOSPHERE;
|
+ (EARTH_ATMOSPHERE >> 1)) / EARTH_ATMOSPHERE;
|
||||||
if (temp >= 10 * 100)
|
MakeScanValue (buf, val, STR_EARTH_SIGN);
|
||||||
wsprintf (buf, "%u.%u&", temp / 100, (temp / 10) % 10);
|
|
||||||
else
|
|
||||||
wsprintf (buf, "%u.%02u&", temp / 100, temp % 100);
|
|
||||||
}
|
}
|
||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
@@ -472,7 +450,8 @@ PrintCoarseScan3DO (void)
|
|||||||
|
|
||||||
LockMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
wsprintf (buf, "%d^", pSolarSysState->SysInfo.PlanetInfo.SurfaceTemperature);
|
sprintf (buf, "%d" STR_DEGREE_SIGN,
|
||||||
|
pSolarSysState->SysInfo.PlanetInfo.SurfaceTemperature);
|
||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
t.baseline.y += SCAN_LEADING;
|
t.baseline.y += SCAN_LEADING;
|
||||||
@@ -480,7 +459,7 @@ PrintCoarseScan3DO (void)
|
|||||||
|
|
||||||
LockMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
wsprintf (buf, "<%u>", pSolarSysState->SysInfo.PlanetInfo.AtmoDensity == 0
|
sprintf (buf, "<%u>", pSolarSysState->SysInfo.PlanetInfo.AtmoDensity == 0
|
||||||
? 0 : (pSolarSysState->SysInfo.PlanetInfo.Weather + 1));
|
? 0 : (pSolarSysState->SysInfo.PlanetInfo.Weather + 1));
|
||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
@@ -489,7 +468,7 @@ PrintCoarseScan3DO (void)
|
|||||||
|
|
||||||
LockMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
wsprintf (buf, "<%u>",
|
sprintf (buf, "<%u>",
|
||||||
PLANSIZE (
|
PLANSIZE (
|
||||||
pSolarSysState->SysInfo.PlanetInfo.PlanDataPtr->Type
|
pSolarSysState->SysInfo.PlanetInfo.PlanDataPtr->Type
|
||||||
) == GAS_GIANT
|
) == GAS_GIANT
|
||||||
@@ -504,20 +483,13 @@ PrintCoarseScan3DO (void)
|
|||||||
|
|
||||||
LockMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
{
|
val = pSolarSysState->SysInfo.PlanetInfo.PlanetRadius;
|
||||||
DWORD tr;
|
val = (val * val * val / 100L
|
||||||
|
* pSolarSysState->SysInfo.PlanetInfo.PlanetDensity
|
||||||
tr = pSolarSysState->SysInfo.PlanetInfo.PlanetRadius;
|
+ ((100L * 100L) >> 1)) / (100L * 100L);
|
||||||
if ((tr = (tr * tr * tr / 100L
|
if (val == 0)
|
||||||
* (DWORD)pSolarSysState->SysInfo.PlanetInfo.PlanetDensity
|
val = 1;
|
||||||
+ (DWORD)((100L * 100L) >> 1))
|
MakeScanValue (buf, val, STR_EARTH_SIGN);
|
||||||
/ (DWORD)(100L * 100L)) == 0)
|
|
||||||
tr = 1;
|
|
||||||
if (tr >= 10 * 100)
|
|
||||||
wsprintf (buf, "%lu.%lu&", tr / 100, (tr / 10) % 10);
|
|
||||||
else
|
|
||||||
wsprintf (buf, "%lu.%02lu&", tr / 100, tr % 100);
|
|
||||||
}
|
|
||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
t.baseline.y += SCAN_LEADING;
|
t.baseline.y += SCAN_LEADING;
|
||||||
@@ -525,10 +497,9 @@ PrintCoarseScan3DO (void)
|
|||||||
|
|
||||||
LockMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
if ((temp = pSolarSysState->SysInfo.PlanetInfo.PlanetRadius) >= 10 * 100)
|
val = pSolarSysState->SysInfo.PlanetInfo.PlanetRadius;
|
||||||
wsprintf (buf, "%u.%u&", temp / 100, (temp / 10) % 10);
|
MakeScanValue (buf, val, STR_EARTH_SIGN);
|
||||||
else
|
|
||||||
wsprintf (buf, "%u.%02u&", temp / 100, temp % 100);
|
|
||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
t.baseline.y += SCAN_LEADING;
|
t.baseline.y += SCAN_LEADING;
|
||||||
@@ -536,14 +507,10 @@ PrintCoarseScan3DO (void)
|
|||||||
|
|
||||||
LockMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
if ((temp = pSolarSysState->SysInfo.PlanetInfo.SurfaceGravity) >= 10 * 100)
|
val = pSolarSysState->SysInfo.PlanetInfo.SurfaceGravity;
|
||||||
wsprintf (buf, "%u.%u&", temp / 100, (temp / 10) % 10);
|
if (val == 0)
|
||||||
else
|
val = 1;
|
||||||
{
|
MakeScanValue (buf, val, STR_EARTH_SIGN);
|
||||||
if (temp == 0)
|
|
||||||
temp = 1;
|
|
||||||
wsprintf (buf, "%u.%02u&", temp / 100, temp % 100);
|
|
||||||
}
|
|
||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
t.baseline.y += SCAN_LEADING;
|
t.baseline.y += SCAN_LEADING;
|
||||||
@@ -551,9 +518,10 @@ PrintCoarseScan3DO (void)
|
|||||||
|
|
||||||
LockMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
if ((temp = pSolarSysState->SysInfo.PlanetInfo.AxialTilt) < 0)
|
val = pSolarSysState->SysInfo.PlanetInfo.AxialTilt;
|
||||||
temp = -temp;
|
if (val < 0)
|
||||||
wsprintf (buf, "%u^", temp);
|
val = -val;
|
||||||
|
sprintf (buf, "%ld" STR_DEGREE_SIGN, val);
|
||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
t.baseline.y += SCAN_LEADING;
|
t.baseline.y += SCAN_LEADING;
|
||||||
@@ -561,17 +529,9 @@ PrintCoarseScan3DO (void)
|
|||||||
|
|
||||||
LockMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
t.pStr = buf;
|
t.pStr = buf;
|
||||||
if (pSolarSysState->SysInfo.PlanetInfo.RotationPeriod < 240 * 10)
|
val = (SDWORD)pSolarSysState->SysInfo.PlanetInfo.RotationPeriod
|
||||||
{
|
* 10 / 24;
|
||||||
temp = (SIZE)(pSolarSysState->SysInfo.PlanetInfo.RotationPeriod * 10 / 24);
|
MakeScanValue (buf, val, STR_EARTH_SIGN);
|
||||||
wsprintf (buf, "%u.%02u&", temp / 100, temp % 100);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
temp = (SIZE)((pSolarSysState->SysInfo.PlanetInfo.RotationPeriod
|
|
||||||
+ (24 >> 1)) / 24);
|
|
||||||
wsprintf (buf, "%u.%u&", temp / 10, temp % 10);
|
|
||||||
}
|
|
||||||
t.CharCount = (COUNT)~0;
|
t.CharCount = (COUNT)~0;
|
||||||
font_DrawText (&t);
|
font_DrawText (&t);
|
||||||
UnlockMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
|
|||||||
@@ -230,7 +230,7 @@ void
|
|||||||
DateToString (unsigned char *buf, size_t bufLen,
|
DateToString (unsigned char *buf, size_t bufLen,
|
||||||
BYTE month_index, BYTE day_index, COUNT year_index)
|
BYTE month_index, BYTE day_index, COUNT year_index)
|
||||||
{
|
{
|
||||||
snprintf (buf, bufLen, "%s %02d_%04d",
|
snprintf (buf, bufLen, "%s %02d" STR_MIDDLE_DOT "%04d",
|
||||||
GAME_STRING (MONTHS_STRING_BASE + month_index - 1),
|
GAME_STRING (MONTHS_STRING_BASE + month_index - 1),
|
||||||
day_index, year_index);
|
day_index, year_index);
|
||||||
}
|
}
|
||||||
@@ -272,7 +272,7 @@ DrawStatusMessage (UNICODE *pStr)
|
|||||||
if (optWhichMenu == OPT_PC)
|
if (optWhichMenu == OPT_PC)
|
||||||
wstrcpy (buf, "UNLIMITED RU");
|
wstrcpy (buf, "UNLIMITED RU");
|
||||||
else
|
else
|
||||||
wstrcpy (buf, "\x7f RU");
|
wstrcpy (buf, STR_INFINITY_SIGN " RU");
|
||||||
pStr = buf;
|
pStr = buf;
|
||||||
}
|
}
|
||||||
else if (pStr == 0)
|
else if (pStr == 0)
|
||||||
|
|||||||
Reference in New Issue
Block a user