From de7574451b653e56ecf37c566ab31be6209bf908 Mon Sep 17 00:00:00 2001 From: kreatordxx <> Date: Thu, 28 Jan 2010 04:24:25 +0000 Subject: [PATCH] Tidy up newmenu_show/hide_cursor calls --- CHANGELOG.txt | 1 + main/kconfig.c | 7 ++++--- main/newmenu.c | 23 ++++++++++++++--------- 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 3013bd8da..ac6fffe84 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -5,6 +5,7 @@ D1X-Rebirth Changelog main/playsave.c, main/playsave.h, main/object.c, main/render.c, main/hud.c, main/hostage.c, main/newdemo.c, main/gamerend.c, main/endlevel.c, main/game.c, main/gauges.c: Made PlayerCfg.CockpitMode an array to hold two values: 0 to store the actual "cockpit", 1 to also store Letterbox, Rear, etc. Greatly helps to switch and restore views - especially in Demo playback which now properly selects modes main/newdemo.c: Added a new code to properly re-record view/cockpit-events at beginning and end of Demo recording so views will be fine if switched before recording started; Also added lost sequence to record Rear-view reset between levels; Last but not least, record wall tmaps so opened/blasted doors will be shown correctly if opened/blasted before recording; Everything done without breaking the Demo format! arch/sdl/window.c, main/automap.c, main/game.c, main/gamecntl.c, main/kconfig.c, main/menu.c, main/net_ipx.c, main/net_udp.c, main/newmenu.c: Make response to EVENT_WINDOW_CLOSE conform to 'handling' system - returning 1 means abort closing +main/kconfig.c, main/newmenu.c: Tidy up newmenu_show/hide_cursor calls 20100127 -------- diff --git a/main/kconfig.c b/main/kconfig.c index af74b4b59..7e2bf7b5c 100644 --- a/main/kconfig.c +++ b/main/kconfig.c @@ -661,7 +661,6 @@ int kconfig_idle(window *wind, d_event *event, kc_menu *menu) k = key_inkey(); #ifdef NEWMENU_MOUSE - newmenu_show_cursor(); // possibly hidden menu->omouse_state = menu->mouse_state; menu->mouse_state = mouse_button_state(0); #endif @@ -916,6 +915,10 @@ int kconfig_handler(window *wind, d_event *event, kc_menu *menu) switch (event->type) { + case EVENT_WINDOW_ACTIVATED: + newmenu_show_cursor(); + break; + case EVENT_IDLE: return kconfig_idle(wind, event, menu); break; @@ -987,8 +990,6 @@ void kconfig_sub(kc_item * items,int nitems, char *title) game_flush_inputs(); - newmenu_show_cursor(); - #ifdef NEWMENU_MOUSE menu->mouse_state = menu->omouse_state = 0; #endif diff --git a/main/newmenu.c b/main/newmenu.c index 117e9b9b3..4315b4f73 100644 --- a/main/newmenu.c +++ b/main/newmenu.c @@ -562,7 +562,6 @@ int newmenu_idle(window *wind, d_event *event, newmenu *menu) timer_delay2(50); #ifdef NEWMENU_MOUSE - newmenu_show_cursor(); // possibly hidden menu->omouse_state = menu->mouse_state; menu->mouse_state = mouse_button_state(0); #endif @@ -1129,9 +1128,6 @@ int newmenu_idle(window *wind, d_event *event, newmenu *menu) } -#ifdef NEWMENU_MOUSE - newmenu_show_cursor(); -#endif for (i=menu->scroll_offset; imax_displayable+menu->scroll_offset; i++ ) if (i==menu->citem && (menu->items[i].type==NM_TYPE_INPUT || (menu->items[i].type==NM_TYPE_INPUT_MENU && menu->items[i].group))) update_cursor( &menu->items[i],menu->scroll_offset); @@ -1228,6 +1224,13 @@ int newmenu_handler(window *wind, d_event *event, newmenu *menu) { switch (event->type) { + case EVENT_WINDOW_ACTIVATED: + if (menu->subfunction) + (*menu->subfunction)(menu, event, menu->userdata); + + newmenu_show_cursor(); + break; + case EVENT_IDLE: return newmenu_idle(wind, event, menu); break; @@ -1299,7 +1302,6 @@ int newmenu_do4( char * title, char * subtitle, int nitems, newmenu_item * item, menu->userdata = userdata; newmenu_close(); - newmenu_hide_cursor(); if (nitems < 1 ) { @@ -1505,7 +1507,6 @@ int newmenu_do4( char * title, char * subtitle, int nitems, newmenu_item * item, digi_resume_digi_sounds(); d_free(menu); - newmenu_hide_cursor(); return -1; } @@ -1563,7 +1564,6 @@ int newmenu_do4( char * title, char * subtitle, int nitems, newmenu_item * item, #ifdef NEWMENU_MOUSE menu->mouse_state = menu->omouse_state = 0; - newmenu_show_cursor(); #endif gr_set_current_canvas(save_canvas); @@ -1925,6 +1925,13 @@ int listbox_handler(window *wind, d_event *event, listbox *lb) { switch (event->type) { + case EVENT_WINDOW_ACTIVATED: + if (lb->listbox_callback) + (*lb->listbox_callback)(lb, event, lb->userdata); + + newmenu_show_cursor(); + break; + case EVENT_IDLE: return listbox_idle(wind, event, lb); break; @@ -2007,7 +2014,6 @@ int newmenu_listbox1( char * title, int nitems, char * items[], int allow_abort_ if (!wind) { d_free(lb); - newmenu_hide_cursor(); return -1; } @@ -2020,7 +2026,6 @@ int newmenu_listbox1( char * title, int nitems, char * items[], int allow_abort_ lb->first_item = -1; lb->mouse_state = lb->omouse_state = 0; //dblclick_flag = 0; - newmenu_show_cursor(); while(!lb->done) event_process();