ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/gde/GCE/MapEditor.pm
(Generate patch)

Comparing deliantra/gde/GCE/MapEditor.pm (file contents):
Revision 1.20 by elmex, Wed Mar 15 23:45:48 2006 UTC vs.
Revision 1.21 by elmex, Thu Mar 16 01:13:57 2006 UTC

115 if ($kv == $Gtk2::Gdk::Keysyms{Control_L}) { 115 if ($kv == $Gtk2::Gdk::Keysyms{Control_L}) {
116 $self->{ea_alt} = $::MAINWIN->{edit_collection}{erase}; 116 $self->{ea_alt} = $::MAINWIN->{edit_collection}{erase};
117 117
118 } elsif ($kv == $Gtk2::Gdk::Keysyms{Alt_L}) { 118 } elsif ($kv == $Gtk2::Gdk::Keysyms{Alt_L}) {
119 $self->{ea_alt} = $::MAINWIN->{edit_collection}{pick}; 119 $self->{ea_alt} = $::MAINWIN->{edit_collection}{pick};
120 } elsif ($kv == $Gtk2::Gdk::Keysyms{x}) {
121 $::MAINWIN->{edit_collection}{select}->move;
120 } elsif ($kv == $Gtk2::Gdk::Keysyms{c}) { 122 } elsif ($kv == $Gtk2::Gdk::Keysyms{c}) {
121 $::MAINWIN->{edit_collection}{select}->copy; 123 $::MAINWIN->{edit_collection}{select}->copy;
122 } elsif ($kv == $Gtk2::Gdk::Keysyms{v}) { 124 } elsif ($kv == $Gtk2::Gdk::Keysyms{v}) {
123 my ($x, $y) = $map->coord ($map->get_pointer); 125 my ($x, $y) = $map->coord ($map->get_pointer);
124 $::MAINWIN->{edit_collection}{select}->paste ($x, $y); 126 $::MAINWIN->{edit_collection}{select}->paste ($x, $y);
237 $map->{undo_stack} 239 $map->{undo_stack}
238 and $map->{undo_stack_pos} < @{$map->{undo_stack}} 240 and $map->{undo_stack_pos} < @{$map->{undo_stack}}
239 or return; 241 or return;
240 242
241 $map->change_swap ($map->{undo_stack}[$map->{undo_stack_pos}++]); 243 $map->change_swap ($map->{undo_stack}[$map->{undo_stack_pos}++]);
242}
243
244sub delete_arch {
245 my ($self, $x, $y) = @_;
246
247 defined $self->{map}
248 or return 0;
249
250 my $as = $self->{map}->get ($x, $y);
251 pop @$as;
252 $self->{map}->set ($x, $y, $as);
253}
254
255sub place_pick {
256 my ($self, $x, $y) = @_;
257
258 my $pick = $::MAINWIN->get_pick;
259 my $as = $self->{map}->get ($x, $y);
260
261 my $arch = { _name => $pick->{_name} };
262
263 push @$as, $arch
264 unless @$as && $as->[-1]->{_name} eq $arch->{_name};
265
266 $self->{map}->set ($x, $y, $as);
267} 244}
268 245
269sub delete { 246sub delete {
270 my ($self) = @_; 247 my ($self) = @_;
271 248

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines