Merge branch 'main' into volume-renderer

This commit is contained in:
MihailRis 2026-01-29 22:34:34 +03:00
commit d9a7afad05
42 changed files with 539 additions and 196 deletions

View file

@ -18,7 +18,7 @@ function ores.place(placements, x, z, w, d, seed, hmap, chunk_height)
for i=1,count do
local sx = math.random() * w
local sz = math.random() * d
local sy = math.random() * (chunk_height * 0.5)
local sy = math.random() * (chunk_height * 0.5) + 6
if sy < hmap:at(sx, sz) * chunk_height - 6 then
table.insert(placements, {ore.struct, {sx, sy, sz}, math.random()*4, -1})
end

View file

@ -28,7 +28,9 @@ local function include(id, is_include)
end
function apply()
core.reconfig_packs(add_packs, rem_packs)
time.post_runnable(function ()
app.reconfig_packs(add_packs, rem_packs)
end)
if mode ~= "world" then
menu:back()
end

View file

@ -11,5 +11,5 @@
<label ifnot='%{error}' pos='80,28' size='355,50' multiline='true' color='#FFFFFFB2'>
%{description}
</label>
<image pos='8,8' src='%{icon}' size='64'/>
<image pos='8,8' src='%{icon}' fallback='gui/no_icon' size='64'/>
</container>

View file

@ -4,7 +4,7 @@
hover-color='#162B3399'
onclick='app.open_world("%{name}")'
>
<image pos='1' src='%{icon}' size='96,64'></image>
<image pos='1' src='%{icon}' fallback='gui/no_world_icon' size='96,64'></image>
<label pos='104,8'>%{name}</label>
<button margin='4'
gravity='center-right'

View file

@ -25,6 +25,7 @@ function tb_frame_tostring(frame)
end
local __vc__app_script_coroutine
local __vc__is_post_runnable = false
local function complete_app_lib(app)
local __app_load_content = app.load_content
@ -44,6 +45,10 @@ local function complete_app_lib(app)
app.tick = __app_tick
local function call_in_app_script_co(func, ...)
if __vc__is_post_runnable then
func(...)
return
end
local running = coroutine.running()
if not running or running ~= __vc__app_script_coroutine then
error("content must be reload in application script coroutine")
@ -513,7 +518,7 @@ local fn_audio_reset_fetch_buffer = audio.__reset_fetch_buffer
audio.__reset_fetch_buffer = nil
core.get_core_token = audio.input.__get_core_token
function __process_post_runnables()
local function __vc__process_post_runnables()
if #__post_runnables then
for _, func in ipairs(__post_runnables) do
local status, result = xpcall(func, __vc__error)
@ -547,6 +552,15 @@ function __process_post_runnables()
end
end
function __process_post_runnables()
__vc__is_post_runnable = true
local success, err = pcall(__vc__process_post_runnables)
if not success then
debug.error("an error ocurred while processing post-runnables: ".. err)
end
__vc__is_post_runnable = false
end
function time.post_runnable(runnable)
table.insert(__post_runnables, runnable)
end