let Ample do the resolution scaling math.

This commit is contained in:
Kelvin Sherlock 2023-11-17 17:07:22 -05:00
parent cbf3fd5a34
commit c1ecb40cdb
80 changed files with 90 additions and 82 deletions

View File

@ -482,6 +482,8 @@ static NSString *ShellQuote(NSString *s) {
* for square pixels, should pass the true size and true aspect ratio.
*/
NSSize screen = [_slotController resolution];
switch(_mameWindowMode) {
case 0: // full screen;
@ -498,12 +500,15 @@ static NSString *ShellQuote(NSString *s) {
// drop through.
case 2: // 2x
case 3: // 3x
if (_mameSquarePixels) {
// NSString *aspect = [NSString stringWithFormat: @"%u:%u", (unsigned)screen.width, (unsigned)screen.height];
// [argv addObject: @"-aspect"];
// [argv addObject: aspect];
[argv addObject: @"-nounevenstretch"];
float hscale = round((screen.width * 3 / 4) / screen.height);
if (hscale < 1) hscale = 1;
screen.height *= hscale;
} else {
screen.height = round(screen.width * 3 / 4);
}
@ -516,6 +521,9 @@ static NSString *ShellQuote(NSString *s) {
[argv addObject: @"-resolution"];
[argv addObject: res];
if (_mameSquarePixels) {
[argv addObject: @"-nounevenstretch"];
}
break;
}

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -12,7 +12,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>512</integer>
<integer>512</integer>
<integer>256</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>512</integer>
<integer>512</integer>
<integer>256</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -12,7 +12,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -12,7 +12,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -12,7 +12,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -12,7 +12,7 @@
<key>resolution</key>
<array>
<integer>704</integer>
<integer>462</integer>
<integer>231</integer>
</array>
<key>slots</key>
<array>

View File

@ -12,7 +12,7 @@
<key>resolution</key>
<array>
<integer>704</integer>
<integer>462</integer>
<integer>231</integer>
</array>
<key>slots</key>
<array>

View File

@ -12,7 +12,7 @@
<key>resolution</key>
<array>
<integer>704</integer>
<integer>462</integer>
<integer>231</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -12,7 +12,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -12,7 +12,7 @@
<key>resolution</key>
<array>
<integer>1024</integer>
<integer>800</integer>
<integer>400</integer>
</array>
<key>slots</key>
<array>

View File

@ -12,7 +12,7 @@
<key>resolution</key>
<array>
<integer>1024</integer>
<integer>800</integer>
<integer>400</integer>
</array>
<key>slots</key>
<array>

View File

@ -12,7 +12,7 @@
<key>resolution</key>
<array>
<integer>1024</integer>
<integer>800</integer>
<integer>400</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -12,7 +12,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -12,7 +12,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -12,7 +12,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -12,7 +12,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -12,7 +12,7 @@
<key>resolution</key>
<array>
<integer>844</integer>
<integer>516</integer>
<integer>258</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -12,7 +12,7 @@
<key>resolution</key>
<array>
<integer>640</integer>
<integer>480</integer>
<integer>240</integer>
</array>
<key>slots</key>
<array>

View File

@ -12,7 +12,7 @@
<key>resolution</key>
<array>
<integer>640</integer>
<integer>480</integer>
<integer>240</integer>
</array>
<key>slots</key>
<array>

View File

@ -12,7 +12,7 @@
<key>resolution</key>
<array>
<integer>640</integer>
<integer>480</integer>
<integer>240</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>640</integer>
<integer>480</integer>
<integer>240</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>640</integer>
<integer>480</integer>
<integer>240</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>640</integer>
<integer>480</integer>
<integer>240</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -12,7 +12,7 @@
<key>resolution</key>
<array>
<integer>640</integer>
<integer>480</integer>
<integer>240</integer>
</array>
<key>slots</key>
<array>

View File

@ -12,7 +12,7 @@
<key>resolution</key>
<array>
<integer>720</integer>
<integer>700</integer>
<integer>350</integer>
</array>
<key>slots</key>
<array>

View File

@ -12,7 +12,7 @@
<key>resolution</key>
<array>
<integer>720</integer>
<integer>700</integer>
<integer>350</integer>
</array>
<key>slots</key>
<array>

View File

@ -12,7 +12,7 @@
<key>resolution</key>
<array>
<integer>720</integer>
<integer>700</integer>
<integer>350</integer>
</array>
<key>slots</key>
<array>

View File

@ -12,7 +12,7 @@
<key>resolution</key>
<array>
<integer>720</integer>
<integer>700</integer>
<integer>350</integer>
</array>
<key>slots</key>
<array>

View File

@ -12,7 +12,7 @@
<key>resolution</key>
<array>
<integer>720</integer>
<integer>700</integer>
<integer>350</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -12,7 +12,7 @@
<key>resolution</key>
<array>
<integer>844</integer>
<integer>516</integer>
<integer>258</integer>
</array>
<key>slots</key>
<array>

View File

@ -12,7 +12,7 @@
<key>resolution</key>
<array>
<integer>640</integer>
<integer>480</integer>
<integer>240</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -12,7 +12,7 @@
<key>resolution</key>
<array>
<integer>800</integer>
<integer>500</integer>
<integer>250</integer>
</array>
<key>slots</key>
<array>

View File

@ -12,7 +12,7 @@
<key>resolution</key>
<array>
<integer>800</integer>
<integer>500</integer>
<integer>250</integer>
</array>
<key>slots</key>
<array>

View File

@ -12,7 +12,7 @@
<key>resolution</key>
<array>
<integer>800</integer>
<integer>500</integer>
<integer>250</integer>
</array>
<key>slots</key>
<array>

View File

@ -12,7 +12,7 @@
<key>resolution</key>
<array>
<integer>720</integer>
<integer>480</integer>
<integer>240</integer>
</array>
<key>slots</key>
<array>

View File

@ -14,7 +14,7 @@
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</integer>
<integer>192</integer>
</array>
<key>slots</key>
<array>

View File

@ -612,8 +612,8 @@ def find_machine_resolution(machine):
# raster screens have a default aspect ratio of 4 : 3
# pre-calc something like that, but integer-based.
hscale = round((width * 3 / 4 ) / height)
if hscale < 1 : hscale = 1
#hscale = round((width * 3 / 4 ) / height)
#if hscale < 1 : hscale = 1
return [width, height * hscale]