Changes in Lac08p47:

The "Makefile" was enhanced to eliminate an error message that was only seen if the operator issued the "make clean" command when there was no executable file to delete.

Default key mapping for "Fire Secondary Weapon" is now set to the "Alt" key immediately to the right of the spacebar.

If the "DefaultHeightMap.LAC" file is missing, the logic that tries to find a copy elsewhere in the filesystem has been made even more intelligent. Now, in addition to searching filesystem areas that have proven handy in the past, it also looks for a new folder at /etc/LAC, where Repository-oriented installation activities may have left a copy.







Changes in Lac08p45:

Just one tiny change in the startup logic: If the required, hidden ".LAC" configuration folder could not be found in the user's home directory, prior versions would create and populate it, display a diagnostic message urging the user to try again, and then terminate. This version does NOT terminate. Instead, it immediately access the newly-created configuration files and begins using them. This startup behavior better matches user expectations when LAC is started up for the very first time.







Changes in Lac08p43:

I found and fixed a bug that had been sounding an irritating noise when landing a damaged aircraft.

I fixed a bug that was causing bomber gunners to shut down their guns in preparation for landing whenever their aircraft was flying at extremely low altitude. This behavior is no longer desirable because so many of our new terrains include low-altitude canyons and valleys where aircraft like to fly low in order to avoid radar detection.

I balanced the acoustic volume of all of the sound effects. Now the engine noise levels are more appropriate among all of the other sounds that are active in flight. Computer-generated voice effects from the "espeak" companion application are no longer so disturbingly loud. It is now easier for users to "tune" acoustic volume levels to their liking, and to balance them with sounds emanating from "Mumble", "espeak", "YouTube" documentation videos, etc.

I improved the selection of aircraft 3d model artwork for a better balance between visual quality and performance. If you are unhappy with any of these changes, you can always download individual .3ds art files for any aircraft, choosing from our "optimized for appearance" or from our "optimized for speed" online archives instead of the "balanced optimization" set used as the standard for this version of LAC. It is easy to find the required web page from the prominent "ENHANCED ART" link at the top of our official web page here:

https://askmisterwizard.com/2019/LinuxAirCombat/LinuxAirCombat.htm

Improved "USB Console Game Controller" support: Since about March of 2020, it seems that Joystick manufacturers have drastically cut or eliminated production, resulting in huge price increases for those lucky enough to find a joystick offered for sale. LAC's users, seeking a lower-cost alternative, have been making increasing use of USB "Console Game Controllers" instead. Because LAC has long offered powerful mapping of joystick axes and buttons to available flight functions, these users have enjoyed reasonable success, and some of them have developed surprising flight skills around this new arrangement. However, none of the available Console Game Controllers had enough buttons to grant easy access to all of LAC's most important flight and view functions. Accordingly, those players still needed to reach for keyboard keys from time to time (for example, for various combinations of target selection, RADAR range selection, target vocalization, landing gear, WEP, and the 6 distinct types of view zoom functions).

I decided to enhance LAC with four new functions to address this deficiency. The basis for all four of these new functions is to "cycle" more comprehensively, through more options, when invoked through a single, associated joystick button or keyboard key.

For example, previous versions of LAC use two distinct functions for "Target Select", requiring two keys or buttons (one for SelectNextRed, and the other for SelectPreviousBlue). I thought LAC should be enhanced with an optional, new, additional function that cycles comprehensively forward through ALL targets regardless of team affiliation, and that can be invoked with just one key instead of two.

The same is true for Zooming the Map In and out, Zooming the RADAR In and Out, and Zooming the Field-of-View ("FOV") In and Out: In each case, I could cut the required pair of keys or buttons down to a single button by creating a companion function that would cycle through all available values, repeating the cycle endlessly if the player continued to press the associated control.

Accordingly, I created four new "Cycle" functions that can be activated as needed during flight. Each of the four new functions is available through two new variables that can be specified in the LacControls configuration file as follows:

key_RadarZoomCycle (Mapped to "s" for "Sensor Range" by default)
joystick_RadarZoomCycle
key_TARGETCYCLE (Mapped to "t" by default)
joystick_TARGETCYCLE
key_ZoomFovCycle (Mapped to "f" by default)
joystick_ZoomFovCycle
key_MapZoomCycle (Mapped to "z" by default)
joystick_MapZoomCycle

Brief offline testing of the resulting, default, joystick-based configuration confirmed good progress: All of the classic keyboard and joystick mapping still worked without change, and in addition, tapping "s" (for "SensorZoomCycle") invoked the new RadarZoomCycle function, tapping "t" invoked the new TARGETCYCLE function, tapping "f" invoked the new ZoomFovCycle function, and tapping "z" invoked the new MapZoomCycle function as expected.

Additional, more extensive testing with a USB Game Console Controller was gratifying: Players could then configure a lot more functions for easy access to throttle, rudder, elevator, and aileron axes, with six buttons for view direction, and one each for target selection cycling, radar range cycling, weapon selection cycling, target vocalization, primary and secondary weapon firing, flap extending, and flap retraction.

Even with all of those buttons configured in the default arrangement, most Game Controllers offer two more buttons that are "hidden" beneath the two analog axis controls. Each is accessed by pressing inward, whereupon the player feels a satisfying "click" as the associated button is activated. I wrote new logic to refer to and use these two buttons with the following new names, functions, and logic:

1 of 2: "ThrustTripleModifier". This is the button beneath the Throttle/Rudder axis. Depressing it activates one of three separate functions depending on the setting of the throttle axis. Under normal circumstances, when the throttle is resting in its spring-loaded center position, the ToggleUndercarriage function is activated. But if the throttle is slammed all the way up for maximum thrust, the ToggleWEP function is activated instead. Conversely, if the throttle is slammed all the way down for minimal thrust, the "ToggleSpeedBrake function is activated.

2 of 2: "ViewZoomCycler". This is the button beneath the Elevator/Aileron axis. Depressing it activates one of two separate functions depending on the current view mode. Under normal circumstances when the operator is looking out at the world through one of his cockpit windows, the new ZoomFovCycle function is ativated. On the other hand, if the operator is looking at the map, then the MapZoomCycle function is activated.

Significant online testing confirms success: Now users equipped with a low-cost, readily available USB Console Game Controller can use it with good success instead of a joystick. They have easy access to all 23 of these functions:

01 of 23: Elevator Axis
02 of 23: Aileron Axis
03 of 23: Rudder Axis
04 of 23: Throttle Axis
05 of 23: LookFwd (Dedicated Button)
06 of 23: LookBack (Dedicated Button)
07 of 23: LookLeft (Dedicated Button)
08 of 23: LookRight (Dedicated Button)
09 of 23: LookUp (Dedicated Button)
10 of 23: LookDown at Map (Dedicated Button)
11 of 23: WEP (MaxThrottle & click)
12 of 23: Undercarriage (CenterThrottle & click)
13 of 23: SpeedBrakes (MinThrottle & click)
14 of 23: Radar Zoom Cycle (Dedicated Button)
15 of 23: FOV Zoom (Click Elevator/Throttle axis while looking out a cockpit window)
16 of 23: Map Zoom (Click Elevator/Throttle axis while looking at map)
17 of 23: Target Select Cycle (Dedicated Button
18 of 23: Target Vocalize (Dedicated Button)
19 of 23: Flaps Up (Dedicated Button)
20 of 23: Flaps Down (Dedicated Button)
21 of 23: Secondary Weapon Cycle (Dedicated Button)
22 of 23: Fire Primary Weapon (Dedicated Button)
23 of 23: Fire Secondary Weapon (Dedicated Button)

A photograph of a USB Game Controller of this type is available online, and it is marked with labels for each LAC's functions mapped as described above. You can access it here:

https://askmisterwizard.com/2019/LinuxAirCombat/UsbGameControllerMapping02.jpg

The little-used old "ConfigFileSamples" folder has been deleted from our standard distribution page because that information is now available online through our "Flight Control Hardware" forum.

The little-used old "Optional3dModels" folder has been deleted from our standard distribution package because it is now available online through a prominent "ENHANCED ART" link at the top of our main web page.

The little-used "KnownBugs.txt" file has been deleted from our standard distribution package because that information is now available online through our "LAC Bug Tracking" forum.

Sounds are generally better balanced, acoustic distortion is notably minimized, engine noises are heard at more realistic levels, and landing a damaged aircraft is no longer accompanied by irritating, distracting noises. Furthermore, bomber gunners remain active and continue to defend their aircraft even when flying down at extremely low altitudes.

 






Changes in Lac08p41:

This version derives directly from Lac08p37 and:

Like the prior version 8.37 from which this version 8.41 is derived, this version stores its static files in the /usr filesystem for better compatibility with distribution in standard Linux "Repositories" according to well-established principles. Specifically:

1- The executable is stored as /usr/bin/lac
2- The required, static resource files (shared among all LAC users on the same computer) are stored in a new folder named "lac" at /usr/share
3- The "lac" script, previously stored in the user's home folder, is no longer needed. Now, any player can execute lac via a bash shell from anyplace in the filesystem by simply issuing the "lac" command.

All of the improvements from versions 8.38 and 8.40 are incorported into this version. As a consequence, "Peabody's Mission" is now fully debugged and optimally displayed in mission menus, and LAC now offers better support for users with simplified or otherwise nonstandard keyboards of the sort in common use with laptop computers or with the new Raspberry Pi Model "200". Also as a consequence of improvements imported from V8.40,when in flight, the cockpit's "SPEED" instrumentation has also been enhanced to display "IAS" (Indicated Airspeed) and "GS" (Ground Speed) in addition to the long-stable indication for True Airspeed, and I enhanced the prompting text in the LacConfig.txt file for better clarity. I corrected one spelling error in the menus, changing "MANILLA" to "MANILA".

After importing all of those little improvements from V8.38 and V8.40, I enhanced the mission menu logic that prompts the user to click on "TEAM" or "MISSION" to cycle those values. Now that text is NOT displayed if the user has already been flying a mission during the current LAC session, since switching teams or realms would introduce errors into any previously updated log files tracking victories and other activities associted with team-mates and opponents. The preferred way to switch team affiliation or realm membership is to start a new LAC session, whereupon the mission menus now display promts to "CLICK TEAM OR REALM TO CYCLE". Furthermore, the descriptive menu text associated with all of the server-based, multi-user missions is enhanced with a description of the way LAC handles missions NOT populated with Sentient players, revealing the use of "BOTS" and/or "BLOKES" in a manner intended to encourage timid, new players to try those missions.

I also fixed one tiny spelling error in the displayed name of MissionNetworkBattle05 (Blake's mission). I changed "BLAKE's" to "BLAKE'S".

I also enhanced the install.sh script to fix a bug that had been failing to configure appropriate, global "read" permissions on the shared resource files that it stores in the new /usr/share/lac subdirectory.

No changes were made that affect flight. When used in any of the three classic online, multi-user, server-based missions, this version remains operationally compatible with all prior versions since Lac07p92.







Changes in Lac08p37:

This version derives directly from Lac08p35 and:

Like the prior version 8.35 from which this version 8.37 is derived, this version stores its static files in the /usr filesystem for better compatibility with distribution in standard Linux "Repositories" according to well-established principles. Specifically:

1- The executable is stored as /usr/bin/lac
2- The required, static resource files  (shared among all LAC users on the same computer) are stored in a new folder named "lac" at /usr/share
3- The "lac" script, previously stored in the user's home folder, is no longer needed. Now, any player can execute lac via a bash shell from anyplace in the filesystem by simply issuing the "lac" command.

"Peabody's Mission" is improved. Prior versions had neglected to create or orient the RADAR antennas at the two remote, defended airfields. In addition to the obvious degraded appearance, this triggered a bug that caused destruction of the player's aircraft whenever those two airfields were damaged so seriously that those missing RADAR antenas would ordinarily be destroyed. This version fixes those bugs.

No changes were made that affect flight. When used in any of the three classic online, multi-user, server-based missions, this version remains operationally compatible with all prior versions since Lac07p92.








Changes in Lac08p35:

I improved the cockpit SystemPanel messages, the cockpit Mumble Panel messages, and speech prompts for users that disable LAC's automated management of Mumble channel-changing so that they are more aware of the channels in use by team-mates. Unless you have disabled LAC's standard facility for automatically managing Mumble, these changes will not affect you.

This version makes changes in the location of files throughout the Linux file system, for better compatibility with distribution in standard Linux "Repositories" according to well-established principles. Specifically:

1- The executable is stored as /usr/bin/lac
2- The required, static resource files are stored in a new folder named "lac" at /usr/share
3- The "lac" script, previously stored in the user's home folder, is no longer needed. Now, any player can execute lac from a bash shell from anyplace in the filesystem by simply issuing the "lac" command.

In order to implement these changes, the MakeFile and the "install.sh" script have been adjusted. The "install.sh" script is now much simpler.

No changes were made that affect flight. When used in any of the three classic online, multi-user, server-based missions, this version remains operationally compatible with all prior versions since Lac07p92.
  






Changes in Lac08p31:


Joystick logic has been enhanced to provide much better support for 4-axis, analog "game console"-style joysticks of the type that are in commonplace use on "XBOX", "PlayStation", and similar consumer-oriented console gaming systems. To take advantage of this new logic, players wishing to use a LINUX-compatible game controller of that style will need to edit the "NetworkMode" attribute of their LacConfig.txt file. That file now contains additional commentary details in support of that option. After making that change, players will also need to edit their LacControls.txt file to re-map the available joystick axes and buttons according to their own preferences.

The distribution archive now includes a new folder named "ConfigFileSamples" that contains several sample configuration files, each with descriptive names, that can be used to replace the "LacControls.txt" file and/or the "LacConfig.txt" file in certain popular situations. For example, the following new files are available for reference by those wishing to customize LAC:

LacConfig.1279x600.GameConsoleController.txt       Replace the text of your LacConfig.txt file with this text to configure LAC for use with a game-console style joystick controller and to operate in full-screen mode with 1280x600 resolution.

LacConfig.1280x720.txt       Replace the text of your LacConfig.txt file with this text to configure LAC for use with a conventional joystick and to operate in full-screen mode with 1280x720 resolution.

LacConfig720x480.txt         Replace the text of your LacConfig.txt file with this text to configure LAC for use with a conventional joystick and to operate in full-screen mode with 720x480 resolution. 

LacControls.LogitechExtreme3dPro.txt       Replace the text of your LacControls.txt file with this text to optimize joystick button and axis mapping for use with the popular Logitech Extreme 3dPro conventional joystick.

LacControls.LogitechGameConsoleController.txt       Replace the text of your LacControls.txt file with this text to optimize joystick button and axis mapping for use with most analog game-console joysticks of the type that have become popular with "XBOX" and "Playstation" hardware.

LacControls.Sidewider2.txt        Replace the text of your LacControls.txt file with this text to optimize joystick button and axis mapping for use with the old "Microsoft Sidewinder 2" joysticks.


Target vocalization has been slowed down for better clarity and to fix bugs that sometimes caused the vocalization to skip words or syllables.


Fixed a bug in the Raspbian version that had prevented proper refueling, re-arming, and repair services at airstrips.

No changes were made that affect flight. When used in any of the three classic online, multi-user, server-based missions, this version remains operationally compatible with all prior versions since Lac07p92.
  







Changes in Lac08p30:

I enhanced handling of two items in the handling of LAC's configuration file "LacConfig.txt" to benefit operations on Raspberry Pi as follows:

  1 of 2: The name of the "PreferredBrowser" is now set to "chromium-browser" when the "Raspbian" operating system is in use. This makes it much easier to access LAC's online help and to see YouTube video clips related to each of LAC's 54 simulated aircraft. Related, explanatory text in the LacConfig.txt file has been
  improved to clarify this.
  
  2 of 2: The menus that automate management of video display resolution have been expanded and better optimized. Now they support additional, popular options, including 1280x720, diminishing any need to manually edit the LacConfig.txt file.
  
The "common.h" source-code file now has a new line of code that can be enabled or disabled via the well-known "comment it out" mechanism, and which triggers special logic when the "RASPBIAN" operating system is defined for use. By default, that line is commented out (disabled). People compiling LAC for use on the Raspbian operating system should enable that line.

The logic that handles landings on unusual surfaces has been improved. Now, when landing at an airstrip, it is necessary to remain on or very near the paved areas in order to receive repair, refuel, or re-arm services.

Water landings are now more realistic: A great deal of extra damage is inflicted if you attempt to land on water with landing gear extended. A loud "splash" sound effect is heard as your aircraft settles into the water at sea level. Your aircraft is no longer serviced, re-fueled, or re-armed after a water landing. (Note that some of these water landing details do not work as nicely when landing on lakes that are NOT at sea level.)

Landings on moving aircraft carriers are improved a little, but it is still necessary to use your engines to move forward with the aircraft carrier as it moves through the water, or the ship will drive out from beneath you. If you are VERY careful you can land on an aircraft carrier and remain in sync with its moving deck long enough to be refueled, re-armed, and repaired. After that you can take off. 

No changes were made that affect flight. When used in any of the three classic online, multi-user, server-based missions, this version remains operationally compatible with all prior versions since Lac07p92.
  



Changes in Lac08p29:

I removed some testing logic from all of the new missions to ensure that they are more user-friendly for public testing (however, all of those new missions are primarily intended as training material for New Mission Developers).

We determined that LAC performance is perfectly acceptable on the popular, extremely low-cost Raspberry Pi 4b. To encourage its ise, I optimized performance for Raspberry Pi users.

No changes were made that affect flight. When used in any of the three classic online, multi-user, server-based missions, this version remains operationally compatible with all prior versions since Lac07p92.





Changes in Lac08p28:

No changes were made that affect flight. When used in any of the three classic online, multi-user, server-based missions, this version remains operationally compatible with all prior versions since Lac07p92.

To better support and train New Mission Developers, the source code for all of the new missions (those listed in the main menu after "Network Mission 3") is improved with additional software infrastructure and better documentation.

I copied MissionNetworkBattle10.cpp into  MissionNetworkBattle04.cpp, MissionNetworkBattle05.cpp, MissionNetworkBattle07.cpp, MissionNetworkBattle08.cpp, and MissionNetworkBattle09.cpp, adapting all names and references as appropriate to eliminate conflicts in support of proper compilation, linking, and execution. I then changed the advertised name of MissionNetworkBattle04 to "Hyrum's Mission". Then, following the same pattern, I changed the name of MissionNetworkBattle05 to "Blake's Mission".

As a consequence, all of the online, multi-player, server-based missions are now ready for serious use. The first three "classic" missions remain unchanged and interoperable with all LAC versions since 7.92.

MissionNetworkBattle06, advertised as "Peabody's Mission", takes place in a mountainous and heavily forested terrain, populated entirely with fixed strategic resources including artillery batteries fortifying the two primary airfields. I consider this mission to be complete at this point. It can serve as an excellent example for development of future "static" missions (whose strategic assets DON'T move around).

All six of the remaining new missions are functionally identical, taking place in the beautiful island terrain. Each of these new missions features FOUR self-defending, strategic airfields, and each is further enhanced with two mobile aircraft carriers. At this point, the aircraft carriers simply cruise around in a big, circular loop, visible to the North of each team's main airfield. Players can land on the aircraft carriers, receive fuel, ammo, and repairs as might be expected, and take off again. All six of these new Island Terrain missions are now ready for serious beta testing and for subsequent adoption and enhancement by future Mission Developers.

In all of our current missions, victory always requires destruction of all opposing strategic assets (but new Mission Developers could change those victory requirements as they customize future missions).


No changes were made that affect flight. When used in any of the three classic online, multi-user, server-based missions, this version remains operationally compatible with all prior versions since Lac07p92.




Changes in version Lac08p23:

No changes were made that affect flight. When used in any of the three classic online, multi-user, server-based missions, this version remains operationally compatible with all prior versions since Lac07p92.

All of the changes in this version are intended to assist new Mission Developers, and all are focused on the seven new, experimental missions, all of which are now clearly advertised as "BETA" test or "WORK-IN-PROGRESS" features.

I fixed several bugs in the infrastructure of online missions. Prior versions suffered when new missions had two or more airfields. Upon receipt of serious damage to just one of those airfields, player RADAR and IFF would fail and a variety of other odd things were happening. Now those problems are fixed. (Players now suffer loss of RADAR and IFF after ALL of their airfields are heavily damaged, not when just one airfield is heavily damaged.)

Four new functions, named "TestDamageMissionObjectHqBlue()", "TestDamageMissionObjectHqRed()", "TestDamageMissionObjectAirfieldBlue2()", and "TestDamageMissionObjectAirfieldRed2()", are now available for use during new mission development. They are intended to help new Mission Developers test their missions without the need to coordinate a lot of online beta testing. Each of those functions inflicts heavy damage on the airfield implied by its name. New Mission Developers can invoke one of those functions at the commencement of any desired "MissionState" to simulate an attack by an online opponent. This can VASTLY simplify and accelerate alpha testing of new missions during development.





Changes in the late-June 2020 version (Lac08p21) include:

TEN online, multi-player, server-based missions are now available. (The original three such missions are unchanged.) All of the other new ones are still in a stage of experimental development, but the one labeled "PEABODY'S MISSION" has had quite a bit of alpha testing and is now ready for vigorous exercise by the LAC Community. It is bigger and more complex than prior missions, and takes place in a heavily forested, mountainous terrain. Victory requires destruction of TWO enemy airfields instead of just one, and HQ airfields are further fortified by an adjacent, very strong, artillery battery. Please report your experience with this mission in our LAC Forums. 

Two of the remaining new missions, named "BLAKE'S MISSION" and "HYRUM'S MISSION", have been claimed by two of our developers for further improvement, and we can expect to see them creatively enhanced soon.

The four remaining new missions, named "NET MISSION 7", "NET MISSION 8", "NET MISSION 9", and "NET MISSION 10" respectively, are all essentially identical in function, and each is available for adoption by one or more members of the LAC community who would like to become a "Mission Developer". Each features a single moving aircraft carrier on which players can land a RedTeam aircraft for refuel, repair, and re-arm services. New LAC Mission Developers are encouraged to follow the pattern that created that single RedTeam aircraft carrier for enhancement with a BlueTeam aircraft carrier. There are abundant opportunities to further enhance these missions according to your inspiration! The source code for these new missions is extensively commented for easier understanding, and our forums, at:

https://sourceforge.net/p/linuxaircombat/discussion/

....now offer an additional new forum area in support of Mission Developers. Interested members of the LAC community are encouraged to use these facilities to claim one of these missions as their own, to make their own improvements resulting in better missions, and to submit the resulting, improved code back to us through our forums. The best of these efforts will be incorporated into future versions of LAC!

LAC's standard cockpit instrument panel is now enhanced with an additional instrument displaying the estimated repair status of the selected, hostile airfield. In large missions with multiple defended airfields, this instrument is a great aid to players needing to understand the complex, evolving, tactical situation.

The visual appearance of battleships has been improved with addition of a large, central smokestack.

The following additional mission objects are now available for general-purpose use by new mission developers:

1: Naval Destroyers.
2: Artillery Batteries.
3: Aircraft Carriers.

Mission developers can move Battleships, Aircraft Carriers, or Naval Destroyers around during their missions. Players can land aircraft on aircraft carriers and (if they are very very careful) they can take off again.

Mission developers can now easily create new missions of far greater complexity. As an example, a new, "sample" mission is included as "PEABODY'S MISSION". It takes place in a mountainous terrain covered with conifer forests and dotted with lakes of various sizes. Each of the two teams has two defended airfields, and victory requires destruction of BOTH opposing airfields. The two HQ airfields are toughened by the presence of a very strong, adjacent, artillery battery.

LAC's infrastructure in support of mission developers has been improved. Now it is much easier to synchronize repair status of airfields, and to synchronize the movements of mobile mission objects across multiple, network-connected players, and to avoid confusion if a new MissionCommander enters an established mission that has already advanced into its preconfigured set of MissionChronoMilestones.

Text-to-speech vocalization of many items of interest is now comprehensively implemented for players that install the free, well-known, optional "espeak" text-to-speech application. Users are urged to install espeak to benefit from this optional improvement. 

When used with any of the three long-standing, "classic", online, multi-player, server-based missions, this version remains interoperable with all prior versions since 7.92.









Changes in the mid-June 2020 version (Lac08p15) include:

No new player features or flight model changes.  When used in any of the three classic online, multi-user, server-based missions, this version remains operationally compatible with all prior versions since Lac07p92.

The four new, sample missions introduced back in Lac08p11 have been further cleaned up and improved. At present, all of them are functionally identical, and they duplicate the logic of our well-known, classic, "Network Mission 01", with some increased run-time reporting to increase understanding in support of new mission developers. We hope a few budding programmers will join our development team by adopting and customizing one or more of these missions. They have all been improved with increased and more detailed source-code comments, and with embedded examples showing how to take advantage of optional new features. Furthermore, LAC's underlying infrastructure has been made more robust in support of features that we hope will be helpful for future mission developers. For example, by following or duplicating well-documented patterns within those four published sample missions, it is now very easy for mission developers, even if their programming skill is modest, to change terrain types, weather conditions, or to insert events of any of these types at any desired point in their custom missions:

   1- Text messages on the cockpit's "SystemMessage" panel.
   2- Acoustic "beeps".
   3- Acoustic verbalization of text ("Text-To-Speech" sound effects).
   4- Video Clips.
   5- Web pages.
   6- Additional self-defending airstrips.
   7- Movement of self-defending Battleships or Aircraft Carriers (more types of moveable objects to come).
   8- Synchronization of mission states across multiple players (to synchronize the location of moveable objects).
   9- New definitions for victory and mission-ending conditions.

All of these new development tools are documented in a new LAC Forum named "Mission Developers" here:

https://sourceforge.net/p/linuxaircombat/discussion/





Changes in the early June 2020 version (Lac08p12) include:

Improved handling of Community Handles. Now, the user's configured "CommunityHandle" is automatically and consistently used as the Mumble username, and users are automatically issued a randomized CommunityHandle commencing with "NEW" and followed by a four-digit random number upon startup. Thereafter, until that name is replaced with something NOT based on that pattern, users receive gentle but frequent reminders about editing their ~home/.LAC/LinuxAirCombat.txt configuration file to change it.

The cockpit now displays the user's Community Handle during all seven of the online, multi-user, server-based missions.

Several minor bugs were fixed in the format and color of messages displayed on the cockpit's "Mumble Panel".

No changes were made that affect flight. When used in any of the three classic online, multi-user, server-based missions, this version remains operationally compatible with all prior versions since Lac07p92.










Changes in the late-May 2020 version (Lac08p11) include:

Additional missions and tools for developers: LAC's menus now offer 7 online, multi-user, server-based missions instead of just three. At this point, however, the four additional, new missions are functional duplicates of "Mission Network 01", so this is just an interim release, anticipating further development in each of those four new missions. The client and server infrastructure in support of all missions has been significantly expanded in support of these additional missions: Whether in flight or from within LAC's mission menus, selection of any combination of either of the two distinct Mumble Command Modes, 32 Realms, 7 Missions, and two Team Affiliations results in correct display of the corresponding information, in the proper color, on the cockpit's Mumble Panel, and Mumble quickly switches to the corresponding channel if it has been created on the server, or to the nearest available approximation thereof if nobody has yet created that Mumble channel. All seven missions have been subjected to significant online testing and appear to be stable, well-behaved, and well-documented.

The source code for each of the seven online, multi-user, server-based missions has been broken out of "mission.cpp" for better modularization, and EXTENSIVE source-code comments have been inserted into each of the four files corresponding with the four new missions. As a consequence, it will hereafter be fairly easy for programmers of elementary or better skill to customize the source code for the creation of new, more sophisticated missions. Two of those missions have already been "spoken for" as follows:

   Blake Williams is working on Mission #4.
   Hyrum Bosen wants to begin working on Mission #5 soon.

Accordingly, Missions #6 and #7 are available for community experimentation and development. If you decide to participate, please read the extensive explanatory comments within the source code of "MissionNetworkBattle06.cpp" or "MissionNetworkBattle07.cpp" as appropriate to your choice, and follow the guidance therein given. Please avoid modifying any of the source code for the other files unless you negotiate something extraordinary with me, as primary developer, through email contact via "webmaster@AskMisterWizard.com".

The missions are written in industry-standard "C++", but with the extensive source-code commentary that is now available, you really don't need to know much about C++. You can just follow and expand the well-documented, existing pattern. If you want to create an official new mission for Linux Air Combat, THIS IS YOUR CHANCE! Submit your modified source code for my evaluation. You have a lot of freedom to choose different aircraft, weather conditions, terrain features, victory goals, mission object locations, numbers, and dynamic positions, durabilities, weapon loadouts, timed or event-driven cockpit messages, text-to-speech messages, etc. I can easily visualize far more sophisticated missions with, for example, additional defended airfields, moving battleships, aircraft carriers, timed cockpit messages, timed audio messages, additional anti-aircraft guns, moving tanks, more complex victory conditions, etc.  Check in on LAC's forums for further guidance. A new forum area, for mission developers, will soon appear and I will populate it with YouTube clips showing exactly what to do to get started.

This version also offers more multimedia and menu help for new users needing to configure their online usernames for use in the LAC community.

A few bugs were also fixed, including yet more protection from the segmentation errors that have sometimes been seen immediately upon entry into online missions with active gun-camera player activity. Previous releases had been diminishing the frequency of these errors, but they were still seen from time to time. I HOPE they are all gone now!

Users who have installed the popular "espeak" text-to-speech application will now hear brief text vocalized from time to time. At present this is used only for introductory or explanatory information in unusual situations.

Users who have installed the popular "vlc" media player application will now see and hear brief new video clips from time to time. At present this is used only for introductory or explanatory information in unusual situations.

Users are encouraged to install "vlc" and "espeak" if their LINUX distro does not automatically make them available. Both of these applications are popular, well-known, well-behaved, and ubiquitously available. Although their use in LAC is minimal and optional at present, we anticipate their increasing use within new missions, and new mission developers ought to be able to have a lot of fun inserting video clips and/or text-generated speech into their work.

As configurable new options, LAC's automated use of "espeak" and "vlc" can be individually disabled by editing the value of "NetworkMode" within the user's ~home/.LAC/LacConfig.txt configuration file. This follows the same pattern that has long been used for optional disabling of LAC's automated use of "Mumble".

No changes were made that affect flight. When used in any of the three classic online, multi-user, server-based missions, this version remains operationally compatible with all prior versions since Lac07p92.









Changes in the mid-May 2020 version (Lac08p08) include:

I fixed the long-troubling, poorly named "LAC Maneuver Segmenentation Faults" bug, which had been causing segmentation faults upon startup of online missions when GunCamera "REPLAY" aircraft were active. This is the last known cause of segmentation faults in typical LAC situations.

Mumble is now automatically invoked when LAC starts up. Consequently, the litttle "lac" start script has been simplified so that it no longer attempts to invoke Mumble. Furthermore, LAC is far more intelligent about invoking Mumble: If the user's "CommunityHandle" has been customized with an appropriate username, Mumble is directed to connect him to our Mumble server's "root" channel, logging in with that "CommunityHandle" as his Mumble username. On the other hand, if the user's "CommunityHandle" has not yet been customized (in his ~home/.LAC/LacConfig.txt file), then he is connected to a new Mumble channel named "NewPlayersStartHere" under a Mumble username commencing with "NewPlayer" followed by a 4-digit pseudorandom number.

Furthermore, when a user that has not configured his "CommunityHandle" clicks the prominent "ONLINE DOCUMENTATION" link from LAC's main menu, a narrated, instructive video clip is automatically displayed, presenting detailed instructions to help him get his CommunityHandle set up. That movie is displayed on top of the browser-based, online LAC documentation that is also activated at that point.

Then I enhanced the mission detail menus for the three online, multiplayer, server-based missions so that a user who has still not configured his "CommunityHandle" sees additional prompts to do so at the bottom of his display screen. Those prompts urge him to activate the "ONLINE DOCUMENTATION" link as described in the previous paragraph, resulting in automated launch of the aforementioned, helpful video training clip.

The "SELECT YOUR AIRCRAFT" menus have all been enhanced with an additional button named "CHECK FOR MULTIMEDIA". As before, the logic allows the user to cycle through 54 different versions of this menu, each describing a distinct aircraft. Within each of those 54 separate instances, the new "CHECK FOR MULTIMEDIA" button quickly invokes the user's preferred browser and displays a custom web page associated with the referenced aircraft. Almost all of those web pages now display a relevant YouTube documentary video clip.

As a consequence of these changes, selection of an aircraft from among the 54 emulated by LAC is now a much more immersive and educational activity, and users benefit from increased, natural enthusiasm as they consider each as a candidate for flight. Furthermore, online players are now much more likely to be properly identified to one another as they interact online.

No changes were made that affect flight. This version remains operationally compatible with all prior versions since Lac07p92.











Changes in the early May 2020 version (Lac08p07) include:

Recent online experience has been dominated by unopposed strikes from B29s, B17s, B24s, He111s, and Lancasters. These would have been a lot more fun for both sides had they been opposed. They were unopposed because warning messages created by the tactical alert system, intended to warn players about incoming strategic bombers in time to launch opposition, were too subtle. They got lost in the "fog of war" and were generally unnoticed.

Accordingly, I enhanced LAC to turn the background color of the cockpit RADAR display bright yellow whenever a hostile heavy bomber is present in the mission but too far away to be marked within the bounds of the current RADAR display range. As a consequence of this change, airfield defenders are now given much more prominent warnings about incoming, hostile bombers while they are still at long range, even if the RADAR range is focused only on short-range activity. Whenever the player sees his RADAR display background turn yellow, he knows there is at least one hostile heavy bomber in the mission but beyond his current RADAR range setting. (When the RADAR range is subsequently zoomed out far enough to allow display of the threat, the usual green background is restored.)

I strengthened the self-defending guns of heavy bombers a bit.

The Me163 "Komet" now develops fuel leaks when damaged, limiting its combat effectiveness when deep inside enemy territory. This tends to return the Komet to its historic role as a "point defense" weapon. 

I enhanced the "Norden Bombsight" logic with better introductory training and prompting text to assist new users.

I further minimized the visual perception of network jitter.

I enhanced the "lac" launch script. Now if Mumble is installed, it is invoked before LAC whenever this standard little launch script is used. Recent experience confirms that this is less confusing for brand new users.










Changes in the later-Apr 2020 version (Lac08p06) include:

The Mission Detail menus for the three online, server-based, multiplayer missions have been further enhanced. In addition to the two new clickable areas from version 8.05 that cycle Team and Realm affiliation, a third clickable area has been defined. It is labelled "SYNCHRONIZE MUMBLE WITH REALM/MISSION/TEAM". The prior version had attempted to keep Mumble synchronized with every incremental change in Realm or Team, but that proved to be slow and cumbersome and it generated a lot of extraneous, administrative Mumble traffic. This new version only synchronizes Mumble to the user's chosen combination of Realm, Mission, and Team when the user clicks on that new "SYNCHRONIZE MUMBLE WITH REALM/MISSION/TEAM" label.

This version also modifies the value of "NetworkTransmitTimerInterval" when Realm "01" is in use. In that case, the value of "NetworkTransmitTimerInterval" is set to the special value of "101". This greatly improves the visual perception of network "jitter" when flying in Realm "01". If long-term experience with this setting does not cause problems for the server, then we may double the rate of packet transmission with a similar adjustment to "NetworkTransmitTimerInterval" in some or all of the other Realms too.










Changes in the late-Apr 2020 version (Lac08p05) include:

The Main Menu has been expanded with an extra button, labelled "ONLINE DOCUMENTATION". It activates an Internet browser for the user from within LAC and conveniently presents several pages of specially chosen online documentation and training video clips. By default, LAC tries to use the "firefox" browser, but the user can specify a different browser by editing a new line, near the bottom of the "LacConfig.txt" file.

Two types of user misbehavior are better managed as follows:

1 of 2: in MissionNetworkBattle01 and in MissionNetworkBattle02, if a user in flight presses <ESC> to temporarily exit a difficult tactical situation and then returns without reasonably exercising menu buttons, he sees "<ESC> ABUSE DETECTED" in his SystemMessage Panel and he gets destroyed as punishment.

2 of 2: Anytime the player damages a friendly aircraft or facility in any of the three online, server-based, multiplayer missions, he sees "YOU INFLICTED FRIENDLY FIRE!" on his SystemMesssage Panel and, if he is participating in MissionNetworkBattle01 or MissionNetworkBattle02, he loses access to IFF for a period of time that is proportional to the amount of friendly damage inflicted. If the damage is extremely serious, he suffers other consequences, building up to permanent loss of HUD, RADAR, Tactical status reports, target vocalization, airfield service, and finally, upon landing, summons to court-martial for treason.

The Makefile was enhanced with the "-fPIE" compiler option for better compatibility with popular compilers.

The Mission Detail menus for the three online, server-based, multiplayer missions have been enhanced with clickable areas that cycle Team affiliation back and forth between BLUE and RED and that cycle "REALM" through all available values from "00" to "31", so it is no longer necessary to edit the LacConfig.txt file to specify Team and Realm affiliation. Keep in mind that with the small population of users currently active in LAC, we are urging everybody to limit activities to REALM 0 so we can find one another.)













Changes in the mid-Apr2020 version (Lac08p02) include:

Better support for players that don't have a joystick. The logic that supports flight without a joystick has been improved. Several serious bugs were fixed. Now it's much easier and more reliable to fly with just a mouse and keyboard, whether using the formerly flawed, optional "RELATIVE" mode, or the long-stable nonrelative mode. Both modes are now improved. As an option for pilots that are serious about tuning mouse controls for the maximum possible performance, players can edit their ~home/.LAC/LacControls.txt file to map two keyboard keys to "key_TrimRudderLeft" and "key_TrimRudderRight". In that case, even rudder inputs become available to players flying with only a mouse and keyboard for flight control input. Moving the mouse left or right controls ailerons, and moving the mouse up or down controls elevators. LAC's "SETUP OPTIONS -> GAME" menu allows configuration of mouse controls in "RELATIVE" or nonrelative mode. Beginners will probably prefer the "RELATIVE" mode.

The amount of fuel available at the commencement of MissionNetworkBattle01 and MissionNetworkBattle02 has been diminished in order to more diligently force all players to land for fuel before commencing any other mission tactics.

Bugs in the Me163 refueling, rearming, and repair logic were repaired.

Fixed a bug that had failed to assert accurate "blackout" and "redout" effects when in the external view mode.

Airfield objects and battleships are now visible from much greater distances. This aids in accurate bombing and dive bombing.

Fixed bugs in the Junkers Ju87 and the Aichi D3A that were incorrectly permitting them to retract landing gear, in conflict with their historic, fixed-gear designs.

Fixed bugs in the Junkers Ju87 flight model that had caused occasional segmentation faults when its dive brakes were active and during violent maneuvers.

Enhanced cockpit realism when IFF is disabled or damaged: without IFF, many of the advanced cockpit and RADAR targeting features are now unavailable and pilots are forced to rely on voice radios and LAC's target "vocalization" to locate other aircraft and airfields.

Enhanced the results of damage in flight: Now, as damage levels increase toward 100%, pilots experience various new types of failures associated with WEP, Undercarriage, IFF, Ordnance access, Speedbrakes, and flaps, in addition to the aileron and engine thrust damage that have long been experienced by LAC pilots.

Improved pilot experience after landing for refuel, re-arm, and repair services: the 20-second duration of HUD and RADAR shutdown has been diminished to just 5 seconds.









Changes in the early Apr2020 version (Lac08p01) include:

The cockpit's "TAR ALT" display is now colored red when RedTeam objects are selected, and colored blue when BlueTeam objects are selected.

The duration of flight supported by fuel supplies has been adjusted for all aircraft so that bombers have longer flight endurance and greater range than fighters, etc. The B29 now has the longest flight duration (without refueling) in the sim, and the Me109 has the shortest endurance of all piston-powered aircraft, according to its well-known reputation. Others fall in between these extremes. In general, heavy bombers can remain aloft about twice as long as fighters, and medium bombers can remain aloft about 50% longer than most fighters.

The Spit5 and Spit9 now suffer from fuel-flow cutoff when pulling negative "G" forces, in the same manner as their historic counterparts.

The DeHavilland "Mosquito" has been upgraded from the "bomber-only" version to the "Fighter-Bomber" version, equipping it with guns and rockets in addition to its bombs. These changes should make the "Mossie" a more popular choice among LAC players.

I found and fixed several minor errors in the menu logic that displays "HISTORIC PERIOD" associated with each aircraft. Now, in LAC's menus, early-war aircraft are correctly described as "EARLY WAR", and all late-war aircraft are correctly described as "LATE WAR".

I found and fixed a tiny little bug in main.cpp's "event_targetPrevious()" function that was failing to vocalize aircraft team affiliations if there was only one other aircraft in the mission. 

I found and fixed a bug that was causing the "FIGHTERS" tutorial mission to start out with IFF disabled every second time it was re-started.

I enhanced the two-player "HEAD TO HEAD" mission so that its cockpit instruments now display "DATA FLOW" instead of "CONNECTION" to better describe that mission's true use of network activity.

I adjusted starting positions in all three of the server-based, multiplayer missions. Now the player starts out farther from his requested airfield and higher up, giving more time to set up landing when desired.

I found and fixed a bug that sometimes caused LAC to "Hang" destructively when a targetted object was destroyed (either by the player or by somebody else). This bug had also sometimes caused segmentation errors WITHOUT "hanging" the sim.

I adjusted startup logic that was sometimes causing segmentation errors within the first 5 seconds of online missions. (Those errors are now diminished in frequency but still occur from time to time. Not very often. They can be avoided by avoiding violent maneuvers during the first 5 seconds of a new mission.)

I found and fixed a bug that was sometimes causing segmentation errors when the player collided with another aircraft or mission object.

I enhanced the "TargetNext" and "TargetPrevious" facilities. Now they ought to be more accurately named "TargetNextRed" and "TargetPreviousBlue", respectively, since the first of them cycles FORWARD through all RedTeam mission elements (skipping BlueTeam elements), and the second of them cycles BACKWARD through all BlueTeam mission elements (skipping RedTeam items). Accordingly, the keys and processes formerly known as "TargetNext" now yield the next RED target, and the keys and processes formerly known as "TargetPrevious" now yield the previous BLUE target. This arrangement sensibly preserves existing habits, keyboard and joystick mapping, and documentation, with only a small adjustment in pilot behavior. The arrangement is more convenient than the "classic" arrangement that has been in use for the prior three years, since a player that knows the team affiliation of his desired target can now select it with an average of only half as many keystrokes or joystick button activations.

I enhanced the "Map Mode" display with new information revealing the player's current altitude and true airspeed, making "Map Mode" a lot more useful (especially when the Norden Bombsight is active.)

I completely rewrote the Norden Bombsight logic. The "Continuously Computed Impact Point" pipper (which was too "jumpy" in prior versions) now moves much more smoothly. Accuracy is greatly increased. The prompting text has now been optimized to give better advice, which is customized a bit according to the type of aircraft being used.

I eliminated the universally despised, vocalized "tour" of the tactical situation at the beginning of all three online, server-based, multiplayer missions.

As a consequence of all of these changes, LAC is a little more realistic, suffers from fewer segmentation errors and "HANG" problems, is more accurate, and easier to control in complex tactical environments.

This version remains functionally interoperable with all versions since Lac07p92, but it is better behaved, a bit more realistic, and nicer to fly. All players are urged to upgrade.







Changes in the late Feb2020 version (Lac07p96) include:

Another small improvement in the visual representation of network "jitter".  This version remains operationally compatible with all versions since Lac07p90.








Changes in the Feb2020 version (Lac07p95) include:

When flying at very high speeds (beyond 380MPH) it has been possible to collide with your own bullets. This didn't happen very often, but it seemed to be a bit more frequent when flying in a straight line. Subsequent testing confirmed that aircraft began colliding with their own bullets at any speed beyond about 375MPH. This has now been fixed. After this change you will find that aircraft can now safely fire their guns and cannons at extremely high speeds without ill effect. This will be especially helpful for fans of the German Me163 "Komet", which can easily exceed 500MPH in combat. This version remains operationally compatible with all versions since Lac07p90.








Changes in the mid December 2019 version (Lac07r94) include:

Improvement in the visual representation of network "jitter". This version remains operationally compatible with all versions since Lac07p90.









Changes in the mid November 2019 version (Lac07r92) include:

Users can now edit the "NetworkMode" field of their LacConfig.txt file to instruct LAC to ignore the presence of Mumble. This will be good for users with computers suffering incompatibilities when trying to use Mumble, or for users wishing to employ some other VOIP application.

Run-time diagnostic reporting was simplified, eliminating several unimportant details and improving framerate when looking to the right, left, up, down, or to the rear from within the cockpit.

LAC's video resolution configuration menu now offers nine standard resolution options instead of just five, making it far less likely that inexperienced users will ever need to manually edit the corresponding resolution fields in their LacConfig.txt file. The vast majority of new users will be able to find an appropriate setting from within LAC's menus.

The flight model of the Nakajima N1K1 fighter was improved with better handling of high-speed compressibility.

LAC's volunteer flight test crew flew meaningful missions, including takeoffs and landings with agressive ACM, in all 54 of the WW2 aircraft and confirmed that all of them fly reasonably without a lot of segmentation errors, and within expected flight performance parameters according to the best available historic and anecdotal records. Top speeds at sea level, climb rates, stall speeds, roll rates, maneuverability, lethality, and durability are all adjusted to our satisfaction. For controlled flight at normal altitudes and speeds, the overall performance and "feel" is entirely reasonable for anybody willing to use a little imagination. (At the extremes of speed and altitude, the flight models are less accurate, but still respectable.)  The biggest flight model compromise is evident during takeoffs and landings, which are considerably simplified and easier than in real life, but all of the active principles of flight are modeled in principle; LAC's compromises in takeoff and landing are matters of degree. All of the flight testers are satisfied with the resulting compromises.

Accordingly, we are declaring this release of "classic" Linux Air Combat as DONE, and we are issuing it with a new name:

"LINUX AIR COMBAT R 7.92".

The compiled executable program is now named "lac07r92".

This is the version that will be released for public distribution on 15Nov2019 after more than four years of intense development effort.









Changes in the early November version (Lac07p91) include:

Minor adjustments to some of the aircraft flight model parameters.

Minor improvement in network latency.

Minor improvement in the Norden Bombsight's impact point prediction accuracy.

Takeoff logic is improved so that aircraft are better able to lift off before suffering minor damage as they drop over the far edge of the runway.

Fixed a minor typographical error in the menu describing "MissionHeadToHead00".

Fixed a bug that sometimes prevented visibility of Player #1 while parked on the runway.







Changes in the late October 2019 version (Lac07p90) include:

This version adjusts and improves flight models and other competitive aspects of online combat. Accordingly, this is a REQUIRED update. Players using older versions will be constantly alerted of the need to upgrade whenever a player using THIS version enters their mission.

Terrain geometry proportions have been changed to enhance the perception of high speed flight past terrain features. Now, especially when flying fast and low, the visual perception of speed is much more dramatic.

The logic that regulates the maximum climb rate of all aircraft at extreme altitudes has been improved.

The "Map Mode" shows a wider view of the terrain, allowing a better, more sweeping overview.

The flight parameters of all aircraft have been given a final "tweaking" to bring top speeds and climb rates into very accurate alignment with the best available flight test data from historic records. Performance from sea level on up to about 15,000 feet it is now generally within 1% of the best available data. At higher altitudes, accuracy diminishes somewhat, but it remains respectable. Roll rates, zoom climb performance, turning rates, lethality, and durability have also been tuned to yield more accurate relative performance and to better match available historic and anecdotal information. This is the most accurate version of LAC ever.

Bomb loads of the Lancaster and B29 were adjusted to better match historic loadouts used in combat.

The Norden Bombsight is now a little more accurate across a wider range of drop speeds.

Airfield anti-aircraft guns now reach a maximum altitude of 10,000 feet instead of 15,000 feet.

Bomber auto-gunners are now slightly less accurate versus nearby opponents that are flying at very high speed.







Changes in the mid October 2019 version (Lac07p89) include:

No new flight or mission features. This version remains operationally compatible with all prior versions since Lac07p70

One line of diagnostic reporting code was eliminated after extensive testing revealed that it was diminishing framerate in ATi/Radeon systems.









Changes in the early October 2019 version (Lac07p88) include:

No new flight or mission features. This version remains operationally compatible with all prior versions since Lac07p70. 

This version is even more reliable and "bullet proof" than the prior version, as a consequence of two tiny new user-management improvements as follows:

1 of 2: To make the Morse Code Radio more robust and reliable, "Squelch" settings now automatically expire every time the player's aircraft is serviced with fuel, ammo, or repairs while on the runway, deactivating old squelch settings to ensure more constant Morse Radio monitoring and availablity for interpretation of text-broadcast commands. As a consequence, stale old Morse Radio squelch settings (which can easily be forgotten during the activity associated with landings and takeoffs) no longer block subsequent Morse Code Radio messages, making all players more alert and more aware of LAC's most fundamental interplayer communication system and less likely to accidentally miss out on MultiPlayer commands, directives, bulletins, or queries transmitted by that means.

2 of 2: This version is easier to install than prior versions, even if the user does not read the online documentation and does not use the convenient "install.sh" script to optimize all of the installation steps. If a user attempts to run LAC immediately after downloading and/or compiling it (without making use of our standard "install.sh" script), it tries very hard, on its first execution attempt, to find or automatically generate all of the necessary configuration files, creating the required ~home/.LAC subdirectory to hold them. Any missing files that are absolutely required for LAC's basic operation are now generated automatically as needed, after which LAC generates explanatory diagnostic messages explaining their successful generation and urging the player to try running LAC again. Subsequent attempts to run LAC almost always succeed after that, allowing the user to experiment with the menus and basic flight.

However, the terrain that is used in LAC's most important missions is populated with random mountains, lakes, islands, and other geographic features unless the "DefaultHeightMap.LAC" file is present, and that file cannot be automatically generated. It is always downloaded as part of our standard distribution archive. If that "DefaultHeightMap.LAC" file is deleted or misplaced, the resulting, randomly generated terrain features never match up with the location or altitude of airfields, so runways are sometimes located underwater or displaced, in bizarre ways, from land features. (Sometimes the random terrain even exhibits water levels at altitudes high enough to swamp aircraft immediately upon their entry into a mission.)

To overcome this problem, new logic in this version of LAC tries very hard to find and appropriately utilize the "DefaultHeightMap.LAC" file, searching for it in all of the most likely places according to our experience monitoring user behavior. Usually this is successful during the first attempt to execute LAC, whereupon a series of helpful advisory messages are generated on the user's console upon program termination, along with an admonition to try running LAC again. These advisory messages differ slightly depending on the filesystem location where any copy of the "DefaultHeightMap.LAC" file is found, in order to be as helpful as possible to the user and to increase understanding of the ideal place to store LAC's executable file relative to its other components. Users that read and follow that guidance are very likely to experience complete success the next time they try to execute LAC.

Of course, if the "DefaultHeightMap.LAC" cannot be found in any of the usual places, then LAC proceeds to generate new terrain, populated with random geographic features that do NOT match the airfield locations that are expected in the missions. Affected users can only recover from this by placing a copy of the official "DefaultHeightMap.LAC" file into their ~home/.LAC folder. Detailed instructions for this have now been published in our "Frequently Asked Questions" ("FAQ") web page as FAQ #44.

(NOTE: Even though the improved installation logic in this version makes it easier to achieve basic LAC installation without using our "install.sh" script, the preferred installation process still uses that script because it automatically creates a tiny, convenient, additional new script named "lac" in the user's home directory which can thereafter be used to launch Linux Air Combat and also, according to long-standing desktop LINUX practice, to create graphical desktop or kicker-panel shortcuts to launch LAC with a single mouse click.)

If you are already happily using any version of LAC since Lac07p70, having formed good interplayer online habits and already having success with Mumble-based interplayer voice communication, then there is little reason for you to upgrade to this version. However, for new users, this version is the easiest to install of any LAC version, and routine operation helps inexperienced users to more reliably participate in the best interests of their team, less likely to miss out on interplayer communication.










Changes in the mid Sep2019 version (Lac07p85) include:

This version is operationally compatible with all prior versions since Lac07p70, but all of the new features of its Mumble interface, previously limited to users of Mumble Version 1.3 and newer, now work with older versions of Mumble too! We've had success with versions as old as Mumble V1.2.3. Prior to version 1.3.0, Mumble used an older set of commands, so LAC still needs to know if your copy of Mumble is older than that. As with the prior LAC release, this is specified in the "NetworkMode" field of your "LacConfig.txt" file. Repeating our previous instructions on this subject, the four allowed values of "NetworkMode" are:

if NetworkMode is set to "0", LAC will operate in "Peer-to-Peer" mode and will control older versions of Mumble using the "old style".

if NetworkMode is set to "1", LAC will operate in "Client/Server" mode and will control older versions of Mumble using the "old style".

if NetworkMode is set to "2", LAC will operate in "Peer-to-Peer" mode but it will take full advantage of advanced functions for  Mumble 1.3.0 and later.

if NetworkMode is set to "3", LAC will operate in "Client/Server" mode and it will take full advantage of advanced functions for Mumble 1.3.0 and later.

The features of LAC's Mumble interface are now the same whether you use new Mumble 1.3.0, old Mumble 1.2.3, or something in between. (One minor difference: the newest versions of Mumble switch channels in about 5 seconds, while the older ones need about 6 seconds on average.)

If you have installed Mumble on the same computer that is hosting your copy of LAC, you should definitely upgrade to this version because the Mumble interface no longer requires such tedious configuration and is much more reliable. You will really enjoy the difference, and your team-mates will appreciate the way your communication will be automatically integrated into the action.

If you don't use Mumble, or if you have Mumble (or one of the other Mumble-compatible voice comms apps) installed on your phone, tablet, or another computer, then you won't see any important benefit from installing any version since Lac07p72.








Changes in the early Sep2019 version (Lac07p82) include:

This version is operationally compatible with all prior versions since Lac07p70, but it takes powerful advantage of the newest (optional) features in Mumble V1.3.0, and the area of the keyboard used in our standard configuration has been expanded with additional functions for those that have updated their copy of Mumble.

Even more powerful Mumble integration, with an improved standard keyboard layout, placing even more Communication-oriented commands within easy reach. 

Unfortunately, older versions of Mumble, which do not support new commands that recent versions of LAC like to use for interprocess communication, are still in common use. Accordingly, this version of LAC has enhanced its interpratation of the "NetworkMode" attribute that can be set in the "LacConfig.txt" configuration file. That variable is now "Bit Coded". Use of the least significant bit is unchanged, so a value of "0" still indicates "Peer to Peer Mode" as before, and a value of "1" still indicates "Client/Server" mode as before. However, we are no longer ignoring the other bits. As a consequence, four distinct settings of "NetworkMode" are now fundamental to LAC's operation on the network and with Mumble, as follows:

if NetworkMode is set to "0", LAC will operate in "Peer-to-Peer" mode and will not attempt to use any advanced Mumble functions.

if NetworkMode is set to "1", LAC will operate in "Client/Server" mode and will not attempt to use any advanced Mumble functions.

if NetworkMode is set to "2", LAC will operate in "Peer-to-Peer" mode but it will take full advantage of advanced Mumble functions.

if NetworkMode is set to "3", LAC will operate in "Client/Server" mode and it will take full advantage of advanced Mumble functions. This is the preferred setting.

(Explanatory text within the LacConfig.txt file explains all of this and will help users set the value of NetworkMode appropriately.)

When LAC is told to avoid Mumble's advanced functions, it relies on the user to configure Mumble "Shortcuts", as described in our "Frequently Asked Questions", as the basis for our Mumble interface. Users that configure all 26 of those Mumble shortcuts will enjoy very smooth, high-speed Mumble performance for all of the basics. However, for unknown reasons, Mumble loses some or all of those 26 shortcuts from time to time, so it is frequently necessary to reprogram them. Without those shortcuts, it is still easy to use Mumble on a single channel, but it is difficult to optimize channel choices. As a consequence, most Mumble transmissions will be broadcast to friendly and opposing team members alike.

When LAC is allowed to use the advanced functions from Mumble version 1.3.0 and later, it automatically tunes Mumble to the best channel for every mission as soon as the player selects it, and all of the following "Hot Keys" always work immediately during those online missions, with no need to program the corresponding Mumble Shortcuts:

"1":   Switch to M1All Channel.
"2":   Switch to M1Blue Channel.
"3":   Switch to M1Red Channel. 
"4":   Switch to M2All Channel. 
"5":   Switch to M2Blue Channel.
"6":   Switch to M2Red Channel.
"7":   Switch to M3All Channel.
"8":   Switch to M3Blue Channel.
"9":   Switch to M3Red Channel.
"0":   Switch to Root Channel.
"F7":  Morse Squelch BlueTeam
"F8":  Morse Squelch RedTeam
"F9":  Morse Unsquelch All
"F10": Switch to TeamCast channel.
"F11": Switch to MissionCast channel.
"CapsLock": Toggle keyboard in and out of "Morse Code Radio" mode.

In addition, the following Mumble commands are instantly available if the associated (very simple and well-behaved) Mumble shortcuts are configured:

F1: Push To Talk in Current Channel 
F2: Shout to Parent Channel and its Children 
F3: Volume Down 
F4: Volume Up 
F5: Mute Speaker 
F6: Mute Microphone 

Furthermore, LAC even uses those advanced Mumble commands in conjunction with six types of specially formatted Morse Code Radio messages as follows:

1 of 6: "PPPPPPPP2" (Eight or more sequential "P" characters followed by one or more copies of the single digit "1", "2", "3", "4", "5","6","7", "8", "9", or "0", corresponding with one of the ten players in the mission.) This is the "PROMOTE" command, and it grants administrative privileges to the designated mission player. Although no player can promote himself, he can promote any other player on his team. The player remains "promoted" until he is killed or exits the mission. After being promoted in this manner, the promoted player can thereafter issue any of these other six specially formatted Morse Radio messages:

2 of 6: "SSSSSSSS" (Eight or more sequential "S" characters). This is the "SECRECY" command, and it switches every member of the player's team onto a new, secret, Mumble channel for private communication. Members of the other team are NOT switched, and it is cumbersome and time-consuming for them to ever discover which channel is being used for this secret conversation. It is unlikely that members of the opposing team will hear conversations held in this manner.

3 of 6: "MMMMMMMM" (Eight or more sequential "M" characters). This is the "MISSIONCAST" command, and it switches every member of the player's team onto the "MissionCast" channel for the current realm and mission so that everybody participating in the mission will be able to hear and converse with everybody else.

4 of 6: "TTTTTTTT" (Eight or more sequential "T" characters). This is the "TeamCast" command, and it switches every member of the player's team onto the "TeamCast" channel for the current realm and mission. The other team also has its own TeamCast mission as a "sibling" channel, and those two sibling channels are isolated from one another so that voice communication in one is not heard in the other. Note, however, that any player that chooses to enter the mission's "MissionCast" channel WILL hear everything, so this "TeamCast" option is best viewed as a means of minimizing congestion rather than a means of ensuring secrecy.

5 of 6: "RRRRRRRR" (Eight or more sequential "R" characters). This is the "Root" command, and it switches every member of the player's team onto the "Root" channel of our Mumble server at LinuxAirCombat.com. This is handy for recruiting new players into the mission, since it is commonplace for new players to hang out in our Root channel while waiting for mission activity elsewhere.

As a consequence of these advanced commands, it is now much easier for teams equipped with the latest versions of Mumble to make powerful and orderly use of our Mumble channels, enjoying a significant advantage in combat.

While parked on the runway waiting for refueling and repairs, the player can now stop the automated review and vocalization of all of the mission targets (which normally cycles "Select Next Target" through all ten mission aircraft) by tapping the "Select Previous Target" key. This gives the player an opportunity to examine the tactical situation at his own pace and designate his own preferred target while his aircraft is being serviced.









Changes in the late-Aug 2019 version (Lac07p72) include:

1- Better integration with "Mumble". After installing the free, well-known "Mumble" VOIP application according to the usual and customary norms, it is no longer necessary to configure Mumble with the 20 "Shortcuts" that have heretofore been recommended in order to automate switching between the 10 most important of our Mumble Channels. Now all of LAC's online, server-based, multiplayer missions automatically invoke Mumble and direct it to the appropriate channel according to the player's team affiliation and chosen mission, with no user intervention at all. Furthermore, all ten of LAC's standard Mumble channel-changing "Hot Keys" now directly command Mumble to switch to the corresponding channel on our Mumble server at LinuxAirCombat.com, so it is very easy for users participating in any of our missions to hop around among our popular Mumble channels at will (without exiting LAC or mouse-clicking anywhere) in order, for example, to speak temporarily on the Root channel and welcome new players, or even with players participating in other missions. (In order to avoid saturation of Mumble's administrative tasks, LAC enforces a 10-second time interval between these Mumble commands.) LAC's cockpit "Mumble Panel" and three-line, scrolling "System Message Panel" alert all players throughout the mission of all Mumble activity triggered by any of our standard Mumble Hot keys, so everybody knows who is talking, the Mumble Channels they are using, etc.

2- Improved Mumble Server configuration: each of our three online, multiplayer, server-based missions within our most important domains have long been served by a trio of associated Mumble channels arranged rather like a family, with one "Parent" channel named after the mission and two "Child" channels (one for BlueTeam and one for RedTeam). The intent has always been for team members to hold private conversations within their own "Child" channel, and for the "Parent" channel to serve for shared conversations among all team members. This can be very conveniently automated with a single Mumble "shortcut" configured with Mumble's "Shout to parent channel and all its children" facility. However, some players are reluctant to configure Mumble shortcuts or are using less powerful Mumble clients (like Android's "Plumble") that do not offer that option. As of 20Aug2019 we enhanced our Mumble Server to automatically enforce those relationships: Any "Push to Talk" transmission in one of the "BlueTeam" or "RedTeam" channels is never heard by others tuned to the "Sibling" channel of the opposing team. However, both of those sibling channels always hear and can speak to anybody tuned to the "Parent" channel. All of this can now be done without configuring any Mumble shortcuts. 

3- Fixed several minor bugs in heavy bomber ordnance loading.

4- Removed some unimportant status messages that were cluttering the cockpit's three-line, scrolling "SystemMessage" panel, making it a lot easier to rely on that panel to learn of significant mission events.

This version remains interoperable and fully compatible with version Lac07p70. When limited to MissionNetworkBattle03, it remains operationally compatible with all versions since Lac07p56.










Changes in the mid-Aug 2019 version (Lac07p70) include:

Numerous small bug fixes.

1- Flight Models tuned: We tweaked flight models of medium bombers and dive bombers. In prior versions, several of these bombers lacked power to climb acceptably when lugging their full bomb loads. Others needed increased durability to perform according to the best historic information. These problems have all been fixed.

2- Mission-Ending improvements: We improved handling of network messages responsible for ending missions when one of the HQ airfields is destroyed. In prior versions (especially on networks suffering packet loss), it was commonplace for one or more players to miss these messages and continue in a mission, unaware that it had ended because somebody had already destroyed one of those HQ airfields. Now those messages are more robustly propogated and everybody gets the message.

3- Player "Death" is now more realistic: MissionNetworkBattle01 and MissionNetworkBattle02 now implement more realistic handling of pilot/player death (but MissionNetworkBattle03 retains the prior, simpler and easier logic): In prior versions, unsophisticated players were sometimes using "kamikaze" tactics, committing deliberate suicide after dropping bombs or completing a gunnery pass when far away from their own airfield in order to short-circuit and avoid the long flight back home. In this more sophisticated implementation, getting killed, or killing yourself, (or starting out from a fresh, "dead" state) carries a penalty in terms of refueling time. Upon entry into MissionNetworkBattle01 or MissionNetworkBattle02, whether starting out fresh or restarting after being killed, the player is almost out of fuel and is forced to land as in prior verions, but when fuel levels are low, it now takes a lot longer to be refueled. On the other hand, because it is normal and commonplace for players returning from a successful mission to have significant, unused fuel in their tanks, they spend far less time grounded during the refueling process. The same is true for repairs: Players that return to base without aircraft damage experience no ground delays associated with repairs, but players returning a heavily damaged aircraft must wait while the ground crew fixes them back up. While waiting for these ground services, players are, of course, vulnerable to attack, and any damage they suffer while grounded will either kill them or delay their takeoff further while the additional damage is repaired. (The delays are much, much smaller if only a small amount of fuel or minor repairs are needed.) The consequence of all of this is that players that kill themselves or get killed in some other way suffer new delays on the runway while they are refueled and repaired, while players that land with undamaged aircraft and with fuel in their tanks suffer little or no delay. This adds a new dynamic to MissionNetworkBattle01 and MissionNetworkBattle02: in addition to the obvious incentives to return to base alive, undamaged, and with unused fuel ready for re-use, the change also subjects players to additional, realistic risks associated with exposure on the runway, vulnerable to enemy players that may have positioned themselves advantageously above in order to vulch them while they are stuck there. (For those that prefer no such punishment associated with getting killed, MissionNetworkBattle03 was left with the old system where refuel, repair, and rearm tasks are completed almost instantly. Beginners, in particular, are urged to start out with this system while they build up their skills for more realistic treatment in the more sophisticated missions.)

Players using prior versions should update to this new version before joining others in MissionNetworkBattle01 or MissionNetworkBattle02. On the other hand, MissionNetworkBattle03 remains operationally compatible with all LAC versions since 7.56.






Changes in the Late June 2019 version (Lac07p65) include:

This version remains operationally compatible with all versions since 7.56, but the cockpit instrumentation has been improved slightly with the addition of an indicator revealing the rate of repair of the player's HQ airfield. As a consequence, where prior versions had been scrolling messages about that repair rate through the three-line "SystemStatus Panel", this version eliminates those messages.




Changes in the late April 2019 version (Lac07p64) include:

No functional changes. This version remains operationally compatible with all versions since 7.56. Source code cleanup has eliminated more than 1,000 compiler warnings. Now, when Codeblocks is used to rebuild all 80,000 lines of source code, only 19 compiler warnings are detected, and all of them are now individually documented in the source code and all are known to be harmless. As a result of this cleanup, the code is now more robust and more tolerant of configuration errors. Some of the compiler warnings that have been eliminated could possibly have have caused occasional segmentation faults had they not been fixed.





Changes in the mid April 2019 version (Lac07p61) include:

No functional changes. Cosmetic source code cleanup and bug fixes. Several compiler warning messages have been eliminated due to cleaner source code. Three very obscure conditions that had caused rare segmentation faults were fixed. Fixed a bug that had sometimes displayed a tiny white dot in the center of the screen when looking straight up. This version remains operationally compatible with version 7.56.





Changes in the early Apr2019 version (Lac07p59) include:

Updated the tutorial prompting text in the LacConfig.txt file. This version remains operationally compatible with version 7.56. Cleaned up some details in the source code that had caused the compiler to issue warnings about four functions that did not always return an expected status value parameter. (Updated compilers, used in a few LINUX distributions, were generating code that resulted in segmentation faults until these warnings were fixed.)





Changes from the late Mar2019 version (Lac07p56) include:

Manoeverablity of all aircraft have been adjusted for greater accuracy.

Bots have been made a little smarter, so that they don't crash into the ground as frequently.

The LAC Server interface has been made more sophisticated.

Two bugs that were causing severe network jitter under certain conditions within MissionNetworkBattle02 were fixed.

A bug that was causing excessive network jitter immediately after any aircraft was destroyed in any of the multiplayer missions has been fixed.


Some excessively "noisy" run-time diagnostic messages have been eliminated.







Major new features of the Mar2019 version (Lac07p50) include:

All of the aircraft have been able to manoever too well, especially at high speed. Accordingly,  the "maneoverability" attribures of all aircraft have been adjusted and as a result, all of the flight models are a little more realistic now.

The visual appearance of the Bell P39 fighter aircraft has been significantly improved, thanks to the work of Blake Williams.

Morse Code sound effects have been improved.

Rocket aiming has been made easier because rockets now launch and fly straighter.

The Norden Bomb sight has been stabilized and recalibrated for better accuracy, and the instructional prompts that it displays have been enhanced with additional details.

Aircraft and rocket crash sound effects have been improved.

Aircraft lethality has been adjusted for greater accuracy compared with the best available records.

Sun glare and sunblindness effects have been improved.

Some bugs were fixed in the logic that accumulates rocket damage against battleships.

Visible surface textures have been improved for the Me110, Dornier, the airfield tower building, and the bunker buildings.

Several serious bugs in MissionNetworkBattle02 (the desert terrain mission) have been fixed. It no longer suffers frequent segmentation faults at startup, and the terrain features are identically synchronized for all players. The terrain also benefits from improved appearance, with dramatic new cliffs and canyons. Bombs and rockets no longer cause multiple explosion sounds when they descend below the altitude of airstrips.

RADAR has been made more realistic: Aircraft flying at extremely low altitudes are no longer detected by RADAR and are immune from airfield-based anti-aircraft fire. This has significantly improved MissionNetworkBattle02 because its desert terrain now features numerous canyons into which players can descend below RADAR detection level.

Experimentation has demonstrated that game play benefits from battleships that are easier to destroy than traditional, heavy battleships like "Bismarck" or "Yamato" or "Iowa". Accordingly, I have decided to refer to LAC's "Battleship" as a "Pocket Battleship" (similar to Germany's "Deutschland", "Admiral Scheer", and her infamous "Admiral Graf Spee"), which implies a large, lightweight ship built for speed but armed with heavy cannons larger than the 8-inch guns generally used by naval cruisers. The "maxDurability" of LAC's battleship is now set at "120,000", which allows its destruction when hit by about 3 bombs and about 8 rockets. A B25 can even sink it with just its heavy, devastating guns and cannon (but that requires a lot of passes and is VERY dangerous unless the anti-aircraft guns of the adjacent airfield have been neutralized).

The Morse Code radio has been improved so that the unshifted "\" key is interpreted as the "?" key, since Morse code makes no provision for the modern "shift" function of keyboards. Accordingly, whenever the operator wants to send a question mark on the Morse code radio, the "\" key can be used, and the resulting transmission, vocalization, and display operations handle it as a question mark, avoiding any requirement for "shifting" the keyboard.

The four required "*.LAC" configuration/log files have been moved into the user's hidden ~home/.LAC folder alongside LAC's other configuration and log files.

Installation has been improved, and LAC is more forgiving of installation errors now. LAC now automatically regenerates any of the following seven configuration files in the user's hidden ~home/.LAC folder if they are missing:

   1 of 7: LacConfig.txt
   2 of 7: LacControls.txt
   3 of 7: LogFile.txt
   4 of 7: DefaultHeightMap.LAC 
   5 of 7: GunCamHistory.LAC 
   6 of 7: LastTerrain.LAC 
   7 of 7: OnlineScoreLog.LAC 





Major new features of the Feb2019 version (Lac07p28) include:

LAC's Network Protocol version has been increased from "8" to "9". This requires updating by all players. Any attempt to use an older version while any other player is using a newer version will result in numerous "beeps", run-time diagnostic reports, and descriptive log entries in the ~/.lac/logfile.txt file as incompatible packets are detected.

It is now possible to "squelch" any user that tries to jam the Morse Code radio channel. This is done by pressing "BACKSPACE" while the keyboard is in the Morse Radio mode, which activates a "squelch" upon the player that has most recently been transmitting. Once a player has been squelched, none of his Morse Radio transmissions will be seen until the mission is restarted. (Pressing "BACKSPACE" again will clear all active squelches.)

The visual appearance of the following aircraft has been greatly improved (thanks to the work of Blake Williams):

   1 of 3: Me109F (German Fighter)
   2 of 3: Me109G (German Fighter)
   3 of 3: Mosquito (British Bomber)
   
"Weight of Fire" logic has been improved to better represent differences between aircraft armaments.   

Several long-standing (but minor) bugs have been fixed.

The Makefile has been improved. Now it produces a highly speed-optimized version of LAC like the one that has long been produced by Codeblocks. It also copies the executable result into the ~/bin/Release subfolder according to the same pattern that has long been established. As a result of this improved makefile, developers that don't want to use Codeblocks can now more easily and more automatically use familiar, linux compilation tools according to long-established norms, and the result will be fully compatible with our "install.sh" installation utility.

The well-established, standard linux command that invokes the new Makefile with all of this is simply:

make

Running "make" as configured herein results in cluttering up LAC's main source code folder with a bunch of .o files and an extra copy of lac. All of this can be cleaned up with the following, standard command:

make clean

All of these "make" procedures will be familiar to experienced linux developers but otherwise remains fully compatible with all of our longstanding tools, documentation, and production practices.






Major new features of the Jan2019 version (Lac7p09) include:

Each of the two HQ airfields in MissionNetworkBattle01 and in MissionNetworkBattle03 are now strengthened by a battleship moored just offshore, at right angles to the runway, adjacent the RADAR tower. Victory requires destruction of the battleship in addition to destruction of the airfield facilities. Once the battleship is destroyed, it cannot be refloated or repaired, and airfield anti-aircraft facilities are correspondingly weakened for the remainder of the battle. This enriches the player experience because strike missions are now far more likely to include attacks at right angles to the runway in order to destroy these ships (favoring dive bombers and other strike aircraft that are more accurate at delivery of their ordnance), and it is correspondingly more complex and more time-consuming to achieve victory.

Also in those two missions, the bunker building on the hilltop adjacent the HQ runways is now of tactical importance. When it is damaged, the associated HQ airfield suffers some damage too, and IFF ("Identify Friend or Foe") services are temporarily disrupted.

Dive Bombers with dive brakes have had their flight models tuned up for greater accuracy. Dive bombing is now a lot more accurate and more fun.

Air Raid sirens now shut off after all hostile aircraft leave the area, even if the airfield is still damaged.

The penalty for lugging heavy ordnance has been made more realistic. (Prior versions enforced no penalty for hauling more than 16 heavy weapons. Now that modest penalty is enforced for every heavy weapon that is lugged, and jettisoning any such weapon results in a slight improvement in sustainable climb angle, etc.) As a result, heavy bombers that sustain damage will more frequently and more realistically find it necessary and worthwhile to jettison some of their bombs in order to maintain flight.

.3ds rendering code has been optimized for efficiency and as a result, frame rate is increased for even smoother flight.






Major new features of the Dec2018 version (Lac06p94) include:

In recent, prior versions, many of the aircraft have been able to climb far too rapidly. This has been fixed. I rescaled and recalibrated the logic that calculates altitude. This forced recalibration of all of the flight models, and as a result of these changes, most aircraft are a little more maneoverable, and all aircraft now enjoy much greater freedom to climb at steeper and more realistic angles. "Zoom" climbs now last longer and complete in a more satisfactory manner. It's notably easier for beginners to get the "feel" of flight when climbing. The recalibration of all of the flight models isn't yet quite as good as I would like, but most of them are correct so far as historic records are available, and all are in the right ballpark. 

"Bots" are a lot smarter. In prior versions, bots had spent a lot of their time rolled on their sides, struggling to fly more-or-less in a straight line, and consequently looked silly during most of their flight time. This has been fixed. Now the bots fly complex, energetic. elaborate defensive manoevers, making them ideal for target practice. They still aren't very agressive, so it is extremely rare for a bot to shoot at the player, but it is great fun to chase them and shoot them down. This exercise can now appropriately prepare beginners for the online, multiplayer environment (where competition, created by other online players, is smart and fierce). As a consequence of these new, smarter bots, the three online, server-based, multiplayer missions are now more robust and better behaved, even if no other online players are present, than the old set of "offline" missions. Within those three missions, the transition from flying alone, versus the bots, to flying with or against one or more other online players, is now seemless as soon as any other online player shows up.

I fixed a bug that had previously allowed players to recieve full ground services (refuel, rearm, and repair) from hostile ground forces. Now any attempt to receive those services from personnel at hostile airfields results in confiscation of almost all of the player's fuel and ammo.

I enhanced the "Startup00.wav" sound-effect file with much greater dynamic range. Now, when the three P38s fly close past the player's eyes, it sounds even more dramatic and exciting.

I further enhanced the signon animation with a brighter, better scenery banner and with new logic that causes the VERSIONSTRING and the name of the primary software author ("ROBERT BOSEN") to fall to the ground, after the three P38s whiz by, in a more dramatic fashion.

I modified all of the target selection logic so that it is no longer dependent upon RADAR. Accordingly, it is now possible to use the familiar "TargetNext" and "TargetPrevious" functions to cycle through all aircraft and airfield facilities, regardless of RADAR range, or whether the RADAR has been switched off, or even if RADAR is destroyed. When combined with LAC's long-present target vocalization logic, these changes make it far more practical and fun to pursue a mission when airfield damage prevents RADAR use. In those situations, the player can hear vocalizations, similar to WW2-style radio dialogs, revealing the general direction (in "clock-face" notation) and altitude of the selected target. Furthermore, the distance to online targets can also be estimated by paying attention to the Network Router panel. As a result, LAC's online missions now better emulate WW2-style encounters when RADAR is switched off or destroyed.

I recalibrated the Norden bombsight for more accurate prediction of bomb impact points.

Airfield defenses have been strengthened to give them a better chance of surviving sustained onslaughts from strategic bombers.

The audio messages from Forward Observers have been made more reliable.

Bombers taking off from the most remote airfields are now spawned in the air, with full fuel, full ordnance loadouts, and from an altitude of 9,400 feet. If the player selects a B29 heavy bomber, the "most remote" airfield is 35 kilometers farther removed from the HQ airfields.

Aircraft that land on runways can now come to a complete stop instead of "creeping" slowly forward all the time.






Major new features of the Nov2018 version (Lac06p72) include:

A "Makefile" is now included in the distribution so that people who do not wish to use "Codeblocks" can now compile LAC with the usual, customary, classic, command-line "make" command.

Source code has been cosmetically cleaned up even more.

Various minor bugs have been fixed. 

Airfield terrains were improved to remove small water textures from runway corners.

Better reliability: The rare cases when prior versions would crash with "segmentation" faults are now even more infrequent.

The initial sign-on animation is now much more exciting, and includes much better sound effects.

Some of the audio banter messages have been shortened and sped up a bit, and the logic that activates those messages has been optimized to minimize interference among them. Now it is much easier to get the full report from forward observers about enemy airfield status in the online, multiplayer missions.

LAC's demands for RAM memory are diminished by about 20%. As a result, the rare cases when prior versions would fail to load proper ocean textures are now even more infrequent.

The following six aircraft are now updated with far prettier .3ds models:

   1 of 6: F4u Corsair. The standard version is a little nicer looking now. Furthermore, the "Optional3dModels" folder includes two even more beautiful versions for those with beefier graphics hardware.
   
   2 of 6: F4F Wildcat. The standard version is a lot prettier now.
   
   3 of 6: F6F Hellcat. The standard version is a lot prettier now.

   4 of 6: Me163 "Komet". The standard version is a lot prettier now.
   
   5 of 6: Dewoitine 520. The standard version is a lot prettier now.
   
   6 of 6: Macci C.202.  The standard version is a lot prettier now.
   
Additional, less prominant improvements have been made to the following aircraft: Dornier17, FW190, Heinkel HE111, Junkers JU88, Messerschmidt ME110, Aichi D3A, Nakajima KI84, and Douglas Dauntless. 

The instructive text accompanying the three "Tutorial" missions has been improved for better consistency with the World War II historic period comprising LAC's primary focus.

The four old offline practice missions (which all had various annoying bugs in them) have been eliminated, but all of their tactical features have now been incorporated into the three main, stable, online, multiplayer missions. As a result, if a user enters one of those online missions when nobody else is flying, he has allies and opposition from locally generated bots like those that were available in the old off-line training missions. Because these online, multiplayer missions are all far more feature-rich and more stable, the overall experience is vastly improved even when nobody else is flying. (As soon as anybody else joins a mission in progress, the bots revert to their older, "dumber" behavior in order to encourage sentient, human-to-human interaction.)

I strengthened and adjusted the power of dive brakes on all of the aircraft that had them, making dive bombing a much more satisfying and effective tactic.

I recalibrated the Norden Bombsight. The best impact point prediction is now effective when bombing from between 6,000 and 15,000 feet at 290 MPH, but it is reasonably accurate from a wide spectrum of altitudes when speed is in the ballpark of 290 MPH. However, as speed diminishes below 260 MPH, the CCIP pipper tends to underestimate the impact distance (so bombs fly farther than predicted).  Conversely, as speed increases beyond 320 MPH, the CCIP pipper tends to overestimate the impact distance (so bombs don't fly as far as predicted).

I increased the durability of all aircraft, and especially of the B17, B24, and B29 (heavy American bombers). I also increased the lethality of the Me163 "komet" rocket plane. As a result, fighter-vs-bomber combat benefits from a better and more realistic tactical balance, and all individual air-to-air combat incidents tend to last a lot longer.

I increased airfield defenses. Now airfield gunners can hit enemy aircraft as high as 15,000 feet above them.

I recalibrated the altitude indicator in MissionNetworkBattle02 so that none of the terrain features are now below sea level.

The Morse code radios have been made more reliable and are able to sustain more rapid typing rates.





   
Major new features of the Oct2018 version (Lac06p50) include:

Fixed a bug that was causing bombs to explode several times each.

Enhanced the appearance of black smoke associated with various types of explosions. (Note that this is only visible if the "special video effects" option is activated.)

Improved all of the flight models in steep dives: Now steep dives are more exciting because the ground seems to "rush up" toward the player much faster. This makes the consequences and risks of steep dives more realistic.

Fixed a bug that was preventing rockets from displaying smoke trails in the online, multiplayer missions.

Improved the intelligence of "bots" in all of the offline missions, and in online missions when only one player has been active. Although bots are still not very smart, they are not quite as stupid as before and it is more fun to shoot them down.

The "hit bubbles" associated with all aircraft were adjusted so that big, fat bombers are now a lot easier to hit with machine guns, while smaller aircraft are proportionately more difficult to hit.

Network "jitter" has been further diminished.

I created a new sound effect that plays five sequential beeps, used to warn the player whenever any opposing player fires rockets or missiles in his vicinity. Those beeps are very loud if the missiles or rockets are close by, but they are proportionately softer at greater launch distances.

I created another new sound effect that plays some sad "mood music" for members that are flying any of the online, multiplayer missions when their team loses the battle. (At the same time, members that are flying for the winning team hear the same, exciting musical fanfare that both teams had been hearing in prior versions.)

The menus can now be navigated with keyboard keys in addition to the mouse. This will be of great benefit to users whose LINUX PCs are equipped with ATi "Radeon" display adapters, because LAC has heretofore not handled mouse motion well within its menus on modern PCs equipped with Radeon hardware. (The keyboard keys that navigate the menus are the same keyboard keys that control view direction during flight. After using those keys to designate a menu button, the <ENTER> or <SPACE> keys will activate the corresponding function.)

The visual appearance of the German Me163 "Komet" rocket plane has been greatly improved.

Text messages from the LAC Server can now be displayed when directed to Realm, Mission, Team, and/or PlayerId.

The startup "splash" artwork has been enhanced with an animated image of a Lockheed P38 "Lightning" fighter aircraft flying out of the display screen toward the viewer. Also, the previous sign-on "splash" image is now a lot prettier, has the proper aspect ratio, and features an F4u Corsair and an F6F Hellcat flying in loose formation over an airfield.

Fixed several bugs that were interfering with sound effects when online missions end due to the destruction of one of the HQ airfields.




Major new features of the Sep2018 version (Lac06p36) include:

Improved external views: Prior versions were only displaying the forward 75% of the player's aircraft when flying in the "External" or "Chase" view". With this version, the virtual camera is moved farther behind the player's aircraft so that the entire plane is now visible and looks much better.

Improved graphical scaling: Prior versions were displaying all aircraft with the same visual size, so that small fighter aircraft looked just as big as heavy bombers when flying near one another in formation. Now all aircraft are scaled according to their historic size.

Improved visibility when landed or parked on airstrips: Prior versions did not display aircraft that were on the ground. With this version, aircraft that are taxiing or stopped on runways are now visible. This improves realism and exposes players to a much more realistic risk of being "vulched".

The F6F "Hellcat" graphical model has been significantly improved, thanks to Blake Williams (Thans Blake!).





Major new features of the late Aug2018 version (Lac06p30) include:

Enhanced Victory/Loss reporting: The "OnlineScoreLog.LAC" text file now records the player's air-to-air defeats in addition to the victory reports from prior versions. Now the OnlineScoreLog.LAC file provides a comprehensive history of both, and reports are now expanded to include the "CommunityHandles" of victors and victims.

Improved Morse Code Radio panel on the cockpit: The Morse code radio panel now looks a lot better on the cockpit, with a more interesting shape, improved color contrast, and larger text that is a lot easier to read.



Major new features of the early Aug2018 version (Lac06p29) include:

Bug Fix: I fixed a bug in version Lac06p28 that was causing two of the three online, multiplayer missions to crash about 30 seconds after they were started. The affected missions were "MissionNetworkBattle01" and "MissionNetworkBattle02". Now all three of those "MissionNetworkBattleXX" missions are well-behaved again.

CommunityHandles: Users that enter a name for themselves in the "CommunityHandle" field of their LacConfig.txt file now benefit from LAC's automated transmission of those names among other players participating in the same Realm and Mission. (It's best if you choose a name that's likely to be unique throughout the emerging LAC community, and if it is the same as your Mumble username.) In flight, when using the "SelectNextTarget" and "SelectPreviousTarget" functions (activated with "N" and "P", respectively unless you've customized your keyboard), the CommunityHandle of each selected target is displayed on your cockpit panel. (This isn't instantaneous; After joining a new mission, it may take as long as 60 seconds for all of the CommuninityHandles to propogate among players via the network.)

Improved high-speed flight models: Extensive testing of prior versions has revealed a general tendency for aircraft to turn too well when flying at extremely high speeds. This version improves that error. High speed maneuoverability is still better than it should be for many aircraft, but all aircraft now perform more realistically in this regard. Further fine-tuning may be necessary, but in the future those changes will be smaller and ought to characterized as "tweaking".

Improved defensive airfield guns: Prior versions enforced an altitude limit of about 4500 feet on airfield guns, so opposing bombers were able to fly safely at unrealistically low altitudes when attacking a hostile airfield. With this version, that limit has been raised to 10,000 feet, resulting in much more realistic airfield defense versus bomber missions. (Of course, once airfields are damaged, the effectiveness of their defensive guns is diminished proportionately, so it can still be safe to approach a hostile airfield at low altitudes, but only after it has been significantly damaged.)

Missile Warnings: In all three of the main online, multiplayer missions, whenever any player fires a missile or rocket, all other players within the same mission are alerted with a radio message so that they can take evasive action if necessary.





Major new features of the July 2018 version (Lac06p19) include:

This version creates a new log file named "OnlineScoreLog.LAC", which makes a permanent record of all of the player's victories. This will eventually enable users to "claim" victories that will be published by the LAC Server on a public web site.

This is the first version to use the "CommunityHandle" field of the user's "LacConfig.txt" configuration file. Users can now choose a unique, 20-character "handle", by which they will be known within the emerging LAC community. That name is included in each entry within the new "OnlineScoreLog.LAC" file in order to attribute the player's victories to the chosen handle.

This version is better behaved after the user shoots down an online opponent in any of the three online, multiplayer missions. Instead of spawning a new, replacement "bot" aircraft immediately (and sometimes, confusingly, in the very same location), this version waits a few seconds.





Major new features of the late June 2018 version (Lac06p15) include:

This version is better behaved as new players join an online mission that already has several active players: If the player's desired "MyNetworkId" value is already in use by some other player, this version tries to find a new value, but it preserves the same Team affiliation (Blue or Red). The overall result is smoother, quicker, less confusing for other players, and helps develop a better sense of teamwork. If no new value from the player's previously configured team is available, the sim terminates with some informative messages advising the player to try selecting a different mission or to edit the LacConfig.txt file to change the value of "MyNetworkId" to reverse team membership.






Major new features of the 13Jun2018 version (Lac06p14) include:

Numerous small bugs were fixed in logic affecting the Me163 "Komet" rocket plane. In particular, when landing that plane on a damaged airfield, the throttle settings became corrupted, and the service crew failed to repair any damage it had sustained. Now the throttle problem has been fixed, and repairs are made as for other planes, so long as the airfield itself is sufficiently intact. I also diminished the ability of airfield-based defensive gunners to hit and damage enemy aircraft that are flying faster than about 430 MPH. This will especially benefit players flying the Me163.

Improvements in Server-based missions will also be apparent to new players: the damage that players inflict upon enemy airfields, and enemy aircraft, as well as any repairs that they cultivate on their own airfields, are all much better preserved between flight sessions, and even effect subsequent Server missions as one might expect.





Major new features of the 02Jun2018 version (Lac06p12) include:

Improved "glide" performance: When aircraft run out of fuel, they glide a lot better now (still not great, but not nearly so terribly as before). 

Improved HQ airflield explosion sound effects: In prior versions, when HQ aircraft suffered damage from bombs or rockets that were not dropped by the player, appropriate damage was inflicted but no explosion sounds were heard. I fixed that. Now explosions are heard regardless of the source of the weapons in use.

A new log file, named "GunCamHistory.LAC": That file makes a text record describing every GunCamera segment session that the player ever requests from the server. The details within that record can help users request a specific GunCamera segment from the server.





Major new features of the 01June 2018 version (Lac06p10) include:

More balanced game play: With additional online player activity we have learned that airfields were too easy to destroy and strategic bombers were too difficult to shoot down. Accordingly, we have tripled the durability of HQ airfields, and we have cut the durability of strategic bombers in half. 

If a player's HQ airfield is so heavily damaged that it can no longer offer full-service re-arming, re-fueling, and repairing of aircraft that land there, the player now has the option to fly to one of the other friendly (or neutral) airfields, where those full re-arm, re-fuel, and repair services can still be obtained.

Server Missions: Gun Camera recordings are now captured by the LAC Server, and can be replayed, as "Server Missions". A small library of these missions have already been recorded, and the server frequently replays them to make online play more interesting. If you record a guncamera segment and want to see it replayed by the server as a Server Mission in which you and/or friends can fly, please contact us by email at: bbosen@AskMisterWizard.com. Include these facts about the guncamera segment that you recorded:

Realm
MissionId
Start Date
Start Time (GMT)
Approximate duration

(Those details will allow us to locate the correct guncamera segment among the Server's records).

We will respond by email and then we will work out a schedule for replaying it in a Realm of your choosing.

Alternatively, if you want us to replay any particular type of our existing "Server Missions" for your enjoyment (either flying solo or with friends), just send us an email describing the kind of mission you'd like the Server to activate and when you want it playing. We'll set it up to run continuously for the designated time period in one of our 32 available Realms.

As a general rule, our existing little library of Server Missions consists of heavy bomber strikes. We have missions with one, two, or three heavy bombers flying in formation. These Server Mission aircraft generally fly for the RedTeam and target BlueTeam HQ facilities. If there is only one Server Mission aircraft, it generally flys as player "9". If there are two Server Mission aircraft, they generally fly as players "9" and "7". Three-player Server Missions generally automate players "9", "7", and "5". If you fly among any of these missions, you can try to defend the BlueTeam HQ, or you can assist the automated RedTeam aircraft.

Persistent Server Missions: We have begun leaving a new GunCamera player utility running constantly on the network, accessing Realm0's Mission3, and it preserves the status of airfield damage between sessions, even if there are no Sentient players. Accordingly, people participating in that environment can damage an enemy airfield, or accelerate repairs to their own damaged airfields, and then leave the mission (whether voluntarily or when they get shot down). Upon their return to that mission, they will see the results of their prior work, perhaps as modified by other Sentient players since their departure. This adds a welcome, new, "long-term strategic" flavor to these mission environments.




Major new features of the late-April 2018 version (Lac06p03) include:

Strategic warning messages and RADAR symbology. Experience has shown that airfield defenders need rapid notice whenever the opposition launches a strike using heavy bombers, which are capable of destroying an airfield if they arrive undamaged and with a full load of bombs. Accordingly, this version enhances RADAR displays with a large, diamond-shaped icon representing heavy bombers flown by sentient network peer players. However, it takes awhile for the RADAR to confirm that it is tracking a heavy bomber flown by a sentient player, and during the time period while it is making that determination, it periodically displays brief messages on the SystemMessage panel indicating the likely presence of a heavy bomber. Those periodic messages are accompanied by an acoustic beep. As a result of these changes, attentive players receive acoustic, textual, and RADAR icon indications of heavy bombers as they join and participate in the mission. With those indications, attentive players have time to mount an intercept mission in defense of their airfields.




Major new features of the mid-April 2018 version (Lac05p97) include:

Improvements in the Morse Code Radio. Now players hear actual Morse Code as characters are transmitted or received.

An eery, dramatic, new "Air Raid Siren" sound effect is started whenever either of the HQ airfields suffers new damage. The sound continues until the damage is repaired, or until the player flies so far away from the damaged airfield as to pose no threat or to have no effect on repair crews. The sound is very loud when landed on the airfield or when flying very close to the tower, but it quickly fades away with distance.




Major new features of the early Apr2018 version (Lac05p91) include:

Bug fixes: Prior versions suffered a segmentation fault if the operator ever attempted to select a RADAR target in any of the three online, multiplayer missions if his RADAR was off. Also, when RADAR was destroyed, even though the main RADAR display was blank, it was still possible to select RADAR targets and learn their altitudes. Also, when a destroyed RADAR was repaired, it would be destroyed again, automatically, within 2 or 3 seconds. All of those bugs have been fixed.

RADAR destruction and repair cycle has been made more interesting: Now, at the beginning of any of the online, multiplayer missions, RADAR uses the large, rotating, reflector antenna with a range approaching 500 kilometers. If the RADAR is ever destroyed, all RADAR functionality ceases until ground crews can carry out repairs. However, those repairs are insufficient to mount the large, rotating, reflector antenna. Instead, a much smaller antenna is used, and maximum RADAR range is just 50 miles (instead of 500). The cycle of RADAR destruction and repair can continue indefinitely, but repairs are never able to restore RADAR range beyond 50 miles.

Terrains have been beautified a bit more by eliminating the "trenches" that had been prominent near airfields in prior versions. As a result, many of the landscape and oceanscape areas look more natural (especially near the airfields).

A new "Morse Code Radio" communication facility is now available. The keyboard's primary alphanumeric and basic punctuation keys are toggled into and out of this new "Morse Code Radio" mode by pressing the "Caps Lock" key. When the Morse Code Radio mode is active in any of the online, multiplayer missions, alphanumeric keys are encoded into Morse code and transmitted across the network to all players participating in the same mission and realm. As they are sent and received, those characters are displayed on the cockpit panel, just beneath the "Mumble Panel", in a small, single-line, text instrument, scrolling horizontally across its surface as necessary to make room for newer characters so that the pilot can always see the most recent 20 letters, numbers, or punctuation keys that have been sent. A single-character indicator above that instrument displays the Network ID of the most recent sender, and the color of that single-character is either red or blue, matching the "RedTeam" or "BlueTeam" affiliation of the sender. This "Morse Code Radio" works even for players that do not install the usual "Mumble" VOIP application for interplayer communication. However, the Morse Code sounds are not (yet) realistic, and the Morse Code Radio is far more primitive than Mumble's voice communication: Morse messages are transmitted quite slowly, one character at a time, and their reliability diminishes with distance. At short range, characters are delivered with nearly 100% reliability. However, as inter-player distance increases, character transmission is less reliable. At a distance of 20 kilometers, about 90% of the characters are delivered correctly. At a distance of 50 kilometers, only about 80% of the characters get through. At a distance of 100 kilometers, only about 40% of the characters get through. Users are highly encouraged to download and install "Mumble" and to use it to arrange missions and to communicate within missions. The Morse Code Radio is a poor substitute for Mumble's voice communication!





Major new features of the Mar2018 version (Lac05p76) include:

Improved HQ airfield appearance. Now the RADAR antenna is animated, spinning around and around like a proper late-war Radar reflector array. It can be damaged and destroyed independently of the HQ airfields. When the RADAR reflector antenna is destroyed, it stops rotating, falls to the ground, and disappears, leaving only the supporting tower structure visible. All RADAR-related functionality immediately ceases for the affected Team so that they cannot see or select RADAR blips or change RADAR range. With time, surviving airfield maintenance personnel can make sufficient repairs to restore general RADAR functionality, but those repairs are emergeny contrivances that never work as well as the original, and the spinning RADAR reflector is never visible again. The repaired RADAR functionality can be damaged, destroyed, and repaired over and over again as the battle progresses, until one side or the other completely destroys an airfield, achieving victory and ending the mission as in prior versions.





Major new features of the late Feb 2018 version (Lac05p67) include:

Better aircraft and airfield graphics: A new subfolder,named "Optional3dModels", contains more detailed .3ds models for some of the aircraft, and for the HQ airfields. Use of these files is optional. When none of these files are used, the visual appearance of the aircraft and arfields is optimized for maximum frame-rate, which will work best on older, or lower-powered LINUX desktop PCs, and which will always result in the smoothest graphics. On the other hand, users with sufficiently modern and/or sufficiently powerful Linux desktop PC hardware can replace any of the files in the old ~/models subfolder with the corresponding files from this new "Optional3dModels" subfolder, and the corresponding aircraft or airfield will thereafter look a lot better.

Source code has been cleaned up a little bit more. For example, Ieliminated every reference to the unused "<stdlib.h>" header file. I also made the code more robust so that it is no longer possible to use misconfigured text fields within the LacConfig.txt or LacControls.txt files to cause "buffer overflow" errors. This was done by modernizing all of the relevant instances of "strcpy()" and "strcat()" within all of the code files, replacing them with "strncpy()" and "strncat()" as appropriate.

I fixed a small visual anomaly that was causing a tiny "shimmering" effect along coastlines when flying certain aircraft. This has made visual effects even smoother when flying those aircraft.

Two obscure name references were changed from "AIR COMBAT FOR LINUX" to "LINUX AIR COMBAT".

I eliminated the redundant menu option that was allowing players to try to change their aircraft immediately before launching each mission. (The preferred way to do this is to use the prominent "DEFAULT AIRCRAFT" menu logic that is displayed at top of the list of missions.)





Major new features of the early Feb2018 version (Lac05.63) include:

The sim has been expanded to support 54 different types of aircraft. The "DEFAULT AIRCRAFT" menu has now been re-titled "SELECT YOUR AIRCRAFT", and the available aircraft are now presented in alphabetical order by country, manufacturer, and model name/number. Grouped by country, the 54 aircraft break down as follows:

France:     1 (fighter)
Germany:    9 (5 fighters and 4 bombers)
Italy:      2 (2 fighters)
Japan:      9 (6 fighters and 3 bombers)
UK:         7 (2 bombers and 5 fighters)
USA:       19 (11 fighters and 8 bombers)
USSR:       6 (1 bomber and 5 fighters)
Imaginary:  1 (jet fighter)

Among the more interesting of the new aircraft we have the Messerscmidt ME163 "Comet" rocket-powered short-range interceptor, the De Haviland "Mosquito" bomber, and a variety of naval dive bombers. As it did in actual practice, the ME163 suffers from a cumbersome, time-consuming fuel loading process, which (when combined with its short, 7-minute fuel supply) helps to balance it out among the other choices.

Aircraft are further subdivided into "Early WW2", "Late WW2", and "Post WW2" categories.

The "SELECT YOUR AIRCRAFT" menu logic has been made a lot more interesting because it now displays additional information about each aircraft, including its primary historic role.

Strategic combat has been enhanced. By damaging the enemy's HQ airfield below 50% effectiveness, players can now deny their opponents access to operable "Late WW2" aircraft. Although those aircraft remain available, they now take off with just 20% fuel, 20% ammo, and 20% ordnance load. Early-war aircraft are unaffected by this penalty.

The self-defending guns with which bombers and some heavy fighters are equipped now more accurately reflect the lethality and geometry of the guns actually used by the respective aircraft. Accordingly, it is now far more dangerous to attack a heavily defended bomber (like the B17) than one with just one small-calibre tail gun like the Aichi D3A.

Flight model parameters of all aircraft have been tuned up a bit, especially with regard to the presence or absence of dive brakes.

The visual appearance of most of the aircraft have been further improved.

The visual appearance of the HQ airfields has been improved. The two "parked" aircraft have been replaced with a prettier version that renders a little faster for better overall frame-rate.

Various minor bug fixes.






Major new features of the Jan2018 version (Lac05.50) include:

The "BETA TEST" notification has been eliminated. This is the first official "Production" version.

The cockpit "SPEED" indicator is now much more stable in flight, and much more accurate while taxiing on the ground.

Five new aircraft have been added, taking the total to 33 aircraft. The new ones are:

   1 of 5: The USSR Yak1
   2 of 5: The UK "Lancaster" heavy bomber
   3 of 5: The UK "Mosquito" fast bomber
   4 of 5: The UK "Typhoon" fighter-bomber
   4 of 5: The Italian "Macci C.202 Folgore" fighter

(The flight model parameters of those new aircraft are not yet tuned up as accurately as the other aircraft, but they are reasonable, and will get more accurate as we gain experience.)   

All of the previous flight models are significantly improved as a result of re-written inertia code and new code that handles "non-level" flight. Among the resulting improvements: It is no longer possible to roll an airplane and fly "sideways" without losing altitude appropriately.

Seventeen additional, "generic" aircraft are available for test flight. All of them fly exactly like a Lockheed P38, but the visual appearance of each can be easily adjusted with "Blender" or replaced with a custom .3ds model of the player's choosing. This is intended as the basis for player-created aircraft to be given full support and accurate flight models in future versions.

The visual appearance of most of the aircraft have been significantly improved. (In prior releases, several of the aircraft suffered from very primitive, silly visual appearance. All of those are now improved enough to look reasonably good. However, player participation in improving these .3ds models is still requested. I'm not very good with "Blender". If you are good with "Blender", your help would be greatly appreciated as you make these aircraft look better and better.)

The drag effects of flap and landing gear deployment are now much more accurate.

Heavy aircraft now accelerate and decelerate more slowly and more accurately.

Descriptive text in the aircraft selection menus is now more accurate and includes many additional details, making it a lot more interesting to select an aircraft that's appropriate to the chosen mission and tactical situation.

Armament loadouts of all of the aircraft have been adjusted for improved historic accuracy and better mission play.

Fixed a bug that had been labeling some mission Player IDs with the wrong team color on cockpit instrument panels.

Improved the automatic negotiation of "MyNetworkId" to minimize conflicts and to make it easier to enter an online mission without network ID conflicts.

I fixed a bug in all four of the online, multiplayer network missions that was preventing vocalization of the player's "MyNetworkId" number for players 7, 8, 9, or 10.

I removed all visual and vocal references to our old LAC Server and our old Mumble Server (both of which had been hosted at BoseNet.no-ip.biz). Now all of those references advertise our free production LAC server at "LacServer2.LinuxAirCombat.com" and our free production Mumble server at "LinuxAirCombat.com".

I enhanced the Mumble Panel's user interface whenever the user is holding down one of the "Push To Talk" keys so that associated cockpit labels consistently advertise one of the following four transmission states:

   1 of 4: "NARROWCASTING" (When transmitting on a single channel not precisely matching the player's current mission and team). This label is always displayed with white text.
   
   2 of 4: "TEAMCASTING" (When transmitting to members of just one team of a network mission.) If the transmitting player is tuned to his own RedTeam mission channel, this label is displayed with red text. If the transmitting player is tuned to his own BlueTeam mission channel, this label is displayed with blue text. Otherwise, when the player is tuned to some other team or mission, grey text is used.
   
   4 of 4: "MISSIONCASTING" (When transmitting to everybody listening on both the "RedTeam" and the "BlueTeam" subchannels of an online mission). If the transmission is directed at the player's current mission, then this label is displayed in purple text (representing the combination of red and blue). Otherwise, if the transmission is directed at some other mission, then this label is displayed in grey text.
   
   4 of 4: "REALMCASTING" (When transmitting to everybody participating in every mission of the current Realm, regardless of their team affiliation). This label is always displayed with white text.

A new shell script, named "lac", has been added into the distribution, and the installation script has been enhanced to store that new "lac" script in the user's home directory. This new script starts Linux Air Combat, compensating for differing LAC version names. Accordingly, after a standard installation of Linux Air Combat, the user can start the sim by typing "./lac" into a command console, following long-standing LINUX and Unix conventions.

The acoustic volume of "beeps" associated with RADAR sweeps has been adjusted because some of them were painfully loud in prior versions.

In all three of the online, multiplayer missions, any player that uses the standardized "hot keys" to tune his or her Mumble Radio to their appropriate mission and team channel is now rewarded with automated, acoustic radio messages announcing the damage/repair state of the enemy HQ airfield, as if a "forward observer" carrying a handheld radio were within eyesight of the action. This technique has proven successful in motivating proper and optimal use of "Mumble" for mission and interplayer communication, making every online, multiplayer mission a richer community experience.

Cockpit RADAR performance is diminished or stopped whenever the player's airfield becomes heavily damaged. RADAR performance is restored as soon as the corresponding airfield damage is repaired. Airfield repairs are accelerated when a friendly aircraft is overhead, offering protection to ground-based repair crews. On the other hand, airfield repairs are stopped when nearby enemy aircraft dominate the local airspace.

After landing an aircraft on a friendly airfield, re-arming, and re-fueling is now much smoother, quicker, and easier.




Major new features of the Nov2017 version include:

Added three new aircraft, taking the total to 28 aircraft. The new ones are:

   1 of 3: The Russian Lavochkin La5
   2 of 3: The Russian Lavochkin La7
   3 of 3: The Russian Ilyushin IL2 "Sturmovik"
   
Improved structure of the comments within the LacConfig.txt file for better clarity.

Improved visual effects associated with explosion of bullets, cannon shells, and rockets.

Tweaked the "shaking" effect that is seen when flying aircraft take damage.

Added another building near HQ airflields in two of the three of the online, multiplayer missions (those using the island terrain). It is on a hilltop and it can be strafed to destruction. Its destruction does not contribute to the strategic goals of the mission, but its position has been optimized to show off the new explosions associated with bullets, cannon fire, and rockets. It's a lot of fun to destroy these buildings!

I increased the destructive firepower of WW2-era rockets. Now five rockets inflict approximately the same destruction as a single 500-pound bomb.

I fixed a minor bug in the "Mumble Panel" that was not fully recognizing return to the "Root" Mumble channel after spending some time in the RedTeam or BlueTeam subchannel of the appropriate mission.

I improved the pilot's ability to judge optimum sustained climb angle. Now, when the pilot attempts to climb more steeply than his aircraft's engine can sustain, the center cross that is projected on his windscreen switches to a dimmer setting. Accordingly, so long as that center cross is at the brighter setting, the pilot knows that his engines can sustain the current climb rate without losing speed. (Previously those brightness settings were reversed. The new arrangement is more intuitive.)

I enhanced the cockpit's "TARGET ID=" prompts to display either "28 (BLUE HQ)" or "29 (RED HQ)" whenever any participant of an online, multiplayer mission targets object 28 (the BlueTeam HQ) or object 29 (the RedTeam HQ), respectively. This will help new players to better understand and manage the strategic goals of these three missions.

I also found and fixed a series of bugs in MissionNetworkBattle01 and in MissionNetworkBattle02 that were causing run-time diagnostic messages to log some of their bomb loading activities as if the active mission were MissionNetworkBattle03.

The long list of aircraft from which the player can choose his "DEFAULT AIRCRAFT" for flight in all missions has been reorganized. Now the list groups aircraft alphabetically by country, manufacturer, and model name. When this better organization is combined with the additional new information presented in those menus, it is now much easier and more fun to explore the available aircraft.

I fixed a bug that could result in a program crash and "segmentation error" if the operator ever tried to select a hidden, inactive menu button that had been lurking in the main menu of prior versions.




Major new features of the Sep2017 version include:

   I used Blender to adjust the visual appearance of the Yak9 to better resemble the general shape of the historic aircraft. I also found better data on the Yak9T's flight performance and tweaked the flight model's engine power and maxgamma accordingly. It now flies much faster and climbs much better than before, and flight at medium and low altitudes is now fairly close to that represented by the best available historic data. Now it is NOT WEP-capable.

   I Increased the number of supported aircraft from 20 to 25 with the following five new additions:
   
      1 of 5: USA's B25 "Mitchell" medium bomber.
      2 of 5: USA's B26 "Marauder" medium bomber
      3 of 5: Japan's G4m "Betty" medium bomber.
      4 of 5: US Navy's F4F "Wildcat" fighter.
      5 of 5: USA's P39 "Airacobra" fighter.
      
   Bomber autogunnery logic is now more intelligent. Opposing players will need to approach bombers from tactically advantageous angles and/or they will need to "jink" to avoid the dangerous firepower with which bombers now defend themselves. Trying to attack a bomber with a simple tail chase is now a very risky proposition.
      
   I tuned up the lethality and durability of bombers and airfields for better balance when airfields are attacked and for when bombers are defending themselves.
   
   I made all of the aircraft engines a little tougher in the face of damage from gun hits. Engines can now absorb more bullet hits before they begin to fail.
   
   Airfield and bomber autogunners now target all enemy aircraft within gunnery range instead of just targetting the nearest enemy aircraft. As a result, teams of allied aircraft attacking an enemy bomber or airfield now share gunnery risk appropriately, and they benefit from dividing the opposing firepower. For example, if an attacker has a nearby ally, both will suffer only half of the damage that would be likely if either was attacking alone, etc.
   
   I improved the logic associated with landing the player's aircraft so that it is no longer possible to land upside-down or sideways without sustaining extensive damage.
   
   I fixed a bug in the joystick's "hat switch" logic that was triggered by changes in 64-bit joystick drivers (versus the old 32-bit joystick drivers). Now joystick "hat switch" mapping works correctly in both 32 and 64-bit Linux installations.
   
   I fixed longstanding bugs in the logic of the "SETUP OPTIONS"->"GAME" menu so that it is now impossible to use those menus to misconfigure the values for "DIFFICULTY" and "PRECISION", which are now permanently hard-coded for "REALISTIC" and "SIMULATOR", respectively.
   
   I fixed a longstanding bug that was ignoring important differences in the firepower of the guns in various aircraft. Now, the guns of some aircraft are far more fearsome than other aircraft.
   
   I added an explosion sound effect to accompany the impact of bombs and rockets when they hit airfield facilities. The acoustic volume of these explosions is proportional to their distance from the player.
   
   I added new logic to the Norden Bombsight so that Bombsight icons are supressed unless bombs are available and unless the displayed tactical map is zoomed and centered appropriately. If bombs are available but the tactical map is not properly zoomed and centered, helpful prompts are displayed to inform the player of the need to zoom it all the way out and to center it in order to activate the bombsight.
   
   I added more new logic to the Norden Bombsight for players whose machines are not powerful enough to set "fog distance" to the longest possible range without losing frame rate. Experience has shown that fog distance must sometimes be set all the way out (to 200) in order to see the ground from bombing altitudes. Accordingly, this new logic sets fog distance all the way out to 200 temporarily, while using the bomb sight, and then resets it to the player's configured "fog distance" value two seconds after the view exits from map mode. Sometimes this logic does not work properly: If you cannot see the ground while using the bomb sight, try pressing <ESC> twice to toggle out to the menus and then back into the mission. After that you should be able to see the ground from bombsight mode.
   
   I also found and fixed some bugs that had been preventing the immediate propogation of airfield damage from rockets and bombs (that bug had been hard to notice, because the periodic "static" updates of that same information, which occur every 14 seconds, had obscured the situation because the missing information was eventually propogated by those "static" updates. Now, however, airfield damage from rockets and bombs is immediately propagated across the network to all participating players within the same realm and mission.
   
   I fixed a bug in almost all of the missions that was needlessly resetting camera mode to "0" every time a bot was respawned. This has long been a minor irritation, responsible for changing camera mode to "forward" at inconvenient intervals when it ought to have remained looking at map mode or looking to the left, right, rear, down, up, etc. Now the view system seems to be completely immune to this long-suffered, irritating flaw.
   
   I improved the ending conditions for MissionNetworkBattle01, MissionNetworkBattle02, and MissionNetworkBattle03. Now, when either HQ airfield is destroyed, all participants hear dramatic music and a voice declaring victory for the appropriate team (Red or Blue), followed by a "countdown" message warning that the mission will end in 15 seconds. Every player then hears a count going down, second by second, until it gets to zero, whereupon all mission aircraft simultaneously explode.
   
   I improved logging of tactical events so that players wishing to research battle details during the prior mission can consult the "~/.LAC/logfile.txt" file to learn exactly how much damage was inflicted by or upon them at every moment throughout the entire mission, along with the source of the damage and an explanation of the contributing circumstances. (Note that this level of detail may be diminished in the future as this software stabilizes).
   


Major new features of the Aug2017 version include:

   The strategic airfield combat features of MissionNetworkBattle01 have now been incorporated into MissionNetworkBattle02 and MissionNetworkBattle03. MissionNetworkBattle02 is identical to MissionNetworkBattle01 except for the terrain, which is changed from South Pacific to Desert. MissionNetworkBattle03 is now identical to MissionNetworkBattle01 except that in MissionNetworkBattle03, players start with a fully fueled aircraft, whereas players in MissionNetworkBattle01 are forced to land for fuel almost immediately.

   The Mumble panel colors have been enhanced for better color coordination: Blue Team channels and activities are consistently displayed with blue text, Red Team channels and activities are consistently displayed with red text, and properly configured broadcast activities (targeting both Red and Blue teams simultaneously) are consistently displayed with purple text. Activities on channels other than those intended for the current mission are consistently displayed with grey text. 

   WW2-style unguided rockets are now available, and they are especially useful in the three online, multiplayer missions.

   WW2-style iron bombs are now available, and they are especially useful in the three online, multiplayer missions.

   Rudder trim has controls have been made 8x more powerful. This is especially helpful for people that try to fly without a joystick (using only mouse and keyboard), since their only access to rudder controls is to map rudder trim controls to handy keyboard buttons.

   I fixed a bug that was preventing people trying to fly without a joystick from diminishing their throttles all the way to zero when on the ground. 


Major new features of the July2017 version include:

    Defaults configured to access our new servers at LinuxAirCombat.combat
    Fixed bugs in MissionNetworkBattle02 and MissionNetworkBattle03 that were preventing the last 3 of the 10 participating aircraft from accepting any damage.
    Landings are a little more difficult and more realistic.
    Takeoffs are now much easier and more realistic.
    Redundant System Messages have been reduced or eliminated in network missions.

Major new features of the June2017 version include:

    Numerous little bug fixes and cosmetic improvements.

    Bots now fly a lot smarter (but they are still very timid in combat and they crash into the ground a lot).

    About 150 unimportant debug messages have been eliminated. This has increased performance slightly.

    A pernicious old memory segmentation error bug has been found and fixed.

    The "JetBait" mission has been eliminated (in the future I plan to replace it with a training mission to help new pilots learn how to land and take off).

    Runways have been lengthened and widened so that fighters can now taxi in a circle to turn all the way around if they find themselves at the wrong end of the runway prior to takeoff. This has helped to make takeoffs a lot easier. (But takeoffs are still quite difficult. The main difficulty is that the elevators respond very, Very, VERY slowly until airspeed builds up above about 60 MPH, so if the elevators have drifted out of position while taxiing or while stopped on the runway, they will almost certainly cause unwanted downward thrust or unwanted upward thrust as speed builds prior to taking off, and this often inflicts destructive damage. Accordingly, after landing, pay constant attention to your elevators and do NOT let them drift away from their natural center-point position. Otherwise, your attempts to take off will be frustrating!)

    "MissionNetworkBattle01" has now been expanded to ten players and enhanced with strategic objectives. That mission assigns defensive ground guns at a main HQ airfield for the Blue Team, and also at a main HQ airfield for the Red Team. The new ground guns are fairly intelligent, firing at hostile aircraft within range and inflicting appropriate damage according to their state of maintenance, target distance, and general hit probabilities. Hit probabilities diminish if the targetted aircraft is performing a violent maneouver. The objective of the mission is to destroy the opposing airfield while protecting your own. Network status updates are constantly exchanged between all networked players so that airfield damage inflicted by any player is quickly propogated to all players. Damaged airfields are constantly repaired by ground crews if they are left unharassed by hostile fire. Upon entry into the mission, players choose from among three possible airfields for each of the two teams, but their aircraft is almost out of fuel so they are forced to land almost immediately, whereupon their aircraft is re-fueled. Landing at any airfield also results in repair of any aircraft damage and re-supply of 1000 rounds of ammunition. The result is a very rich, dynamic, and demanding online mission with complex interaction between teams and players, cultivating development of effective interplayer strategies. A typical MissionNetworkBattle01 session with 4 or 6 players lasts about 15 minutes.

    The menu system has been enhanced to allow selection from among as many as three runways for missions supporting that option.

    Bomber aircraft now get defensive autogunners capable of damaging or destroying hostile fighters within gunnery range.

    (Note that hostile bullets in flight are NEVER visible).


Major features of the Feb2017 version include:

    New network "smoothing" code significantly decreases network jitter. Network transmission timers can now be set to higher intervals without serious performance degredation. Now, when transmitting packets only every 400 milliseconds, percieved "smoothness" is better than the January 2017 version at 100 milliseconds. Maneouvers performed by remote, network-connected aircraft are now displayed much more clearly, more smoothly, and more immediately. The default value for "NetworkTransmitTimerInterval" has been increased from 100ms to 200ms.

    The value of "MyNetworkId" is now configured dynamically when network missions are entered. There is no longer any need to statically configure this value in advance. If a mission is full, an appropriate SystemStatus declares "THIS MISSION IS FULL. TRY ANOTHER" within about 60 seconds.

    Flight models are significantly improved. They still need more work, and although climb speeds and dive speeds still accelerate too quickly, they are much closer now. Performance at extremely high speeds is greatly improved so that the onset of "control heaviness" and/or "compressibility" is much smoother and less shocking. Compressibility effects now model roll rate degredation too.

    Added the Russian Yak 9 fighter.

    Added the Japanese N1K1 (Nakajima George) fighter.

    Added a new "Mumble Panel" to the cockpit in network missions, immediately below the "Mission Router Panel", significantly improving voice comms and essentially perfecting our Mumble integration. It constantly displays the name of any standard Mumble channel that is selected with any of the standard Mumble Hot Keys. It also dynamically displays "TRANSMITTING" or "RECEIVING" as appropriate to Mumble voice traffic. 

    Improved Mumble event notifications so that whenever a network-connected mission peer uses one of the standard Mumble channel-changing shortcut keys to switch to any of the standard Mumble channels on our Mumble server, all other mission peers flying within reasonable radio range are alerted of the channel change. When used with our standard keyboard macros and with our free Mumble server, our Mumble integration is now so good that there is little need for Mumble's standard "pop-ups" or the "Mumble Overlay". We have the best voice comms and the best Mumble integration in the industry.

    Cleaned up keyboard mapping logic associated with the "arrow" keys so that they can now be mapped arbitrarily to any appropriate flight or view function by editing the "LacControls.txt" file.

    Map mode is enhanced so that "North" is always up, and map scrolling and zooming keys can now be mapped to arbitrary keyboard keys.

    Sound files in ".wav" format have been compressed for smaller distribution packages and faster downloading.

    Acoustic volume of sound effects, background music, radio banter, and training narration files have been balanced optimally.

    The "SystemStatus" message area of the cockpit has been expanded from a single line to three scrolling lines so that the pilots have more time to read messages during online missions.

    Deleted the "WEP" indicator from the cockpit instrument panel, since the cockpit's "Thrust bar" communicates the same information graphically.

    Cockpit target identification has been made more consistent with the team affiliation logic described in our January 2017 release, so that targets are now labeled with strings like "RED-1" or "BLUE-2", etc.




Major features of the January 2017 version include:

    Persistent missions that you can join in process at your pleasure, on your schedule.
    Team affiliations within the multiplayer, online missions. All three of the online missions now divide players into "Blue" and "Red" team affiliations.

    RADAR now displays Blue team members with blue icons, and Red team members are displayed with red icons.

    Increased RADAR range. Although RADAR's accuracy and timeliness diminish as range increases, it is now highly effective out to 100 miles, and even tracks the general location of targets as far as 400 miles away.

    Improved cockpit user interface for better support of online, multiplayer missions.
    Prominent cockpit messages announce arrival of new mission players (and departures too, a few seconds after they stop sending telemetry packets).

    Innovative new cockpit "Mission Router Panel" features blinking LEDs that act like your home router to reveal telemetry and communication packets from other network players. A glance at the router panel can tell you how many other players are participating in the current online mission, their numeric IDs, and a general indication of their proximity and resultant telemetry vigor.

    Audio prompts call out numeric identity and team affiliation of selected RADAR targets within about 50 miles.

    World-class Voice communications. We now offer a free server for the the well-known, free, open-source "Mumble" voice application. Our Mumble server is optimized to support a future LAC community, with channels for all of LAC's missions and teams. This server is now available at LinuxAirCombat.com, and each of its channels displays a prominent link to online help associated with related details of LAC through our website.
    
    World-class Mumble integration. LAC and Mumble work hand-in-hand. Ten of LAC's keyboard "hot keys" switch your Mumble voice comms channel instantly among missions and teams, and cockpit messages immediately announce the resulting channel name. Mumble pop-ups inform all players whenever anybody enters or leaves their current Mumble channel. Two more keyboard "hot keys" can be dedicated to "Channel Push-To-Talk" and "MultiChannel Push-To-Talk" functions. When any network player presses either of those "Talk" keys, the cockpit comms panels of all mission participants announce the identity of the transmitting player, and his network comms packets light up corresponding LEDs on the new Mission Router panel.

    Mission communication heirarchy. Each mission has a "Main Channel", a "BlueTeam" sub-channel, and a "Red-Team" sub-channel. Voice comms within sub-channels is always private, but speech on the "Main Cannel" can be heard by both teams. Jumping back and forth between your team sub-channel and the main mission channel is instantaneously triggered by single hot-keys, and your cockpit display immediately confirms your channel settings.

    Mumble usernames can be coordinated with LAC usernames for consistent display on LAC's cockpit panel and in Mumble's "Popups".

    Mumble's well-known, optional "Overlay" is fully compatible with LAC, so you can see the names of all channel users even when they are not transmitting.
    
    Expanded standard keyboard layout is now conveniently arranged to add sixteen new, comms-related hot-keys in addition to the 44 flight-related hot keys that have long been offered.

Major improvements in the December 2016 release were:

    More Aircraft. We now support P38, P40, P47, P51,  F6F, F4U, B17, Spitfire, Hurricane, A6M, Ki-43, Fiat G-55, Me109, JU87, FW190, a whimsical jet fighter, and Polykarpov I-16.

    Bigger Network Missions: As many as 10 alpha testers have simultaneously flown on our beta test server. Three different types of network missions.

    New Desert Terrain in addition to the prior Island and Mountain terrains.

    New "High Definition" aircraft image models. New A6M "Zero", Fiat G-55, and JU87 "Stuka" take visual detail to a new level. (Work In Process. Special thanks to Stefano Peris.)

    Airstrips, landings, and takeoffs are now possible in all terrains and in all missions.

    "Talking Cockpit" can verbalize information about the selected target so you can hear it ("Target two is at five O'clock, angel's twelve").

    LAC Network Manager application makes it easy to query the status of the server for "What missions are active and how many people are playing" information.

Major improvements in the October 2016 release were:

    Improved hardware compatibility

    Improved program stability and cleaner source code

    Improved use of "Mouse" flight controls for players without a joystick

    Improved sound effects

    Improved flight models

    Prettier cockpit graphics with fewer "jaggies".

    Performance is more uniform across the spectrum of fast vs. slow. vs. medium-power CPUs.

Major improvements from Spring 2016 were:

    Multiplayer mission supporting six players (beta test).

    Improved compatibility with NAT routers.

    Fixed bugs in the interpretation of IP addresses. (The few IP address ranges that failed are now working.)

    Improved network diagnostics.

    Improved network architecture. In addition to the original "Peer to Peer" mode, we've added "Client/Server" mode in support of multiplayer missions.

    Improved User Interface during network missions to aid in identification of participating players.
