Merge branch 'main' into new-animation-features

This commit is contained in:
MihailRis 2026-09-15 21:04:28 +03:00
commit 9f40303661
17 changed files with 468 additions and 340 deletions

View file

@ -208,7 +208,7 @@ function Version.__less(ver1, ver2)
end
function Version.__greater_or_equal(ver1, ver2)
return not Version.__less(ver2, ver1)
return not Version.__less(ver1, ver2)
end
function Version.__less_or_equal(ver1, ver2)
@ -227,6 +227,11 @@ function Version.compare(op, ver1, ver2)
ver1 = string.split(ver1, ".")
ver2 = string.split(ver2, ".")
for i = 1, 3 do
ver1[i] = tonumber(ver1[i]) or 0
ver2[i] = tonumber(ver2[i]) or 0
end
local comparison_func = Version.operators[op];
if comparison_func then
@ -252,7 +257,7 @@ end
local function compare_version(op, dependent_version, actual_version)
if Version.matches_pattern(dependent_version) and Version.matches_pattern(actual_version) then
return Version.compare(op, dep_ver, actual_version)
return Version.compare(op, actual_version, dependent_version)
elseif dependent_version == "*" or dependent_version == actual_version then
return true
else

View file

@ -98,40 +98,80 @@ local _udp_server_callbacks = {}
local _udp_client_datagram_callbacks = {}
local _udp_client_open_callbacks = {}
local _http_response_callbacks = {}
local _http_error_callbacks = {}
local http_request = network.__request
local open_tcp = network.__open_tcp
local open_udp = network.__open_udp
local connect_tcp = network.__connect_tcp
local connect_udp = network.__connect_udp
network.__request = nil
network.__open_tcp = nil
network.__open_udp = nil
network.__connect_tcp = nil
network.__connect_udp = nil
local function request(url, params)
local id = http_request(url, params)
if params.on_response then
_http_response_callbacks[id] = params.on_response
end
end
network.request = request
network.get = function(url, callback, errorCallback, headers)
local id = network.__get(url, headers)
if callback then
_http_response_callbacks[id] = callback
end
if errorCallback then
_http_error_callbacks[id] = errorCallback
end
return request(url, {
method = "GET",
headers = headers,
on_response = function(response)
if response.status / 100 == 2 then
return callback(response.body)
else
return errorCallback(response.status, response.body)
end
end,
on_error = function(response)
errorCallback(response.status, response.body)
end,
follow_location = true,
})
end
network.get_binary = function(url, callback, errorCallback, headers)
local id = network.__get_binary(url, headers)
if callback then
_http_response_callbacks[id] = callback
end
if errorCallback then
_http_error_callbacks[id] = errorCallback
end
return request(url, {
method = "GET",
headers = headers,
on_response = callback and (function (response)
if response.code / 100 == 2 then
return callback(Bytearray(response.body))
else
return errorCallback(response.status, response.body)
end
end),
follow_location = true,
})
end
network.post = function(url, data, callback, errorCallback, headers)
local id = network.__post(url, data, headers)
if callback then
_http_response_callbacks[id] = callback
end
if errorCallback then
_http_error_callbacks[id] = errorCallback
end
network.post = function(url, body, callback, errorCallback, headers)
return request(url, {
method = "POST",
headers = table.extend({
"Content-Type: application/json"
}, headers),
body = body,
on_response = function(response)
if response.code / 100 == 2 then
return callback(Bytearray(response.body))
else
return errorCallback(response.status, response.body)
end
end,
follow_location = true,
})
end
network.tcp_open = function (port, handler)
local socket = setmetatable({id=network.__open_tcp(port)}, ServerSocket)
local socket = setmetatable({id=open_tcp(port)}, ServerSocket)
_tcp_server_callbacks[socket.id] = function(id)
handler(setmetatable({id=id}, Socket))
@ -141,7 +181,7 @@ end
network.tcp_connect = function(address, port, callback, errorCallback)
local socket = setmetatable({id=0}, Socket)
socket.id = network.__connect_tcp(address, port)
socket.id = connect_tcp(address, port)
_tcp_client_callbacks[socket.id] = function() callback(socket) end
if errorCallback then
_tcp_client_error_callbacks[socket.id] = function(message) errorCallback(socket, message) end
@ -154,7 +194,7 @@ network.udp_open = function (port, datagramHandler)
error "udp server cannot be opened without datagram handler"
end
local socket = setmetatable({id=network.__open_udp(port)}, DatagramServerSocket)
local socket = setmetatable({id=open_udp(port)}, DatagramServerSocket)
_udp_server_callbacks[socket.id] = function(address, port, data)
datagramHandler(address, port, data, socket)
@ -169,7 +209,7 @@ network.udp_connect = function (address, port, datagramHandler, openCallback)
end
local socket = setmetatable({id=0}, WriteableSocket)
socket.id = network.__connect_udp(address, port)
socket.id = connect_udp(address, port)
_udp_client_datagram_callbacks[socket.id] = datagramHandler
if openCallback then
@ -239,20 +279,10 @@ network.__process_events = function()
end
end
elseif etype == RESPONSE then
if event[2] / 100 == 2 then
local callback = _http_response_callbacks[event[3]]
_http_response_callbacks[event[3]] = nil
_http_error_callbacks[event[3]] = nil
if callback then
callback(event[4])
end
else
local callback = _http_error_callbacks[event[3]]
_http_response_callbacks[event[3]] = nil
_http_error_callbacks[event[3]] = nil
if callback then
callback(event[2], event[4])
end
local callback = _http_response_callbacks[event[3]]
_http_response_callbacks[event[3]] = nil
if callback then
callback(event[4])
end
end