Ok, So on investigation, it turns out that somethings are still screwed up with resolution changes.
I haven't seen a situation where the top row of city tiles is completely obscured, but I have seen it partially covered. Also some of the interface components do not scale properly with res. In some cases quite severely, especially at 1024x768 (I think) which is my lowest available res everything was pretty awful. there is also the added complexity on wide and non-wide screen res. as Deon had said. you had have differnet relative space on the X and Y.
I THINK I know what needs to be done to solve it... I think a lot of these elements need to have xresolution +/- X, yresolution +/- X for their positional settings, this will get more complex with certain boxes and things which have slightly confusing position/dimension settings. This would not solve space issues for extreme diffenerces on the size of wide and non-wide screen as each has different relative space on Y and X the axis.
I think I would need help to sit down and work out relative math for all these situations and size setting systems..
In short, I think it is solveable...Just extremely time consuming and mind boggling.. finding and changing all the needed elements.
I also have a limited number of resolutions to choose from.
It really needs someone with the passion for UI and art work that can sit and tinker for hours to make it perfect.
Like said I have already put about 15-20 hours in and I am only this far...
I think for now the simplest solution is will change the city zoom level in globaldefines as waspreviously suggested, so that hopefully any cutting will occur on the 3rd ring, rather than the 2nd ring..Yeah, that solves the issue, but there are a lot of other things to fix for lower resolutions... Oh I have a feeling this is gong to take a very long time and not be much fun...
This is an incredibly depressing thought...
I wish I had added notes to each of the lines of code I found so that I coul identify them again quickly..
The hardest thing to fix is the 'centre console' 'InterfaceCenterBackgroundWidget' becauuse these one shrinks and expands to accomadate the different res settings, where as the outer ones appear to stay more of less constant. so everything contained in the centre console (which also seems to have some of the most complicated placement code functions...) has to expand and contract with it as well..
The other alternative is to make a maininterface.py file for every resolution I have and then get the player to use their prefered one
Then anyone who deviates outside of the available resolutions can suck it! Or make their own! hehe
That would be the most time consuming but least complicatd way, rather than trying to write a whole load of reactive math...