Skip to content

Commit db31e46

Browse files
committed
Fix more sequence problems
They never stop coming, do they
1 parent cf4edd7 commit db31e46

File tree

3 files changed

+22
-15
lines changed

3 files changed

+22
-15
lines changed

tptmp/client/client.lua

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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
405407
end
406408

407409
function 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
416420
end
417421

418422
function 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
427433
end
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
440448
end
441449

442450
function 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)

tptmp/client/init.lua

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -281,8 +281,8 @@ local function run()
281281
sx, sy = 0, 0
282282
end
283283
local tool = member.last_tool or member.tool_l
284-
local tool_name = util.to_tool[tool] or decode_rulestring(tool) or "UNKNOWN"
285-
local tool_class = util.xid_class[tool]
284+
local tool_name = (tool and util.to_tool[tool] or decode_rulestring(tool)) or "UNKNOWN"
285+
local tool_class = tool and util.xid_class[tool]
286286
if elem[tool_name] and tool ~= 0 and tool_name ~= "UNKNOWN" then
287287
local real_name = elem.property(elem[tool_name], "Name")
288288
if real_name ~= "" then
@@ -300,8 +300,7 @@ local function run()
300300
local repl_tool_name
301301
if member.bmode ~= 0 then
302302
local repl_tool = member.tool_x
303-
repl_tool_name = util.to_tool[repl_tool] or "UNKNOWN"
304-
local repl_tool_class = util.xid_class[repl_tool]
303+
repl_tool_name = repl_tool and util.to_tool[repl_tool] or "UNKNOWN"
305304
if elem[repl_tool_name] and repl_tool ~= 0 and repl_tool_name ~= "UNKNOWN" then
306305
local real_name = elem.property(elem[repl_tool_name], "Name")
307306
if real_name ~= "" then

tptmp/common/config.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ return {
66
-- ***********************************************************************
77

88
-- * Protocol version, between 0 and 254. 255 is reserved for future use.
9-
version = 30,
9+
version = 31,
1010

1111
-- * Client-to-server message size limit, between 0 and 255, the latter
1212
-- limit being imposted by the protocol.

0 commit comments

Comments
 (0)