I looked a bit into the core and normal area editing thing.
There is a function in CyGlobalContext that exposes the normal and core areas to the dll. And it expects the areas in the currently used format (TL, BR and exceptions). Therefore is see no chance to change the format now.
For the core areas i could ignore the rectangle completly and use only the exceptions. For the normal areas however that wouldn't work, bcause here the exceptions get subtracted instead of added.
I wondered for what they are used in the dll at all and did a quick search. Thats what i found:
To summarize it
- Core Areas in the dll are used for:
- - AI evaluation of Imperaialism civic
- - Keeping the spawn area culture free for 2 turns.
- - Collapse AI civs if the do not control their motherland any more.
- Normal Areas in the dll are used for:
- - Collapse AI civs if the do not control their motherland any more.
Proposals
1. leave everything as it is. Core and normal areas have to be edited in the python files manually.
2. leave the format as it is, but move it to RFCEMaps.py. Try to come up with an interface that lets you draw the rectangles in the worldbuilder.
3. leave the format as it is, move it to RFCEMaps.py, but do not use Rectangle for core areas (only exceptions). This would make it easier to edit in WB. For normal areas either do
3.a the same (Then they cannot be used in the dll any more. This would break safeMotherland. That means Cordoba would collapse immediatly after respawn without futher changes) or
3.b do not make them editable in WB
4. change the format. This would make it easier to edit in WB, but would require changes to the dll and the python code.
5. Reconsider what the core and normal areas are used for, if something can be removed and if they are needed in the dll. Then evaluate options 1-4 again.