The WFL min() function was changed from returning zero to returning an
error when an empty list is passed as argument (commits eccd3d8e and
fd9f1153). This adapts the Poisoner FAI code to deal with that
correctly.
* moving all chasm transitions to lower layer -290 from -90, not just those next to I* terrain
* adding a couple more stone_tile-chasm transition images
There is a scenario, where you have Gerrick as leader, while Deoran is left behind. Perhaps dialogue could be made better, so Jarek tells something to Gerrick instead.
This should address the multiple gate terrain listing in issue #1990 . Whether gates are an embellishment (not worthy of a help entry) or not could be a different discussion. The overlay issue mentioned in the same issue is probably also best addressed specifically, not tied to the gate-terrain-help question.
Caused by the same commit. SDL freed the old framebuffer even though we had
a reference to it, and when we passed it to SDL_FreeSurface(), it attempted
to free it again. It resulted in a crash depending on the C standard
library implementation and optimization level.
This happened if the AI simulated three fights for an unit that has swarm
and either unit was able to slow in the second fight.
Regression from commit edf750104348841badea50c7d85cd23584d8b1a6.
I didn't take into account that when swarm is used, the probability to stay
unscathed was supposed to be scaled by the probability of the whole combat
slice occurring in the first place. If either unit was able to slow,
complex_fight() calculated the unscaled probability instead, and when they
were added together, the combined probability went way above 100 %. That
triggered an assertion if the AI simulated one more fight for the affected
unit.
previously if the the server closed the connection it could happen that wesnothd_connection::receive_data threw an exception before the last package was processed which would break wesnothd redirection.
This is controlled by a find_in_all_layers flag (false by default). The reason I added this was to
have a cleaner method for find_widget to locate widgets on layers other than the currently visible
one. Usually, they aren't found, which leads to a rather hacky workaround of showing all layers
(selecting layer -1) manually whenever this was needed. There are a few cases where this isn't doable,
though, such as in the Preferences dialog. Right now, if a setting isn't on the currently visible page
when you exit the dialog, your selections won't be saved. Since modal_dialog::finalize_fields is called
before post_show, I can't do the show-all-layers trick in post_show.
This will provide a cleaner method for dialogs to use the find-in-all-layers behavior, if desired, without
unexpectedly running into issues in the future if someone forgot to add the workaround code.
This also adds a const overload for get_layer_grid to facilitate the find() implementation. I also haven't
implemented a find_at overload since I don't think it's necessary yet. Probably should get to that at some
point, though.
This should fix#2021. The reason why we didn't just add one events::command_disabler in the code that starts the unsyned event hander (moving the events::command_disabler up in wml_menu_item::fire_event) is the we want commnds_disables to be for the (wml) code that handles the menu items so that it knows that it can use issue synced commands via [do_command]