Shannon V. OKeets
From: Honolulu, Hawaii
Attached is a zipped file that contains the new MWIF.exe: version 02.09.05.00. It also contains the release notes shown below.
This is most likely the last Hot Patch before "NetPlay Ready" update is made available.
Release Notes for Version 02.09.05.00
(changes since Hot Patch 02.09.04.00)
All Modes of Play
1. Moved the Air-to-air Combat form so its left edge is 50 pixels to the right of the Main form’s left edge. This change is to make the popup form describing the results of a dice roll always partially visible. The popup form is positioned so its left edge is 20 pixels left of the Air-to-air Combat form. That’s so the Air-to-air Combat form never completely covers the popup form. However, some players place their Main form on the left edge of the monitor. For those players, before this change, the Air-to-air Combat form was directly below of the Main form, which meant that its left edge was on the left edge of the monitor, and the 20 pixels of the popup form which should have been visible were off the screen to the left.
2. Fixed a cosmetic bug in reporting the results of an air-to-air combat where the side of the unit affected was sometimes incorrect (e.g., select an Axis unit instead of select an Allied unit).
3. Fixed a problem with naval air combat where carrier air bombers which voluntarily chose to abort from an air-to-air combat were incorrectly bombing enemy units instead of returning to their carriers.
4. Fixed a problem with landing carrier and land based air units - both flying as fighters - from an air-to-air combat when there is only one viable carrier on which the sole carrier air unit can land.
5. Fixed a problem with doubled (by O-chit) artillery units bombarding during a ground strike not getting both die rolls on the first unit in the defending stack.
6. Added a check so the value of a notional units never goes negative (i.e., equal to 255).
7. Moved various procedures/code concerning naval interception into a separate module. This should have no effect on how the code executes. Rather, it makes it easier for me to review and modify the routines having to do with what happens after a naval interception occurs. Specifically, all the branching logic for picking up cargo from coastal hexes, dropping off some naval units in a sea area, and continuing to move some or all of the intercepted naval units. Naval interceptions are handled as digressions from the normal sequence of play but they can occur in numerous phases: naval movement, naval combat (for units that aborted), return to base, and the places where naval units are forced to rebase because control of the port they occupy has changed to enemy control. There are a lot of logic branches for naval movement and having all those pertaining to naval interception in one file makes it easier to follow the code’s logic paths.
8. Corrected the naval combat results for naval interception combat when the intercepted units are returning to base. Previously the program had been using all units in the sea area to calculate attack factors et al, instead of just those that were staying at sea or in the moving stack.
9. Fixed a problem with intercepting naval units returning to base during the “Return To Base A” phase where enemy units marked to return to base were included in calculating whether an interception succeeded.
10. Fixed several problems with naval interception combats during return to base phases incorrectly displaying units which were not staying at sea.
11. Fixed a problem with continuing naval movement after an unsuccessful (or not attempted) interception incorrectly reducing the moving units movement points by 1.
12. Fixed a problem with continuing naval movement after: (1) a successful interception, (2) a subsequent naval combat, and (3) some of the moving units continuing to move. Prior to this change, the moving units were being given their full movement and range allowance when continuing to move (#3). Now those allowances are correctly reduced by the cost to enter the sea area where the interception occurred and a possible additional movement cost for choosing a section box other than zero.
13. Fixed a newly created problem with intercepting naval units aborting from a combat causing a fatal error.
14. Fixed a fatal problem with dropping off some, but not all, units in a sea area after a naval interception possibility.
15. Fixed a problem with Stay at Sea where if a naval unit had no place to return to base, it was being permitted to move down one section box instead of being destroyed.
16. Removed a check for Last Turn’s production planning when computing Production Planning. This was unused, since there is always a Last Computed which supersedes it. The result should be slightly faster processing for Recompute Production.
17. Fixed a problem in Production Planning with assigning a different factory for the source of a traded build point. This problem in the code could produce a number of weird results, such as creating new non-oil points in hexes.
18. Fixed a problem with the incomplete conquest of Italy so if an Italian land unit survives outside of Italy, its ZOC can now help determine which major power controls a hex in Italy.
19. Fixed a problem with the incomplete conquest of a major power not always assigning control of Build Points to the major power that controls the hex.
20. Fixed a problem with conquest where the major power on the side of the conquered country controlling a hex loses it to the conqueror because there are two major powers on the conquered side which have ZOCs on the hex. This is a very rare occurrence.
21. Fixed several problems with incomplete conquest having to do with hex control. In comparing the rules as coded writeup versus the actual code, I decided that hex control was identical for both complete and incomplete conquest. The board game’s written rules are a little vague about that, so I based my decision on an inference of what Australian Design Group intended when they wrote the rules. One particular change is that if a hex is controlled by a major power friendly to the conqueror (e.g., the Commonwealth controls a hex in the conquered country and the USA is the conqueror) then the major power controlling the hex is unchanged.
22. Fixed a couple of problems with Vichy defection during land combat. One in particular occurred when all the attacking units were Vichy and they all defected.
23. Fixed a problem where an Allied aligned minor country (once controlled by Vichy) incorrectly cooperated with Vichy France.
24. Added Saved Oil Points to the list of stuff that can be destroyed in the Factory Destruction phase. The Rules as Written are a little vague about this, but since Partisans can destroy them, it stands to reason that any land combat unit should also be able to do so.
25. Added the ability to destroyed saved oil points in a hex during the Factory Destruction phase, assuming that all the normal conditions are met for destroying a factory or oil resource in a hex are met. Of course, the optional rules for such conditions occurring also have to have all been selected.
26. Added a check to avoid a fatal error when restoring a saved game during Land Combat Resolution and there are no remaining land combats.
27. Added a check to avoid a fatal error in a damaged game when there is a unit without a name.
28. Added checks in several dozen places to avoid sometimes fatal, sometimes non-fatal, errors when the local major power is not controlled by the local player. This rarely occurs - the one case I saw was when the program had the Commonwealth as the deciding major power for the Allied side during Barbarossa at the start of the Partisan phase. The Commonwealth is not part of the Barbarossa scenario.
29. Added a check to avoid a non-fatal error when initializing the Lending form if a resource has no defined destination.
30. Modified the View Units form (Ctrl-U) so if the selected unit is carrying two other units, then both of the transported units are displayed.
31. Fixed a problem with an Axis bomber aborting due to AA fire halting the game.
32. Added a check to avoid a non-fatal error for determining the bombing side in a port attack.
33. Added a check to avoid a non-fatal error following a naval interception.
34. Added a check to avoid a non-fatal error during naval combat.
35. Fixed a problem with the game halting when one of the Axis countries (e.g., Italy) is incompletely conquered. This did not occur if an Allied country (e.g., Belgium) was incompletely conquered.
36. Fixed a problem with restoring a saved game that starts with an end-of-phase. Prior to this change, the Game Record Log message to end the phase was not being processed by the receiving side when the game was restored.
Perfection is an elusive goal.