Version 1.3.2
(06/09/2007)
-------------
o Bugfixes
-- The sample.SittingDuck would not start when no GUI is enabled
-- The Look and Feel is not set if the GUI is disabled
-- The robocode.sh ignored command line arguments (e.g. under Linux and Mac)
-- When setting the -result parameter from the command line the results file was empty
o Enhancements
-- When specifying the -battle parameter the .battle extension and battle directory can
be omitted. Hence you can write "-battle sample" instead of "-battle battles/sample.battle"
-- If a specified battle file does not exist Robocode will now exit with an error
-- If you specify the -results parameter the last results will now always be printed out,
i.e. with and without the GUI enabled. Otherwise, if the GUI is not enabled (by setting
the -nodisplay parameter) then the last results will be printed out to system out
Version 1.3.1
(05/30/2007)
-------------
o Bugfixes
-- When loading a battle, the robots specified in the battle file were not selected on
the battle dialog
-- When the intro battle has finished the battle settings are now reset to the default
battle settings. This fixes the issue were the fixed robot starting positions are still
used in new battles and where the "Number of Rounds" was set to 1 instead of 10
-- The output in the robot console windows were written out in bulks instead of immediately
-- Bugs fixed in RoboRumble which could cause a java.lang.IllegalThreadStateException
o Changes
-- Robocode will now print out an error message and just proceed if problems arise with
trying to set the Look and Feel (LAF) to the system LAF.
-- When stopping or restarting a battle, the battle will now stop immediately instead of
continuing for a while showing robot explosions when the robots are being terminated
due to the stop
-- Added confirm dialog when trying to reset the compiler preferences from the
Compiler->Options->Reset Compiler in the Robocode Editor in order to prevent the
compiler preferences to be reset by accident
o New features
-- Added link to Java 5.0 Documentation in the Help menu
Version 1.3
(05/17/2007)
Now featuring the RoboRumble@Home client
-------------
o Bugfixes
-- When using robocode.control.RobocodeEngine it was not possible to play team battles.
Instead an ArrayOutOfBoundsException occurred
-- robocode.control.RobotResults.getRamDamage() incorrectly returned a double instead
of an integer. This bug caused problems with running Robocode on RoboLeague
-- The "Enable replay recording" got set if it was not set after running Robocode without
the robocode.properties file the first time
-- No sounds were played (when enabled) when Robocode was launched the second time
-- Fixed NullPointerException occurred when a robot is forced to stop
-- NullPointerException could occur when using robocode.control.RobocodeEngine and the
GUI was not enabled
-- The text field for the filename in the robot packager was way too high
-- Lots of synchronizations issues and potential ConcurrentModificationExceptions have
been fixed
-- In RoboRumble, the codesize of some robots were incorrectly calculated to be 0 bytes,
and hence these robots was not able to participate in RoboRumble battles
-- This was due to the codesize tool, which could not analyze .jar files inside .jars
-- The Event Dispatch Thread was denied access by the RobocodeSecurityManager
o RoboRumble@Home client, originally developed by Albert Prez, is now built-in
-- RoboRumble@Home is the ultimate collaborative effort to have a live, up-to-date
ranking of bots. It uses the power of available robocoder's computers to distribute
the effort of running battles and building the rankings
-- For more information about RoboRumble@Home you should read:
http://robowiki.net/cgi-bin/robowiki?RoboRumble
-- This is an updated version of the original one that can run with the current
version of Robocode and which has been ported to Java 5
-- Configuration files has been updated, and are available in the 'roborumble' folder
-- Issues with downloading robots from the Robocode Repository site has been fixed
o Special thanks goes to Gert Heijenk (aka GrubbmGait)
-- Gert did a tremendous job with lots of alpha testing regarding the new RoboRumble@Home
built into Robocode! :-D
o The codesize tool by Christian D. Schnell has been added
-- The codesize tool has been added to support the built-in RoboRumble@Home, and a new
feature for getting the codesize and robot codesize class (MiniBot, MegaBot etc.)
when a robot is being packaged
-- The codesize tool has been taken over by Flemming N. Larsen (agreed with Christian)
and updated to version 1.1, which can handle files > 2KB, and which can analyse .jar
files inside .jar files
o Added feature that allows specifying the initial start positions of the robots on the
battlefield
-- By specifying positions by setting robocode.battle.initialPositions in a .battle
using this format (x1,y1,heading1),(x2,y2,heading2),(?,?,?) you can specify the
initial location and heading for each robot specified with robocode.battle.selectedRobots
-- One example is: (50,50,90),(100,100,?),?
This means that the 1st robot starts at (50,50) with a heading of 90 degrees,
the 2nd robot starts at (100,100,?) with a random heading, the 3rd (and last) robot
starts at a random position with a random heading
-- See the battle/intro.battle for an example of how to use this option
o Added a new method called getNameAndVersion() to the robocode.control.RobotSpecification
-- This method was added to better support RoboRumble and ranking programs
o Changed the TeamRobot.broadcastMessage() so it does not throw an IOException when the
robot is not in a team
o Changed back the TeamRobot.getTeammates() to return null if no teammates are available
-- This rollback was done in order to keep compatibility with old legacy robots
o The file structure of Robocode has been slightly improved
-- All .jar files including robocode.jar are now located in the libs folder
-- The robot.database and .robotcache files has been moved to the robots folder
-- All RoboRumble related files are located in the roborumble folder
Version 1.2.6A
(03/11/2007)
-------------
o Bugfixes
-- A NullPointerException occured if the battle view was not initialized
-- This bug made it impossible to control Robocode via the robocode.control package
when attempting to show the battle window
o The Ranking Panel and Battle Results are now windows instead of dialoges
-- This means that the Ranking Panel and Battle Results will still be visible when the
game is running in minimized mode
Version 1.2.6
(03/06/2007)
-------------
o Bugfixes
-- With some robots, a java.lang.NoClassDefFoundError occured when Robocode tried to
cleanup the static fields occupied by the robot when the battles are over
-- AdvancedRobot.setEventPriority() did not support MessageEvent
-- The rendering options was not set correctly when loading these between battle sessions
-- When using the RobocodeEngine.setVisible(true) the Robocode window was shown with the
wrong size and without the native Look & Feel
o Added missing getMessageEvents() on the TeamRobot
o Adjustments of default event priorities
-- The changes were made as some events "shared" the same default priority, making it
hard to tell which event would occur before the other
-- BulletHitBulletEvent priority was changed from 50 to 55. Previously, both
BulletHitEvents and BulletHitBulletEvents used priority = 50
-- MessageEvent priority was changed from 80 to 75. Previously, both CustomEvents and
MessageEvents used priority