diff options
Diffstat (limited to 'StarsEx/Ship.cpp')
-rw-r--r-- | StarsEx/Ship.cpp | 155 |
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) |