Skip to content

Commit 8c430cc

Browse files
authored
Eventually restart file loading (#533)
* Add AdvDupe2_BlockCreateEntity hook * Revert "Add AdvDupe2_BlockCreateEntity hook" This reverts commit 79cb483. * Eventually restart file opening * Better comment, put clear func on _G table * Remove unused, set as false instead of nil Remove AdvDupe2.File, it's unused in the codebase and never set anywhere Set .Uploading to false, not nil
1 parent ded84ce commit 8c430cc

1 file changed

Lines changed: 20 additions & 6 deletions

File tree

lua/advdupe2/cl_file.lua

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -73,19 +73,33 @@ net.Receive("AdvDupe2_ReceiveFile", function()
7373
end)
7474

7575
AdvDupe2.Uploading = false
76+
AdvDupe2.UploadAttempts = 0
77+
function AdvDupe2.ClearFileUpload()
78+
AdvDupe2.Uploading = false
79+
AdvDupe2.UploadAttempts = 0
80+
AdvDupe2.RemoveProgressBar()
81+
end
82+
7683
function AdvDupe2.SendFile(name, data)
7784
net.Start("AdvDupe2_ReceiveFile")
7885
net.WriteString(name)
79-
AdvDupe2.Uploading = net.WriteStream(data, function()
80-
AdvDupe2.Uploading = nil
81-
AdvDupe2.File = nil
82-
AdvDupe2.RemoveProgressBar()
83-
end)
86+
AdvDupe2.Uploading = net.WriteStream(data, AdvDupe2.ClearFileUpload)
8487
net.SendToServer()
8588
end
8689

90+
local MAX_UPLOAD_ATTEMPTS = 3
8791
function AdvDupe2.UploadFile(ReadPath, ReadArea)
88-
if AdvDupe2.Uploading then AdvDupe2.Notify("Already opening file, please wait.", NOTIFY_ERROR) return end
92+
if AdvDupe2.Uploading then
93+
AdvDupe2.UploadAttempts = AdvDupe2.UploadAttempts + 1
94+
if AdvDupe2.UploadAttempts < MAX_UPLOAD_ATTEMPTS then
95+
local remaining = MAX_UPLOAD_ATTEMPTS - AdvDupe2.UploadAttempts
96+
AdvDupe2.Notify("Already opening file, retry " .. remaining .. "x to force restart", NOTIFY_ERROR)
97+
return
98+
end
99+
AdvDupe2.Notify("Restarting file opening...", NOTIFY_ERROR)
100+
AdvDupe2.Uploading:Remove() -- kill upload netstream
101+
AdvDupe2.ClearFileUpload()
102+
end
89103
if(ReadArea==0)then
90104
ReadPath = AdvDupe2.DataFolder.."/"..ReadPath..".txt"
91105
elseif(ReadArea==1)then

0 commit comments

Comments
 (0)