OpenWaterAnalytics / epanet-gui

MIT License
6 stars 2 forks source link

HydraulicProps, DefOptions, TOptions array misalignment causing complex code #18

Open lbutler opened 4 months ago

lbutler commented 4 months ago

We face a challenge with the misalignment among HydraulicProps, DefOptions, and TOptions arrays in EPANET, complicating backward compatibility and data management. The misorder requires workaround solutions like magic numbers or complex logic, especially when adding new records for features and ensuring compatibility with older .net file versions.

Proposed changes include:

Align all three arrays: This simplification could streamline data handling but requires managing the backward compatibility management in Ufileio.pas. Introduce a lookup for HydraulicProps: Allow for easier adding or sorting of the properties in the array using a lookup with the existing index constants

Details of what was needed to be done can be see in PR Emitter backflow option #16