| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
A good deal of functions move to the two new files, mon-poly and
mon-message. Of the others, some go to where they are used, some to
mon-util, and a few are made member methods of monster.
This probably breaks Xcode compilation, and I'm not able to test
the changes I made to MSVC that will (hopefully) keep it working.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Phantom Mirror
There was quite a bit of special case code for the 'fake' monsters
which Mara and other rakshasa would create that can be subsumed
beneath the general Phantom Mirror effect (which can properly create
fake dummies of any type of monster in a unified way).
The main practical gameplay difference that will result (aside from
bugs introduced by this, of course) is that the true Mara will
actually be disguised when he splits, instead of the player knowing
for sure which one he is (until two of them blink in the same turn,
anyway). This is a Mara buff, but it seems to me that an illusion
spell of this nature shouldn't have been so easy to see through in
the first place and that this is an overall better state of affairs.
(Also, the clones do have less hp than before, if you end up killing
the wrong one first).
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
| |
While this is not explicitly mentioned as a rule in coding_conventions,
all examples listed there apply it as well. The dungeon.cc chunk did
overflow max. columns before already, but could still be looked at.
|
| |
|
|
|
|
|
|
|
| |
It leads to no end of problems, and its only purpose was showing 'z'/'Z'
glyphs.
Note: custom monster glyphs on the main screen are broken since af76f80.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This is incomplete, partially because of me getting bored, partially because
of doubts about the point of leaving simple addition/etc in parentheses.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
For the time being, a stub exists in the old path, including that will flip
the switch to on.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
All or almost all of .data segment that is not referenced externally should
be done.
|
|
|
|
|
| |
This removes a hack I added while switching tile_place_monster to
monster_info.
|
| |
|
|
|
|
| |
This can matter only for cygwin, though.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now feature and item mimics have both the same name internally (and use
MF_NAME_ADJECTIVE). I hacked Mon_Name_Cache to allow creating them with &M, but
partial match doesn't work. You have to fully type "item mimic" or
"feature mimic".
Naming is changed a bit and use the item name (DESC_BASENAME). Examples:
a - ([) A storm dragon armour mimic
b - (!) A potion mimic
c - ($) A pile of gold mimic
Adding new item types is trivial now.
|
| |
|
| |
|
|
|
|
|
|
|
| |
"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.
|
|
|
|
|
|
| |
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 should help against the signed char problems, and is good for
code readability. Now, if you have a char, it's either an untyped
in-memory byte, or a symbol inside a string. Small numbers are instead
[u]int8_t, ints, an enum type, or, in so many cases, bools.
I didn't touch any of the tiles code, as it's currently broken and I don't
want to risk making it unbroken harder.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch converts several parts of the Crawl code to use monster_info
instead of accessing monsters directly.
This change is very intrusive and rewrites parts of the code.
Thus, bugs are quite likely being introduced.
The new code is however easier to understand and maintain and thus hopefully
should be a net gain once any problems are solved.
The code is probably somewhat slower, but this should be undetectable
in practice.
Major semantic changes:
- Rakshasas/Maras fakes are fully described as if they were the unequipped
base form, instead of having special cases
- MR is no longer reported with perfect information, but only based
on what the player sees
- Flight is now always perfectly reported (it already was, except
possibly for randarts giving +Lev)
- Mimics may be handled a bit different (the idea is that known mimics are
always monsters and unknown mimics are always items)
- Wounded status in messages is now colored (started as a bug, but seems
a feature to me)
Possible regressions:
- Name generation is totally rewritten, might have regressed
- In general, all the monster UI code has been refactored, possibly
with regression
- Special cases like mimics, rakshasas, Maras, ghosts, pan lords, named
monsters, divine minions, draconians and the arena mode are likely to be
the most at risk of having regressed
Signed-off-by: Robert Vollmert <rvollmert@gmx.net>
|
| |
|
|
|
|
|
|
|
| |
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...
|
|
|
|
| |
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
|
| |
|
|
|
|
|
|
|
| |
Also extract unwind_var template to unwind.h. The latter is now
included from AppHdr.h, though it needn't really be.
This means it's now possible to use coord_def in libutil.h.
|
|
|
|
|
| |
This should also hopefully deal with summoned ghosts in the kills
tracker.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This re-uses several ideas from the Emerald Eye FR, and implements the
spell "Mislead": this grants the "Misled" status effect to the player,
and causes on-level monsters to appear (glyph, name and tile) to be
other monsters. Only their appearance is changed.
Healing potions and rain remove this status effect.
Mara also has a beefed-up version of the Rakshasa clone spell: it
instead creates an "exact" clone (slightly altered spells list, and
non-unique status for his clones). Only two will ever be created at
once.
Finally, he has the spell "Summon Player Ghost". This spell creates a
ghost of the player (though marked as a summon, meaning that it
(shouldn't) register a milestone, though it will be treated as a
self-ghost kill) that is hostile. Only one of these should be existant
at any one point in time.
I'm pretty sure that I haven't broken anything, but would definitely
appreciate someone sanity-checking this commit.
Known minor issue: Kirke's summon ugly things being cast while having
the Misled status causes them to show up with no glyph.
|
|
|
|
| |
This mostly puts && and || on the proper lines, per the style guide.
|
|
|
|
|
| |
I'm pretty sure I've managed to replace every instance of a reference to
these files, so I hopefully haven't missed anything.
|
|
|
|
| |
Replace mons_is_shapeshifter(const monsters *m) in mon-util.cc with is_shapeshifter() in monster.cc
|
| |
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
|
|
|
|
| |
(new Xom effects), tweaked to fit into current trunk.
|
|
|
|
|
|
|
| |
The console version still compiles on Linux; both console and
tiles version compile in OS X. I haven't been able to test the
DOS and Windows compiles -- please fix or tell me about any
errors that show up.
|