@@ -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" , !iris->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" , &iris->fullscreen )) {
315+ if (MenuItem (ICON_MS_FULLSCREEN " Fullscreen" , " F11" , &iris->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 " , iris->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