| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
fprop lists, and fprop_spec, now use unsigned long instead of int. This
matches env.pgrid, and means that there won't be size issues in future
when we end up with more feature properties.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit moves str_to_fprop from initfile.cc to fprop.cc. It also
introduces two new dungeon Lua wrappers: fprop_changed(x, y, fprop),
and fprop_at(x, y, fprop).
fprop_at(x, y, fprop) will return testbits(coord_def(x, y), fprop).
fprop_changed will either add the fprop to that location, or if it
already exists there, it will remove it from that location. It will
returrn a boolean value of true if it altered the location, and false if
it did nothing.
|
| |
|
|
|
|
|
|
| |
entrances could be blocked by rock.
shoal-hut.lua test generates 1k Shoal:$ levels and verifies that the levels pass sanity tests.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cloud_struct now has members for colour, name, and tile; colour will be
used instead of the default colour of the cloud type, and will be used
to recolour the tile of the cloud (if it exists). Name will be used to
rebrand the cloud's description, and also alter the message generate
while standing in a cloud.
Finally, tile can be used to completely customise the tile used for the
cloud. The value is stored as a string in order to maintain save
compatibility across ASCII and tiles. A random tile (found using
tile_main_count) from that set will also be used, however, no duration
effects will be applied.
Recoloured cloud tiles using just the colour code should be possible,
though aren't yet fully tested.
This commit bumps TAG_MAJOR_VERSION: changing marshalling of the
FogMachine Lua code causes nasty crashes on reloading saved games.
Otherwise, I don't think I broke anything else. :-)
|
|
|
|
|
|
| |
compiler
could call unnecessary functions. For paranoia, I left even any uses of std::string.
|
|
|
|
|
|
|
| |
This eliminates the annoying full rebuild that happens when the tiledefs
are modified.
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
|
|
|
|
|
|
| |
See the comment in l_dgn.cc:dgn_set_border_fill_type. Should be replaced
with something that works on map_lines instead, but this will do for the
meantime.
|
| |
|
|
|
|
|
|
|
| |
This reverts commit 941444076c26e5e5149c6368a4261d60842fe3ec.
After consultation with Enne, this doesn't really fix the issue, and is
therefore superfluous.
|
|
|
|
|
|
|
|
|
|
| |
The Lua prelude of maps isn't executed early enough now. Using 'BORDER'
sets map->border_fill_type as soon as the map is read, rather than after
it is placed.
This commit increases the value of MAP_CACHE_VERSION.
Can be reverted if it causes issues or is unwanted.
|
|
|
|
|
|
|
|
| |
Removed inclusion of travel.h from most .h files to reduce the number
of .cc files dependant on it. This involved moving the level_pos
declaration to externs.h, moving the flood_find template to it's own
header file, and moving two typedefs from travel.h to travel_defs.h
because typedefs can't be forward declared (argh).
|
|
|
|
|
|
|
|
| |
Vaults can now include other vaults as a part of their definition. These
subvaults are currently included by tag only and replace glyphs in their
parent vault. See documentation for more details.
Vault:8 has been modified to use subvaults.
|
| |
|
| |
|
|
|
|
| |
This hopefully fixes recent disconnected level problems.
|
|
|
|
|
| |
dgn.apply_area_cloud is useful for applying clouds, but clunky for
attempting to place single clouds.
|
| |
|
|
|
|
|
| |
fill_grd_area now fills an area on the dungeon grd. Only Ziggurats use
this function.
|
|
|
|
|
| |
On second thoughts, while an endless milieu of Trog altars sounds nice,
limit it to walls, lava, water and trees.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also move dungeon_feature_by_name into terrain.cc, as it does not make
sense it being in l_dgngrd.cc.
The Lua function "set_border_fill_type(feature)" will replace the
default DNGN_ROCK_WALL fill of a portal vault with the specified
feature. This could be abused, and should probably only be limited to
floor, water and sea, different types of walls, trees and lava; there
are no sanity checks for endless traps, statues, stairs, etc.
Finally, apply this to the island Trove, giving endless water effect.
|
|
|
|
| |
Also add a few previously indirect includes.
|
| |
|
|
|
|
|
|
| |
The only use was just removed.
Also move the draw check closer to where it's used.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
simultaneously.
synchronized_markers() takes a marker, and a list of method names to override,
and returns a set of markers that fire simultaneously, to allow, say, fog
machines that fire at random intervals, but always fire in unison. lm_mslav.lua
has details. volcano.des has an example volcano entry vault that uses this.
Allow fetching a list of Lua markers/marker positions by property value.
Renamed dgn.find_marker_prop -> dgn.find_marker_position_by_prop.
s/helper/listener/ for fog machine listeners.
|
| |
|
|
|
|
| |
New: colour.cc, coord.cc, coordit.cc, random.cc, rng.cc.
|
|
|
|
|
|
| |
specific vaults multiple times, in order to test SUBSTs, SHUFFLEs, etc, quickly and easily.
Signed-off-by: Darshan Shaligram <dshaligram@users.sourceforge.net>
|
| |
|
|
|
|
|
| |
l_defs.h contains headers for things defined in the Lua functions
but used elsewhere. This should probably not exist long-term.
|
|
|
|
|
|
|
|
| |
cluautil.cc should eventually contain all of the functions
for passing objects from and to lua, at least the shared
ones.
Also cut down on clua.cc include list.
|
|
|
|
| |
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
|
|
|
|
| |
To avoid name clashes, rename dlua libs from *_lib to *_dlib.
|
| |
|
| |
|
|
|
|
| |
Now sub-2k lines of code.
|
| |
|
|
|
|
| |
Also a little cleanup.
|
|
|
|
|
| |
Specifically, item and monster-related functions to l_dgnit.cc and
l_dgnmon.cc.
|
| |
|
|
|
|
|
| |
Move lua library headers to separate l_libs.h, fixing another
compilation error...
|
|
|