tConvert changelog to markdown - vaccinewars - be a doctor and try to vaccinate… | |
git clone git://src.adamsgaard.dk/vaccinewars | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 106e6938500e2c08c9df26b6462e9a841a955228 | |
parent a8b7509024621e87d90e5a373300e243da31654d | |
Author: Ben Webb <[email protected]> | |
Date: Thu, 10 Dec 2020 22:08:34 -0800 | |
Convert changelog to markdown | |
Diffstat: | |
D ChangeLog | 575 -----------------------------… | |
A ChangeLog.md | 569 +++++++++++++++++++++++++++++… | |
M Makefile.am | 2 +- | |
M auxbuild/README-release | 2 +- | |
M rpm/dopewars.spec.in | 2 +- | |
5 files changed, 572 insertions(+), 578 deletions(-) | |
--- | |
diff --git a/ChangeLog b/ChangeLog | |
t@@ -1,575 +0,0 @@ | |
-1.6.0 06-12-2020 | |
- - Fixes to build with OpenWRT (thanks to Theodor-Iulian Ciobanu). | |
- - Write server pidfile after fork (thanks to Theodor-Iulian Ciobanu). | |
- - Updated German and French Canadian translations from Benjamin Karaca | |
- and Francois Marier. | |
- - Support for old GTK1 and GLIB1 libraries removed - we now need version 2 | |
- of these libraries to build dopewars. GTK+3 is also supported. | |
- - Update metaserver to work with new SourceForge; older versions can no | |
- longer successfully register with the metaserver. | |
- - Switch to using libcurl to talk to the metaserver (this supports https, | |
- unlike the old internal code). The metaserver configuration has changed | |
- accordingly; MetaServer.Name, MetaServer.Port and MetaServer.Path are | |
- replaced with MetaServer.URL, while MetaServer.Auth, MetaServer.Proxy*, | |
- and MetaServer.UseSocks are removed (set the https_proxy environment | |
- variable instead, as per | |
- https://curl.haxx.se/libcurl/c/libcurl-tutorial.html#Environment) | |
- - The default web browser on Linux has changed from 'mozilla' to | |
- 'firefox'; on Mac the system-configured default browser is used. | |
- - On Windows the high score file, log file, and config file are now | |
- stored in the user application data directory (e.g. | |
- C:\Users\foo\AppData\Local\dopewars) rather than the same directory as | |
- the dopewars binary. | |
- - Add sound support with SDL2, and on Mac. | |
- - Add 64-bit Windows binaries. | |
- - Fix for a DOS against the server using the REQUESTJET message type | |
- (thanks to Doug Prostko for reporting the problem). | |
- | |
-1.5.12 30-12-2005 | |
- - Really fix a potential exploit against the Win32 server when running as | |
- an NT service (user data was being used as a format string in some cases… | |
- | |
-1.5.11 30-12-2005 | |
- - Add example configuration file to the documentation. | |
- - Fixed various typos in the German translation (thanks to Jens Seidel | |
- and Francois Marier). | |
- - Fix a remote exploit against the Win32 server (thanks to KF). | |
- - High score file on Windows is now written into local application data | |
- directory if available, to work more efficiently on multi-user systems. | |
- | |
-1.5.10 24-10-2004 | |
- - High score file is now installed in ${localstatedir} rather than | |
- ${datadir}, to allow proper Filesystem Hierarchy Standard compliance | |
- - Fix for a curses client crash if the D key is pressed during attacks | |
- by the cops | |
- - Some problems with the curses client missing screen resize events fixed | |
- - Logging to a file should now work properly again | |
- - Minimum and maximum limits on all relevant integer configuration | |
- file variables are now imposed for sanity | |
- - Quique's Spanish translation is now available both in standard Spanish | |
- (es.po) and es_ES.po, which uses drugs slang from Spain | |
- - Fix for a trivial DOS of the server | |
- - Windows installer no longer hardcodes 'C:\Program Files' so should | |
- work with non-English versions of Windows | |
- | |
-1.5.9 07-06-2003 | |
- - The messages window in the curses client can now be scrolled with the | |
- + and - keys | |
- - The curses client now makes better use of space with screen sizes | |
- larger than 80x24 | |
- - Fix for a crash encountered if you drop drugs and then encounter | |
- the cops | |
- - Addition of -P, --player command line option to set the player name | |
- to use (thanks to Michael Mitton) | |
- | |
-1.5.8 21-10-2002 | |
- - Options dialog now allows sounds for all supported game events to be set | |
- - BindAddress config variable added, to allow the server to be bound to | |
- a non-default IP address | |
- - BankInterest and DebtInterest variables added, to allow the | |
- configuration of interest rates (with thanks to Matt) | |
- - New "UTF8" ability added; if client and server share this ability, then | |
- all network messages will be sent in UTF-8 (Unicode) encoding (without | |
- the ability, all messages are assumed to be in your locale's default | |
- codeset, which may cause problems on non-US ASCII systems) | |
- - Names.Month and Names.Year have been replaced with StartDate.Day, | |
- StartDate.Month, StartDate.Year and Names.Date; these can be used to | |
- handle the date display properly after the turn number exceeds 31 | |
- - encoding and include config directives added, to allow the config file's | |
- encoding (usually taken from the locale) to be overridden, and to allow | |
- the inclusion of other config files | |
- - Spanish translation added by Quique | |
- - The Windows build of dopewars should now use Unicode throughout, on | |
- platforms with Unicode support (i.e. NT/2000/XP) | |
- - Under Windows XP, the "pretty" new common controls are now used | |
- - Sounds provided by Robin Kohli of www.19.5degs.com | |
- | |
-1.5.7 25-06-2002 | |
- - Sound support; Windows multimedia, ESD and SDL outputs are supported; | |
- the individual modules can be statically linked in, or built as true | |
- "plugins" | |
- - Version mismatches between client and server are now treated more | |
- sensibly (it's all done server-side, and spurious warnings are now | |
- removed - only an old client connecting to a new server will | |
- trigger them) | |
- - Bug fix: when the buttons in the Fight dialog are not visible to a | |
- mouse user, previously you were able to access them via the keyboard | |
- shortcuts; now fixed. | |
- - configure should now work properly if GLib 2.0 is installed but | |
- GTK2.0 is not | |
- - Norwegian Nynorsk translation added by �smund | |
- - If dopewars is run setuid/setgid, it will now only use this privilege | |
- to open the default (hard-coded) high score file; it will not open | |
- a user-specified high score file with privilege | |
- - It is no longer necessary to run "dopewars -C" on a zero-byte high | |
- score file; it will be converted automatically | |
- - A new server command "save" can be used to save the current configuration | |
- to a named config file | |
- | |
-1.5.6 29-04-2002 | |
- - Bug fix: the server will only let you pay back loans or deal with the | |
- bank when you are at the correct location, and you can no longer | |
- "pay back" negative amounts of cash to the loan shark | |
- - Minor improvements to fighting code | |
- - The GTK+2 client should now run properly in non-UTF8 locales, and | |
- handle configuration files in both UTF8 and non-UTF8 locales | |
- - Unsafe list iteration in serverside code (which could possibly cause | |
- memory corruption) fixed | |
- - Another dumb PPC bug fixed | |
- - Incorrect LIBS generated by configure script in some circumstances | |
- (due to a GTK+/Glib bug) - now fixed | |
- - Everything should now build with autoconf-2.53 (if desired) | |
- | |
-1.5.5 13-04-2002 | |
- - On fight termination the player is now allowed to close the "Fight" | |
- dialog before any new dialogs pop up | |
- - Bug caused by a "fight" interrupting a "deal" fixed | |
- - dopewars no longer crashes if you set e.g. NumGun = 0 | |
- - Incorrect handling of WM_CLOSE under Win32 fixed | |
- - Unix server now fails "gracefully" if it cannot create the Unix domain | |
- socket for admin connections | |
- - New ServerMOTD variable to welcome players to a server (with thanks | |
- to Mike Robinson) | |
- - GTK+ client should now work with GTK+2.0 | |
- | |
-1.5.4 03-03-2002 | |
- - Basic configuration file editor added to GTK+ client | |
- - Annoying flashing on closure of modal windows in Win32 fixed | |
- - Win32 client now uses "proper" dialog boxes (i.e. without a window menu) | |
- - Icon added for GTK+ client | |
- - Bug with withdrawing cash from the bank fixed | |
- - URL in GTK+ client "About" box is now clickable | |
- - Crash bugs when running on PPC systems fixed (with thanks to Zeke | |
- and Brian Campbell) | |
- | |
-1.5.3 04-02-2002 | |
- - Text-mode server is now non-interactive by default (server admin can | |
- connect later with the -A option) | |
- - Windows server can now be run as an NT Service | |
- - Fatal bug when visiting the bank (under Win2000/XP) fixed | |
- - Windows installer should now upgrade old versions properly | |
- - Currency can now be configured with Currency.Symbol and Currency.Prefix | |
- - Windows client windows cannot now be made unreadably small | |
- - Bank/loan shark dialog now warns on entering negative prices | |
- - Default configuration is restored properly at the start of each game | |
- - Translations should now work with the Windows client | |
- - Documentation on the client-server protocol added | |
- - Windows graphical server can be minimized to the System Tray | |
- - Keyboard shortcuts for menu items in Windows client | |
- - Default buttons (ENTER -> "OK") for Windows client | |
- - RPM build/make install can now be run as non-superuser | |
- - Win32 install for current user/all users | |
- - Code cleanups | |
- | |
-1.5.2 16-10-2001 | |
- - Slightly easier-to-use "run from fight" Jet dialog (avoids the crazy | |
- "windows pop up faster than you can close them" syndrome) | |
- - Support for HTTP proxies and authentication | |
- - SOCKS4 and SOCKS5 (user/password) support | |
- - French translation added by leonard | |
- - Boolean configuration variables (TRUE/FALSE) now supported | |
- - Many code cleanups | |
- - High score files now have a "proper" header, so that file(1) can | |
- identify them, and so the -f option cannot be used to force setgid-games | |
- dopewars to overwrite random files writeable by group "games" - use | |
- the -C option to convert old high score files to the new format | |
- - GNU long command line options now accepted on platforms with getopt_long | |
- - Simple installer now in place for Win32 systems | |
- | |
-1.5.1 19-06-2001 | |
- - Improved logging in server via LogLevel and LogTimestamp variables | |
- - Metaserver (both client and server) moved to SourceForge | |
- - Icons (courtesy of Ocelot Mantis) and GNOME desktop entry added | |
- | |
-1.5.0 13-05-2001 | |
- - Fixes for spurious tipoffs | |
- - High scores should now be written properly on Win32 systems | |
- - Various minor usability fixes on Win32 systems | |
- | |
-1.5.0beta2 29-04-2001 | |
- - Various fixes for installation on BSD systems and Mac OS X | |
- - Multiplayer menus (spy on player, etc.) are now greyed out in GTK+ client | |
- when in single-player mode | |
- - Manpage (courtesy of Leon Breedt) added in doc/ | |
- - Fix for missing "bgetch" when configured with --disable-curses-client | |
- - Broken "trenchcoat" message fixed | |
- - Value of bought drugs now displayed in curses client | |
- - AI players now are at least partially functional | |
- - Fix for server segfault on invalid short network messages | |
- - dopewars no longer runs GTK+ setgid | |
- - "make install" installs dopewars as group "wheel" if "games" is | |
- unavailable | |
- | |
-1.5.0beta1 08-04-2001 | |
- - Completely rewritten fighting code | |
- - Internationalization (i18n) support | |
- - Tense and case-sensitive translated strings handled via dpg_ analogues | |
- to glib's g_ string handling functions %P = price, | |
- %Txx or %txx = tense-sensitive string, %/.../ = comment (ignored) | |
- - Networking revamped - now uses nonblocking sockets to improve server | |
- responsiveness and to remove deadlocks (previously, any client could | |
- halt server by sending an unterminated message); "abilities" added to | |
- allow backwards-compatible protocol extensions; player IDs used rather | |
- than player names to save bandwidth, with newer client+server | |
- - Drug values now stored by server (e.g. "you have 5 Weed @ $600); sent | |
- only if DrugValue config. variable is set, and only to new clients | |
- (based on a patch by Pierre F) | |
- - Spying fixed (cannot now spy on a player until they accept your bitch) | |
- - Longer T>alk and P>age messages allowed in curses client | |
- - Minor bug fixes to configure options | |
- - configure script tweaked to fix networking under Solaris (and friends) | |
- (with thanks to Caolan McNamara) | |
- - Client-side code moved out of clientside.c and dopewars.c; | |
- client-specific code now placed in <xxx>_client.c, while generic code is | |
- in message.c | |
- - GTK+ client added | |
- - Native "pointy-clicky" Win32 graphical client added (via GTK+ emulation) | |
- - GLib dependency introduced; string and list handling is taken care of | |
- now by GLib routines | |
- - Configuration files now handled by GLib's GScanner; "string lists" | |
- (of the format { "string1", "string2", "string3" } ) are now supported | |
- for configuration of subway sayings, "stopped to" and overheard songs | |
- - Timeouts bug fixed | |
- - MaxClients bug fixed | |
- | |
-1.4.8 09-07-2000 | |
- - Several fixes to Win32 networking code | |
- - IdleTimeout and ConnectTimeout variables added, to allow the server to | |
- break connections that have been idle for too long, or take too long | |
- to (dis)connect, respectively | |
- - Servers now use UDP packets to communicate with metaserver, for | |
- a faster response to changing game conditions; the client, and older | |
- versions of the server, still use the "old" CGI script interface; | |
- MetaServer.Port variable split into .HttpPort and .UdpPort | |
- - MetaServer.Password can now be used with a blank MetaServer.LocalName | |
- (with the new metaserver interface only) in order to identify servers | |
- whose IPs are dynamic (but are otherwise the "same" server); this passwo… | |
- must, again, be acquired from the metaserver maintainer | |
- - Metaserver now records current & maximum numbers of players, high | |
- scores, and last update time and uptime, for each server | |
- - Servers now re-register with metaserver when players join or leave, | |
- on receipt of a SIGUSR1 signal, and periodically | |
- - Metaserver list in client now lists uptime, and current/maximum | |
- numbers of players | |
- - Pid file maintained while in server mode (-r command line switch) | |
- - Names of the gun shop, pub, bank and loan shark can now be customised | |
- (GunShopName, RoughPubName, BankName and LoanSharkName) | |
- - When a player tries to run from a fight, running to the current location | |
- now takes them back to the fighting screen | |
- | |
-1.4.7 14-01-2000 | |
- - Minor fixes to Win32 code | |
- - dopewars now uses autoconf to (hopefully) build properly on odd sytems | |
- such as HP-UX, and also to build "out of the box" under Cygwin (win32) | |
- - long long datatype used for all prices on platforms that support it | |
- - fixes to strtoprice and pricetostr code; replacement of code which | |
- uses printf("%ld") for prices with pricetostr calls (with thanks to | |
- Coolio) | |
- - "Leave" option added to Bank | |
- - Messages window is now only displayed for network games | |
- - Binary can be compiled without TCP/IP networking support (e.g. for use | |
- on standalone systems) by configuring with --disable-networking | |
- - Minor modification to config. file handling to allow variables to be set | |
- to null strings (use "Variable=") | |
- - Option to allow the "local" server name to be specified when registering | |
- with the metaserver - MetaServer.LocalName variable. Useful when the | |
- metaserver refuses to resolve your IP address to your "preferred" domain | |
- name or when connecting via an enforced web proxy. Email the metaserver | |
- maintainer, for an authentication password (MetaServer.Password) linked … | |
- your chosen domain name, to use this option successfully. | |
- | |
-1.4.6 12-11-1999 | |
- - Bug fix for message window and "sew you up" prompt | |
- - Bug fix for server hanging in LoseBitch function | |
- - If player opts to play again, server selection method used last time | |
- is used again | |
- - Terminal resizing now handled properly | |
- - Port to Win32 (Windows 95,98,NT) console mode | |
- | |
-1.4.5 21-10-1999 | |
- - Limited support now for terminals at sizes other than 80x24; but response | |
- to a resize during the program run doesn't work properly yet... | |
- - Minor improvements to AI players | |
- - Corrected website address displayed by client on connecting to a | |
- server of a different version | |
- - If player opts to play again, defaults to the name they used last time | |
- - Server now disconnects clients when their game ends (rather than | |
- waiting for them to politely disconnect) - this gets around the problem | |
- of particularly unresponsive clients getting killed and then sitting | |
- around in an "undead" state, able to be repeatedly killed by other | |
- players | |
- - Armed players cannot now "stand and take it" (why would you want to | |
- anyway?) in multiplayer fights | |
- - Client now offers to obtain the list of available servers from the | |
- metaserver, to select one to connect to | |
- - "Special" values (MetaServer), (Prompt) and (Single) (including the | |
- brackets) now accepted for the "Server" variable, which instruct the | |
- client to list the servers, prompt the user for a server, or play | |
- in single-player mode, rather than connecting immediately to a server | |
- - "MetaServer.Port" variable added to facilitate connection to the | |
- metaserver via a proxy server (with thanks to Tony Brown) | |
- - Signal handling cleaned up | |
- - Buffer overflow problem with ExtractWord() fixed (hopefully) (with thanks | |
- to Lamagra) | |
- - Command line option -S for running a "private" server (do not contact | |
- the metaserver) | |
- - Prices for spies and tipoffs can be customised; this information is not | |
- communicated properly between 1.4.5 and earlier versions, of course. | |
- In such a case, the game will still work properly, although the client | |
- may report erroneous spy and tipoff prices | |
- - Fixed dodgy "pricetostr" function | |
- - Bug fix for "Drop" command in single-player mode | |
- - Command line option -g for specifying a supplementary configuration file | |
- - FightTimeout variable fixed - it now actually does something... | |
- - GunShop, LoanShark, RoughPub and Bank variables corrected so that they | |
- take actual location numbers now - not (location-1). WARNING: this | |
- breaks old configuration files! | |
- - Full HTML documentation now provided | |
- - Prices of bitches for hire can now be configured - Bitch.MinPrice and | |
- Bitch.MaxPrice | |
- - Removed description of non-existent "die" command in server | |
- - Minor fixes in antique mode | |
- - Fix of NumDrug and NumGun processing (now allows more than the default | |
- number of drugs and guns) (with thanks to Matt Higgins) | |
- - "ConfigVerbose" option added to display extra feedback during config | |
- file processing (with thanks to Matt Higgins) | |
- | |
-1.4.4 16-09-1999 | |
- - Full compatibility with 1.4.3 servers and clients maintained | |
- (although a warning is displayed to upgrade as soon as possible) | |
- - dopewars client now properly redraws the screen when Ctrl-L is pressed | |
- - Server output is now line-buffered by default for more sensible output | |
- of log files | |
- - L>ist bug in single player mode fixed | |
- - Number of game turns can now be configured with the "NumTurns" | |
- variable, or the game can be left to go on forever if it's set to zero | |
- - The shortcuts "k" and "m" are now supported in any input of numbers | |
- (e.g. money to put in the bank). So, for instance, typing 1.5m would | |
- be short for typing 1500000 (m=million, k=thousand) | |
- - Server now automatically contacts the dopewars metaserver (actually | |
- a CGI script), at bellatrix.pcl.ox.ac.uk, whenever it is brought up or | |
- down, to keep the list of servers on the dopewars webpage up to date. | |
- Aspects of the server's communication with the metaserver can be | |
- configured with the MetaServer.xxx variables | |
- - Names of the two police officers which chase you (originally | |
- Hardass and Bob) can now be configured with the variables | |
- "Names.Officer" and "Names.ReserveOfficer" respectively | |
- (provided by: Mike Meyer) | |
- - Several uses of the string constant "bitches" rather than | |
- the variable "Names.Bitches" have been spotted, and corrected | |
- (provided by: Mike Meyer) | |
- - "Sanitized" variable - if nonzero, removes drug references | |
- (random events, the cops, etc.) - obviously drug names need to also | |
- be changed in the config. file to complement this. Turns dopewars into | |
- a simple trading game | |
- (provided by: Mike Meyer) | |
- - Minor formatting cleanups to accommodate longer drug names on the | |
- screen neatly | |
- (provided by: Mike Meyer) | |
- | |
-1.4.3 23-06-1999 | |
- - Bug with random offer of weed/paraquat fixed | |
- - L>ist command now offers list of logged-on players or high scores | |
- - "Out of time" message to explain why the game stops suddenly after | |
- 31 days | |
- - Bank is now a little more user-friendly | |
- - Messages announcing players leaving or joining the game now appear in | |
- the central "messages" window, rather than the main, bottom window | |
- - Clients should now behave properly after the server crashes (or they | |
- are pushed off the server) - i.e. they should revert to a single-player | |
- mode game | |
- - price_t type used for all prices | |
- - Server interactive interface is now greatly improved, complete with | |
- help screen | |
- - SO_REUSEADDR set so that server can be restarted immediately if it crash… | |
- - Facility to drop unwanted drugs, with the accompanying chance that you | |
- are caught by Officer Hardass and shot at | |
- - Fighting interface greatly improved:- | |
- - All player-player fighting now occurs in a specialised window. Players | |
- can switch between the standard "deal drugs" window and the fighting | |
- window with the D and F keys | |
- - Number of keystrokes required to shoot and acknowledge all the | |
- relevant messages now greatly reduced | |
- - Some indication is now given of the other player's status (number of | |
- bitches and guns) | |
- - Server now imposes timeouts on fights, so if an opponent does not | |
- return fire within a set time, a repeat attack is allowed | |
- - A bounty is paid out for killing an enemy bitch, and any guns/drugs | |
- they're carrying are passed on to the victor (if he/she is able to | |
- carry them) | |
- - A dead player's cash is appropriated by the victor of a fight | |
- - Handling of configuration files now greatly improved; the same options | |
- that are set here can also be set within the server as long as no | |
- players are connected. A large number of dopewars settings can be | |
- changed and customised from here. Customised settings will be used | |
- in single-player mode, and if dopewars is used as a server the settings | |
- will be propagated to any clients (of version 1.4.3 or higher) that | |
- connect. Not everything can be customised, but any remaining changes | |
- should be server-side only (and thus require no alteration to the | |
- clients). Options include:- | |
- - MaxClients option to limit the maximum number of players connected | |
- to the server | |
- - FightTimeout option to alter the length of the fight timeout | |
- - StartCash and StartDebt to change the default starting cash and debt | |
- of every player | |
- - Probabilities and toughness of Officer Hardass and his deputies can | |
- be "tweaked" | |
- - Numbers and names of locations, drugs and guns can be altered | |
- - The words used to denote "bitches", "guns" and "drugs" can be | |
- customised | |
- - Drugs can now be sorted by name or by price, in forwards or reverse | |
- order, with the DrugSortMethod option (can take values 1-4) | |
- | |
-1.4.2 16-05-1999 | |
- - AI player improvements | |
- - Message structure changed to use less bandwidth and neater code | |
- - Now easier to break out of buy/sell drug prompts etc. (by pressing an | |
- 'invalid' key or ENTER) | |
- - Cleanup of player list | |
- - Cleanup after a player leaves the server; i.e. remove any references to | |
- their spies or tipoffs with other players | |
- - Added highlight of most recent score (for systems without working | |
- A_STANDOUT attribute) | |
- - Fixed bug which caused all street-bought (i.e. not at Dan's gun shop) | |
- guns to be Saturday Night Specials | |
- - Prevented badly-behaved clients from continuing to jet to new locations | |
- after their death | |
- - Added code to remove whitespace from name=value data read from | |
- configuration file, and defaulted from $HOME/.dopewars to /etc/dopewars | |
- - Added "helpful" messages when guns cannot be bought or sold in gun shop | |
- - Minor cleanups of player-player fighting messages | |
- | |
-1.4.1b 28-04-1999 | |
- - segfault bug in server fixed | |
- | |
-1.4.1a 28-04-1999 | |
- - Interim release before 1.4.2; a few bug fixes in antique mode | |
- | |
-1.4.1 27-04-1999 | |
- - Fix of bug where paying off your debt would actually _increase_ it! | |
- Dunno how that one slipped through... I blame my beta testers... ;) | |
- | |
-1.4.0 27-04-1999 | |
- - Fixed bug with server; server now detects if standard input has | |
- been closed properly (previously if its input was redirected from | |
- /dev/null it would keep trying to read from it, using 100% CPU. Oops.) | |
- - First release under GPL | |
- | |
-1.3.8 26-04-1999 | |
- - Message structure changed; separator changed from : to ^ and extra | |
- field added to identify messages to AI players | |
- - Shorthand routines added for "printmessage" and "question" messages; | |
- SendPrintMessage and SendQuestion repectively | |
- - Display of status of fight with Officer Hardass cleaned up | |
- - All servers are now interactive; to run in background simply attach | |
- standard input and output to /dev/null | |
- - AI Player can now connect to server and perform simple actions | |
- - Bank and Loan Shark display cleaned up | |
- - Drug busts etc. now displayed all at once rather than singly | |
- - High scores now maintained by server | |
- - print_price replaced with FormatPrice | |
- - LOGF macro now used for all server log messages | |
- - Read in location of score files, server, port from ~/.dopewars | |
- - Fixed bugs in player-player fighting code | |
- | |
-1.3.7 28-03-1999 | |
- - Proper support for tipoffs and spies | |
- - Discovered spies cannot now be shot if you don't have a gun... | |
- - Option added for computer players (non-functional however) | |
- | |
-1.3.6 14-03-1999 | |
- - BreakoffCombat routine added to terminate fights cleanly when one | |
- player runs away from a fight (under 1.3.5 defending player would | |
- just hang when this was done...) | |
- | |
-1.3.5 27-02-1999 | |
- - Basic support for meeting other players; E_MEETOTHER event added | |
- - Simple player-player fights allowed with the use of E_WAITFIGHT, | |
- E_DEFEND and E_ATTACK events | |
- - Two players with same name bug fixed | |
- - "question" message extended; server now passes a list of allowed | |
- responses in the first "word" of message data | |
- | |
-1.3.4 25-02-1999 | |
- - Client and virtual server now maintain completely separate lists of | |
- players | |
- - GunShop now works properly; user can actually see what's going on! | |
- | |
-1.3.3 23-02-1999 | |
- - Complete implementation of fighting with Officer Hardass | |
- - E_DOCTOR event added to handle question "do you want a doctor to | |
- sew you up?" after killing Hardass | |
- - Clients now handle list and endlist messages properly to display | |
- lists of current players on starting a game | |
- - Minor bugfix to ensure game actually ends after the 31st | |
- - Client now wipes price list on each jet to stop old prices | |
- flashing up between messages from the server | |
- | |
-1.3.2 22-02-1999 | |
- - "subwayflash" message added | |
- - OfferObject/RandomOffer split into separate event from OfficerHardass | |
- - "smoke paraquat" also given separate event (E_WEED) and implemented | |
- - Bank/LoanShark bugfixes | |
- - Bugfix for drug price generation code | |
- - Partial implementation of fighting with Officer Hardass | |
- | |
-1.3.1 21-02-1999 | |
- - Drugs can now be bought and sold | |
- - RandomOffer and OfferObject routines added to handle server-based | |
- random events ("a friend gives you..." etc.) and object offers ("do | |
- you want to buy a..." etc.) although "smoke paraquat?" doesn't | |
- work properly | |
- - GunShop / LoanShark / Bank / Pub all handled by the server now | |
- - Some networking bugfixes | |
- | |
-1.3.0 20-02-1999 | |
- - Development series (moving decision-making from client to server to | |
- improve multi-player games and cut down on cheating, in preparation | |
- for an OpenSource release) | |
- - Simple implementation of a "virtual server" to handle the server-side | |
- stuff within a single-player game | |
- - Splitting up of Dopewars into dopewars.c (init. code and utils) | |
- message.c (message-handling code) | |
- serverside.c (server-side code) | |
- clientside.c (client-side code) | |
- - Drug prices now generated by server, not client - so synchronisation | |
- of turns (and drug prices) should be easy to implement in the future | |
- - Minimal functionality - networking backbone only... | |
- | |
-1.2.0 13-02-1999 | |
- - Stable release; some bugs in fighting code cleaned up | |
- | |
-1.1.26 13-02-1999 | |
- - "PolicePresence" member is now read - when a fight is started, there | |
- is a finite chance (varies from location to location) that the | |
- perpetrator will get attacked by the police | |
- - MinDrug and MaxDrug members added to Location struct - some locations | |
- may have a smaller range of drugs on offer than others | |
- | |
-1.1.25 11-02-1999 | |
- - Added an "Inventory" struct to keep track of players' belongings | |
- and anything dropped during a fight; winner of a fight now gets | |
- whatever the other player dropped (guns and/or drugs) | |
- | |
-1.1.24 9-02-1999 | |
- - Put in code to "finish" fights properly when one player escapes | |
- - Attacking player is now told whether they hit the other player or | |
- not when in a fight | |
- | |
-1.1.23 3-02-1999 | |
- - "Jet" command replaced with "Run" when in a fight | |
- - "PolicePresence" member added to Location struct | |
- - GunShop bug fixed (guns were taking up no space) | |
- | |
-1.1.22 30-01-1999 | |
- - Implemented very simple "shoot at another dealers" code; players, on | |
- arriving at a location where another dealer already is, can choose | |
- to attack (if they have any guns). The attacked player can then | |
- choose to return fire or run for it... | |
- | |
-1.1.21 29-01-1999 | |
- - Added support for the "spy on another dealer" bitch errand | |
- | |
-1.1.20 29-01-1999 | |
- - Added support for the "tip off another dealer to the cops" bitch | |
- errand | |
diff --git a/ChangeLog.md b/ChangeLog.md | |
t@@ -0,0 +1,569 @@ | |
+# 1.6.0 06-12-2020 | |
+- Fixes to build with OpenWRT (thanks to Theodor-Iulian Ciobanu). | |
+- Write server pidfile after fork (thanks to Theodor-Iulian Ciobanu). | |
+- Updated German and French Canadian translations from Benjamin Karaca | |
+ and Francois Marier. | |
+- Support for old GTK1 and GLIB1 libraries removed - we now need version 2 | |
+ of these libraries to build dopewars. GTK+3 is also supported. | |
+- Update metaserver to work with new SourceForge; older versions can no | |
+ longer successfully register with the metaserver. | |
+- Switch to using libcurl to talk to the metaserver (this supports https, | |
+ unlike the old internal code). The metaserver configuration has changed | |
+ accordingly; `MetaServer.Name`, `MetaServer.Port` and `MetaServer.Path` are | |
+ replaced with `MetaServer.URL`, while `MetaServer.Auth`, `MetaServer.Proxy*`, | |
+ and `MetaServer.UseSocks` are removed (set the `https_proxy` environment | |
+ variable instead, as per | |
+ https://curl.haxx.se/libcurl/c/libcurl-tutorial.html#Environment) | |
+- The default web browser on Linux has changed from 'mozilla' to | |
+ 'firefox'; on Mac the system-configured default browser is used. | |
+- On Windows the high score file, log file, and config file are now | |
+ stored in the user application data directory (e.g. | |
+ `C:\Users\foo\AppData\Local\dopewars`) rather than the same directory as | |
+ the dopewars binary. | |
+- Add sound support with SDL2, and on Mac. | |
+- Add 64-bit Windows binaries. | |
+- Fix for a DOS against the server using the REQUESTJET message type | |
+ (thanks to Doug Prostko for reporting the problem). | |
+ | |
+# 1.5.12 30-12-2005 | |
+- Really fix a potential exploit against the Win32 server when running as | |
+ an NT service (user data was being used as a format string in some cases). | |
+ | |
+# 1.5.11 30-12-2005 | |
+- Add example configuration file to the documentation. | |
+- Fixed various typos in the German translation (thanks to Jens Seidel | |
+ and Francois Marier). | |
+- Fix a remote exploit against the Win32 server (thanks to KF). | |
+- High score file on Windows is now written into local application data | |
+ directory if available, to work more efficiently on multi-user systems. | |
+ | |
+# 1.5.10 24-10-2004 | |
+- High score file is now installed in `${localstatedir}` rather than | |
+ `${datadir}`, to allow proper Filesystem Hierarchy Standard compliance | |
+- Fix for a curses client crash if the D key is pressed during attacks | |
+ by the cops | |
+- Some problems with the curses client missing screen resize events fixed | |
+- Logging to a file should now work properly again | |
+- Minimum and maximum limits on all relevant integer configuration | |
+ file variables are now imposed for sanity | |
+- Quique's Spanish translation is now available both in standard Spanish | |
+ (`es.po`) and `es_ES.po`, which uses drugs slang from Spain | |
+- Fix for a trivial DOS of the server | |
+- Windows installer no longer hardcodes `C:\Program Files` so should | |
+ work with non-English versions of Windows | |
+ | |
+# 1.5.9 07-06-2003 | |
+- The messages window in the curses client can now be scrolled with the | |
+ + and - keys | |
+- The curses client now makes better use of space with screen sizes | |
+ larger than 80x24 | |
+- Fix for a crash encountered if you drop drugs and then encounter the cops | |
+- Addition of -P, --player command line option to set the player name | |
+ to use (thanks to Michael Mitton) | |
+ | |
+# 1.5.8 21-10-2002 | |
+- Options dialog now allows sounds for all supported game events to be set | |
+- BindAddress config variable added, to allow the server to be bound to | |
+ a non-default IP address | |
+- BankInterest and DebtInterest variables added, to allow the | |
+ configuration of interest rates (with thanks to Matt) | |
+- New "UTF8" ability added; if client and server share this ability, then | |
+ all network messages will be sent in UTF-8 (Unicode) encoding (without | |
+ the ability, all messages are assumed to be in your locale's default | |
+ codeset, which may cause problems on non-US ASCII systems) | |
+- Names.Month and Names.Year have been replaced with StartDate.Day, | |
+ StartDate.Month, StartDate.Year and Names.Date; these can be used to | |
+ handle the date display properly after the turn number exceeds 31 | |
+- encoding and include config directives added, to allow the config file's | |
+ encoding (usually taken from the locale) to be overridden, and to allow | |
+ the inclusion of other config files | |
+- Spanish translation added by Quique | |
+- The Windows build of dopewars should now use Unicode throughout, on | |
+ platforms with Unicode support (i.e. NT/2000/XP) | |
+- Under Windows XP, the "pretty" new common controls are now used | |
+- Sounds provided by Robin Kohli of www.19.5degs.com | |
+ | |
+# 1.5.7 25-06-2002 | |
+- Sound support; Windows multimedia, ESD and SDL outputs are supported; | |
+ the individual modules can be statically linked in, or built as true | |
+ "plugins" | |
+- Version mismatches between client and server are now treated more | |
+ sensibly (it's all done server-side, and spurious warnings are now | |
+ removed - only an old client connecting to a new server will | |
+ trigger them) | |
+- Bug fix: when the buttons in the Fight dialog are not visible to a | |
+ mouse user, previously you were able to access them via the keyboard | |
+ shortcuts; now fixed. | |
+- configure should now work properly if GLib 2.0 is installed but | |
+ GTK2.0 is not | |
+- Norwegian Nynorsk translation added by �smund | |
+- If dopewars is run setuid/setgid, it will now only use this privilege | |
+ to open the default (hard-coded) high score file; it will not open | |
+ a user-specified high score file with privilege | |
+- It is no longer necessary to run "dopewars -C" on a zero-byte high | |
+ score file; it will be converted automatically | |
+- A new server command "save" can be used to save the current configuration | |
+ to a named config file | |
+ | |
+# 1.5.6 29-04-2002 | |
+- Bug fix: the server will only let you pay back loans or deal with the | |
+ bank when you are at the correct location, and you can no longer | |
+ "pay back" negative amounts of cash to the loan shark | |
+- Minor improvements to fighting code | |
+- The GTK+2 client should now run properly in non-UTF8 locales, and | |
+ handle configuration files in both UTF8 and non-UTF8 locales | |
+- Unsafe list iteration in serverside code (which could possibly cause | |
+ memory corruption) fixed | |
+- Another dumb PPC bug fixed | |
+- Incorrect LIBS generated by configure script in some circumstances | |
+ (due to a GTK+/Glib bug) - now fixed | |
+- Everything should now build with autoconf-2.53 (if desired) | |
+ | |
+# 1.5.5 13-04-2002 | |
+- On fight termination the player is now allowed to close the "Fight" | |
+ dialog before any new dialogs pop up | |
+- Bug caused by a "fight" interrupting a "deal" fixed | |
+- dopewars no longer crashes if you set e.g. NumGun = 0 | |
+- Incorrect handling of `WM_CLOSE` under Win32 fixed | |
+- Unix server now fails "gracefully" if it cannot create the Unix domain | |
+ socket for admin connections | |
+- New ServerMOTD variable to welcome players to a server (with thanks | |
+ to Mike Robinson) | |
+- GTK+ client should now work with GTK+2.0 | |
+ | |
+# 1.5.4 03-03-2002 | |
+- Basic configuration file editor added to GTK+ client | |
+- Annoying flashing on closure of modal windows in Win32 fixed | |
+- Win32 client now uses "proper" dialog boxes (i.e. without a window menu) | |
+- Icon added for GTK+ client | |
+- Bug with withdrawing cash from the bank fixed | |
+- URL in GTK+ client "About" box is now clickable | |
+- Crash bugs when running on PPC systems fixed (with thanks to Zeke | |
+ and Brian Campbell) | |
+ | |
+# 1.5.3 04-02-2002 | |
+- Text-mode server is now non-interactive by default (server admin can | |
+ connect later with the -A option) | |
+- Windows server can now be run as an NT Service | |
+- Fatal bug when visiting the bank (under Win2000/XP) fixed | |
+- Windows installer should now upgrade old versions properly | |
+- Currency can now be configured with Currency.Symbol and Currency.Prefix | |
+- Windows client windows cannot now be made unreadably small | |
+- Bank/loan shark dialog now warns on entering negative prices | |
+- Default configuration is restored properly at the start of each game | |
+- Translations should now work with the Windows client | |
+- Documentation on the client-server protocol added | |
+- Windows graphical server can be minimized to the System Tray | |
+- Keyboard shortcuts for menu items in Windows client | |
+- Default buttons (ENTER -> "OK") for Windows client | |
+- RPM build/make install can now be run as non-superuser | |
+- Win32 install for current user/all users | |
+- Code cleanups | |
+ | |
+# 1.5.2 16-10-2001 | |
+- Slightly easier-to-use "run from fight" Jet dialog (avoids the crazy | |
+ "windows pop up faster than you can close them" syndrome) | |
+- Support for HTTP proxies and authentication | |
+- SOCKS4 and SOCKS5 (user/password) support | |
+- French translation added by leonard | |
+- Boolean configuration variables (TRUE/FALSE) now supported | |
+- Many code cleanups | |
+- High score files now have a "proper" header, so that file(1) can | |
+ identify them, and so the -f option cannot be used to force setgid-games | |
+ dopewars to overwrite random files writeable by group "games" - use | |
+ the -C option to convert old high score files to the new format | |
+- GNU long command line options now accepted on platforms with `getopt_long` | |
+- Simple installer now in place for Win32 systems | |
+ | |
+# 1.5.1 19-06-2001 | |
+- Improved logging in server via LogLevel and LogTimestamp variables | |
+- Metaserver (both client and server) moved to SourceForge | |
+- Icons (courtesy of Ocelot Mantis) and GNOME desktop entry added | |
+ | |
+# 1.5.0 13-05-2001 | |
+- Fixes for spurious tipoffs | |
+- High scores should now be written properly on Win32 systems | |
+- Various minor usability fixes on Win32 systems | |
+ | |
+# 1.5.0beta2 29-04-2001 | |
+- Various fixes for installation on BSD systems and Mac OS X | |
+- Multiplayer menus (spy on player, etc.) are now greyed out in GTK+ client | |
+ when in single-player mode | |
+- Manpage (courtesy of Leon Breedt) added in doc/ | |
+- Fix for missing "bgetch" when configured with --disable-curses-client | |
+- Broken "trenchcoat" message fixed | |
+- Value of bought drugs now displayed in curses client | |
+- AI players now are at least partially functional | |
+- Fix for server segfault on invalid short network messages | |
+- dopewars no longer runs GTK+ setgid | |
+- "make install" installs dopewars as group "wheel" if "games" is | |
+ unavailable | |
+ | |
+# 1.5.0beta1 08-04-2001 | |
+- Completely rewritten fighting code | |
+- Internationalization (i18n) support | |
+- Tense and case-sensitive translated strings handled via `dpg_` analogues | |
+ to glib's `g_` string handling functions `%P` = price, | |
+ `%Txx` or `%txx` = tense-sensitive string, `%/.../` = comment (ignored) | |
+- Networking revamped - now uses nonblocking sockets to improve server | |
+ responsiveness and to remove deadlocks (previously, any client could | |
+ halt server by sending an unterminated message); "abilities" added to | |
+ allow backwards-compatible protocol extensions; player IDs used rather | |
+ than player names to save bandwidth, with newer client+server | |
+- Drug values now stored by server (e.g. "you have 5 Weed @ $600); sent | |
+ only if DrugValue config. variable is set, and only to new clients | |
+ (based on a patch by Pierre F) | |
+- Spying fixed (cannot now spy on a player until they accept your bitch) | |
+- Longer `T>alk` and `P>age` messages allowed in curses client | |
+- Minor bug fixes to configure options | |
+- configure script tweaked to fix networking under Solaris (and friends) | |
+ (with thanks to Caolan McNamara) | |
+- Client-side code moved out of `clientside.c` and `dopewars.c`; | |
+ client-specific code now placed in `<xxx>_client.c`, while generic code is | |
+ in `message.c` | |
+- GTK+ client added | |
+- Native "pointy-clicky" Win32 graphical client added (via GTK+ emulation) | |
+- GLib dependency introduced; string and list handling is taken care of | |
+ now by GLib routines | |
+- Configuration files now handled by GLib's GScanner; "string lists" | |
+ (of the format { "string1", "string2", "string3" } ) are now supported | |
+ for configuration of subway sayings, "stopped to" and overheard songs | |
+- Timeouts bug fixed | |
+- MaxClients bug fixed | |
+ | |
+# 1.4.8 09-07-2000 | |
+- Several fixes to Win32 networking code | |
+- IdleTimeout and ConnectTimeout variables added, to allow the server to | |
+ break connections that have been idle for too long, or take too long | |
+ to (dis)connect, respectively | |
+- Servers now use UDP packets to communicate with metaserver, for | |
+ a faster response to changing game conditions; the client, and older | |
+ versions of the server, still use the "old" CGI script interface; | |
+ MetaServer.Port variable split into .HttpPort and .UdpPort | |
+- MetaServer.Password can now be used with a blank MetaServer.LocalName | |
+ (with the new metaserver interface only) in order to identify servers | |
+ whose IPs are dynamic (but are otherwise the "same" server); this password | |
+ must, again, be acquired from the metaserver maintainer | |
+- Metaserver now records current & maximum numbers of players, high | |
+ scores, and last update time and uptime, for each server | |
+- Servers now re-register with metaserver when players join or leave, | |
+ on receipt of a SIGUSR1 signal, and periodically | |
+- Metaserver list in client now lists uptime, and current/maximum | |
+ numbers of players | |
+- Pid file maintained while in server mode (-r command line switch) | |
+- Names of the gun shop, pub, bank and loan shark can now be customised | |
+ (GunShopName, RoughPubName, BankName and LoanSharkName) | |
+- When a player tries to run from a fight, running to the current location | |
+ now takes them back to the fighting screen | |
+ | |
+# 1.4.7 14-01-2000 | |
+- Minor fixes to Win32 code | |
+- dopewars now uses autoconf to (hopefully) build properly on odd sytems | |
+ such as HP-UX, and also to build "out of the box" under Cygwin (win32) | |
+- long long datatype used for all prices on platforms that support it | |
+- fixes to strtoprice and pricetostr code; replacement of code which | |
+ uses printf("%ld") for prices with pricetostr calls (with thanks to | |
+ Coolio) | |
+- "Leave" option added to Bank | |
+- Messages window is now only displayed for network games | |
+- Binary can be compiled without TCP/IP networking support (e.g. for use | |
+ on standalone systems) by configuring with --disable-networking | |
+- Minor modification to config. file handling to allow variables to be set | |
+ to null strings (use "Variable=") | |
+- Option to allow the "local" server name to be specified when registering | |
+ with the metaserver - MetaServer.LocalName variable. Useful when the | |
+ metaserver refuses to resolve your IP address to your "preferred" domain | |
+ name or when connecting via an enforced web proxy. Email the metaserver | |
+ maintainer, for an authentication password (MetaServer.Password) linked to | |
+ your chosen domain name, to use this option successfully. | |
+ | |
+# 1.4.6 12-11-1999 | |
+- Bug fix for message window and "sew you up" prompt | |
+- Bug fix for server hanging in LoseBitch function | |
+- If player opts to play again, server selection method used last time | |
+ is used again | |
+- Terminal resizing now handled properly | |
+- Port to Win32 (Windows 95,98,NT) console mode | |
+ | |
+# 1.4.5 21-10-1999 | |
+- Limited support now for terminals at sizes other than 80x24; but response | |
+ to a resize during the program run doesn't work properly yet... | |
+- Minor improvements to AI players | |
+- Corrected website address displayed by client on connecting to a | |
+ server of a different version | |
+- If player opts to play again, defaults to the name they used last time | |
+- Server now disconnects clients when their game ends (rather than | |
+ waiting for them to politely disconnect) - this gets around the problem | |
+ of particularly unresponsive clients getting killed and then sitting | |
+ around in an "undead" state, able to be repeatedly killed by other | |
+ players | |
+- Armed players cannot now "stand and take it" (why would you want to | |
+ anyway?) in multiplayer fights | |
+- Client now offers to obtain the list of available servers from the | |
+ metaserver, to select one to connect to | |
+- "Special" values (MetaServer), (Prompt) and (Single) (including the | |
+ brackets) now accepted for the "Server" variable, which instruct the | |
+ client to list the servers, prompt the user for a server, or play | |
+ in single-player mode, rather than connecting immediately to a server | |
+- "MetaServer.Port" variable added to facilitate connection to the | |
+ metaserver via a proxy server (with thanks to Tony Brown) | |
+- Signal handling cleaned up | |
+- Buffer overflow problem with ExtractWord() fixed (hopefully) (with thanks | |
+ to Lamagra) | |
+- Command line option -S for running a "private" server (do not contact | |
+ the metaserver) | |
+- Prices for spies and tipoffs can be customised; this information is not | |
+ communicated properly between 1.4.5 and earlier versions, of course. | |
+ In such a case, the game will still work properly, although the client | |
+ may report erroneous spy and tipoff prices | |
+- Fixed dodgy "pricetostr" function | |
+- Bug fix for "Drop" command in single-player mode | |
+- Command line option -g for specifying a supplementary configuration file | |
+- FightTimeout variable fixed - it now actually does something... | |
+- GunShop, LoanShark, RoughPub and Bank variables corrected so that they | |
+ take actual location numbers now - not (location-1). WARNING: this | |
+ breaks old configuration files! | |
+- Full HTML documentation now provided | |
+- Prices of bitches for hire can now be configured - Bitch.MinPrice and | |
+ Bitch.MaxPrice | |
+- Removed description of non-existent "die" command in server | |
+- Minor fixes in antique mode | |
+- Fix of NumDrug and NumGun processing (now allows more than the default | |
+ number of drugs and guns) (with thanks to Matt Higgins) | |
+- "ConfigVerbose" option added to display extra feedback during config | |
+ file processing (with thanks to Matt Higgins) | |
+ | |
+# 1.4.4 16-09-1999 | |
+- Full compatibility with 1.4.3 servers and clients maintained | |
+ (although a warning is displayed to upgrade as soon as possible) | |
+- dopewars client now properly redraws the screen when Ctrl-L is pressed | |
+- Server output is now line-buffered by default for more sensible output | |
+ of log files | |
+- `L>ist` bug in single player mode fixed | |
+- Number of game turns can now be configured with the "NumTurns" | |
+ variable, or the game can be left to go on forever if it's set to zero | |
+- The shortcuts "k" and "m" are now supported in any input of numbers | |
+ (e.g. money to put in the bank). So, for instance, typing 1.5m would | |
+ be short for typing 1500000 (m=million, k=thousand) | |
+- Server now automatically contacts the dopewars metaserver (actually | |
+ a CGI script), at bellatrix.pcl.ox.ac.uk, whenever it is brought up or | |
+ down, to keep the list of servers on the dopewars webpage up to date. | |
+ Aspects of the server's communication with the metaserver can be | |
+ configured with the MetaServer.xxx variables | |
+- Names of the two police officers which chase you (originally | |
+ Hardass and Bob) can now be configured with the variables | |
+ "Names.Officer" and "Names.ReserveOfficer" respectively | |
+ (provided by: Mike Meyer) | |
+- Several uses of the string constant "bitches" rather than | |
+ the variable "Names.Bitches" have been spotted, and corrected | |
+ (provided by: Mike Meyer) | |
+- "Sanitized" variable - if nonzero, removes drug references | |
+ (random events, the cops, etc.) - obviously drug names need to also | |
+ be changed in the config. file to complement this. Turns dopewars into | |
+ a simple trading game (provided by: Mike Meyer) | |
+- Minor formatting cleanups to accommodate longer drug names on the | |
+ screen neatly (provided by: Mike Meyer) | |
+ | |
+# 1.4.3 23-06-1999 | |
+- Bug with random offer of weed/paraquat fixed | |
+- `L>ist` command now offers list of logged-on players or high scores | |
+- "Out of time" message to explain why the game stops suddenly after 31 days | |
+- Bank is now a little more user-friendly | |
+- Messages announcing players leaving or joining the game now appear in | |
+ the central "messages" window, rather than the main, bottom window | |
+- Clients should now behave properly after the server crashes (or they | |
+ are pushed off the server) - i.e. they should revert to a single-player | |
+ mode game | |
+- `price_t` type used for all prices | |
+- Server interactive interface is now greatly improved, complete with | |
+ help screen | |
+- `SO_REUSEADDR` set so that server can be restarted immediately if it crashes | |
+- Facility to drop unwanted drugs, with the accompanying chance that you | |
+ are caught by Officer Hardass and shot at | |
+- Fighting interface greatly improved:- | |
+ - All player-player fighting now occurs in a specialised window. Players | |
+ can switch between the standard "deal drugs" window and the fighting | |
+ window with the D and F keys | |
+ - Number of keystrokes required to shoot and acknowledge all the | |
+ relevant messages now greatly reduced | |
+ - Some indication is now given of the other player's status (number of | |
+ bitches and guns) | |
+ - Server now imposes timeouts on fights, so if an opponent does not | |
+ return fire within a set time, a repeat attack is allowed | |
+ - A bounty is paid out for killing an enemy bitch, and any guns/drugs | |
+ they're carrying are passed on to the victor (if he/she is able to | |
+ carry them) | |
+ - A dead player's cash is appropriated by the victor of a fight | |
+- Handling of configuration files now greatly improved; the same options | |
+ that are set here can also be set within the server as long as no | |
+ players are connected. A large number of dopewars settings can be | |
+ changed and customised from here. Customised settings will be used | |
+ in single-player mode, and if dopewars is used as a server the settings | |
+ will be propagated to any clients (of version 1.4.3 or higher) that | |
+ connect. Not everything can be customised, but any remaining changes | |
+ should be server-side only (and thus require no alteration to the | |
+ clients). Options include:- | |
+ - MaxClients option to limit the maximum number of players connected | |
+ to the server | |
+ - FightTimeout option to alter the length of the fight timeout | |
+ - StartCash and StartDebt to change the default starting cash and debt | |
+ of every player | |
+ - Probabilities and toughness of Officer Hardass and his deputies can | |
+ be "tweaked" | |
+ - Numbers and names of locations, drugs and guns can be altered | |
+ - The words used to denote "bitches", "guns" and "drugs" can be | |
+ customised | |
+ - Drugs can now be sorted by name or by price, in forwards or reverse | |
+ order, with the DrugSortMethod option (can take values 1-4) | |
+ | |
+# 1.4.2 16-05-1999 | |
+- AI player improvements | |
+- Message structure changed to use less bandwidth and neater code | |
+- Now easier to break out of buy/sell drug prompts etc. (by pressing an | |
+ 'invalid' key or ENTER) | |
+- Cleanup of player list | |
+- Cleanup after a player leaves the server; i.e. remove any references to | |
+ their spies or tipoffs with other players | |
+- Added highlight of most recent score (for systems without working | |
+ `A_STANDOUT` attribute) | |
+- Fixed bug which caused all street-bought (i.e. not at Dan's gun shop) | |
+ guns to be Saturday Night Specials | |
+- Prevented badly-behaved clients from continuing to jet to new locations | |
+ after their death | |
+- Added code to remove whitespace from name=value data read from | |
+ configuration file, and defaulted from $HOME/.dopewars to /etc/dopewars | |
+- Added "helpful" messages when guns cannot be bought or sold in gun shop | |
+- Minor cleanups of player-player fighting messages | |
+ | |
+# 1.4.1b 28-04-1999 | |
+- segfault bug in server fixed | |
+ | |
+# 1.4.1a 28-04-1999 | |
+- Interim release before 1.4.2; a few bug fixes in antique mode | |
+ | |
+# 1.4.1 27-04-1999 | |
+- Fix of bug where paying off your debt would actually _increase_ it! | |
+ Dunno how that one slipped through... I blame my beta testers... ;) | |
+ | |
+# 1.4.0 27-04-1999 | |
+- Fixed bug with server; server now detects if standard input has | |
+ been closed properly (previously if its input was redirected from | |
+ /dev/null it would keep trying to read from it, using 100% CPU. Oops.) | |
+- First release under GPL | |
+ | |
+# 1.3.8 26-04-1999 | |
+- Message structure changed; separator changed from : to ^ and extra | |
+ field added to identify messages to AI players | |
+- Shorthand routines added for "printmessage" and "question" messages; | |
+ SendPrintMessage and SendQuestion repectively | |
+- Display of status of fight with Officer Hardass cleaned up | |
+- All servers are now interactive; to run in background simply attach | |
+ standard input and output to /dev/null | |
+- AI Player can now connect to server and perform simple actions | |
+- Bank and Loan Shark display cleaned up | |
+- Drug busts etc. now displayed all at once rather than singly | |
+- High scores now maintained by server | |
+- `print_price` replaced with `FormatPrice` | |
+- LOGF macro now used for all server log messages | |
+- Read in location of score files, server, port from ~/.dopewars | |
+- Fixed bugs in player-player fighting code | |
+ | |
+# 1.3.7 28-03-1999 | |
+- Proper support for tipoffs and spies | |
+- Discovered spies cannot now be shot if you don't have a gun... | |
+- Option added for computer players (non-functional however) | |
+ | |
+# 1.3.6 14-03-1999 | |
+- BreakoffCombat routine added to terminate fights cleanly when one | |
+ player runs away from a fight (under 1.3.5 defending player would | |
+ just hang when this was done...) | |
+ | |
+# 1.3.5 27-02-1999 | |
+- Basic support for meeting other players; `E_MEETOTHER` event added | |
+- Simple player-player fights allowed with the use of `E_WAITFIGHT`, | |
+ `E_DEFEND` and `E_ATTACK` events | |
+- Two players with same name bug fixed | |
+- "question" message extended; server now passes a list of allowed | |
+ responses in the first "word" of message data | |
+ | |
+# 1.3.4 25-02-1999 | |
+- Client and virtual server now maintain completely separate lists of | |
+ players | |
+- GunShop now works properly; user can actually see what's going on! | |
+ | |
+# 1.3.3 23-02-1999 | |
+- Complete implementation of fighting with Officer Hardass | |
+- `E_DOCTOR` event added to handle question "do you want a doctor to | |
+ sew you up?" after killing Hardass | |
+- Clients now handle list and endlist messages properly to display | |
+ lists of current players on starting a game | |
+- Minor bugfix to ensure game actually ends after the 31st | |
+- Client now wipes price list on each jet to stop old prices | |
+ flashing up between messages from the server | |
+ | |
+# 1.3.2 22-02-1999 | |
+- "subwayflash" message added | |
+- OfferObject/RandomOffer split into separate event from OfficerHardass | |
+- "smoke paraquat" also given separate event (`E_WEED`) and implemented | |
+- Bank/LoanShark bugfixes | |
+- Bugfix for drug price generation code | |
+- Partial implementation of fighting with Officer Hardass | |
+ | |
+# 1.3.1 21-02-1999 | |
+- Drugs can now be bought and sold | |
+- RandomOffer and OfferObject routines added to handle server-based | |
+ random events ("a friend gives you..." etc.) and object offers ("do | |
+ you want to buy a..." etc.) although "smoke paraquat?" doesn't | |
+ work properly | |
+- GunShop / LoanShark / Bank / Pub all handled by the server now | |
+- Some networking bugfixes | |
+ | |
+# 1.3.0 20-02-1999 | |
+- Development series (moving decision-making from client to server to | |
+ improve multi-player games and cut down on cheating, in preparation | |
+ for an OpenSource release) | |
+- Simple implementation of a "virtual server" to handle the server-side | |
+ stuff within a single-player game | |
+- Splitting up of Dopewars into dopewars.c (init. code and utils); | |
+ message.c (message-handling code); serverside.c (server-side code); | |
+ clientside.c (client-side code) | |
+- Drug prices now generated by server, not client - so synchronisation | |
+ of turns (and drug prices) should be easy to implement in the future | |
+- Minimal functionality - networking backbone only... | |
+ | |
+# 1.2.0 13-02-1999 | |
+- Stable release; some bugs in fighting code cleaned up | |
+ | |
+# 1.1.26 13-02-1999 | |
+- "PolicePresence" member is now read - when a fight is started, there | |
+ is a finite chance (varies from location to location) that the | |
+ perpetrator will get attacked by the police | |
+- MinDrug and MaxDrug members added to Location struct - some locations | |
+ may have a smaller range of drugs on offer than others | |
+ | |
+# 1.1.25 11-02-1999 | |
+- Added an "Inventory" struct to keep track of players' belongings | |
+ and anything dropped during a fight; winner of a fight now gets | |
+ whatever the other player dropped (guns and/or drugs) | |
+ | |
+# 1.1.24 9-02-1999 | |
+- Put in code to "finish" fights properly when one player escapes | |
+- Attacking player is now told whether they hit the other player or | |
+ not when in a fight | |
+ | |
+# 1.1.23 3-02-1999 | |
+- "Jet" command replaced with "Run" when in a fight | |
+- "PolicePresence" member added to Location struct | |
+- GunShop bug fixed (guns were taking up no space) | |
+ | |
+# 1.1.22 30-01-1999 | |
+- Implemented very simple "shoot at another dealers" code; players, on | |
+ arriving at a location where another dealer already is, can choose | |
+ to attack (if they have any guns). The attacked player can then | |
+ choose to return fire or run for it... | |
+ | |
+# 1.1.21 29-01-1999 | |
+- Added support for the "spy on another dealer" bitch errand | |
+ | |
+# 1.1.20 29-01-1999 | |
+- Added support for the "tip off another dealer to the cops" bitch errand | |
diff --git a/Makefile.am b/Makefile.am | |
t@@ -5,7 +5,7 @@ SCOREDIR = ${DESTDIR}${localstatedir} | |
SCORE = ${SCOREDIR}/dopewars.sco | |
EXTRA_DIST = ABOUT-NLS LICENCE dopewars.desktop rpm/dopewars.spec.in \ | |
runindent.sh win32/README.md win32/install.nsi.in README.md \ | |
- win32/mingw/Dockerfile | |
+ win32/mingw/Dockerfile ChangeLog.md | |
CLEANFILES = dopewars.sco dopewars-log.txt dopewars-config.txt | |
DISTCLEANFILES = rpm/dopewars.spec | |
ACLOCAL_AMFLAGS= -I m4 | |
diff --git a/auxbuild/README-release b/auxbuild/README-release | |
t@@ -1,7 +1,7 @@ | |
New version checklist: | |
- cd po; rm dopewars.pot; make dopewars.pot; make update-po; ./check-cformat.sh | |
-- Add version number, date to ChangeLog | |
+- Add version number, date to ChangeLog.md | |
- Change stable version number in NEWS README.md doc/installation.html doc/ind… | |
- git checkout -b release/x.y.z | |
- Change SVN to x.y.z in configure.ac and commit | |
diff --git a/rpm/dopewars.spec.in b/rpm/dopewars.spec.in | |
t@@ -52,7 +52,7 @@ test "$RPM_BUILD_ROOT" != "/" && rm -rf ${RPM_BUILD_ROOT} | |
%files -f %{name}.lang | |
%defattr(-,root,root) | |
-%doc ChangeLog LICENCE README.md | |
+%doc ChangeLog.md LICENCE README.md | |
%doc %{_docdir}/%{name} | |
%attr(2755,root,games) %{_bindir}/dopewars | |
%attr(0660,root,games) %config %{_localstatedir}/dopewars.sco |