| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Beholders were getting saved as signed bytes, so any mermaid with a monster
index higher than 127 would come out as a negative number, crashes ensuing.
Only the first 50 unrandart existance entries were getting saved, allowing
roughly 1/3 of the unrandarts to be created multiple times.
|
|
|
|
|
|
|
| |
I would appreciate it if people would use TAG_MINOR constants instead of
just sprinkling magic numbers in the save code. Stuff like this makes it
impossible to systematically expunge old minor code, since we do that by
looking for uses of the removed TAG_MINOR constants.
|
| |
|
|
|
|
| |
these days.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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. :-)
|
| |
|
|
|
|
|
|
| |
immediately cast
to std::string.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit creates a new specifier for vaults: "TILE". Used much in the
same way as COLOUR, it can apply any specific tile to a feature. Example
syntax is specified in the syntax file, but copied here for clarity:
TILE: x = wall_flesh
Identical to FTILE and RTILE in syntax, but closer to COLOUR in
functionality. Instead of replacing the floor or relevant rock
tiles, this can be used to replace the tile used for any specific
feature.
This can be used in combination with FTILE and RTILE to change
the appearance of features. It can only be used with previously
specified tiles, however.
Like COLOUR and FTILE, this should be used sparingly and to good
effect.
Please, feel free to update vaults to use this! We want to ensure that
tiles players get the same experience as ASCII players do. This is only
the first stage in a push for greater flexibiltiy through tiles, but
hopefully it'll have a good impact.
|
|
|
|
|
| |
Also, the check for whether to do the corresponding effects has
been moved into effects.cc:handle_time.
|
| |
|
| |
|
|
|
|
| |
Also bumped minor version number.
|
| |
|
| |
|
|
|
|
|
|
| |
Store total time to recovery instead of turns in you.disease, change
you.disease to an integer, update tags and bump TAG_MINOR_VERSION
accordingly.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
CrawlHashTables and CrawlVectors can now contain monsters and Lua
chunks.
|
| |
|
|
|
|
| |
Also add a few previously indirect includes.
|
| |
|
|
|
|
|
|
| |
Store the minor version of a savefile being read into the reader class,
so that it doesn't need to be passed around as a method/function
parameter everywhere.
|
|
|
|
|
|
|
|
| |
map_cell no longer has the field "properties", which has been
replaced by the unsigned long array env.pgrid.
env.map has been renamed to env.map_knowledge. It should really
be moved into player.
|
|
|
|
| |
Breaks saves.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This should be used instead of setting position directly.
actor::position could be made "protected" except for the arena's
unwind_var(you.position), which is too difficult for me to fix.
The reason behind this change is that actors should get their
own LOS, whose origin should be synchronized with the actor's
position.
This change also removes the non-const "coord_def& actor::pos()" (yuk).
|
|
|
|
|
|
|
|
| |
There were several places that had copies of the same code, checking
whether mesmerisation blocked movement to a given target.
The various mesmerisation functions have become methods of player
and were moved into behold.cc.
|
|
|
|
|
|
|
| |
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().
|
|
|
|
|
|
|
| |
Small, blinking, and fast, these eyes come in packs and are found
natively in Slime (though somewhat rarely). Their confusion ability does
check MR before passing, however, and can be completely avoided by
having Clarity.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
env.show is now a class show_def that stores tagged
unions of type show_type. For the moment, there's also
env.show_los for use in LOS determination, but that
should become an array of boolean at some point.
This breaks save compatibility.
Tiles and console version build and appear to work
fine, but this kind of change is likely to have
some side-effects.
|
|
|
|
|
|
|
|
|
|
| |
Fixed MONS_NO_MONSTER == NUM_MONSTERS + 1, which was a problem because
MONS_NO_MONSTER can end up in savefiles, meaning that when NUM_MONSTERS
increased old save files would become broken.
unmarshall_monster() has a temporary hack to preserve compatibility with
old save files, and will fail a COMPILE_CHECK() when NUM_MONSTERS
increases beyond its current value.
|
|
|
|
|
| |
With DEBUG or DEBUG_MONS_SCAN, give error messages if marshalling or
unmarshalling a monster with an invalid type or which is out of bounds.
|
|
|
|
| |
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
|
|
|
|
|
|
|
|
|
| |
There's a whole lot of places that pass monster_type as int, often
with varying meanings for the value -1. This moves some of these
to monster_type, introducing MONS_NO_MONSTER and MONS_PLAYER as
new invalid special values.
Also improve on the autoexclude descriptions.
|
|
|
|
|
|
|
|
|
|
| |
Include new dump section "vaults", which for game-end dumps (or any
wizard-mode dumps) will include a list (by place) of all the vaults
generated in the game.
The savefile now includes a player-associated CrawlHashTable
(you.props), which can be used for storing player information which
doesn't need to be accessed efficiently.
|
|
|
|
|
|
|
| |
All demonspawn mutations are now stored in the player data, and are
determined at the same time. This makes a lot of things a lot simpler.
On the other hand, it means that the influence of skills and gods on
demonspawn mutations is now broken.
|
|
|
|
| |
Doesn't seem to break anything...
|
|
|
|
|
|
|
|
|
| |
Removed the savefile minor versions which were introducded in 0.5, since
bumping the major version from 5 to 6 breaks compatibility with 0.5
savefiles. Renumbered the 0.6 minor versions to start with 0.
This contains a hack to maintain compatibility with 0.6 savefiles before
the renumbering, a hack which should be removed before 0.6 is released.
|
|
|
|
|
|
| |
default.
It broken normal transformations...
|
| |
|
|
|
|
| |
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
|
|
|
|
|
| |
wrath, allow uncancelable transformations as part of it, and adjust his
Slimify power.
|
|
|
|
|
|
|
| |
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.
|