Skip to content

Commit

Permalink
Enable sorting campaign list in chronological or lexicographical order
Browse files Browse the repository at this point in the history
  • Loading branch information
CelticMinstrel committed Aug 12, 2017
1 parent 5c701f2 commit 6d1e136
Show file tree
Hide file tree
Showing 29 changed files with 496 additions and 18 deletions.
2 changes: 2 additions & 0 deletions data/campaigns/An_Orcish_Incursion/_main.cfg
Expand Up @@ -11,6 +11,8 @@
name= _ "An Orcish Incursion"
abbrev= _ "AOI"
rank=10
start_year="8 YW"
end_year="9 YW"
first_scenario=01_Defend_the_Forest
define="CAMPAIGN_AN_ORCISH_INCURSION"
description=_ "Defend the forests of the elves against the first orcs to reach the Great Continent, learning valuable tactics as you do so.
Expand Down
2 changes: 2 additions & 0 deletions data/campaigns/Dead_Water/_main.cfg
Expand Up @@ -7,6 +7,8 @@
[campaign]
id=Dead_Water
rank=170
start_year="626 YW"
end_year="627 YW"
icon="units/undead/soulless-swimmer.png~RC(magenta>blue)"
name= _ "Dead Water"
abbrev= _ "DW"
Expand Down
2 changes: 2 additions & 0 deletions data/campaigns/Delfadors_Memoirs/_main.cfg
Expand Up @@ -22,6 +22,8 @@
name= _ "Delfador’s Memoirs"
abbrev=_ "DM"
rank=160
start_year="468 YW"
end_year="470 YW"
icon="units/human-magi/elder-mage.png~RC(magenta>red)"
image="data/campaigns/Delfadors_Memoirs/images/campaign_image.png"
first_scenario=01_Overture
Expand Down
2 changes: 2 additions & 0 deletions data/campaigns/Descent_Into_Darkness/_main.cfg
Expand Up @@ -7,6 +7,8 @@
[campaign]
id=Descent_into_Darkness
rank=150
start_year="389 YW"
end_year="390 YW"
icon="data/campaigns/Descent_Into_Darkness/images/units/dark-mage.png~RC(magenta>red)"
image="data/campaigns/Descent_Into_Darkness/images/campaign_image.png"
name= _ "Descent into Darkness"
Expand Down
2 changes: 2 additions & 0 deletions data/campaigns/Eastern_Invasion/_main.cfg
Expand Up @@ -7,6 +7,8 @@
[campaign]
id=Eastern_Invasion
rank=130
start_year="625 YW"
end_year="627 YW"
icon="units/human-loyalists/general.png~RC(magenta>red)"
name= _ "Eastern Invasion"
abbrev= _ "EI"
Expand Down
2 changes: 2 additions & 0 deletions data/campaigns/Heir_To_The_Throne/_main.cfg
Expand Up @@ -11,6 +11,8 @@
image="data/campaigns/Heir_To_The_Throne/images/campaign_image.png"
abbrev= _ "HttT"
rank=20
start_year="517 YW"
end_year="518 YW"
define=CAMPAIGN_HEIR_TO_THE_THRONE
first_scenario=01_The_Elves_Besieged

Expand Down
2 changes: 2 additions & 0 deletions data/campaigns/Legend_of_Wesmere/_main.cfg
Expand Up @@ -32,6 +32,8 @@
id=LOW
define=CAMPAIGN_LOW
rank=125
start_year="20 YW"
end_year="93 YW"

type=hybrid

Expand Down
1 change: 1 addition & 0 deletions data/campaigns/Liberty/_main.cfg
Expand Up @@ -10,6 +10,7 @@
name= _ "Liberty"
abbrev= _ "Liberty"
rank=110
year="501 YW"
first_scenario=01_The_Raid
define=CAMPAIGN_LIBERTY
icon="units/human-outlaws/fugitive.png~RC(magenta>red)"
Expand Down
2 changes: 2 additions & 0 deletions data/campaigns/Northern_Rebirth/_main.cfg
Expand Up @@ -9,6 +9,8 @@
name= _ "Northern Rebirth"
abbrev= _ "NR"
rank=240
start_year="534 YW"
end_year="535 YW"
first_scenario=01_Breaking_the_Chains
define=CAMPAIGN_NORTHERN_REBIRTH

Expand Down
2 changes: 2 additions & 0 deletions data/campaigns/Sceptre_of_Fire/_main.cfg
Expand Up @@ -11,6 +11,8 @@
name= _ "The Sceptre of Fire"
abbrev= _ "SoF"
rank=215
start_year="25 YW"
end_year="40 YW"
define="CAMPAIGN_SCEPTRE_FIRE"
extra_defines=ENABLE_DWARVISH_RUNESMITH
first_scenario="1_A_Bargain_is_Struck"
Expand Down
2 changes: 2 additions & 0 deletions data/campaigns/Secrets_of_the_Ancients/_main.cfg
Expand Up @@ -10,6 +10,8 @@
name= _ "Secrets of the Ancients"
abbrev= _ "SotA"
rank=180
start_year="22 YW"
end_year="23 YW"
first_scenario=01_Slipping_Away
extra_defines=ENABLE_ANCIENT_LICH,ENABLE_DEATH_KNIGHT
{CAMPAIGN_DIFFICULTY EASY "units/undead-skeletal/skeleton/skeleton-idle-2.png~RC(magenta>red)"( _ "Unpleasant") ( _ "Normal")}
Expand Down
2 changes: 2 additions & 0 deletions data/campaigns/Son_Of_The_Black_Eye/_main.cfg
Expand Up @@ -9,6 +9,8 @@
name= _ "Son of the Black-Eye"
abbrev= _ "SotBE"
rank=220
start_year="842 YW"
end_year="858 YW"
first_scenario=01_End_of_Peace
define=CAMPAIGN_SON_OF_THE_BLACK_EYE

Expand Down
2 changes: 2 additions & 0 deletions data/campaigns/The_Hammer_of_Thursagan/_main.cfg
Expand Up @@ -11,6 +11,8 @@
image="data/campaigns/The_Hammer_of_Thursagan/images/campaign_image.png"
abbrev= _ "THoT"
rank=140
start_year="550 YW"
end_year="551 YW"
define=CAMPAIGN_THE_HAMMER_OF_THURSAGAN
first_scenario=01_At_the_East_Gate

Expand Down
2 changes: 2 additions & 0 deletions data/campaigns/The_Rise_Of_Wesnoth/_main.cfg
Expand Up @@ -7,6 +7,8 @@
[campaign]
id=The_Rise_of_Wesnoth
rank=230
start_year="2 BW"
end_year="1 YW"
name= _ "The Rise of Wesnoth"
icon="data/campaigns/The_Rise_Of_Wesnoth/images/units/noble-lord.png"
image="data/campaigns/The_Rise_Of_Wesnoth/images/campaign_image.png"
Expand Down
2 changes: 2 additions & 0 deletions data/campaigns/The_South_Guard/_main.cfg
Expand Up @@ -11,6 +11,8 @@

define=CAMPAIGN_THE_SOUTH_GUARD
rank=15
start_year="607 YW"
end_year="608 YW"

icon="data/campaigns/The_South_Guard/images/deoran/horseman-commander-defend.png"
image="data/campaigns/The_South_Guard/images/campaign_image.png"
Expand Down
1 change: 1 addition & 0 deletions data/campaigns/Two_Brothers/_main.cfg
Expand Up @@ -7,6 +7,7 @@
[campaign]
id=Two_Brothers
rank=5
year="363 YW"
icon="units/human-loyalists/knight/knight.png~RC(magenta>red)~CROP(13,11,72,72)"
image="data/campaigns/Two_Brothers/images/campaign_image.png"
name= _ "A Tale of Two Brothers"
Expand Down
1 change: 1 addition & 0 deletions data/campaigns/Under_the_Burning_Suns/_main.cfg
Expand Up @@ -13,6 +13,7 @@
image="data/campaigns/Under_the_Burning_Suns/images/campaign_image.png"
abbrev= _ "UtBS"
rank=250
year="300 AF"
define=CAMPAIGN_UNDER_THE_BURNING_SUNS
first_scenario=01_The_Morning_After

Expand Down
55 changes: 55 additions & 0 deletions data/gui/window/campaign_dialog.cfg
Expand Up @@ -195,6 +195,61 @@

[grid]

[row]
grow_factor = 1

[column]
grow_factor = 0

border = "all"
border_size = 5
horizontal_grow = true

[grid]
[row]
[column]
grow_factor = 0
border = "all"
border_size = 5
horizontal_grow = true

[label]
label = _"Sort by:"
[/label]
[/column]
[column]
grow_factor = 1
border = "all"
border_size = 5
horizontal_grow = true

[toggle_button]
definition = "listbox_header"
id = "sort_name"
label = _"Name"
tooltip = _"Sort by full campaign name in alphabetical order"
[/toggle_button]
[/column]
[column]
grow_factor = 1
border = "all"
border_size = 5
horizontal_grow = true

[toggle_button]
definition = "listbox_header"
id = "sort_time"
label = _"Dates"
tooltip = _"Sort in approximate chronological order of story events"
[/toggle_button]
[/column]
[/row]
[/grid]

[/column]

[/row]

[row]
grow_factor = 1

Expand Down
15 changes: 15 additions & 0 deletions projectfiles/VC12/wesnoth.vcxproj
Expand Up @@ -3006,6 +3006,14 @@
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Test_Debug|Win32'">$(IntDir)Tests\</ObjectFileName>
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Test_Release|Win32'">$(IntDir)Tests\</ObjectFileName>
</ClCompile>
<ClCompile Include="..\..\src\tests\test_irdya_date.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseDEBUG|Win32'">true</ExcludedFromBuild>
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)Tests\</ObjectFileName>
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='ReleaseDEBUG|Win32'">$(IntDir)Tests\</ObjectFileName>
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Test_Debug|Win32'">$(IntDir)Tests\</ObjectFileName>
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Test_Release|Win32'">$(IntDir)Tests\</ObjectFileName>
</ClCompile>
<ClCompile Include="..\..\src\tests\test_lexical_cast.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)Tests\</ObjectFileName>
Expand Down Expand Up @@ -3284,6 +3292,12 @@
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Test_Debug|Win32'">$(IntDir)utils\</ObjectFileName>
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Test_Release|Win32'">$(IntDir)utils\</ObjectFileName>
</ClCompile>
<ClCompile Include="..\..\src\utils\irdya_datetime.cpp">
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)utils\</ObjectFileName>
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='ReleaseDEBUG|Win32'">$(IntDir)utils\</ObjectFileName>
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Test_Debug|Win32'">$(IntDir)utils\</ObjectFileName>
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Test_Release|Win32'">$(IntDir)utils\</ObjectFileName>
</ClCompile>
<ClCompile Include="..\..\src\utils\make_enum.cpp">
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)utils\</ObjectFileName>
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='ReleaseDEBUG|Win32'">$(IntDir)utils\</ObjectFileName>
Expand Down Expand Up @@ -4004,6 +4018,7 @@
<ClInclude Include="..\..\src\utils\functional.hpp" />
<ClInclude Include="..\..\src\utils\general.hpp" />
<ClInclude Include="..\..\src\utils\io.hpp" />
<ClInclude Include="..\..\src\utils\irdya_datetime.hpp" />
<ClInclude Include="..\..\src\utils\iterable_pair.hpp" />
<ClInclude Include="..\..\src\utils\make_enum.hpp" />
<ClInclude Include="..\..\src\utils\markov_generator.hpp" />
Expand Down
9 changes: 9 additions & 0 deletions projectfiles/VC12/wesnoth.vcxproj.filters
Expand Up @@ -1541,6 +1541,12 @@
<ClCompile Include="..\..\src\preferences\lobby.cpp">
<Filter>Preferences</Filter>
</ClCompile>
<ClCompile Include="..\..\src\utils\irdya_datetime.cpp">
<Filter>utils</Filter>
</ClCompile>
<ClCompile Include="..\..\src\tests\test_irdya_date.cpp">
<Filter>Tests</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\addon\client.hpp">
Expand Down Expand Up @@ -2988,6 +2994,9 @@
<ClInclude Include="..\..\src\preferences\lobby.hpp">
<Filter>Preferences</Filter>
</ClInclude>
<ClInclude Include="..\..\src\utils\irdya_datetime.hpp">
<Filter>utils</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<CustomBuild Include="..\..\src\tests\test_sdl_utils.hpp">
Expand Down
1 change: 1 addition & 0 deletions source_lists/test
Expand Up @@ -13,6 +13,7 @@ tests/test_formula_ai.cpp
tests/test_formula_core.cpp
tests/test_formula_function.cpp
tests/test_image_modifications.cpp
tests/test_irdya_date.cpp
tests/test_lexical_cast.cpp
tests/test_make_enum.cpp
tests/test_map_location.cpp
Expand Down
1 change: 1 addition & 0 deletions source_lists/wesnoth
Expand Up @@ -387,6 +387,7 @@ units/types.cpp
units/udisplay.cpp
units/unit.cpp
utils/context_free_grammar_generator.cpp
utils/irdya_date.hpp
utils/markov_generator.cpp
utils/name_generator_factory.cpp
variable.cpp
Expand Down
10 changes: 10 additions & 0 deletions src/game_initialization/create_engine.cpp
Expand Up @@ -185,6 +185,16 @@ campaign::campaign(const config& data)
, min_players_(2)
, max_players_(2)
{
if(data.has_attribute("start_year")) {
dates_.first = irdya_date::read_date(data["start_year"]);
if(data.has_attribute("end_year")) {
dates_.second = irdya_date::read_date(data["end_year"]);
} else {
dates_.second = dates_.first;
}
} else if(data.has_attribute("year")) {
dates_.first = dates_.second = irdya_date::read_date(data["year"]);
}
set_metadata();
}

Expand Down
7 changes: 7 additions & 0 deletions src/game_initialization/create_engine.hpp
Expand Up @@ -19,6 +19,7 @@
#include "generators/map_generator.hpp"
#include "mp_game_settings.hpp"
#include "utils/make_enum.hpp"
#include "utils/irdya_datetime.hpp"

#include <numeric>
#include <string>
Expand Down Expand Up @@ -253,6 +254,11 @@ class campaign : public level
return min_players_ <= player_count && max_players_ >= player_count;
}

std::pair<irdya_date, irdya_date> dates() const
{
return dates_;
}

private:
campaign(const campaign&) = delete;
void operator=(const campaign&) = delete;
Expand All @@ -262,6 +268,7 @@ class campaign : public level
std::string image_label_;
int min_players_;
int max_players_;
std::pair<irdya_date, irdya_date> dates_;
};

class create_engine
Expand Down

0 comments on commit 6d1e136

Please sign in to comment.