1. Both are covered by [object][filter].
2. They were undocumented in the wiki.
3. They are scheduled for removal since early 1.7.
(patch #3211 by brilliand)
Deprecate viewing_side= in favor of the SSF's side=.
Semantics in case of empty filter changes from "all enemy sides"
to "all sides". If a side isn't an enemy, it can usually see
the unit anyway, and just in case the SSF has [enemy_of].
wmllint rule to come.
(patch #3194 by Brilliand)
These were the variable substitution delaying in the [object] code. It is
no longer needed due to the workaround [object]delayed_...=yes|no.
Removes repeated WML parsing. Reverts behavior to mostly what was in 1.8
If ABILITY_TELEPORT is added by an [object], or [object][effect][filter]
contains $this_unit, delayed_...=yes is required for the modifications
to work as expected.
However, if the same object wants to get variables substituted and
add ABILITY_TELEPORT to a unit, the code would have worked in 1.8
but doesn't in 1.9.
(bug #18893, bug #19225)
...by mouseover even under fog.
This involved changing some game logic so that units belonging to the
viewing team are considered visible even under fog.
The unparsed vconfig from the [unit] tag is passed to the unit
constructor and filter_recall and event tags are taken from it.
[side][unit] did already no variable substitution, wesnoth.put_unit does
it only if passed a vconfig userdata to describe the unit.
Add a warning regarding its usage and test whether the unit exists
before assigning to it. (Still a bit experimental, but initial tests
show no regressions.)
SDL_Color hp_color(int hitpoints) const
Returns the color that represents how strong the unit will get wounded
considering the argument and the current hitpoints as base.
Units with non-standard attributes were converting those atributes to
an integer, which the attribute_value::to_int function was converting
to 0, which unit::set_state interpreted as STATE_SLOW. Changed it to
passing a t_token.
Some compilers are calling destructors for static objects before other
static objects use them in their destructors. This patch initializes
static t_interned objects with new and intentionally doesn't call
delete in order to guarrantee their existence throughout the static
de-initialization phase. It creates a new function
generate_safe_static_const_t_interned for this purpose. It might
address bug #18666, although I can not duplicate the crash with gcc on
fedora 15.
...of config::attribute_value & to tstring & or t_token reference
causes crashes. Some compilers were generating a temporary object and
binding a reference to the temporary when creating an implicit cast to
an attribute value. I removed the implicit cast and replaced all (I
think) instances of the implicit cast with explicit 2 step operation.
This fixes bugs like bug #18663, bug #18684
1. Changed std::strings to t_token when used as indices.
2. Made a frame_parsed_parameters token resulting in upto 25% memory
savings if unit animations are on for a large variety of units.
...in place of std:string in order to speed up comparisons, copies and
hashing which are 1 cycle operations.
Added z_sub t_token.
Added lru_cache unit test