Linux Air Combat V8.48 Devlog (Nov2021)


Changes in Lac08p48 and Lac08p51

Both of these versions derive directly from Lac08p44 (bypassing intervening versions). All of the aircraft, flight models, and missions are unchanged, so competitive, multiplayer aspects remain interoperable with all versions since 7.92. Version Lac08p51 differs only as required to support the well-known "AppImage" packaging and distribution norms.

However, one bug was fixed, new guidance is offered to help new users configure their systems optimally, and improvements were made to each of the Menus that describe an individual mission. Because LAC now has 15 missions, there are 15 individual, descriptive, mission menus, and the purpose of each is to illustrate the aircraft that will be used, to describe the asssociated mission, to allow the player to choose a Realm and Team in which he wants to fly the associated mission, and to select among available starting points on the associated mission map. Three enhancements were completed in each of those 15 menus. They are:

1 of 3: A list of active Sentient Players and any active Replay Blokes currently using the network in the selected Realm and Mission is displayed. This makes it much easier for new players to find the most active missions and/or to locate participating friends. (Note that this list is always empty for missions that do not support network access.)

2 of 3: A new button, labeled "CHECK FOR MULTIMEDIA", is displayed at the bottom center of the menu, immediately beneath the familiar set of buttons that have long been present on those descriptive, individual mission menus. When the operator clicks that button, LAC immediately attempts to activate the configured "PreferredBrowser" and to display a related web page, for the described mission, from AskMisterWizard.com. (The intent here is to play one or more brief "YouTube" video clips about the selected mission, showing exactly what the player can expect during the first minute or two after he commences the mission for himself.)

3 of 3: LAC's mission menus now offer very detailed, powerful text guidance to assist in configuring "CommunityHandle" and "mumble". For example, if mumble is not installed in any of the usual filesystem locations, LAC urges the player to install it. If the "CommunityHandle" has not been configured, LAC urges the player to configure it. After the CommunityHandle is configured, if mumble is installed and active, the player is instructed about options to disable LAC's active management of mumble if any incompatibilities are discovered in the user's specific environment. In that case, the user is urged to use mumble's native management tools instead, or to install and use mumble on a compatible phone or tablet.

The Morse Code Radio was enhanced with a new administrative command. By transmitting eight or more consecutive 'H" characters, new logic is triggered and the user is prompted (by new messages on the cockpit's SystemMessage Panel) to enter the text of their desired or new CommunityHandle, which is saved in the LacConfig.txt file and used thereafter exactly as one might expect. This makes it very easy for new users to configure their CommunityHandle from within LAC, diminishing the need to edit the LacConfig.txt file.

We found and fixed a bug that was making it cumbersome to activate LAC's menu items without a mouse. Although the numeric keypad's arrow keys have long allowed moving the mouse cursor around enough to navigate, activation of a selected menu button (by pressing the "ENTER" or "SPACE" keys) was always executing the selected function TWICE instead of just ONCE. This made it impossible to select alternative values for any of the "toggle" functions. That bug has now been fixed, so users that find LAC's menus cumbersome to navigate with a mouse can now do so with the same keyboard keys that LAC uses for view direction in flight.

The "AUTHORS" menu was also enhanced. It now displays the current version of LAC at the top of the scrolling authors report.

The cockpit display was also enhanced so that the "FLAPS" position is now displayed with a negative number. This makes more intuitive sense to players, since the flaps are "lowered" to increase their effect and "raised" to diminish their effect.

The "map" display is enhanced so that it now displays the name of the current mission.

The "NetworkMode" attribute is set to "67" by default within the LacConfig.txt file. This enhances LAC's standard keyboard map to take advantage of formerly unused keys on the numeric keypad. Users of laptop computers (and other computers lacking a full-sized keyboard) will find this helpful because it makes it easier to zoom the RADAR range and field of view in and out during missions. As a consequence of this change, the default arrangement of LAC's numeric keypad now looks like this:

Version 8.48 is installed in the user's own "home" directory, according to our long-established pattern.



Changes in Lac08p44

This version derives directly from Lac08p42 (bypassing Lac08p43 which has different objectives). No major changes were made. Flight models and competitive, multiplayer aspects remain interoperable with all versions since 7.92, but I made a lot of small adjustments and minor improvements as follows:

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 Throttle/Rudder handle)

   12 of 23: Undercarriage (CenterThrottle & click Throttle/Rudder handle)

   13 of 23: SpeedBrakes (MinThrottle & click Throttle/Rudder handle)

   14 of 23: Radar Zoom Cycle (Dedicated Button)

   15 of 23: FOV Zoom (Click Elevator/Throttle handle while looking out a cockpit window)

   16 of 23: Map Zoom (Click Elevator/Throttle handle 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 typical 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:

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 LAC's 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 Lac08p42

This version exactly unifies all of the features of prior versions 8.40 and 8.41 other than installation location. As many of you already know, odd-numbered versions (like 8.39 and 8.41) install in the global /usr filesystem, while even-numbered versions (like 8.40 and this 8.42) install in the "home" folder.

The changes from V8.40 are minimal. Some of the menu text has been clarified a bit, and subtle rudder-induced roll effects are modeled in flight.

Furthermore, if you have already happily been using version 8.41, there is little need to update to version 8.42, since the operational features are identical.

The installer for this version copies all files into your ~home filesystem according to LAC's long-established pattern.




Changes in Lac08p40

This version derives directly from Lac08p38 (bypassing Lac08p39 which has different objectives). It remains fully compatible with the prior published version. If you are happily using prior version 8.38 or 8.39, there is little reason to update to this new version. However, new users may benefit, especially if they are not using a full-size keyboard. Several small improvements were made as follows:

The cockpit's "SPEED" instrumentation has been enhanced. In addition to displaying the True Airspeed, additional controls now also display Indicated Airspeed ("IAS") and Ground Speed ("GS") when in flight.

Improved Menu references to "Peabody's Mission": LAC's previous few versions have resulted in very nice completion of "Peabody's Mission". However, the menu text describing that mission was still advertising it as "BETA TEST" and "UNFINISHED MISSION". We updated those menu references to advertise the mission's completion and stable status. We also enhanced menu text associated with that mission to more clearly define its objectives and unique aspects.

Improved commentary within the LacConfig.txt file to update and clarify certain details that have been evolving during the past several months.

Improved support for compact keyboards: Many users have been running LAC on laptop computers that lack a full-size keyboard. Because those keyboards often lack or scatter the organized cluster of six keys that LAC's standard arrangement uses for zooming the Field of View, the RADAR, and the Map in and out, use of these "simplified" keyboards has proven to be cumbersome. Furthermore, the Raspberry Pi Foundation announced availability of their new Raspberry Pi Model 400, which is becoming very popular. Like many laptops, its keyboard layout does not include the convenient rectangular cluster of six keys that we have been using for all of LAC's "zoom" functions. Several other keyboard keys are missing too, including "F11" and "F12". We want LAC to run well on that hardware.
To compensate, this version allows an easy option to "double-map" the keyboard keys for affected functions. In addition to the existing logic that maps keys to functions according to our existing online documentation, this new option hard-codes the following additional keys and functions:

   Num+     = RADAR Zoom In.
   Num-     = RADAR Zoom Out.
   NumDel   = FOV Zoom In.
   NumIns   = FOV Zoom Out.
   NumEnter = Query Forward Observer for status of selected enemy airfield.
   Z        = Cycle Map View Zoom.

As you can see, most of those hard-coded changes rely upon formerly unused numeric keypad keys.

We now activate all of this new logic by consulting the "64" bit of the "NetworkMode" variable as configured within the "LacConfig.txt" configuration file, according to the established pattern for other run-time configuration options. The prompting text associated with "NetworkMode" within the "LacConfig.txt" configuration file has been expanded to explain all of this. It prompts the user to use the "64 bit" of "NetworkMode" to designate use of an alternate keyboard map and guides him in the calculation of the appropriate value.

Brief online testing confirms success: Now, if the user sets the "64" bit of "NetworkMode", (s)he can use the following extra keys from the numeric keypad (in addition to any already configured for the same purposes) to zoom FOV and RADAR range in and out:

   NumIns:   FOV Zoom Out
   NumDel:   FOV Zoom In
   Num-:     RADAR Zoom Out
   Num+:     RADAR Zoom In
   NumEnter: Query Forward Observer

Additionally, if the operator presses "z", (s)he can cycle Map Zoom through all available settings. Each "z" zooms Map Range in farther and farther until maximum zoom is achieved. An additional "z" resets Map Zoom out to maximum, and the cycle repeats indefinitely as the operater presses "z".

As a consequence of this new optional keyboard map, LAC players that use laptop computers, Raspberry Pi Model 400 computers or others lacking a standard, robust keyboard will still have easy access to all of LAC's important functions through formerly unused keys on the Numeric Keypad.

Alternative Makefiles: This version also includes two alternative Makefiles, for use by those that have had trouble compiling LAC with our standard Makefile. The alternative Makefiles are named "MakefileV2" and "MakefileV3". As you might well suppose, the file named "MakefileV1" is a duplicate copy of "Makefile".

Thanks to a new posting in our online forums by Daniel Barland, we have learned of improvements in LAC's Makefile that seem to help Ubuntu compilation efforts. In his post (in the "Welcome to Ubuntu" thread), he refers to our YouTube video playlist showing exactly how we downloaded, compiled, installed, and tested LAC on a brand new Ubuntu system in September of 2020. Here is the YouTube playlist to which he refers:

Here is the text of Daniel's original post containing his improved PlayList:

========== BEGIN ==========
For those running Ubuntu 18.04LTS, things may be a little different from 20.04LTS as shown in the video playlist. You must still install the needed libraries, but successful compilation (Lac08p38) with 18.04LTS required a couple of tiny tweaks of the provided Makefile, as shown below. My 18.04 installation is using gcc 7.5.0, make 4.1, and glibc 2.27 on AMD64. The tweaks needed are to remove g++ PIE flag and that the linker requires libraries to be appended at the end of the compiler call.

Makefile:

OBJS=3ds.o aiobject.o audio.o cockpit.o common.o conf.o dirs.o effects.o fileloader.o FlightModel.o gl.o glland.o land.o loader_tga.o main.o mathtab.o menu.o mission.o model.o NetworkApi.o object.o objload.o pilots.o vertexarray.o

LIBS=`pkg-config --libs SDL_mixer` -lglut -lGL -lGLU

Lac08p38: $(OBJS)
    g++ -o Lac08p38 $(OBJS) $(LIBS)
    cp Lac08p38 bin/Release/Lac08p38
    chmod +x bin/Release/Lac08p38

clean:
    @rm -f *.o
    @rm Lac08p38

Further information can be found in the "Compiling and installing LAC" forum here:

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

================ END =============

Daniel's new Makefile is included herewith as "MakefileV2". If our standard Makefile doesn't work for you, replace it with MakefileV2 and give it a try (or use the "CodeBlocks" option, with which many, many people have had success). "MakefileV3" derives from Daniel's MakefileV2 but includes compiler directives for "speed at any price". It should result in better frame rates. Further information about compiling LAC with all of these options can be found in our "Compiling and Installing LAC" forum here:

https://sourceforge.net/p/linuxaircombat/discussion/compilinglac
 
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 Lac08p38

This version derives directly from Version 8.36 (bypassing version 8.37). Three minor bugs were fixed in "Peabody's Mission" as follows:

1 of 3: RADAR was tracking targets flying too low to be realistically detected (down in valleys, etc.)

2 of 3: Target reticles were drawn around those same targets even when flying too low to be tracked by RADAR.

3 of 3: The rotating RADAR antenna at field "RED2" was positioned a few feet to far to the West.

Note that none of these bugs affected any other missions.

We also eliminated run-time diagnostic reporting during Peabody's Mission, resulting in much quieter operation. This was done by simply "commenting out" the associated source code lines. Accordingly, Mission Developers can easily re-enable that run-time reporting should they ever want to enhance the Mission or derive some future mission from it.

We also eliminated the "TEST" label associated with Peabody's Mission in the main menu, since it is now confirmed to be of "production" quality.

We also tweaked some of the graphic detail settings in main.cpp to achieve a very very slight improvement in frame rate.

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 Lac08p36

This version derives directly from Version 8.34 (bypassing version 8.35). This version fixes two bugs in "Peabody's Mission" as follows:

1 of 2: Peabody's Mision was failing to display the RADAR antenna at secondary airfields,
2 of 2: In Peabody's Mission, the player's aircraft was prematurely destroyed whenever his secondary airfield was heavily damaged.

(Extensive online testing has recently confirmed that "Peabody's Mission" is now well-behaved and although it is still marked "TEST" in the menus, it can now be considered to be of "production" quality.

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 Lac08p34

This version derives directly from Version 8.32 (bypassing version 8.33). It enhances cockpit messages and vocalizations in support of users that have disabled LAC's automated management of Mumble. Accordingly, even if a player must disable LAC's automated management of Mumble, it is easier for him to monitor Mumble channel activity of others on his team.

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 Lac08p33:

Version 8.33 is functionally identical to versio 8.32, but the executable is named "lac" and its filesystem location is moved to /usr/bin/lac. Additionally, required resource files are moved into a new subidirectory named named "lac" at /usr/share/lac. The Makefile and the install.sh scrip are both modified accordingly. This version was an experimental version, made in support of "Installers" who are working to bring LAC into popular repositories. This version was never published.

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 Lac08p32:

This version fixes one bug from Lac08p31 which won't affect very many people. Back in version 7.92 we added logic to disable LAC's automated management of Mumble, such as its automatic invocation at the commencement of a new LAC session, and automated Mumble channel changing to match the user's current LAC Realm, Mission, and Team. (Disabling that Mumble-management logic requires editing the "NetworkMode" field of the LacConfig.txt file.) Recent exercising of that logic revealed several bugs that failed to disable LAC's automated Mumble-management logic even when configured to disable it. This version fixes those bugs.

Very very few people have ever used that feature, since LAC's automated management of Mumble generally works perfectly. However, recent experiments on Ubuntu Desktop Linux from September 2020 revealed that extra copies of Mumble were being invoked each time a LAC user changed to a different Mumble channel. Accordingly, it is desirable for Ubuntu users (and perhaps other LINUX platforms too) to disable LAC's automated management of Mumble, leading to discovery and repair of this little bug.

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.

Files

Lac08p40.tar.gz 45 MB
Jan 01, 2021

Get Linux Air Combat

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.