Changes in Q2Java 0.9.3

Changes in Java Classes
q2java.baseq2.BaseQ2
Change
Leigh
init() and unload() updated to add and remove "q2java.baseq2" from the game's "packagePath" property.
q2java.baseq2.Player
Fix
Leigh
cmd_say() fixed to catch case of empty-string being passed as an arg - so a NullPointerException isn't thrown.
Change
Barry
getMaxAmmoCount() made public - so that property can be manipulated by external objects like item_pack
Change
Barry
setAmmoCount() methods make sure that the ammo count doesn't exceed the maxAmmoCount
Added
Barry
setMaxAmmoCount() - to go along with getMaxAmmoCount()
q2java.baseq2.spawn.item_pack
Added
Barry
New class, to implement ammo backpacks that increase a player's capacity, and gives a quick ammo-refill.
q2java.core.BasicServerCommands
Added
Leigh
Several of the basic server commands were removed from the Game class and moved into this new class.
q2java.core.DefaultClassFactory
Change
Leigh
This class has been reworked to just handle locating classes, and no longer involves itself with gamelet management.
q2java.core.Game
Change
Leigh
svcmd_addgamelet(), svcmd_removegamelet() moved to the new GameletManager class.
Change
Leigh
svcmd_help(), svcmd_javagc(), svcmd_javamem(), svcmd_properties() moved to new BasicServerCommands class.
Change
Leigh
Gamelet management split off into new GameletManager class, so addGamelet(), getGamelet(), removeGamelet(),
Added
Barry
A new Game property, the "packagePath" - manipulated with addPackagePath() and removePackagePath() methods has been added. Basically the Game class will keep track of a list of package names, and ClassFactory objects will refer to it when trying to figure out the full Java classnames of partially specified classes (such as when it needs to figure out that "weapon_rocket" is implemented by "q2java.baseq2.spawn.weapon_rocket").
q2java.core.GameletManager
Added
Leigh
Gamelet management was been taken out of the Game and DefaultClassFactory classes and moved here. The Game class has setGameletManager() and getGameletManager() methods to access the Game's current GameletManager object.
q2java.core.GameUtil
Added
Barry
Versions of getAngle3f(), getPoint3f(), and getSpawnArg() to work with DOM elements instead of old-fashioned arrays of strings.
Added
Barry
New versions of randomInt() to more conveniently generate random numbers on the ranges 0..n-1, given a value n, or in the range x..y given x and y.
q2java.core.GameletManager
Change
Leigh
init() and unload() add/remove the package "q2java.ctf" to the Game's packagePath

Q2Java homepage