
The previous build didn't work out so well, so here's it's replacement.
The new Seismic Wave ended up much stronger than it should have been, so I toned it down to something more like 1.4. It still looks like a wave, gives units a decent shake, and applies damping and leveling to keep objects from spinning around wildly or flipping underground.
I also included some new fixes along with all the actually-good parts of the previous build. The Mission Archives works properly in full screen, Furies are back to their old lightning-shooting selves, and I even took a swipe at the "disappearing ordnance" problem. (I'm not particularly confident about the latter...)
Downloads:
Testing Executable and Symbols
Game Assets (no changes since 2011-05-19)
What's new (and not-as-new):
* Got per-polygon collision working properly
- This works for both object collision and bullet impacts
* Added support for buildings with per-polygon collision and floor geometry
- Use a classLabel of "i76building2"
- This enables I76/BZ2-style bridges for IA maps
- Unlike BZ2, though, AI doesn't know how to path across them
* Revised SeismicWave
- Restored the vigorous shake effect, which had been too weak to notice
. Update: reduced the intensity since it was too strong in the 2011-06-11 build
- Apply damping and leveling so objects don't flip around wildly
- Replaced hard-wired constants with ODF parameters
. waveRadius: size of the wave in meters (default 50m)
. waveHeight: height of the wave in meters (default 6m)
. rampUpTime: time to ramp up to full strength (default 5s)
. rampDownTime: time to ramp down to zero strength (default 2s)
. sweepOmega: how hard to sweep object rotation (default 75)
. sweepVeloc: how hard to sweep object velocity (default 50)
. shakeFrequency: how fast to shake objects (default 3Hz) New!
. shakeOmega: how hard to shake object rotation (default 30)
. shakeVeloc: how hard to shake object velocity (default 50)
. walkerScale: effect scale for Walkers (default 0.5)
. towerScale: effect scale for Gun Towers (default 0.5)
. dampOmega: how much to damp object rotation (default 5)
. levelOmega: how much to level object orientation (default 15)
. buildingScale: damage scale for buildings (default 1)
- Gave it a distinct "wave" profile with crest and trough
- Update: changed the effect falloff curve to match 1.4 more closely
- Starts half a wave radius ahead to avoid shaking or damaging its firer
- Doesn't move floor-owning objects (such as bridges)
* Fixed players not getting credit when SprayBomb bullets kill something
- It now transfers player ownership to the created bullets
* Fixed AI crash after loading terrain with no mission
- LoadDefaultMission wasn't setting up the pathing system
* Fixed an occasional crash in DoNetEscapeFrame when there was no AI mission yet
* Improved stability of long-running MP game sessions
- Fixed identifiers from "colliding" after many players have come and gone
- Fixed ordnance not sending ownerhip properly for the 8th player and beyond
- Fixed joining players not getting powerups in long DM games
* Fixed players being unable to join after a host migration
- This was a bug introduced in a recent build
* Fixed unit voice messages not playing at volume level 1
* Fixed a crash in Soviet mission 1 when loading an AIP file
- The AIP load process was trashing memory in some cases
- This may fix some other mystery crashes in single-player
* Update: Fixed mission names not appearing in the Mission Archives in full-screen
* Update: Fixed problems with Fury attacks
- Fixed SAV immediately rising back into the air after landing
. Its attack timer now starts when it reaches the ground
- Fixed SAV and SAT not using their lightning gun
. They were picking the WASP launcher as their primary weapon
- Fixed SAV aiming its lightning gun too high
- Fixed SAV and SAT accidentally shooting down their own WASP missiles
* Update: Fixed the "Mission Misson %s not found not found" dialog in the lobby
* Update: Attempted to fix the "disappearing ordnance" problem
- Consolidated and streamlined the latency compensation in Ordnance_Receive