| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
gaining skills can cause sif's piety to increase, which may cause her to
speak, but speech can sometimes depend on the map features that you're
standing on, so we need to wait to do this fixup until the level is done
initializing
|
|
|
|
|
|
|
| |
.cc, moving its contents into the new stepdown.cc and strings.cc.
(The latter also got many donations from libutil.h.)
Down with stuff! Up the new flesh!
|
| |
|
| |
|
|
|
|
| |
The only place it was called.
|
|
|
|
|
|
|
|
|
| |
We now consistently use objstat_ as a prefix for non-static functions
and don't use prefixes for static functions and variables. Various
enums, classes, and defines have also been renamed to more clearly
reflect their function.
I also added command-line help documentation for mapstat and objstat
|
|
|
|
|
|
|
|
| |
The -objstat command-line option will generate iterations of the given
levels, compiling stats on every item and monster generated, and
average the results over the iterations. It's only available in debug
builds and uses the same map specification format as -mapstat. The
default number of iterations is 100.
|
|
|
|
|
|
| |
The command-line option is -mapstat, so the non-static functions use
the prefix mapstat_ instead of mapgen_ now for consistency. The static
functions and variables have had their mg_ prefixes removed.
|
|
|
|
|
|
| |
To provide an alternate path for players who don't realize
the way to have more than one character running at a time.
(Offline.)
|
| |
|
|
|
|
|
|
| |
The check is just to prevent monsters being able to immediately attack the
player. Monsters behind glass are a similar case to monsters immediately
outside the vault, for those purposes
|
| |
|
|
|
|
| |
Including the default_friendly_pickup option.
|
|
|
|
|
|
|
|
|
|
|
| |
Item inventory weights (based on item mass) generally don't lead to
meaningful decisions that justify the inventory juggling and interface
problems that come from having burden states. The 52-slot limit is a
better system for limiting inventory and providing inventory-related
decisions because it's not so fine-grained and doesn't require the
player to examine weights for each slot. Work is ongoing to improve
the slot system by consolidating food types and handling strategic
consumables in a different way.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When you strip away the fundamentally broken tension mechanic, you're
left with a species that is essentially "Hill Orcs WITH FIRE". No effort
has come forward with code to fix either aspect of them despite the
length of time they've been around in trunk, and the code is littered
with a very large number of special cases in their presence.
Current lava orcs should be able to finish their games fine, but new
starts are disallowed.
There are a couple of bits I've left present but which will have no
function for the moment, mostly related to interactions with lava (as
there are a couple of species proposals floating around that benefit
from having those interactions).
|
|
|
|
|
| |
The CLua console and --no-save were partially but not completely
contained in #ifdef WIZARD. Make them both work without WIZARD.
|
|
|
|
|
|
| |
This reverts commit b0c9531a8997436f0bddfa218105d2e67c16f2ce.
This reverts commit 054e7ae2f5fb42c12dc169898259e58f2dc5a77b, reversing
changes made to 1ddc8957bd848179aac795187f07496f02932644.
|
|
|
|
| |
Wields a hooked quarterstaff, throws snowballs.
|
|
|
|
|
| |
Sometimes, they're there to emphasize a break between two sections of code,
which is good. In a majority of cases, though, they're just inconsistent.
|
|
|
|
|
| |
That is, unless you count the ones in ncurses' headers, which I can't
do anything except suppress.
|
|
|
|
|
|
|
| |
This solves most of what galehar's just reverted change intended to fix,
except for the game area in tiles, which currently shows just the player.
At least it doesn't appear broken. Still, it would be nice to have the
initial view there.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While the problem this commit attempts to fix is real, I'm afraid it causes
more breakage:
* it removes debug messages from map generation
* especially, infinite loops become extremely hard to debug
* loses output that overflows
* has issues with force_more
* portal vault announcements are lost
For example, a level with both a Lab and an Ice Cave shows just:
"There is an entrance to an ice cave on this level. Hurry and find it before the portal melts!"
even though there's no overflow. The rest (the main "wave of frost" message
and anything about the Lab) are gone.
I'm afraid some other approach is needed. Perhaps forcing a screen draw?
This reverts commit 8471a022e76bae39918ba6eaa1fbbab5c7ceb64f.
|
|
|
|
|
|
|
|
| |
Getting a more prompt during level load results in a screen only partially
updated and looking really bugged. It's especially bad since it happened
during loading tutorial levels which is the very first thing many new player
see. It also happened when entering a level with an announce portal. If there
are more cases, I didn't test them.
|
| |
|
|
|
|
| |
This introduces a new pseudo-agent, akin to ANON_FRIENDLY_MONSTER.
|
|
|
|
|
|
|
|
|
|
| |
(We also got "canned" tests which are scripted using regular arena or game.)
Our Makefile deserves a good heap of profanity, as you can't recurse nor run
targets whose list of dependencies depends on something itself. This is
because you can't just "make foo", you need to "make debug foo" or it will
f*** up your build, and the list of such required extra arguments is hard
to copy -- it can include compiler flags, EXTERNAL_DEFINES, etc.
|
| |
|
|
|
|
|
| |
Somehow, it was broken by 0.8.0-a0-33-g1659bee, yet no one runs --test in
optimized builds, mostly because of makefile inadequacies.
|
|
|
|
| |
Ctrl-C should probably be enabled during database rebuild, too.
|
|
|
|
| |
Not being in curses should allow providing some output.
|
|
|
|
|
|
| |
Looks like, unlike "target[t]ing" where a single t is used by many brits and
even some aussies, "cancel[l]ing" has double l even for a good deal of
americans.
|
|
|
|
| |
We can't redraw the screen before the level is loaded.
|
|
|
|
| |
This is exceedingly kludgy, but it works.
|
|\ |
|
| |
| |
| |
| |
| | |
The only cost is having assignments be a function, as you can't overload
operator[] to have separate bits be lvalues.
|
| |
| |
| |
| |
| | |
Neither zapping monsters in LOS nor marking inventory items can affect tiles
out of view.
|
| |
| |
| |
| |
| |
| |
| | |
This was <https://crawl.develz.org/mantis/view.php?id=3026>.
Thanks to |amethyst (Neil Moore) for pointing me towards the relevant
code, which I had somehow missed in my greps.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* game exit: placates valgrind
* leaving the Abyss: saves some memory
* game load: could corrupt the Abyss with restart_after_game
The last case is quite convoluted (you'd need to restore a game that was
saved in the Abyss, and previous one had to visit it this session), and
corrupting the Abyss is like trolling /b/, but let's keep saving have
strictly no effect on the game. Someone could scum AKs until getting a
layout they want.
Note that there's an unbounded memory leak as well, in WorleyLayout: it
doesn't free source layouts passed to it. These are sometimes malloced,
sometimes references to static objects, so it's not as simple a matter.
|
| | |
|
| |
| |
| |
| | |
slightly for tiny screens
|
|/
|
|
| |
Including the mutation and A! screen.
|
|
|
|
|
|
|
|
|
|
| |
For most header files, this only saves on having to recompile a
small number of source files, but there are also a few headers
where small changes would now take significantly less time.
This is most obvious for the Tiles build for which the dependencies
have been greatly reduced, so that the only additional includes
when compared to console are strictly library or tile related.
|
|
|
|
|
|
|
|
|
|
| |
This fixes races that don't support some mutations being more resistant to
mutating attempts: there will be rerolls in such a case. Conflicts with
other regular mutations still decrease the chance, in line with deliberately
failing such attempts when heavily mutated.
The code is also quite a bit faster in all practical cases, although slower
in pathological wizmode scenarios that can't possibly happen in real games.
|
|\
| |
| |
| | |
Yay for conflicts galore (wax removal, std:: purge, tileidx changes).
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I had to rename distance() (in coord.h) to distance2() because it conflicts
with the STL function to compare 2 iterators. Not a bad change given how it
returns the square of the distance anyway.
I also had to rename the message global variable (in message.cc) to buffer.
I tried to fix and improve the coding style has much as I could, but I
probably missed a few given how huge and tedious it is.
I also didn't touch crawl-gdb.py, and the stuff in prebuilt, rltiles/tool
and util/levcomp.*, because I have no clue about those.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
810e6f85 removed clearing constriction data from monster::reset() and
introduced an assert() that monsters were not being constricted when
they were reset. While this would work for freshly-initialised monsters,
the level builder and level loading code both used reset() to clear the
entire array of monsters in preparation for new monster data, causing a
crash on failed assertion whenever the player tried to leave the level
when any monster on the level was constricting something.
This commit introduces a reset_all_monsters() function to replace the
snippets where the monster data was being cleared, and clears
constriction data for valid monsters before calling reset() on them.
Fixes #6055.
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
| |
It uses a temporary file for the save file. This fixes canned tests breaking
if a run has been aborted (and thus a save by that name exists), and also
allows concurrently running multiple instances of the same test.
Implies wizmode.
|
| |
|