So I did a bit of strategy layer research.
And it looks like it won't work, unless I missed something.
You can see in CvGameTextMgr::getGlobeLayerName it uses GLOBE_LAYER_STRATEGY to place the text for the buttons when you are in strategy mode. Elsewhere in the code, the 'other layers' at the global level have cases that let you change the color of each square at the global level -- but GLOBE_LAYER_STRATEGY does not seem to 'dip into' the DLL anymore.
In particular, you can see in CvPlayer::getGlobeLayerColors, each of the other layer options gets written up. Each then procedurally builds the colour display for that option and that layer (so as far as I can tell, you cannot stuff data into there, either).
However, I did come across something ... interesting.
The replay message code is a bunch of strings with some extra meta-data. We could stuff AI thoughts into the replay message code, and filter out the AI thoughts when the replay is done. A BTS better AI game that is then switched over to a normal game would then display all of the 'AI thoughts' when the game ends on replay -- but it would remain binary compatible.
And it looks like it won't work, unless I missed something.
You can see in CvGameTextMgr::getGlobeLayerName it uses GLOBE_LAYER_STRATEGY to place the text for the buttons when you are in strategy mode. Elsewhere in the code, the 'other layers' at the global level have cases that let you change the color of each square at the global level -- but GLOBE_LAYER_STRATEGY does not seem to 'dip into' the DLL anymore.
In particular, you can see in CvPlayer::getGlobeLayerColors, each of the other layer options gets written up. Each then procedurally builds the colour display for that option and that layer (so as far as I can tell, you cannot stuff data into there, either).
However, I did come across something ... interesting.
The replay message code is a bunch of strings with some extra meta-data. We could stuff AI thoughts into the replay message code, and filter out the AI thoughts when the replay is done. A BTS better AI game that is then switched over to a normal game would then display all of the 'AI thoughts' when the game ends on replay -- but it would remain binary compatible.
(remember how complicated the discussion about that became?
)
But that's not quite what you're talking about anyway- yes, there is an inherent fragility to needing to "attach" these memories to the plots and units, even if we can uniquely identify them, rather than making them part of the plot or unit's data.
Other areas could prove more problematic, like city specialization ( can this be done easily ? I mean, the AI deciding that wants HE in a spot and get only the hammer multipliers and more skeleton buildings ( granary courthouse,
enough .... ) and not spam cottages in the city BFC ) or position of enemy units.....