Jump to content

HCE Release Notes


Recommended Posts

HCE - 2021.004 - 2021-02-12
- Chg:00000 GE  In commondb BattleSets, if a platform image reference is
                 beyond the bounds of platform images in commondb.rsr, show
                 a blank grey rectangle instead of erroring out of the 
                 program.  (thanks divefreak)
- Chg:00000 SE  In commondb BattleSets, if a platform image reference is
                 beyond the bounds of platform images in commondb.rsr, show
                 a blank grey rectangle instead of erroring out of the 
                 program.  (thanks divefreak)

Link to comment
Share on other sites

  • 2 weeks later...

HCE - 2021.005 - 2021-02-23
- Chg:00000 GE  Dialog window sizes should finally not be saved.
                 Only their positions are saved.  This is for the formation 
                  editor window, map position picker, etc.
                 Also improved the logic for putting windows in a visible
                  location on screen, not just sizing the windows large
                  enough to see the buttons.
                 Friendly reminder, the game functions in multi-monitor
                  configurations but it really isn't multi-monitor aware
                  so you will find some dialogs will always open on your
                   primary display (negative screen coordinates don't get
                   along super well with the game).

Link to comment
Share on other sites

HCE - 2021.006 - 2021-03-02
- Chg:00000 GE  Capped staff_warn messages at 32 before resetting the staff
                 assistant.  Additional code tweaking as compared to 
                 2021.001. (thanks eeustice)
- Chg:00000 GE  More dialog window sizing work.  Now we restore the size, not
                 just the upper-left corner for:
                  Main window, Group window, Unit window, Strategic Map window,
                  Message Log window, Mini Report window.
                 Note for the future, the Strategic Map window isn't sizable so
                  we shouldn't restore the size.

Link to comment
Share on other sites

  • 9 months later...

Sorry all, I forgot to keep updating this thread. 

I expect 2021.014 is the last build I'll release in 2021.

HCE - 2021.014 - 2021-12-28
- Chg:00000 GE  More tweaks to changing altitude/depth and speed of units from
                 the Unit window.  There are a number of rules enforced to 
                 keep the game running reasonably.
                 1. Don't allow changing speed/alt/depth from the Unit window 
                     for single unit groups.  You should be using the Group window.
                 2. Don't allow changing speed/alt/depth from the Unit window
                     for the first unit in the group.  You should be using the
                     Group window to set the stage then use the Unit window to
                     affect 'child' units.  This isn't a perfect solution because
                     the first unit in the group may not be the center of the
                 3. Don't allow changing speed of slaved units.  These units
                     are meant to maintain a specific distance from the group 
                     center.  This is a common status for Main Body (center ring)
                     units.  You can still change altitude/depth.

HCE - 2021.013 - 2021-12-28
- Chg:31914 GE  Aircraft unit speeds can now be changed in the Unit window
                 without crashing the GE.  (thanks donaldseadog)
- Chg:31941 GE  The Day, Month, Year display of GameTime was not incrementing
                 the month at the end of a month so it looked like Groundhog 
                 Day at the end of every month.  Fixed.  Also fixed a month 0 bug
                  that would have flipped from December to a null month instead
                  of January.
                 (thanks donaldseadog)
- Chg:00000 SE  Widened buf variable in SCENSAVE.C MakeScenarioDumpFile in case
                 it was overflowing when saving scenarios with a long path + 
                 file name.

HCE - 2021.012 - 2021-12-22
- Chg:31926 GE  The revamped VC checking code inadvertently required total 
                 victory to be achieved after minimum victory.  This has
                 been remedied and minimum victory conditions can be achieved
                 after total victory conditions are met resulting in total
                 victory being granted. (thanks donaldseadog)
- Chg:31898 GE  The formation editor will draw units in the correct location
                 now for most situations.  This includes changing the group
                 map zoom level while the formation editor is open.
                 Limited testing also suggests units will properly adapt
                  to changing of formation zone sizes.
                 When you select a unit in the unit list, the unit should 
                  have a dotted box drawn around the current position of
                  the unit and the formation zone(s) it is assigned to 
                  should be highlighted.  This means the units will not
                  always show in their assigned zones (aircraft transiting
                  to their formation position, ships catching up after 
                  a formation or course change, etc.).  The Unit window
                  will show the actual positions of friendly units, even
                  for the group that is currently having its formation
                  edited.  That can give you some manner of before/after 
                 (thanks eeustice)

HCE - 2021.011 - 2021-12-20
- Chg:31918 GE  Main body formation units that are supposed to patrol will now
                 choose bearings that cover the entire 0-359 degrees of the
                 compass instead of 0-44 like they did previously.
                 (thanks donaldseadog)
- Chg:31395 GE  Formation air patrols that are shot down will now be replaced
                 if possible.  TonyE broke this functionality in 2010 and has
                 now fixed it. (thanks jugusa77)
- Chg:31166 GE  If a BattleSet, Scenario, or Saved game is specified on the
                 command line, InstantAction will be disabled for that 
                 run of the GE.  (thanks eeustice)

HCE - 2021.010 - 2021-12-20
- Chg:31897 GE  When in the formation editor, don't hide the units for that
                 group from the Unit window. (thanks eeustice) 
- Chg:00000 GE  Made many improvements to non-aircraft maintaining
                 station in formation.  For future reference, this station-
                 keeping is primarily accomplished via formation editor
- Chg:31913 GE  Country 63 was errantly over-written with the text "SIDE" due 
                 to bad code that TonyE wrote. (thanks eeustice)
- Chg:31913 SE  Country 63 see above.

HCE - 2021.009 - 2021-12-13
- Chg:00000 GE  If there is no minimum victory condition defined for a side,
                 the GE will now evaluate total victory conditions for that side.
                 (thanks Enrique)
- Chg:00000 GE  Victory Conditions are now checked every 2 GameTime minutes
                 instead of Blue at 2 minutes, Red at 4, Blue at 6, etc.
- Chg:00000 GE  If a side meets Total Victory conditions before Minimum
                 Victory Conditions, the Total still counts and Total Victory
                 is awarded when the Minimum Victory Conditions are met.
- Chg:00000 GE  The game now tracks the GameTime at which each victory level
                 is achieved for each side against each other side 
                 currently Blue and Red only.  This is to determine who hit
                 each victory status first and someday down the road for
                 UI enhancements and/or exposure via ExportDLL interface.
- Chg:00000 GE  Incremented saved game version for VCStatus globals addition
                 and VictoryConditions changes. SaveVersion = 0x34803218;
- Chg:00000 GE  Incremented scenario version for VictoryConditions changes.
                 ScenarioVersion = 7;
- Chg:00000 GE Expose VictoryConditionLevels element of Globals to the ExportDLL
                in the ScenLoad call.  It is currently 226 bytes from the start
                of the GLOBALS structure to the CurrentVictoryLevel element.
- Chg:00000 GE Populate gameTimeAchieved element of a Victory Condition when
                it is met.
- Chg:00000 GE Incremented ExportDLL interface version to 29.
- Chg:00000 GE ExportDLL added VictoryConditionAchieved call which sends a
                PHCVictoryConditions pointing to the Victory Condition that
                was just achieved.
- Chg:00000 GE ExportDLL added VictoryConditionLevels call which sends
                side, enemySide, and vicLevel uchars to indicate which level
                changed.  Use those to index into the 
                structure you received a pointer to from ScenLoad.
                Also look at 
                 Globals.VictoryConditionLevels.firstTotalVictory if interested.
                 If the time on one of those matches the current GameTime,
                  that means it just changed.    

HCE - 2021.008 - 2021-11-22
- Chg:31395 GE  NOT FIXED!  Formation air patrols that are shot down are not being
                 replaced.  If they go bingo as usual, they are replaced.
                 (thanks jugusa77)
- Chg:00000 SE  Code refactoring style-wise and expanding of number of
                 Victory Conditions that can be shown for a scenario.
                 (thanks Enrique)
- Chg:00000 SE  Instrumented ScenDurationDlg for troubleshooting Byron's 
                 crash while trying to set scenario duration.

HCE - 2021.007 - 2021-08-17
- Chg:00000 GE  Started working on giving the player the ability to change the
                 Depth/Altitude of individual units in a group via the Unit
                 window. (thank Jean)
- Chg:00000 GE  Started working on bearing only launch of torpedoes.
                 (thanks Rabbit)

Link to comment
Share on other sites

HCE - 2022.001 - 2022-01-03
- Chg:31956 GE Fixed a zero kts loitering bug that TonyE did NOT create <g>. 
                 This was a result of AltSpeed Events that came in with a change
                  to throttle but the new speed set to -1.  It was correct to
                  set the speed to -1 in the event, the code should have
                  been looking up valid speeds for the group or unit and 
                  applying that speed.  The code now does that.
                  (thanks eeustice, donaldseadog)
- Chg:00000 GE  Extended beta expiration to 2026.

Link to comment
Share on other sites

  • 3 weeks later...

HCE - 2022.002 - 2022-01-20
- Chg:00000 ALL Moved from Visual Studio 2019 to Visual Studio 2022.
- Chg:00000 ALL Merged from VS2019 branch back to trunk on SVN.
                 /branches/HCE-2020-004-VS2019/ to /trunk/

Link to comment
Share on other sites

  • 2 weeks later...

HCE - 2022.003 - 2022-02-02
- Chg:00000 GE Incremented ExportDLL interface version to 30.
- Chg:00000 GE ExportDLL added AssignGroupId call which sends a
                PHCGroup pointing to a group that needs an id.  The
                expectation is that the ExportDLL will assign one.
- Chg:00000 GE In CreateGroup ExportDLL call, code changed to
                make sure the side is assigned before the Group Id
                since the side influences which Group Id will be 
- Chg:00000 GE Hack to fix the dark blue water color after
                using textured maps.  Loading the textured map
                overwrote the palette resulting in a poor best
                match.  The hack is the GE is now hard-coded to
                add the dark blue water color to the palette,
                replacing one color from the textured map.
                harpoon.c ~line 2132
                  // ALE 20220202 Make sure we have water colors in palette
                Also figured out that things are ugly if one
                 tries to use textured land without textured

Link to comment
Share on other sites

HCE - 2022.004 - 2022-02-02
- Chg:31976 GE assign_group_id has been modified to check potential new group
                ids against the old group id rather than checking the new
                against the new which had obvious challenges!  It wasn't an 
                issue until we started doing things like assigning new group
                ids to existing groups.  (thanks eeustice)

Link to comment
Share on other sites

HCE - 2022.005 - 2022-02-07
- Chg:00000 GE Incremented ExportDLL interface version to 31.
- Chg:00000 GE ExportDLL added GroupFree call which sends a
                PHCGroup pointing to a group that should be free.
                Freeing a group means free any remaining units, airrecs, 
                 uncertainty zones, harpoon events, etc.
                If the ExportDLL's GroupFree returns false then the GE will
                 free the group as normal and GroupFree ends up being an
                 indicator only that a group is being freed.  This was added
                 to enable an ExportDLL managing group ids to recycle the
                 Group Ids of freed groups.

Link to comment
Share on other sites

  • 2 months later...

HCE - 2022.006 - 2022-04-08
- Chg:00000 GE Incremented ExportDLL interface version to 32.
- Chg:00000 GE ExportDLL added ScenLoaded call which notifies ExportDLLs when
                the game is ready to start running the clock.  The pre-existing
                ScenLoad call is called before groups, units, and many other
                objects are loaded.
                ScenLoaded is called once when the internal mechanics are done.
                ScenLoaded is called a second time when all ExportDLLs have 
                 finished their own ScenLoaded calls.  Word of caution, don't 
                 change any game state in the second ScenLoaded call to your
                 ExportDLLs since that would defeat the purpose of the second
- Chg:00000 GE Scenario format version 4 added the ability to save the
                group id in the scenario file but the GE has not read those
                group ids until this version.  Implementing this change
                among many others, allows custom group id generation 
                ExportDLLs to operate correctly when loading scenarios,
                not just saved games.
- Chg:00000 GE Change ExportDLL calling convention from __stdcall to __cdecl.
                The intention was always __cdecl except the use of a FARPTR
                 was overriding that.
- Chg:00000 GE Tons of code improvement, null check additions, etc.  Work
                spurred on by VS2022 static analysis tooling.
- Chg:32081 GE Creating a formation patrol while holding down shift key for
                initial placement would include the Main Body ring, which
                should not be allowed.  Fixed (thanks donaldseadog)

Link to comment
Share on other sites

  • 1 month later...

HCE - 2022.007 - 2022-04-30
- Chg:00000 GE Minor change to give ExportDLLs the opportunity to process 
                Harpoon Events as part of the scenario loading process.

HCE - 2022.008 - 2022-05-21
- Chg:32297 GE Fixed heap corruption in BOL.  The game was trying to come up
             with a class name for the activation point 'group' which isn't
             possible.  When class name is requested for an invalid annex_id
             the game now sets it to a null string.  (thanks TonyD)

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

  • 2 months later...

HCE - 2022.009 - 2022-07-29
- Chg:00000 PE Added reference to Microsoft Scripting Runtime so that 
             FileSystemObject can be used for reading .csv files.
- Chg:00000 PE No longer uses the MS Access Import and Export Specifications,
             imports and exports are now done with file reader & writer and
             DAO.recordset.  This works around Microsoft breaking the import
             and export spec functionality.  As a side effect, it makes it
             easier to modify the structure of the database.

  • Like 2
Link to comment
Share on other sites

HCE - 2022.010 - 2022-08-05
- Chg:32451 GE Fixed an uninitialized variable platNow that would trigger when
                AI guns engage against player missiles. These are showing up
                as a result of better tooling in the Microsoft runtime.  There
                are likely hundreds of these unitialized variables scattered
                in the HC code.  The warning dialog for them only appears in
                debug builds but each one fixed is an opportunity avoid
                potential corruption of the game state/memory. (thanks eeustice)

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

HCE - 2022.011 - 2022-08-19
- Chg:00000 GE Code cleanup, mainly renaming variables with the name "type"
                such as unit type, group type to help isolate an uninitialized
                variable with that name. (thanks donaldseadog)
- Chg:00000 GE Code cleanup, hundreds of additional variable initializations,
                many of the warnings were false positives suggesting a variable
                could be uninitialized upon use where really it wasn't possible
                in the flow of the code, but still, working over decades toward
                zero compiler warnings for the core game code.
- Chg:00000 GE Call ntdll.dll directly for Windows version since Microsoft
                deprecated the formerly easy ways with Windows 8.1.
- Chg:00000 SE Ditto on all for SE because why not.


57 source files changed, 747 lines inserted, 2558 lines deleted!

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...