LnLT Digital Update Report - Ending 4/19/2020

We released a barrage of updates and features for our recent release of Lock 'n Load Tactical Digital. In our last patch, we added a multiplayer lobby and some additional scenarios for multiplayer.
Update Log:
Changes 4/18/2020
- added multiplayer lobby; everyone can see the lobby chat messages, but only players who select "Looking for Opponent" will show up on the player list and be able to invite/send messages to others.
Changes 4/17/2020
- lots more work on the multiplayer lobby, but it’s not ready yet
- In Heroes of the Nam Battle Pack 1 scenarios Battle of Chin Dhuc/Duc Hanh and Undeniable Courage are now available for multiplayer games. Note: Be aware if you somehow get "Lucky Man" on creating a Hero, it won’t do anything in multiplayer yet.
- fixed opfire targeting buttons that went missing in yesterday’s version
- event messages in multiplayer now wait for both players to press OK. We apologize to all the fast readers out there, but it was causing some weird things to happen to allow one person to move along and not the other.
- A Friend in Need: fixed radio event from freezing the other player in multiplayer when there were no leaders and you have to pick a squad
- Attack of Das Kochgeschirr: added one player setup.
- Brothers in Arms: added one player setup.
Changes 4/16/2020
- updated Unity to 2019.3.9f1
- started work on an in-game way to match up with (non-SteamFriend) players; game is currently silently joining a lobby that doesn't do anything yet
- multiplayer end of impulse full unit sync now compares the incoming unit data and outputs a message to the window if something came in that didn’t match as expected; these are important clues to finding desync bugs
- Assault on Vierville: fixed crash when Germans come in on north road hex
- Assault on Vierville (Normandy version): fixed missing US troops at start
- Bridgehead at Cauquigney: added one setup

Changes 4/15/2020
- fixed volume of new turn ‘ding’ not respecting global volume setting
- made some edits to the text on the F1 Help screen
- game starts with some messages in the message log about F1 bringing up that screen
- increased the max zoom out on sideways maps
- added Video section on Options screen, with note about windowed/full screen and the first option: Allow Extra-Close Camera, for more zooming-in (though it might be blurry)
- Esc now exits the Hotkey List screen
- the Esc popup menu also now exits with Esc
- added “coming soon” to Falklands module graphic
- increased LOS resolution; eliminates the reported non-reciprocal LOS on Map 1 G1-B3.
- added a full unit sync to multiplayer at the end of each player’s impulse; it’s about 2k bytes per unit, shouldn’t be too much of a network hit for a little insurance
Changes 4/14/2020
- added game phase name to the control button box
- fixed mortars being able to indirect fire while in melee
- fixed hex control not being checked after the conclusion of an ongoing melee
- told the AI that walking into napalm is bad
- added multiplayer check at end of remote player movement to make sure the moving player finished their move; if they did not (i.e., they are waiting on nonexistent opfire or melee), they are broken out of the wait and unit data is re-synced
- fixed hex outlines showing up in multiplayer for activated hidden units
- fixed multiplayer opponent units being shown in setup if fog of war is on
- removed hex outlines from opponent’s units in setup in multiplayer
- added the use of user-submitted unit setups; if there is one, there is 35% chance the game uses it, this chance increases if there are more than one, up to 75% if there are four or more
- Assault on Vierville: added two US setups
Changes 4/14/2020
- added patch notes window pops up automatically each time you start a new version, or from the button on the main menu
- fixed helicopter hexes being targeted in melee causing the helicopter to show up on the melee menu and make it not advanceable
- fixed melee getting stuck when a human unit w/Rage skill enters melee vs. AI unit(s)
- fixed not being able to continue a move when units are shaken by opfire (leaving the shaken ones behind)
- fixed small arms direct fire damage checks affecting both vehicles & infantry in a stack instead of just the target
- fixed multiplayer chat packets not setting the packet # and throwing false warnings
- fixed multiplayer destroying weapons action not being synced
- leaving a multiplayer game now puts you back to the main menu instead of the module screen
- fixed (very bad bug!) multiple games in a row not resetting counter IDs, which could cause multiplayer games to start out of sync if they were not the first game played (with one computer often not able to reconcile the counter info coming from the other)
- fixed packets from previous games from coming into subsequent multiplayer games and potentially causing old units to reappear (though with the previous fix this seems unlikely)
- disabled “Load Game” from the ingame popup menu for multiplayer games because it was not going to work properly from there yet
- fixed popup menu staying up after you loaded a save game
Changes: 4/10/2020
- added special effects for starshell counters (was looking for a way to adjust gamma, and stumbled upon a way to do this, so ta-da!)
- another attempt to fix green map overlay from never fading away on some Macs by slapping it under everything once it is done fading
- some more fixes to try to fix a crash in melee
- made it so an “empty” Melee doesn’t get stuck on the menu for lack of opponents to select (I still want to know about how you might get these to occur, but at least you won’t get stuck there now)
- fixed loading a multiplayer save game in single player putting you in a weird half multi-/half-single game state
- fixed non-synced random numbers at start of multiplayer movement (mainly affected event random rolls)
- fixed timing issue in multiplayer where if an opponent targeted something (example: smoke hex) too quickly for the opponent’s computer, they could get the opponent’s targeting wait stuck forever
- added error message for if multiplayer packets somehow come in the wrong order or one is lost (Steam says they shouldn’t, but just doublechecking here)
- added simulated lag to my own version for more multiplayer debugging entertainment
Changes: 4/9/2020
- updated Unity to 2019.3.9f1
- fixed some multiplayer desyncs with snipers
- fixed crash when artillery FFE round lands off the map (not sure how this hex was selected, though)
- added more syncing of counter stack data before multiplayer game commands
- added pop-up info boxes for all checkboxes on the module & options screen
- added resizing arrows & saving of position/size to terrain info box
- possible crash fix; had some bug submissions about Sniper button crashing, they showed a crash in MoveController (strangely - perhaps they were on the AI turn, though), couldn’t repeat it, but fixed a possibility there
Developer Note: Finally found a couple of nice multiplayer desync with snipers. Gonna hope that solves some of the issues and focus some more on single-player tomorrow
Changes: 4/8/2020 7:00 pm
- fixed permanent disappearing turn box if the window positions were saved when it was offscreen
- fixed Upper-Level markers showing up on opponent’s turn when non-visible units are in the hex
- fixed dropping weapon in Ops Phase not being synced in multiplayer
- added messages to the control button window when you are waiting on the multiplayer opponent to do something (opfire/melee targeting)
- added info about the modules/packs you own to the connection info with your multiplayer opponent
- fixed a crash at the end of turn when the game tried to write to a file that was somehow left open
- added more error-handling on failure to save or copy save files
- added a doublechecking of the network wait in multiplayer: if you’re been waiting for an opfire/etc response from the other computer for a while, it will doublecheck to see if the other computer actually thinks you are waiting and if you are not, it will now stop waiting and print out a warning message that you’re probably out of sync (I would really like any ideas on how you managed to get things out of sync, as well)
Developer Note: Since I was unable to get much accomplished yesterday looking for "natural" desyncs in multiplayer, today I added a button to my own version to randomly shuffle some units around to basically simulate a desync and proceeded accordingly. So, most of today's fixes have to do with multiplayer (but not all).

Changes: 4/7/2020
- fixed a crash when unit fires a multi-stage attack (example: tank firing main gun, then MGs) and kills the first unit but not all units in the target hex in the first attack
- added resizing buttons to the upper right of all windows with saveable positions; right-click no longer resizes windows, these incredibly tiny buttons do it instead
Developer Note: New version sent to Steam. I spent a fair amount of time playing multiplayer today and was unable to get any real issues to occur, which was unfortunate. Multiplayer bugs are, in general, very difficult to nail down unless I can see them happen because of the kind of timing issues that can crop up. I did see a few places where things MIGHT go wrong and tinkered with them but nothing definite enough to put in a change log. I will, however, definitely work on some more graceful ways to deal with multiplayer games that go awry (desyncs, no response from opponent, etc) in the near future.
Changes: 4/6/2020 B
- updated Unity to 2019.3.8f1
- changed dragging windows to not re-snap the center of the window to the mouse position
- made game window resizable if in windowed mode (alt-Enter to toggle windowed mode on PC, dunno what it is on Macs, probably whatever it is supposed to be)
- disabled not-your-turn-sniper button in multiplayer until I can get it to work right
- fixed highlighting of the current stack when Opportunity Move is chosen
- fixed glider landing on units in bunker starting a Melee that can’t be progressed
- fixed Esc bringing up the in-game menu on the Module screen
- added range in hexes to the LOS string
Developer Note: Because it may get weird on large monitors or something - windowed mode has always been in there as a Unity default (alt-Enter toggles it). What I enabled was the ability to resize the window if you are in windowed mode - hopefully, this will help out people in weird aspect ratios because at least they can change the aspect of the game window now.
However Unity, in all its wisdom, when you go BACK to fullscreen from windowed, defaults to using that previous windowed size as the fullscreen resolution, so if you had a little window, the fullscreen resolution is now THAT size all blown up, which is usually horribly blurry and ugly. What I've done is have the game check your desktop resolution if you are in windowed mode, and remember it and if you go back to fullscreen use that as the fullscreen size. Theoretically, this should work but for people with 3 monitors or VR or monitors with a 31:10 aspect ratio or something, I'm not sure. Let me know if it does something bizarre. Thanks!
Changes: 4/6/2020 A
- some possible crash fixes with the order of objects being initialized at game start
- changed the sorting layer of some map sprites in case that was causing the weird rendering issues seen on some Macs
- fixed crash when a 2x ord weapon fires at a helo and makes it flee with the first shot
- fixed direct fire at an enemy unit in a friendly helo’s hex potentially causing damage checks for the helo
- added compass arrow graphic to map, hotkey C toggles it off/on
- disabled ability to drag enemy’s weapons if you are in the same hex as them (could occur with a continuing melee)
- Rebecca Can You See Me: prohibited change of weapon status/dropping weapons while under the effects of the automatic patrol SSR (potentially trapping the patrol in place for that turn)
Developer Note: Good morning! Before I move on to fixing some gameplay bugs today, I wanted to send out a patch for some of the crash/startup problems. It's been sent to Steam, should download shortly.