| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
.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!
|
| |
|
|
|
|
|
|
| |
It is still possible to lose the colour if the cell is permanently
reverted to its original type: for example, using Tomb on coloured
floor then digging out.
|
|
|
|
| |
This fixes all the instances caught by unbrace.
|
|
|
|
|
| |
They were so annoying they were removed from holy zigs, reducing their
appearnces to just a few vaults.
|
|
|
|
|
|
|
|
| |
It trades readability and consistency for an utterly negligible bit of
speed. With the amount of further processing mpr() does, a single sprintf
is nothing.
This reverts commit d9dfa8fc9755fb0a4e8954c7eb94f32fe97b82e0.
|
|
|
|
| |
Scripted, then manually reviewed.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These are map markers that create incrementally spreading clouds from
a source point, with a given maximal radius, total cloud volume, and
rate. New clouds will stop being produced when either the specific
number have been created, or all available areas within the max radius
are filled (this means that clouds can be made to flood corridors to
a wider distance than the same cloud volume would produce on open
terrain, similar to regular cloud spells)
An agent can be specified, and blame will be properly assigned based on
this, even if the agent dies before all the clouds are created.
|
| |
|
|
|
|
|
| |
The supporting code to allow them to actually do things will be
forthcoming.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These are the watch captains of the vault, similar in stats to a
greater vault guard, with more HD and slightly better equipment.
They can evoke a rune of sealing which slams shut doors near the
player and seals them closed. Sealed doors cannot be opened by the
player by any means (though they can still be destroyed in the usual
ways), although monsters can open them freely.
The seals will expire after a number of turns, or instantly upon
the death of the warden which sealed them.
|
| |
|
|
|
|
|
| |
The perl one-liner I use for this had a bug where it didn't match "else"
at the end of a line (ie, most of the time).
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
I left a few cases where it helps disambiguate between global and object
functions by the same name (formatted_string::cprintf(), etc).
|
| |
|
|
|
|
| |
For way too paranoid and underinclusive values of "simple".
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
While adhering religiously to the 80 column limit tends to be often pointless,
173 column long lines are way, way over the edge from the other side.
|
|
|
|
|
|
| |
This should retain the correct attitude across rebirth, and resolve any
issues with accessing the freed marker for information. It doesn't
resolve cross-level changes, though.
|
|
|
|
|
|
| |
They'll now resurrect themselves. Hopefully, there aren't too many bugs,
but it at least seems to work all of the time now, rather than just
simply when in LOS.
|
|
|
|
|
|
|
|
|
| |
Hatch destination is randomly chosen on level generation and is saved in a
map marker, so it's always the same. We don't bother using a marker for
shafts since they are single use.
Items falling through shafts have no reason to end up on the same
coordinates since they can even end up on a different level, so their
destination is randomised too.
|
|
|
|
|
|
|
| |
"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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, resurrection will be per-level, but support can later be
added for moving or recreating markers on the next level you go to if
you happen to be carrying a phoenix corpse with you.
It will also resurrect if the phoenix marker times out while you were
off level and the corpse was not otherwise destroyed. The mechanism will
track the location of the corpse, storing coord(-1, -1) when the corpse
is in your inventory, or the location otherwise.
Finally, none of this is actually coded, but the capacity now exists to
start using the new marker. That's really the hardest bit and the
longest to recompile, as it touches enum.h and mapmark.h.
More to come!
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
All markers that use function parameters now take FunctionWrappers instead of
raw functions. FunctionWrappers are saved by name instead of saving the
function's Lua bytecode, thus fixing the save incompatibility issue due to Lua
bytecode being incompatible across platforms.
|
|/ |
|
|
|
|
|
|
| |
Make reader::getMinorVersion() the standard way of accessing a tagged chunk's
minor version. The old confusing situation where getMinorVersion() was
sometimes valid and sometimes not was a recipe for problems.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This dumps the storage of the caster as part of the map marker, and
instead uses, temporarily and for monster-cast MG, the monster's full
name as a non-actor summoner.
Cons: the blame prefix won't work fully for monsters that are summoned
themselves casting Malign Gateway.
Future fix: replace passing of actor into mgen_data with a new struct,
ie "summon_chain", that contains relevant information (caster's name,
serial number, behaviour and own blame vector, for instance).
Increments minor version to 21. Finally, should fix loading of games
currently broken due to this bug.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
after version bump.
This is rather large, but rune_subst was in the saves, and I decided it was
cleaner to bump the major version than the minor one.
This updates enum.h. I apologize for the inconvenience.
This might have broken something, but the previous changes to .des files should
have taken care of that.
|
|
|
|
|
|
| |
I did review it manually to find places where they made sense (like some
tables), but for a massive sed job like this there might be places that
I missed.
|
| |
|
|
|
|
|
|
|
|
|
| |
This prevents multiple gateways from being opened by the player and
therefore multiple tentacles wreaking havoc upon one's enemies; the
current code means that, for example, if a monster opens a malign
gateway you won't be able to open one in retaliation.
Bumps minor version, hopefully in a safe manner.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Done:
* Portal now appears without tentacles, and generates clouds of
translocational energy before the tentacle appears.
* Portal is no longer a traversible square. This is somewhat
hackish but it works. Currently, the only monsters that will
enter it will be the actual tentacles themselves; if the
player attempts to enter, they will be harmed and blinked away
(there should be a prompt before entering).
To-do:
* Chance of the tentacle being hostile to start.
* Portal only generates surrounded by open squares.
* Tentacle eventually turns hostile.
* Tentacle speed and name (moving from demonic towards
"alien"-esque).
I'd rather push what has been done now than have to merge any massive
future changes as before.
|
|
|
|
| |
another map_markers object.
|
|
|
|
| |
This is just for least surprise.
|
| |
|
| |
|
|
|
|
| |
listeners from a square.
|
|
|
|
| |
list (Mu).
|
| |
|
|
|
|
|
|
|
| |
Actually, it should be named marshallInt32_t as that's what it does, but
that's hard to read, no architecture with smaller ints can conceivably run
Crawl and the only architecture with bigger ints is long dead. And in even
in such a case, everything will be fine except for name confusion...
|