From: Georgetown, Texas, USA
Here is the change list for 22.214.171.124. Note that we have already found a problem that will occasionally cause excessive delays during DivideCrippledTF processing - caused by erroneously checking everything twice (just in time for Christmas). No loss of data but a bit irritating. Something for the next patch!
Item 1 - Refueling from AOs
Task Forces that included an Oiler could not refuel from the fuel stores of that oiler. They would refuel from the normal fuel carried by the oiler (or any other ship).
Modified code to allow AOs and TKs in Replenishment TF to refuel themselves from their own fuel cargo. Added recalculation of total load for AOs/TKs if some of their fuel cargo was used. Ensured that Tankers could only perform underway refueling if they were in a replenishment TF (Pearl Harbor TF rule). Also adjusted error message for more detail.
Item 2 - Divided Land units shedding disruption.
Disruption could be removed from a large land unit by dividing and immediately recombining the unit. Fixed.
Item 3 - Allow PG to be included in auto-convoy.
Auto Convoys will not accept PG type ships as escorts when several true ASW ships are classed as PG in WITP. Several Posts on Forum but never addressed.
Item 4 - Fix Pilot allocation on divide to assign existing group pilots to pilotless aircraft.
Allocation of Pilots between sub-groups on AirGroup Divide produces inconsistent results. Uneven pilot distribution between sub groups upon Air Group Divide was addressed in V1.8. The fix did not ensure exactly even distribution but merely corrected excessive allocations of pilots to the "/A" group. The remaining unevenness was primarily divide remainder based on dividing several numbers by three.
Part of the V1.8 fix removed an existing feature that automatically assigned pilots to planes if needed. These were pilots that were already in the airgroup but not yet assigned to specific planes. Assigning pilots to planes during this process tends to use up available pilots in the "/A" subgroup and short those processed later.
This is the change that resulted in the inconsistencies. If an airgroup is divided at different times during the same turn or divided, reformed, and re-divided in the same turn, the allocation of pilots will be significantly different each time. This is due to the inability to predict which aircraft will have pilots and which will not.
This fix reinstates pilot allocation to pilotless planes. It may exacerbate the uneven allocation of pilots in certain circumstances but will also reduce the chances of a crossed allocation where one group has more pilots than planes while another has more planes than pilots.
Item 5 - Clear experience and Morale from disbanded airgroups
Disbanded airgroups were returning with experience levels of their previous pilots. The result of this was a cheat to disband an airgroup with well-experienced pilots into another group, select reform for the disbanded group, and have it return in 90 days with a whole new set of well-experienced pilots. Cleared the experience value on disband, allow group experience to recalculate on return. Also cleared the morale field so it too will recalculate.
Item 6 - Disbanding into air groups not on map.
Disbanding or Withdrawing airgroups check to see if an appropriate air group is available into which to transfer the planes (and pilots for disband). The detection of this appropriate group failed to check the delay status of airgroups so airgroups with delay>0 were being selected as disband/withdraw into targets if their scheduled arrival location is the same as the disband location. Fixed
Item 7 - Destruction of stranded units occurring during orders phase.
An existing routine that handles final destruction of isolated, badly damaged units could be called during the orders phase, making the affected land unit seem to simply disappear. Moved the call of this routine to combat resolution phase and added reporting to the CombatReport file and the active message scroll.
Item 8 - Correct improper draws on Named Pilot Pool
Some pilots in the Named Pilot Pool could be "freed" (i.e. deleted) during calculation of max pilots. NOTE: even though the disband into pool function has been withdrawn for PBEM, this fix needs to be implemented as protection for pilot cleaning.
Item 9 - Adjustment to Airgroup Display after transfer.
Continuing problems with display of "empty" airgroup after transfer. Version 126.96.36.199 corrected this for display of another airgroup. Fixed this variation of the error but others exist and are rather difficult to track down.
Item 10 - Draw One Aircraft from Pool not decrementing supply.
The Draw-One-Aircraft-From-Pool function does not decrement supply at group's base. Checks for availability of supply are correct, the supply is just not consumed. This feature was added in V188.8.131.52. Supply now consumed.
Item 11 - Removal of function to Withdraw Pilots
Prior to Version 1.7, this routine was intended to withdraw experienced pilots for rest and a promotion. They were promoted, had fatigue cleared, and were set to return (to their original airgroups) after a short delay. As part of the running-out-of-pilots changes, this was changed to simply deleting the experienced pilots. At the same time a general pilot sweep loop was added to remove excess pilots when remaining pilots were reduced to a certain level. This rendered the withdrawal of pilots redundant. Also, it's process of deleting well-experienced pilots seems improper while sufficient pilot slots are still available.
Item 12 - Recombining Land Units incorrectly averaging preparation points.
When recombining a Land unit that has been divided and had it's sub-units set to different targets, the preparation points were being averaged as if all of the sub units were prepared for the same target. The target of the "/A" subunit will be the target of the recombined unit. Adjusted calculation of preparation points to use the current averaging method only if subunits have the same target. If they have different targets, halve the preparation for the main unit.
Item 13 - Prevent withdrawal of groups with fragments on the map.
A group may not be disbanded if it has fragments anywhere on the board but this check was missing for Withdrawal. Also, a fragment can be withdrawn and it probably should not be. Note: this error was allowing fragments of ship based airgroups to be withdrawn. When they returned they stayed in perpetual "organizing" due to lack of an HQ.
Item 14 - Improper Messages during Torpedo Attack
Improper messages could be generated during attacks by level bombers that could carry torpedos.
Item 15 - Realignment of Ship Class Screen
Use of -altFont causes ship names to overlay speed column. Moved ship name column to the left.
Item 16 - Correct check on airgroup disband.
An airgroup disband range check that was intended to control disband to airgroup subunits was using the wrong control variable. This was preventing disband of ship-based airgroup fragments.
Item 17 - Restructure end-of-turn processing for efficiency
There is a very large delay at "Training Ship Crews" near the end of turn processing. Found that two following functions do not have messages - so their delay appeared to be part of "Training Ship Crews". Added messages ADJUSTING AVIATION SUPPORT and LAND UNIT REPLACEMENT PHASE. Reworked all three routines for efficiency.
Item 18 - Restructure Aircraft Landing Phase for efficiency and proper message generation.
Message "PILOT ASSIGNMENT PHASE" was being generated before message "AIRCRAFT LANDING". Corrected process order and restructured for efficiency.
Item 19 - Add Rail Transfer of Groups will all-damaged aircraft
Airgroups with some ready aircraft could be rail transported if required (all aircraft becoming damaged) but airgroups with only damaged aircraft could not. Can now.
Item 20 - Change the load cost displayed on Static Ground unit lists to show 'Static' rather than a very large number.
The text "Static" is displayed on the individual land unit screen for units that have static devices (load cost 9999). However lists that included such units displayed a numeric value that included a sum of the load cost for all devices - resulting in an improper and very large number. Corrected such list displays to show the text "Static". Note that text "Static" will sort low, so Static units will appear next to the lowest load cost unit.
Item 21 - Correct processing for floatplane groups on submarines.
The routine that handles aircraft on ships first determines the type of ship. Different processing is used for Airgroups on carriers, Float Plane airgroups on BB, cru, CS, AV, ML, and PG, and Airgroups on AK (as cargo). Submarines were not properly processed since V184.108.40.206. Added submarines to list of float plane ships.
Item 22 - Floatplane-carrying ships in Fast Transport TF record airgroups as cargo.
When ships with an assigned floatplane group are included in a Fast Transport Task Force and do not end up transporting any unit, their floatplane airgroup will be converted improperly to a cargo unit. This results in the airgroup being unloaded as if it were a land unit, with resulting out of bounds index problems and intermittent crashes. Fixed.
Item 23 - Removal of Disband Into Pool Function for PBEM play.
Function removed for PBEM or head-to-head play as it has been broken by cheaters.
Item 24 - Removal of Withdraw Into Pool Function for PBEM play.
Removed for PBEM or head-to-head play.
Item 25 - Removal of display of Named Pilot Pool.
Too little data available and of little value without full implementation of Disband into Pool.
Item 26 - Correct Motorized Support used as engineering vehicle
All type 25 (Vehicle) devices were recognized as engineering vehicles. Limited to the specific Engineering Vehicle device.
Item 27 - Allow transfer of torpedo planes to a carrier in a task force.
Torpedo planes were omitted from the list of aircraft that could transfer to a carrier in a Task Force. Added.
Item 28 - Return number of Kills by air sub-group to parent.
Number of kills recorded by a sub-group was not being added into the parent airgroup on recombine. Added.
Item 29 - Leader loss after divide of parent subunit.
Land unit divide was leaving the parent leader assigned to sub-unit "/A" but still pointing to the parent. This resulted in the leader being removed and the "/A" subunit suddenly acquiring a Staff Officer as leader. Modified Unit Divide process to properly assign leader to "/A" unit.
Item 30 - Assorted Message errors and improvements.
Output string parameter was mistyped at three places, resulting in portions of the formatting instruction being printed as text. Also found three messages loaded for addition to Operations Report but not actually printed. These were for own-side unit arrivals when playing against the AI. Fixed. Added an additional message for ships being upgraded, also only for own side when playing the AI.
Item 31 - Confirmation step for Disband and Withdraw Airgroups.
The Disband AirGroup and Withdraw AirGroup routines work differently depending on the number of airgroups with the same aircraft/nationality at the same base.
-If there are more than one possible groups to which to transfer the aircraft, a list is presented and the user may either chose one or cancel the disband/withdraw.
-When we had Disband/Withdraw Into Pool, there was an "are you sure" verification step (whole feature now removed for PBEM).
-If there is only one possible disband/withdraw into airgroup, the disband/withdraw happens immediately, without verification.
Add verification for Disband and Withdraw airgroup when only one disband/withdraw into airgroup present.
Item 32 - Adjust size of Carrier's VB unit at the same time that the VS unit is disbanded into it.
At some point during U.S. Carrier group re-organization the carrier's VS squadron is merged into the VB squadron and the VS unit disbanded. The maximum size of the VB squadron is doubled, but not at the same time. A subsequent execution of the adjustment routine is counted on to up the maximum size but players may move the carrier before this happens, leaving the VB under-sized and over-stocked. Adjusted the maximum size of the VB unit at the same time the VS unit is disbanded into it.
Fix 33 - Fix USN VBF replacement state when game started with Replacements OFF
VBF airgroups slated for late-war arriving Essex class CVs are coded with 9999 delay in the database. In 1945, the carrier airgroup processing routine will make them appear on their respective carriers. However, execution of this routine is contingent on the No Replacements function being off. If the game is started with the All Replacements Off function selected, all squadrons have replacements set off, including delayed squadrons. This results in the VBF squadrons being perpetually ignored and never arriving. Fixed.
Item 34 - Prevent air groups without HQ from being stuck in Organizing
Arriving airgroups that do not have an arrival base specified will arrive at the location of their Headquarters. Airgroups without an HQ (Independent) can not have an arrival base assigned and will not go through proper arrival processing. Such groups are not normal but can result from disbanding and are present in some ongoing games. Intercept Independent arriving airgroups that have no HQ but do have a valid nationality and set arrival based on the Home Base of that nationality.
Item 35 – Allow arriving Japanese airgroups to appear on map with less than maximum aircraft.
Current airgroup arrival processing requires that there be enough aircraft in the pool to fully equip the airgroup. An attempt is made to equip it with upgrade or downgrade aircraft but, if that is not possible, the airgroup is set to “organizing” status until enough aircraft build up in the pool. Since combat operations frequently keep the pool numbers depressed, such airgroups frequently end up perpetually organizing. Allow airgroups to arrive with less than maximum aircraft. This will put them on the board and under player control.
Item 36 - Fix SYS damage error in Ship repair when a damaged weapon is present
The Ship Repair routine is only called for ships with at least one point of system damage. A check in this routine is intended to ensure that that last point of system damage is not repaired until all weapons damage has been repaired. However this check was incomplete, resulting in ships being “fully repaired” while still having damaged weapons – which would then never be repaired. Extended the existing check to specifically verify that no weapons remain damaged.
Item 37 - Fix overflow in fuel calculation
Ship classes with very large fuel amounts can lead to a numeric overflow in the refueling routine. This generates a very large negative number and actually adds fuel to the refueling base instead of subtracting it. Increased size of local variables to maximum unsigned integer to reduce chances of overflow. Also bulletproof with a check to ensure the result is not negative nor greater than class fuel.
Item 38 - Correct joint air attacks
Test for possible joint air attacks was considering range to target but not target, resulting in air units from one part of the map joining in attacks in other, distant locations. Added same-target check.
Item 39 - Properly account for removed fragments during Land Unit Divide Check.
Fragments created when a large land unit is transported by sea were not being completely cleared when the unit arrived at it's destination and the fragments were folded back into the parent unit. This prevented the parent from subsequently being able to divide as the divide routine thought there were outstanding fragments of the unit. Modified the fragment removal process to fully clear the fragment. Also bullet proof the divide routine to recognize "removed" fragments so games in process will function.
Item 40 - Correct respawn of Allied Cruisers as U.S. Army Ships.
U.S. and Australian cruisers that are sunk will respawn as U.S. Cleveland or Baltimore class ships. The re-spawn routine sets the nationality in case the ship was originally Australian but uses the incorrect variable. This results in the ships being assign a nationality of U.S. Army, which links them to incorrect leaders. Changed to point to U.S. Navy instead of U.S. Army. Also tightened up processing of airgroups, handled circumstance of airgroups not on ship at time of loss.
Item 41 - Clear captains from scuttled ships, provide chance of captain surviving sunk ship.
Captains from scuttled ships were not being properly freed, making them "disappear". Freed leaders from scuttled ships. Also reviewed the processing of leaders for all sunk ships and reworked processing to ensure proper freeing of leaders. Provided chance that Captain might survive - with improved chances for both Captain and TF Commander (if different) if there are other ships present when a ship is sunk.
Item 42 - Allow limited refueling from Soviet Bases once Soviets are active.
Fueling is not allowed from Soviet Bases until soviets are active. Found a few places where the "until soviets are active" portion of the check was not implemented. Corrected all checks to include soviet activation. Also limited refueling once soviets are active to Ships in Soviet Task Forces unless base has been captured by the Japanese, in which case only Japanese ships may refuel there.
Item 43 - Activate Four additional Aircraft icon sets.
There are 249 aircraft but currently only 244 sets of aircraft artwork. Have found that this can be easily expanded to 248. Expansion to 249 is not easily available as the artwork comes in sets of four and the system will not support 252. NOTE: this will not affect stock scenarios but can be used for modified scenarios, which have run up to the 244 limit.
Item 44 - Correct aircraft pool "leak" for reinforcement carrier airgroups
Arriving reinforcement carrier squadrons become trapped in a pool draw-down loop. They draw aircraft from the pool but are not properly set up and "lose" the aircraft. Next turn they do it again - leaking the squadron's max aircraft setting from the pool each turn. Carrier airgroups should not be in the reinforcement queue but save games do show them. Fixes in 1.8/220.127.116.11 and another fix in 18.104.22.168 have addressed this but this additional fix is needed for squadrons that are already in the queue (or may end up there due to more variations of the original withdraw/loss error). Forced airgroup initialization. This will ensure the arriving airgroup is properly processed and the planes drawn from the pool are properly used.
Item 45 - Disappearing unit during air pick up.
Pick up of unit by air transport incorrectly transposing parameters and possibly causing disappearance of unit being picked up. Corrected parameters and added more bulletproofing.
Item 46 - Airgroup Transfers
Miscellaneous clean up for inconsistencies in Airgroup transfers. Add Carrier-to-Dock/Dock-to-Carrier transfers of aigroups to include damaged aircraft. Two more occurrences of phantom airgroup display found and corrected.
Item 47 - Remove listing of Ready/Damaged/Reserve aircraft from reinforcement Japanese airgroups.
This information was misleading as no aircraft actually arrive with the groups and they must be filled out using production aircraft.
Item 48 - Remove residual Task Force names from TF Mouseover, miscellaneous improvements.
Removed residual names (as entered in editor). Added name of ship in single ship task forces. Suppressed some zero data, corrected alignments, reported load/unload condition.
Item 49 - Adjusted editor Task Force ranges from 400 Japanese/100 Allied to 250/250.
Range is now 3500-3749 for Japanese and 3760-3999 for Allied. No affect on current games or stock scenarios - useful only to modders.
Item 50 - Expand minelaying control, allow mining of home ports.
Used Unload/Do Not Unload to control minelaying at destination. Minelayers may now mine home ports and/or make stops without mining. Minelyaing messages are generated if at least one side is under computer control.
1. When created or rearmed, minelaying TFs will have their minelaying control set to "Do Not Lay Mines". It must be manually set to "Lay Mines" when the player orders the TF to the location where it is to lay mines.
2. Minelaying TFs that were created prior to this update and that return to their home ports after this update will immediately reload mines and lay them in the home port. This is due to the unload/do not unload option being in the default (unload) condition. Once the upgraded game takes control of minelayers this will not happen.
Item 51 - Corrected problems with the airgroups-at-base screen.
Removed unused hotspots and identified carrier and independent airgroups. Corrected problem with damaged data after sort by HQ (caused by hotspots).
Item 52 - Adjusted ship and transfer-to-ship displays to highlight ships over capacity.
For the ship display, over capacity is listed in light red up to 115%, then dark red. For the transfer to ship display, calculation of over-capacity includes the airgroup being transferred (carrier might not be over-capacity now but would be if transfer was made).
Item 53 - Prevent carrier airgroups from auto-transferring to command HQs when transferred ashore.
Fix implemented only for human player.
Item 54 - Prevent carrier airgroup fragments from returning to their parents if out of range.
Fix implemented only for human player. AI will still use this feature.
Item 55 - Scuttling the last ship in a Task Force produces unpredictable results.
Scuttling the last, or only, ship in a Task Force produced unpredictable results. If the TF was at sea, focus would be lost. This was normally just a display anomaly which could be corrected by refocusing the screen. If the TF was at a port the application would randomly either crash or lose the ability to properly display units at a base.
Item 56 - Cancelling TF creation immediately after disbanding the last TF at a base produces unpredictable results.
Disbanding the last TF at a base left base TF pointers in an inconsistent state. This was wrong but did not cause any crashes due to the order of processing. When a TF creation was started and then aborted without building a TF, the globals were partially reset to their previous (now invalid) values, causing unpredictable results and occassional crashes.
Item 57 - Loss of Land Unit display at a base
Under certain circumstances land units at a base would not display when that base was selected. Found and fixed invalid unit pointer.
Fix 58 - Enemy mines reported as Friendly
An error in the mine counting routine was counting all mines in a hex, friendly or enemy, instead of just friendly. Fixified.
Fix 59 - Add Ships-due-Update to ships screens
Provide a selection on the ships screen (hot key "s" screen) and ships at anchor screen (displayed after pressing "Anchor" at a base). For both, toggle between displaying all active ships (current mode) and displaying only those ships that are due to a refit (upgrade). Due for upgrade is defined as having reached or exceeded the month/year in which the ship's current class is due to upgrade to the ship's upgrade class.
Fix 61 - Load Troops option grayed out on transport TF
The load troops option would sometimes not be available on a transport TF. Load only troops would be available normally. Found a residual value in the loadTroopsOnly indicator that was not being properly cleared. While in there also found improper clearing of the Do Not Unload control and an internal indicator that controls unloading. These resulted in an occasional mismatch between the Do Not Unload option and Loading/Unloading troops. Cleared them.
Fix 62 - Switching between Pearl Harbor and San Francisco using the "Go to Home Port" button does not properly reset page pointers.
This resulted in possible improper display of AirGroup, Task Force, and Land Unit "pages". Fixed
Fix 63 - Enhancements to all four ship list screens for more detail in ship type selections.
For the Ship List, Ships at Anchor List, Ship Reinforcement List, and Ships Sunk List, provided extra selection capability:
1. Broke out CVE from carriers, leaving CV/CVL as only fleet and light carriers.
2. Broke DD category into three: DD, DE, APD
3. Split AP/AK into two separate selections.
4. Split TK/AO into two separate selections.
5. Created new selection "Mine" for all minecraft and removed from "AUX"
6. Created new selection "Pat" for all small "patrol" warships and removed from "AUX"
7. Created new selection "LS" for all larger landing ships (LSD, LSV, LST) and removed from "AUX"
8. Created new selection "LC" for all smaller landing craft and removed from "AUX"
9. Retained Aux, now limited to auxiliaries and tenders.
In addition, added "side" selection to Sunk Ship Lists to allow optional display of Japanese or Allied ships.
Fix 64 - Enhancements to Aircraft Replacements Pool Screen.
Added aircraft type selection, along with additional selections to allow selective display of active or R&D aircraft and those aircraft with planes in pool or without.
Fix 65 - Aircraft being returned to pool when a group has fragments on the board.
Airgroups with fragments would sometimes see aircraft disappear from the parent or fragment. This was caused by an incorrect calculation in total authorized size of the fragments, which triggered an automatic return of "extra" aircraft to the pool. Fixed.
Fix 66 - Control Zone boundary error.
Some hexes in x row 50 and y row 89 were incorrectly being reported as South Zone when they should be in South East. Fixed.
Fix 67 - Next/Previous Task Force Hot Key
The ">" and "<" keys can now be used to move through active task forces. For convenience, the unshifted ".' and "," may also be used. When the Next/Previous hot keys are used, any currently open screen is closed and the map is centered on the next or previous task force (by TF number). In addition, the Next/Previous Task Force is conditioned by the Task Force selections in the Task Force List Screen (hot key "t"). If, for example, only Submarine Task Forces are selected using the controls in the Task Force List Screen, the ">" key can be used to sequentially step through all submarine task forces.
Fix 68 - Bulletproof against divide by zero error.
If players move airgroups on/off carriers such that none of the original groups are on a carrier and other group(s) are, the airgroup size calculation will produce a divide by zero. We do keep telling you not to do this.
Fix 69 - Sync bug caused by escape during strafe attack.
Hitting the escape key during replay of a PBEM turn while a strafe attack is being processed will result in loss of synchronization of the replay. Fixed.
Item 70-> Internal restructure.
Several internal processing routines have been restructured and/or modified for efficiency. No change to game function.