-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathChangelog
More file actions
2460 lines (2046 loc) · 100 KB
/
Changelog
File metadata and controls
2460 lines (2046 loc) · 100 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
NOTE: From now on, new changes appear at the top of this file.
Fixes:
- Falling damage that was caused by a driller or riot weapon, is now
credited to the shooter of that weapon.
- Fixed a crash that happened when SDI units tried to target meteors.
Additions:
- The AI players can move their tank to get to a better position.
- New weapon: "Theft Bomb" (Idea and basic patch by Alois Dirnaichner)
- Game save files got a version number, so old save games can be
upgraded.
Changes:
- Raised the power reduction of the Reducer from 25% to 33%.
- The radius of the riot and dirt bombs have been raised.
- The prices of some items and weapons have been rebalanced.
- The height rollers can climb depends on their size now.
- All players start with some fuel.
- Human players are no longer considered to be like deadly bots, but
to be like the best present bot. In a game with only lower level
bots, they no longer "unite" against the human players right from
the start.
- SDI units might skip their shot if the resulting explosion will kill
the SDI owning tank.
- SDI units might skip their shot if the resulting explosion will be
nearer to the tank than on the point were the missile would explode
if not shot down.
- Fixed bug in debug.h which would prevent compiling on FreeBSD.
============ Atanks-6.5 released ===================
- Remove old Atanks binary during normal "make clean".
- Added patch from Debian which makes the build process reproducible.
Thanks to Reiner Herrmann for submitting the patch. Closes
Debian bug #842865.
============ Atanks-6.4 released ===================
Service release with bug fixes and some improvements for the AI.
Fixes:
- Fixed a bug that caused the AI to use Napalm in a stupid way.
Changes:
- The funky bombs are now a lot more 'funky' by randomly switching
horizontal and/or vertical direction in mid-flight.
============ Atanks-6.3 released ===================
Sven has done a huge amount of code changes for this release. The
key highlights are as follows:
- Improved AI.
- Smoother/faster buying screen navigation.
- Huge re-work of the Options screen and other menus to
avoid crashes and random symbols appearing.
- Improved demo mode.
- The AI does a better job of buying items/weapons.
- Updated Makefiles to reduce the number of separate Makefiles required.
- Atanks should now build natively in Visual Studio on Windows.
- Improved Unicode support.
- Various code clean-up.
- Added dirt debris.
- Improved revenge mode for AI.
- Menus should now respond faster.
- Network code clean-up.
- Added more in-code documentation.
============ Atanks-6.2 released ===================
- Large code clean-up by Bruno Victal
- More style/code clean-up by Bruno Victal
Indentation
Removing unnecessary braces
Removing unnecessary parentheses
Removing unnecessary spaces
Removing many blank lines (line wasting)
Expanding some ifs and switch cases
- Bruno Victal provided further code clean-up
Renamed old referenced files in the perror calls (from .cc to .cpp)
Removed some useless casts in printf calls [ printf((char *)"String here"); ]
Deleted the macros about DOS support (they were already commented out)
Fixed abs() related math functions so they do not throw compiler warnings.
- Removed extra call to Get_Team_Name() that was not required.
Daniel sent in a patch which addresses the following:
- fixes a bug where the address of (stack allocated) temporal arrays
was stored in the menu structure causing
wrong behavior, e.g. printing garbage in the Network configuration
menu title.
- fixes const-correctness for all the menu structure
- moves stack-allocated read-only arrays to .rodata so no large stack
memory is used.
- adds Daniel to the list of people (feel free to remove me if this
Bruno Victal provided two more fixes.
- Fix isnan() ambiguity when compiled with C++11 standards
- Removed OLD_GAMELOOP code and references. Stick with
modern game loop.
=========== Atanks-6.1 released ==============
All of this releases patches were provided by Bill Buerger.
- Extend the amount of time the AI will play against itself
from 10 seconds to 60 seconds.
- Fixed "clean" command in Windows Makefile.
- Players now wait to start their turn until they
can control their tank. No more waiting at the start
of their turn.
- Rollers now properly explode when hitting steel wall.
- Scoreboard shows current income and turn order.
This can be toggled with the ~ key.
- Fixed navigation keys on the store/buying sceen.
=========== Atanks-6.0 released ==============
- Removed extra alleg42.dll file from src directory.
- Clarified license.
- Pressing "v" or "V" during a match will cause
the audio volume to decrease or increase, respectively.
Volume patch provided by Daniel.
- Plugged memory leak from update check.
- Fixed possible memory problem in floating text.
=========== Atanks-5.9 released ==============
- Applied patch which removes GCC warnings,
Patch supplied by Daniel Gutson.
============ Atanks-5.8 released ==============
- Removed compiler optimizations from src/Makefile to prevent
crashes on Fedora and Debian Unstable branches.
- If Allegro cannot be initialized, the game now
exits with a return code of 1.
============ Atanks-5.7 released ==============
- Added new tank type, the Mini, provided by Daniel.
- Added patch from Fabian Greffrath to fix crashes
when Atanks is compiled using GCC 4.7. This patch
makes menu entries on the Options menu static variables.
Closes Debian bug #691107.
============ Atanks-5.6 released ==============
- Updated icon file and COPYING file. Thanks to
Cristian for pointing out the problems with these files.
- Code clean-up to make game safer without threads/sockets.
Try to avoid memory errors in networked games.
Atanks now builds cleanly with clang++ compiler.
- Code clean-up to allow Atanks to compile on Windows.
We check to make sure pthread code is not included
where THREADS is not defined.
- Removed unneeded parameter from Tank class's
applyPhysics function. Was causing compiler warnings.
============ Atanks-5.5 released ==============
May 17, 2012
- Fixed typos in makefiles in src directory.
Thanks to Ville for submitting this patch.
============ Atanks-5.4 released ==============
April 8, 2012
- Updated Portuguese language files in text folder.
- Updated menu file with new Portuguese translation.
(Thanks ot Jose for providing the new translations.)
- Applied src/Makefile patch from Gentoo build process.
(Thanks to Michael Sterrett for providing this patch.)
============ Atanks-5.3 released ==============
Feb 23, 2012
- Updated makefile to remove un-needed debugging information.
- Various memory leak fixes and checks.
Patches provided by Nathan.
- Various memory fixes and typo fix.
Patches provided by Nathan.
- Removed some un-needed variables.
- Added locking system which should make Atanks
thread safe and more stable.
Thanks to Nathan for providing these patches.
============ Atanks-5.2 released ==============
- Updated desktop file with Spanish comment.
- Modified makefile to support optional DESTDIR
variable.
- Added -pthread flag in src/makefile to avoid
linking issues.
The three patches above all provided by
Cristian Morales Vega.
============ Atanks-5.1 released ==============
- Fixed close button so it skips remaining rounds.
Close button now also works during Demo Mode.
- Updated atanks.rc file.
============ Atanks-5.0 released ===============
June 4, 2011
- Window's close button now works on buying screen
and during rounds.
============= Atanks-4.9 released ================
March 23, 2011
- Added Italian language support.
(provided by Roby Alice.)
March 7, 2011
- Applied update to atanks.rc file to implement
game icon in the corner of the window.
(Update supplied by Billy Buerger)
============ Atanks-4.8 released ==================
March 6, 2011
- Put in check to prevent AI from buying weapons and items
above their tech level.
- Fixed lock-up when playing in Demo mode.
Jan 13, 2011
- Fixed SDI point defense code so the lasers point at the
incoming missile. Thanks to Nolan for supplying this fix.
============== Atanks-4.7 released ===================
Sept 5, 2010
- Fixed header file includes for FreeBSD.
- Now we try to find out if Allegro can't start and exit
if we run into a problem.
- Fixed bug where command line flags for width and height were ignored.
- Partitial shields are restored at the end of rounds.
- Tanks should no longer get extra turns during rounds.
July 18, 2010
- Added patch from CtHx which allows alternative key usage.
A, D, W, S for left, right, up, down. The R and F keys in place of
pageup and pagedown. The P key will now work like ESC during rounds.
- Added header file needed for newer versions of gcc. Thanks to CtHx
for pointing out this requirement.
- Added patch to support tank movement, using H and J.
June 28, 2010
- Made it possible to adjust game speed in a more fine-tuned manner.
- Shields now reactivate at the end of the player's turn, not beginning.
- Large code clean-up to remove support for older config file format.
June 12, 2010
- Fixed custom background code so that if no image
exists, we avoid a crash and generate a standard image.
June 2, 2010
- Updated Makefile to match Billy Buerger's.
- Shields reactivate if knocked out.
- Fixed error where if the first player was neutral, they
would not receive credit for victories.
Bug reported by CtHx.
- Added fix for credits where all players are neutral or
the round ends in a draw.
========== Atanks-4.6 released =================
May 24, 2010
- Added new makefile for OS X and FreeBSD users.
Should allow users on both systems to run
gmake osxuser
To build Atanks
- Tank text bounces on player's turn.
- Ingame menu is now displayed.
- Screen refreshes properly after quitting to menu mid-game.
- Tanks fall when they should.
- Added timed shots.
- Walls are re-drawn occasionally to make sure the player can see them.
- Avoid game lock-up when player dies during their turn.
- Skip AI when humans are dead now works.
- Client cannot take infinte turns.
May 7, 2010
- Tanks wait to explode after other things have stopped exploding.
Makes action easier to follow.
- Server IP address can now be 16 characters long on the
Network Options menu.
April 17, 2010
- Updated Makefile to work better with Ubuntu.
Fix provided by Neil.
- Added Spanish language support.
Provided by Marcelo Camacho Moreno.
- There are now two game loops. Which one is used depends on
on the compiler flags in the Makefile. The options are
OLD_GAMELOOP or NEW_GAMELOOP
- When using new gameloop, tanks can fire vollies
(like the jackhammer) in simultanious mode.
============== Atanks-4.5 released ==================
April 7, 2010
- Separated tank explosions from tank memory clean up. This
should prevent some memory leaks on the client side.
- Damage text on the client side now rises and disappears.
- When a client is taking too long to fire, the AI will
take over the take briefly to shoot.
April 1, 2010
- Updated OS X entry in Makefile. Hopefully this will allow
people to compile on Mac.
- Updated main.h to support OS X. This used to piggy-back on
the Linux defines, but we can't do that anymore because of
Allegro's sound system.
- When only AI and netowrk clients are left, the game no longer
moves into foast forward (skip AI mode).
- Added "make ubuntu" build to work around the default sound driver
not working. Thanks to Neil for helping to trouble-shoot this and
test the patch.
March 16, 2010
- Animations move at the proper speed on the client side.
- Server now updates client with tank health and shield status.
- Client displays tank shields.
- Client now displays shield and health information.
- Moved war quote code to allow smoother ending for networked games.
March 5, 2010
- Removed debugging output from Help and Credits screens.
- Added client_message variable for passing messages from the client
to the main menu.
- When players fire before client has received all ground data,
the client will resume getting the data.
- Corrected spelling in German weapons file.
Provided by Simeon.
- Upgraded client-side terrain graphics.
- Cleaned up compiler warnings.
- Code clean-up in do_winner function.
- Server now lets client know who won the game.
- Client displays winner after game is finished.
============== Atanks-4.4 released ================
Febraury 18, 2010
- Entire Help text is now displayed when the language is set to Russian.
January 22, 2010
- Removed old title screen from data files.
- Introduced repaired weapons file from Simeon.
- Added check in weapon damage to prevent recursive bug.
- Added Locale settings to file loads/saves to fix crash
in some regions. Fix submitted by CtHx.
============== Atanks-4.3 released =================
December 27, 2009
- Cleaned up memory leak in floating text code.
- Made Atanks _not_ use threads by default.
- Added command line option to enable thread use.
- Removed old shield drawing code.
- Created new shield animation.
- Added Bigfoot tank style. (Provided by GtHx)
- Networking threads are now able to function even
if background drawing threads are turned off.
- Clicking on tank style buttons causes the
new tank style to display properly.
- Put a cap on money to make sure even players in loaded games
get less than one billion dollars.
- Added code to detect where data files are. This
removes the need for the system makefile.
December 4, 2009
- Updated Russian translation for in game menu.
Provided by CtHx.
- Updated German weapons file.
Translation provided by Simeon.
- Added new Spider tank images, provided by CtHx.
- Added updated Slovak language support.
Provided by Jozef.
- Made sure all ingame text files are the same length to
avoid empty strings.
- Switched to using new button design, provided by CtHx.
- Blue rectangle is drawn properly around new buttons
on the main menu.
- Changed the way menu backgrounds are drawn to avoid crashes
with various resolutions.
- Updated spec file to include all data files.
- In place of the name of the style, a preview of the player's
tank style is shown on the Player menu.
- Added new menu background, provided by CtHx.
- War quotes now appear in white for better contrast with new background.
======================== Atanks-4.2 released ==========================
November 27, 2009
- German language now uses unicode font to avoid weird symbols
in the text.
November 13, 2009
- Fixed floating text so that Russian comments are not cut short.
- Added new Slovak weapons file. Provided by Jozef.
- Adjusted the way rollers move if they hit a flat surface.
- Added ingame Russian text. Provided by MyO.
- Client side now tries to maintain inventory.
- Try to make sure network players are returned to their original type
after each game.
- Added new tank styles, UFO, Future, Heavy. These were provided by CtHx.
- Added command line option "--nothread" to prevent the game from
using background threads.
November 6, 2009
- Fixed Russian war quotes so odd symbols do not appear in the text.
- Teleports are now visible on client.
- Tried to make sure AI buys parachutes and spreads its money around more.
- Client should now stay connected in multi-round games.
- Fixed compile error when threads are not being used.
- Client now changes rounds and ends game when it should.
- Client can see which weapons they have and select which weapons to fire.
- If client does not do anything after about 10-15 seconds, AI takes over
for one shot.
- Fixed Heavy Riot Bomb price from $300 to $3000 to match similar weapons.
- Fixed client crash when using riot bombs.
- Client side no long fills up memory with unused objects.
October 30, 2009
- Added basic game networking.
- The game will now compile without threads.
- Try to avoid crashes on large screens/64-bit computers.
- Tank positions sync across network every few shots.
- Added .rc file
=========================== Atanks-4.1 released ==============================
October 19, 2009
- Rollers should now fall down walls and roll properly before exploding.
- If satellite is turned off, it may still appear, but will no longer fire.
- Fixed crash which would happen if napalm hit steel floor.
- Made sure in game text gets cleaned up at the end of the game.
- Fixed a Windows bug which would cause crash at start-up.
- Added Network Game buttons to main menu.
October 10, 2009
- Added Small Dirt Spread weapon.
- Updated Russian translation.
Text provided by MyO and Sergei.
- Created new weapon called Cluster Mirv. It releases a cluster
bomb while coming down.
- Created new weapon called the Per Cent Bomb. Causes the target
to lose half of its health (armour + shield).
- Tank speech text rarely over-laps now and travels at different
speeds.
- Added item called SDI Missile Defense. This device attempts to shoot
down missiles coming too close to the player's tank.
- When playing in full screen on Windows, the mouse should now
be visible.
- Added new weapon which reduces the explosive power of the target's
missiles. The new weapon is called a Reducer.
- Game text now lives in "ingame" text files (see "text" folder). Each
language has its own file to allow for easy translation without
recompiling.
- SDI no longer shoots at napalm jelly, causing it to hover.
- Updated spec file to reflect directory/file changes.
October 4, 2009
- Fixed system wide makefile to build client.o
- Text can now be loaded into memory, rather than relying
on files and checking the disk.
- Updated Makefile to install text in new "text" folder.
- Text files, including weapons, help and tank text are now kept in
the "text" directory.
- Game loads text into memory and switches languages on the fly.
- Fixed comma showing up at start of money.
- When launching the game in full screen mode, the game using the
system's screen resolution. If the resolution cannot be detected,
it reverts back to safe values.
- Amount of money earned for a hit is displayed above the shooter's tank.
- Misc code clean up to remove old, commented code blocks.
- Added Full Screen option to Graphics Options menu.
- Added two new tank types for the players to choose from.
The new types are called Big Grey and T34.
Thanks to CtHx for providing these tank images.
================ Atanks-4.0 released =======================
September 24, 2009
- Fixed memory leaks with new text block code.
- Running "make install" should now do a "make system"
for you first, rather than a local build.
- The game now remembers if the window was set to full screen
mode or not. Command line over-rides either mode.
- Firing rockets while under dirt does not cause the tank to fly
sideways.
- Added fix which should prevent Russian tank text from being
broken into multiple lines.
- Fixed on/off text in menu code. Thanks to ctHx for pointing out this
problem.
- Applied fix to avoid crash on 64-bit systems when choosing which
weapon to fire.
- Fixed Russian font on the buying screen.
- If the game is skipping the AI, the AI should now self destruct
if nobody is winning after 10 seconds.
Thanks to Yama and Draco for providing the code/suggestion for this.
- Money values are now displayed with comma separators to make
them easier to read.
September 19, 2009
- The unicode font should now install properly, editted makefile.
- Changing language in the Options menu now causes the proper
weapons file to be loaded.
- Added fix to avoid pink lines showing up in detailed terrain.
- When selecting players, buttons should toggle properly now
if Russian font is being used.
- Placed Russian main menu buttons in proper order, I hope.
Thanks to CtHx for providing the correct order.
- Blue box on main menu is now the right size when viewing Russian
buttons.
- Added better German language support for in game menu.
- Added German weapons file.
- Added German Options menu translation.
Thanks to Roland for providing German language files
and menu translations.
- Added short delay in threaded land generation to reduce CPU
load at beginning of rounds.
- Tanks use all Russian chat files now.
- Fixed text on top bar during rounds.
- Added TEXTBLOCK class for easy access to text files.
- Added text.cpp and text.h to makefiles.
- Removed old lineseq.h file and references.
- Cleaned up renderTextLines function to display cyrillic
text properly.
September 14, 2009
- Added unicode fonts to support cyrillic.
Thanks to Netscape (I think) for supplying this font.
- Placed unicode font in a datafile to greatly reduce project size
and decrease load/start-up time.
- Fixed bug which would prevent Portuegese help file from displaying.
- Fixed bug which prevented Russian Help text from displaying.
- The correct weapons file is now loaded to match the selected language.
- Floating text has been reorganized.
- Adjusted options screen to display unicode font better.
- Fixed speech text during rounds when using unicode font.
- Added command line option "--nobackground". This causes the green
background seen on most screens and menus to not be drawn. Instead
the background is left plain black. This is to avoid crashes on
some 64-bit machines.
- Updated spec file for RPM building.
- Adjusted text positioning on rounds screen to better handle
different fonts.
- Added Russian language buttons for the main menu.
Thanks to Sergei for making these and donating them.
- Land colours and textures are now generated in the background
before they are needed. This makes rendering detailed land much
faster on most computers.
September 8, 2009
- Changed menu screens to use more common key commands.
Up/Down arrows move up and down through menus.
Space selects/deselects items.
Enter is the same as clicking OK.
ESC backs up to the previous screen.
The right/left arrow keys adjust item values or buy/sell.
- Updated README file to reflect new key mapping.
- Moved some define statements out of main.h and into the
Makefile for global availablity.
- Made buying screen moving more logically when responding
to keyboard.
- Made keyboard work smoothly on buying screen.
- Cleaned up buying items with keybaord to make sure proper
items are purchased and screen scrolls as expected.
- The ENTER key now leaves the buying screen, not SPACE.
- On the buying screen, the item selector stays on the screen
when the mouse is being used.
- Weapons can now be cycled through during a round by
using the Z and C keys. (Tab and Backspace still work.)
- Running "make system" will build Atanks in a way compatible with
installing on Linux systems.
- Changed Mass Teleport to make sure all tanks get teleported.
- Fixed Options menu to make sure ENTER key would return to main menu.
September 4, 2009
- Added Windows icon, resource and makefile.
Thanks to Billy Buerger for supplying these.
- Added Allegro .dll file for easier Windows portability.
- Replaced some pieces of code from checking to see if we are running
on Linux to checking if we have threads and/or network access.
This should make the code easier to port.
- On the Help screen, arrow keys can be used to scroll up or
down through the text. Spacebar resumes scrolling. ESC or
a mouse click returns to the main menu.
- Re-added English version of the Help file.
- Made sure the "*" appears next to player names in the
Player menu.
- Removed long delay between menu screens on Windows/wine.
- Fixed Windows crash bug in aiming code and player handling.
- Fast sky generation should now work in Windows, if compiled with
mingw compiler and THREADS is defined.
- Some code clean-up to make porting network features to Windows easier.
==================== Atanks-3.9 released ==================================
August 28, 2009
- Added patch from BillyBuerger which allows computer only
play to be skipped, even if the setting to watch the full
round is enabled. This is accessed by pressing ESC during
the round and selecting Skip AI. The action is then
skipped for the remainder of that round only.
- Added Russian language support for instructions, README
file, tank speech and menu. Many thanks to MyO for submitting
the translations.
August 21, 2009
- Fixed bug which would cause the game to hang while AI was
buying items.
- Fixed bug which would cause AI to purchase only small missiles
if no preferences had been generated.
- Fixed a compile bug on Windows related to the new sound
driver code.
- Fixed a bug that would cause the Windows version to crash if
the AI was fighting in a round with less than ten players.
- Fixed a bug which would cause the Windows build to crash if
repulsor shields were used with less than ten tanks in the game.
- Fixed compile errors on Windows.
- Added function which will create a "music" folder in the .atanks
config folder.
- Game will now play wav files which are saved in the .atanks/music
folder. One track is played each round and looped.
The wav file must be 16-bit.
- Added item to main option menu called the Sound menu. The sound menu
contains all sound related options. Removed sound driver options
from the Graphics menu.
August 7, 2009
- Players can now select which sound driver they want. This should
usually be left on Auto Detect, but Linux users can select from
a variety of other sound drivers if need be.
- Saving and loading games is now done using text files again.
- Settings are saved in regular .txt files again for easy editing.
The game should automatically switch from the old .dat files.
- Added --nonetwork command line option to avoid using any
network server code.
August 1, 2009
- Fixed bug where pressing a key on the Select Players screen
would cause the game to run without any players.
- Removed crash when sound is not properly initalised.
- Added keybaord support for options menu and select player
menu. Tab and Backspace switch between fields. ENTER toggles
toggle boxes. Up and down arrows adjust values. Space is OK
and ESC is cancel.
- Removed most un-needed exit calls to avoid having the game crash
needlessly.
- Added keyboard support for the main game menu. Tab and Backspace
navigate the menu. Enter and Spacebar select items. Esc quits
the game.
- Added check to make sure unselectable items are not selected
during the battle.
- Added a quick note on keybaord controls to the README file.
- Removed AI's ability to cheat by "megically" getting more money.
- Made teams divide up money more fairly.
- Fixed dependencies in the Makefile.
- Game should no longer crash if a mouse is no present.
- Added keyboard support to buying screen.
July 25, 2009
- Created exporter utility, which takes all images out of
an Allegro datafile and saves the bitmaps in the current
directory.
- Replaced all datafiles with sub-directories. This allows easy
access to view and edit all images and sounds.
- The game now manually loads all images and sounds
in the globaldata class.
- Atanks now uses manually loaded images. Datafiles are no longer
used. Removed datafiles.
- Napalm looks a little more firey.
- Added Rocket item, which shoots the tank up into the air.
- Fixed drawing of the tank when using the rocket.
- Reduced cost of auto-repair kit.
- Added rocket flames.
- Prevented tank from launching itself into orbit.
- Rockets can move a tank left or right, depending on the direction of
the tank gun. Straight up causes the tank not to drift either way.
- Updated Makefile to handle new image and sound handling.
================== Atanks-3.8 released ============================
July 24, 2009
- Fixed some code to be more compatible with Windows.
July 16, 2009
- Fixed bug where the error message would be garbled if no weapons file
was found. Thanks to BillyBuerger for reporting this bug.
- Placed virtual object functions back in their source file. Removed
inline statements.
- Placed physical object code back in source file. Removed inline
statements.
- Funky bomblets (and funky deathlets) now display in different colours.
- Removed all the un-needed private constructors and deconstructors.
Removed un-needed inline declarations.
- Removed white bubbles from menus to improve contrast and reduce
CPU usage.
July 8, 2009
- Removed code which caused crash if settings were not saved.
- Fixed crash in retaliation text code.
- Added Demo mode. Leaving Atanks on the main menu for one
minute causes the game to play by itself for five rounds.
This can be stopped at any time by pressing the ESC key.
- On Linux, the sky is now generated in a background thread. This
removes most of the delay at the end of the buying screen, before
a round starts.
(I forget who suggested this a year or so back, but I didn't have
the time to implement it then. I think they were a Java developer
and they deserve the credit for this idea.)
- Fixed a problem with cluster bombs not having the proper sub-missile.
- Moved some floating functions out of atanks.cpp and placed them in
files.cpp for better access from other source files.
- Fixed land drawing under threaded mode.
- Changed war quotes to display in black for better contrast.
- Fixed blank patches in sky when using threads.
July 4, 2009
- Changed main game loop to go through objects twice rather than loop
twice for each class. Should reduce CPU usage by about 5%.
- Tried to make teams more evenly matched.
- Added Option menu called "Network".
- Made checking for updates on the web an option, under the Network menu.
- Made MIRVs detect their position much more efficently.
- Created new weapon (Driller), which will dig a deep hole where ever it lands. Does
minor damage to any tanks hit.
June 27, 2009
- Added Chain Missile and Jackhammer weapons. (Provided by Yama.)
- Weapons such as chain gun, chain missile and jack hammer now correctly
display the number of shots the player has left, rather than the total
amount of missiles in the spread.
- In the Store, the correct number of items purchased now show up next to
items such as the chaingun, chain missile and jack hammer.
- Updated README file.
============= Atanks-3.7 released ========================================
June 22, 2009
- Napalm should now fall if no dirt is under it.
- Player colours should look the same in 16 and 32 bit colour modes now.
- Cleaned up old fog code.
- Fixed fan graphic in different colour modes.
- Game now automatically checks for updates, if the user is running Linux.
Availible updates are displayed on the main page.
June 19, 2009
- Added option to allow players not not share money with team mates.
(menucontent.h, globaldata.h, globaldata.cpp, atanks.cpp)
- Fixed crash when checking tank status.
(globaldata.h, player.cpp, tank.cpp)
- Atanks now uses the desktop's default colour depth. The user
can over-ride the default by using the "-d" option on the command line.
- Applied code from Yama to make satellite drawing more smooth. Should
avoid leaving artifacts.
June 15, 2009
- Fixed abs() calls in player.cpp and tank.cpp
- Replaced old Teleport animation with Yama's.
June 4, 2009
- Added war quotes to display at the end of games. (files.cpp, files.h,
atanks.cpp (do_winner))
- Added war_quotes.txt data file with list of quotes about war.
- Added Reset All button on the options page (atanks.cpp options,
globaldata.h, globaldata.cpp, evironment.h environment.cpp)
- Made default colour theme "crispy".
- Moved do_winner screen up a little to give room to the war quotes.
- Added option for custom background (menucontent.h, environment.h
environment.cpp)
- Any bitmaps found in the config folder (.atanks) can be used
as custom backgrounds. (files.cpp, files.h, atanks.cpp, environment.h,
environment.cpp)
- Added Mass Teleport item, teleports all tanks on the screen to
random locations. (tank.cpp, weapons.txt, main.h)
================== Atanks-3.6 released ================================
June 1, 2009
- Fixed Makefile to make sure binary does to correct directory.
- Moved giant inline function out of header file and into environment.cpp
- Added deconstructor to ENVIRONMENT class fpr clean-up.
May 19, 2009
- Settings from previous versions (prior to 3.5) can now be imported.
- Fixed Makefile to handle changes to source files.
- Re-added debugging codes to Makefile.
- Fixed various crashes that would happen with the computer was aiming
at tanks which had already been destroyed.
- Prevented tanks from getting credit after they die.
- Players should no longer show up as winning a round if they have died.
- New game menu should look better now at higher resolution.
- When selecting options or game rounds, the options now "wrap" around
from highest to lowest and lowest to highest.
- Added menu support for Slovak. (Provided by Jozef.)
==================== Atanks-3.5-r1 released ==========================
March 25, 2009
- Important Bugfix:
Fixed a bug that could cause atanks to crash if a game with players which
do not belong to the first 10 set up players chosen is loaded.
- Important Bugfix:
A typo made atanks impossible to be compiled on windows platform
===================== Atanks-3.5 released ============================
March 19, 2009
- Fixed a bug that caused players to be skipped, if their predecessor died
during their own attack. (now really working!)
- rewrote loading and saving of game settings and games.
Important: Old save games and settings can not be imported!
- Bots no might a) forget their revenge plans on new rounds, b) drop revenge
plans if the revengee is on the same team and c) go for the not-same-team
leader as a new revengee if the difference of won rounds grows too high.
- Smoke desolves now a bit more realistic.
- Napalm Jellies now grow first instead of spawning fully sized.
- If a "winner" dies during end-of-round waiting, the score and money bonuses
are substracted. (No more "Die-But-Keep-The-Points"-behavior!)
- Fixed a bug that made Sith go for their team mates in special circumstances.
- Changed the Makefiles to the new source layout and fixed some issues.
- dynamized the new targetting system, so that there should be no more "lags"
February 21, 2009
-- Finally "-Wno-write-strings" is no longer needed to compile the sources
-- Rewrote the environment method to calculate average background colors. It is
now inline and somewhat optimized, making shadowed + fading text more
performant.
-- Rewrote File handling, apart from three tiny points atanks is now fully ISO
C++ compliant.
-- Made rollers a bit faster dropping
-- No more roller-breaking of shields by hammering them above the enemy onto
the steel/wrap ceiling! They explode now.
-- Two tiny patches make bots targetting a bit faster and destroy (hopefully)
any possibility for the system to go infinite
-- prepared all neccessary files to be translated. But please note:
-- English: Is always there
-- Portuguese: Is borked. But maybe it's only my utf-8 system showing the
wrong characters. I looked into the atanks-2.9 files and it is broken there as
well. If its just my system, don't mind. ;)
-- French: Has some tiny things that has to be translated. Retaliation is
still english, and I am not sure how to translate "Shadowed Text" and "Fading
Text", so some french natural speaker might do this?
-- German: Only weapons_de.txt needs to be translated, I'll do it next year.
-- Slovak: Only the gloating texts *are* translated so the rest is missing
completely, but I have prepared the files and menucontent.h for a slovak
natural speaker to be translated.
-- Added weapons_*language*.txt files so we can (finally) translate the weapon
texts as well.
-- Fixed a bug that could cause roller tracking to go infinite.
-- Balanced fading texts some more
-- Corrected some text messages
-- added new roller code. Rollers now really roll!
-- fixed a bug that made tracking report wrong hit points when tracking
rollers and burrowers
-- Added average background color calculation and fixed fading text offset. It
should look far better now.
-- Balanced shadowed text color calculation
-- added a new retaliation text. When bots aim at opponents they have a grudge
against, they might tell you now.
For this to work you'll have to copy retaliation*.txt into
/usr/share/games/atanks/ (or wherever you have your atanks data files)
directory.
-- removed waiting for explosions to finish when tanks blow up after being hit
by violent death missiles.
I was longing to change that for ages, because I grew rather sick of tanks
being suspended in mid-air for ages while all those violent death missile fly
around. Now, they blow up immediately. However, when a normal missile is shot
and destroys a tank, it still waits for the missile's explosion to finish.
-- changed tank falling behavior: They now can fall a short distance (2-5
pixels) without getting damage and without the parachutes to open.
I was longing for that one, too. The reason is, that it is madness to waste
30+ parachutes and/or getting alot of damage while moving (!!) a tank down a
flat slope.
-- Fixed a bug with the tracing of spreads which resulted in bots hitting self
but not the opponent.
-- added a security check when calculating offsets to napalm. Bots should not
drop napalm onto themselves any more when trying to hit a neighbor.
-- added shadows to the text to increase readability. (Has to be turned on in
the graphics menu, for compatibilities sake this option defaults to "off")
-- added fading to the text, to ... well... to have a bit of eye candy. ;)
(Has to be turned on in the graphics menu, for compatibilities sake this
option defaults to "off")
-- cleaned up aiming calculation
-- cleaned up debugging messages for "DEBUG_AIM" and added some more info.
-- Fixed a bug that could cause riot shots and blasts to start 10-20 pixels
away from the tank cannon.
-- Fixed a bug that caused the the aiming system to fail in a very special
(and rare, but still existing) situation, resulting in bots shooting into the
ceiling.
-- Added a cleanup for all objects. No more debris on the screen!
-- As the new aiming system doesn't need it any more, the wall type and boxed
mode aren't changed any more once the last human player dies and skipping is
turned on.
-- added boxed mode (Finally!)
-- riot blasts fixed, they no longer shoot downwards when too less power is
chosen
-- chain missiles now blast through dirt. (vertical spreads, too)
-- Walltypes on non-human rounds with skip-AI on will now all change to
Wrapped Walls & non-Boxed mode, but not before the current destructions
(violent deaths, falling tanks) are finished. (happy, sylikc? ;))
-- a completely new aiming system has been written to make the boxed mode
possible
-- added tweaks to reduce "debris" left on screen
-- added tweaks to reduce "choking" of the display when too much is going on
-- removed HLR_DEBUG, because in over 1000 rounds the speed-up-system never
failed
-- There are now three different defines for debugging:
-- DEBUG
Will show everything concerning inventories, shopping system, item
selection and target selection of the bots on the console.
-- DEBUG_AIM
Will show all relevant numbers of the new aiming system on the console
-- DEBUG_AIM_SHOW
Will draw dots and circles on the screen to make the "thinking" of the
aiming process visible.
(Warning: The game is no longer playable in this mode)
-- balanced computer player values, according to the new aiming system.
Generally speaking, the "useless" bot won't hit a barn with a pumpgun, while
the "deadly" bot is very precise.
-- If no target can be reached by normal means, bots now might teleport (or
swap) out of their corner, or try to get rid of the obstacle by using riot
blasts
-- While aiming bots now try to avoid hitting themselves or team mebers (when
non-neutral) and are somewhat carefull not to hit themselves or team members
with the blast damage their weapon produces. If a target can't be hit
otherwise, there have sacrefices to be made, though...
-- target selection now uses the new aiming system to value targets lower
which are hard (or impossible) to hit
-- item selection now uses the new aiming system to value weapons lower with
which the chosen target can't be hit properly
-- The target system now calculates burrowers and rollers. (Which leads to
some highly entertaining results! :))
-- The more intelligent a bot is, the more "bounces" of walls or "wraps" it
can calculate.
-- The more intelligent a bot is, the more spread it can calculate. So don't
wonder if a useless or guesser bot fires a super spread, happily hitting
itself. It simply couldn't see that coming.
-- Velocity check rewritten. It now a) works and b) fixes the "Repulsor-
Shield-Bug" :D Yes, I am very happy about that!
It is handled in three different ways:
-- No Spring Wall: The limit is set by maximum power, influenced by
the mass of the weapon.
-- Spring Wall and Not Boxed: The Limit is doubled, or shooting at the
wall would destroy your missile.