widelands-dev team mailing list archive
-
widelands-dev team
-
Mailing list archive
-
Message #17294
Re: [Merge] lp:~widelands-dev/widelands/ai_productionsites_statistics into lp:widelands
Review: Approve
Got the concept. I think we should have this after you perhaps might fix the small nits from the below diff comments
Diff comments:
> === modified file 'src/logic/map_objects/tribes/productionsite.cc'
> --- src/logic/map_objects/tribes/productionsite.cc 2019-05-18 11:58:43 +0000
> +++ src/logic/map_objects/tribes/productionsite.cc 2019-05-19 20:55:45 +0000
> @@ -1032,4 +1037,17 @@
>
> default_anim_ = anim;
> }
> +
> +void ProductionSite::update_crude_statistics(uint32_t duration, const bool produced) {
> + static const uint32_t duration_cap = 90 * 1000; //This is highest allowed program duration
yes I think to cover for weird things 3 minutes might be ok.
> + // just for case something went very wrong...
> + static const uint32_t entire_duration = 5 * 60 *1000;
> + if (duration > duration_cap) {
> + duration = duration_cap;
> + };
> + const uint32_t old_duration = entire_duration - duration;
I would name this past_duration as this is what it is. I first thought this should be the duration of the previous cycle.
> + crude_percent_ = (crude_percent_ * old_duration + produced * duration * 10000) / entire_duration;
> + assert(crude_percent_ <= 10000); //be sure we do not go above 100 %
> + }
> +
> } // namespace Widelands
--
https://code.launchpad.net/~widelands-dev/widelands/ai_productionsites_statistics/+merge/367613
Your team Widelands Developers is subscribed to branch lp:~widelands-dev/widelands/ai_productionsites_statistics.
References