| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This should fix unreachable excludes not being coloured in the
level map.
|
| |
|
|
|
|
|
| |
If a flamethrower cell is already excluded, add a description if it
doesn't have one already.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
A typical annotation may now look as follows:
exclusion: 5 flame clouds, oklob plant and 2 more exclusions
FIXME: The 2 more are probably also flame clouds but don't get
described as such seeing how they were already added as flame
cloud neighbours earlier when they were harmless floor themselves.
|
|
|
|
|
|
| |
Increases minor version by one as travel_exclude now stores a string
rather than the monster type, which is more versatile and can also
be used for cloud names.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This is a bit of a hack to get around cloud autoexclusions each
resulting in a floodfind through _exclude_update.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Speed up is_excluded() by making the class exclude_set, which caches the
set of excluded points, calculating the set only when exclusions are
added or removed (or when an old level is loaded).
NOTE: This recomputes the set of excluded points once upon entering
level-map mode and once upon exiting it. If this takes to long on slow
machines, this can be improved.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Make level_excursions::go_to clear and load exclusions. This avoids
exclusions leaking across levels when using apply_to_all_dungeons with
a function that can set exclusions.
Also when applying an auto-exclusion to an out of sight stationary
monster you have seen before (oklob plants after renouncing Fedhas)
associate the monster species with the exclusion.
|
|
|
|
|
|
|
|
|
| |
Make neutralization work on monsters that are out of sight, also make
it clear auto-exclusions for e.g. oklobs that previously got auto-ann.
but are now out of sight.
Make the monster_hostile stuff put auto-exclusions on oklobs you have
already seen (if it turns them hostile).
|
|
|
|
| |
Was causing memory problems.
|
| |
|
|
|
|
|
| |
Special-case to not require LOS calculations. Also make cycling
not crash when exclusions have radius != 0, LOS_RADIUS.
|
|
|
|
| |
Also add a few previously indirect includes.
|
| |
|
|
|
|
|
|
| |
The only use was just removed.
Also move the draw check closer to where it's used.
|
|
|
|
|
|
|
|
| |
map_cell no longer has the field "properties", which has been
replaced by the unsigned long array env.pgrid.
env.map has been renamed to env.map_knowledge. It should really
be moved into player.
|
|
|
|
|
|
|
| |
The various LOS objects and functions now accept a circle_def
instead of a bounds_func. This is a little less generic, but
should eventually help with iterating over coordinates in
any los_def.
|
|
|
|
|
|
|
|
|
|
|
| |
Avoid an infinite loop caused caused by calling remove_auto_exclude on
plants that get neutralized by Feawn. feawn_neutralise is called via
viewwindow, and it was calling remove_auto_exclude, in tiles
remove_auto_exclude calls viewwindow creating an infinite loop.
Instead of calling remove_auto_exclude directly I added an attitude
check to maybe_remove_autoexclusion which is (safely) called from
viewwindow already.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
env.show is now a class show_def that stores tagged
unions of type show_type. For the moment, there's also
env.show_los for use in LOS determination, but that
should become an array of boolean at some point.
This breaks save compatibility.
Tiles and console version build and appear to work
fine, but this kind of change is likely to have
some side-effects.
|
| |
|
| |
|
|
|
|
| |
...and replace all references to mons_is_sleeping with asleep.
|
|
|
|
| |
New: colour.cc, coord.cc, coordit.cc, random.cc, rng.cc.
|
| |
|
|
|
|
| |
Hopefully this fixes the autoremove-on-restore bug (2887690).
|
| |
|
|
|
|
|
|
| |
GCC 4.3.2 -O1 and -O2 optimization causes some weirdness with
maybe_remove_autoexclusion() in exclude.cc. This hack fixes the problem
and gives a diagnostic message when the problem is encountered.
|
| |
|
| |
|
| |
|
|
|