| 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!
|
| |
|
|
|
|
|
| |
Trying to avoid socket being left open, while still sending assert
message and crash log file name to the WebTiles server.
|
| |
|
|
|
|
|
| |
For players this is displayed in a case of a crash/error/unexpected end.
For watchers the dialog is displayed regardless of how the game ended.
|
| |
|
|
|
|
| |
This is helpful when trying to diagnose problems with the GDB output.
|
| |
|
|
|
|
|
| |
It can't be stored in the options struct, as it's re-initialized when a game
starts, overwriting whatever came from the command line.
|
| |
|
|
|
|
| |
This lets GDB avoid having to print out all that extraneous garbage.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
At that point, the crash dump is dup2()ed to stdout+stderr and the original
closed.
|
|
|
|
|
|
| |
Since it's a crash, unwinding might fail, and there's another copy of
our process doing the same already. Heck, we could go for the nuclear
option and raise(9).
|
| |
|
|
|
|
|
|
| |
Its usefulness varies depending on existence of debug info, although in
every case I got at least one more symbol resolved than without it. Only
unstripped builds are fun, of course.
|
|
|
|
| |
You don't see this commit...
|
| |
|
|
|
|
| |
Not a big deal, but I found it stashed from ages ago and why not ...
|
|
|
|
|
|
|
|
|
|
| |
The watchdog will now use real time, and kill the game after 60 seconds,
but since DGL doesn't work on Windows anyway, this is not a problem.
If it is, just make the watchdog no-op. Windows users are not going to
run mapstat headless.
(And the infinite loop, while rare, is still definitely still here.)
|
|
|
|
| |
A hard limit of 60 seconds of CPU time per level.
|
| |
|
|
|
|
| |
crash_mutex only *exists* when USE_UNIX_SIGNALS is defined.
|
| |
|
| |
|
|
|
|
|
|
| |
Technically alarm() needs unistd.h; and apparently this is more than
a technicality on some systems:
https://crawl.develz.org/tavern/viewtopic.php?f=9&t=5791
|
|
|
|
|
|
| |
Also, I doubt this works differently on Android on other CPUs, and it
obviously hasn't been ever tested (the build script has ARM hard-coded
in a number of places).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2 files are added to the root of the repository:
* AndroidAppSettings.cfg: settings file required for Android SDL port. Will
change on each minor release to reset configuration.
* AndroidBuild.sh: script called by the Android SDL port to commence building
the game itself
It might be nice to be able to move them elsewhere, but for now, their
presence here is required.
The build process is documented in docs/develop/android.txt
There's a TOUCH_UI compiler flag which sets all the things specific to a
touch screen interface.
There has been a large amount of changes in the Makefile for redefining where
the dat/, saves/, etc. directories go, because the "install" part of the make
isn't the final destination for these files under Android - the environment we
deploy to is a separate device from the build environment.
There is also a number of changes to the tiles interface. Some are specific
to the TOUCH_UI, but others are also changed in USE_TILE_LOCAL.
Touch only:
* 'a'bilities menu goes straight to menu without prompting first
* tap menu header to toggle/submit
* menu instead of prompt to select which corpse to butcher
* same for eating food from the floor (those 2 could go in local tiles too)
* show_more defaults to false and less --more-- messages
* pickup mode defaults to menu
* defaults for tile_layout_priority is different (commands are more
important than inventory)
* popup for yes/no prompts, level-up stat gain and swapping rings (should
be used for all prompts, and probably local tiles too)
* spell casting: force selection menu
* map mode: left-click rather than right-click for mouse mode; autotravel on
left-click removed
* remove skills training and memorisation panels
Also local tiles (some could also be integrated in webtiles):
* commands below description are clickable
* clickable shopping menu (uses PrecisionMenu)
* split the command panel in 2 (common actions and system commands)
* add a map command panel
* tapping or left-clicking the player is smarter:
* picks up the item if there's one on the tile, otherwise
* shows pick-up menu if there's several items on the tile, otherwise
* traverses stairs (or enters a portal or shop) if one is present, otherwise
* prays if an altar is present, otherwise
* waits one turn
* right-clicking the map enters map mode and brings the map commands tab to
the front; map mode stays until exited rather than upon release of mouse
Some more details can be found in android_patch_notes.txt on #5677 (although
some TODOs are already obsolete).
Signed-off-by: Raphael Langella <raphael.langella@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
If we want them back for assertions, it'd be far better to save _before_
going into the crash handler.
|
|
|
|
| |
It had no corresponding .cc, too.
|
|
|
|
|
|
| |
There's a new crop of infinite loop bugs, they're hard to debug in DGL due
to permissions (only Napkin can attach gdb) so backtraces would be nice, and
taking 100% CPU on a public server is very detrimental to players.
|
|
|
|
| |
There's an implementation of it, yet the call itself was #ifdefed out.
|
| |
|
|
|
|
|
|
|
|
|
| |
Since Windows doesn't support pthreads without an external library, I used a
mess of #defines.
Also, some of the #defines are not needed; I copied them from an earlier
project. Detached threads and cond variables are not used at the moment, if
you feel bad about dormant code we can axe them.
|
|
|