@@ -401,28 +401,34 @@ function client_i:handle_flood_39_()
401401 end
402402 member .last_tool = member [index_to_lrax [index ]]
403403 local x , y = self :read_xy_12_ ()
404- util .flood_any (x , y , member .last_tool , - 1 , - 1 , member )
404+ if member .last_tool then
405+ util .flood_any (x , y , member .last_tool , - 1 , - 1 , member )
406+ end
405407end
406408
407409function client_i :handle_lineend_40_ ()
408410 local member = self :member_prefix_ ()
409411 local x1 , y1 = member .line_x , member .line_y
410412 local x2 , y2 = self :read_xy_12_ ()
411- if member .kmod_a then
412- x2 , y2 = util .line_snap_coords (x1 , y1 , x2 , y2 )
413+ if member :can_render () and x1 and member .last_tool then
414+ if member .kmod_a then
415+ x2 , y2 = util .line_snap_coords (x1 , y1 , x2 , y2 )
416+ end
417+ util .create_line_any (x1 , y1 , x2 , y2 , member .size_x , member .size_y , member .last_tool , member .shape , member , false )
413418 end
414- util .create_line_any (x1 , y1 , x2 , y2 , member .size_x , member .size_y , member .last_tool , member .shape , member , false )
415419 member .line_x , member .line_y = nil , nil
416420end
417421
418422function client_i :handle_rectend_41_ ()
419423 local member = self :member_prefix_ ()
420424 local x1 , y1 = member .rect_x , member .rect_y
421425 local x2 , y2 = self :read_xy_12_ ()
422- if member .kmod_a then
423- x2 , y2 = util .rect_snap_coords (x1 , y1 , x2 , y2 )
426+ if member :can_render () and x1 and member .last_tool then
427+ if member .kmod_a then
428+ x2 , y2 = util .rect_snap_coords (x1 , y1 , x2 , y2 )
429+ end
430+ util .create_box_any (x1 , y1 , x2 , y2 , member .last_tool , member )
424431 end
425- util .create_box_any (x1 , y1 , x2 , y2 , member .last_tool , member )
426432 member .rect_x , member .rect_y = nil , nil
427433end
428434
@@ -434,15 +440,17 @@ function client_i:handle_pointsstart_42_()
434440 end
435441 member .last_tool = member [index_to_lrax [index ]]
436442 local x , y = self :read_xy_12_ ()
437- util .create_parts_any (x , y , member .size_x , member .size_y , member .last_tool , member .shape , member )
443+ if member :can_render () and member .last_tool then
444+ util .create_parts_any (x , y , member .size_x , member .size_y , member .last_tool , member .shape , member )
445+ end
438446 member .last_x = x
439447 member .last_y = y
440448end
441449
442450function client_i :handle_pointscont_43_ ()
443451 local member = self :member_prefix_ ()
444452 local x , y = self :read_xy_12_ ()
445- if member .last_x then
453+ if member : can_render () and member . last_tool and member .last_x then
446454 util .create_line_any (member .last_x , member .last_y , x , y , member .size_x , member .size_y , member .last_tool , member .shape , member , true )
447455 end
448456 member .last_x = x
@@ -1181,7 +1189,7 @@ function client_i:tick_sim_()
11811189 for _ , member in pairs (self .id_to_member ) do
11821190 if member :can_render () then
11831191 local lx , ly = member .line_x , member .line_y
1184- if member .last_tool == util .from_tool .DEFAULT_UI_WIND and not (member .select or member .place ) and lx then
1192+ if lx and member .last_tool == util .from_tool .DEFAULT_UI_WIND and not (member .select or member .place ) and lx then
11851193 local px , py = member .pos_x , member .pos_y
11861194 if member .kmod_a then
11871195 px , py = util .line_snap_coords (lx , ly , px , py )
0 commit comments