| 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 |