Conquer Space 0.0.0
A space themed grand strategy game set in the near future, with realistic orbital mechanics, and an emphasis on economics and politics.
Namespaces | Classes | Typedefs | Enumerations | Functions
cqsp::core::components Namespace Reference

Namespaces

namespace  bodies
 
namespace  infrastructure
 
namespace  science
 
namespace  ships
 
namespace  types
 

Classes

struct  AuctionHouse
 
struct  CapitalCity
 
struct  CapitalGood
 
struct  City
 
struct  CityTimeZone
 
struct  ColonizationTarget
 
struct  Colony
 
struct  ColonyCoreModule
 
struct  CommandQueue
 
struct  Commercial
 Represents commercial areas and other amenities that generate economic activity. They don't export goods but they play an intergral role in tax revenue, and population consumption, and maybe tourism in the future. More...
 
struct  CommunicationsModule
 
struct  Construction
 
struct  ConstructionCost
 
struct  ConsumerGood
 See SysPopulationConsumption for an explanation of these values More...
 
struct  CostTable
 Records the prices of goods and other things More...
 
struct  Country
 
struct  CountryCityList
 
struct  Currency
 Will be handled in the future, but for now is just a market More...
 
struct  Description
 
struct  DiscoveryStatus
 
struct  DockedShips
 
struct  Employer
 
struct  Energy
 
struct  Factory
 
struct  FactoryProducing
 
struct  Farm
 
struct  FluidGood
 
struct  Good
 
struct  Governed
 The civilization or organization that owns or governs the city More...
 
struct  HabitationModule
 
struct  Hunger
 
struct  Identifier
 
struct  IndustrialZone
 
struct  IntermediateGood
 
struct  InternationalPort
 
struct  Labor
 
struct  LaborGood
 
struct  LaborInformation
 Population segment that is employed More...
 
struct  LaunchVehicle
 
class  LogMarket
 
struct  Maneuver
 
struct  Market
 
struct  MarketAgent
 An actor in a market that trades goods. More...
 
class  MarketHistory
 Records the history of market. More...
 
struct  MarketOrder
 
struct  Mine
 
struct  Mineral
 
struct  Mission
 
struct  MissionInProgress
 
struct  MissionQueue
 
struct  ModifiableValue
 
struct  Modifier
 
struct  Name
 
struct  OrbitEntityTarget
 
struct  OrbitScalar
 
struct  OrbitTarget
 
struct  Order
 
struct  Organization
 
struct  OrganizationIncome
 
struct  Owned
 
struct  PID
 
struct  PIDConfig
 
struct  PlanetaryMarket
 
struct  Player
 
class  PopulationHistory
 
struct  PopulationLabor
 
struct  PopulationSegment
 
struct  PowerPlants
 
struct  Price
 Price of a good. This is temporary, because this is to determine initial prices for goods. In the future, good prices will be determined by what the market is willing to bear, and we will not need this anymore. More...
 
struct  ProductionUnit
 
struct  Project
 
struct  ProjectTemplate
 
struct  Province
 
struct  ProvinceColor
 
struct  ProvincedPlanet
 
struct  RawGood
 
struct  RawResourceGen
 
struct  Recipe
 
struct  RecipeCost
 
struct  RecipeOutput
 
struct  RecipeWorkers
 
struct  ResourceAmenability
 
struct  ResourceConsumption
 
class  ResourceLedger
 
class  ResourceMap
 Try to avoid using this unless you really need it since this is extremely slow. More...
 
struct  ResourceProduction
 
struct  ResourceStockpile
 
class  ResourceVector
 This is a vector meant for fast iteration More...
 
struct  Service
 
struct  Settlement
 A settlement is a place where a population can live in, such as a city or a space station More...
 
struct  Settlements
 The list of cities and settlements that are on a city More...
 
class  SortedOrderList
 
struct  SpaceCapability
 
class  StarDate
 Holds and calculates the tick that is on going. Date is the number of hours that has been ongoing since the start of the day. Here is some rough thinking for what interval things should be done at. 1 tick: Combat ticks, planetary and ship movement? 25 ticks: (about a day) Economic activity, though I don't think it's such a good idea to put them in such a tight interval. 25 * 5 = 125 ticks: (about 5 days) 25 * 25 = 625 ticks: (about 26 days) Construction progress, pop growth, social changes, will also be the interval that would be used for the reference value 25 ^ 3 / 2 ~= 15625 ticks: (about 312 days) Momentous things and things that take a long time, such as planet's climates changing We will not do days and years, because these are specific to only earth, and we would like to portray the different cultural differences resulting from different orbital periods and rotational periods from planets, and it would be rather human-centric to assume other civilizations would use our calendar. As a result, I plan to introduce a system that allows the creation of different types of calendars. That would come later, though More...
 
struct  Subsidies
 
struct  Survey
 
struct  Tags
 
struct  TimeZone
 
struct  TradePartners
 
struct  Unit
 The unit name of the good. If it doesn't have it, then it's a quantity. More...
 
struct  Wallet
 
struct  WorldModel
 
struct  ZoningAllocation
 
struct  ZoningType
 

Typedefs

typedef SortedOrderList< std::greater< Order > > DescendingSortedOrderList
 Greatest to smallest More...
 
typedef SortedOrderList< std::less< Order > > AscendingSortedOrderList
 Smallest to greatest More...
 
typedef std::pair< glm::dvec3, double > Maneuver_t
 
typedef std::pair< Maneuver_t, Maneuver_t > HohmannPair_t
 
typedef ModifiableValue< ModifierOp::Additive > AdditiveModifier
 
typedef ModifiableValue< ModifierOp::Multiplicative > MultiplicativeModifier
 
typedef std::map< GoodEntity, double > LedgerMap
 

Enumerations

enum class  ProductionType { factory , mine , service }
 
enum struct  IndustryState {
  SteadyState , MaximumProduction , MinimumProduction , Construction ,
  Demolishing , Shrinking , Expanding , Shortage
}
 
enum class  ColonizationSteps {
  Surveying , Preparation , InitialBase , HumanSettlement ,
  PermanentSettlement
}
 
enum class  States {
  FLYBY , ORBIT , ATMOSPHERIC_FLIGHT , LANDED ,
  RETURN
}
 
enum class  ModifierTarget : uint16_t { X , CQSP_MODIFIER_TARGET_LIST }
 
enum class  ModifierOp { Additive , Multiplicative }
 
enum class  Command {
  CircularizeAtApoapsis , CircularizeAtPeriapsis , SetApoapsis , SetPeriapsis ,
  SetInclination , MatchPlanes , CoplanarIntercept , CoplanarInterceptAndTransfer ,
  Impulse , LandOnBody , InterceptAndCircularizeBody , ForceMatchPlanes ,
  ExitSOI , SelfDestruct
}
 
enum class  Trigger { OnEnterSOI , OnExitSOI , OnManeuver , OnCrash }
 
enum class  ProjectType { Design , Manufacturing , Integration }
 
enum class  GoodEntity : uint32_t { null = static_cast<uint32_t>(-1) }
 

Functions

std::string IndustryStateToString (IndustryState state)
 
bool operator< (const Order &lhs, const Order &rhs)
 
bool operator> (const Order &lhs, const Order &rhs)
 
std::string_view ModifierTargetToString (ModifierTarget t)
 
std::optional< ModifierTarget > ModifierTargetFromString (std::string_view s)
 
ResourceMap CopyVals (const ResourceMap &keys, const ResourceMap &values)
 Creates a new resource ledger using the keys from one resource ledger, and the values from annother More...
 
constexpr GoodEntity ToGoodEntity (uint32_t val)
 

Typedef Documentation

◆ AdditiveModifier

◆ AscendingSortedOrderList

Smallest to greatest

◆ DescendingSortedOrderList

Greatest to smallest

◆ HohmannPair_t

◆ LedgerMap

typedef std::map<GoodEntity, double> cqsp::core::components::LedgerMap

◆ Maneuver_t

typedef std::pair<glm::dvec3, double> cqsp::core::components::Maneuver_t

◆ MultiplicativeModifier

Enumeration Type Documentation

◆ ColonizationSteps

Enumerator
Surveying 
Preparation 
InitialBase 
HumanSettlement 
PermanentSettlement 

◆ Command

Enumerator
CircularizeAtApoapsis 
CircularizeAtPeriapsis 
SetApoapsis 
SetPeriapsis 
SetInclination 
MatchPlanes 
CoplanarIntercept 
CoplanarInterceptAndTransfer 
Impulse 
LandOnBody 
InterceptAndCircularizeBody 
ForceMatchPlanes 
ExitSOI 
SelfDestruct 

◆ GoodEntity

enum class cqsp::core::components::GoodEntity : uint32_t
strong

Class for goods to be accessed through an array

Enumerator
null 

◆ IndustryState

Enumerator
SteadyState 
MaximumProduction 
MinimumProduction 
Construction 
Demolishing 
Shrinking 
Expanding 
Shortage 

◆ ModifierOp

Enumerator
Additive 
Multiplicative 

◆ ModifierTarget

enum class cqsp::core::components::ModifierTarget : uint16_t
strong
Enumerator
X 
CQSP_MODIFIER_TARGET_LIST 

◆ ProductionType

Enumerator
factory 
mine 
service 

◆ ProjectType

Enumerator
Design 
Manufacturing 
Integration 

◆ States

enum class cqsp::core::components::States
strong
Enumerator
FLYBY 
ORBIT 
ATMOSPHERIC_FLIGHT 
LANDED 
RETURN 

◆ Trigger

Enumerator
OnEnterSOI 
OnExitSOI 
OnManeuver 
OnCrash 

Function Documentation

◆ CopyVals()

ResourceMap cqsp::core::components::CopyVals ( const ResourceMap &  keys,
const ResourceMap &  values 
)

Creates a new resource ledger using the keys from one resource ledger, and the values from annother

◆ IndustryStateToString()

std::string cqsp::core::components::IndustryStateToString ( IndustryState  state)
inline

◆ ModifierTargetFromString()

std::optional< ModifierTarget > cqsp::core::components::ModifierTargetFromString ( std::string_view  s)

◆ ModifierTargetToString()

std::string_view cqsp::core::components::ModifierTargetToString ( ModifierTarget  t)

◆ operator<()

bool cqsp::core::components::operator< ( const Order &  lhs,
const Order &  rhs 
)
inline

◆ operator>()

bool cqsp::core::components::operator> ( const Order &  lhs,
const Order &  rhs 
)
inline

◆ ToGoodEntity()

constexpr GoodEntity cqsp::core::components::ToGoodEntity ( uint32_t  val)
constexpr