Battle & ship code cleanup: Switch to playerNr instead of GOOD_GUY/BAD_GUY in ship status code

git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@3266 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
avolkov
2009-10-31 00:57:09 +00:00
parent 415eec4efb
commit a56719420e
7 changed files with 122 additions and 111 deletions
+2 -2
View File
@@ -894,7 +894,7 @@ DrawMeleeShipStrings (MELEE_STATE *pMS, BYTE NewStarShip)
RECT r; RECT r;
TEXT t; TEXT t;
ClearShipStatus (BAD_GUY_YOFFS); ClearShipStatus (0);
SetContextFont (StarConFont); SetContextFont (StarConFont);
r.corner.x = 3; r.corner.x = 3;
r.corner.y = 4; r.corner.y = 4;
@@ -931,7 +931,7 @@ DrawMeleeShipStrings (MELEE_STATE *pMS, BYTE NewStarShip)
hMasterShip = GetStarShipFromIndex (&master_q, NewStarShip); hMasterShip = GetStarShipFromIndex (&master_q, NewStarShip);
MasterPtr = LockMasterShip (&master_q, hMasterShip); MasterPtr = LockMasterShip (&master_q, hMasterShip);
InitShipStatus (&MasterPtr->ShipInfo, ~0, NULL); InitShipStatus (&MasterPtr->ShipInfo, NULL, NULL);
UnlockMasterShip (&master_q, hMasterShip); UnlockMasterShip (&master_q, hMasterShip);
} }
+2
View File
@@ -27,6 +27,7 @@
#endif #endif
#include "init.h" #include "init.h"
#include "intel.h" #include "intel.h"
#include "status.h"
#include "resinst.h" #include "resinst.h"
#include "sounds.h" #include "sounds.h"
#include "libs/compiler.h" #include "libs/compiler.h"
@@ -219,6 +220,7 @@ InitKernel (void)
if (MenuSounds == 0) if (MenuSounds == 0)
return FALSE; return FALSE;
InitStatusOffsets ();
InitSpace (); InitSpace ();
return TRUE; return TRUE;
+4 -3
View File
@@ -160,10 +160,12 @@ ship_preprocess (ELEMENT *ElementPtr)
StarShipPtr->cur_status_flags StarShipPtr->cur_status_flags
& ~(LEFT | RIGHT | THRUST | WEAPON | SPECIAL); & ~(LEFT | RIGHT | THRUST | WEAPON | SPECIAL);
if (!(ElementPtr->state_flags & APPEARING)) if (!(ElementPtr->state_flags & APPEARING))
{
cur_status_flags |= StarShipPtr->ship_input_state cur_status_flags |= StarShipPtr->ship_input_state
& (LEFT | RIGHT | THRUST | WEAPON | SPECIAL); & (LEFT | RIGHT | THRUST | WEAPON | SPECIAL);
}
else else
{ { // Preprocessing for the first time
ElementPtr->crew_level = RDPtr->ship_info.crew_level; ElementPtr->crew_level = RDPtr->ship_info.crew_level;
if ((ElementPtr->state_flags & BAD_GUY) if ((ElementPtr->state_flags & BAD_GUY)
@@ -184,8 +186,7 @@ ship_preprocess (ELEMENT *ElementPtr)
{ {
CONTEXT OldContext; CONTEXT OldContext;
InitShipStatus (&RDPtr->ship_info, InitShipStatus (&RDPtr->ship_info, StarShipPtr, NULL);
StarShipPtr->captains_name_index, NULL);
OldContext = SetContext (StatusContext); OldContext = SetContext (StatusContext);
DrawCaptainsWindow (StarShipPtr); DrawCaptainsWindow (StarShipPtr);
SetContext (OldContext); SetContext (OldContext);
+23 -24
View File
@@ -133,18 +133,17 @@ OutlineShipStatus (COORD y)
} }
void void
InitShipStatus (SHIP_INFO *SIPtr, BYTE captains_name_index, RECT *pClipRect) InitShipStatus (SHIP_INFO *SIPtr, STARSHIP *StarShipPtr, RECT *pClipRect)
{ {
RECT r; RECT r;
COORD y, y_stat; COORD y = 0; // default, for Melee menu
STAMP Stamp; STAMP Stamp;
CONTEXT OldContext; CONTEXT OldContext;
y_stat = (SIPtr->ship_flags & GOOD_GUY) ? if (StarShipPtr) // set during battle
GOOD_GUY_YOFFS : BAD_GUY_YOFFS; y = status_y_offsets[StarShipPtr->playerNr];
OldContext = SetContext (StatusContext); OldContext = SetContext (StatusContext);
y = y_stat;
if (pClipRect) if (pClipRect)
{ {
GetContextClipRect (&r); GetContextClipRect (&r);
@@ -225,8 +224,9 @@ InitShipStatus (SHIP_INFO *SIPtr, BYTE captains_name_index, RECT *pClipRect)
DrawFilledRectangle (&r); DrawFilledRectangle (&r);
} }
if (captains_name_index) if (!StarShipPtr || StarShipPtr->captains_name_index)
{ { // Any regular ship. SIS and Sa-Matra are separate.
// This includes Melee menu.
STRING locString; STRING locString;
DrawCrewFuelString (y, 0); DrawCrewFuelString (y, 0);
@@ -234,7 +234,7 @@ InitShipStatus (SHIP_INFO *SIPtr, BYTE captains_name_index, RECT *pClipRect)
locString = SetAbsStringTableIndex (SIPtr->race_strings, 1); locString = SetAbsStringTableIndex (SIPtr->race_strings, 1);
DrawShipNameString ( DrawShipNameString (
(UNICODE *)GetStringAddress (locString), (UNICODE *)GetStringAddress (locString),
GetStringLength (locString),y); GetStringLength (locString), y);
{ {
UNICODE buf[30]; UNICODE buf[30];
@@ -243,8 +243,8 @@ InitShipStatus (SHIP_INFO *SIPtr, BYTE captains_name_index, RECT *pClipRect)
OldFont = SetContextFont (TinyFont); OldFont = SetContextFont (TinyFont);
if (!(GLOBAL (CurrentActivity) & IN_BATTLE)) if (!StarShipPtr)
{ { // In Melee menu
sprintf (buf, "%d", SIPtr->ship_cost); sprintf (buf, "%d", SIPtr->ship_cost);
Text.pStr = buf; Text.pStr = buf;
Text.CharCount = (COUNT)~0; Text.CharCount = (COUNT)~0;
@@ -252,7 +252,7 @@ InitShipStatus (SHIP_INFO *SIPtr, BYTE captains_name_index, RECT *pClipRect)
else else
{ {
locString = SetAbsStringTableIndex (SIPtr->race_strings, locString = SetAbsStringTableIndex (SIPtr->race_strings,
captains_name_index); StarShipPtr->captains_name_index);
Text.pStr = (UNICODE *)GetStringAddress (locString); Text.pStr = (UNICODE *)GetStringAddress (locString);
Text.CharCount = GetStringLength (locString); Text.CharCount = GetStringLength (locString);
} }
@@ -267,13 +267,10 @@ InitShipStatus (SHIP_INFO *SIPtr, BYTE captains_name_index, RECT *pClipRect)
SetContextFont (OldFont); SetContextFont (OldFont);
} }
} }
else /* if (captains_name_index == 0) */ else if (StarShipPtr->playerNr == 0)
{ /* Only SIS or Sa-Matra */ { // This is SIS
if (SIPtr->ship_flags & GOOD_GUY) DrawCrewFuelString (y, 0);
{ DrawShipNameString (GLOBAL_SIS (ShipName), (COUNT)~0, y);
DrawCrewFuelString (y, 0);
DrawShipNameString (GLOBAL_SIS (ShipName), (COUNT)~0, y);
}
} }
{ {
@@ -281,8 +278,10 @@ InitShipStatus (SHIP_INFO *SIPtr, BYTE captains_name_index, RECT *pClipRect)
crew_delta = SIPtr->crew_level; crew_delta = SIPtr->crew_level;
energy_delta = SIPtr->energy_level; energy_delta = SIPtr->energy_level;
SIPtr->crew_level = SIPtr->energy_level = 0; // DeltaStatistics() below will add specified values to these
DeltaStatistics (SIPtr, crew_delta, energy_delta); SIPtr->crew_level = 0;
SIPtr->energy_level = 0;
DeltaStatistics (SIPtr, y, crew_delta, energy_delta);
} }
UnbatchGraphics (); UnbatchGraphics ();
@@ -303,7 +302,8 @@ InitShipStatus (SHIP_INFO *SIPtr, BYTE captains_name_index, RECT *pClipRect)
// Pre: -crew_delta <= ShipInfoPtr->crew_level // Pre: -crew_delta <= ShipInfoPtr->crew_level
// crew_delta <= ShipInfoPtr->max_crew - ShipInfoPtr->crew_level // crew_delta <= ShipInfoPtr->max_crew - ShipInfoPtr->crew_level
void void
DeltaStatistics (SHIP_INFO *ShipInfoPtr, SIZE crew_delta, SIZE energy_delta) DeltaStatistics (SHIP_INFO *ShipInfoPtr, COORD y_offs,
SIZE crew_delta, SIZE energy_delta)
{ {
COORD x, y; COORD x, y;
RECT r; RECT r;
@@ -312,8 +312,7 @@ DeltaStatistics (SHIP_INFO *ShipInfoPtr, SIZE crew_delta, SIZE energy_delta)
return; return;
x = 0; x = 0;
y = GAUGE_YOFFS + ((ShipInfoPtr->ship_flags & GOOD_GUY) ? y = GAUGE_YOFFS + y_offs;
GOOD_GUY_YOFFS : BAD_GUY_YOFFS);
r.extent.width = UNIT_WIDTH; r.extent.width = UNIT_WIDTH;
r.extent.height = UNIT_HEIGHT; r.extent.height = UNIT_HEIGHT;
@@ -388,7 +387,7 @@ DeltaStatistics (SHIP_INFO *ShipInfoPtr, SIZE crew_delta, SIZE energy_delta)
{ {
// All crew doesn't fit in the graphics; print a number. // All crew doesn't fit in the graphics; print a number.
// Always print a number for the SIS in the full game. // Always print a number for the SIS in the full game.
DrawBattleCrewAmount (ShipInfoPtr); DrawBattleCrewAmount (ShipInfoPtr, y_offs);
} }
} }
+81 -77
View File
@@ -23,10 +23,25 @@
#include "ship.h" #include "ship.h"
#include "setup.h" #include "setup.h"
#include "options.h" #include "options.h"
#include "init.h"
// for NUM_PLAYERS
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
COORD status_y_offsets[NUM_PLAYERS];
void
InitStatusOffsets (void)
{
// XXX: We have to jump through these hoops because GOOD_GUY_YOFFS is
// not a constant, contrary to what its' name suggests.
status_y_offsets[0] = GOOD_GUY_YOFFS; // bottom player
status_y_offsets[1] = BAD_GUY_YOFFS; // top player
}
static void static void
CaptainsWindow (CAPTAIN_STUFF *CSPtr, COORD y, CaptainsWindow (CAPTAIN_STUFF *CSPtr, COORD y,
STATUS_FLAGS delta_status_flags, STATUS_FLAGS cur_status_flags, STATUS_FLAGS delta_status_flags, STATUS_FLAGS cur_status_flags,
@@ -115,7 +130,7 @@ CaptainsWindow (CAPTAIN_STUFF *CSPtr, COORD y,
} }
void void
DrawBattleCrewAmount (SHIP_INFO *ShipInfoPtr) DrawBattleCrewAmount (SHIP_INFO *ShipInfoPtr, COORD y_offs)
{ {
#define MAX_CREW_DIGITS 3 #define MAX_CREW_DIGITS 3
RECT r; RECT r;
@@ -125,9 +140,7 @@ DrawBattleCrewAmount (SHIP_INFO *ShipInfoPtr)
t.baseline.x = BATTLE_CREW_X + 2; t.baseline.x = BATTLE_CREW_X + 2;
if (optWhichMenu == OPT_PC) if (optWhichMenu == OPT_PC)
t.baseline.x -= 8; t.baseline.x -= 8;
t.baseline.y = BATTLE_CREW_Y + t.baseline.y = BATTLE_CREW_Y + y_offs;
((ShipInfoPtr->ship_flags & GOOD_GUY) ?
GOOD_GUY_YOFFS : BAD_GUY_YOFFS);
t.align = ALIGN_LEFT; t.align = ALIGN_LEFT;
t.pStr = buf; t.pStr = buf;
t.CharCount = (COUNT)~0; t.CharCount = (COUNT)~0;
@@ -150,7 +163,8 @@ DrawBattleCrewAmount (SHIP_INFO *ShipInfoPtr)
void void
DrawCaptainsWindow (STARSHIP *StarShipPtr) DrawCaptainsWindow (STARSHIP *StarShipPtr)
{ {
COORD y, y_offs; COORD y;
COORD y_offs;
RECT r; RECT r;
STAMP s; STAMP s;
FRAME Frame; FRAME Frame;
@@ -174,23 +188,20 @@ DrawCaptainsWindow (STARSHIP *StarShipPtr)
BatchGraphics (); BatchGraphics ();
y_offs = CAPTAIN_YOFFS y_offs = status_y_offsets[StarShipPtr->playerNr];
+ ((RDPtr->ship_info.ship_flags & GOOD_GUY) ?
GOOD_GUY_YOFFS : BAD_GUY_YOFFS);
r.corner.x = CAPTAIN_XOFFS - 2; r.corner.x = CAPTAIN_XOFFS - 2;
r.corner.y = y_offs - 4; r.corner.y = y_offs + SHIP_INFO_HEIGHT;
r.extent.width = STATUS_WIDTH - CAPTAIN_XOFFS; r.extent.width = STATUS_WIDTH - CAPTAIN_XOFFS;
r.extent.height = SHIP_STATUS_HEIGHT - CAPTAIN_YOFFS + 2; r.extent.height = SHIP_STATUS_HEIGHT - CAPTAIN_YOFFS + 2;
SetContextForeGroundColor ( SetContextForeGroundColor (
BUILD_COLOR (MAKE_RGB15 (0x0A, 0x0A, 0x0A), 0x08)); BUILD_COLOR (MAKE_RGB15 (0x0A, 0x0A, 0x0A), 0x08));
DrawFilledRectangle (&r); DrawFilledRectangle (&r);
y = y_offs - CAPTAIN_YOFFS;
SetContextForeGroundColor ( SetContextForeGroundColor (
BUILD_COLOR (MAKE_RGB15 (0x08, 0x08, 0x08), 0x1F)); BUILD_COLOR (MAKE_RGB15 (0x08, 0x08, 0x08), 0x1F));
r.corner.x = 1; r.corner.x = 1;
r.corner.y = SHIP_INFO_HEIGHT + y; r.corner.y = y_offs + SHIP_INFO_HEIGHT;
r.extent.width = 1; r.extent.width = 1;
r.extent.height = (SHIP_STATUS_HEIGHT - SHIP_INFO_HEIGHT - 2); r.extent.height = (SHIP_STATUS_HEIGHT - SHIP_INFO_HEIGHT - 2);
DrawFilledRectangle (&r); DrawFilledRectangle (&r);
@@ -201,7 +212,7 @@ DrawCaptainsWindow (STARSHIP *StarShipPtr)
SetContextForeGroundColor ( SetContextForeGroundColor (
BUILD_COLOR (MAKE_RGB15 (0x10, 0x10, 0x10), 0x19)); BUILD_COLOR (MAKE_RGB15 (0x10, 0x10, 0x10), 0x19));
r.corner.x = STATUS_WIDTH - 1; r.corner.x = STATUS_WIDTH - 1;
r.corner.y = SHIP_INFO_HEIGHT + y; r.corner.y = y_offs + SHIP_INFO_HEIGHT;
r.extent.width = 1; r.extent.width = 1;
r.extent.height = SHIP_STATUS_HEIGHT - SHIP_INFO_HEIGHT; r.extent.height = SHIP_STATUS_HEIGHT - SHIP_INFO_HEIGHT;
DrawFilledRectangle (&r); DrawFilledRectangle (&r);
@@ -209,7 +220,7 @@ DrawCaptainsWindow (STARSHIP *StarShipPtr)
DrawFilledRectangle (&r); DrawFilledRectangle (&r);
r.corner.x = 1; r.corner.x = 1;
r.extent.width = STATUS_WIDTH - 2; r.extent.width = STATUS_WIDTH - 2;
r.corner.y = (SHIP_STATUS_HEIGHT - 2) + y; r.corner.y = y_offs + (SHIP_STATUS_HEIGHT - 2);
r.extent.height = 1; r.extent.height = 1;
DrawFilledRectangle (&r); DrawFilledRectangle (&r);
r.corner.x = 0; r.corner.x = 0;
@@ -217,63 +228,59 @@ DrawCaptainsWindow (STARSHIP *StarShipPtr)
++r.corner.y; ++r.corner.y;
DrawFilledRectangle (&r); DrawFilledRectangle (&r);
{ y = y_offs + CAPTAIN_YOFFS;
SetContextForeGroundColor (
BUILD_COLOR (MAKE_RGB15 (0x08, 0x08, 0x08), 0x1F));
r.corner.x = 59;
r.corner.y = y;
r.extent.width = 1;
r.extent.height = 30;
DrawFilledRectangle (&r);
r.corner.x = 3;
r.corner.y += 30;
r.extent.width = 57;
r.extent.height = 1;
DrawFilledRectangle (&r);
SetContextForeGroundColor (
BUILD_COLOR (MAKE_RGB15 (0x10, 0x10, 0x10), 0x19));
r.corner.x = 3;
r.extent.width = 57;
r.corner.y = y - 1;
r.extent.height = 1;
DrawFilledRectangle (&r);
r.corner.x = 3;
r.extent.width = 1;
r.corner.y = y;
r.extent.height = 30;
DrawFilledRectangle (&r);
s.frame = RDPtr->ship_data.captain_control.background;
s.origin.x = CAPTAIN_XOFFS;
s.origin.y = y;
DrawStamp (&s);
if (StarShipPtr->captains_name_index == 0 && StarShipPtr->playerNr == 0)
{ // This is SIS
TEXT t;
t.baseline.x = STATUS_WIDTH >> 1;
t.baseline.y = y + 6;
t.align = ALIGN_CENTER;
t.pStr = GLOBAL_SIS (CommanderName);
t.CharCount = (COUNT)~0;
SetContextForeGroundColor ( SetContextForeGroundColor (
BUILD_COLOR (MAKE_RGB15 (0x08, 0x08, 0x08), 0x1F)); BUILD_COLOR (MAKE_RGB15 (0x00, 0x14, 0x00), 0x02));
r.corner.x = 59; SetContextFont (TinyFont);
r.corner.y = y_offs; font_DrawText (&t);
r.extent.width = 1;
r.extent.height = 30;
DrawFilledRectangle (&r);
r.corner.x = 3;
r.corner.y += 30;
r.extent.width = 57;
r.extent.height = 1;
DrawFilledRectangle (&r);
SetContextForeGroundColor (
BUILD_COLOR (MAKE_RGB15 (0x10, 0x10, 0x10), 0x19));
r.corner.x = 3;
r.extent.width = 57;
r.corner.y = y_offs - 1;
r.extent.height = 1;
DrawFilledRectangle (&r);
r.corner.x = 3;
r.extent.width = 1;
r.corner.y = y_offs;
r.extent.height = 30;
DrawFilledRectangle (&r);
s.frame = RDPtr->ship_data.captain_control.background;
s.origin.x = CAPTAIN_XOFFS;
s.origin.y = y_offs;
DrawStamp (&s);
}
if (StarShipPtr->captains_name_index == 0)
{
if (RDPtr->ship_info.ship_flags & GOOD_GUY)
{
// SIS
TEXT t;
t.baseline.x = STATUS_WIDTH >> 1;
t.baseline.y = y_offs + 6;
t.align = ALIGN_CENTER;
t.pStr = GLOBAL_SIS (CommanderName);
t.CharCount = (COUNT)~0;
SetContextForeGroundColor (
BUILD_COLOR (MAKE_RGB15 (0x00, 0x14, 0x00), 0x02));
SetContextFont (TinyFont);
font_DrawText (&t);
}
} }
if (RDPtr->ship_info.max_crew > MAX_CREW_SIZE || if (RDPtr->ship_info.max_crew > MAX_CREW_SIZE ||
RDPtr->ship_info.ship_flags & PLAYER_CAPTAIN) RDPtr->ship_info.ship_flags & PLAYER_CAPTAIN)
{ {
// All crew doesn't fit in the graphics; print a number. // All crew doesn't fit in the graphics; print a number.
// Always print a number for the SIS in the full game. // Always print a number for the SIS in the full game.
DrawBattleCrewAmount (&RDPtr->ship_info); DrawBattleCrewAmount (&RDPtr->ship_info, y_offs);
} }
UnbatchGraphics (); UnbatchGraphics ();
@@ -313,7 +320,8 @@ DeltaEnergy (ELEMENT *ElementPtr, SIZE energy_delta)
StarShipPtr->energy_counter = StarShipPtr->energy_counter =
StarShipPtr->RaceDescPtr->characteristics.energy_wait; StarShipPtr->RaceDescPtr->characteristics.energy_wait;
DeltaStatistics (ShipInfoPtr, 0, energy_delta); DeltaStatistics (ShipInfoPtr, status_y_offsets[StarShipPtr->playerNr],
0, energy_delta);
} }
return (retval); return (retval);
@@ -354,7 +362,8 @@ DeltaCrew (ELEMENT *ElementPtr, SIZE crew_delta)
} }
} }
DeltaStatistics (ShipInfoPtr, crew_delta, 0); DeltaStatistics (ShipInfoPtr, status_y_offsets[StarShipPtr->playerNr],
crew_delta, 0);
return (retval); return (retval);
} }
@@ -365,9 +374,8 @@ PreProcessStatus (ELEMENT *ShipPtr)
STARSHIP *StarShipPtr; STARSHIP *StarShipPtr;
GetElementStarShip (ShipPtr, &StarShipPtr); GetElementStarShip (ShipPtr, &StarShipPtr);
if (StarShipPtr->captains_name_index if (StarShipPtr->captains_name_index || StarShipPtr->playerNr == 0)
|| (StarShipPtr->RaceDescPtr->ship_info.ship_flags & GOOD_GUY)) { // All except Sa-Matra, no captain's window there
{
STATUS_FLAGS old_status_flags, cur_status_flags; STATUS_FLAGS old_status_flags, cur_status_flags;
CAPTAIN_STUFF *CSPtr; CAPTAIN_STUFF *CSPtr;
@@ -379,9 +387,7 @@ PreProcessStatus (ELEMENT *ShipPtr)
old_status_flags &= (LEFT | RIGHT | THRUST | WEAPON | SPECIAL); old_status_flags &= (LEFT | RIGHT | THRUST | WEAPON | SPECIAL);
if (old_status_flags) if (old_status_flags)
{ {
CaptainsWindow (CSPtr, CaptainsWindow (CSPtr, status_y_offsets[StarShipPtr->playerNr],
(StarShipPtr->RaceDescPtr->ship_info.ship_flags & GOOD_GUY) ?
GOOD_GUY_YOFFS : BAD_GUY_YOFFS,
old_status_flags, cur_status_flags, 1); old_status_flags, cur_status_flags, 1);
} }
} }
@@ -393,16 +399,14 @@ PostProcessStatus (ELEMENT *ShipPtr)
STARSHIP *StarShipPtr; STARSHIP *StarShipPtr;
GetElementStarShip (ShipPtr, &StarShipPtr); GetElementStarShip (ShipPtr, &StarShipPtr);
if (StarShipPtr->captains_name_index if (StarShipPtr->captains_name_index || StarShipPtr->playerNr == 0)
|| (StarShipPtr->RaceDescPtr->ship_info.ship_flags & GOOD_GUY)) { // All except Sa-Matra, no captain's window there
{
COORD y; COORD y;
STATUS_FLAGS cur_status_flags, old_status_flags; STATUS_FLAGS cur_status_flags, old_status_flags;
cur_status_flags = StarShipPtr->cur_status_flags; cur_status_flags = StarShipPtr->cur_status_flags;
y = (StarShipPtr->RaceDescPtr->ship_info.ship_flags & GOOD_GUY) ? y = status_y_offsets[StarShipPtr->playerNr];
GOOD_GUY_YOFFS : BAD_GUY_YOFFS;
if (ShipPtr->crew_level == 0) if (ShipPtr->crew_level == 0)
{ {
+9 -4
View File
@@ -43,14 +43,19 @@
#define BATTLE_CREW_X 10 #define BATTLE_CREW_X 10
#define BATTLE_CREW_Y (64 - SAFE_Y) #define BATTLE_CREW_Y (64 - SAFE_Y)
extern COORD status_y_offsets[];
extern void InitStatusOffsets (void);
extern void DrawCrewFuelString (COORD y, SIZE state); extern void DrawCrewFuelString (COORD y, SIZE state);
extern void ClearShipStatus (COORD y); extern void ClearShipStatus (COORD y);
extern void OutlineShipStatus (COORD y); extern void OutlineShipStatus (COORD y);
extern void InitShipStatus (SHIP_INFO *ShipInfoPtr, BYTE captains_name_index, extern void InitShipStatus (SHIP_INFO *ShipInfoPtr, STARSHIP *StarShipPtr,
RECT *pClipRect); RECT *pClipRect);
extern void DeltaStatistics (SHIP_INFO *ShipInfoPtr, SIZE crew_delta, // StarShipPtr or pClipRect can be NULL
SIZE energy_delta); extern void DeltaStatistics (SHIP_INFO *ShipInfoPtr, COORD y_offs,
extern void DrawBattleCrewAmount (SHIP_INFO *ShipInfoPtr); SIZE crew_delta, SIZE energy_delta);
extern void DrawBattleCrewAmount (SHIP_INFO *ShipInfoPtr, COORD y_offs);
extern void DrawCaptainsWindow (STARSHIP *StarShipPtr); extern void DrawCaptainsWindow (STARSHIP *StarShipPtr);
extern BOOLEAN DeltaEnergy (ELEMENT *ElementPtr, SIZE energy_delta); extern BOOLEAN DeltaEnergy (ELEMENT *ElementPtr, SIZE energy_delta);
+1 -1
View File
@@ -287,7 +287,7 @@ ModifySilhouette (ELEMENT *ElementPtr, STAMP *modify_stamp,
or.corner.x += ObjectIntersect.IntersectStamp.origin.x; or.corner.x += ObjectIntersect.IntersectStamp.origin.x;
or.corner.y += ObjectIntersect.IntersectStamp.origin.y; or.corner.y += ObjectIntersect.IntersectStamp.origin.y;
InitShipStatus (&StarShipPtr->RaceDescPtr->ship_info, InitShipStatus (&StarShipPtr->RaceDescPtr->ship_info,
StarShipPtr->captains_name_index, &or); StarShipPtr, &or);
} }
else else
{ {