Page 1 of 1

New Build (2011-06-26) - Shell Stability (Updated!)

Posted: Sun Jun 26, 2011 5:35 am
by Ultraken
Maybe this build will work out better than the last one. :)

I finally fixed a source of memory corruption in the shell so it should be a lot more stable now. PlayerInfo would write an extra byte past the end of its memory block, so if it was just the right size it could damage the header of the next block and cause memory system crashes.

Updated! Now with 100% less freeze-ups!


Downloads:
Testing Executable and Symbols
Game Assets (no changes since 2011-05-19)


What's new:

* Switched back to the original volume setting code for CD audio
- The mixer was setting the volume for the entire application (!)
- CD music playing back at full volume isn't great bit it's at least consistent

* Attempted to fix the invalid unit type problem in AI_Match_Get_Unit_Strength
- Cleaned up some uninitialized values in strategic AI attachments
- Added a workaround so it prints the name of the offending unit instead of crashing

* Set the SeismicWave falloff to match the original version
- This time for sure!
- I had made this change before but managed to lose it somehow

* Auto-kick start time begins when a player first spawns
- This should prevent spurious auto-kicks while loading

* Airborne units no longer use straight-line pathing
- This fixes pilots getting stuck on terrain obstacles after they land
- They instead ignore the "stuck" test since they can sail over obstacles

* Pilots mark the empty vehicle they're going for so other pilots won't go for it
- This makes pilots hopping out of barracks all go for separate vehicles

* Yet another attempt at fixing the black screen problem
- Shell WM_PAINT cases return 0 to indicate they handled the message

* Barracks starts pilots as airborne so they can maneuver out

* Improved stability of the multiplayer shell
- Fixed some potentially-uninitialized values
- Fixed PlayerInfo sometimes corrupting memory (!)
. This was the most likely cause of various shell crashes

* Net game dialog now loads map description and vehicle list "on demand"
- The dialog works correctly even if the map is not listed in netmis.txt
- NOTE: it shows the map's filename instead of its label in that case

* Fixed an exception in the net game dialog on exiting the application
- It only came up when pressing Alt-F4 or clicking the close button, though

* Net error dialog runs the networking system if necessary
- This fixes players lagging out if they don't click OK fast enough

* Update networking thread more frequently while loading
- This should reduce high ping times while players load

* Sped up the file cache slightly
- Read file data into the cache buffer directly without a memcpy
- This may improve load times a tiny bit on slower systems

* Cleaned up a bunch of memory leaks
- Many of these were only in debug builds or things not freed on exit
- Still, every little bit counts :)

Re: New Build (2011-06-26) - Shell Stability (Updated!)

Posted: Sun Jun 26, 2011 6:45 pm
by Psychedelic Rhino
I haven't loaded and played much SP from these new builds till today. I must say the 'Very Hard' mode is indeed quite hard. I suppose mostly from the damage my ship and AI takes. But it seem the AI fights a bit better as well.

Very Hard feels comparable to RO on hard.

Re: New Build (2011-06-26) - Shell Stability (Updated!)

Posted: Sun Jun 26, 2011 9:56 pm
by Ultraken
Hard and Very Hard don't modify damage at all; they just improve aim tracking and enable evasion. That's more than enough, though. :D

Re: New Build (2011-06-26) - Shell Stability (Updated!)

Posted: Tue Jun 28, 2011 11:24 am
by Fulmen
Ultraken wrote:Hard and Very Hard don't modify damage at all; they just improve aim tracking and enable evasion. That's more than enough, though. :D
I like this approach.

Also, thanks for fixing the audio thing. Windows 7 muted BZ every time I launched it from the new .exe .

EDIT: Nvm, it still lowers the sound in the sound mixer for BZ1 all the way down to muted when I launch it from bzint_d3d9.exe. I have to manually tab and increase it each time I want to play and sometimes also each time the mission starts. :(

EDIT2: Nevermind again, now it's working.. Only had to increase it once and now every time I launch it's fine. Haven't tried after rebooting yet though. Also, I put in the CD after the first try and subsequently increasing the audio once. Maybe the CD has something to do with it working now?

Re: New Build (2011-06-26) - Shell Stability (Updated!)

Posted: Tue Jun 28, 2011 12:18 pm
by Firestorm29
Fulmen wrote:
Ultraken wrote:Hard and Very Hard don't modify damage at all; they just improve aim tracking and enable evasion. That's more than enough, though. :D
I like this approach.

Also, thanks for fixing the audio thing. Windows 7 muted BZ every time I launched it from the new .exe .

EDIT: Nvm, it still lowers the sound in the sound mixer for BZ1 all the way down to muted when I launch it from bzint_d3d9.exe. I have to manually tab and increase it each time I want to play and sometimes also each time the mission starts. :(

EDIT2: Nevermind again, now it's working.. Only had to increase it once and now every time I launch it's fine. Haven't tried after rebooting yet though. Also, I put in the CD after the first try and subsequently increasing the audio once. Maybe the CD has something to do with it working now?
I wonder if Windows 7 saves the volume level the last time the program is opened?

Re: New Build (2011-06-26) - Shell Stability (Updated!)

Posted: Tue Jun 28, 2011 12:19 pm
by Psychedelic Rhino
Ultraken wrote:Hard and Very Hard don't modify damage at all; they just improve aim tracking and enable evasion. That's more than enough, though. :D
Well it certainly feels closer to a human opponent now.

Re: New Build (2011-06-26) - Shell Stability (Updated!)

Posted: Tue Jun 28, 2011 5:25 pm
by Ultraken
There's still room for improvement, but I need to save potentially-disruptive changes like that for after 1.5.