WWII Online

version 1.12 to 1.20

company: Playnet.com

homesite: www.wwiionline.com

- Did a fix for RTB code. 

- Changed the strat system to use a second-based timer as opposed to 
the millisecond timer to (hopefully) remove the rollover problem 
that brought about the "infinite night"*. 

Before anyone worries, the main strat host doesn't need millisecond 
granularity to its update loop now that the stratUpdater is handling 
incremental strat. 

- Added temporary band-aid fix to imapKernal.h(misspelled I know) to 
keep from breaking everyones kgm files with this new release. 

- Fixed loading timeout: 

- fixed RTB code for death: 

- fixed autogunner not getting proper bounding box to shoot at 
trooper: 

- removed reference count debug message in base line only: 

- changed the error function to close connetion more effectively. 

- Added all individual .sdm files to cvs, removed .zip file. 

- Added deferred texture loading .. textures referenced by mdls from 
bliztwor.csv now load after the UI is up (except, of course, the UI 
textures!). You should notice a significantly quicker entry to the 
UI screens from launch. 

If you don't want this to be happening, set the flag 

SINT32 allowDeferredLoads = 1; 

in obwld.c to 0 

I've tested it a lot, but keep an eye out for anything acting weird. 

You may notice the LOADING... screen taking longer (the one after 
you hit the GO button) .. if you get through the UI quickly, it 
still has to load those textures .. and it does so at that screen. 

I've got it set, right now, to load 2 textures a second in debug 
mode, 3 textures a second in release. More in release because 
release doesn't have all the logging, and can easily handle more 
without any noticeable impact. 

- Couple of little name conflict fixes for OS X (our 4th platform!) 
mainline branch only, of course. 

- Changed weapLookupSide to return MAX_SIDES as an error condition. 
Some calls to this function, which have yet to be fixed, are trying 
to lookup a weapon with an out-of-bounds index. 

- Added exclusion of keyboard hook DLL if RELEASE_CLIENT != 0 

- Fixed auto gunners for real: 

- Fixed RTP codes so that the logic makes sense: 

- Fixed some logging to be more useful. 

- >Made piExitProgram better handle Terrain Editor exits. Also, 
fixed a couple of pointer management issues that came up during the 
shutdown process. Also, made initial spawn (at L/L of 0/0) not force 
a terrain DTL load; saves time and eliminates checkout/checkin of 
DTL files for this location (only initial spawn, other visits of 
this area will display as expected). 

- Changed file to update CPs when crossing 1 supercell, instead of 
2. 

- Can now control volume between 0% and 100% with slider control 

- Added the ability to manipulate an axis via the keyboard by a 
specified percentage based on keypresses and not time. 

- Added listbox on theater map to "jump" to selected CP. 

- Changed edit cursor color to yellow to see better. 

- Changed listbox control to allow user settings on how large the 
list will be. 

- We now have "satchel" charges in the game! Basically they work 
just like any other weapon (code wise as well as functionally), with 
two important differences: 

- In FPS mode, the aim/ready key will show a "crosshair" whenever 
you can place the charge, the charge going where the crosshair is. 

- When the weapon is "fired", the charge will appear at the point 
the crosshairs were pointing at (and then time out and explode after 
the time specified in the ammo file). 

- In order to get the placed charges to work, I needed to fix two 
bugs: 

- Bullet holes not rotating with turrets properly (the satchel 
charges were doing the same thing) Smoke fountains weren't always 
showing up in the correct spot. Both have been fixed. 

- Fixed and added a few gauges for the virtual cockpits, as part of 
the cockpit gauges pass. 

- Significantly reduced memory use of the in-game and detailed UI 
maps. Hopefully this will help solve some of our memory issues and 
reduce the initial "kick" while hitting the in-game map for the 
first time (this was determined to be due to the map memory being 
swapped out to virtual memory .. less memory to swap in, less 
delay). 

- Added ability to change the mode of the heads up display. It 
defaults to fully on. Hitting the appropriate key once turns it off. 
Hitting it again turns on the "status indicators" (ATP/health/ammo) 
but leaves off the compass. Hitting it again turns on the compass 
display. Repeat. 

- The key is currently set to "y" but that will change, I'm sure. 
It's set in data/kgm/defaultoffline.kgm with the following line: 
changehudmode = y; 

- Shane and I fixed commPackVEHICLE_HIT() so that it works while 
receiving 16 components, and made it a little more robust so that it 
wouldn't crap on itself if it got bad data. 

- Caveman whipped up some code that makes it load a little faster. 
Yay! 

Not a huge improvement, but every little bit counts. 

- Added Edit box for the theater map to assist in finding a CP name 
in the list box. By typing in the name of the CP, it will scroll to 
the name, or letter you type in. Clicking on the name will center 
the camera on that Icon. 

- Prevented preload of textures used in virtual cockpits. 

- On my machine this reduced the parseWor time from 395 seconds to 
310 seconds. 

- Insured terrain height data was loaded and processed before any 
terrain objects were placed. This addresses a bug where objects on 
supercell edges were not being comformed or placed properly because 
the current height data was invalid (from previously loaded terrain 
data). 

- Added sound to Next and Prev button on both mission view screens. 

- Yet another gauge tweak as part of the vehicle gauge pass. This 
time it is fixing the radio altimeter in the Stuka. 

- Fixed a bug where certain collisions would result in a CTD when 
the normal was exactly perpendicular to the collision ray. Doubtfull 
the players ever saw this one, stumbled on it trying to track down 
the terrain object placement issue. 

- Fixed a problem in the terrain placement code where multiple 
individual object trees in the .flt files had erronous lod comments. 
The code now will tolerate these lod comments and work properly. 

- changed the strat connection connect timeout from 3 minutes down 
to a more resaonable 2 seconds 

- fixed update loss from timeing lag above 500 users added multiple 
fixes for clustering 

- fixed too many bugs that apear under high load 
teuld/teulTreansport now uses datagram based local sockets instead 
of streams decreasing latency and reducing system loading. 

- turned off tracking of REL packets for now 

- Facility screen will hold temporary scoring information. 

- Directed user to Facility (Score Screen) when exiting the game. 
Also, a weapons request will be sent for vehicles when you launch 
from the Facility Screen to the vehicle select screen. The list may 
be initially blank, until the the list is actually received from the 
host. This way, there will always be a current list of vehicles for 
that facility. 

- Terrain clutter should now be in fixed positions on all FEs 
(knocks on wood). Apparantly the chaotic number generator is too 
chaotic and I wasn't able to guarantee the same results on 
everyone's FE at all times for clutter placement. Switching to an 
integer-based pseudorandom number generator seems to have fixed the 
problem, albeit with a loss of quality to the scatter pattern of the 
clutter. 

- Forgot to mention in last email, one of the fixes was the pigeons 
floating on midair bug. 

- Apparantly the infantry can run over other infantry like the tanks 
can run over infantry. This has been fixed. 

- Fixed a bug where infantry riding vehicles were invisible, and saw 
no other vehicles. 

- Corn had a weird CTD occur while shooting an AT gun, possibly with 
nme vehicles/infantry next to the AT gun. I've put some extra null 
checks in to see if this goes away. 

- Fixed a bug in the way the vehicle collision disable code was 
working so that windows boxes that had been up for more than 10-12 
days wouldn't cause a problem with the spawn-no-collisions feature. 

- Finally, added code where friendly collisions are turned off when 
you unride a vehicle, to facilitate not getting stuck, esp. when 
riding turrets. 

- Fixed specular light flag not being used during lighting passes. 
Now specular light flag in Settings.exe will be used when lighting 
vehicles, soldiers, terrain objects, etc. 

- This will have a very positive and direct impact on frame rate 
when the specular light flag is cleared by Settings.exe. 

- Added a character pic to the score screen. This depends on the 
facility which is selected. 

- Fixed the exit code generation system on the FE so that the host 
gets correct exit codes for scoring. 

- Fixed a problem where the check for exit vehicle would fail when 
you could really exit the vehicle. 

- Scrolling arrows have changed. 

- Shooting an autogunner at close range tended to crash the FE. This 
should be fixed now. 

- Stayed late last night and played with the WW2 Online induced drag 
modelling. Now it takes into account the entire wing's lift instead 
of the wing tip (before it'd take the wing tip and extrapolate for 
the whole wing). In addition, I've added a correction factor for the 
fact that the wings in WW2 Online don't generate all the lift for 
the plane. 

- Changed the formula for generating wingtip vortex trails 
(visually) in the game. Now they more accurately reflect how wingtip 
vortex generation works. 

- As part of the add-binoculars-to-the-game pass, I've re-added in 
head tilt code when being tossed around. This is only in effect when 
the field of view is less than 45 degrees (which should only happen 
whenever you're in a scope/binoculars of some sort). This change 
will not affect fixed sights, only view points attached to head/body 
chains. Basically is makes using binoculars on the move rather ... 
er ... interesting =) 

- Changed toggle buttons to a static bitmap display of countries on 
the world map screen. 

- Added global variables to control HUD Visibility (0-2), Fog Scale 
(far, med-far, med-near, near) and Max Number of Sounds (4, 8, 16, 
32). Also fixed a bug in the Fog scaling code where the fog distance 
and terrain LODs were not being set correctly. 

- This allows addition of these values as user specified in 
Settings.exe; either as initial values (HUD Visibility and Fog 
Scale; which can be changed in game) or a specific value (Max Number 
of Sounds). 

- Either of these can save CPU cycles and thus affect frame rate. 

- Updated Settings.exe to include ComboBox controls for HUD 
visibility, Fog Scale Select and Max Number of Sounds. 

- Implemented skeleton code for ar base icons to appear over a CP 
which contains an airfield. 

- Potentially fixed disapearing troop problem. BBox wasn't being 
updated and he was being culled out. 

- The game now pays attention to the damage thresholds put in the 
blitzwor.csv for buildings. This means that the FE will not send 
damage updates on buildings that fall below this threshold for any 
particular hit. 

- Changed files to add support for contention and airbase icons on 
the map. 

- fixed bug for processing analog time based and percent based 
inputs 

- There was a problem with the binoculars where parts of the tank 
sorted between the viewpoint and the binocular hole. This has been 
fixed. 

- Mac Only, If the player selects a resolution that his computer 
would not create a valid context for, the game would (previously) 
act very badly. Now it will step down through the available contexts 
until it finds one with the same aspect ratio that his computer 
likes. 

- Reduced spawn and despawn times. Spawn times are optimal when 
spawning near your last location (within one supercell). Despawn 
times are always fast (returning to the UI) because we no longer 
jump to L/L of 0/0 at despawn. 

- Fixed a minor bug in the induced drag that was really screwing up 
takeoff rolls. 

- Finished the Binoculars code for tank/at gun binoculars 

- This included a sorting-order problem where the black part of the 
sight was drawing behind nearby parts. 

- There was a bug where anytime your plane touched something going 
60mph or more you died instantly. This was supposed to be anytime 
you go into something at 60mph you die, thus going 500mph but barely 
scraping didn't automatically kill you. This has now been fixed. 

- Grenades now have the ability to spin when flying through the air. 

- More binoculars. Added full gunsight functionality to the 
instrument view. This was necessary so that vehicles like the P38 
could have binoculars for positions that also had a gunsight. 

- Spall and shrapnel now affect the player when he fires. Previously 
only concussion affected the player. 

- Also fixed a bug in the energy computation for spall/shrapnel. It 
now calculates the correct energy. This may have an impact on how 
easily tanks brew up, however it shouldn't affect crew kills. 

- Chat will be handled differently, since a country is no longer 
selected up front. There will also be a 'side' icon (allied or axis) 
displayed. 

- Fixed the distortion on airplane gunsights. It turned out that 
texture perspective correction was screwing up the image. Disabling 
it for the gunsight only fixed the problem 

- In certain circumstances, the binoculars shape was visible when it 
wasn't supposed to be (namely when an instrument view was being used 
for binoculars for a position other than pos 1). This has been 
fixed. 

- It turns out that if an ammo file has no penetration value for a 
round, that round would suddenly penetrate any armor. This is why 
Bf109's were able to take out tanks with the 20mm cannon (they were 
set up with contact explosives, thus didn't need a penetration 
constant). This has been fixed. 

- To help track down some of the problems we have been having with 
connections I have expanded the error messages to be a little more 
informative to track down some of the problems in 1.2. 

- The Fe now displays .. 

824,Lost map connection, error %d. 

825,Lost game connection, error %d. 

826,Lost connection in transition %d. 

823,Transport Error %d. 

831,Could not connect to host, error %d. 

832,Unable to log into chat host. 

depending on where a connection is lost. 

- In addition the chat buffer will display the following.. 

821,Lost chat connection, error %d, reconnecting. 

822,Lost chat connection, reconnect failed, error %d. 

When there are problems with the chat after initial connection. 

- Fixed another bug in the spall code. Tanks get less survivable 
when perforated every day ... =) 

- added the ability to be able to take screen shots while the UI is 
running 

- There was a bug where the sounds system wasn't detaching sounds 
from objects when the objects were being freed. This left dangling 
pointers and also a sound channel leak (which could cause sounds to 
not play properly later on). It only showed up recently due to a 
change in how object structures are stored in memory. 

- Fixed bug where the FE would take a screen shot on left mouse 
button down 

- Double clicking the "map to keyboard" column with "keyboard" text 
present in the row, then removing all entries in the screen to map 
the keys to axis controls (removing all keys to control that 
particular axis), then clicking save, the row would still have the 
"keyboard" text. 

- "Keyboard" text was not appearing if an axis was mapped to the 
"Rate of change per keypress" 

- other miscellaneous small fixes 

- Volume control from Settings.exe now controls individual sound 
volume instead of grabbing the master volume control. This way we 
don't mess with anyone's desktop volume, only the volume of the 
sounds we play. (People can listen to their favorite CD, use RW and 
play WWIIOL and use their preferred volume for each) 

- Fixed a problem with the automatic weapons firing. 

- Actually the state update system, what tells other players what 
state you're in. This was the cause of the smoking stukas. 

- Sometimes a particle is attached to an object when an object goes 
away. We now check to eliminate these whenever the object goes away 
to avoid a ctd. 

- Fixed disappearing chat icons when a system message is received. 


Michael "Gryf" Weber 
WWII Online Game Manager

