UI modifications (suggestions and discussion)

With even more culture and with these really huge map with more than 50 cities, a very useful thing would be a screen telling wich city can build wich Culture wonders and wich Culture wonder is already built (and by who if you have enough espionnage) and which culture are lost for ever (in a destroyed city)
Like an Ethnic advisor...
This would be an excellent new default page for the "domestic advisor" screen. Too bad its edit tool lacks the ability to do this at the moment.

In my game I've added a health and safety page to the dom. adv. showing crime/disease/flamability, healt, pop, etc. in every city. I could share it so it could be integrated as a default page.
Is it possible to add new deafault pages btw? Pages that exist even if Caveman2Cosmos\UserSettings\CustomDomAdv.txt is deleted.
 
Last edited:
Any chance to make this to auto-size based on width of the screen?
There's also the annoying horizontal scrollbar in the city ciew.

This is how it looks like in 21:9 (3360x1410 windowed in config)

 
Any chance to make this to auto-size based on width of the screen?
There's also the annoying horizontal scrollbar in the city ciew.

This is how it looks like in 21:9 (3360x1410 windowed in config)

There is always a chance. It just takes someone with the python skills to understand the BUG version of the domestic adviser and modify it. In fact if you want the columns to be bigger I think it can be done in the file that defines that screen. Unfortunately that file was not written to be easily understood by a human. Perhaps it is about time someone looked at it to see if the file describing the various default reports could be converted to XML.
 
If you hit the scroll icon on the F1 screen, you get into a basic but functional GUI for editing that particular screen. You can then save your settings and (if you want) backup up that copy in your UserFiles.
 
I have started work on the Main Interface python. The idea is to separate out the Map and City screen to see if we can successfully add in more. If we can then multi-maps and build screens for forts and nomad units will probably be possible.

I was going to do this starting with the basic BtS file (2000+) lines of code verses the C2C file (7000+) lines of code, but I lost all my work so am starting from scratch with the C2C one. I currently have a weird syntax error which I am hunting down (slowly).

In my first set of changes I am removing commented code and doing some "encapsulation" by replacing repeated code with functions with parameters. To boost my confidence I am doing some very simple stuff first.
  1. End Button and End of turn message.
    This only appears on the Map Screen and will probably only need minor changes to cater for multi-maps.​
  2. Waiting for Civilizations message
    It has been suggested that as an aid to finding the dreaded "WoC" infinite loop, that this message indicate the players that is having their turn process be displayed by adding a bit to the end of the message in the nation colour stating who's turn is being processed. If known the nation name is used otherwise something like "Unknown Nation".

    This one may be done in the dll rather than the python as I haven't found that message yet.​

When I get that bit done it will be released with a warning so it can be tested.

Next will be all the "fuel gauge progress bars". So no new or improved content just some tidying up of the code.

@TB while looking at this I noticed that only 3 of the 4 definitions of the help text box use the global variable defined at the start. What is the bet that that one is the main one and why changing the variable value has no effect.:crazyeye:
 
@WfC End Turn Message
def updateScreen

@Help Text
None of it works, don't bother.
 
@TB while looking at this I noticed that only 3 of the 4 definitions of the help text box use the global variable defined at the start. What is the bet that that one is the main one and why changing the variable value has no effect
There's obviously something screwy about the thing because yeah, trying to change what looks like variables that should have an effect on the size of the box doesn't seem to do anything. Rather frustrating so if that's something you can sort out that would be pretty cool.
 
Hi all,

I've been playing C2C for a few years now, but never really contributed to anything on the forums. Just wanted to start by saying that I'm really impressed with everything you've managed to do with C2C, and I'm always looking forward to every single SVN update.

For a while I've been quite annoyed that buildings that provide resources (bonuses) don't show in their help text how many of these resources you already have. Often I want to avoid building too many factories as they will smog down my cities. An example of this is:

How many Nutellea's do I have? Who knows? I have to scroll in the resources pane in order to find out and to do this with many resources can take a little time.

So I modified the DLL a little so it would show me straight away in the help text, the result is as follows:

Jeaj! I have 1 Nutella already! Guess I'm not building another smokey factory then!

Unfortunately it doesn't always look so nice when it goes over several lines, if it's in one line it looks nice enough, but that's really dependent on the resource:


Or one can make it to always be on a new line:

Just not sure if it's clear enough that you actually have 2 of this resource, and not 2 of whatever.

So I couldn't figure out if this could be done in a Python script, so I modified and compiled the DLL, however, my local install runs a little bit slower with my newly compiled DLL (both with this fix and without), so if someone else could do this change and upload it to the SVN I would be grateful, as I don't want to slow down C2C for everyone :(

Thunderbrd, I think I've seen in the SVN log that you've done the majority of the DLL uploads, do you compile it in any special way? Would you mind doing this fix and compiling and uploading, provided people think this is a change for the better?

The fix is basically done by adding this bit of code at line 22357 of CvGameTextMgr.cpp (under the "if (kBuilding.getFreeBonus() != NO_BONUS)" statement):
Code:
if (ePlayer != NO_PLAYER)
{
        CvPlayer& kActivePlayer = GET_PLAYER(GC.getGameINLINE().getActivePlayer());
        szBuffer.append(gDLL->getText("TXT_KEY_BONUS_AVAILABLE_PLAYER", kActivePlayer.getNumAvailableBonuses((BonusTypes)(kBuilding.getFreeBonus())), kActivePlayer.getNameKey()));
}

I also haven't debugged too much, I don't think this would cause any problems, but I don't know at this stage how to thoroughly debug.
 
Hi all,
For a while I've been quite annoyed that buildings that provide resources (bonuses) don't show in their help text how many of these resources you already have. Often I want to avoid building too many factories as they will smog down my cities. An example of this is:

How many Nutellea's do I have? Who knows? I have to scroll in the resources pane in order to find out and to do this with many resources can take a little time.

So I modified the DLL a little so it would show me straight away in the help text, the result is as follows:

Jeaj! I have 1 Nutella already! Guess I'm not building another smokey factory then!

Unless I am not understanding something (which is possible :crazyeye:)- The actual values are what that city gets if you build the Nuttella Factory in that city. So if you get 95 gold, it does not matter how many others you have built.

If it was a once only benefit - then yes your suggested improvement would be very usefull. So you do not build unneeded buildings - that on there own provide little extra benefit, once one has been built.

But where it is really beneficial is if you have not yet built that building. So you do not have to scroll through the resouces to see if you have at least one of a resource. e.g. Soap.
 
I think it is the provides line IglooIvan is talking about not the actual line.

Having it say "provides x Resource (have y)" would be useful. There is no need to say who has it as it is the viewer every time. Some buildings provide 2 of a resource while other buildings provide more than one resource.
 
Yeah sorry if that was unclear, it's the "Provides 1 X (have Y)" line, not the "Actual" line.

The code for "<Player> has Y" was shamelessly grabbed from the other screens that use that (trading and hovering over resources on map), that's why it contains the players name. I guess just writing "You have Y" or "Have Y" would be enough.

There's is more code right nearby for buildings that provide more than one resource I think (seems like a simple for loop), but I couldn't think of any such buildings in order to test it, can you think of any? I'm still getting acquainted with code layout and where everything is.

What I would be interested in knowing is how TB compiles the DLL :)
 
Hi all,

I've been playing C2C for a few years now, but never really contributed to anything on the forums. Just wanted to start by saying that I'm really impressed with everything you've managed to do with C2C, and I'm always looking forward to every single SVN update.

For a while I've been quite annoyed that buildings that provide resources (bonuses) don't show in their help text how many of these resources you already have. Often I want to avoid building too many factories as they will smog down my cities. An example of this is:

How many Nutellea's do I have? Who knows? I have to scroll in the resources pane in order to find out and to do this with many resources can take a little time.

So I modified the DLL a little so it would show me straight away in the help text, the result is as follows:

Jeaj! I have 1 Nutella already! Guess I'm not building another smokey factory then!

Unfortunately it doesn't always look so nice when it goes over several lines, if it's in one line it looks nice enough, but that's really dependent on the resource:


Or one can make it to always be on a new line:

Just not sure if it's clear enough that you actually have 2 of this resource, and not 2 of whatever.

So I couldn't figure out if this could be done in a Python script, so I modified and compiled the DLL, however, my local install runs a little bit slower with my newly compiled DLL (both with this fix and without), so if someone else could do this change and upload it to the SVN I would be grateful, as I don't want to slow down C2C for everyone :(

Thunderbrd, I think I've seen in the SVN log that you've done the majority of the DLL uploads, do you compile it in any special way? Would you mind doing this fix and compiling and uploading, provided people think this is a change for the better?

The fix is basically done by adding this bit of code at line 22357 of CvGameTextMgr.cpp (under the "if (kBuilding.getFreeBonus() != NO_BONUS)" statement):
Code:
if (ePlayer != NO_PLAYER)
{
        CvPlayer& kActivePlayer = GET_PLAYER(GC.getGameINLINE().getActivePlayer());
        szBuffer.append(gDLL->getText("TXT_KEY_BONUS_AVAILABLE_PLAYER", kActivePlayer.getNumAvailableBonuses((BonusTypes)(kBuilding.getFreeBonus())), kActivePlayer.getNameKey()));
}

I also haven't debugged too much, I don't think this would cause any problems, but I don't know at this stage how to thoroughly debug.
Should be easily done. I might be able to get to that at some point soon.
 
I fully blame the officially referenced Cough Syrup in my missing this thread for UI suggestions but I mentioned this to Dancing Hoskuld (who liked it), but who is away for a few weeks.

I would absolutely love a new building filter that sorts by structures that produce something I have zero of. I can recommend an existing an exiting icon for the button: The lollipop that represents the resource Candy.

Might as well add a filter for education buildings as well.

If building demands are going to be a recurring issue for the player to deal with, a button that tells you what they are would be nice. Say an icon left or right of the food and hammer counters where mousing over gives the list, as opposed to a new window.


Also, as a never ending edit to avoid double posting, The workboat icons for planting on a 'fish' is duplicated for harvesting kelp and is inherently confusing. I should suggest using the kelp icon, as seen in the world builder terrain placement ui, for the harvest kelp icon.


Even more silly UI ideas, if the Build up setting is on, give the option to turn off at least the standard fortify button that glows and makes you want to push the shiny button. The heal till full one is fine if only because it's not first in row and also it's at best temporary.

Edit again: another city building filter Idea: Trade (can use the 3x circling arrows trade icon)


Cheers!
-Liq
 
I made the mistake of clicking the Build List Button next to the BUG options and the time out as it loaded caused me to think the game was crashing. :eek:

Nice idea sure, but not sure how it is really supposed to work as just choosing a filter makes the game beg for time off for a good 10-15 seconds; I gather this tool was the brain child of someone no longer actively modding.;)

It's would be really nice to have a way to save build queues and whatnot past the city interface (i.e. control+num for save , num for recall) but I see something was tried and, well, I cannot use it.

Was this idea talked about on the forum way back when? I am curious the design thoughts behind it, not to mention what saving actually does. It's a noble idea but I would give up trying to do it in game, as the sheer amount of info this mod contains lags out even the Sevlopedia.

I was kicking around the idea of a build queue manager that resided outside the city screen and could only come up with one that resided out of game proper, with the game reading the resulting data. Problem with that of course is that it be of niche use since just documenting its existence is about futile unless there was a way to start up the program from within the mod.

Meh. Was anyone actually interested in improving how one manages the build queue or is it just that sort of 800 pound Gorilla people are wise enough to stay away from?

Cheers!
-Liq'd
 
I really don't know, but I'd be pretty interested in such a thing, if you could do it.

For comedy value, you have a blatant typo in your edit reason. :)
 
For comedy value, you have a blatant typo in your edit reason. :)

I'm irrecoverably pedantic about all manner of things like that, but even I laugh at that.:crazyeye:


I have a sneaking suspicion that the queue lag has to do with the dynamic glowing those bloody buttons do/can_do. I mean what else could it be, there's no mouse over text or anything else to denote to you that the icon you have selected is ready to go in the most gently throbbing fashion.

Would it be possible that someone who understands the code behind the UI to ditch the dynamic glowing and then just pick a single luminosity of glow (or use a simple stroke) to denote a button is prepared to get pushed? I mean none of that throbbing buttons stuff is mod based, you can retreat back to the relative simple BtS version to clean their act up.


Cheers!
-Liq'd
 
It's would be really nice to have a way to save build queues and whatnot past the city interface (i.e. control+num for save , num for recall) but I see something was tried and, well, I cannot use it.

left ctrl+number for save queue and number for load queue
 
Top Bottom