...
|
...
|
@@ -141,12 +141,10 @@ set_window_size(SDL_Window *window, int w, int h)
|
141
|
141
|
static void
|
142
|
142
|
set_zoom(Uint8 scale)
|
143
|
143
|
{
|
144
|
|
- if(scale == zoom)
|
|
144
|
+ if(scale == zoom || !gWindow)
|
145
|
145
|
return;
|
146
|
|
- zoom = clamp(scale, 1, 3);
|
|
146
|
+ set_window_size(gWindow, (ppu.width + PAD * 2) * zoom, (ppu.height + PAD * 2) * zoom);
|
147
|
147
|
reqdraw = 1;
|
148
|
|
- if(gWindow)
|
149
|
|
- set_window_size(gWindow, (ppu.width + PAD * 2) * zoom, (ppu.height + PAD * 2) * zoom);
|
150
|
148
|
}
|
151
|
149
|
|
152
|
150
|
static int
|
...
|
...
|
@@ -329,7 +327,7 @@ doctrl(SDL_Event *event, int z)
|
329
|
327
|
case SDLK_DOWN: flag = 0x20; break;
|
330
|
328
|
case SDLK_LEFT: flag = 0x40; break;
|
331
|
329
|
case SDLK_RIGHT: flag = 0x80; break;
|
332
|
|
- case SDLK_F1: if(z) set_zoom(zoom == 3 ? 1 : zoom + 1); break;
|
|
330
|
+ case SDLK_F1: if(z) set_zoom(zoom > 2 ? 1 : zoom + 1); break;
|
333
|
331
|
case SDLK_F2: if(z) set_inspect(!devsystem->dat[0xe]); break;
|
334
|
332
|
case SDLK_F3: if(z) capture_screen(); break;
|
335
|
333
|
}
|
...
|
...
|
@@ -601,7 +599,7 @@ main(int argc, char **argv)
|
601
|
599
|
|
602
|
600
|
/* set default zoom */
|
603
|
601
|
SDL_GetCurrentDisplayMode(0, &DM);
|
604
|
|
- set_zoom(DM.w / 1280);
|
|
602
|
+ set_zoom(clamp(DM.w / 1280, 1, 3));
|
605
|
603
|
/* get default zoom from flags */
|
606
|
604
|
for(i = 1; i < argc - 1; i++) {
|
607
|
605
|
if(strcmp(argv[i], "-s") == 0) {
|