| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
| |
Simplifies code in a number of places, and also fixes a few tree-moving bugs.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Instead of a specific list of (only some!) stationary plants.
This would cause monsters to sometimes hang around behind other
plants, or statue monsters, rather than take an obvious path to
their target only slightly beside them.
Hopefully there is nothing else important that relies on the
previous assumptions.
|
|
|
|
| |
This ensures that burning bushes and oklob saplings are handled consistently.
|
| |
|
| |
|
|
|
|
|
| |
Since these are opaque (and therefore behave differently from normal trees),
a renaming is warranted.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Per C++11 section 8.5 paragraph 6, a const object cannot be default-
initialised unless it belongs to a class with a user-provided default
constructor. The opc_* constants are const and belong to a class
without an explicit default constructor. Therefore, value-initialise
them instead.
Most compilers, including latest gcc, will happily accept this
construct. However, there was a period during which gcc 4.6 issued a
diagnostic (and, without -fpermissive, an error). In particular, this
has been reported in gcc (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1, though
it is accepted without warning in gcc (Debian 4.6.1-14) 4.6.1.
|
|
|
|
|
|
|
|
|
| |
Objects, even const ones, should not be defined in header files, or
there will be one copy for each source file that included that header.
Move the offending definitions into source files, and replace them
with extern declarations in the headers.
Also, make the opc_* instances const and not static.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Its name suggests it's about line of effect, while in fact it's both effect
and sight. Thus, I've split its uses into LOS_SOLID and LOS_SOLID_SEE -- the
former is what LOS_SOLID was usually understood to mean, the latter is what it
actually was (being targettable with an arrow/beam).
The difference is: LOS_SOLID_SEE obeys clouds.
The name of the latter is abysmal -- if you have a better idea, please sed.
|
|
|
|
| |
It's now possible to create any kind of feature mimic using &M.
|
|
|
|
|
|
|
| |
"File:" is shown in your editor's status bar.
"Written by:" was used only for the first person who changed a file. We got
git for that now, and pre-DCSS history is so woefully inaccurate it doesn't
really matter.
|
| |
|
| |
|
|
|
|
| |
This doesn't do anything to beams, but that's a pending problem anyway.
|
|
|
|
|
|
| |
This gets rid of the hacks where the same tree would turn to either floor or
shallow water depending on the branch it is in. Also, only a few methods of
destroying trees obeyed the water rule.
|
| |
|
| |
|
|\
| |
| |
| |
| |
| | |
Much manual merging, and a few fixes for changes in the code (particularly
monsters->monster and the like). Now compiles and seems to work. Zot Def
added to start menu.
|
| |
| |
| |
| | |
release branch. Quite a few edits required...
|
| |
| |
| |
| |
| |
| |
| | |
This moves the previous opacity_no_trans modifications (a9af5253)
into a separate opacity_func to avoid conflicts with other uses
of opacity_no_trans.
(cherry picked from commit d2d2410aa72b9fc18f10e4b1dd38aceeeb602f0c)
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Base it on opc_default, and consider trees as transparent walls.
opacity_no_trans currently affects a variety of things
(translocations like blink/apport/portalproj, feeling safe,
trap detection); it would be nice to separate these eventually.
(cherry picked from commit 48b4f875decad6312c738ee4ffdb6bddbaa9a9cb)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit a9af525338b34c8a527270bdb5f31574f1e333f8.
opacity_no_trans was used for too many things, so this change
had undesired side-effects. Will need to make pathfinding
independent of opacity_no_trans instead.
Fixes issues #778, #836.
(cherry picked from commit 7cead1f03d9108d65b9d95142cd61d224bc2aaf4)
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
other statues.
Plus, there are multiple ways for monsters to affect you from behind a statue,
so the fix to i_feel_safe needs to be smarter.
This reverts commit a61615850d9fe7b3f97026472ebac4147f88b5c9.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
this means that monsters behind statues won't make you feel unsafe
(mantis #832), and it also blocks apportation from working through
granite statues (and also probably some other things like that... is
this what we want? the new granite statues on zot:5 are meaningless
otherwise). people should test various things with this to make sure
the interactions are all still as we want them.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
This moves the previous opacity_no_trans modifications (a9af5253)
into a separate opacity_func to avoid conflicts with other uses
of opacity_no_trans.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Base it on opc_default, and consider trees as transparent walls.
opacity_no_trans currently affects a variety of things
(translocations like blink/apport/portalproj, feeling safe,
trap detection); it would be nice to separate these eventually.
|
|/
|
|
|
|
|
|
|
|
| |
This reverts commit a9af525338b34c8a527270bdb5f31574f1e333f8.
opacity_no_trans was used for too many things, so this change
had undesired side-effects. Will need to make pathfinding
independent of opacity_no_trans instead.
Fixes issues #778, #836.
|
|
|
|
|
|
|
| |
opacity_no_trans is used for you.trans_wall_block, which in turn
is used in monster pathfinding. This fixes some pathfinding issues
in the new woody swamp. If the "no_trans" opacity is used for
other purposes, this change may also have negative side-effects.
|
|
|
|
|
| |
Previously, undetected secret doors in clear rock walls were
blocking LOS. Now they don't but do once you detect them...
|
|
|
|
| |
Also add a few previously indirect includes.
|
|
|
|
|
|
|
|
| |
Also not at actors' feet.
Might be even nicer to have them thrown as missiles:
You are hit by a piece of orc flesh. The giant bat is hit by
a chunk of yak flesh. The giant bat dies.
|
|
|
|
|
|
|
|
|
| |
The difference between no_trans and solid is whether granite statues are
considered opaque.
Granite statues are somewhat weird in that they behave completely differently
from other statues: You can't shoot missiles at or past them, no items can be
in their cell, etc.
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
Not all are changed yet, as there are several index checks still needed
for debugging purposes.
Also, make many checks for player/monster (non)existence use actor_at().
|
| |
|
|
|
|
| |
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
|
|
|
|
|
|
|
|
|
| |
los_param got a new opacity_monmove to help. The change compiles
and the game runs, but I'm unsure how to test monster pathfinding.
Please tell me if anything went wrong!
Removes mon-los.{cc,h}, so I'm afraid I may have broken the
non-Unix builds again.
|
|
|
|
|
|
| |
Setting LOS_RADIUS in defines.h now works. Fixed a couple of
things to allow this, including an apparent off-by-one error
in crawl_view -- not quite sure this doesn't break anything.
|
|
|
|
|
|
| |
The maximal boundary within which losight/find_ray will work is
now clearly defined at the start of los.cc. By default, it's
the circle with radius LOS_MAX_RADIUS == LOS_RADIUS.
|
|
|
|
|
| |
Mostly rename functions from terrain.h that accept features of typ
dgn_feature_type from grid_is_* to feat_is_*.
|
|
|
|
| |
For this, add new opacity_func that disregards half-opaque things.
|
|
|
|
|
|
|
|
|
|
|
| |
The nicer interface to losight is now
void losight(env_show_grid& sh, const coord_def& center,
const opacity_func &opc = opc_default,
const bounds_func &bds = bds_default);
bounds_func provides the LOS boundary (usually just a circle with
radius the current LOS radius). opacity_func is a mapping of grid
coordinates to opacity values.
|