1NOTE: From now on, new changes appear at the top of this file. 2 3 - Remove old Atanks binary during normal "make clean". 4 5 - Added patch from Debian which makes the build process reproducible. 6 Thanks to Reiner Herrmann for submitting the patch. Closes 7 Debian bug #842865. 8 9============ Atanks-6.4 released =================== 10 11 We are happy to announce a new release of Atomic Tanks is now available for download. The new release, version 6.4, carries a number of bug fixes and minor improvements. Perhaps the most visual change is more funky behaviour in the funky bombs and the AI players handle napalm better. 12 13============ Atanks-6.3 released =================== 14 15 Sven has done a huge amount of code changes for this release. The 16 key highlights are as follows: 17 - Improved AI. 18 - Smoother/faster buying screen navigation. 19 - Huge re-work of the Options screen and other menus to 20 avoid crashes and random symbols appearing. 21 - Improved demo mode. 22 - The AI does a better job of buying items/weapons. 23 - Updated Makefiles to reduce the number of separate Makefiles required. 24 - Atanks should now build natively in Visual Studio on Windows. 25 - Improved Unicode support. 26 - Various code clean-up. 27 - Added dirt debris. 28 - Improved revenge mode for AI. 29 - Menus should now respond faster. 30 - Network code clean-up. 31 - Added more in-code documentation. 32 33============ Atanks-6.2 released =================== 34 35 - Large code clean-up by Bruno Victal 36 - More style/code clean-up by Bruno Victal 37 Indentation 38 Removing unnecessary braces 39 Removing unnecessary parentheses 40 Removing unnecessary spaces 41 Removing many blank lines (line wasting) 42 Expanding some ifs and switch cases 43 44 - Bruno Victal provided further code clean-up 45 Renamed old referenced files in the perror calls (from .cc to .cpp) 46 Removed some useless casts in printf calls [ printf((char *)"String here"); ] 47 Deleted the macros about DOS support (they were already commented out) 48 Fixed abs() related math functions so they do not throw compiler warnings. 49 50 - Removed extra call to Get_Team_Name() that was not required. 51 52 Daniel sent in a patch which addresses the following: 53 - fixes a bug where the address of (stack allocated) temporal arrays 54 was stored in the menu structure causing 55 wrong behavior, e.g. printing garbage in the Network configuration 56 menu title. 57 - fixes const-correctness for all the menu structure 58 - moves stack-allocated read-only arrays to .rodata so no large stack 59 memory is used. 60 - adds Daniel to the list of people (feel free to remove me if this 61 62 Bruno Victal provided two more fixes. 63 - Fix isnan() ambiguity when compiled with C++11 standards 64 - Removed OLD_GAMELOOP code and references. Stick with 65 modern game loop. 66 67 68=========== Atanks-6.1 released ============== 69 All of this releases patches were provided by Bill Buerger. 70 - Extend the amount of time the AI will play against itself 71 from 10 seconds to 60 seconds. 72 - Fixed "clean" command in Windows Makefile. 73 - Players now wait to start their turn until they 74 can control their tank. No more waiting at the start 75 of their turn. 76 - Rollers now properly explode when hitting steel wall. 77 - Scoreboard shows current income and turn order. 78 This can be toggled with the ~ key. 79 - Fixed navigation keys on the store/buying sceen. 80 81 82=========== Atanks-6.0 released ============== 83 - Removed extra alleg42.dll file from src directory. 84 - Clarified license. 85 - Pressing "v" or "V" during a match will cause 86 the audio volume to decrease or increase, respectively. 87 Volume patch provided by Daniel. 88 - Plugged memory leak from update check. 89 - Fixed possible memory problem in floating text. 90 91=========== Atanks-5.9 released ============== 92 93 - Applied patch which removes GCC warnings, 94 Patch supplied by Daniel Gutson. 95 96 97============ Atanks-5.8 released ============== 98 99 - Removed compiler optimizations from src/Makefile to prevent 100 crashes on Fedora and Debian Unstable branches. 101 - If Allegro cannot be initialized, the game now 102 exits with a return code of 1. 103 104 105============ Atanks-5.7 released ============== 106 107 - Added new tank type, the Mini, provided by Daniel. 108 - Added patch from Fabian Greffrath to fix crashes 109 when Atanks is compiled using GCC 4.7. This patch 110 makes menu entries on the Options menu static variables. 111 Closes Debian bug #691107. 112 113 114============ Atanks-5.6 released ============== 115 116 - Updated icon file and COPYING file. Thanks to 117 Cristian for pointing out the problems with these files. 118 119 - Code clean-up to make game safer without threads/sockets. 120 Try to avoid memory errors in networked games. 121 Atanks now builds cleanly with clang++ compiler. 122 123 - Code clean-up to allow Atanks to compile on Windows. 124 We check to make sure pthread code is not included 125 where THREADS is not defined. 126 127 - Removed unneeded parameter from Tank class's 128 applyPhysics function. Was causing compiler warnings. 129 130============ Atanks-5.5 released ============== 131 132May 17, 2012 133 - Fixed typos in makefiles in src directory. 134 Thanks to Ville for submitting this patch. 135 136 137============ Atanks-5.4 released ============== 138 139April 8, 2012 140 141 - Updated Portuguese language files in text folder. 142 - Updated menu file with new Portuguese translation. 143 (Thanks ot Jose for providing the new translations.) 144 - Applied src/Makefile patch from Gentoo build process. 145 (Thanks to Michael Sterrett for providing this patch.) 146 147 148============ Atanks-5.3 released ============== 149 150Feb 23, 2012 151 152 - Updated makefile to remove un-needed debugging information. 153 - Various memory leak fixes and checks. 154 Patches provided by Nathan. 155 - Various memory fixes and typo fix. 156 Patches provided by Nathan. 157 - Removed some un-needed variables. 158 - Added locking system which should make Atanks 159 thread safe and more stable. 160 Thanks to Nathan for providing these patches. 161 162 163============ Atanks-5.2 released ============== 164 165 - Updated desktop file with Spanish comment. 166 - Modified makefile to support optional DESTDIR 167 variable. 168 - Added -pthread flag in src/makefile to avoid 169 linking issues. 170 The three patches above all provided by 171 Cristian Morales Vega. 172 173============ Atanks-5.1 released ============== 174 175 - Fixed close button so it skips remaining rounds. 176 Close button now also works during Demo Mode. 177 - Updated atanks.rc file. 178 179 180============ Atanks-5.0 released =============== 181 182June 4, 2011 183 - Window's close button now works on buying screen 184 and during rounds. 185 186 187============= Atanks-4.9 released ================ 188 189 190March 23, 2011 191 - Added Italian language support. 192 (provided by Roby Alice.) 193 194 195March 7, 2011 196 - Applied update to atanks.rc file to implement 197 game icon in the corner of the window. 198 (Update supplied by Billy Buerger) 199 200 201============ Atanks-4.8 released ================== 202 203 204March 6, 2011 205 - Put in check to prevent AI from buying weapons and items 206 above their tech level. 207 - Fixed lock-up when playing in Demo mode. 208 209Jan 13, 2011 210 - Fixed SDI point defense code so the lasers point at the 211 incoming missile. Thanks to Nolan for supplying this fix. 212 213 214============== Atanks-4.7 released =================== 215 216Sept 5, 2010 217 - Fixed header file includes for FreeBSD. 218 - Now we try to find out if Allegro can't start and exit 219 if we run into a problem. 220 - Fixed bug where command line flags for width and height were ignored. 221 - Partitial shields are restored at the end of rounds. 222 - Tanks should no longer get extra turns during rounds. 223 224 225July 18, 2010 226 - Added patch from CtHx which allows alternative key usage. 227 A, D, W, S for left, right, up, down. The R and F keys in place of 228 pageup and pagedown. The P key will now work like ESC during rounds. 229 - Added header file needed for newer versions of gcc. Thanks to CtHx 230 for pointing out this requirement. 231 - Added patch to support tank movement, using H and J. 232 233 234June 28, 2010 235 - Made it possible to adjust game speed in a more fine-tuned manner. 236 - Shields now reactivate at the end of the player's turn, not beginning. 237 - Large code clean-up to remove support for older config file format. 238 239 240June 12, 2010 241 - Fixed custom background code so that if no image 242 exists, we avoid a crash and generate a standard image. 243 244June 2, 2010 245 - Updated Makefile to match Billy Buerger's. 246 - Shields reactivate if knocked out. 247 - Fixed error where if the first player was neutral, they 248 would not receive credit for victories. 249 Bug reported by CtHx. 250 - Added fix for credits where all players are neutral or 251 the round ends in a draw. 252 253 254========== Atanks-4.6 released ================= 255 256May 24, 2010 257 - Added new makefile for OS X and FreeBSD users. 258 Should allow users on both systems to run 259 gmake osxuser 260 To build Atanks 261 - Tank text bounces on player's turn. 262 - Ingame menu is now displayed. 263 - Screen refreshes properly after quitting to menu mid-game. 264 - Tanks fall when they should. 265 - Added timed shots. 266 - Walls are re-drawn occasionally to make sure the player can see them. 267 - Avoid game lock-up when player dies during their turn. 268 - Skip AI when humans are dead now works. 269 - Client cannot take infinte turns. 270 271 272May 7, 2010 273 - Tanks wait to explode after other things have stopped exploding. 274 Makes action easier to follow. 275 - Server IP address can now be 16 characters long on the 276 Network Options menu. 277 278 279April 17, 2010 280 - Updated Makefile to work better with Ubuntu. 281 Fix provided by Neil. 282 - Added Spanish language support. 283 Provided by Marcelo Camacho Moreno. 284 - There are now two game loops. Which one is used depends on 285 on the compiler flags in the Makefile. The options are 286 OLD_GAMELOOP or NEW_GAMELOOP 287 - When using new gameloop, tanks can fire vollies 288 (like the jackhammer) in simultanious mode. 289 290 291============== Atanks-4.5 released ================== 292 293April 7, 2010 294 - Separated tank explosions from tank memory clean up. This 295 should prevent some memory leaks on the client side. 296 - Damage text on the client side now rises and disappears. 297 - When a client is taking too long to fire, the AI will 298 take over the take briefly to shoot. 299 300 301April 1, 2010 302 - Updated OS X entry in Makefile. Hopefully this will allow 303 people to compile on Mac. 304 - Updated main.h to support OS X. This used to piggy-back on 305 the Linux defines, but we can't do that anymore because of 306 Allegro's sound system. 307 - When only AI and netowrk clients are left, the game no longer 308 moves into foast forward (skip AI mode). 309 - Added "make ubuntu" build to work around the default sound driver 310 not working. Thanks to Neil for helping to trouble-shoot this and 311 test the patch. 312 313 314March 16, 2010 315 - Animations move at the proper speed on the client side. 316 - Server now updates client with tank health and shield status. 317 - Client displays tank shields. 318 - Client now displays shield and health information. 319 - Moved war quote code to allow smoother ending for networked games. 320 321 322March 5, 2010 323 - Removed debugging output from Help and Credits screens. 324 - Added client_message variable for passing messages from the client 325 to the main menu. 326 - When players fire before client has received all ground data, 327 the client will resume getting the data. 328 - Corrected spelling in German weapons file. 329 Provided by Simeon. 330 - Upgraded client-side terrain graphics. 331 - Cleaned up compiler warnings. 332 - Code clean-up in do_winner function. 333 - Server now lets client know who won the game. 334 - Client displays winner after game is finished. 335 336 337============== Atanks-4.4 released ================ 338 339Febraury 18, 2010 340 - Entire Help text is now displayed when the language is set to Russian. 341 342January 22, 2010 343 - Removed old title screen from data files. 344 - Introduced repaired weapons file from Simeon. 345 - Added check in weapon damage to prevent recursive bug. 346 - Added Locale settings to file loads/saves to fix crash 347 in some regions. Fix submitted by CtHx. 348 349============== Atanks-4.3 released ================= 350 351December 27, 2009 352 - Cleaned up memory leak in floating text code. 353 - Made Atanks _not_ use threads by default. 354 - Added command line option to enable thread use. 355 - Removed old shield drawing code. 356 - Created new shield animation. 357 - Added Bigfoot tank style. (Provided by GtHx) 358 - Networking threads are now able to function even 359 if background drawing threads are turned off. 360 - Clicking on tank style buttons causes the 361 new tank style to display properly. 362 - Put a cap on money to make sure even players in loaded games 363 get less than one billion dollars. 364 - Added code to detect where data files are. This 365 removes the need for the system makefile. 366 367 368December 4, 2009 369 - Updated Russian translation for in game menu. 370 Provided by CtHx. 371 - Updated German weapons file. 372 Translation provided by Simeon. 373 - Added new Spider tank images, provided by CtHx. 374 - Added updated Slovak language support. 375 Provided by Jozef. 376 - Made sure all ingame text files are the same length to 377 avoid empty strings. 378 - Switched to using new button design, provided by CtHx. 379 - Blue rectangle is drawn properly around new buttons 380 on the main menu. 381 - Changed the way menu backgrounds are drawn to avoid crashes 382 with various resolutions. 383 - Updated spec file to include all data files. 384 - In place of the name of the style, a preview of the player's 385 tank style is shown on the Player menu. 386 - Added new menu background, provided by CtHx. 387 - War quotes now appear in white for better contrast with new background. 388 389 390======================== Atanks-4.2 released ========================== 391 392 393November 27, 2009 394 - German language now uses unicode font to avoid weird symbols 395 in the text. 396 397November 13, 2009 398 - Fixed floating text so that Russian comments are not cut short. 399 - Added new Slovak weapons file. Provided by Jozef. 400 - Adjusted the way rollers move if they hit a flat surface. 401 - Added ingame Russian text. Provided by MyO. 402 - Client side now tries to maintain inventory. 403 - Try to make sure network players are returned to their original type 404 after each game. 405 - Added new tank styles, UFO, Future, Heavy. These were provided by CtHx. 406 - Added command line option "--nothread" to prevent the game from 407 using background threads. 408 409November 6, 2009 410 - Fixed Russian war quotes so odd symbols do not appear in the text. 411 - Teleports are now visible on client. 412 - Tried to make sure AI buys parachutes and spreads its money around more. 413 - Client should now stay connected in multi-round games. 414 - Fixed compile error when threads are not being used. 415 - Client now changes rounds and ends game when it should. 416 - Client can see which weapons they have and select which weapons to fire. 417 - If client does not do anything after about 10-15 seconds, AI takes over 418 for one shot. 419 - Fixed Heavy Riot Bomb price from $300 to $3000 to match similar weapons. 420 - Fixed client crash when using riot bombs. 421 - Client side no long fills up memory with unused objects. 422 423October 30, 2009 424 - Added basic game networking. 425 - The game will now compile without threads. 426 - Try to avoid crashes on large screens/64-bit computers. 427 - Tank positions sync across network every few shots. 428 - Added .rc file 429 430 431=========================== Atanks-4.1 released ============================== 432 433October 19, 2009 434 - Rollers should now fall down walls and roll properly before exploding. 435 - If satellite is turned off, it may still appear, but will no longer fire. 436 - Fixed crash which would happen if napalm hit steel floor. 437 - Made sure in game text gets cleaned up at the end of the game. 438 - Fixed a Windows bug which would cause crash at start-up. 439 - Added Network Game buttons to main menu. 440 441October 10, 2009 442 - Added Small Dirt Spread weapon. 443 - Updated Russian translation. 444 Text provided by MyO and Sergei. 445 - Created new weapon called Cluster Mirv. It releases a cluster 446 bomb while coming down. 447 - Created new weapon called the Per Cent Bomb. Causes the target 448 to lose half of its health (armour + shield). 449 - Tank speech text rarely over-laps now and travels at different 450 speeds. 451 - Added item called SDI Missile Defense. This device attempts to shoot 452 down missiles coming too close to the player's tank. 453 - When playing in full screen on Windows, the mouse should now 454 be visible. 455 - Added new weapon which reduces the explosive power of the target's 456 missiles. The new weapon is called a Reducer. 457 - Game text now lives in "ingame" text files (see "text" folder). Each 458 language has its own file to allow for easy translation without 459 recompiling. 460 - SDI no longer shoots at napalm jelly, causing it to hover. 461 - Updated spec file to reflect directory/file changes. 462 463October 4, 2009 464 - Fixed system wide makefile to build client.o 465 - Text can now be loaded into memory, rather than relying 466 on files and checking the disk. 467 - Updated Makefile to install text in new "text" folder. 468 - Text files, including weapons, help and tank text are now kept in 469 the "text" directory. 470 - Game loads text into memory and switches languages on the fly. 471 - Fixed comma showing up at start of money. 472 - When launching the game in full screen mode, the game using the 473 system's screen resolution. If the resolution cannot be detected, 474 it reverts back to safe values. 475 - Amount of money earned for a hit is displayed above the shooter's tank. 476 - Misc code clean up to remove old, commented code blocks. 477 - Added Full Screen option to Graphics Options menu. 478 - Added two new tank types for the players to choose from. 479 The new types are called Big Grey and T34. 480 Thanks to CtHx for providing these tank images. 481 482 483================ Atanks-4.0 released ======================= 484 485September 24, 2009 486 - Fixed memory leaks with new text block code. 487 - Running "make install" should now do a "make system" 488 for you first, rather than a local build. 489 - The game now remembers if the window was set to full screen 490 mode or not. Command line over-rides either mode. 491 - Firing rockets while under dirt does not cause the tank to fly 492 sideways. 493 - Added fix which should prevent Russian tank text from being 494 broken into multiple lines. 495 - Fixed on/off text in menu code. Thanks to ctHx for pointing out this 496 problem. 497 - Applied fix to avoid crash on 64-bit systems when choosing which 498 weapon to fire. 499 - Fixed Russian font on the buying screen. 500 - If the game is skipping the AI, the AI should now self destruct 501 if nobody is winning after 10 seconds. 502 Thanks to Yama and Draco for providing the code/suggestion for this. 503 - Money values are now displayed with comma separators to make 504 them easier to read. 505 506 507September 19, 2009 508 - The unicode font should now install properly, editted makefile. 509 - Changing language in the Options menu now causes the proper 510 weapons file to be loaded. 511 - Added fix to avoid pink lines showing up in detailed terrain. 512 - When selecting players, buttons should toggle properly now 513 if Russian font is being used. 514 - Placed Russian main menu buttons in proper order, I hope. 515 Thanks to CtHx for providing the correct order. 516 - Blue box on main menu is now the right size when viewing Russian 517 buttons. 518 - Added better German language support for in game menu. 519 - Added German weapons file. 520 - Added German Options menu translation. 521 Thanks to Roland for providing German language files 522 and menu translations. 523 - Added short delay in threaded land generation to reduce CPU 524 load at beginning of rounds. 525 - Tanks use all Russian chat files now. 526 - Fixed text on top bar during rounds. 527 - Added TEXTBLOCK class for easy access to text files. 528 - Added text.cpp and text.h to makefiles. 529 - Removed old lineseq.h file and references. 530 - Cleaned up renderTextLines function to display cyrillic 531 text properly. 532 533 534September 14, 2009 535 - Added unicode fonts to support cyrillic. 536 Thanks to Netscape (I think) for supplying this font. 537 - Placed unicode font in a datafile to greatly reduce project size 538 and decrease load/start-up time. 539 - Fixed bug which would prevent Portuegese help file from displaying. 540 - Fixed bug which prevented Russian Help text from displaying. 541 - The correct weapons file is now loaded to match the selected language. 542 - Floating text has been reorganized. 543 - Adjusted options screen to display unicode font better. 544 - Fixed speech text during rounds when using unicode font. 545 - Added command line option "--nobackground". This causes the green 546 background seen on most screens and menus to not be drawn. Instead 547 the background is left plain black. This is to avoid crashes on 548 some 64-bit machines. 549 - Updated spec file for RPM building. 550 - Adjusted text positioning on rounds screen to better handle 551 different fonts. 552 - Added Russian language buttons for the main menu. 553 Thanks to Sergei for making these and donating them. 554 - Land colours and textures are now generated in the background 555 before they are needed. This makes rendering detailed land much 556 faster on most computers. 557 558 559September 8, 2009 560 - Changed menu screens to use more common key commands. 561 Up/Down arrows move up and down through menus. 562 Space selects/deselects items. 563 Enter is the same as clicking OK. 564 ESC backs up to the previous screen. 565 The right/left arrow keys adjust item values or buy/sell. 566 - Updated README file to reflect new key mapping. 567 - Moved some define statements out of main.h and into the 568 Makefile for global availablity. 569 - Made buying screen moving more logically when responding 570 to keyboard. 571 - Made keyboard work smoothly on buying screen. 572 - Cleaned up buying items with keybaord to make sure proper 573 items are purchased and screen scrolls as expected. 574 - The ENTER key now leaves the buying screen, not SPACE. 575 - On the buying screen, the item selector stays on the screen 576 when the mouse is being used. 577 - Weapons can now be cycled through during a round by 578 using the Z and C keys. (Tab and Backspace still work.) 579 - Running "make system" will build Atanks in a way compatible with 580 installing on Linux systems. 581 - Changed Mass Teleport to make sure all tanks get teleported. 582 - Fixed Options menu to make sure ENTER key would return to main menu. 583 584 585September 4, 2009 586 - Added Windows icon, resource and makefile. 587 Thanks to Billy Buerger for supplying these. 588 - Added Allegro .dll file for easier Windows portability. 589 - Replaced some pieces of code from checking to see if we are running 590 on Linux to checking if we have threads and/or network access. 591 This should make the code easier to port. 592 - On the Help screen, arrow keys can be used to scroll up or 593 down through the text. Spacebar resumes scrolling. ESC or 594 a mouse click returns to the main menu. 595 - Re-added English version of the Help file. 596 - Made sure the "*" appears next to player names in the 597 Player menu. 598 - Removed long delay between menu screens on Windows/wine. 599 - Fixed Windows crash bug in aiming code and player handling. 600 - Fast sky generation should now work in Windows, if compiled with 601 mingw compiler and THREADS is defined. 602 - Some code clean-up to make porting network features to Windows easier. 603 604==================== Atanks-3.9 released ================================== 605 606August 28, 2009 607 - Added patch from BillyBuerger which allows computer only 608 play to be skipped, even if the setting to watch the full 609 round is enabled. This is accessed by pressing ESC during 610 the round and selecting Skip AI. The action is then 611 skipped for the remainder of that round only. 612 - Added Russian language support for instructions, README 613 file, tank speech and menu. Many thanks to MyO for submitting 614 the translations. 615 616 617August 21, 2009 618 - Fixed bug which would cause the game to hang while AI was 619 buying items. 620 - Fixed bug which would cause AI to purchase only small missiles 621 if no preferences had been generated. 622 - Fixed a compile bug on Windows related to the new sound 623 driver code. 624 - Fixed a bug that would cause the Windows version to crash if 625 the AI was fighting in a round with less than ten players. 626 - Fixed a bug which would cause the Windows build to crash if 627 repulsor shields were used with less than ten tanks in the game. 628 - Fixed compile errors on Windows. 629 - Added function which will create a "music" folder in the .atanks 630 config folder. 631 - Game will now play wav files which are saved in the .atanks/music 632 folder. One track is played each round and looped. 633 The wav file must be 16-bit. 634 - Added item to main option menu called the Sound menu. The sound menu 635 contains all sound related options. Removed sound driver options 636 from the Graphics menu. 637 638 639August 7, 2009 640 - Players can now select which sound driver they want. This should 641 usually be left on Auto Detect, but Linux users can select from 642 a variety of other sound drivers if need be. 643 - Saving and loading games is now done using text files again. 644 - Settings are saved in regular .txt files again for easy editing. 645 The game should automatically switch from the old .dat files. 646 - Added --nonetwork command line option to avoid using any 647 network server code. 648 649 650August 1, 2009 651 - Fixed bug where pressing a key on the Select Players screen 652 would cause the game to run without any players. 653 - Removed crash when sound is not properly initalised. 654 - Added keybaord support for options menu and select player 655 menu. Tab and Backspace switch between fields. ENTER toggles 656 toggle boxes. Up and down arrows adjust values. Space is OK 657 and ESC is cancel. 658 - Removed most un-needed exit calls to avoid having the game crash 659 needlessly. 660 - Added keyboard support for the main game menu. Tab and Backspace 661 navigate the menu. Enter and Spacebar select items. Esc quits 662 the game. 663 - Added check to make sure unselectable items are not selected 664 during the battle. 665 - Added a quick note on keybaord controls to the README file. 666 - Removed AI's ability to cheat by "megically" getting more money. 667 - Made teams divide up money more fairly. 668 - Fixed dependencies in the Makefile. 669 - Game should no longer crash if a mouse is no present. 670 - Added keyboard support to buying screen. 671 672 673July 25, 2009 674 - Created exporter utility, which takes all images out of 675 an Allegro datafile and saves the bitmaps in the current 676 directory. 677 - Replaced all datafiles with sub-directories. This allows easy 678 access to view and edit all images and sounds. 679 - The game now manually loads all images and sounds 680 in the globaldata class. 681 - Atanks now uses manually loaded images. Datafiles are no longer 682 used. Removed datafiles. 683 - Napalm looks a little more firey. 684 - Added Rocket item, which shoots the tank up into the air. 685 - Fixed drawing of the tank when using the rocket. 686 - Reduced cost of auto-repair kit. 687 - Added rocket flames. 688 - Prevented tank from launching itself into orbit. 689 - Rockets can move a tank left or right, depending on the direction of 690 the tank gun. Straight up causes the tank not to drift either way. 691 - Updated Makefile to handle new image and sound handling. 692 693 694================== Atanks-3.8 released ============================ 695 696July 24, 2009 697 - Fixed some code to be more compatible with Windows. 698 699July 16, 2009 700 - Fixed bug where the error message would be garbled if no weapons file 701 was found. Thanks to BillyBuerger for reporting this bug. 702 - Placed virtual object functions back in their source file. Removed 703 inline statements. 704 - Placed physical object code back in source file. Removed inline 705 statements. 706 - Funky bomblets (and funky deathlets) now display in different colours. 707 - Removed all the un-needed private constructors and deconstructors. 708 Removed un-needed inline declarations. 709 - Removed white bubbles from menus to improve contrast and reduce 710 CPU usage. 711 712 713 714July 8, 2009 715 - Removed code which caused crash if settings were not saved. 716 - Fixed crash in retaliation text code. 717 - Added Demo mode. Leaving Atanks on the main menu for one 718 minute causes the game to play by itself for five rounds. 719 This can be stopped at any time by pressing the ESC key. 720 - On Linux, the sky is now generated in a background thread. This 721 removes most of the delay at the end of the buying screen, before 722 a round starts. 723 (I forget who suggested this a year or so back, but I didn't have 724 the time to implement it then. I think they were a Java developer 725 and they deserve the credit for this idea.) 726 - Fixed a problem with cluster bombs not having the proper sub-missile. 727 - Moved some floating functions out of atanks.cpp and placed them in 728 files.cpp for better access from other source files. 729 - Fixed land drawing under threaded mode. 730 - Changed war quotes to display in black for better contrast. 731 - Fixed blank patches in sky when using threads. 732 733 734 735July 4, 2009 736 - Changed main game loop to go through objects twice rather than loop 737 twice for each class. Should reduce CPU usage by about 5%. 738 - Tried to make teams more evenly matched. 739 - Added Option menu called "Network". 740 - Made checking for updates on the web an option, under the Network menu. 741 - Made MIRVs detect their position much more efficently. 742 - Created new weapon (Driller), which will dig a deep hole where ever it lands. Does 743 minor damage to any tanks hit. 744 745June 27, 2009 746 - Added Chain Missile and Jackhammer weapons. (Provided by Yama.) 747 - Weapons such as chain gun, chain missile and jack hammer now correctly 748 display the number of shots the player has left, rather than the total 749 amount of missiles in the spread. 750 - In the Store, the correct number of items purchased now show up next to 751 items such as the chaingun, chain missile and jack hammer. 752 - Updated README file. 753 754 755 756============= Atanks-3.7 released ======================================== 757 758June 22, 2009 759 - Napalm should now fall if no dirt is under it. 760 - Player colours should look the same in 16 and 32 bit colour modes now. 761 - Cleaned up old fog code. 762 - Fixed fan graphic in different colour modes. 763 - Game now automatically checks for updates, if the user is running Linux. 764 Availible updates are displayed on the main page. 765 766June 19, 2009 767 - Added option to allow players not not share money with team mates. 768 (menucontent.h, globaldata.h, globaldata.cpp, atanks.cpp) 769 - Fixed crash when checking tank status. 770 (globaldata.h, player.cpp, tank.cpp) 771 - Atanks now uses the desktop's default colour depth. The user 772 can over-ride the default by using the "-d" option on the command line. 773 - Applied code from Yama to make satellite drawing more smooth. Should 774 avoid leaving artifacts. 775 776June 15, 2009 777 - Fixed abs() calls in player.cpp and tank.cpp 778 - Replaced old Teleport animation with Yama's. 779 780June 4, 2009 781 - Added war quotes to display at the end of games. (files.cpp, files.h, 782 atanks.cpp (do_winner)) 783 - Added war_quotes.txt data file with list of quotes about war. 784 - Added Reset All button on the options page (atanks.cpp options, 785 globaldata.h, globaldata.cpp, evironment.h environment.cpp) 786 - Made default colour theme "crispy". 787 - Moved do_winner screen up a little to give room to the war quotes. 788 - Added option for custom background (menucontent.h, environment.h 789 environment.cpp) 790 - Any bitmaps found in the config folder (.atanks) can be used 791 as custom backgrounds. (files.cpp, files.h, atanks.cpp, environment.h, 792 environment.cpp) 793 - Added Mass Teleport item, teleports all tanks on the screen to 794 random locations. (tank.cpp, weapons.txt, main.h) 795 796 797================== Atanks-3.6 released ================================ 798 799June 1, 2009 800 - Fixed Makefile to make sure binary does to correct directory. 801 - Moved giant inline function out of header file and into environment.cpp 802 - Added deconstructor to ENVIRONMENT class fpr clean-up. 803 804May 19, 2009 805 - Settings from previous versions (prior to 3.5) can now be imported. 806 - Fixed Makefile to handle changes to source files. 807 - Re-added debugging codes to Makefile. 808 - Fixed various crashes that would happen with the computer was aiming 809 at tanks which had already been destroyed. 810 - Prevented tanks from getting credit after they die. 811 - Players should no longer show up as winning a round if they have died. 812 - New game menu should look better now at higher resolution. 813 - When selecting options or game rounds, the options now "wrap" around 814 from highest to lowest and lowest to highest. 815 - Added menu support for Slovak. (Provided by Jozef.) 816 817 818 819==================== Atanks-3.5-r1 released ========================== 820March 25, 2009 821 - Important Bugfix: 822 Fixed a bug that could cause atanks to crash if a game with players which 823 do not belong to the first 10 set up players chosen is loaded. 824 - Important Bugfix: 825 A typo made atanks impossible to be compiled on windows platform 826 827===================== Atanks-3.5 released ============================ 828 829March 19, 2009 830 - Fixed a bug that caused players to be skipped, if their predecessor died 831 during their own attack. (now really working!) 832 - rewrote loading and saving of game settings and games. 833 Important: Old save games and settings can not be imported! 834 - Bots no might a) forget their revenge plans on new rounds, b) drop revenge 835 plans if the revengee is on the same team and c) go for the not-same-team 836 leader as a new revengee if the difference of won rounds grows too high. 837 - Smoke desolves now a bit more realistic. 838 - Napalm Jellies now grow first instead of spawning fully sized. 839 - If a "winner" dies during end-of-round waiting, the score and money bonuses 840 are substracted. (No more "Die-But-Keep-The-Points"-behavior!) 841 - Fixed a bug that made Sith go for their team mates in special circumstances. 842 - Changed the Makefiles to the new source layout and fixed some issues. 843 - dynamized the new targetting system, so that there should be no more "lags" 844 845February 21, 2009 846 -- Finally "-Wno-write-strings" is no longer needed to compile the sources 847 -- Rewrote the environment method to calculate average background colors. It is 848 now inline and somewhat optimized, making shadowed + fading text more 849 performant. 850 -- Rewrote File handling, apart from three tiny points atanks is now fully ISO 851 C++ compliant. 852 -- Made rollers a bit faster dropping 853 -- No more roller-breaking of shields by hammering them above the enemy onto 854 the steel/wrap ceiling! They explode now. 855 -- Two tiny patches make bots targetting a bit faster and destroy (hopefully) 856 any possibility for the system to go infinite 857 -- prepared all neccessary files to be translated. But please note: 858 -- English: Is always there 859 -- Portuguese: Is borked. But maybe it's only my utf-8 system showing the 860 wrong characters. I looked into the atanks-2.9 files and it is broken there as 861 well. If its just my system, don't mind. ;) 862 -- French: Has some tiny things that has to be translated. Retaliation is 863 still english, and I am not sure how to translate "Shadowed Text" and "Fading 864 Text", so some french natural speaker might do this? 865 -- German: Only weapons_de.txt needs to be translated, I'll do it next year. 866 -- Slovak: Only the gloating texts *are* translated so the rest is missing 867 completely, but I have prepared the files and menucontent.h for a slovak 868 natural speaker to be translated. 869 -- Added weapons_*language*.txt files so we can (finally) translate the weapon 870 texts as well. 871 -- Fixed a bug that could cause roller tracking to go infinite. 872 -- Balanced fading texts some more 873 -- Corrected some text messages 874 -- added new roller code. Rollers now really roll! 875 -- fixed a bug that made tracking report wrong hit points when tracking 876 rollers and burrowers 877 -- Added average background color calculation and fixed fading text offset. It 878 should look far better now. 879 -- Balanced shadowed text color calculation 880 -- added a new retaliation text. When bots aim at opponents they have a grudge 881 against, they might tell you now. 882 For this to work you'll have to copy retaliation*.txt into 883 /usr/share/games/atanks/ (or wherever you have your atanks data files) 884 directory. 885 -- removed waiting for explosions to finish when tanks blow up after being hit 886 by violent death missiles. 887 I was longing to change that for ages, because I grew rather sick of tanks 888 being suspended in mid-air for ages while all those violent death missile fly 889 around. Now, they blow up immediately. However, when a normal missile is shot 890 and destroys a tank, it still waits for the missile's explosion to finish. 891 -- changed tank falling behavior: They now can fall a short distance (2-5 892 pixels) without getting damage and without the parachutes to open. 893 I was longing for that one, too. The reason is, that it is madness to waste 894 30+ parachutes and/or getting alot of damage while moving (!!) a tank down a 895 flat slope. 896 -- Fixed a bug with the tracing of spreads which resulted in bots hitting self 897 but not the opponent. 898 -- added a security check when calculating offsets to napalm. Bots should not 899 drop napalm onto themselves any more when trying to hit a neighbor. 900 -- added shadows to the text to increase readability. (Has to be turned on in 901 the graphics menu, for compatibilities sake this option defaults to "off") 902 -- added fading to the text, to ... well... to have a bit of eye candy. ;) 903 (Has to be turned on in the graphics menu, for compatibilities sake this 904 option defaults to "off") 905 -- cleaned up aiming calculation 906 -- cleaned up debugging messages for "DEBUG_AIM" and added some more info. 907 -- Fixed a bug that could cause riot shots and blasts to start 10-20 pixels 908 away from the tank cannon. 909 -- Fixed a bug that caused the the aiming system to fail in a very special 910 (and rare, but still existing) situation, resulting in bots shooting into the 911 ceiling. 912 -- Added a cleanup for all objects. No more debris on the screen! 913 -- As the new aiming system doesn't need it any more, the wall type and boxed 914 mode aren't changed any more once the last human player dies and skipping is 915 turned on. 916 -- added boxed mode (Finally!) 917 -- riot blasts fixed, they no longer shoot downwards when too less power is 918 chosen 919 -- chain missiles now blast through dirt. (vertical spreads, too) 920 -- Walltypes on non-human rounds with skip-AI on will now all change to 921 Wrapped Walls & non-Boxed mode, but not before the current destructions 922 (violent deaths, falling tanks) are finished. (happy, sylikc? ;)) 923 -- a completely new aiming system has been written to make the boxed mode 924 possible 925 -- added tweaks to reduce "debris" left on screen 926 -- added tweaks to reduce "choking" of the display when too much is going on 927 -- removed HLR_DEBUG, because in over 1000 rounds the speed-up-system never 928 failed 929 -- There are now three different defines for debugging: 930 -- DEBUG 931 Will show everything concerning inventories, shopping system, item 932 selection and target selection of the bots on the console. 933 -- DEBUG_AIM 934 Will show all relevant numbers of the new aiming system on the console 935 -- DEBUG_AIM_SHOW 936 Will draw dots and circles on the screen to make the "thinking" of the 937 aiming process visible. 938 (Warning: The game is no longer playable in this mode) 939 -- balanced computer player values, according to the new aiming system. 940 Generally speaking, the "useless" bot won't hit a barn with a pumpgun, while 941 the "deadly" bot is very precise. 942 -- If no target can be reached by normal means, bots now might teleport (or 943 swap) out of their corner, or try to get rid of the obstacle by using riot 944 blasts 945 -- While aiming bots now try to avoid hitting themselves or team mebers (when 946 non-neutral) and are somewhat carefull not to hit themselves or team members 947 with the blast damage their weapon produces. If a target can't be hit 948 otherwise, there have sacrefices to be made, though... 949 -- target selection now uses the new aiming system to value targets lower 950 which are hard (or impossible) to hit 951 -- item selection now uses the new aiming system to value weapons lower with 952 which the chosen target can't be hit properly 953 -- The target system now calculates burrowers and rollers. (Which leads to 954 some highly entertaining results! :)) 955 -- The more intelligent a bot is, the more "bounces" of walls or "wraps" it 956 can calculate. 957 -- The more intelligent a bot is, the more spread it can calculate. So don't 958 wonder if a useless or guesser bot fires a super spread, happily hitting 959 itself. It simply couldn't see that coming. 960 -- Velocity check rewritten. It now a) works and b) fixes the "Repulsor- 961 Shield-Bug" :D Yes, I am very happy about that! 962 It is handled in three different ways: 963 -- No Spring Wall: The limit is set by maximum power, influenced by 964 the mass of the weapon. 965 -- Spring Wall and Not Boxed: The Limit is doubled, or shooting at the 966 wall would destroy your missile. 967 -- Spring Wall in a box: The limit is four times the normal limit, or 968 it won't be any fun! 969 I had very entertaining results with that! :) 970 -- hit 2500! This means I have now tested over 2500 rounds with the new 971 shopping- and target-selection systems since the last changes and/or bugfixes! 972 -- The Boost Value calculation is changed to be more dynamic to future changes 973 -- added a private member to count how many boost items are bought 974 -- changed boost buying: inserted a per-round-limit aka iBoostItemsBought with 975 the help of the above count 976 -- language menu fixed 977 -- changed interest to be dynamically gained 978 -- Added a new define, HLR_DEBUG which, when set, causes the round to end 979 after each bot having one last shot if no human players are left. (Default, 980 currently, is 16) 981 -- Fixed a bug that caused aTanks to freeze for seconds everytime too much is 982 going on. (Explo, Text, Smoke, etc.) On some occasions there still can be a 983 "hang" for a split second or so. But that could have been my computer, the 984 issue needs to be tested and watched. 985 -- Started to add boxed mode (not implemented yet! But the menu item is there 986 and the Wall-Display is changed) 987 -- Fixed a bug causing accelerated AI to crash 988 -- Included sylikc's Anti-Crash-Fix 989 -- When bots have enough money, they do not spend everything. Jedi keep 50%, 990 Neutrals 25% and sith 5% (the squanderers! ;) *hrhr*) for "bad times" 991 -- Repulsor Shield handling changed: 992 changed ydist to be always negative, so missiles are *always* handled 993 like they came from above! It remains to be tested whether this 994 balances the repulsor shields, or renders them unbeatable (which could 995 happen...) 996 Note: In over 500 rounds they perform better, but are still far away 997 from being "unbeatable" 998 -- When determining pre-Buy items bots enforce buying of boost-Items if they 999 are too far away from the peak. 1000 -- Limit for items raised up to 999 (like humans) 1001 -- limited AI-Only Rounds. If the last human players dies the remaining bots 1002 get 10 tries each to find a winner. If they do not succeed, the round is ended 1003 and the most healthy tank wins. (Or the round draws if two or more are equal) 1004 I added this, because there is a tiny chance (it never happened in the last 1005 weeks, but thrice only yesterday!) that the games gos infinite in AI-only 1006 turns. Situation: bots left have only small missiles and regenerate more each 1007 round than the small missile delivers. 1008 With this limit it won't happen any more. 1009 -- When the last human dies and the wall type is changed, it is redrawn at 1010 once now. 1011 -- limited interest && team money 1012 It is too easy to become super-marvel-universium-mega-hero by just waiting a 1013 couple of rounds until the bank has pumped up your account to some millions. 1014 Currently the bank refuses to pay more interest than 100k, but that hard limit 1015 will be changed to a dynamic one. (see todo list) 1016 As for team money, bots now refuse to spend more than 500k into the pot. 1017 Humans, too, of course. 1018 -- team win->WinRoundBonus divided instead of applied full. 1019 It is just extremely unfair that the teams get much more money for winning a 1020 round when it is easier for them to do so. 1021 -- 75% was too much, thus jedi now only pay 50% into the team account. 1022 -- Bots try to save up money to get better equipment 1023 -- Bots look at basic equipment first before heading for the weapons-shop. 1024 -- Parachutes (if gravity is on) 1025 -- Basic weapons (aka 5 medium and 3 large missiles 1026 -- Armor/Amps 1027 -- "Tools" to free themselves like Riot Blasts 1028 -- Shields, if enough money is there 1029 -- if all is set, look for dimpled/slick projectiles! 1030 Armor/Amps (aka "Boost-Items"), however, are limited, so they will only buy 1031 them, if someone has a higher value in boost-items. As these items can be 1032 bought randomly as well, they won't neccessarily wait for the human player(s) 1033 to go ahead! 1034 -- Buying is no longer purely random but takes the bots weapon preferences 1035 into account. 1036 -- The amount of money a bot wants to save up is used for the target-finding- 1037 system as well: 1038 If a bot has less money, it is more likely to target weak opponents to fetch 1039 the kill-bonus. If it has enough money, it will more likely chose the biggest 1040 threat. 1041 -- Money-saving is now limited, so that no bot tries to sum up millions. Right 1042 now the highest maximum, depending on type and weapon preferences, is 1M. 1043 (Deadly(=5) * 2 * Armageddon cost) 1044 -- Teams are now handled differently in alot of places: 1045 -- Prior the shopping tour, every jedi adds 75%, and every sith 25% of 1046 their money to the "team-account". The team-money is reduced by a 1047 "transaction fee" (jedi: 5%, sith: 10%) and then divided onto all 1048 team-members to help each other out. 1049 -- While searching for a target jedi try not to hit their team mates, 1050 while sith do not care so much. 1051 -- While searching for a target jedi give alot less than neutrals 1052 about revenge, while sith can become furious (even against team 1053 members!) 1054 -- jedi *can* become "super-defensive" (defensive > 1.0) while sith 1055 *can* become "super-offensive (defensive < -1.0). By this jedi can be 1056 extremely cautious every now and then, while sith like to throw 1057 caution out of the window. :) 1058 -- Riot blasts/bombs are no longer chosen to be shot onto enemies! 1059 -- fixed a bug with the rating of buried targets while searching for a 1060 target/chosing an apropriate weapon 1061 -- target selection and weapon selection now work together: 1062 A bot choses a weapon and tries to find the best target for it. Then the bot 1063 decides whether another weapon would be better for that target and switches to 1064 that. But they value weapons higher they like more, now. 1065 -- corrected the _targetX modification for shaped charges and napalm: 1066 Bots trie to aim shaped charges so that they do not directly hit, for aiming 1067 napalm they try to take wind into account. 1068 -- added blast check, to avoid using weapons which blast hit self, depending 1069 on intelligence and defensiveness 1070 -- added laser check to see whether a laser can be fired or would hit solid 1071 rock only 1072 -- added check for buried targets and appropriate weapons (burrower, 1073 penetrator, tremor-tectonic) 1074 -- added a check to get more intelligent bots to do collateral damage when 1075 possible 1076 -- Added a custom Kamikaze text for the situation when bots decide to blow 1077 them selves up. 1078 -- Money interest was added right before entering the shop, resulting in 1079 interest added everytime a game was reloaded (and reloaded, and reloaded...). 1080 I changed that so that interest is added after leaving the shop, fixing the 1081 "Add-money-by-reload"-Bug. Further there is no more interest for money that is 1082 just earned in the last round. 1083 -- added offset if no human players left, raising the class of the bots to 1084 speed up the game without changing the difference in intelligence between bots 1085 too much. 1086 -- bots perform best on rubber and wrap walls. If no human players are left, 1087 the wall type is changed if steel/spring is chosen to speed up the accelerated 1088 game. 1089 -- calculation of the shaped charge type weapons was improved (and corrected). 1090 -- Added preference generation for bots that are set to "per play" when a game 1091 is loaded. The loading of the preferences is (unfortunately) disabled and I do 1092 not know why. As long as they *are* disabled, PerPlay-Config bots have to get 1093 a new config on game load, or they use the global config, rendering PerPlay- 1094 Config useless. 1095 -- For PhysObjects: reduced "virtual" height to 25 times screen height and 1096 changed velocity check for the real velocity and >200 x mass. 1097 -- Re-Added german language, it flew out of the release. 1098 1099===================== Atanks-3.2 released ============================ 1100 1101September 25, 2008 1102 -- Player references are now removed from dying tanks to 1103 void game crash. 1104 1105Setpember 20, 2008 1106 -- Close button should now work on Windows. 1107 (Patch provided by sylikc.) 1108 -- Weapons should no longer bounce off repulse shields and 1109 fly up forever. 1110 (Patch from Yama.) 1111 -- Explosions on wrap-around walls appear on the far side of the 1112 screen too. 1113 (Patch from Yama.) 1114 -- Code clean up. 1115 (Patch from Yama.) 1116 -- Added fix to avoid skipping turns when spring 1117 walls are used. 1118 1119 1120 1121September 2, 2008 1122 -- Credits and Help screens now ignore extra DOS return 1123 characters in the text file. 1124 (Submitted by sylikc) 1125 -- Added German language support. 1126 (Provided by Yama.) 1127 -- Changed formula for dealing damage with shaped charges. 1128 (Provided by Yama.) 1129 -- Added language support for instructions. 1130 (Provided by Yama.) 1131 -- Adjusted time clock to avoid skipping human player turns. 1132 -- Fixed typo which prevented penetrators from detonating when they 1133 hit the ground. 1134 (Provided by Yama.) 1135 1136 1137August 28, 2008 1138 -- Added patch from sylikc to prevent rounds ending 1139 before the winner gets credit. Changes atanks.cc 1140 -- Winners are now sorted by score at the end of the game. 1141 -- Added patch to make Atanks able to run in the background 1142 on Windows OS. (Provided by sylikc) 1143 -- Added custom data dir for Gentoo distro. 1144 (Provided by Yama) 1145 -- Fixed pointer warning in menucontent.h file. 1146 (Fix provided by Yama) 1147 -- Added advanced AI weapon and item preferences. 1148 (Provided by Yama.) 1149 -- Fixed potential crash in player menu. (Patch from Yama) 1150 1151 1152 1153August 11, 2008 1154 -- Added Mac OS X makefile for compatibility on that platform. 1155 -- Patched files.cc and files.h to work with OS X. 1156 (Patch provided by ryandesign) 1157 -- Added Slovak language for tank dialog. 1158 (Provided by Jozef Riha) 1159 -- Applied item selection patch and loading patch from 1160 Yama. 1161 1162 1163===================== Atanks-3.1 released ============================ 1164 1165July 26, 2008 1166 -- Removed strcasestr from Win32 build to avoid compiler error. 1167 -- Fixed error with time delay and simulanious firing. 1168 1169 1170July 12, 2008 1171 -- Corrected error where tanks firing chain missiles would be skipped a turn. 1172 1173July 1, 2008 1174 -- Added time limit for shots. Can be changed in the Physics option 1175 screen. 1176 -- The timed shots limit is now saved in the game settings. 1177 -- Adjusted compile flags to avoid annoying messages from gcc-4.3.0 1178 1179 1180 1181June 6, 2008 1182 -- Fixed bug where if no saved game exists, 1183 atanks will crash. 1184 -- Added Windows compatibility code for saved 1185 game searches. Provided by Keilaron. 1186 -- Fixed Windows search for saved games. 1187 1188 1189 1190 1191 1192===================== Atanks-3.0 released ==================== 1193 1194May 23, 2008 1195 Jesse (jessefrgsmith@yahoo.ca) 1196 -- Added patch to avoid skipping turns when 1197 violent death is on. 1198 -- Adjusted final score layout. 1199 1200 1201 1202May 6, 2008 1203 Jesse (jessefrgsmith@yahoo.ca) 1204 -- Introduced browsing option for saved games. 1205 -- Completed "select saved game to continue" feature. 1206 -- Fixed bug where a team would get credit for winning 1207 when all tanks were destroyed. 1208 -- Added kill/died ratio to end game stats. 1209 -- Fixed bug in detecting which player/team wins. 1210 1211 1212April 15, 2008 1213 Jesse (jessefrgsmith@yahoo.ca) 1214 -- Graphics should display properly if the 1215 game needs to recover graphic settings. 1216 -- When the player dies, the game will not skip 1217 ahead to the end of the round until violent deaths 1218 are finished. 1219 (Thanks to Scott for providing this patch.) 1220 -- Updated Portuguese language files to use latin1 1221 encoding. Should display better than old files. 1222 -- Fixed floating point calculation bug in the 1223 interpolate() function. Thanks to pyeatt for providing 1224 this fix. 1225 1226 1227March 25, 2008 1228 Jesse (jessefrgsmith@yahoo.ca) 1229 -- Re-implemented fog. Made fog smoother, where 1230 tanks disappear and re-appear. 1231 -- Fixed medium napalm so it drops napalm, not 1232 tremors. 1233 -- The fog option no longer shows up as incomplete. 1234 -- Massive code clean up. Removed old versions of save/load, 1235 took out old aiming code. Breaks backward compatiblity with 1236 versions of Atanks prior to 2.4. 1237 -- Made the satellite slightly less violent. 1238 -- Tanks should no longer waste lasers trying to fire below 1239 their level. 1240 -- Updated gloat, revenge and suicide remarks. 1241 1242 1243=============== Atanks-2.9 released ====================== 1244 1245March 18, 2008 1246 Jesse (jessefrgsmith@yahoo.ca) 1247 -- Added text to buying screen to indicate arrows can 1248 be used to scroll through items. 1249 -- Re-wrote AI aiming. Target tanks, rather than areas. 1250 -- AI no longer shoots at steel walls. 1251 -- Added levels of violent tank deaths. 1252 -- Added dirt that randomly falls from the sky, similar to meteors. 1253 Option is in the Weather menu. 1254 -- Removed old satellite system 1255 -- Created new satellite object. 1256 -- Satellite now fires lasers. 1257 -- AI controlled tanks no longer adjust power for items. 1258 Saves time. 1259 1260 1261March 2, 2008 1262 Jesse (jessefrgsmith@yahoo.ca) 1263 -- Added command line option "--noconfig" which 1264 avoids loading game settings, but still loads 1265 players, to allow game settings to be reset. 1266 -- If no tanks fire a shot, natruals are paused until 1267 someone fires. This fixes two problems: 1268 A) If you leave the keyboard and come back 5 minutes 1269 later, there is still some dirt left. 1270 B) It is not possible to simply buy a lot of parachuts 1271 and armour and wait for enemy tanks to die from naturals. 1272 -- Added Physics option "Violent Death" which causes tanks to 1273 die in violent explosions when turned on. Is left off by default. 1274 -- Added Land Slide option called "Tank Only", which causes tanks 1275 to fall, but dirt hover in the air. 1276 -- Reworked loading players to make it more flexible. 1277 -- Attempted fix for start-up screen size. 1278 -- Added item called Armour Piercing. Makes a very small explosion 1279 but does a fairly large amount of damage. 1280 1281 1282 1283February 19, 2008 1284 Jesse (jessefrgsmith@yahoo.ca) 1285 -- Fixed spelling error on desktop file. 1286 Thanks to Keilaron for pointing this out. 1287 -- Added French language files, menu option. 1288 Thanks to Olivier for providing the translation. 1289 -- Added command line option "-c" to specify 1290 where the config file should be created/used. 1291 -- Removed weapons.h from source tree. 1292 -- Avoid memory fault in moving config file. 1293 1294 1295========== Atanks-2.8 released ======================== 1296 1297February 11, 2008 1298 Jesse (jessefrgsmith@yahoo.ca) 1299 -- Changed MIRV settings to cause wider spread of sub missiles. 1300 -- AI returns to regular difficulty level after each game when 1301 in campaign mode. 1302 -- Added land type None, which plays rounds with no land at all. 1303 Using Random land will not cause None to be used. 1304 1305 1306January, 29, 2008 1307 Jesse (jessefrgsmith@yahoo.ca) 1308 -- When a neutral player wins the same number of rounds 1309 as a team, the game is a draw. 1310 1311 1312January 18, 2008 1313 Jesse (jessefrgsmith@yahoo.ca) 1314 -- Weapon, naturals and items are now stored in 1315 a text file (weapons.txt). The data in weapons.h 1316 is no longer used. 1317 A) Created function to read in weapon/item data. 1318 B) Commented out weapons.h 1319 C) Implemented weapons.txt -- provided by action9000 1320 D) Replaced named constants in weapons.txt 1321 E) Weapon, items and naturals declared in globals.h 1322 -- Re-wrote AI weapon selection system, hopefully this will be 1323 less CPU intensive. 1324 -- The icon for the current weapon is displayed on the 1325 top bar during rounds. 1326 -- If the AI does not have a fun weapon to use, it may 1327 select an item. 1328 -- AI does not select self-destructive items or teleports 1329 unless parachutes are in inventory. 1330 -- Created small MIRV missile. A device that releases payload 1331 while still above the ground. 1332 -- Created MIRV images. 1333 1334 1335January 7, 2008 1336 Jesse (jessefrgsmith@yahoo.ca) 1337 -- Introduced Campaign mode, which causes the AI 1338 to get progressively smarter each round. 1339 -- Removed liquid.cc from source tree. 1340 -- Removed list.cc and list.h from source tree. 1341 -- AI players randomly select weapons rather than 1342 using an item until they run out. 1343 1344 1345December 28, 2007 1346 Jesse (jessefrgsmith@yahoo.ca) 1347 -- Firing a chian missile no longer fires another 1348 shot, such as a death head. 1349 -- Dirt balls that explode above the screen 1350 no longer produce endless stream of dirt. 1351 -- Program should no longer crash when 1352 creating a new player. 1353 -- Fixed lightning sound. 1354 -- Created menu option for Laser Satellite. 1355 -- Added laser-armed satellite that randomly fires 1356 on the battle field. 1357 1358 1359December 23, 2007 1360 Jesse (jessefrgsmith@yahoo.ca) 1361 -- Put fan item picture back to fan. Had been 1362 accidently changed to fuel image. 1363 -- Fixed mkdir call for Windows. 1364 1365 1366 1367=============== Atanks-2.7 Released ====================== 1368 1369 1370December 15, 2007 1371 Jesse (jessefrgsmith@yahoo.ca) 1372 -- Fixed bug where the game would crash if two players on the 1373 same team have a duel. 1374 -- Added a new type of weapon, the Chain Missile. This weapon 1375 fires small missiles in vollies of three. 1376 -- Fixed bug that prevents the config file to be saved 1377 on systems without a previous version of Atanks installed. 1378 1379 1380December 9, 2007 1381 Jesse (jessefrgsmith@yahoo.ca) 1382 -- Added a .desktop file for atanks (atanks.desktop). 1383 -- Wrap around walls are now displayed using the colour yellow. 1384 1385November 29, 2007 1386 Jesse (jessefrgsmith@yahoo.ca) 1387 -- Fixed bug where, if a tank shoots itself and falls 1388 and the money penalty for self-damage drops the player's money 1389 below $0, then the money is "corrected" to $1,000,000,000. 1390 Thanks to Andy for pointing this out. 1391 -- If both teams have the same number of wins, then 1392 the game is a draw. 1393 -- Game settings are saved along with the saved game. 1394 Settings are saved in the same directory as the saved game 1395 as a .txt (plain text) file. Replacing your atanks-config.txt 1396 file with this will give you the same game settings as you had 1397 while playing the original game. 1398 -- Display directions for saving game on buying screen. 1399 -- Added fuel item, which allows the player's tank to 1400 move using the < and > keys (or period and comma). 1401 -- Amount of fuel the tank has is displayed on the top bar. 1402 1403 1404November 18, 2007 1405 Jesse (jessefrgsmith@yahoo.ca) 1406 -- Added different settings on the Options menu 1407 for tech levels. One relating to weapons and the 1408 other for items. 1409 -- Keilaron added code for setting the window's 1410 title (caption) under Winodws. 1411 -- Added wrap-around walls. When missiles reach the side 1412 of the screen, they wrap around to the other side. 1413 -- Wind Strength is now saved in the settings file. 1414 -- Increased buffer size for options to avoid over-flow. 1415 1416 1417November 15, 2007 1418 Jesse (jessefrgsmith@yahoo.ca) 1419 -- Corrected timing bug that causes freeze on 1420 the buying screen. 1421 -- Games that are not given a name are given the 1422 default name of "unamed". 1423 -- Changed name of player type from "Range Finder" 1424 to "Ranger" to make it fit in the text box. 1425 -- Windows version now saves settings and saved games 1426 under user's AppData folder, rather than current working 1427 directory. 1428 -- Atanks will attempt to create a sub-directory in the user's 1429 HOME directory called .atanks. The config file will be 1430 copied there, if it exists. If the file does not yet exist, 1431 future config files will be saved there. 1432 Note: The game does not attempt to copy saved game files. 1433 -- Saved games are now saved and loaded from the player's 1434 HOME/.atanks/ directory. 1435 1436 1437============== Atanks-2.6 released ==================== 1438 1439 1440November 3, 2007 1441 Jesse (jessefrgsmith@yahoo.ca) 1442 -- Added Load Game option to the new game menu. 1443 -- Games can be loaded from the Select Players screen. 1444 -- Corrected minor load bugs and removed testing output. 1445 1446October 24, 2007 1447 Jesse (jessefrgsmith@yahoo.ca) 1448 -- Player can now create a name for the 1449 game about to begin on the Select Players screen. 1450 -- Moved a few functions out of atanks.cc and 1451 into files.cc 1452 -- Moved some headers into files.h 1453 -- Games can now be saved from the buying screen 1454 by pressing F10. 1455 -- Tanks that have hit another tank now gloat 1456 when the target dies only. Tanks do not 1457 gloat for near-deaths. 1458 1459 1460October 14, 2007 1461 Jesse (jessefrgsmith@yahoo.ca) 1462 -- Game speed is now adjustable through the Graphics 1463 option menu. 1464 Adjusting the game speed may help avoid errors where 1465 the game would lockup before. 1466 -- Rollers now hit Steel walls and fall normally instead 1467 of instantly appearing at the bottom of the screen. 1468 -- When the player pressed a key in the range of 0-9 1469 the tank's team name is displayed along with the health status. 1470 1471October 9, 2007 1472 Jesse (jessefrgsmith@yahoo.ca) 1473 -- Added variable land slide option. Player 1474 can now control the delay in cartoon gravity. 1475 -- Tanks delay falling the same way land does 1476 on cartoon gravity. 1477 -- Added Portuguese text to menus. 1478 Many thanks to Fred Maranhão for the translation. 1479 1480September 29, 2007 1481 Jesse (jessefrgsmith@yahoo.ca) 1482 -- Added more tank text (English) 1483 -- Which team a tank is on is now shown on the top menu bar. 1484 -- Changed default player names to ones more historical. 1485 -- Intelligent AI players now buy parachutes when 1486 gravity exists. 1487 -- When there is no gravity, tanks no longer fall. 1488 -- Introduced variable gravity delay for Cartoony gravity. 1489 1490August 17, 2007 1491 Jesse (jessefrgsmith@yahoo.ca) 1492 -- Added Portuguese language files to the Makefile. 1493 1494 1495============== Atanks-2.5 released ==================== 1496August 11, 2007 1497 Jesse (jessefrgsmith@yahoo.ca) 1498 -- The Floattext class no longer frees up text passed to 1499 its constructor. Text is now allocated and freed outside of 1500 the class for easier debugging. 1501 1502 -- Players now try to avoid shooting fellow team mates. 1503 Neutral players are not considered members of a team. 1504 1505 -- When only the members of one team are alive, the round 1506 is over. Neutral players are not considered a team. 1507 1508 -- At the end of the game, teams are credited with wins. 1509 1510 -- Minor Makefile typo corrections. 1511 1512 1513August 4, 2007 1514 Jesse (jessefrgsmith@yahoo.ca) 1515 -- When tanks talk, the text is selected using 1516 Random_Line (new function) rather than the 1517 previously used LINESEQ for increased flexibility. 1518 1519 -- Player can now switch languages without re-starting 1520 the game. 1521 1522 -- Added new colour theme, provided by Jim of the FreeDOS 1523 project. The colour theme can be changed in the Graphics 1524 menu. The options are "Regular" for the original theme and 1525 "Crispy" for the new theme. 1526 Note: Sky and landscape change colour when the theme is 1527 changed. To see different explosions currently requires 1528 a game restart. 1529 1530 -- Added Team option to the Player menu. Possible teams 1531 are Sith, Neutral and Jedi. 1532 Note: Teams do not have any effect on the game, yet. 1533 1534 -- Updated the Help.txt file. Thanks to Fred for pointing 1535 out the incorrect text. 1536 1537 -- Removed AutoPlay option from the main Options menu 1538 under Auto-Skip as it seems to be redundant. 1539 1540 -- Fixed Cartoon gravity to make it more cartoony. 1541 1542 -- When buying items, the AI now understands repair kits 1543 have cumlitive effect. 1544 1545 1546July 29, 2007 1547 Jesse (jessefrgsmith@yahoo.ca) 1548 -- Added a new gravity type (Cartoon) which causes 1549 the landscape to hover for a variable amount of time. 1550 1551 -- Tanks now hover for a few seconds when using 1552 Cartoon gravity. 1553 1554 -- Reduced CPU usage when displaying the main menu. 1555 1556 -- Added Portuguese language files for gloat, revenge, 1557 suicide and Help. Added menu option called Languages 1558 to allow the player to switch between English and 1559 Portuguese. Thanks to Fred for the translations. 1560 1561 1562July 25, 2007 1563 Jesse (jessefrgsmith@yahoo.ca) 1564 -- When you drop a burrower or penterator onto 1565 a Steel floor, the game no longer hangs. 1566 1567 -- Players can now buy and sell items in bulk by 1568 holding the CONTROL key while clicking on an item 1569 in the buying screen. Items are bought/sold in 1570 bulk 10 times their normal amount. 1571 1572 -- Fixed bug that prevented most tanks from buying 1573 parachutes. 1574 1575 -- Fixed bug in loading preferences from a text file. 1576 1577 -- When starting the game in full screen mode, 1578 previous width and height settings are ignored. 1579 Fixes a weird display issue. 1580 1581 -- Try to avoid pausing the game when user switches 1582 to a different window. (Windows only.) 1583 1584 -- Fixed screen centring on higher resolution settings. 1585 1586 -- Worked on text scrolling to make it more efficent. 1587 1588 -- Money no longer over-flows to become negative. 1589 1590 1591================ Released Atomic Tanks 2.4 ======================== 1592 1593June 22, 2007 1594 Jesse (jessefrgsmith@yahoo.ca) 1595 -- Fixed typo in Makefiles. 1596 -- Created spec file for Red Hat/Fedora 1597 Linux distros. 1598 -- Created .rpm file for Fedora (Linux distro). 1599 -- Fixed saving screen width and height. 1600 1601June 18, 2007 1602 Jesse (jessefrgsmith@yahoo.ca) 1603 -- When turning the sound ON or OFF in the Options menu, 1604 the game no longer requires a restart for the setting 1605 to take effect. 1606 -- When switching between Default OS mouse cursor and 1607 the Custom Atanks cursor, the change no longer 1608 requires a game restart. 1609 -- If the constant "DOS" is defined, the background 1610 should not be cached. This should fix weird menu issue on DOS. 1611 -- When Steel walls are in effect, the computer usually 1612 avoids shooting them. 1613 -- When a new player is created, their default colour is 1614 a high contrast to avoid blending. 1615 -- Max missile age has been changed from 60 seconds to 1616 20 seconds to speed up game play. 1617 1618June 10, 2007 1619 Jesse (jessefrgsmith@yahoo.ca) 1620 -- In rest points, Linux uses usleep() and Windows 1621 now uses native Sleep() call to avoid high CPU usage. 1622 -- If there are no tanks alive at the end of a round 1623 the game annouces a "Draw" and no one gets credit for 1624 a win. 1625 -- Try to avoid sub-index in tank::draw function. 1626 -- Draw tank base _after_ the shield to avoid dis-colouration. 1627 1628June 6, 2007 1629 Jesse (jessefrgsmith@yahoo.ca) 1630 -- Removed Windows version of LINUX_SLEEP to avoid 1631 very slow response from the game. 1632 -- Put set_display_switch_mode() call in init_game_settings() 1633 for Windows to avoid pausing the game when the window 1634 loses focus. 1635 -- Wall type indicator no longer appears across the top of the 1636 screen. On the walls and floor only, where wall type 1637 actually matters. 1638 1639June 2, 2007 1640 Jesse (jessefrgsmith@yahoo.ca) 1641 -- Config settings are now stored in a text file 1642 called .atanks-config.txt 1643 The old config files can still be read for backward 1644 compatibility. 1645 -- A new wall type (random) has been added, which causes the 1646 type of wall to change each round. 1647 -- The side of the screen now shows a thin band of colour which 1648 indicates which wall type is being used. Red for Steel, Green 1649 for Rubber and Blue for Spring. 1650 1651May 14, 2007 1652 Jesse (jessefrgsmith@yahoo.ca) 1653 -- Windows build now uses rest() calls where Linux uses usleep 1654 in the hope of reducing CPU usage on Win32 systems. 1655 -- Pressing the 0-9 keys will display the coresponding tank's 1656 name, health and shield status. This information is removed 1657 from the top bar when a weapon is fired. 1658 1659May 4, 2007 1660 Jesse (jessefrgsmith@yahoo.ca) 1661 -- Created files.h to hold common file defines and data. 1662 -- Increased the delay in LINUX_SLEEP to 10000 (on Linux) 1663 to reduce CPU usage. 1664 -- When printing Credits and Help, we now use the Allegro 1665 rest() function to reduce CPU usage. Estimated 3x easier 1666 on CPU usage. 1667 1668April 22, 2007 1669 Jesse (jessefrgsmith@yahoo.ca) 1670 -- Moved BUTTON code out of atanks.cc into its 1671 own source file (button.cc). 1672 -- Added checks at the top of header files weapons.h, 1673 player.h and menucontent.h to avoid duplicate defines. 1674 -- Removed extra calls of srand() from atanks.cc 1675 -- Tanks now make comments when they kill themselves. 1676 1677April 18, 2007 1678 Jesse (jessefrgsmith@yahoo.ca) 1679 -- Moved VERSION definition to main.h from the Makefiles 1680 -- Fixed typo in Makefiles which caused Windows compile error. 1681 1682 1683================== Atanks-2.3 Released ======================== 1684 1685April 3, 2007 1686 Jesse (jessefrgsmith@yahoo.ca) 1687 -- Changed title screen. Art provided by Keilaron. 1688 -- Settings are saved as soon as the player leaves the 1689 Option screen. This avoids losing settings if the game 1690 crashes or exits unexpectedly. 1691 1692 1693March 27, 2007 1694 Jesse (jessefrgsmith@yahoo.ca) 1695 -- Changed the Auto-repair kit from tech level 4 1696 to tech level 2. 1697 1698 1699March 21, 2007 1700 Jesse (jessefrgsmith@yahoo.ca) 1701 -- The player can now select to use either the custom 1702 Atomic Tanks mouse cursor or the default OS cursor. 1703 Note: The OS cursor is probably faster. 1704 The option is located under the Graphics menu and 1705 may require the game be restarted to take effect. 1706 -- The ENTER key on the number pad can now be used 1707 to indicate you are done entering text on Options 1708 and Player editing screens. 1709 1710 1711March 18, 2007 1712 Jesse (jessefrgsmith@yahoo.ca) 1713 -- When the player presses TAB or BACKSPACE to change 1714 weapons, the weapon text no longer flickers. The text 1715 no longer flickers at the begining of new rounds. 1716 -- The CTRL key now works to more finely tune PGUP and 1717 PGDW commands. Of course, this still causes the power to 1718 vary a lot (100 points per tap). 1719 -- Created new device called "Fan" which changes the direction 1720 and strength of the wind. The change in wind depends on the 1721 direction of the player's turret and the power behind the "shot". 1722 This only really works well in high-wind environments. 1723 1724 1725March 15, 2007 1726 Jesse (jessefrgsmith@yahoo.ca) 1727 -- Changed drawing code so that different tank 1728 styles can have the turrent in different positions. 1729 See tank::draw() 1730 -- When exiting the game to the main menu, the next game no 1731 longer speeds up dramatically. 1732 -- Fixed bug on Windows where exiting the game 1733 causes all tanks to fire their weapons. 1734 See tank::activateSelection() 1735 1736 1737March 12, 2007 1738 Jesse (jessefrgsmith@yahoo.ca) 1739 -- The spelling of "lazer" has been changed to "laser". 1740 -- Items that are not weapons are no longer displayed 1741 left-aligned on the top bar. they are right-aligned like 1742 the other items. 1743 -- The Page Up and Page Down keys now cause the player's 1744 power to go up or down dramatically (100 points instead of 5). 1745 -- Players can now choose to make their tanks 1746 appear differently. The options are Normal or Classic. 1747 This is changed in the Players menu. 1748 -- Tank style preferences are now saved in the config file. 1749 1750 1751March 6, 2007 1752 Jesse (jessefrgsmith@yahoo.ca) 1753 -- Human players can now be put under temporary 1754 computer control (highest AI setting). This can 1755 be done during the player's turn by pressing F10. 1756 1757 -- Repair kit's name changed to Auto-repair kit 1758 to reflect its ability to repair without user intervention. 1759 1760 -- Text colour in Help and Credits changed to white from 1761 black to increase contrast. 1762 1763 -- If a player is saved as a part time bot, then they 1764 are re-loaded as a human player. 1765 1766 1767================== Atanks-2.2 released =========================== 1768 1769Feb 27, 2007 1770 Jesse (jessefrgsmith@yahoo.ca) 1771 -- We now save the Wind Strength option properly from 1772 the Weather menu. 1773 -- Avoid segfault when displaying gloating messages. 1774 -- Meteors only live for 5 seconds. This is to prevent loops 1775 where lots of meteors appear and don't self destruct, causing 1776 an endless loop. 1777 -- Meteors no longer fall while players are aiming in SIMUL turn 1778 mode. They will fall at any time in other turn modes. Meteors will 1779 also fall in SIMUL turn mode while weapons are in the air. 1780 Note: Lightning remains the same as before. 1781 1782 1783Feb 24, 2007 1784 Jesse (jessefrgsmith@yahoo.ca) 1785 -- Cleared up some compiler warnings we were getting from 1786 the Windows compiler. Shouldn't effect game play at all, 1787 but makes the build process nicer. 1788 -- Added a device called Swapper, which will cause the 1789 player's tank to switch places with another tank. The 1790 other tank is picked at random. 1791 -- Added a new wall type, Spring. The spring wall type 1792 causes missiles to bounce off the walls and floor 1793 with more speed (x1.25) than they had before. 1794 -- When one player kills another, the attacker gloats. 1795 Only one gloat message is displayed if multiple tanks 1796 are destroyed. 1797 1798 1799Feb 21, 2007 1800 Jesse (jessefrgsmith@yahoo.ca) 1801 -- Disabled window closing in Windows to prevent hangs. 1802 -- Added item: repair kit. A device which will slowly 1803 repair the player's tank each turn. 1804 -- The number of rounds of play remaining 1805 can be adjusted on the buying screen. 1806 This is performed using the "-" and "+" signs on the keyboard. 1807 Note, the "=" will also act like a "+" to add rounds. 1808 -- Clear key buffer before accepting input from each player 1809 to prevent accidently fireing a weapon. 1810 1811 1812Feb 19, 2007 1813 Jesse (jessefrgsmith@yahoo.ca) 1814 -- Expanded final score box to prevent 1815 money from running on to the background. 1816 -- The mouse wheel can now be used to scroll through 1817 items on the buying screen. Makes navigator quicker. 1818 -- Game now clears keybaord buffer at the end of each turn. 1819 Avoids weapons being un-intentionally activated. 1820 1821Feb 13, 2007 1822 Jesse (jessefrgsmith@yahoo.ca) 1823 -- Permissions on title.dat changed to 644. Corrects 1824 bug where a system-wide install would run for root only. 1825 1826 1827==================== Atanks-2.1 released ========================== 1828 1829Feb 11, 2007 1830 Jesse (jessefrgsmith@yahoo.ca) 1831 -- Added an option under the optins->Physics menu 1832 to change the type of wall being used during the game. 1833 The types are Rubber and Steel. Rubber acts as before, 1834 allowing missiles to bounce off the walls and bottom of 1835 the screen. The steel walls cause missiles to detonate on 1836 impact. 1837 -- Added the wall type option to the config file to 1838 allow the setting to be saved. 1839 -- When pressing the BACKSPACE key during the game, players 1840 can cycle backward through their weapon selections. 1841 -- Changed computer's targeting AI so the computer understands 1842 the difference between rubber walls and steel walls. This prevents 1843 the computer from shooting at steel walls repeatedly. 1844 1845 1846Feb 9, 2007 1847 Jesse (jessefrgsmith@yahoo.ca) 1848 -- Option to enable or disable sound is now on 1849 the main Options menu. At this time, changing the 1850 sound on/off will not take effect until the game 1851 is re-started. 1852 -- Changed config file to save the sound option. 1853 -- Made sure the command line option "--nosound" 1854 over-rides the sound setting in the config file. 1855 -- The width and height of the Atanks window can now be 1856 changed from the Options menu, under Graphics. Changes 1857 take effect after the game is exited and re-started. 1858 -- Added screen width and height to the config file. 1859 -- Made sure the command line given width or height 1860 takes priority over the width and height settings from 1861 the config file. 1862 -- Tank health is now printed in the same colour as the 1863 player's tank. 1864 1865 1866Feb 5, 2007 1867 Jesse (jessefrgsmith@yahoo.ca) 1868 -- Corrected bug where missles would not die from old 1869 age. Missles should now properly detonate after 60 1870 seconds (MAX_MISSLE_AGE) whether they hit anything. 1871 This is to avoid infinate loops where missles bouce 1872 forever. 1873 -- Corrected problem with text lingering from the end 1874 of one round and showing up in the next. Insults should 1875 no longer carry over into the new round. 1876 1877 1878Jan 31, 2007 1879 Jesse (jessefrgsmith@yahoo.ca) 1880 -- The player's name now appears over their tank. Text 1881 colour matches the tank's colour. 1882 -- Changed money to signed int. Cleared up some 1883 type problems. Put in check to keep money from 1884 over-flowing. See Player::newRound() 1885 -- Command-line option "--noname" added to allow the 1886 player name above tank feature to be disabled. 1887 1888 1889Jan 27, 2007 1890 Jesse (jessefrgsmith@yahoo.ca) 1891 -- Allow player names to be more than 10 characters. Names 1892 should now be able to expand to 23. Changed some output 1893 code to allow for longer names without over-writing other 1894 text on the screen. Changed file format to allow longer names 1895 and backward compatibility. 1896 1897Jan 25, 2007 1898 Mike (CaptainNeeda+atanks@gmail.com) 1899 -- Added feature to allow all tanks to fire at the same time. 1900 This is accessible by selecting "Simul" under Turn Order 1901 in the options menu. 1902 1903 1904Jan 21, 2007 1905 Jesse (jessefrgsmith@yahoo.ca) 1906 -- Floating text no longer carries over to the next round. 1907 Added newRound() function to FLOATTEXT object. 1908 -- When the window's "X" or close button is clicked, the game 1909 will exit immediately. 1910 1911=============== Atanks-2.0 Released =========================== 1912 1913Jan 10, 2007 1914 Jesse (jessefrgsmith@yahoo.ca) 1915 -- Fixed serious bug which causes game to crash 1916 when there are more than two players. 1917 1918Jan 9, 2007 1919 Jesse (jessefrgsmith@yahoo.ca) 1920 -- Corrected serious bug where tanks did not take damage 1921 when they free-fall. 1922 1923Jan 7, 2007 1924 Jesse (jessefrgsmith@yahoo.ca) 1925 -- Removed custom my_abs() function. Replaced it 1926 with built-in fabs(). 1927 -- Where a char variable is used as a boolean, change the 1928 type to int or bool to avoid compiler warnings. 1929 -- Created a Debian spefic Makefile (Makefile.debian) 1930 to make Atanks more compatible with Debian's package. 1931 1932 1933Dec 19, 2006 1934 Jesse (jessefrgsmith@yahoo.ca) 1935 -- Version information is now displayed on the 1936 command line properly at start up. This should 1937 clear up some confusion about what version we have 1938 during debuging. 1939 Note: Version number is stored in Makefile 1940 -- Fixed command line option for height. "-h" was 1941 already being used for "help". Height can now be 1942 given using "-t" or "--tall". 1943 -- When one tank falls on another, the falling tank 1944 now rests on top of the other, rather than over-lapping 1945 on the screen. 1946 -- Added command line option "--nosound" to disable 1947 game sounds. 1948 -- Updated command line help. 1949 -- Re-wrote README file to be more up-to-date and 1950 organized. 1951 -- Updated Makefiles. Create new Makefile.windows for 1952 people compiling on Win32 systems. 1953 Use "make Makefile.windows" to compile. 1954 1955 1956Dec 4, 2006 1957 Jesse (jessefrgsmith@yahoo.ca) 1958 -- When a player runs out of ammo, the game switches 1959 to a different type of ammo. The new ammo is displayed 1960 in flashing RED instead of BLACK to warn the player. 1961 1962Nov 27, 2006 1963 Jesse (jessefrgsmith@yahoo.ca) 1964 -- Made code compatible with gcc 4.1 1965 -- Updated code to use current Allegro 4.2 API 1966 text output functions, set_clip and text_mode 1967 -- Made player money unsigned to avoid negative funds. 1968 -- When player runs out of a type of ammo, game automatically 1969 switches to a new ammo type. 1970 1971 1972================= Atanks-1.1.0 released =================================== 1973 19744. 9. 2002 1975 1976 Juraj Michalek (georgik@host.sk -- http://kota543.host.sk): 1977 -- added wind 1978 -- added indication bars 1979 -- added pay off functions 1980 -- added menu control by keyboard arrows 19816. 9. 2002 1982 1983 -- I rewrite all code to C++ -> hard work 1984 there were a lot of bugs in type definition, 1985 it's mirracle that game worked! 1986 19877. 9. 2002 1988 1989 -- new structure of weapon record 1990 -- eek, many and many type mistakes 1991 -- added usleep for schedule optimization in Linux 1992 19938. 9. 2002 1994 1995 -- changed structure of ITEM 1996 -- added TANK method for boosting up shield 1997 -- automatic shield boost 1998 -- fixed buystuff algorithm 1999 -- fixed colors and information in credits 2000 -- speed up redrawing algorith 2001 -- new title screen 2002 -- new top-bar in game 2003 200415. 9. 2002 2005 2006 -- fixed bug with game engine (this bug came with 2007 conversion to C++ :() 2008 20092. 11. 2002 2010 2011 -- fixed some minor bugs 2012 -- code indent fix 2013 -- added command line functions 2014 -- implicit select of windowed mode 2015 20163. 11. 2002 2017 2018 -- back button in Option menu 2019 -- icons of weapons 2020 -- upgrade graphics 2021 -- release of 0.5 2022 20235. 01. 2003 - Tom Hudson (tom@singular.org.uk): 2024 -- Modified code to allow resizing of screen (currently only 2025 at compile time, positions now scale) 2026 20278. 01. 2003 - Tom Hudson (tom@singular.org.uk): 2028 -- some previously static graphics are now generated (scalable) 2029 -- modified way wind changes from turn to turn 2030 -- added wind options to options screen 2031 203212. 01. 2003 - Tom Hudson (tom@singular.org.uk): 2033 -- changed dirtfall routines 2034 -- missiles no longer have to pause while explosion happens 2035 -- combine nearby make_updates (one blit instead of n) 2036 203714. 01. 2003 - Tom Hudson (tom@singular.org.uk): 2038 -- Fixed bug, t[z].ni is ITEMS long but 2039 zero'd up to t[z].ni[WEAPONS] in newgame() 2040 -- topbar now generated to fit screen 2041 204215. 01. 2003 - Tom Hudson (tom@singular.org.uk): 2043 -- Fixed another bug, setting t[z] variables in 2044 z < MAX_MISSILES for-loop 2045 -- Added FLOATTEXT class 2046 -- Added permanent display of health and shields over tanks 2047 204822. 01. 2003 - Tom Hudson (tom@singular.org.uk): 2049 -- Modified missiles, more OO than before 2050 -- Modified funky-bomb delivery (slower delivery, needs tweaking) 2051 -- Added dirt-bombs 2052 205324. 01. 2003 - Juraj Michalek (georgik@host.sk): 2054 -- dirt ball explosion don't cover terrain 2055 -- changed some weapon's costs 2056 205726. 01 .2003 - Tom Hudson (tom@singular.org.uk): 2058 -- Missiles once again bounce off the bottom of the screen. 2059 -- Arrow no longer used to indicate current player, 2060 uses bouncing health text instead 2061 206228. 01 .2003 - Tom Hudson (tom@singular.org.uk): 2063 -- Replaced unneeded images in .dat files, 2064 reducing total download by 250k 2065 206629. 01 .2003 - Tom Hudson (tom@singular.org.uk): 2067 -- Explosion images are now generated at runtime, 2068 saves 1Mb of download 2069 -- Explosions now 'disperse' for 10 frames after initial explosion 2070 207131. 01 .2003 - Tom Hudson (tom@singular.org.uk): 2072 -- Change nature of land-slide to improve efficiency, 2073 reduces changes/frame, smoother. 2074 -- Fixed a bug in explosions (incomplete dispersal due to 2075 land-slide finishing first). 2076 207702. 02 .2003 - Tom Hudson (tom@singular.org.uk): 2078 -- Added earthquake range of weapons (tremor, shock-wave, 2079 tectonic-shift) 2080 -- Improved update method for explosions and land-slides. 2081 208206. 02 .2003 - Tom Hudson (tom@singular.org.uk): 2083 -- Added new screen fades 2084 -- Fixed bug in landslides where slide was calculated several times 2085 per frame, once per active missile 2086 -- Reorganised code, making it more OO, added VIRTUAL_OBJECT, 2087 PHYSICAL_OBJECT above MISSILE and TANK and FLOATTEXT 2088 208909. 04 .2003 - Tom Hudson (tom@singular.org.uk): 2090 -- Further large-scale reorganisation 2091 -- Landfall accelerates with gravity 2092 -- Improved graphics 'engine' (more efficient scheduling etc.) 2093 -- Hierarchical menu system 2094 -- Weather options (Meteor showers) 2095 -- Physics options 2096 -- Basic AI added 2097 -- Improved credit attribution for damage done 2098 -- EXPLOSION object added (explosions no longer part of missile) 2099 -- tech level added to restrict availability of weapons 2100 -- Added shaped-charge range of weapons 2101 -- Added repulsion shields 2102 -- Improved shield drawing routine 2103 -- Player colours randomly generated (needs refining) 2104 -- Bomblets for funky and cluster now separate weapons 2105 -- Weapon buying now displays a description of each weapon 2106 in a panel on the left of the screen 2107 210811. 04 .2003 - Tom Hudson (tom@singular.org.uk): 2109 -- Fixed bugs in AI that made the AI really useless. 2110 -- Added riot bomb and heavy riot bomb 2111 -- Added riot charge and riot blast 2112 -- Modified AI to choose riot gear if buried 2113 -- Added Page Up and Page Down functionality to buying screen 2114 211512. 04 .2003 - Tom Hudson (tom@singular.org.uk): 2116 -- Fixed bug where repulsion shields would continue to repulse 2117 if shield was reduced to exactly 0 2118 -- Fixed bug where angle of drawn object set to 0 2119 212013. 04 .2003 - Tom Hudson (tom@singular.org.uk): 2121 -- Added teleport 2122 -- Added functionality to allow items to be selected and used 2123 -- Fixed bug where game would crash if everyone was dead 2124 at the end of a round 2125 -- Fixed bug where player would be incorrectly marked as COMPUTER_PLAYER 2126 -- Added self/auto-destruct items (vengeance, dying wrath, fatal fury) 2127 -- Added tech levels to items 2128 -- Modified AI to mostly avoid selecting self/auto-destruct items 2129 213014. 04 .2003 - Tom Hudson (tom@singular.org.uk): 2131 -- Changed landscape generation algorithm to use perlin noise 2132 213315. 04 .2003 - Tom Hudson (tom@singular.org.uk): 2134 -- Added new landscape-type option to menu 2135 213617. 04 .2003 - Tom Hudson (tom@singular.org.uk): 2137 -- Modifications to AI targetting 2138 -- Fix to self-destruct 2139 214018. 04 .2003 - Tom Hudson (tom@singular.org.uk): 2141 -- Implemented AI device preferences 2142 -- Improved AI purchasing routines 2143 -- AI now no longer uses teleport recreationally unless has parachute 2144 -- Improved AI device-selection routine 2145 214619. 04 .2003 - Tom Hudson (tom@singular.org.uk): 2147 -- Added landSlideType option to physics menu 2148 -- Separated floating text from tank, the better to display damage with 2149 215020. 04 .2003 - Tom Hudson (tom@singular.org.uk): 2151 -- Added permanent armour upgrades 2152 -- Added drag-reduction items 2153 -- Increased max number of each item to 999 from 99 2154 215521. 04 .2003 - Tom Hudson (tom@singular.org.uk): 2156 -- Animated shields 2157 -- Tidied in-game stats bar 2158 -- Fixed bug in Funky Death due to incorrect settings in weapons.h 2159 -- Modified AI item preference selection code to not favour the higher numbered items 2160 -- Balance changes, effectiveness of Vengeance decreased, prices of some items changed 2161 216226. 04 .2003 - Tom Hudson (tom@singular.org.uk): 2163 -- Added nicer/more complex looking landscape rendering 2164 -- Added nicer/more complex looking sky rendering 2165 -- Added graphics options to turn on nicer rendering 2166 as it's a lot slower to render 2167 -- Added moon to sky 2168 -- Fixed bug where ingamemenu wasn't being cleared from screen 2169 on return 2170 -- Fixed colorDistance () algorithm, should now have 2171 meaningful results 2172 -- Modified options menu to not need bitmap anymore, 2173 still not great (e.g. tiny title) but getting there 2174 217527. 04 .2003 - Tom Hudson (tom@singular.org.uk): 2176 -- Added config file (.atanks-config) which records settings 2177 217828. 04 .2003 - Tom Hudson (tom@singular.org.uk): 2179 -- Implemented Versioning system in config file 2180 218114. 06 .2003 - Tom Hudson (tom@singular.org.uk): 2182 -- Implemented player persistence between games 2183 -- Improvements to BUTTON class and usage on front menu 2184 -- Teleport sound-effect + visual effect 2185 -- Player selection before game 2186 -- a variety of other things 2187 218825. 06 .2003 - Tom Hudson (tom@singular.org.uk): 2189 -- Implemented new DECOR class (decorative) 2190 -- Implemented smoke trails on missiles 2191 -- Implemented new TELEPORT class 2192 219310. 07 .2003 - Tom Hudson (tom@singular.org.uk): 2194 -- Implemented new BEAM class 2195 -- Implemented new weather (lightning) 2196 -- Implemented new Lazer weapon 2197 219814. 07 .2003 - Tom Hudson (tom@singular.org.uk): 2199 -- Fixed bug with damage text displaying even if damage rounds to 0 2200 220115. 07 .2003 - Tom Hudson (tom@singular.org.uk): 2202 -- Implemented 3 difficulty levels for computer players 2203 -- Fixed TOGGLE options bounce-effect (select, deselect, select 2204 rapidly) 2205 220618. 07 .2003 - Tom Hudson (tom@singular.org.uk): 2207 -- Implemented numerical display of angle and power 2208 (suggested by krajzega, allegro.cc) 2209 -- Animated lightning a little 2210 -- AI will now not attempt to use a lazer on a target lower than 2211 itself 2212 221322. 07 .2003 - Tom Hudson (tom@singular.org.uk): 2214 -- Fixed bug due to number of weapons changing between versions 2215 221625. 07 .2003 - Tom Hudson (tom@singular.org.uk): 2217 -- Modified credits screen, broke it down into several functions 2218 to make it re-usable. 2219 222030. 07 .2003 - Tom Hudson (tom@singular.org.uk): 2221 -- Added instructions screen from new button on main menu 2222 222331. 07 .2003 - Tom Hudson (tom@singular.org.uk): 2224 -- Fixed bug where explosion constantly checked if it was causing 2225 fall damage. This would cause money to often not be awarded 2226 to the player that fired the weapon. 2227 -- Changed the money model slightly, now a player should not be able 2228 to go below 0 money. 2229 223031. 07 .2003 - Tom Hudson (tom@singular.org.uk): 2231 -- When entering text (such as the Name field when editing a player) 2232 the mouse now continues to be visible, also the typing 2233 cursor flashes. 2234 223501. 08 .2003 - Tom Hudson (tom@singular.org.uk): 2236 -- Added usleep under linux to try and prevent 100% cpu on 2237 instruction and credits screens. 2238 -- Modified Guesser, should now be slightly more random. Previously 2239 it would consistently overshoot (guaranteed to miss, rather 2240 than just unlikely to hit). 2241 -- If a config file doesn't already exist, 10 players are created. 2242 -- Also, it will create a new (human) player and have you edit it when 2243 you run it. 2244 224502. 08 .2003 - Tom Hudson (tom@singular.org.uk): 2246 -- Changes for easier packaging (thanks to Michael Sterrett) including 2247 -DDATA_DIR option to modify the built-in path to the data 2248 files. 2249 -- Checks on various initialisation return-codes to see if they were 2250 successful, and returning errors if not. Previously these were 2251 ignored. 2252 225303. 08 .2003 - Tom Hudson (tom@singular.org.uk): 2254 -- Initialisation of previously uninitialized variables (as reported 2255 by 'gcc -O2 -Wall'). 2256 225704. 08 .2003 - Tom Hudson (tom@singular.org.uk): 2258 -- Moved up/down arrows on buying screen to more logical location 2259 -- Added Fast up/down arrows to buying screen to provide GUI 2260 equivalent of existing page-up/page-down functionality 2261 -- Added new arrow images for above purpose 2262 -- Added Napalm weapons 2263 226407. 08 .2003 - Kalle Toivonen (kato@korpikuu.fi) 2265 -- Found and fixed bug with backspace in text entry fields 2266 226711. 08 .2003 - Tom Hudson (tom@singular.org.uk) 2268 -- Added new Burrower and Penetrator subterranean weapons 2269 227012. 08 .2003 - Tom Hudson (tom@singular.org.uk) 2271 -- Any remaining shields are now recharged at the end of a round. 2272 -- Fixed a bug where it didn't pick up on failure to open title.dat 2273 then went ahead and tried to use it anyway (bug #787283). 2274 -- Money is now no longer lost when you damage yourself. 2275 This is the default behaviour. 2276 -- Bonus money now awarded to the tank which wins the round. 2277 -- Added options for financial side of things (bounty, bonuses, 2278 penalties for self damage and interest rate). 2279 -- Rewrote High/Low player ordering routine (turn order). 2280 Previously I'm not sure it ever worked. 2281 228213. 08 .2003 - Tom Hudson (tom@singular.org.uk) 2283 -- Made 'action' options on menus possible to implement 2284 228514. 08 .2003 - Tom Hudson (tom@singular.org.uk) 2286 -- Player Deletion now possible 2287 -- Moved number of rounds selector to player selection screen 2288 228917. 08 .2003 - Tom Hudson (tom@singular.org.uk) 2290 -- Fixed 'pause' bug, it really does now. 2291 -- When all human players are out of the game and only computer 2292 players remain, goes into Accelerated AI mode (Doesn't draw 2293 anything, speeds up the game and ends the round quicker, 2294 less sitting around waiting). 2295 -- Added option for Accelerated AI 2296 -- Added incremental stepping of angle and power via ctrl being 2297 held down (Patrick Bogen's suggestion) 2298 229918. 08 .2003 - Patrick Bogen 2300 -- Fixed divide by zero bug in wind variation routine which would 2301 happen if windvariation == 0; 2302 230320. 08 .2003 - Tom Hudson (tom@singular.org.uk) 2304 -- Added display of AI difficulty on selection screen and player menu. 2305 -- Fixed bug in win32 version causing config to screw up, it was 2306 due to file read and write being non-binary. 2307 This was already fixed in an earlier version but apparently 2308 overwritten before it made it to CVS. 2309 231022. 08 .2003 - Tom Hudson (tom@singular.org.uk) 2311 -- Added checks for memory allocation failures and handle them 2312 more gracefully (print an error and exit). 2313 231423. 08 .2003 - Tom Hudson (tom@singular.org.uk) 2315 -- Added FRAMES_PER_SECOND define 2316 -- 15 second time limit on missiles before they just detonate 2317 -- Maximum altitude (-65535) on missiles before they just detonate 2318 231924. 08 .2003 - Tom Hudson (tom@singular.org.uk) 2320 -- Last words added, along with revenge memory (AI more likely to 2321 fire on last player to do significant damage to them). 2322 -- Dropped FRAMES_PER_SECOND to 60 from 100 2323 -- Modified various things to cope with FRAMES_PER_SECOND changes 2324 232501. 09 .2003 - Tom Hudson (tom@singular.org.uk) 2326 -- Fixed AI targetting bug resulting from FRAME_RATE changes (thanks 2327 to vossman77) 2328 232902. 09 .2003 - Justin Ronco (jronco@umich.edu) 2330 -- Removed z, zz, zzz, z4, z5, z6 globals. 2331 -- fade.cc & lineseq.h should be complete 2332 233302. 09 .2003 - Tom Hudson (tom@singular.org.uk) 2334 -- Fixed bug in drawFracture which would cause a hang 2335 (Eugeni Andreechtchev) 2336 233706. 09 .2003 - Justin Ronco (jronco@umich.edu) 2338 -- Relocated Tom's Perlin Noise code to "perlin.cc". Documented. 2339 234007. 09 .2003 - Justin Ronco (jronco@umich.edu) 2341 -- Relocated Sky rendering code to sky.cc. Documented. 2342 -- Modified moon drawing system; some cleanup, some additions. 2343 -- Made global gradients constant. Changed functions appropriately. 2344 -- Changed interface to generate_sky, removed all other functions 2345 from external view 2346 -- set_level_settings modified to call new sky functionality 2347 234807. 09 .2003 - Tom Hudson (tom@singular.org.uk) 2349 -- Fixed tremor-freeze bug (I thought this was already fixed?) 2350 235108. 09 .2003 - Tom Hudson (tom@singular.org.uk) 2352 -- Bugfix (workaround) for objects carrying through from the end of 2353 one round to the beginning of the next. This is temporary 2354 until a better fix can be made. 2355 235609. 09 .2003 - Tom Hudson (tom@singular.org.uk) 2357 -- Added detect_digi_driver before install_sound to see if sound is 2358 possible 2359 236020. 11 .2003 - Eden (eden99_99@users.sourceforge.net) 2361 -- Fixed bug with funky bomblet leaving the top of the screen. 2362 -- Fixed problem with not frequent-enough position sampling for 2363 collision detection. 2364 236501. 12 .2003 - Eden (eden99_99@users.sourceforge.net) 2366 -- Fixed bug with burrower leaving the top of the screen. 2367 -- AI improved to buy more parachutes along with a new player option 2368 to change when CPU players generate their weapon 2369 preferences. 2370 237111. 12 .2003 - Tom Hudson (tom@singular.org.uk) 2372 -- Fixed bug introduced in earlier version which printed 'advice' type 2373 errors ("You must have at least 2 players") to the console, 2374 rather than the screen. 2375 237615. 12 .2003 - Tom Hudson (tom@singular.org.uk) 2377 -- Improvement to AI, targetting now based on optimum positioning for 2378 maximum damage, with weighting for revenge, avoiding damaging 2379 self and several other factors. 2380 238116. 12 .2003 - Tom Hudson (tom@singular.org.uk) 2382 -- Further improvement to AI, added wind factoring into targetting 2383 for 2 stage weapons, which should make cluster bombs etc. 2384 used more effectively. 2385 -- Added 'shopping trolley', allowing items to be put back. 2386 238704. 01. 2004 - Tom Hudson (tom@singular.org.uk) 2388 -- Improved shopping trolley to allow sell-back of previously bought 2389 items at a loss (adjustable via money menu). 2390 -- Changed money from int to long int as int is apparently too small 2391 239206. 01. 2004 - Tom Hudson (tom@singular.org.uk) 2393 -- Changes to missile-specific code, allowing a wide variety 2394 of definitions and tweaks via weapons.h and simplifying 2395 certain sections. 2396 239708. 01. 2004 - Tom Hudson (tom@singular.org.uk) 2398 -- Further improvements to AI to allow better targetting 2399 -- Changes to calculation of weapon damage 2400 240120. 01. 2004 - Tom Hudson (tom@singular.org.uk) 2402 -- Added new items Intensity Amplifier and Violent Force which 2403 increase the damage done by the player's explosive weapons. 2404 240528. 01. 2004 - Tom Hudson (tom@singular.org.uk) 2406 -- Fixed bug where failure to set_gfx_mode would report semi-random 2407 and unrelated system errors ("directory not found"). 2408 -- Attempted fix to lazer-only-sometimes-doing-damage bug by 2409 adding lazer radius to cause-damage area. 2410 241131. 01. 2004 - Tom Hudson (tom@singular.org.uk) 2412 -- Added command-line options to set screen/window width and height 2413 -- Added command-line option to set gfx depth (16 or 32) 2414 -- Added Valleys terrain type 2415 241602. 02. 2004 - Tom Hudson (tom@singular.org.uk) 2417 -- Changed AI purchasing algorithm to increase chances of purchasing 2418 'cumulative' items. This is done by decreasing the chances 2419 of purchasing a given item in proportion to the number of 2420 items already purchased, unless it's a cumulative item. 2421 -- Right mouse-button for larger increase/decrease in values in 2422 menus. 2423 -- Added --datadir switch for specifying an alternative data directory 2424 242503. 02. 2004 - Tom Hudson (tom@singular.org.uk) 2426 -- Fixed lazer only sometimes causing damage bug 2427