From: <wjp...@us...> - 2004-12-29 13:58:43
|
Update of /cvsroot/exult/exult In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13163 Modified Files: ChangeLog exult.cc Log Message: * exult.cc: don't let avatar move if right clicking on gump to close it (based on patch #1088000) Index: ChangeLog =================================================================== RCS file: /cvsroot/exult/exult/ChangeLog,v retrieving revision 1.1906 retrieving revision 1.1907 diff -u -d -r1.1906 -r1.1907 --- ChangeLog 1 Dec 2004 07:15:28 -0000 1.1906 +++ ChangeLog 29 Dec 2004 13:58:27 -0000 1.1907 @@ -1,3 +1,7 @@ +2004-12-29 Willem Jan Palenstijn <wjp...@us...> + * exult.cc: don't let avatar move if right clicking on gump to close it + (based on patch #1088000) + 2004-12-01 <je...@mi...> * mapedit/objedit.cc,etc.: Added 'rotate' button to obj-edit dialog. Index: exult.cc =================================================================== RCS file: /cvsroot/exult/exult/exult.cc,v retrieving revision 1.467 retrieving revision 1.468 diff -u -d -r1.467 -r1.468 --- exult.cc 27 Dec 2004 01:25:06 -0000 1.467 +++ exult.cc 29 Dec 2004 13:58:34 -0000 1.468 @@ -182,17 +182,18 @@ /* * Statics: */ -static bool dragging = false; // Object or gump being moved. -static bool dragged = false; // Flag for when obj. moved. static bool run_bg = false; // skip menu and run bg static bool run_si = false; // skip menu and run si - static string arg_gamename = "default"; // cmdline arguments static string arg_configfile = ""; static int arg_buildmap = -1; static bool arg_nomenu = false; static bool arg_edit_mode = false; // Start up ExultStudio. +static bool dragging = false; // Object or gump being moved. +static bool dragged = false; // Flag for when obj. moved. +static bool right_on_gump = false; // Right clicked on gump? + /* * A handy breakpoint. */ @@ -922,7 +923,7 @@ { int x, y;// Check for 'stuck' Avatar. int ms = SDL_GetMouseState(&x, &y); - if (SDL_BUTTON(3) & ms) + if ((SDL_BUTTON(3) & ms) && !right_on_gump) gwin->start_actor(x/scale, y/scale, Mouse::mouse->avatar_speed); else @@ -985,7 +986,6 @@ // We want this Gump_manager *gump_man = gwin->get_gump_man(); - static bool right_on_gump = false; Gump *gump = 0; // For detecting double-clicks. @@ -1131,7 +1131,13 @@ if (!dragging) Mouse::mouse->set_speed_cursor(); Mouse::mouse_update = true; // Need to blit mouse. - right_on_gump = false; + if (right_on_gump && + !(gump_man->can_right_click_close() && + gump_man->gump_mode() && + gump_man->find_gump(event.motion.x / scale, + event.motion.y / scale, false))) { + right_on_gump = false; + } // Dragging with left button? if (event.motion.state & SDL_BUTTON(1)) @@ -1158,7 +1164,7 @@ event.motion.y / scale); } // Dragging with right? - else if ((event.motion.state & SDL_BUTTON(3))) + else if ((event.motion.state & SDL_BUTTON(3)) && !right_on_gump) gwin->start_actor(event.motion.x / scale, event.motion.y / scale, Mouse::mouse->avatar_speed); #ifdef USE_EXULTSTUDIO // Painting? |