Skip to content
View in the app

A better way to browse. Learn more.

HarpGamer

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

HCE Release Notes

Featured Replies

  • Author

HCE - 2020.002 - 2020-03-08
===========================
- Chg:00000 GE  Disabled the "submarine stopping noted" message that was 
                 previously used to troubleshoot unwanted submarine behavior
                 but has become more of a nuisance since the main problem
                 seems to have been fixed long ago. (thanks Tony)

HCE - 2020.001 - 2020-01-20
===========================
- Chg:00000 GE  Extended beta expiration to 2025.
- Chg:00000 GE  For new installs, the GE will read an InstantAction value
                 from HKEY_LOCAL_MACHINE; allowing machine-wide override
                 of the instant action functionality that puts
                 the user in a random scenario in a random BattleSet.
 

  • 2 weeks later...
  • Replies 339
  • Views 124.9k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • HCE - 2025.011 - 2025-02-28 =========================== - Chg:32850 GE Non-air groups could have up to 30 minute delays in turning to                 an intercept course.  Fixed by checking if a

  • 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

  • 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.

  • Author

HCE - 2020.003 - 2020-03-17
===========================
- Chg:00000 GE  Formation patrol aircraft were sometimes forgetting that they
                 were formation patrols so they were stuck in a limbo of
                 sorts.  This led to them running out of fuel and crashing.
                 The fix was removing a break statement in formedit.c that
                 was added in May of 2017.  (thanks eeustice & Rabbit)
 

  • 2 months later...
  • Author

HCE - 2020.004 - 2020-06-17
===========================
- Chg:00000 All Converted from Visual Studio 2013 to Visual Studio 2019 as
                 IDE and Compiler.  This forced a change from overall
                 memory allocation alignment from 1-byte to the default
                 of 8-bytes which could result in some bugs.  HC reads
                 and writes binary structures so must still 1-byte align
                 those that get and written to file so that saving and
                 loading of battlesets, databases, scenarios, and
                 saved games continues to work as expected.
- Chg:00000 GE  When nuclear weapons hit and destroy a whole group, sometimes
             the GE was crashing since the group in question was already freed
                 but not NULL IsValidGroup was modified to notice this situation
                 and avoid the crash.
            TODO I fixed the known crashes but to do that, the group loop
                 exits as soon as an invalid group is found.  This means units
                 that should be destroyed by the nuke may not be destroyed
                 (i.e. they were further down the group list)
            (thanks Julian Schofield students)

  • 4 weeks later...
  • Author

HCE - 2020.005 - 2020-07-10
===========================
- Chg:00000 GE  When loading saved games, use the UnitIds from the saved
                 game rather than re-numbering the units.  This was a 
                 regression from increasing the number of possible units
                 per group from 127 to 254.  The result of the
                 re-numbering is that Harpoon Events didn't have the
                 associated UnitIds renumbered so events would be 
                 orphaned or connected to the wrong units.  This 
                 resulted in such behavior as formation air patrols 
                 being treated like ships and subs.  In short it
                 meant formation air patrols running out of fuel
                 and crashing since they didn't know they should RTB
                 and refuel.  (thanks Tony and eeustice)

  • 2 weeks later...
  • Author

HCE - 2020.007 - 2020-07-23
===========================
- Chg:30480 GE  Rafale C in EC2000 GIUK, NACV, and MEDC had a typo in
                 Medium altitude Afterburner of 9696kt instead of the
                 intended 969kts.  This has been overridden at GE and
                 SE start.  The BattleSet files themselves have not 
                 been corrected.  (thanks Tony)
                https://harpgamer.com/harpforum/topic/30480-hypersonic-rafael
- Chg:30480 SE  Same fix as GE

HCE - 2020.006 - 2020-##-##
===========================
- Chg:00000 GE  Undid the change from 2020.003 as a result of the better
                 change in 2020.005.
- Chg:00000 GE  Did the TODO for 2020.004 nuclear weapon hit resolution.
                 Now all units that should be damaged or destroyed
                 will be damaged or destroyed.
- Chg:30471 GE  SpeedAlt events and IntermittentSensor Harpoon events can
                 appear within scenario files, not just saved game files.
                 Since we didn't build the data conversion into scenario
                  loading, scenarios created before the data structure 
                  changes would be corrupt upon loading into the game.
                 As of this build, it is fixed for IntermittentSensor 
                  events.
                 For SpeedAlt events, the data structure change happened
                  while the scenario file format was version 3.  There were
                  quite a few builds with scenario file format v3 which
                  unfortunately means we have to 100% accurate way to know
                  whether SpeedAlt events need to be converted to load
                  v3 scenarios correctly.  We have implemented a best
                  guess algorithm.  The good news is that there are few
                  publicly released scenarios with the version 3 format
                  so hopefully the impact is small.  If you run into
                  problems, let us know at harpgamer.com as we may be
                  able to recover the scenario and bring it up to current
                  without corruption. (thanks Tony)
                https://harpgamer.com/harpforum/topic/30471-scenario-stops-responding
- Chg:30471 SE  Same fix as GE
 

  • 2 weeks later...
  • Author

HCE - 2020.008 - 2020-08-01
===========================
- Chg:30471 SE  Same fix as GE
                 The ah crap is that this wasn't really fixed in 2020.006
                  for the Scenario Editor.  It is now but as a result the
                  scenario file format needed to be bumped to 6.
                 This leaves scenarios converted to version 4 or 5 from an
                  earlier version in an indeterminate state.  In other
                  words they may be corrupted.
                (thanks Tony)

  • 5 weeks later...
  • Author

HCE - 2020.009 - 2020-08-31
===========================
- Chg:00000 GE  Incremented DLL interface version to 23 for the newly added 
                dllFuncRefs below for the ExportDLLs.
- Chg:00000 GE  ExportDLL interface now makes the assign_group_id function
                 available to ExportDLLs long assign_group_id(GroupPtr pGroup) 
- Chg:00000 GE  ExportDLL interface now calls HarpoonEventQueued when a new
                 Harpoon Event is queued in the game.

  • 1 month later...
  • Author

HCE - 2020.010 - 2020-10-12
===========================
- Chg:00000 GE  ExportDLL interface already checked for null references when
                 calling an ExportDLL function but didn't check for invalid
                 references (for example when the GE is exiting).  The invalid
                 reference check has been added.
- Chg:00000 BS  WestPac Scenario 2.0 had ships aground at scenario start.
                 Turns out this was due to the BattleSet map being projected
                 wrong when the post-WestPac BattleSets were added 
                 (essentially when the BattleSet Builder came along).  
                 The BS Builder has been fixed and the WestPac BattleSet
                  re-exported so that the map extents are more in line with
                  the original WestPac. (Thanks Tony, GrantSn)
- Chg:00000 BSB BattleSet Builder map projection should be more accurate now
                 with the Standard Parallels being adjusted.

  • Author

HCE - 2020.011 - 2020-10-14
===========================
- Chg:00000 GE  Incremented DLL interface version to 24 for changes below.
- Chg:00000 GE  ExportDLL interface DLLInit now sends the srandSeed value to
                 ExportDLLs so that multiple systems can synchronize random
                 values. 
- Chg:00000 GE  ExportDLL interface DLLInit now sends the harpoon_uuid_session
                 value to ExportDLLs, providing an instance of the game
                 unique id.  In other words, if you start two copies of the
                 game, they will each have a different harpoon_uuid_session. 
- Chg:00000 GE  ExportDLL ScenLoad no longer sends the HarpoonPath since that
                 was already sent in DLLInit.

  • Author

HCE - 2020.012 - 2020-10-16
===========================
- Chg:00000 GE  Incremented DLL interface version to 25 for changes below.
- Chg:00000 GE  ExportDLL interface UnitSink now also sends the AnnexId of
                 the sinking unit and the UUID.
- Chg:00000 GE  ExportDLL interface UnitNew now also sends the UUID of the
                 unit.
- Chg:00000 GE  ExportDLL interface UnitFree now also sends the AnnexId of
                 the sinking unit and the UUID.

  • 1 month later...
  • Author

HCE - 2020.015 - 2020-11-27
===========================
- Chg:00000 PE  pfBuild Changed Import Spec "bsStringsImport", RowData from 4096 to
                 32767 which is the maximum allows in Access 2002/XP thru 2019
- Chg:00000 PE  pfBuild Changed cFileIO::BSStringsExport CountryName FieldSize from 16
                 to 32.  BSStringsImport doesn't need any changes.
- Chg:00000 PE  pfData Changed lCountryList Description field width from 16 to 32.
- Chg:00000 PE  pfData Changed lCountryList ID field from type Byte to Long Integer
                       Changed lPlatform Country field from type Byte to Long Integer
- Chg:00000 PE  pfData Changed lCountryList ID field Valiation rule from < 128 to
                 < 1024 as 1024 * 32 == 32768 which is one more than the maximum
                 field width in Access.
- Chg:00000 PE  pfBuild Changed ImportSpecs a1ShipOutput, a2SubOutput, b1PlaneOutput,
                 P1BaseOutput country field from type Byte to Long Integer.
                 The a1Ship (import) specs were already at Integer so didn't need
                  to changed but I did anyway.
- Chg:00000 PE  pfBuild, pfData Changed DB Property "DataVersion" from 3 to 4 given
                 the above structural changes. 
- Chg:00000 DU  dbMake ReadBSStrings adjusted to parse the size line to determine
                 the RESRSRStructureVersion.
- Chg:00000 DU  Many other db_utils changes to accomodate the country name
                 structure changes.
- Chg:00000 PE  pfBuild Changed BSStringsExport magic number from 6976 to 37696
                 to accomodate the country name structure changes.
- Chg:00000 PE  pfBuild changed BSStringsExport to add entries to add empty entries
                 as needed up to the max number so that db_utils can work properly.
- Chg:00000 GE  Fixed a 2008 attempt to convert torpedo acquisition ranges from yards
                 to DUs.  The code was doing the conversion then immediately going
                 back to yards.
- Chg:00000 PE  pfBuild Changed BSStringsImport variable types from Byte to Integer
                 where needed to handle the greater possible number of countries.
- Chg:00000 PE  pfBuild now writes out DatabaseStructureVersion.txt to make sure
                 db_utils makes the proper format commondb.res and commondb.rsr.
- Chg:00000 GE  Incremented DLL interface version to 27 for changes below.
- Chg:00000 GE  ExportDLL DLLInit added parameter RESRSRStructureVersion
                 so the DLL can know what version of DB structures to expect.
                 Current version is 3.  Element is an unsigned long.
- Chg:00000 GE  ExportDLL DLLInit added parameter AnnexVersion
                 so the DLL can know what version of Annex structures to expect.
                 Current version is 2.  Element is an unsigned short.

HCE - 2020.014 - 2020-11-19
===========================
- Chg:00000 GE  Incremented DLL interface version to 26 for changes below.
- Chg:00000 GE  ExportDLL interface DLLInit now sends the information about
                 custom licensed copies of the game. 
                  hclicense_dt_expire (time64_t)
                  hclicense_licensee (255 characters)
                  usblicense_desc (255 characters) 
- Chg:00000 GE  Fixed a year 2038 bug in HCLicense checking.

HCE - 2020.013 - 2020-10-18
===========================
- Chg:00000 GE  Update to license checking code.

  • Author

HCE - 2020.017 - 2020-12-01
===========================
- Chg:00000 PE  Oops, when changing ACType to 256 items, that also changed
                 ACShtType but I hadn't coded all of the utilities for that.
                 2020.016 was not released, 2020.017 fixes that shortcoming
                 in the GE, SE, PE, and db_make.

HCE - 2020.016 - 2020-12-01
===========================
- Chg:30973 PE  pfBuild Open File dialog works again (for choosing pfData file
                 to link) thanks to switching from comdlg32.dll approach to
                 the built-in Access.Application.FileDialog.
                 (thanks TonyD)
                https://harpgamer.com/harpforum/topic/30973-pe-open-file-dialog-when-browsing-for-a-different-data-file-doesnt-show/
- Chg:00000 PE  pfBuild, pfData Changed DB Property "DataVersion" from 4 to 5 given
                 the below structural changes for 255 platform subtypes per 'Annex'.
- Chg:00000 PE  pfData lPlatformSubTypes table, ID column constraint changed
                 from <128 to <256.
- Chg:00000 PE  pfBuild cFileIO::BSStringsExport updated ShipType FieldSize 
                 from 8 to 12.  
- Chg:00000 PE  pfBuild cFileIO::BSStringsExport updated ShipType RecordCount
                 from 128 to 256.  
- Chg:00000 PE  pfBuild cFileIO::BSStringsExport updated ACType RecordCount
                 from 128 to 256.  
- Chg:00000 GE  BSStrings MAX_SHIP_TYPES from 128 to 256, SHIP_TYPE_SIZE from 8 to 12.
                 This includes versioning BSStrings (current version now == 4)
- Chg:00000 GE  BSStrings MAX_AC_TYPES from 128 to 256
- Chg:00000 DU  Updates to handle RESRSRStructureVersion == 4
- Chg:00000 GE  Updated RESRSRStructureVersion to 4 from 3 
- Chg:00000 PE  pfBuild Modified fMenu::Import button to tack on the CDB path 
                 when prompted for a path.  Export button already had it.
- Chg:00000 PE  pfBuild Select directory dialog works again thanks to
                 switching from comdlg32.dll to Access.Applicaiton.FileDialog.
- Chg:00000 SE  Orders\Set Group Speed menu item is no longer always greyed out.
                 There are a lot of other menu and button and disabling issues
                  that could be addressed, just took this one and one collateral
                  item this time through.
                 (thanks Ralf)

  • 2 months later...
  • Author

HCE - 2021.001 - 2021-02-01
===========================
- Chg:00000     Beta installer will now show the UI page that allows changing
                 the installation directory.  (thanks eeustice)
- Chg:00000 GE  assign_group_id instrumented to log a message when all of the
                 Group Ids are used up.  It will show in ge.log.  This was
                 done to help troubleshoot lazTurncoat ExportDLL illegal
                 Group Id assignment in a large scenario.
- Chg:00000 GE  fixed a few more places where country list was still limited 
                 to 255 entries.
- Chg:00000 GE  capped staff_warn messages at 32 before resetting the staff
                 assistant.

  • Author

HCE - 2021.002 - 2021-02-05
===========================
- Chg:00000 PE  pfBuild, pfData Changed DB Property "DataVersion" from 5 to 6 given
                 the below structural changes for passing runway sizes from PE to
                 commondb.res/GE and back.  Max of 128 runway sizes, 32 characters
                 each including the terminating NULL.
- Chg:00000 PE  pfData lRunwayType table, ID column constraint set to < 128.
- Chg:00000 PE  pfBuild cFileIO::BSStringsExport added RunwayString array.  
- Chg:00000 PE  pfBuild cFileIO::BSStringsImport added RunwayString array.
- Chg:00000 GE  BSStrings RunwayString array added
- Chg:00000 DU  Updates to handle RESRSRStructureVersion == 5
- Chg:00000 GE  Updated RESRSRStructureVersion to 5 from 4
- Chg:00000 GE  Added constants OLD_MAX_RUNWAY_SIZES = 8 and
                 OLD_RUNWAY_STR_SIZE = 16 and proliferated them in the code.
- Chg:00000 GE  Note that a runway cannot be reduced to a length less than the
                 fourth runway size entry which historically has been STOL. 
 

  • Author

HCE - 2021.003 - 2021-02-07
===========================
- Chg:00000 GE  Fixed an omission in 2021.002 that had some wrong BS_STRINGS
   limits for earlier versions of the structure.

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.