mirror of
https://github.com/BlackMATov/evolved.lua.git
synced 2025-12-14 20:11:27 +07:00
skip paired fragments while gathering required fragments
This commit is contained in:
72
evolved.lua
72
evolved.lua
@@ -1796,23 +1796,31 @@ local function __chunk_required_fragments(chunk, req_fragment_set, req_fragment_
|
||||
fragment_stack[fragment_stack_size] = nil
|
||||
fragment_stack_size = fragment_stack_size - 1
|
||||
|
||||
local fragment_requires = __sorted_requires[stack_fragment]
|
||||
local fragment_require_list = fragment_requires and fragment_requires.__item_list
|
||||
local fragment_require_count = fragment_requires and fragment_requires.__item_count or 0
|
||||
if stack_fragment < 0 then
|
||||
-- this is a pair fragment, just skip it
|
||||
else
|
||||
local fragment_requires = __sorted_requires[stack_fragment]
|
||||
local fragment_require_list = fragment_requires and fragment_requires.__item_list
|
||||
local fragment_require_count = fragment_requires and fragment_requires.__item_count or 0
|
||||
|
||||
for fragment_require_index = 1, fragment_require_count do
|
||||
---@cast fragment_require_list -?
|
||||
local required_fragment = fragment_require_list[fragment_require_index]
|
||||
for fragment_require_index = 1, fragment_require_count do
|
||||
---@cast fragment_require_list -?
|
||||
local required_fragment = fragment_require_list[fragment_require_index]
|
||||
|
||||
if req_fragment_set[required_fragment] then
|
||||
-- this fragment has already been gathered
|
||||
else
|
||||
req_fragment_count = req_fragment_count + 1
|
||||
req_fragment_set[required_fragment] = req_fragment_count
|
||||
req_fragment_list[req_fragment_count] = required_fragment
|
||||
if req_fragment_set[required_fragment] then
|
||||
-- this fragment has already been gathered
|
||||
else
|
||||
req_fragment_count = req_fragment_count + 1
|
||||
req_fragment_set[required_fragment] = req_fragment_count
|
||||
req_fragment_list[req_fragment_count] = required_fragment
|
||||
|
||||
fragment_stack_size = fragment_stack_size + 1
|
||||
fragment_stack[fragment_stack_size] = required_fragment
|
||||
if required_fragment < 0 then
|
||||
-- this is a pair fragment, just skip it
|
||||
else
|
||||
fragment_stack_size = fragment_stack_size + 1
|
||||
fragment_stack[fragment_stack_size] = required_fragment
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1843,23 +1851,31 @@ local function __fragment_required_fragments(fragment, req_fragment_set, req_fra
|
||||
fragment_stack[fragment_stack_size] = nil
|
||||
fragment_stack_size = fragment_stack_size - 1
|
||||
|
||||
local fragment_requires = __sorted_requires[stack_fragment]
|
||||
local fragment_require_list = fragment_requires and fragment_requires.__item_list
|
||||
local fragment_require_count = fragment_requires and fragment_requires.__item_count or 0
|
||||
if stack_fragment < 0 then
|
||||
-- this is a pair fragment, just skip it
|
||||
else
|
||||
local fragment_requires = __sorted_requires[stack_fragment]
|
||||
local fragment_require_list = fragment_requires and fragment_requires.__item_list
|
||||
local fragment_require_count = fragment_requires and fragment_requires.__item_count or 0
|
||||
|
||||
for fragment_require_index = 1, fragment_require_count do
|
||||
---@cast fragment_require_list -?
|
||||
local required_fragment = fragment_require_list[fragment_require_index]
|
||||
for fragment_require_index = 1, fragment_require_count do
|
||||
---@cast fragment_require_list -?
|
||||
local required_fragment = fragment_require_list[fragment_require_index]
|
||||
|
||||
if req_fragment_set[required_fragment] then
|
||||
-- this fragment has already been gathered
|
||||
else
|
||||
req_fragment_count = req_fragment_count + 1
|
||||
req_fragment_set[required_fragment] = req_fragment_count
|
||||
req_fragment_list[req_fragment_count] = required_fragment
|
||||
if req_fragment_set[required_fragment] then
|
||||
-- this fragment has already been gathered
|
||||
else
|
||||
req_fragment_count = req_fragment_count + 1
|
||||
req_fragment_set[required_fragment] = req_fragment_count
|
||||
req_fragment_list[req_fragment_count] = required_fragment
|
||||
|
||||
fragment_stack_size = fragment_stack_size + 1
|
||||
fragment_stack[fragment_stack_size] = required_fragment
|
||||
if required_fragment < 0 then
|
||||
-- this is a pair fragment, just skip it
|
||||
else
|
||||
fragment_stack_size = fragment_stack_size + 1
|
||||
fragment_stack[fragment_stack_size] = required_fragment
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user