Mercurial > hg > early-roguelike
annotate README.txt @ 280:70aa5808c782
Fix potential segfaults at restore related to ctime().
In some games, restore() passes the result of ctime() to mvprintw() or
some other variadic message-formatting function. If ctime() has not
been declared properly, its return type is inferred to be int instead
of char *. This does not cause a warning because the compiler does not
know the correct type of variadic arguments.
On platforms where ints and pointers are not the same size, this can,
probably depending on alignment, result in a segfault that is not easy
to trace.
Including time.h fixes the problem. Some games manually declared
ctime() and avoided the bug. These declarations have also been
replaced with the include.
author | John "Elwin" Edwards |
---|---|
date | Fri, 15 Sep 2017 20:51:10 -0400 |
parents | 7fcb2f9f57e6 |
children | fa70bba6bb3f |
rev | line source |
---|---|
248
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
1 --- Early Roguelike Collection |
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
2 |
80 | 3 This is the source for the Roguelike Gallery's versions of Rogue and other |
248
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
4 early roguelike games, including Super-Rogue, Advanced Rogue, and XRogue. |
80 | 5 |
248
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
6 The code was obtained from the Roguelike Restoration Project (Web site at |
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
7 rogue.rogueforge.net). Modifications have been made for compatibility with the |
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
8 dgamelaunch play system, and compliance with modern C compiler standards. Some |
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
9 bugs have also been fixed, and the build process slightly improved. The |
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
10 essential flavor of a codebase half as old as stored-program computing |
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
11 machinery remains unchanged. The gameplay and the user interface will be kept |
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
12 true to the originals. |
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
13 |
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
14 This collection does not contain the versions of Rogue commercially released by |
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
15 Epyx for DOS, the Mac, and other graphical platforms of the 1980's. Nor does |
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
16 it include Rogue Clone, a reimplementation sometimes found in BSD or Linux |
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
17 distributions. |
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
18 |
265
7fcb2f9f57e6
Mention UltraRogue in the top-level README.
John "Elwin" Edwards
parents:
248
diff
changeset
|
19 UltraRogue has recently been added to the collection. It is still in an |
7fcb2f9f57e6
Mention UltraRogue in the top-level README.
John "Elwin" Edwards
parents:
248
diff
changeset
|
20 experimental state, with several known bugs. |
7fcb2f9f57e6
Mention UltraRogue in the top-level README.
John "Elwin" Edwards
parents:
248
diff
changeset
|
21 |
248
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
22 --- Installation |
80 | 23 |
122 | 24 To install on Unix (including OS X): |
106 | 25 |
26 If you checked out the source from Mercurial, run 'autoreconf' first. | |
27 | |
248
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
28 Build by running './configure' and then 'make' within each game's subdirectory. |
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
29 If you only want to play the games from one user account, 'configure' won't |
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
30 need any options. The games will keep the high score lists in whatever |
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
31 directory you run them from. |
106 | 32 |
33 For a multi-user installation, you will need to set the '--enable-setgid', | |
34 '--enable-savedir', '--enable-scorefile', and '--enable-logfile' options. Run | |
248
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
35 'make install' with root privileges after building. |
106 | 36 |
37 There are other possible options; run './configure --help' for a full list. | |
38 | |
39 To install on Windows: | |
40 | |
208
4146e2a06bc1
Update the Visual Studio project files.
John "Elwin" Edwards
parents:
154
diff
changeset
|
41 Visual Studio solution and project files are included. They are still being |
4146e2a06bc1
Update the Visual Studio project files.
John "Elwin" Edwards
parents:
154
diff
changeset
|
42 tested but should work with Visual Studio 2015 on Windows 8.1. |
4146e2a06bc1
Update the Visual Studio project files.
John "Elwin" Edwards
parents:
154
diff
changeset
|
43 |
4146e2a06bc1
Update the Visual Studio project files.
John "Elwin" Edwards
parents:
154
diff
changeset
|
44 You will need pdcurses before you can build. Create a folder called 'pdcurses' |
4146e2a06bc1
Update the Visual Studio project files.
John "Elwin" Edwards
parents:
154
diff
changeset
|
45 in this folder and copy into it curses.h, term.h, and pdcurses.lib from the |
4146e2a06bc1
Update the Visual Studio project files.
John "Elwin" Edwards
parents:
154
diff
changeset
|
46 pdcurses distribution. |
106 | 47 |
122 | 48 You can also build on Windows using MinGW. Make sure pdcurses is installed. |
49 You will have to go into the '/lib' folder and copy 'libpdcurses.a' to | |
50 'libcurses.a', and 'libpdcurses.dll.a' to 'libcurses.dll.a'; this should get | |
51 fixed soon. | |
52 | |
53 It is recommended to run 'configure' with the '--disable-logfile' option, and | |
54 'make' with the 'LDFLAGS=-static' option. | |
55 | |
265
7fcb2f9f57e6
Mention UltraRogue in the top-level README.
John "Elwin" Edwards
parents:
248
diff
changeset
|
56 UltraRogue is not yet integrated with Autoconf or the Visual Studio solution |
7fcb2f9f57e6
Mention UltraRogue in the top-level README.
John "Elwin" Edwards
parents:
248
diff
changeset
|
57 file. |
7fcb2f9f57e6
Mention UltraRogue in the top-level README.
John "Elwin" Edwards
parents:
248
diff
changeset
|
58 |
106 | 59 See the individual games' subdirectories for further documentation. Some of |
60 the manpages may be outdated, but the guides to playing should be accurate. | |
80 | 61 |
62 The games can be played via SSH or the Web at rlgallery.org. | |
106 | 63 |
248
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
64 --- Licensing |
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
65 |
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
66 Each game is covered by its own license, usually some variant of the 4-clause |
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
67 BSD license. See the LICENSE.TXT files in the individual subdirectories for |
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
68 more details. |
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
69 |
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
70 All modifications made by the Roguelike Gallery are available under the same |
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
71 terms as the game to which they were made. |
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
72 |
182e26224f92
README.txt: additions and clarifications.
John "Elwin" Edwards
parents:
241
diff
changeset
|
73 --- Bugs |
106 | 74 |
75 The original authors claimed that the list of bugs was "probably infinite". If | |
76 you encounter one of these, please report it on the bug tracker at | |
77 https://bitbucket.org/ElwinR/rl. |