summaryrefslogtreecommitdiffhomepage
path: root/StarsEx/Ship.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'StarsEx/Ship.cpp')
-rw-r--r--StarsEx/Ship.cpp155
1 files changed, 79 insertions, 76 deletions
diff --git a/StarsEx/Ship.cpp b/StarsEx/Ship.cpp
index 532d5f8..b511b8b 100644
--- a/StarsEx/Ship.cpp
+++ b/StarsEx/Ship.cpp
@@ -12,77 +12,80 @@
*/
#include "Ship.h"
-#include "ShipAI.h"
-#include "ShipCtrl.h"
-#include "ShipDesign.h"
-#include "ShipKiller.h"
-#include "Shot.h"
-#include "Drone.h"
-#include "SeekerAI.h"
-#include "HardPoint.h"
-#include "Weapon.h"
-#include "WeaponGroup.h"
-#include "Shield.h"
-#include "ShieldRep.h"
+
+#include <cstdint>
+
+#include <List.h>
+
+#include "AudioConfig.h"
+#include "Bitmap.h"
+#include "Bolt.h"
+#include "Button.h"
+#include "CameraDirector.h"
+#include "Clock.h"
+#include "CombatUnit.h"
+#include "Component.h"
#include "Computer.h"
-#include "FlightComp.h"
+#include "Contact.h"
+#include "ContentBundle.h"
#include "Drive.h"
-#include "QuantumDrive.h"
+#include "Drone.h"
+#include "DropShipAI.h"
+#include "Element.h"
+#include "Explosion.h"
#include "Farcaster.h"
-#include "Thruster.h"
-#include "Power.h"
+#include "FlightComp.h"
#include "FlightDeck.h"
-#include "LandingGear.h"
+#include "Game.h"
#include "Hangar.h"
-#include "Sensor.h"
-#include "Contact.h"
-#include "CombatUnit.h"
-#include "Element.h"
+#include "HardPoint.h"
+#include "HUDView.h"
#include "Instruction.h"
-#include "RadioMessage.h"
-#include "RadioHandler.h"
-#include "RadioTraffic.h"
+#include "Joystick.h"
+#include "Keyboard.h"
+#include "KeyMap.h"
+#include "LandingGear.h"
+#include "Light.h"
+#include "MissionEvent.h"
+#include "MotionController.h"
+#include "NavAI.h"
#include "NavLight.h"
#include "NavSystem.h"
-#include "NavAI.h"
-#include "DropShipAI.h"
-#include "Explosion.h"
-#include "MissionEvent.h"
-#include "ShipSolid.h"
-#include "Sim.h"
-#include "SimEvent.h"
-#include "StarSystem.h"
-#include "TerrainRegion.h"
-#include "Terrain.h"
-#include "System.h"
-#include "Component.h"
-#include "KeyMap.h"
-#include "RadioView.h"
-#include "AudioConfig.h"
-#include "CameraDirector.h"
-#include "HUDView.h"
-#include "Random.h"
-#include "RadioVox.h"
-
#include "NetGame.h"
#include "NetUtil.h"
-
-#include "MotionController.h"
-#include "Keyboard.h"
-#include "Joystick.h"
-#include "Bolt.h"
-#include "Game.h"
-#include "Clock.h"
-#include "ContentBundle.h"
-#include "Solid.h"
+#include "Panic.h"
+#include "Power.h"
+#include "QuantumDrive.h"
+#include "RadioHandler.h"
+#include "RadioMessage.h"
+#include "RadioTraffic.h"
+#include "RadioView.h"
+#include "RadioVox.h"
+#include "Random.h"
+#include "SeekerAI.h"
+#include "Sensor.h"
#include "Shadow.h"
+#include "Shield.h"
+#include "ShieldRep.h"
+#include "ShipAI.h"
+#include "ShipCtrl.h"
+#include "ShipDesign.h"
+#include "ShipKiller.h"
+#include "ShipSolid.h"
+#include "Shot.h"
+#include "SimEvent.h"
+#include "Sim.h"
#include "Skin.h"
-#include "Sprite.h"
-#include "Light.h"
-#include "Bitmap.h"
-#include "Button.h"
+#include "Solid.h"
#include "Sound.h"
-#include "Panic.h"
+#include "Sprite.h"
+#include "StarSystem.h"
+#include "System.h"
+#include "Terrain.h"
+#include "TerrainRegion.h"
+#include "Thruster.h"
+#include "WeaponGroup.h"
+#include "Weapon.h"
// +----------------------------------------------------------------------+
@@ -396,7 +399,7 @@ Ship::Ship(const char* ship_name, const char* reg_num, ShipDesign* ship_dsn, int
NavLight* navlight = new NavLight(*design->navlights[i]);
navlight->SetShip(this);
navlight->SetID(sys_id++);
- navlight->SetOffset(((DWORD) this) << 2);
+ navlight->SetOffset(((std::uint32_t) this) << 2);
navlights.append(navlight);
systems.append(navlight);
}
@@ -1048,7 +1051,7 @@ Ship::UpdateTrack()
const int DEFAULT_TRACK_UPDATE = 500; // milliseconds
const int DEFAULT_TRACK_LENGTH = 20; // 10 seconds
- DWORD time = Clock::GetInstance()->GameTime();
+ auto time = Clock::GetInstance()->GameTime();
if (!track) {
track = new Point[DEFAULT_TRACK_LENGTH];
@@ -1473,7 +1476,7 @@ Ship::CollidesWith(Physical& o)
// +--------------------------------------------------------------------+
-static DWORD ff_warn_time = 0;
+static std::uint32_t ff_warn_time = 0;
int
Ship::HitBy(Shot* shot, Point& impact)
@@ -1522,7 +1525,7 @@ Ship::HitBy(Shot* shot, Point& impact)
if (hit_type) {
if (shot->Damage() > 0) {
- DWORD flash = Explosion::HULL_FLASH;
+ std::uint32_t flash = Explosion::HULL_FLASH;
if ((hit_type & HIT_SHIELD) != 0)
flash = Explosion::SHIELD_FLASH;
@@ -1838,7 +1841,7 @@ Ship::InflictNetDamage(double damage, Shot* shot)
}
void
-Ship::InflictNetSystemDamage(System* system, double damage, BYTE dmg_type)
+Ship::InflictNetSystemDamage(System* system, double damage, std::uint8_t dmg_type)
{
if (system && damage > 0 && !IsNetObserver()) {
bool dmg_normal = dmg_type == WeaponDesign::DMG_NORMAL;
@@ -2007,7 +2010,7 @@ Ship::CheckFriendlyFire()
}
}
- friendly_fire_time = Clock::GetInstance()->GameTime() + (DWORD) Random(0, 500);
+ friendly_fire_time = Clock::GetInstance()->GameTime() + static_cast<std::uint32_t>(Random(0, 500));
}
// +----------------------------------------------------------------------+
@@ -2603,8 +2606,8 @@ Ship::ExecEvalFrame(double seconds)
// is it already too late?
if (life == 0 || integrity < 1) return;
- const DWORD EVAL_FREQUENCY = 1000; // once every second
- static DWORD last_eval_frame = 0; // one ship per game frame
+ const std::uint32_t EVAL_FREQUENCY = 1000; // once every second
+ static std::uint32_t last_eval_frame = 0; // one ship per game frame
if (element && element->NumObjectives() > 0 &&
Clock::GetInstance()->GameTime() - last_eval_time > EVAL_FREQUENCY &&
@@ -3936,7 +3939,7 @@ Ship::SetMissileEta(int id, int eta)
if (eta > 3599)
eta = 3599;
- missile_eta[index] = (BYTE) eta;
+ missile_eta[index] = static_cast<std::uint8_t>(eta);
}
}
@@ -4015,9 +4018,9 @@ Ship::CycleFLCSMode()
default:
if (IsStarship())
- flcs_mode = (BYTE) FLCS_HELM;
+ flcs_mode = static_cast<std::uint8_t>(FLCS_HELM);
else
- flcs_mode = (BYTE) FLCS_AUTO;
+ flcs_mode = static_cast<std::uint8_t>(FLCS_AUTO);
break;
}
@@ -4030,7 +4033,7 @@ Ship::CycleFLCSMode()
SetHelmPitch(CompassPitch());
}
else {
- flcs_mode = (BYTE) FLCS_AUTO;
+ flcs_mode = static_cast<std::uint8_t>(FLCS_AUTO);
}
}
}
@@ -4038,10 +4041,10 @@ Ship::CycleFLCSMode()
void
Ship::SetFLCSMode(int mode)
{
- flcs_mode = (BYTE) mode;
+ flcs_mode = static_cast<std::uint8_t>(mode);
if (IsAirborne())
- flcs_mode = (BYTE) FLCS_MANUAL;
+ flcs_mode = static_cast<std::uint8_t>(FLCS_MANUAL);
if (dir && dir->Type() < SteerAI::SEEKER) {
switch (flcs_mode) {
@@ -4804,8 +4807,8 @@ Ship::ExecMaintFrame(double seconds)
// is it already too late?
if (life == 0 || integrity < 1) return;
- const DWORD REPAIR_FREQUENCY = 5000; // once every five seconds
- static DWORD last_repair_frame = 0; // one ship per game frame
+ const std::uint32_t REPAIR_FREQUENCY = 5000; // once every five seconds
+ static std::uint32_t last_repair_frame = 0; // one ship per game frame
if (auto_repair &&
Clock::GetInstance()->GameTime() - last_repair_time > REPAIR_FREQUENCY &&
@@ -5149,7 +5152,7 @@ Ship::SetEMCON(int e, bool from_net)
{
if (e < 1) emcon = 1;
else if (e > 3) emcon = 3;
- else emcon = (BYTE) e;
+ else emcon = static_cast<std::uint8_t>(e);
if (emcon != old_emcon && !from_net && NetGame::GetInstance())
NetUtil::SendObjEmcon(this);
@@ -5189,7 +5192,7 @@ Ship::ACS() const
return acs;
}
-DWORD
+std::uint32_t
Ship::MissionClock() const
{
if (launch_time > 0)