Observed on this system configuration:
OS: Windows 98 SE
Java Versions: 1.5.0_6
Graphics Card: Ati Radeon 9600 XT
Graphics Driver: Ati Catalyst 6.2
TripleA: 0.9.0.2
Symptom: Frequently, the complete OS freezes (does not respond anymore, just mouse movements are still possible) during combat phase. This happens in multiplayer games in the lobby as well as in local games.
This actually is a bug within old Ati Catalyst drivers and has been reported with other 2d and 3d java applications as well, even on more current windows versions like XP. The java bugs database suggests, that current Catalyst versions fix this problem, but Ati does not supply these versions for the Windows 9x platform anymore. The most recent Windows 9x Catalyst driver 6.2 seems to still contain this bug.
Workaround: Start TripleA with -Dsun.java2d.noddraw=true
This system property stops java from using the hardware accelerated (and buggy) driver functions for displaying the TripleA map.
This prevents the occurrence of the bug while playing local games.
Unfortunately, it still occurs in lobby games. TripleA launches a new process for each lobby game, but it does not pass the -Dsun.java2d.noddraw=true system property to its child processes.
I fixed my personal copy of TripleA 0.9.0.2 by adding the line
commands.add("-Dsun.java2d.noddraw=true");
to the method populateBasicJavaArgs in games/strategy/engine/lobby/client/ui/LobbyGamePanel.java but probably there is a more general way like passing system properties of the main process to its child processes or using a properties file.
Logged In: YES
user_id=399341
Originator: NO
i added some code with r1880 to preserve this system property