Skip to content

Commit

Permalink
Create .clang-format (#223)
Browse files Browse the repository at this point in the history
* ReSharper tweaks

* Create .clang-format

* Update .clang-format

* format CK3Character.h

* Update CK3Character.cpp
  • Loading branch information
IhateTrains authored May 7, 2021
1 parent fb6aaa6 commit 9e0b96b
Show file tree
Hide file tree
Showing 4 changed files with 64 additions and 57 deletions.
12 changes: 12 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
BasedOnStyle: Chromium
Language: Cpp

AccessModifierOffset: -2
MaxEmptyLinesToKeep: 3
IndentWidth: 4
TabWidth: 4
ColumnLimit: 160
SortIncludes: true
SortUsingDeclarations: true
SpaceBeforeInheritanceColon: false
UseTab: Always
6 changes: 3 additions & 3 deletions ImperatorToCK3/Source/CK3/CK3World.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -364,15 +364,15 @@ void CK3::World::removeInvalidLandlessTitles() {

void CK3::World::purgeLandlessVanillaCharacters() {
set<string> farewellIDs;
std::transform(cbegin(characters), cend(characters), std::inserter(farewellIDs, farewellIDs.begin()),
[](decltype(characters)::value_type const& pair) { return pair.first; });
std::ranges::transform(std::as_const(characters), std::inserter(farewellIDs, farewellIDs.begin()),
[](decltype(characters)::value_type const& pair) { return pair.first; });
for (const auto& id : farewellIDs) {
if (id.starts_with("imperator")) {
farewellIDs.erase(id);
}
}

for (const auto& [titleID, titlePtr] : getTitles()) {
for (const auto& titlePtr : getTitles() | std::views::values) {
farewellIDs.erase(titlePtr->getHolder()->ID);
}
for (const auto& characterId : farewellIDs) {
Expand Down
62 changes: 29 additions & 33 deletions ImperatorToCK3/Source/CK3/Character/CK3Character.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#include "CK3Character.h"
#include <ranges>
#include "Imperator/Characters/Character.h"
#include "Mappers/CultureMapper/CultureMapper.h"
#include "Mappers/DeathReasonMapper/DeathReasonMapper.h"
Expand All @@ -9,26 +10,24 @@



void CK3::Character::initializeFromImperator(
std::shared_ptr<Imperator::Character> impCharacter,
const mappers::ReligionMapper& religionMapper,
const mappers::CultureMapper& cultureMapper,
const mappers::TraitMapper& traitMapper,
const mappers::NicknameMapper& nicknameMapper,
const mappers::LocalizationMapper& localizationMapper,
const mappers::ProvinceMapper& provinceMapper, // used to determine ck3 province for religion mapper
const mappers::DeathReasonMapper& deathReasonMapper,
const bool ConvertBirthAndDeathDates = true,
const date DateOnConversion = date(867, 1, 1))
{
void CK3::Character::initializeFromImperator(std::shared_ptr<Imperator::Character> impCharacter,
const mappers::ReligionMapper& religionMapper,
const mappers::CultureMapper& cultureMapper,
const mappers::TraitMapper& traitMapper,
const mappers::NicknameMapper& nicknameMapper,
const mappers::LocalizationMapper& localizationMapper,
const mappers::ProvinceMapper& provinceMapper, // used to determine ck3 province for religion mapper
const mappers::DeathReasonMapper& deathReasonMapper,
const bool ConvertBirthAndDeathDates = true,
const date DateOnConversion = date(867, 1, 1)) {
imperatorCharacter = std::move(impCharacter);
ID = "imperator" + std::to_string(imperatorCharacter->getID());
name = imperatorCharacter->getName();
female = imperatorCharacter->isFemale();
age = imperatorCharacter->getAge();

unsigned long long ck3Province; // for religion mapper

unsigned long long ck3Province; // for religion mapper
// Determine valid (not dropped in province mappings) "source province" to be used by religion mapper. Don't give up without a fight.
auto impProvForProvinceMapper = imperatorCharacter->getProvince();
if (provinceMapper.getCK3ProvinceNumbers(impProvForProvinceMapper).empty() && imperatorCharacter->getFather().second)
Expand All @@ -42,12 +41,12 @@ void CK3::Character::initializeFromImperator(
ck3Province = 0;
else
ck3Province = provinceMapper.getCK3ProvinceNumbers(impProvForProvinceMapper)[0];

auto match = religionMapper.match(imperatorCharacter->getReligion(), ck3Province, imperatorCharacter->getProvince());
if (match)
religion = *match;


match = cultureMapper.match(imperatorCharacter->getCulture(), religion, ck3Province, imperatorCharacter->getProvince(), "");
if (match)
culture = *match;
Expand All @@ -56,9 +55,8 @@ void CK3::Character::initializeFromImperator(
auto impNameLoc = localizationMapper.getLocBlockForKey(name);
if (impNameLoc) {
localizations.emplace(name, *impNameLoc);
}
else {// fallback: use unlocalized name as displayed name
localizations.emplace(name, mappers::LocBlock{ name,name,name,name,name, name });
} else { // fallback: use unlocalized name as displayed name
localizations.emplace(name, mappers::LocBlock{name, name, name, name, name, name});
}
}

Expand All @@ -73,13 +71,13 @@ void CK3::Character::initializeFromImperator(
if (nicknameMatch)
nickname = *nicknameMatch;
}

birthDate = imperatorCharacter->getBirthDate();
deathDate = imperatorCharacter->getDeathDate();
const auto& impDeathReason = imperatorCharacter->getDeathReason();
if (impDeathReason)
if (const auto& impDeathReason = imperatorCharacter->getDeathReason(); impDeathReason) {
deathReason = deathReasonMapper.getCK3ReasonForImperatorReason(*impDeathReason);
if (!ConvertBirthAndDeathDates) { //if option to convert character age is chosen
}
if (!ConvertBirthAndDeathDates) { // if option to convert character age is chosen
birthDate.addYears(static_cast<int>(date(867, 1, 1).diffInYears(DateOnConversion)));
if (deathDate) {
deathDate->addYears(static_cast<int>(date(867, 1, 1).diffInYears(DateOnConversion)));
Expand All @@ -97,22 +95,21 @@ void CK3::Character::breakAllLinks() {
father.second->removeChild(ID);
}
removeFather();
for (const auto& spouse : spouses) {
spouse.second->removeSpouse(ID);
for (const auto& spousePtr : spouses | std::views::values) {
spousePtr->removeSpouse(ID);
}
spouses.clear();
if (female) {
for (const auto& child : children) {
removeMother();
for (const auto& childPtr : children | std::views::values) {
childPtr->removeMother();
}
}
else {
for (const auto& child : children) {
removeFather();
} else {
for (const auto& childPtr : children | std::views::values) {
childPtr->removeFather();
}
}
children.clear();

imperatorCharacter->registerCK3Character(nullptr);
imperatorCharacter = nullptr;
}
Expand All @@ -138,4 +135,3 @@ void CK3::Character::removeMother() {
void CK3::Character::removeChild(const std::string& childID) {
children.erase(childID);
}

41 changes: 20 additions & 21 deletions ImperatorToCK3/Source/CK3/Character/CK3Character.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@



#include "Mappers/LocalizationMapper/LocalizationMapper.h"
#include "Date.h"
#include <memory>
#include <set>
#include <string>
#include "Date.h"
#include "Mappers/LocalizationMapper/LocalizationMapper.h"



Expand All @@ -18,7 +18,7 @@ class NicknameMapper;
class ProvinceMapper;
class ReligionMapper;
class TraitMapper;
} // namespace mappers
} // namespace mappers

namespace Imperator {
class Character;
Expand All @@ -30,23 +30,22 @@ class Dynasty;
class Character {
public:
Character() = default;
void initializeFromImperator(
std::shared_ptr<Imperator::Character> impCharacter,
const mappers::ReligionMapper& religionMapper,
const mappers::CultureMapper& cultureMapper,
const mappers::TraitMapper& traitMapper,
const mappers::NicknameMapper& nicknameMapper,
const mappers::LocalizationMapper& localizationMapper,
const mappers::ProvinceMapper& provinceMapper,
const mappers::DeathReasonMapper& deathReasonMapper,
bool ConvertBirthAndDeathDates,
date DateOnConversion);
void initializeFromImperator(std::shared_ptr<Imperator::Character> impCharacter,
const mappers::ReligionMapper& religionMapper,
const mappers::CultureMapper& cultureMapper,
const mappers::TraitMapper& traitMapper,
const mappers::NicknameMapper& nicknameMapper,
const mappers::LocalizationMapper& localizationMapper,
const mappers::ProvinceMapper& provinceMapper,
const mappers::DeathReasonMapper& deathReasonMapper,
bool ConvertBirthAndDeathDates,
date DateOnConversion);

void breakAllLinks();

void addSpouse(const std::shared_ptr<Character>& newSpouse) { spouses.emplace(newSpouse->ID, newSpouse); }
void setFather(const std::shared_ptr<Character>& theFather) { father = { theFather->ID, theFather }; }
void setMother(const std::shared_ptr<Character>& theMother) { mother = { theMother->ID, theMother }; }
void setFather(const std::shared_ptr<Character>& theFather) { father = {theFather->ID, theFather}; }
void setMother(const std::shared_ptr<Character>& theMother) { mother = {theMother->ID, theMother}; }
void addChild(const std::shared_ptr<Character>& theChild) { children.emplace(theChild->ID, theChild); }
void removeSpouse(const std::string& spouseID);
void removeFather();
Expand All @@ -62,15 +61,15 @@ class Character {
std::string religion;
std::string name;
std::string nickname;
unsigned int age = 0; // used when option to convert character age is chosen
unsigned int age = 0; // used when option to convert character age is chosen

date birthDate = date("1.1.1");
std::optional<date> deathDate;
std::optional<std::string> deathReason;

std::set<std::string> traits;
std::map<std::string, mappers::LocBlock> localizations;

std::shared_ptr<Imperator::Character> imperatorCharacter;

private:
Expand All @@ -79,11 +78,11 @@ class Character {
std::map<std::string, std::shared_ptr<Character>> children;
std::map<std::string, std::shared_ptr<Character>> spouses;

std::optional<std::string> dynastyID; // not always set
std::optional<std::string> dynastyID; // not always set
};

} // namespace CK3
} // namespace CK3



#endif // CK3_CHARACTER_H
#endif // CK3_CHARACTER_H

0 comments on commit 9e0b96b

Please sign in to comment.