BATTLEZONE 1.5.2 BUILD NOTES

Version 1.5.2.7
Released 2013-04-07

What's New: 

Collision and Physics

* Improved per-polygon collision
- Now supports moving and animated objects
- Works more like box collision internally

* Buildings and producers use per-polygon collision
- "What you see is what you get"
- Buildings also act as terrain floor

* Added collision debug display
- Toggle with cheat code "drawcoll" (holding SHIFT+CTRL)
- Shows entity world bounding box in grey
- Shows other collision shapes in team color
- Supports spheres (in theory), boxes, and polygons

* Reduced friction/stickiness of craft collision

* Do collision detection after simulation instead of before
- Ensures that it uses with up-to-date values
- Moved collision resolution to post-simulate
- Improves collision accuracy (especially continuous contact)
- Works a bit more like a modern physics system :)

* Producers use car collision when interacting with buildings
- Collision only works if at least one entity uses car collision
- I predict that I'll end up regretting this one...


Editor

* Fixed some crashes
- When showing Goals or Priorities for a team with no strategic AI
- When a path got deselected while editing

* Added new path editing features
- Delete removes the selected path point instead of the last point
- Holding control inserts points after the selected path point
- Holding control allows selection of the start point instead of forming a loop

* Added extended teams (8-15) to the Build Team menu


AI

* Strategic AI checks relations when looking for enemy buildings and units
- It previously assumed all other teams were enemy :|


Mission Scripting

* BREAKING CHANGE: only set team AI as controlled when requested
- Strategic AI uses a lot of memory even when inert
- Single-player missions default to team 2 (for compatibility)
- Multi-player missions default to none
- SetAIControl function allows missions to override the default
- NOTE: this only takes effect during pre-load!

* Inst03Mission supports Lua mission scripts
- This allows play01.bzn to act as a Lua testing sandbox


Pathing

* Track team ownership of terrain cells
- Replaces the previous "team hazard" mechanism
- Works correctly for all non-neutral teams (1-15)
- Pathing now takes team alliances into account

* Fixed AI terrain avoidance forces for teams 3-15
- Affected player-controlled teams on 3-way and 4-way maps
- Crippled high-numbered teams in IA and MPI

* Fixed units on AI teams not counting towards kills
- There's three different places keeping track of score...


Crash Fixes

* Prevent terrain access from reading outside the world
- The world effectively "wraps around" at the edges

* Fixed ConstructionRigProcess class crash in misn09.bzn
- Handle CMD_STOP more like other producers

* Fixed clients crashing when someone killed a unit on an AI team
