Code: Select all
Settings.c
/***************************************************************************/
/* Economy section of the GUI-configure patches window (52 - 62) */
SDT_BOOL(Patches, inflation, 0, 0, true, STR_CONFIG_PATCHES_INFLATION, NULL),
...
STR_CONFIG_PATCHES_BRIBE, NULL),
SDT_VAR(Patches, snow_line_height,SLE_UINT8, 0, 0, 7, 2, 13, STR_CONFIG_PATCHES_SNOWLINE_HEIGHT, NULL),
SDT_VAR(Patches, colored_news_date,SLE_UINT, 0,NC, 2000,1900, 2200, STR_CONFIG_PATCHES_COLORED_NEWS_DATE,NULL),
and in settings_gui.c
static const PatchEntry _patches_economy[] = {52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62};
To try to separate out the terrain features, for instance, I want to extract Snow Line Height, and include it on a new page with my setting "Use TerraGenesis".
If I move snow_line_height, all the patch numbers are broken. If I dont move it to maintain the numerical structure, then the "groupings" of patches together becomes meaningless, as old patch entries have to be left scattered around just to stop the numbers breaking.
Also, it is impossible to tell looking at the code in settings_gui.c what patches are listed on what patch page. They are just numbers with no explanation. "Open settings.c in another window". Well, didnt have to in the previous incarnation - and why ever have hardcoded numbers!
Take this scenario: you decide to include 3 patches, each of which wants to add entries on different patch pages. Patch 1 adds 2 items, and expects them to be items 94 and 95 (given current usage up to 93). Patch 2 has 3 expecting 94,95,96. Patch 3 has 1 expecting 94. etc... total nightmare. Every new patch will conflict with every other patch.
[edit] I have recoded TGP to work with the new layout, and discovered how many problems this will cause. Although the comment line says:
Code: Select all
/* Patches without any GUI representation (69 - 78) */
If the configure patches list were totally static, the current system is fine.
But it is the nature of patches to be dynamic, one person adds one selection, another person uses a different set. The old system for all its faults allowed patches to be added without conflicting with each other. Unfortunately, this system guarantees conflict!
This is seriously important!! (OK at least to me as Integrated Nightly creator.) The last IN had 28 patches, which included 30 additional entries into the Configure Patches screens.
Please, please find a way to use human readable tokens in the PatchEntry lists - yes, it aids readability, but mainly it avoids number-conflicts.