@@ -234,7 +234,7 @@ void show_main_menubar(iris::instance* iris) {
234234                    ImGui::EndMenu ();
235235                }
236236
237-                 if  (BeginMenu (" Scale" 
237+                 if  (BeginMenu (ICON_MS_CROP  "   Scale" 
238238                    for  (int  i = 2 ; i <= 6 ; i++) {
239239                        char  buf[16 ]; snprintf (buf, 16 , " %.1fx" float )i * 0 .5f );
240240
@@ -248,7 +248,7 @@ void show_main_menubar(iris::instance* iris) {
248248                    ImGui::EndMenu ();
249249                }
250250
251-                 if  (BeginMenu (" Aspect mode" 
251+                 if  (BeginMenu (ICON_MS_ASPECT_RATIO  "   Aspect mode" 
252252                    for  (int  i = 0 ; i < 7 ; i++) {
253253                        if  (Selectable (aspect_mode_names[i], iris->aspect_mode  == i)) {
254254                            iris->aspect_mode  = i;
@@ -260,7 +260,7 @@ void show_main_menubar(iris::instance* iris) {
260260                    ImGui::EndMenu ();
261261                }
262262
263-                 if  (BeginMenu (" Scaling filter" 
263+                 if  (BeginMenu (ICON_MS_FILTER  "   Scaling filter" 
264264                    if  (Selectable (" Nearest" bilinear )) {
265265                        iris->bilinear  = false ;
266266
@@ -276,11 +276,43 @@ void show_main_menubar(iris::instance* iris) {
276276                    ImGui::EndMenu ();
277277                }
278278
279-                 if  (MenuItem (" Integer scaling" nullptr , &iris->integer_scaling )) {
279+                 if  (BeginMenu (ICON_MS_ASPECT_RATIO "  Window size" 
280+                     const  char * sizes[] = {
281+                         " 640x480" 
282+                         " 800x600" 
283+                         " 960x720" 
284+                         " 1024x768" 
285+                         " 1280x720" 
286+                         " 1280x800" 
287+                     };
288+ 
289+                     int  widths[] = {
290+                         640 , 800 , 960 , 1024 , 1280 , 1280 
291+                     };
292+ 
293+                     int  heights[] = {
294+                         480 , 600 , 720 , 768 , 720 , 800 
295+                     };
296+ 
297+                     for  (int  i = 0 ; i < 6 ; i++) {
298+                         bool  selected = iris->window_width  == widths[i] && iris->window_height  == heights[i];
299+ 
300+                         if  (MenuItem (sizes[i], nullptr , selected)) {
301+                             iris->window_width  = widths[i];
302+                             iris->window_height  = heights[i];
303+ 
304+                             SDL_SetWindowSize (iris->window , iris->window_width , iris->window_height );
305+                         }
306+                     }
307+ 
308+                     ImGui::EndMenu ();
309+                 }
310+ 
311+                 if  (MenuItem (ICON_MS_SPEED_2X "  Integer scaling" nullptr , &iris->integer_scaling )) {
280312                    renderer_set_integer_scaling (iris->ctx , iris->integer_scaling );
281313                }
282314
283-                 if  (MenuItem (" Fullscreen" " F11" fullscreen )) {
315+                 if  (MenuItem (ICON_MS_FULLSCREEN  "   Fullscreen" " F11" fullscreen )) {
284316                    SDL_SetWindowFullscreen (iris->window , iris->fullscreen );
285317                }
286318
@@ -385,9 +417,24 @@ void show_main_menubar(iris::instance* iris) {
385417            if  (MenuItem (ICON_MS_MEMORY "  Memory viewer" NULL , &iris->show_memory_viewer ));
386418            if  (MenuItem (ICON_MS_VIEW_IN_AR "  VU disassembler" NULL , &iris->show_vu_disassembler ));
387419            if  (MenuItem (ICON_MS_GAMEPAD "  DualShock debugger" NULL , &iris->show_pad_debugger ));
420+             if  (MenuItem (ICON_MS_BUG_REPORT "  Performance overlay" NULL , &iris->show_overlay ));
388421
389422            Separator ();
390423
424+             if  (BeginMenu (ICON_MS_MORE_TIME "  Timescale" 
425+                 for  (int  i = 0 ; i < 9 ; i++) {
426+                     char  buf[16 ]; snprintf (buf, 16 , " %dx" 1  << i);
427+ 
428+                     if  (Selectable (buf, iris->timescale  == (1  << i))) {
429+                         iris->timescale  = (1  << i);
430+ 
431+                         ps2_set_timescale (iris->ps2 , iris->timescale );
432+                     }
433+                 }
434+ 
435+                 ImGui::EndMenu ();
436+             }
437+ 
391438            if  (MenuItem (ICON_MS_SKIP_NEXT "  Skip FMVs" NULL , &iris->skip_fmv )) {
392439                printf (" Skip FMVs: %d\n " skip_fmv );
393440                ee_set_fmv_skip (iris->ps2 ->ee , iris->skip_fmv );
@@ -413,6 +460,7 @@ void show_main_menubar(iris::instance* iris) {
413460                iris->show_symbols  = false ;
414461                iris->show_threads  = false ;
415462                iris->show_breakpoints  = false ;
463+                 iris->show_overlay  = false ;
416464            }
417465
418466            ImGui::EndMenu ();
0 commit comments