From 1af182ef39c3881d895f785667f6730f2a998963 Mon Sep 17 00:00:00 2001 From: Alexander van Gessel Date: Tue, 6 Apr 2010 02:02:44 +0100 Subject: [PATCH] Add ~DARKEN() counterpart to ~BRIGHTEN(), tod-dark.png counterpart to tod-bright.png and darkens-aura.png counterpart to brightens-aura.png. Implement min_value for [illuminates] --- changelog | 2 ++ data/core/images/halo/darkens-aura.png | Bin 0 -> 49475 bytes data/game_config.cfg | 1 + data/scenario-test.cfg | 21 ++++++++++++++++ images/misc/tod-dark.png | Bin 0 -> 9089 bytes src/game_config.cpp | 2 ++ src/game_config.hpp | 2 +- src/generate_report.cpp | 1 + src/image.cpp | 4 ++++ src/image_function.cpp | 9 +++++++ src/image_function.hpp | 8 +++++++ src/tod_manager.cpp | 2 ++ src/unit.hpp | 1 + src/unit_abilities.cpp | 32 +++++++++++++++++++++++++ 14 files changed, 84 insertions(+), 1 deletion(-) create mode 100644 data/core/images/halo/darkens-aura.png create mode 100644 images/misc/tod-dark.png diff --git a/changelog b/changelog index ae45a6ef10d..b175e3355b2 100644 --- a/changelog +++ b/changelog @@ -29,6 +29,8 @@ Version 1.9.0-svn: * Deprecated [set_variable]'s random key, use rand instead * Renamed [unit][status] healable to unhealable so it can default to 'no' * Added 'side X turn refresh' and 'side X turn Y refresh' events + * Add ~DARKEN() counterpart to ~BRIGHTEN() + * Implement min_value for [illuminates] * Miscellaneous and bug fixes: * Defaulted log level to warning again * New option to auto-set delay shroud update on game start diff --git a/data/core/images/halo/darkens-aura.png b/data/core/images/halo/darkens-aura.png new file mode 100644 index 0000000000000000000000000000000000000000..2925d79cb5ac2b4165f149e9fe4cb67383ad1648 GIT binary patch literal 49475 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 JM)=3C{{c2~#q0n8 literal 0 HcmV?d00001 diff --git a/data/game_config.cfg b/data/game_config.cfg index ee4b24a51c0..1df4530efa6 100644 --- a/data/game_config.cfg +++ b/data/game_config.cfg @@ -98,6 +98,7 @@ observer_image="misc/eye.png" tod_bright_image="misc/tod-bright.png" + tod_dark_image="misc/tod-dark.png" level_image="misc/icon-advance.png" diff --git a/data/scenario-test.cfg b/data/scenario-test.cfg index b0d905e1c2f..6221b0faad7 100644 --- a/data/scenario-test.cfg +++ b/data/scenario-test.cfg @@ -152,6 +152,27 @@ Xu , Xu , Qxu , Qxu , Ql , Ql x,y=19,11 type="Dark Adept" generate_name=yes + halo=halo/darkens-aura.png + [modifications] + [object] + silent=yes + [effect] + apply_to=new_ability + [abilities] + [illuminates] + id=illumination + value=-25 + min_value=-25 + cumulative=no + name= "darkens" + female_name= "female^darkens" + description= "darkens and stuff" + affect_self=yes + [/illuminates] + [/abilities] + [/effect] + [/object] + [/modifications] [/unit] [/side] diff --git a/images/misc/tod-dark.png b/images/misc/tod-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..d101904017198f2b8a943697970323600def435c GIT binary patch literal 9089 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 literal 0 HcmV?d00001 diff --git a/src/game_config.cpp b/src/game_config.cpp index 8fd1138a267..08a307a16a4 100644 --- a/src/game_config.cpp +++ b/src/game_config.cpp @@ -84,6 +84,7 @@ namespace game_config std::string observer_image = "misc/eye.png"; std::string tod_bright_image = "misc/tod-bright.png"; + std::string tod_dark_image = "misc/tod-dark.png"; std::string unchecked_menu_image = "buttons/checkbox.png"; std::string checked_menu_image = "buttons/checkbox-pressed.png"; std::string wml_menu_image = "buttons/WML-custom.png"; @@ -197,6 +198,7 @@ namespace game_config observer_image = v["observer_image"]; tod_bright_image = v["tod_bright_image"]; + tod_dark_image = v["tod_dark_image"]; level_image = v["level_image"]; ellipsis_image = v["ellipsis_image"]; diff --git a/src/game_config.hpp b/src/game_config.hpp index 18368ff22ef..aaba2ff5524 100644 --- a/src/game_config.hpp +++ b/src/game_config.hpp @@ -69,7 +69,7 @@ namespace game_config enemy_ball_image, ally_ball_image, energy_image, flag_image, flag_icon_image, terrain_mask_image, grid_image, unreachable_image, linger_image, - observer_image, tod_bright_image, + observer_image, tod_bright_image, tod_dark_image, checked_menu_image, unchecked_menu_image, wml_menu_image, level_image, ellipsis_image, default_victory_music, default_defeat_music; diff --git a/src/generate_report.cpp b/src/generate_report.cpp index cf948bf1fc4..1c34467adf3 100644 --- a/src/generate_report.cpp +++ b/src/generate_report.cpp @@ -388,6 +388,7 @@ report generate_report(TYPE type, std::string tod_image = tod.image; if (tod.bonus_modified > 0) tod_image += "~BRIGHTEN()"; + else if (tod.bonus_modified < 0) tod_image += "~DARKEN()"; if (preferences::flip_time()) tod_image += "~FL(horiz)"; return report("",tod_image,tooltip.str()); diff --git a/src/image.cpp b/src/image.cpp index d8254d944b3..916f44896e1 100644 --- a/src/image.cpp +++ b/src/image.cpp @@ -719,6 +719,10 @@ surface locator::load_image_sub_file() const else if (function == "BRIGHTEN") { functor_queue.push_back(new brighten_function()); } + // Add a dark overlay. + else if (function == "DARKEN") { + functor_queue.push_back(new darken_function()); + } else { ERR_DP << "unknown image function in path: " << function << '\n'; } diff --git a/src/image_function.cpp b/src/image_function.cpp index 64b567b3608..d703c973270 100644 --- a/src/image_function.cpp +++ b/src/image_function.cpp @@ -126,4 +126,13 @@ surface brighten_function::operator()(const surface &src) const return ret; } +surface darken_function::operator()(const surface &src) const +{ + surface ret = make_neutral_surface(src); + surface tod_dark(image::get_image(game_config:: tod_dark_image)); + if (tod_dark) + blit_surface(tod_dark, NULL, ret, NULL); + return ret; +} + } /* end namespace image */ diff --git a/src/image_function.hpp b/src/image_function.hpp index b692f382d2f..6f8e5ee1dd5 100644 --- a/src/image_function.hpp +++ b/src/image_function.hpp @@ -196,6 +196,14 @@ struct brighten_function : function_base virtual surface operator()(const surface &src) const; }; +/** + * Overlay with ToD darkening (DARKEN). + */ +struct darken_function : function_base +{ + virtual surface operator()(const surface &src) const; +}; + } /* end namespace image */ #endif /* !defined(IMAGE_FUNCTION_HPP_INCLUDED) */ diff --git a/src/tod_manager.cpp b/src/tod_manager.cpp index 1745e721aef..30576ba266e 100644 --- a/src/tod_manager.cpp +++ b/src/tod_manager.cpp @@ -277,6 +277,8 @@ time_of_day tod_manager::time_of_day_at(const unit_map& units,const map_location int mod = illum_effect.get_composite_value(); if(mod + tod.lawful_bonus > illum.highest("max_value").first) { mod = illum.highest("max_value").first - tod.lawful_bonus; + } else if(mod + tod.lawful_bonus < illum.lowest("min_value").first) { + mod = illum.lowest("min_value").first - tod.lawful_bonus; } lighten = std::max(mod, lighten); darken = std::min(mod, darken); diff --git a/src/unit.hpp b/src/unit.hpp index 5192cc66ff2..3f4ea1481c4 100644 --- a/src/unit.hpp +++ b/src/unit.hpp @@ -45,6 +45,7 @@ public: bool empty() const; std::pair highest(const std::string& key, int def=0) const; + std::pair lowest(const std::string& key, int def=0) const; std::vector > cfgs; }; diff --git a/src/unit_abilities.cpp b/src/unit_abilities.cpp index 091dccb9976..c9beb24c151 100644 --- a/src/unit_abilities.cpp +++ b/src/unit_abilities.cpp @@ -374,6 +374,38 @@ std::pair unit_ability_list::highest(const std::string& key, i return std::make_pair(flat + stack, best_loc); } +std::pair unit_ability_list::lowest(const std::string& key, int def) const +{ + if (cfgs.empty()) { + return std::make_pair(def, map_location()); + } + // The returned location is the best non-cumulative one, if any, + // the best absolute cumulative one otherwise. + map_location best_loc; + bool only_cumulative = true; + int abs_max = 0; + int flat = 0; + int stack = 0; + typedef std::pair pt; + foreach (pt const &p, cfgs) + { + int value = lexical_cast_default((*p.first)[key], def); + if (utils::string_bool((*p.first)["cumulative"])) { + stack += value; + if (value < 0) value = -value; + if (only_cumulative && value <= abs_max) { + abs_max = value; + best_loc = p.second; + } + } else if (only_cumulative || value < flat) { + only_cumulative = false; + flat = value; + best_loc = p.second; + } + } + return std::make_pair(flat + stack, best_loc); +} + /* * * [special]