From: <js...@us...> - 2005-03-02 08:02:26
|
Update of /cvsroot/exult/exult In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1377 Modified Files: cheat.cc cheat.h mouse.cc Log Message: More work on chunk-select Index: cheat.cc =================================================================== RCS file: /cvsroot/exult/exult/cheat.cc,v retrieving revision 1.96 retrieving revision 1.97 diff -u -d -r1.96 -r1.97 --- cheat.cc 11 Jul 2004 22:55:45 -0000 1.96 +++ cheat.cc 2 Mar 2005 08:01:56 -0000 1.97 @@ -210,6 +210,25 @@ gwin->set_all_dirty(); } +void Cheat::clear_chunksel(void) { + chunksel_left = chunksel_top = c_num_chunks; + chunksel_right = chunksel_bottom = -1; +} + +void Cheat::add_chunksel(Map_chunk *chunk, bool extend) { + chunk->set_selected(true); + int cx = chunk->get_cx(), cy = chunk->get_cy(); + if (cx < chunksel_left) + chunksel_left = cx; + if (cx > chunksel_right) + chunksel_right = cx; + if (cy < chunksel_top) + chunksel_top = cy; + if (cy > chunksel_bottom) + chunksel_bottom = cy; + // ++++++++LATER: Handle extend. +} + void Cheat::set_edit_lift(int lift) { if (!enabled) return; edit_lift = lift; Index: cheat.h =================================================================== RCS file: /cvsroot/exult/exult/cheat.h,v retrieving revision 1.37 retrieving revision 1.38 diff -u -d -r1.37 -r1.38 --- cheat.h 11 Jul 2004 07:55:01 -0000 1.37 +++ cheat.h 2 Mar 2005 08:01:56 -0000 1.38 @@ -30,6 +30,7 @@ class Game_object; class Tile_coord; class Effects_manager; +class Map_chunk; class Cheat : public Game_singletons { @@ -43,7 +44,8 @@ move = 0, // Normal dragging. paint = 1, // Left-mouse dragging paints shapes. paint_chunks = 2, // Left-dragging paints whole chunks. - combo_pick = 3 // Left-click adds item to combo. + combo_pick = 3, // Left-click adds item to combo. + select_chunks = 4 // Select whole chunks. }; private: ShapeBrowser *browser; @@ -67,6 +69,8 @@ bool hack_mover; bool enabled; + // Rectangle containing selected chunks: + int chunksel_left, chunksel_right, chunksel_top, chunksel_bottom; void send_select_status(); public: @@ -93,6 +97,8 @@ void toggle_map_editor (void); void toggle_tile_grid (void); void set_edit_mode(Map_editor_mode md) { edit_mode = md; } + void clear_chunksel(); + void add_chunksel(Map_chunk *chunk, bool extend = false); void set_edit_lift(int lift); void set_edit_shape(int sh, int fr); void set_edit_chunknum(int chnum) { edit_chunknum = chnum; } Index: mouse.cc =================================================================== RCS file: /cvsroot/exult/exult/mouse.cc,v retrieving revision 1.53 retrieving revision 1.54 diff -u -d -r1.53 -r1.54 --- mouse.cc 18 Feb 2004 17:52:53 -0000 1.53 +++ mouse.cc 2 Mar 2005 08:01:56 -0000 1.54 @@ -272,6 +272,8 @@ #endif case Cheat::combo_pick: cursor = greenselect; break; + case Cheat::select_chunks: + cursor = greenselect; break; // Nice to have somethin else. } } else if (Combat::is_paused()) |