Coder Diary #13 -- The -X NoEncryption Option, Damage Report Tweaks, and a Glimpse Behind the Scenes
Here's a new feature that should make more than a few people happy: the -X NoEncryption Option.
Please observe the following:

[*]Circled in red: In the top editor window, editing platoon10.oob, for the Rifle Platoon 42, I have set the _strength, _assault & _defend values to 1, and the _firing_cost to 13. In the Unit Info box, for Rifle Platoon 42, you will see Assault 1, Defense 1, and Fire Cost 13. (Never mind the Strength 6.)
[*]Circled in green: In the bottom editor window, also editing platoon10.oob, for the M2 60mm Mortars, I have set the _strength, _assault & _defend values to 1, and the _firing_cost to 12. In the Unit Info box, for M2 60mm Mortars, you will see Assault 1, Defense 1, and Fire Cost 12. (Never mind the Strength 3.)
[*]Circled in blue, you will see that I have created a shortcut, "wf NOENCRYPTION".
[*]Circled in magenta, for the Target:, you will see the command-line options -W (for windowed mode) and -X for NoEncryption.
In other words:
[*]If the player launches the game engine EXE with the command-line switch -X (most conveniently by way of a special shortcut), the engine bypasses the platoon*.obx files and instead reads the unencrypted platoon*.oob files.
[*]If the player launches the game engine EXE in the usual fashion, via the frontend program (hence without the -X switch); or if the game mode is not solitaire, player-vs-A/I play, for example is PBEM or modem-play mode, the engine reads in the encrypted platoon*.obx in the usual fashion.
[*]If you use the NOENCRYPTION shortcut to open the engine, the file Open dialog only presents .btl files, no .bte, .btx or .btt files. That is, in -X NoEncryption mode, there is no way to access PBEM or other multiplayer save files. You can only access PBEM and other multiplayer save files via the frontend, which has no NoEncryption option (the frontend doesn't use the -X switch at all).
Many times I have wanted to run tests, change the OOB files then see the effect immediately, but was hampered by the whole encryption thing. This new NoEncryption feature makes it easier for modders to tinker with OOB files, and test results immediately, without having to wait for Jason (or some other team member) to encrypt the revised OOB into its OBX equivalent. The result? Faster, more efficient modding.
This should also mollify players miffed at their inability to mod the OOB files unhindered, without having to pass it through Jason's (etc.) hands first.
In normal game play (without going to the trouble of creating a shortcut with the -X option), the game engine continues to access the .obx files, and they will remain the official standard. This new -X NoEncryption option is for the private amusement of modders, else they attempt to share their work and "go public" by handing off their modded .oob files to Jason (& co.) for encryption into .obx files. Jason & "deputies" -- we're the gatekeepers. If a player mods his private version of the OOBs, he cannot share it for PBEM play, since PBEM works with encrypted OBX files only, OBX files that remain under the strict control of Jason (& co.).
Note: This new NoEncryption option applies not just to the .oob files. By the same means (using the -X NoEncryption switch), you will be able to mod and directly and immediately access the unencrypted
[*]weapon.pdt
[*]movement.pdt
[*]main.pdt
files.
But again: Not for PBEM or other multi-player game play! For your modding pleasure and private amusement only.
One of the perks of being the Campaign Series Lead Programmer is that if I have an itch, I get to scratch it.
Something that's always bothered me, something that's always confused me: In the heat of battle, when units are firing back and forth, and the A/I is directing its fire and the other side's (the human opponent's) opportunity fire, unless you follow the tracer paths closely it will not always be clear in the Damage Report which side is which. With careful study, you can usually figure out which is the firing side, but it really should be clearer.
My itch is mine to scratch; my wish is my command. Observe:

The old way was for the Damage Report to show the firing unit location and unit type, but not the side, as in the top row. Top row left is an example (from East Front) of a BA-10 at hex 17,8 firing at a PSW 231. Top row right is an example of a Pz 38(t)A firing at a BA-10. Unless you know your units really well, or even if you do but the unit designations are similar, it's not perfectly clear which side is firing at which, is it?
In such situations, the new-and-improved Damage Report makes explicit which is the firing side. Bottom row left is an example of an Allied BA-10 firing at a PSW 231 (implied Axis). Bottom row right is an example of an Axis PSW 231 firing at a BA-10 (implied Allied).
Clearer, no?
This tweak only applies if High Details are in affect. A couple more tweaks:
[*]We have removed the Details/Delay toggle from the Damage Report (the little 'o' or 'x' in the upper left hand corner). One sets the Details/Delay in the Options > Highlights menu.
[*]With Extreme FOW in effect, High Details are no longer available.
Extreme Fog of War should be ... extreme. We are looking at other ways where Extreme FOW might provide fewer details to the player, not more.
Some people post pics of their wives or kids or pets on-line. Not me. If you will indulge me, a few glimpses behind the scenes...
My current "little home improvement project": framing/drywalling/dooring The Man Cave, aka The Little Shop of Horrors:

My son and I did all the framing. The electrician was here last weekend to finish up the wiring and lighting. We do the dry walling next. Slowly but surely, getting it done.
Some scenes from

The cast:

[*]In the foreground, my primary Windows 7 CS development system.
[*]In the left background, my dual-boot Windows 7/Windows 8.1 CS test machine.
[*]In the right background, my primary (OpenSUSE) Linux development system.
[*]In the far background, my Windows XP CS test system.
The first three listed systems are all dual monitored, and all three host (OpenSUSE) Linux virtual machines.
So, all in all, counting primary and secondary (dual boot) and virtual machines, you're looking at eight different actual and virtual systems right there!
A view from a different angle:

The foreground system is temporarily booted into Ubuntu Linux. See the pile of Windows XP folders to the right. I'm just about to build my umpteenth Windows XP system. In the far background, see my Windows 7 primary CS development system. In the left screen, I am running East Front. In the right monitor, Microsoft Visual Studio 2008, overlaid by one of my three Linux virtual machines.
Another view:

To the left, in the left monitor, West Front. In the right monitor, a Linux virtual machine atop a Windows 7 host. (I use Oracle VirtualBox for my virtualization purposes.)
To the right, this is just after I upgraded to Windows 8.1, installed VS 2008, and successfully built the Campaign Series on that Windows 8.1 system. A major step forward!
Tying up some loose ends. You've all heard of spaghetti code. I give you ... spaghetti networks!

We all should hope I code better than I network!
Why such a tangle? Beyond the four actual (eight physical & virtual) systems in The Man Cave, there are -- what? -- four to six other Windows and Macintosh systems around the house. Not counting tablets, e-readers, and smart phones. Awash in technology we are! And would you believe: We don't own any HDTV, and never watch TV! How could we? We spend all of our time playing with our computers!
There's lots more I could show, and report. More game features in the pipeline, more bugs fixed, both old and new. Even pics of my wife and kids. [;)]
But that's more than enough for now.
Until the next time...