Version 1.1.0
Despite the semantic versioning change, this is no minor change 😎 This release comes with support for unpacking the embedded world databases that are stored within replay files.
New
- All world-related functionality was added to the new
allejo\bzflag\worldnamespace - Added new
Replay::getWorldDatabase()andReplayHeader::getWorldDatabase()methods for accessing the world database
Changes
- Replay related classes have been moved to the new
allejo\bzflag\replaysnamespace. Classes in the originalallejo\bzflag\networkingnamespace have been deprecated and will be removed in version 2.0.0.InvalidReplayExceptionReplayReplayDurationReplayHeader
Changes Since Alpha 3
⚠️ BC Breaking Changes
INameableObstaclehas been renamed toNameableObstacleInterfaceIWorldDatabaseAwarehas been renamed toWorldDatabaseAwareInterface- Exceptions have been moved into a dedicated
Exceptionsnamespaceallejo\bzflag\networking\InaccessibleResourceException=>allejo\bzflag\networking\Exceptions\InaccessibleResourceExceptionallejo\bzflag\networking\InvalidTimestampFormatException=>allejo\bzflag\networking\Exceptions\InvalidTimestampFormatExceptionallejo\bzflag\replays\InvalidReplayException=>allejo\bzflag\replays\Exceptions\InvalidReplayExceptionallejo\bzflag\world\GroupDefinitionNotFoundException=>allejo\bzflag\world\Exceptions\GroupDefinitionNotFoundExceptionallejo\bzflag\world\InvalidWorldCompression=>allejo\bzflag\world\Exceptions\InvalidWorldCompressionExceptionallejo\bzflag\world\InvalidWorldDatabase=>allejo\bzflag\world\Exceptions\InvalidWorldDatabaseExceptionallejo\bzflag\world\NamedObstacleNotFoundException=>allejo\bzflag\world\Exceptions\NamedObstacleNotFoundException
New
- Added
Replay::getWorldDatabase()convenience method - Added support for unpacking teleporter links
- The initial BZDB state of the world is now available in the World Database
- Water level, world weapons, and world zones are now unpacked
- BZDB Manager can now return all values
Fixes
- Add defaults to ArcObstacle and TextureMatrix to prevent invalid values