diff options
author | Adam Borowski <kilobyte@angband.pl> | 2013-09-10 09:16:46 +0200 |
---|---|---|
committer | Adam Borowski <kilobyte@angband.pl> | 2013-09-10 13:35:07 +0200 |
commit | 30670662abe8d1661a589e493ca44220dc92b4d9 (patch) | |
tree | 7ed038b1d931862efd09caf6632751b7e038d8b7 /crawl-ref/source/stairs.cc | |
parent | cb2faac032b05e6105bba624180e36aa3202a314 (diff) | |
download | crawl-ref-30670662abe8d1661a589e493ca44220dc92b4d9.tar.gz crawl-ref-30670662abe8d1661a589e493ca44220dc92b4d9.zip |
Get rid of random_shuffle().
This should hopefully make games from the same seed proceed the same on all
architectures[1], as I can't think of anything else that behaves differently
based on pointer size, endianness or exact pointer values.
I used a NIH implementation instead of passing a third argument to
random_shuffle, as the interface is so much nicer.
[1]. This will be affected by terminal size (elemental colours are not
resolved outside the screen), tile windows size (random animations),
tiles/non-tiles and possibly others.
Also, I don't think we use STL hashes anywhere, but if we'd do, the STL
implementation will matter. Please don't make this stop you: this commit
is only to make test cases from my stress tests portable which is a small
benefit, perhaps even smaller than the nicer call interface.
Diffstat (limited to 'crawl-ref/source/stairs.cc')
-rw-r--r-- | crawl-ref/source/stairs.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/crawl-ref/source/stairs.cc b/crawl-ref/source/stairs.cc index 46d3050a08..8cc1a5cc3c 100644 --- a/crawl-ref/source/stairs.cc +++ b/crawl-ref/source/stairs.cc @@ -741,7 +741,7 @@ void down_stairs(dungeon_feature_type force_stair) ASSERT(runes.size() >= 3); - random_shuffle(runes.begin(), runes.end()); + shuffle_array(runes); mprf("You insert the %s rune into the lock.", rune_type_name(runes[0])); #ifdef USE_TILE_LOCAL tiles.add_overlay(you.pos(), tileidx_zap(GREEN)); |