Hey Chris! I was noticing some weirdness with my menus on machines of varying aspect ratios (despite having set Force aspect ratio), and I found a solution (some of it is hackier than others :P ).
In Menu.cs, I found a few (I think) typos: in PositionElements and AutoResize, x and y are mixed up a few times. E.g.:
rect.height = (spacing / 100 * AdvGame.GetMainGameViewSize ().x) + biggestElementSize.y;
instead of:
rect.height = (spacing / 100 * AdvGame.GetMainGameViewSize ().y) + biggestElementSize.y;
Also, there are loads of calls to AdvGame.GetMainGameViewSize (), but the resulting value doesn't take into account the borders if you're forcing aspect ratio, meaning that menus will be drawn without consideration for the letterboxing, ending up with menus "offscreen". I resolved this by making a second method GetMainGameViewSizeRespectingBorders and calling that at all the places that didn't need an absolute coordinate. I can see this being solved in various ways, but I just wanted to flag that the problem exists (and that there exist easy solutions).
Thanks Chris! As always, so pleased with AC! (and after these tweaks, my game is working perfectly on a variety of machines/OSs/aspect ratios!)
Comments
As for the Menus not being within the boundary, there are already checks for that. What is your Menu's position type, and have you checked "Always fit within screen?"? A screenshot of your Menu's list of properties in the Menu Manager will help understand what's going on.