BATTLEZONE 1.5.2 BUILD NOTES

Version 1.5.2.14
Released 2013-09-16

Holy crap, has it really been four months?


What's New:


Gameplay

* Player-controlled APC can deploy only within 75m of an enemy target
- It could previously deploy within 75m of a friendly target too
- Reduces exploitability of the APC in multiplayer

* Howitzer allows Attack menu when not deployed
- Unit deploys immediately when told to attack
- Lets mixed groups (deployed and undeployed) use the Attack menu

* BuildingClass supports "portal" class label
- Prevents an error when creating a portal building (e.g. cbport)
- Doesn't actually implement portal behavior, though

* Skip sending bomb to locked geysers (Dx)
- Note: Should skip sending bomb to scrap

* Fixed Day Wrecker bug (Dx)
- Skips Day Wrecker state update


Interface

* Ensure that team colors are always up to date
- It's cheap enough that it's not worth being clever

* In-game UI supports custom object and weapon names
- Use (localized) sprite-based names when available
- Use (currently non-localized) text-based names otherwise


AI

* Scavenger AI creates an escort goal in multiplayer
- This should make AI-controlled teams work better in MPI

* Added filtering and adjusted strength of AI evasion maneuvers
- Should make it less unfair for players


Stability

* Scavengers no longer crash on non-player teams with no strategic AI

* Workaround for assert when an object's team number is negative
- These are removed GameObjects that have not been deleted yet

* Fixed crash when creating a team-hazard object on team zero


Scripting

* LuaMission properly loads string and table types now
- These never got tested properly... :P

* Added a Lua panic handler that shows an error dialog before exiting
- This should never happen for players

* Lua error outputs a debug message in addition to showing a dialog

* New Script Utility functions
- AddMaxPilot: add to max pilot count
- SetMaxPilot: set max pilot count
- AddMaxScrap: add to max scrap count
- SetMaxScrap: set max scrap count
- IsCraft: is an object a craft?
- IsBuilding: is an object a building?
- GetBase: return base config of the object
  (which actually represents which model it's using)

* Lua support for 3D vector and matrix types
- BuildObject taking a position vector
- BuildObject taking a transform matrix
- GetTransform: get object transform matrix
- SetTransform: set object transform matrix (teleport)
- GetPosition: get object position
- SetPosition: set object position (teleport)
- GetFront: get object front direction vector
- GetVelocity: get object velocity vector
- SetVelocity: set object velocity vector
- SetVector: build a vector from numbers
- SetMatrix: build a matrix from numbers
- Various operators for matrices and vectors
- SaveValue and LoadValue handle vector and matrix values


Multiplayer

* Person starts the "standing" animation when created
- Should fix the randomly-occuring rotated first-person gun
- Applied the same change to Walker for consistency


Utility

* /largemap correctly handles 16-bit and 32-bit textures

* Mission files don't load or save unlabeled (AI-generated) paths
- Eliminates a bunch of useless clutter
- Mission files exclude AI state so these paths are never referenced

* Fixed reading strings from ASCII mission or savefile
- Reads to end of line instead of stopping at the first space
- Fixes nav names getting truncated in misn04


Campaign

* Mission 5 (Dx)
- Fixed Mine 16 and 24
- Changed boltmines to team 2

* Mission 6 and 7 (Dx)
- Fixed a crash if player died during the camera scene

* Mission 11 (Dx)
- Fixed typo for camera

* Mission 12 (Dx)
- Show Objective after the camera scene finishes

* Mission 17 (Dx)
- Fixed 3 BuildObject typos "eggiezr1"
- Fixed missing mines [MINE {10, 54, 55, 56}]
- Fixed Damage on MINE[53]
- Fixed Tower 7 name 
- TODO: Fix in Sprite table
