Author: anonymissimus
Date: Wed Jun  8 20:59:51 2011
New Revision: 49793

URL: http://svn.gna.org/viewcvs/wesnoth?rev=49793&view=rev
Log:
concentrated some time of day getting variants for a lua tod getter

Modified:
    trunk/src/tod_manager.cpp
    trunk/src/tod_manager.hpp

Modified: trunk/src/tod_manager.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/tod_manager.cpp?rev=49793&r1=49792&r2=49793&view=diff
==============================================================================
--- trunk/src/tod_manager.cpp (original)
+++ trunk/src/tod_manager.cpp Wed Jun  8 20:59:51 2011
@@ -95,9 +95,17 @@
        return cfg;
 }
 
-const time_of_day& tod_manager::get_time_of_day() const
-{
-       return times_[currentTime_];
+const time_of_day tod_manager::get_time_of_day(int for_turn, const 
map_location loc, const bool consider_illuminates) const
+{
+       if(for_turn == 0) for_turn = turn_;
+       if(consider_illuminates) {
+               assert(resources::game_map->on_board(loc));
+               return time_of_day_at(loc, for_turn);
+       }
+       if(!resources::game_map->on_board(loc)) {
+               return get_time_of_day_turn(times_, for_turn, currentTime_);
+       }
+       return get_time_of_day(loc, for_turn);
 }
 
 const time_of_day& tod_manager::get_previous_time_of_day() const
@@ -210,13 +218,13 @@
        return times[time];
 }
 
-time_of_day tod_manager::time_of_day_at(const map_location& loc) const
+time_of_day tod_manager::time_of_day_at(const map_location& loc, const int 
for_turn) const
 {
        const gamemap& map = *resources::game_map;
        const unit_map& units = *resources::units;
        int light_modif =  
map.get_terrain_info(map.get_terrain(loc)).light_modification();
 
-       time_of_day tod = get_time_of_day(loc);
+       time_of_day tod = get_time_of_day(loc, for_turn);
 
        int light = tod.lawful_bonus + light_modif;
        int illum_light = light;

Modified: trunk/src/tod_manager.hpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/tod_manager.hpp?rev=49793&r1=49792&r2=49793&view=diff
==============================================================================
--- trunk/src/tod_manager.hpp (original)
+++ trunk/src/tod_manager.hpp Wed Jun  8 20:59:51 2011
@@ -32,8 +32,14 @@
 
                config to_config() const;
 
-               /** Returns time of day object for current turn. */
-               const time_of_day& get_time_of_day() const;
+               /**
+                * Returns time of day object for the passed turn.
+                * for_turn = 0 means current turn
+                * if loc is on board then tod areas matter (else: scenario 
main time)
+                * if consider_illuminates then tod modifying units matter in 
addition to time areas
+                * loc must be on board if consider_illuminates
+                */
+               const time_of_day get_time_of_day(int for_turn = 0, const 
map_location loc = map_location(), const bool consider_illuminates = false) 
const;
                const time_of_day& get_previous_time_of_day() const;
 
                /**
@@ -84,7 +90,7 @@
                const std::vector<time_of_day> times() const {return times_;}
 
                //consider tod modifying units (e.g. illuminates)
-               time_of_day time_of_day_at(const map_location& loc) const;
+               time_of_day time_of_day_at(const map_location& loc, const int 
for_turn = 0) const;
 
                //turn functions
                int turn() const { return turn_; }


_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits

Reply via email to