BATTLEZONE
Version 1.5.2.23 Preview 1
Released 2014-07-26
This version adds major new Lua mission scripting features. In particular, it adds event handlers for game object created (CreateObject), player joined session (CreatePlayer), player finished loading (AddPlayer), and player left session (DeletePlayer). Mission scripts running on different machines in a multiplayer session can now send user-defined network messages to each other.
Downloads
Testing Executable and Symbols
Check the main 1.5.2 page for other downloads.
What's New
Shell
- Fixed rendering in shell multiplayer pre-game screen
- Important safety tip: hide old controls before showing new ones
- /color load prints the correct message
- MapList updates the Mission CRC label
- Fixes client seeing the CRC as 00000000
- Window title includes the build number
- e.g. "Battlezone 1.5.2.22"
- Fixed /help chat commands
Scripting
- Made team and odf parameters optional in CountUnitsNearObject
- LuaMission supports network Send/Receive
- Send(to, type, data): send user-defined packet to recipient(s)
- Receive(from, type, data): called when a user-defined packet arrives
- The "to" parameter is a network id (nil or 0 for broadcast)
- The "from" parameter is a network id (0 for system)
- Type is a single-character string indicating the message type
- Data is an arbitrary string up to 241 characters long
- Lua converts non-string values to strings for transmission
- Can use string.char to construct a string from numeric character codes
- Can use string.byte to extract numeric character codes from a string
- Mission game object events
- CreateObject: called for any new game object
- AddObject: also called for game objects loaded from a mission file (BZN)
- Mission net player events
- CreatePlayer(id, name, team): called when a player joins the session
- AddPlayer(id, name, team): called when a player finishes loading and starts running
- DeletePlayer(id, name, team): called when a player leaves the session
- The "id" parameter is the network id for that player
- Name and team values should be self-explanatory :)
- New Lua script utility function
- DisplayMessage: adds a message to the chat window
Stability
- Fixed memory corruption when using Modem transport
- Fixed MultGMission crashing when one team scores
- Anet dpSent added data after the packet, corrupting the stack
- Fixed potential use of uninitialized var in AIP parser
- Fixed crash in AttackTask after loading state with no attackGroup
- Not sure how it got into that state, though... :|