summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/startup.cc
Commit message (Collapse)AuthorAgeFilesLines
* wait until the level is initialized to fixup skills (8568)Jesse Luehrs2014-08-151-3/+3
| | | | | | | 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
* Remove stuffNicholas Feinberg2014-07-291-1/+1
| | | | | | | .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!
* Add end.ccNicholas Feinberg2014-07-281-0/+1
|
* Staticify.Nicholas Feinberg2014-07-271-2/+2
|
* Move cio_init() from stuff.cc to startup.ccNicholas Feinberg2014-07-271-1/+14
| | | | The only place it was called.
* Clean up function and variable names for objstatgammafunk2014-06-251-1/+1
| | | | | | | | | 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
* objstat: Item and monster generation statisticsgammafunk2014-06-251-2/+9
| | | | | | | | 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.
* Clean up the mapstat function names and variablesgammafunk2014-06-241-1/+1
| | | | | | 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.
* Add a "New Game" option to the bottom of the save listNicholas Feinberg2014-06-201-7/+41
| | | | | | To provide an alternate path for players who don't realize the way to have more than one character running at a time. (Offline.)
* Remove four-year-old cruftNicholas Feinberg2014-06-201-10/+0
|
* Don't remove monsters behind glass on game startChris Campbell2014-06-111-2/+4
| | | | | | 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
* Move zap_los_monsters and apply it through glass.Shmuale Mark2014-06-111-1/+37
|
* Remove the now-superfluous friendly_pickup command suite.Shmuale Mark2014-05-281-2/+0
| | | | Including the default_friendly_pickup option.
* Remove player burden and carrying capacitygammafunk2014-05-261-1/+0
| | | | | | | | | | | 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.
* Melt away lava orcs.Steve Melenchuk2014-05-141-0/+2
| | | | | | | | | | | | | | | | 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).
* Fix NOWIZARD compilation (#8369).Neil Moore2014-04-141-0/+2
| | | | | The CLua console and --no-save were partially but not completely contained in #ifdef WIZARD. Make them both work without WIZARD.
* Take away xmas.Adam Borowski2013-12-271-1/+1
| | | | | | This reverts commit b0c9531a8997436f0bddfa218105d2e67c16f2ce. This reverts commit 054e7ae2f5fb42c12dc169898259e58f2dc5a77b, reversing changes made to 1ddc8957bd848179aac795187f07496f02932644.
* Sigmund -> Satan Claus.Adam Borowski2013-12-241-1/+1
| | | | Wields a hooked quarterstaff, throws snowballs.
* Drop double newlines where they seem to serve no purpose.Adam Borowski2013-12-211-1/+0
| | | | | 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.
* Start using -Wredundant-decls; fix all the instances I getSamuel Bronson2013-12-121-0/+1
| | | | | That is, unless you count the ones in ncurses' headers, which I can't do anything except suppress.
* Draw the HUD upon game start / level load.Adam Borowski2013-12-031-0/+4
| | | | | | | 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.
* Revert "Delay more prompt until level has finished loading."Adam Borowski2013-12-031-0/+5
| | | | | | | | | | | | | | | | | | | 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.
* Delay more prompt until level has finished loading.Raphael Langella2013-11-301-5/+0
| | | | | | | | 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.
* Drop unnecessary parentheses from return statements.Adam Borowski2013-11-151-3/+3
|
* Don't impose TSO penance for reflecting poison/draining (you still get xp).Adam Borowski2013-10-281-0/+1
| | | | This introduces a new pseudo-agent, akin to ANON_FRIENDLY_MONSTER.
* "./crawl -test list" to enumerate available internal tests.Adam Borowski2013-10-281-4/+6
| | | | | | | | | | (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.
* Make -test NORETURN and easier to valgrind.Adam Borowski2013-10-281-4/+2
|
* Fix a --test crash.Adam Borowski2013-10-281-0/+1
| | | | | Somehow, it was broken by 0.8.0-a0-33-g1659bee, yet no one runs --test in optimized builds, mostly because of makefile inadequacies.
* Allow easily aborting mapstat.Adam Borowski2013-10-131-0/+1
| | | | Ctrl-C should probably be enabled during database rebuild, too.
* Don't blank the screen during --mapstat.Adam Borowski2013-10-131-7/+5
| | | | Not being in curses should allow providing some output.
* Cancel an american speling.Adam Borowski2013-08-241-1/+1
| | | | | | 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.
* Don't crash on startup.Neil Moore2013-06-061-2/+2
| | | | We can't redraw the screen before the level is loaded.
* Don't let Lava Orcs incinerate ZotDef (#7150).Steve Melenchuk2013-06-061-0/+5
| | | | This is exceedingly kludgy, but it works.
* Merge branch 'master' into lava_orcsAdam Borowski2013-05-291-5/+13
|\
| * Use FixedBitArray instead of large arrays of bools.Adam Borowski2013-04-091-1/+1
| | | | | | | | | | The only cost is having assignments be a function, as you can't overload operator[] to have separate bits be lvalues.
| * Simplify.Adam Borowski2013-03-101-7/+4
| | | | | | | | | | Neither zapping monsters in LOS nor marking inventory items can affect tiles out of view.
| * Make whole Zot Defence map visible at game start in tiles.Samuel Bronson2013-03-101-3/+5
| | | | | | | | | | | | | | 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.
| * Free the cached abyss grid in some cases.Adam Borowski2013-03-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
| * tidied up some missing USE_TILE_LOCAL #ifdefsChris West2013-01-051-0/+2
| |
| * added scroll up/down arrows to MenuScroller; cleaned up initial menu text ↵Chris West2013-01-051-2/+7
| | | | | | | | slightly for tiny screens
* | Lava orc temperature tracking and temperature effectsEronarn Palazzo2013-01-081-0/+2
|/ | | | Including the mutation and A! screen.
* Remove unnecessary includes from header files.Jay3.14152012-10-231-0/+2
| | | | | | | | | | 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.
* Refactor choosing random mutations.Adam Borowski2012-10-231-2/+1
| | | | | | | | | | 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.
* Merge branch 'master' into glasnostAdam Borowski2012-08-311-25/+23
|\ | | | | | | Yay for conflicts galore (wax removal, std:: purge, tileidx changes).
| * Use std namespace.Raphael Langella2012-08-261-21/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * When clearing monster data between levels, clear constriction data properly.Steve Melenchuk2012-08-101-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Don't capitalize "Databases" when loading tiles.Adam Borowski2012-07-141-2/+2
| |
* | Drop the code for displaying/handling/etc secret doors.Adam Borowski2012-07-111-4/+0
|/
* An undocumented command-line option, --no-save.Adam Borowski2012-07-101-0/+3
| | | | | | | | 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.
* Some more return deparenthesization.Adam Borowski2012-07-051-1/+1
|