tChangeLog.md - vaccinewars - be a doctor and try to vaccinate the world
(HTM) git clone git://src.adamsgaard.dk/vaccinewars
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
tChangeLog.md (29147B)
---
1 # HEAD
2 - The text-mode client should now support Unicode input when in UTF-8
3 locales, e.g. allowing player names containing accented characters
4 to be input (#60).
5 - Add support for networking on the Haiku operating system (thanks
6 to Begasus) (#61).
7
8 # 1.6.1 - 2020-12-11
9 - Improved display in non-English text-mode clients; previously
10 columns were not aligned properly in some cases and occasionally
11 not all available drugs at a location were shown on screen (#54).
12 - Minimal British English translation added (#57). Configuration file
13 entries can now use either British English or American English spelling
14 (i.e. Armor/Armour).
15 - On Windows the "browse" button in the graphical client options dialog
16 now opens at the folder containing the selected sound file (#55).
17
18 # 1.6.0 - 2020-12-06
19 - Fixes to build with OpenWRT (thanks to Theodor-Iulian Ciobanu).
20 - Write server pidfile after fork (thanks to Theodor-Iulian Ciobanu).
21 - Updated German and French Canadian translations from Benjamin Karaca
22 and Francois Marier.
23 - Support for old GTK1 and GLIB1 libraries removed - we now need version 2
24 of these libraries to build dopewars. GTK+3 is also supported.
25 - Update metaserver to work with new SourceForge; older versions can no
26 longer successfully register with the metaserver.
27 - Switch to using libcurl to talk to the metaserver (this supports https,
28 unlike the old internal code). The metaserver configuration has changed
29 accordingly; `MetaServer.Name`, `MetaServer.Port` and `MetaServer.Path` are
30 replaced with `MetaServer.URL`, while `MetaServer.Auth`, `MetaServer.Proxy*`,
31 and `MetaServer.UseSocks` are removed (set the `https_proxy` environment
32 variable instead, as per
33 https://curl.haxx.se/libcurl/c/libcurl-tutorial.html#Environment)
34 - The default web browser on Linux has changed from 'mozilla' to
35 'firefox'; on Mac the system-configured default browser is used.
36 - On Windows the high score file, log file, and config file are now
37 stored in the user application data directory (e.g.
38 `C:\Users\foo\AppData\Local\dopewars`) rather than the same directory as
39 the dopewars binary.
40 - Add sound support with SDL2, and on Mac.
41 - Add 64-bit Windows binaries.
42 - Fix for a DOS against the server using the REQUESTJET message type
43 (thanks to Doug Prostko for reporting the problem).
44
45 # 1.5.12 - 2005-12-30
46 - Really fix a potential exploit against the Win32 server when running as
47 an NT service (user data was being used as a format string in some cases).
48
49 # 1.5.11 - 2005-12-30
50 - Add example configuration file to the documentation.
51 - Fixed various typos in the German translation (thanks to Jens Seidel
52 and Francois Marier).
53 - Fix a remote exploit against the Win32 server (thanks to KF).
54 - High score file on Windows is now written into local application data
55 directory if available, to work more efficiently on multi-user systems.
56
57 # 1.5.10 - 2004-10-24
58 - High score file is now installed in `${localstatedir}` rather than
59 `${datadir}`, to allow proper Filesystem Hierarchy Standard compliance
60 - Fix for a curses client crash if the D key is pressed during attacks
61 by the cops
62 - Some problems with the curses client missing screen resize events fixed
63 - Logging to a file should now work properly again
64 - Minimum and maximum limits on all relevant integer configuration
65 file variables are now imposed for sanity
66 - Quique's Spanish translation is now available both in standard Spanish
67 (`es.po`) and `es_ES.po`, which uses drugs slang from Spain
68 - Fix for a trivial DOS of the server
69 - Windows installer no longer hardcodes `C:\Program Files` so should
70 work with non-English versions of Windows
71
72 # 1.5.9 - 2003-06-07
73 - The messages window in the curses client can now be scrolled with the
74 + and - keys
75 - The curses client now makes better use of space with screen sizes
76 larger than 80x24
77 - Fix for a crash encountered if you drop drugs and then encounter the cops
78 - Addition of -P, --player command line option to set the player name
79 to use (thanks to Michael Mitton)
80
81 # 1.5.8 - 2002-10-21
82 - Options dialog now allows sounds for all supported game events to be set
83 - BindAddress config variable added, to allow the server to be bound to
84 a non-default IP address
85 - BankInterest and DebtInterest variables added, to allow the
86 configuration of interest rates (with thanks to Matt)
87 - New "UTF8" ability added; if client and server share this ability, then
88 all network messages will be sent in UTF-8 (Unicode) encoding (without
89 the ability, all messages are assumed to be in your locale's default
90 codeset, which may cause problems on non-US ASCII systems)
91 - Names.Month and Names.Year have been replaced with StartDate.Day,
92 StartDate.Month, StartDate.Year and Names.Date; these can be used to
93 handle the date display properly after the turn number exceeds 31
94 - encoding and include config directives added, to allow the config file's
95 encoding (usually taken from the locale) to be overridden, and to allow
96 the inclusion of other config files
97 - Spanish translation added by Quique
98 - The Windows build of dopewars should now use Unicode throughout, on
99 platforms with Unicode support (i.e. NT/2000/XP)
100 - Under Windows XP, the "pretty" new common controls are now used
101 - Sounds provided by Robin Kohli of www.19.5degs.com
102
103 # 1.5.7 - 2002-06-25
104 - Sound support; Windows multimedia, ESD and SDL outputs are supported;
105 the individual modules can be statically linked in, or built as true
106 "plugins"
107 - Version mismatches between client and server are now treated more
108 sensibly (it's all done server-side, and spurious warnings are now
109 removed - only an old client connecting to a new server will
110 trigger them)
111 - Bug fix: when the buttons in the Fight dialog are not visible to a
112 mouse user, previously you were able to access them via the keyboard
113 shortcuts; now fixed.
114 - configure should now work properly if GLib 2.0 is installed but
115 GTK2.0 is not
116 - Norwegian Nynorsk translation added by Åsmund
117 - If dopewars is run setuid/setgid, it will now only use this privilege
118 to open the default (hard-coded) high score file; it will not open
119 a user-specified high score file with privilege
120 - It is no longer necessary to run "dopewars -C" on a zero-byte high
121 score file; it will be converted automatically
122 - A new server command "save" can be used to save the current configuration
123 to a named config file
124
125 # 1.5.6 - 2002-04-29
126 - Bug fix: the server will only let you pay back loans or deal with the
127 bank when you are at the correct location, and you can no longer
128 "pay back" negative amounts of cash to the loan shark
129 - Minor improvements to fighting code
130 - The GTK+2 client should now run properly in non-UTF8 locales, and
131 handle configuration files in both UTF8 and non-UTF8 locales
132 - Unsafe list iteration in serverside code (which could possibly cause
133 memory corruption) fixed
134 - Another dumb PPC bug fixed
135 - Incorrect LIBS generated by configure script in some circumstances
136 (due to a GTK+/Glib bug) - now fixed
137 - Everything should now build with autoconf-2.53 (if desired)
138
139 # 1.5.5 - 2002-04-13
140 - On fight termination the player is now allowed to close the "Fight"
141 dialog before any new dialogs pop up
142 - Bug caused by a "fight" interrupting a "deal" fixed
143 - dopewars no longer crashes if you set e.g. NumGun = 0
144 - Incorrect handling of `WM_CLOSE` under Win32 fixed
145 - Unix server now fails "gracefully" if it cannot create the Unix domain
146 socket for admin connections
147 - New ServerMOTD variable to welcome players to a server (with thanks
148 to Mike Robinson)
149 - GTK+ client should now work with GTK+2.0
150
151 # 1.5.4 - 2002-03-03
152 - Basic configuration file editor added to GTK+ client
153 - Annoying flashing on closure of modal windows in Win32 fixed
154 - Win32 client now uses "proper" dialog boxes (i.e. without a window menu)
155 - Icon added for GTK+ client
156 - Bug with withdrawing cash from the bank fixed
157 - URL in GTK+ client "About" box is now clickable
158 - Crash bugs when running on PPC systems fixed (with thanks to Zeke
159 and Brian Campbell)
160
161 # 1.5.3 - 2002-02-04
162 - Text-mode server is now non-interactive by default (server admin can
163 connect later with the -A option)
164 - Windows server can now be run as an NT Service
165 - Fatal bug when visiting the bank (under Win2000/XP) fixed
166 - Windows installer should now upgrade old versions properly
167 - Currency can now be configured with Currency.Symbol and Currency.Prefix
168 - Windows client windows cannot now be made unreadably small
169 - Bank/loan shark dialog now warns on entering negative prices
170 - Default configuration is restored properly at the start of each game
171 - Translations should now work with the Windows client
172 - Documentation on the client-server protocol added
173 - Windows graphical server can be minimized to the System Tray
174 - Keyboard shortcuts for menu items in Windows client
175 - Default buttons (ENTER -> "OK") for Windows client
176 - RPM build/make install can now be run as non-superuser
177 - Win32 install for current user/all users
178 - Code cleanups
179
180 # 1.5.2 - 2001-10-16
181 - Slightly easier-to-use "run from fight" Jet dialog (avoids the crazy
182 "windows pop up faster than you can close them" syndrome)
183 - Support for HTTP proxies and authentication
184 - SOCKS4 and SOCKS5 (user/password) support
185 - French translation added by leonard
186 - Boolean configuration variables (TRUE/FALSE) now supported
187 - Many code cleanups
188 - High score files now have a "proper" header, so that file(1) can
189 identify them, and so the -f option cannot be used to force setgid-games
190 dopewars to overwrite random files writeable by group "games" - use
191 the -C option to convert old high score files to the new format
192 - GNU long command line options now accepted on platforms with `getopt_long`
193 - Simple installer now in place for Win32 systems
194
195 # 1.5.1 - 2001-06-19
196 - Improved logging in server via LogLevel and LogTimestamp variables
197 - Metaserver (both client and server) moved to SourceForge
198 - Icons (courtesy of Ocelot Mantis) and GNOME desktop entry added
199
200 # 1.5.0 - 2001-05-13
201 - Fixes for spurious tipoffs
202 - High scores should now be written properly on Win32 systems
203 - Various minor usability fixes on Win32 systems
204
205 # 1.5.0beta2 - 2001-04-29
206 - Various fixes for installation on BSD systems and Mac OS X
207 - Multiplayer menus (spy on player, etc.) are now greyed out in GTK+ client
208 when in single-player mode
209 - Manpage (courtesy of Leon Breedt) added in doc/
210 - Fix for missing "bgetch" when configured with --disable-curses-client
211 - Broken "trenchcoat" message fixed
212 - Value of bought drugs now displayed in curses client
213 - AI players now are at least partially functional
214 - Fix for server segfault on invalid short network messages
215 - dopewars no longer runs GTK+ setgid
216 - "make install" installs dopewars as group "wheel" if "games" is
217 unavailable
218
219 # 1.5.0beta1 - 2001-04-08
220 - Completely rewritten fighting code
221 - Internationalization (i18n) support
222 - Tense and case-sensitive translated strings handled via `dpg_` analogues
223 to glib's `g_` string handling functions `%P` = price,
224 `%Txx` or `%txx` = tense-sensitive string, `%/.../` = comment (ignored)
225 - Networking revamped - now uses nonblocking sockets to improve server
226 responsiveness and to remove deadlocks (previously, any client could
227 halt server by sending an unterminated message); "abilities" added to
228 allow backwards-compatible protocol extensions; player IDs used rather
229 than player names to save bandwidth, with newer client+server
230 - Drug values now stored by server (e.g. "you have 5 Weed @ $600); sent
231 only if DrugValue config. variable is set, and only to new clients
232 (based on a patch by Pierre F)
233 - Spying fixed (cannot now spy on a player until they accept your bitch)
234 - Longer `T>alk` and `P>age` messages allowed in curses client
235 - Minor bug fixes to configure options
236 - configure script tweaked to fix networking under Solaris (and friends)
237 (with thanks to Caolan McNamara)
238 - Client-side code moved out of `clientside.c` and `dopewars.c`;
239 client-specific code now placed in `<xxx>_client.c`, while generic code is
240 in `message.c`
241 - GTK+ client added
242 - Native "pointy-clicky" Win32 graphical client added (via GTK+ emulation)
243 - GLib dependency introduced; string and list handling is taken care of
244 now by GLib routines
245 - Configuration files now handled by GLib's GScanner; "string lists"
246 (of the format { "string1", "string2", "string3" } ) are now supported
247 for configuration of subway sayings, "stopped to" and overheard songs
248 - Timeouts bug fixed
249 - MaxClients bug fixed
250
251 # 1.4.8 - 2000-07-09
252 - Several fixes to Win32 networking code
253 - IdleTimeout and ConnectTimeout variables added, to allow the server to
254 break connections that have been idle for too long, or take too long
255 to (dis)connect, respectively
256 - Servers now use UDP packets to communicate with metaserver, for
257 a faster response to changing game conditions; the client, and older
258 versions of the server, still use the "old" CGI script interface;
259 MetaServer.Port variable split into .HttpPort and .UdpPort
260 - MetaServer.Password can now be used with a blank MetaServer.LocalName
261 (with the new metaserver interface only) in order to identify servers
262 whose IPs are dynamic (but are otherwise the "same" server); this password
263 must, again, be acquired from the metaserver maintainer
264 - Metaserver now records current & maximum numbers of players, high
265 scores, and last update time and uptime, for each server
266 - Servers now re-register with metaserver when players join or leave,
267 on receipt of a SIGUSR1 signal, and periodically
268 - Metaserver list in client now lists uptime, and current/maximum
269 numbers of players
270 - Pid file maintained while in server mode (-r command line switch)
271 - Names of the gun shop, pub, bank and loan shark can now be customised
272 (GunShopName, RoughPubName, BankName and LoanSharkName)
273 - When a player tries to run from a fight, running to the current location
274 now takes them back to the fighting screen
275
276 # 1.4.7 - 2000-01-14
277 - Minor fixes to Win32 code
278 - dopewars now uses autoconf to (hopefully) build properly on odd sytems
279 such as HP-UX, and also to build "out of the box" under Cygwin (win32)
280 - long long datatype used for all prices on platforms that support it
281 - fixes to strtoprice and pricetostr code; replacement of code which
282 uses printf("%ld") for prices with pricetostr calls (with thanks to
283 Coolio)
284 - "Leave" option added to Bank
285 - Messages window is now only displayed for network games
286 - Binary can be compiled without TCP/IP networking support (e.g. for use
287 on standalone systems) by configuring with --disable-networking
288 - Minor modification to config. file handling to allow variables to be set
289 to null strings (use "Variable=")
290 - Option to allow the "local" server name to be specified when registering
291 with the metaserver - MetaServer.LocalName variable. Useful when the
292 metaserver refuses to resolve your IP address to your "preferred" domain
293 name or when connecting via an enforced web proxy. Email the metaserver
294 maintainer, for an authentication password (MetaServer.Password) linked to
295 your chosen domain name, to use this option successfully.
296
297 # 1.4.6 - 1999-11-12
298 - Bug fix for message window and "sew you up" prompt
299 - Bug fix for server hanging in LoseBitch function
300 - If player opts to play again, server selection method used last time
301 is used again
302 - Terminal resizing now handled properly
303 - Port to Win32 (Windows 95,98,NT) console mode
304
305 # 1.4.5 - 1999-10-21
306 - Limited support now for terminals at sizes other than 80x24; but response
307 to a resize during the program run doesn't work properly yet...
308 - Minor improvements to AI players
309 - Corrected website address displayed by client on connecting to a
310 server of a different version
311 - If player opts to play again, defaults to the name they used last time
312 - Server now disconnects clients when their game ends (rather than
313 waiting for them to politely disconnect) - this gets around the problem
314 of particularly unresponsive clients getting killed and then sitting
315 around in an "undead" state, able to be repeatedly killed by other
316 players
317 - Armed players cannot now "stand and take it" (why would you want to
318 anyway?) in multiplayer fights
319 - Client now offers to obtain the list of available servers from the
320 metaserver, to select one to connect to
321 - "Special" values (MetaServer), (Prompt) and (Single) (including the
322 brackets) now accepted for the "Server" variable, which instruct the
323 client to list the servers, prompt the user for a server, or play
324 in single-player mode, rather than connecting immediately to a server
325 - "MetaServer.Port" variable added to facilitate connection to the
326 metaserver via a proxy server (with thanks to Tony Brown)
327 - Signal handling cleaned up
328 - Buffer overflow problem with ExtractWord() fixed (hopefully) (with thanks
329 to Lamagra)
330 - Command line option -S for running a "private" server (do not contact
331 the metaserver)
332 - Prices for spies and tipoffs can be customised; this information is not
333 communicated properly between 1.4.5 and earlier versions, of course.
334 In such a case, the game will still work properly, although the client
335 may report erroneous spy and tipoff prices
336 - Fixed dodgy "pricetostr" function
337 - Bug fix for "Drop" command in single-player mode
338 - Command line option -g for specifying a supplementary configuration file
339 - FightTimeout variable fixed - it now actually does something...
340 - GunShop, LoanShark, RoughPub and Bank variables corrected so that they
341 take actual location numbers now - not (location-1). WARNING: this
342 breaks old configuration files!
343 - Full HTML documentation now provided
344 - Prices of bitches for hire can now be configured - Bitch.MinPrice and
345 Bitch.MaxPrice
346 - Removed description of non-existent "die" command in server
347 - Minor fixes in antique mode
348 - Fix of NumDrug and NumGun processing (now allows more than the default
349 number of drugs and guns) (with thanks to Matt Higgins)
350 - "ConfigVerbose" option added to display extra feedback during config
351 file processing (with thanks to Matt Higgins)
352
353 # 1.4.4 - 1999-09-16
354 - Full compatibility with 1.4.3 servers and clients maintained
355 (although a warning is displayed to upgrade as soon as possible)
356 - dopewars client now properly redraws the screen when Ctrl-L is pressed
357 - Server output is now line-buffered by default for more sensible output
358 of log files
359 - `L>ist` bug in single player mode fixed
360 - Number of game turns can now be configured with the "NumTurns"
361 variable, or the game can be left to go on forever if it's set to zero
362 - The shortcuts "k" and "m" are now supported in any input of numbers
363 (e.g. money to put in the bank). So, for instance, typing 1.5m would
364 be short for typing 1500000 (m=million, k=thousand)
365 - Server now automatically contacts the dopewars metaserver (actually
366 a CGI script), at bellatrix.pcl.ox.ac.uk, whenever it is brought up or
367 down, to keep the list of servers on the dopewars webpage up to date.
368 Aspects of the server's communication with the metaserver can be
369 configured with the MetaServer.xxx variables
370 - Names of the two police officers which chase you (originally
371 Hardass and Bob) can now be configured with the variables
372 "Names.Officer" and "Names.ReserveOfficer" respectively
373 (provided by: Mike Meyer)
374 - Several uses of the string constant "bitches" rather than
375 the variable "Names.Bitches" have been spotted, and corrected
376 (provided by: Mike Meyer)
377 - "Sanitized" variable - if nonzero, removes drug references
378 (random events, the cops, etc.) - obviously drug names need to also
379 be changed in the config. file to complement this. Turns dopewars into
380 a simple trading game (provided by: Mike Meyer)
381 - Minor formatting cleanups to accommodate longer drug names on the
382 screen neatly (provided by: Mike Meyer)
383
384 # 1.4.3 - 1999-06-23
385 - Bug with random offer of weed/paraquat fixed
386 - `L>ist` command now offers list of logged-on players or high scores
387 - "Out of time" message to explain why the game stops suddenly after 31 days
388 - Bank is now a little more user-friendly
389 - Messages announcing players leaving or joining the game now appear in
390 the central "messages" window, rather than the main, bottom window
391 - Clients should now behave properly after the server crashes (or they
392 are pushed off the server) - i.e. they should revert to a single-player
393 mode game
394 - `price_t` type used for all prices
395 - Server interactive interface is now greatly improved, complete with
396 help screen
397 - `SO_REUSEADDR` set so that server can be restarted immediately if it crashes
398 - Facility to drop unwanted drugs, with the accompanying chance that you
399 are caught by Officer Hardass and shot at
400 - Fighting interface greatly improved:-
401 - All player-player fighting now occurs in a specialised window. Players
402 can switch between the standard "deal drugs" window and the fighting
403 window with the D and F keys
404 - Number of keystrokes required to shoot and acknowledge all the
405 relevant messages now greatly reduced
406 - Some indication is now given of the other player's status (number of
407 bitches and guns)
408 - Server now imposes timeouts on fights, so if an opponent does not
409 return fire within a set time, a repeat attack is allowed
410 - A bounty is paid out for killing an enemy bitch, and any guns/drugs
411 they're carrying are passed on to the victor (if he/she is able to
412 carry them)
413 - A dead player's cash is appropriated by the victor of a fight
414 - Handling of configuration files now greatly improved; the same options
415 that are set here can also be set within the server as long as no
416 players are connected. A large number of dopewars settings can be
417 changed and customised from here. Customised settings will be used
418 in single-player mode, and if dopewars is used as a server the settings
419 will be propagated to any clients (of version 1.4.3 or higher) that
420 connect. Not everything can be customised, but any remaining changes
421 should be server-side only (and thus require no alteration to the
422 clients). Options include:-
423 - MaxClients option to limit the maximum number of players connected
424 to the server
425 - FightTimeout option to alter the length of the fight timeout
426 - StartCash and StartDebt to change the default starting cash and debt
427 of every player
428 - Probabilities and toughness of Officer Hardass and his deputies can
429 be "tweaked"
430 - Numbers and names of locations, drugs and guns can be altered
431 - The words used to denote "bitches", "guns" and "drugs" can be
432 customised
433 - Drugs can now be sorted by name or by price, in forwards or reverse
434 order, with the DrugSortMethod option (can take values 1-4)
435
436 # 1.4.2 - 1999-05-16
437 - AI player improvements
438 - Message structure changed to use less bandwidth and neater code
439 - Now easier to break out of buy/sell drug prompts etc. (by pressing an
440 'invalid' key or ENTER)
441 - Cleanup of player list
442 - Cleanup after a player leaves the server; i.e. remove any references to
443 their spies or tipoffs with other players
444 - Added highlight of most recent score (for systems without working
445 `A_STANDOUT` attribute)
446 - Fixed bug which caused all street-bought (i.e. not at Dan's gun shop)
447 guns to be Saturday Night Specials
448 - Prevented badly-behaved clients from continuing to jet to new locations
449 after their death
450 - Added code to remove whitespace from name=value data read from
451 configuration file, and defaulted from $HOME/.dopewars to /etc/dopewars
452 - Added "helpful" messages when guns cannot be bought or sold in gun shop
453 - Minor cleanups of player-player fighting messages
454
455 # 1.4.1b - 1999-04-28
456 - segfault bug in server fixed
457
458 # 1.4.1a - 1999-04-28
459 - Interim release before 1.4.2; a few bug fixes in antique mode
460
461 # 1.4.1 - 1999-04-27
462 - Fix of bug where paying off your debt would actually _increase_ it!
463 Dunno how that one slipped through... I blame my beta testers... ;)
464
465 # 1.4.0 - 1999-04-27
466 - Fixed bug with server; server now detects if standard input has
467 been closed properly (previously if its input was redirected from
468 /dev/null it would keep trying to read from it, using 100% CPU. Oops.)
469 - First release under GPL
470
471 # 1.3.8 - 1999-04-26
472 - Message structure changed; separator changed from : to ^ and extra
473 field added to identify messages to AI players
474 - Shorthand routines added for "printmessage" and "question" messages;
475 SendPrintMessage and SendQuestion repectively
476 - Display of status of fight with Officer Hardass cleaned up
477 - All servers are now interactive; to run in background simply attach
478 standard input and output to /dev/null
479 - AI Player can now connect to server and perform simple actions
480 - Bank and Loan Shark display cleaned up
481 - Drug busts etc. now displayed all at once rather than singly
482 - High scores now maintained by server
483 - `print_price` replaced with `FormatPrice`
484 - LOGF macro now used for all server log messages
485 - Read in location of score files, server, port from ~/.dopewars
486 - Fixed bugs in player-player fighting code
487
488 # 1.3.7 - 1999-03-28
489 - Proper support for tipoffs and spies
490 - Discovered spies cannot now be shot if you don't have a gun...
491 - Option added for computer players (non-functional however)
492
493 # 1.3.6 - 1999-03-14
494 - BreakoffCombat routine added to terminate fights cleanly when one
495 player runs away from a fight (under 1.3.5 defending player would
496 just hang when this was done...)
497
498 # 1.3.5 - 1999-02-27
499 - Basic support for meeting other players; `E_MEETOTHER` event added
500 - Simple player-player fights allowed with the use of `E_WAITFIGHT`,
501 `E_DEFEND` and `E_ATTACK` events
502 - Two players with same name bug fixed
503 - "question" message extended; server now passes a list of allowed
504 responses in the first "word" of message data
505
506 # 1.3.4 - 1999-02-25
507 - Client and virtual server now maintain completely separate lists of
508 players
509 - GunShop now works properly; user can actually see what's going on!
510
511 # 1.3.3 - 1999-02-23
512 - Complete implementation of fighting with Officer Hardass
513 - `E_DOCTOR` event added to handle question "do you want a doctor to
514 sew you up?" after killing Hardass
515 - Clients now handle list and endlist messages properly to display
516 lists of current players on starting a game
517 - Minor bugfix to ensure game actually ends after the 31st
518 - Client now wipes price list on each jet to stop old prices
519 flashing up between messages from the server
520
521 # 1.3.2 - 1999-02-22
522 - "subwayflash" message added
523 - OfferObject/RandomOffer split into separate event from OfficerHardass
524 - "smoke paraquat" also given separate event (`E_WEED`) and implemented
525 - Bank/LoanShark bugfixes
526 - Bugfix for drug price generation code
527 - Partial implementation of fighting with Officer Hardass
528
529 # 1.3.1 - 1999-02-21
530 - Drugs can now be bought and sold
531 - RandomOffer and OfferObject routines added to handle server-based
532 random events ("a friend gives you..." etc.) and object offers ("do
533 you want to buy a..." etc.) although "smoke paraquat?" doesn't
534 work properly
535 - GunShop / LoanShark / Bank / Pub all handled by the server now
536 - Some networking bugfixes
537
538 # 1.3.0 - 1999-02-20
539 - Development series (moving decision-making from client to server to
540 improve multi-player games and cut down on cheating, in preparation
541 for an OpenSource release)
542 - Simple implementation of a "virtual server" to handle the server-side
543 stuff within a single-player game
544 - Splitting up of Dopewars into dopewars.c (init. code and utils);
545 message.c (message-handling code); serverside.c (server-side code);
546 clientside.c (client-side code)
547 - Drug prices now generated by server, not client - so synchronisation
548 of turns (and drug prices) should be easy to implement in the future
549 - Minimal functionality - networking backbone only...
550
551 # 1.2.0 - 1999-02-13
552 - Stable release; some bugs in fighting code cleaned up
553
554 # 1.1.26 - 1999-02-13
555 - "PolicePresence" member is now read - when a fight is started, there
556 is a finite chance (varies from location to location) that the
557 perpetrator will get attacked by the police
558 - MinDrug and MaxDrug members added to Location struct - some locations
559 may have a smaller range of drugs on offer than others
560
561 # 1.1.25 - 1999-02-11
562 - Added an "Inventory" struct to keep track of players' belongings
563 and anything dropped during a fight; winner of a fight now gets
564 whatever the other player dropped (guns and/or drugs)
565
566 # 1.1.24 - 1999-02-09
567 - Put in code to "finish" fights properly when one player escapes
568 - Attacking player is now told whether they hit the other player or
569 not when in a fight
570
571 # 1.1.23 - 1999-02-03
572 - "Jet" command replaced with "Run" when in a fight
573 - "PolicePresence" member added to Location struct
574 - GunShop bug fixed (guns were taking up no space)
575
576 # 1.1.22 - 1999-01-30
577 - Implemented very simple "shoot at another dealers" code; players, on
578 arriving at a location where another dealer already is, can choose
579 to attack (if they have any guns). The attacked player can then
580 choose to return fire or run for it...
581
582 # 1.1.21 - 1999-01-29
583 - Added support for the "spy on another dealer" bitch errand
584
585 # 1.1.20 - 1999-01-29
586 - Added support for the "tip off another dealer to the cops" bitch errand