primem0ver
Emperor
Ok. Then perhaps a button isn't what we need so much as a set of hotkeys to change the plot graphics to a different setting. If most players don't need to be more concerned with it than what a hoverover could express, then a combination of hotkeys to switch the map view would work. Later on that could be adapted to a button but I THINK AIAndy is the only one I've known to work out how to add a button to the UI in that manner.
In all honesty, none of the Globeview buttons (activated when the "Globe View" is pressed or you back out far enough) are of that much use for game play. The only buttons I regularly use are the grid button and the resource button. But those are all on the main view. So I still think that a globe view (or some kind of) button is preferable.
In the meantime, players could still access the different mapview and be told how to do so via a quick bottom line in the hoverover plot help popup.
This much is true. We could use hotkeys until a way is found to implement the buttons.
You know... there are existing buttons there too for map view changes. Perhaps the code that reacts to each button press could be isolated and an additional option in the cycle could be tied in.
Yes... the globe view buttons. However, I have already checked both python and the DLL and unfortunately ALL this code is in the main executable. Not even the XML for the buttons gives any hint on a callback function to be executed. The only code I could find for these globe view buttons is where they are created on the main screen from python and (I think) where they are changed from the regular view to the globe view.
I believe the trick to this is a matter of changing the reference skin on the terrains themselves so that it switches from the usual skin of the terrain to the colors the representing the geo-definition on that plot (assuming I'm understanding everything you're saying here...) That would take some identifying of where the game asks for the terrain's graphic skin and adjusting the return to redirect to the plot data and the geo-definitions instead if the gamestate has changed to showing the geo data thanks to the use of that button.
I have already figured out how to handle the coloring of the plots; thanks to modifications already made to the original code... The colored "circular" patterns that appear around cities on occasion and the ones that appear for settlers of different players were a big clue as to how the plots could be recolored. I found that you don't have to draw just circles. There are a number of different plot fills/overlays to use that are defined in the XML/enums. So the actual drawing of the map view from the DLL will not be a problem.
I'm pretty sure a button already exists that could have another 'phase' added to it harmlessly.
I have already tried doing this to the globe view buttons with no success.
First, the callback routines are not defined for the different "phases" so there doesn't appear to be a mechanism within python, the DLL, or the XML that allows a callback to be defined. I can't find any callback anywhere. I suspect that the button id for globe view buttons is differentiated within the main executable and that determines what is done.
Second, for some reason I cannot seem to replace the skin that is on the Globe view buttons. Maybe I am just going about it wrong but I have not been able to change it no matter what I have tried.
Specifically, I will need at least as many buttons as there are for the globe view so using another set of buttons seems pointless. So eventually we need to add another set, or find some way to manipulate the globe view buttons.