Sid Meier's Civilization VI

Sid Meier's Civilization VI

Not enough ratings
Enhanced Community FrontEnd
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
Updated
216.290 KB
22 Jan, 2024 @ 4:39pm
25 May, 2024 @ 11:29am
3 Change Notes ( view )

Subscribe to download
Enhanced Community FrontEnd

In 1 collection by yofabronecoforo
Gameplay and Usability Enhancements
3 items
Description
Enhanced Community FrontEnd (ECFE) for Civilization VI

A mod which allows interoperation of disparate Frontend mods.

Of major note, ECFE allows multiple mods to make targeted changes to Frontend context script files, which allows mods that provide wholesale replacements to one or more Frontend scripts to work with other mods that only need to add to or replace small(er) portions of the same scripts.

What does this mean? To a player, not much. ECFE alone changes very little that affects game setup, and nothing that affects gameplay. To a mod developer, though, ECFE allows fine control over which existing files your mod must alter. For example, if your mod is named
YourMod
and it requires changes to the script
AdvancedSetup.lua
instead of providing a modified version of that file which may break compatibility with other mods, you can instead make ECFE a dependency of your mod, and put those changes in a file named
AdvancedSetup_YourMod.lua
which will be automatically loaded by ECFE with no further action required. This provides the changes you need, while preserving the original script file.

Other mods in the author's "Enhanced" series have been redesigned with the above in mind, and now depend upon ECFE; this dependency will be noted in the individual mods' README if it applies.

Some limitations apply; please refer to the project's README file[github.com] for these and more comprehensive details. This file is also included with ECFE, and can be found where it is installed.

New Frontend and Ingame text fully localized in the following languages:
  • English (en_US)
  • Spanish (es_ES)
  • French (fr_FR)

ECFE is compatible with YnAMP.

Prefer a manual installation? Wish to contribute? Visit ECFE on Github.[github.com]
11 Comments
yofabronecoforo  [author] 25 May, 2024 @ 11:38am 
An updated version has been published to the Workshop. This should resolve the issues with both BFE and MPH outlined below. Thank you all for your patience.
yofabronecoforo  [author] 1 May, 2024 @ 4:45pm 
@ECHO I haven't tested Better Frontend UI yet, but I can see the two issues you describe when Multiplayer Helper and ECFE are both enabled.

For the first, the last-imported HostGame.lua script likely comes from MPH, and it is referencing controls that are not present in ECFE's EnhancedHostGame.xml template, which causes the script to throw errors during init. I will futz around with this and see if I can get that and any other necessary controls to appear and function properly if MPH is present and enabled.

For the second, that empty area appears to be for the Challenge of the Month. I believe it is showing up empty because ECFE is providing a MainMenu.xml template that provides the control, but the last-imported MainMenu.lua script is again coming from MPH, which doesn't do anything with said control. ECFE does not modify MainMenu.lua, so any fix for that would have to come from the author(s) of MPH.
ECHO 1 May, 2024 @ 12:34am 
@yfbncfr
At minimum, [ link=https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=2357532056 ]Multiplayer Helper (MPH)[/link] prevents my 'Create Game' button from working. I haven't tested the rest of the mods I'm using one by one.
Either [ link=https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=2977775944 ]Better FrontEnd (UI)[/link] or Multiplayer helper will leave an empty golden border where the ticker at the main menu was.
I can understand this mod being incompatible with other frontend mods, just a shame since this is a dependency for other mods so I have to make a choice.
yofabronecoforo  [author] 30 Apr, 2024 @ 11:29pm 
@ECHO These mods [github.com] were enabled on my end while developing ECFE. If you are using any that are not covered there, please provide me with a list, and I will investigate further. Any errors that appear in the lua log would also be helpful.
ECHO 27 Apr, 2024 @ 10:07pm 
Are there popular mods that are incompatible with this mod? With my current mod selection, including this mod makes the 'Create Game' button for Multiplayer do nothing.
Vidyflan 27 Jan, 2024 @ 3:37am 
i have to say it's so difficult to me(i know very little about xml and lua), after unsuccessed trying i have to give up .but i do thank for your patient and kind reply.
yofabronecoforo  [author] 26 Jan, 2024 @ 1:42pm 
(continued)

Option (1) is easier, but requires ECFE to identify and disable controls that won't be used when the other mod that requires them is not enabled. Option (2) is cleaner, but any defined instances must be explicitly created before they can be used, so it requires the other mod to do that and place the controls where they need to be. Both require changes to ECFE's XML file.

After examining Game Config Manager for the past few days, I've worked out something using option (2) above that appears to be mostly working, and even allows it to work with other mods that completely replace the built-in AdvancedSetup.lua script, such as YnAMP. However, I am not interested in maintaining a fork of it. If you are trying to create a fork of GCM that works with ECFE, or if the author would like to update the original, I would be happy to provide directions, though.
yofabronecoforo  [author] 26 Jan, 2024 @ 1:42pm 
@xxxx It cannot do so automatically like it can with Lua, which is due to the way the XML "include" element works compared to Lua's "include" statement. In Lua, "include" can accept an additional argument that changes the provided filename into a pattern to be matched, and it will then include any files it identifies that match that pattern, with no further action required.

To the best of my knowledge, in XML, "include" does not support pattern-matching like that. For ECFE to be able to recognize and use new UI elements that must be defined in XML, those elements must be either (1) explicitly defined in ECFE's EnhancedAdvancedSetup.xml file, or (2) defined as instances in either that file or a different file; if a different file, then that file must be explicitly included by ECFE's XML file. Both approaches have their own pros and cons.
Vidyflan 23 Jan, 2024 @ 11:19pm 
so could the mod load xml? i do hope it could work with other frontend mod.
yofabronecoforo  [author] 23 Jan, 2024 @ 10:38pm 
@xxxx That mod's AdvancedSetup XML template is being ignored in favor of ECFE's EnhancedAdvancedSetup, which is causing Lua errors due to missing controls when that mod's AdvancedSetup Lua script loads.