147 lines
5.1 KiB
Lua
147 lines
5.1 KiB
Lua
--------------------------------------------------------------------------------
|
|
-- Mob Framework Settings Mod by Sapier
|
|
--
|
|
-- You may copy, use, modify or do nearly anything except removing this
|
|
-- copyright notice.
|
|
-- And of course you are NOT allowed to pretend you have written it.
|
|
--
|
|
--! @file tab_info.lua
|
|
--! @brief settings gui for mobf
|
|
--! @copyright Sapier
|
|
--! @author Sapier
|
|
--! @date 2014-05-30
|
|
--
|
|
-- Contact sapier a t gmx net
|
|
--------------------------------------------------------------------------------
|
|
|
|
-------------------------------------------------------------------------------
|
|
local function get_formspec(tabview, name, tabdata)
|
|
|
|
local adv_stats = nil
|
|
if mobf_rtd.have_adv_spawning then
|
|
adv_stats = adv_spawning.get_statistics()
|
|
end
|
|
local mobs_offline = spawning.total_offline_mobs()
|
|
local statistics = mobf_get_statistics()
|
|
|
|
local retval =
|
|
"label[0.75,1.25;Timesource:]" ..
|
|
"label[2.75,1.25;" .. mobf_fixed_size_string(mobf_rtd.timesource,30) .. "]"
|
|
|
|
|
|
if mobf_rtd.have_adv_spawning then
|
|
retval = retval ..
|
|
"label[0.75,2.25;Mobs spawned by adv_spawning this session:]" ..
|
|
"label[6,2.25;" .. string.format("%10d",adv_stats.session.entities_created) .. "]"
|
|
end
|
|
retval = retval ..
|
|
mobf_settings.printfac("Type",{current="cur count",maxabs="",max="max count"},3,"%s") ..
|
|
"box[0.75,3.5;6.75,0.05;#FFFFFF]" ..
|
|
mobf_settings.printfac("Active mobs",statistics.data.mobs,3.5,"%6d") ..
|
|
mobf_settings.printfac("Offline mobs",{current=mobs_offline,maxabs="",max=-1},4,"%6d") ..
|
|
mobf_settings.printfac("Jobs in queue",statistics.data.queue,4.5,"%6d") ..
|
|
"label[0.75,6.0;Daytime:]" ..
|
|
"label[2.5,6.0;" .. string.format("%5d",minetest.get_timeofday()*24000) .. "]"
|
|
|
|
return retval
|
|
end
|
|
|
|
-------------------------------------------------------------------------------
|
|
mobf_settings_tab_info_sub = {
|
|
name = "info",
|
|
caption = fgettext("Generic"),
|
|
cbf_formspec = get_formspec
|
|
}
|
|
|
|
---------------------------------------------------------------------------------
|
|
local function get_formspec(tabview, name, tabdata)
|
|
local adv_stats = nil
|
|
if mobf_rtd.have_adv_spawning then
|
|
adv_stats = adv_spawning.get_statistics()
|
|
end
|
|
local statistics = mobf_get_statistics()
|
|
|
|
local retval =
|
|
mobf_settings.printfac("Facility",
|
|
{
|
|
current = "Current",
|
|
maxabs = "Abs.Max (ms)",
|
|
max = "Maximum"
|
|
},
|
|
"0.5","%s") ..
|
|
"box[0.75,1;6.75,0.05;#FFFFFF]" ..
|
|
mobf_settings.printfac("Total", statistics.data.total, "1", "%2.2f%%") ..
|
|
mobf_settings.printfac("Onstep", statistics.data.onstep, "1.5", "%2.2f%%") ..
|
|
mobf_settings.printfac("Job processing", statistics.data.queue_load, "2", "%2.2f%%") ..
|
|
mobf_settings.printfac("ABM", statistics.data.abm, "2.5", "%.2f%%") ..
|
|
mobf_settings.printfac("MapGen", statistics.data.mapgen, "3", "%2.2f%%") ..
|
|
mobf_settings.printfac("Spawn onstep", statistics.data.spawn_onstep,"3.5", "%2.2f%%") ..
|
|
mobf_settings.printfac("Activate", statistics.data.activate, "4", "%2.2f%%") ..
|
|
mobf_settings.printfac("User 1", statistics.data.user_1, "7", "%2.2f%%") ..
|
|
mobf_settings.printfac("User 2", statistics.data.user_2, "7.5", "%2.2f%%") ..
|
|
mobf_settings.printfac("User 3", statistics.data.user_3, "8", "%2.2f%%")
|
|
|
|
if mobf_rtd.have_adv_spawning then
|
|
retval = retval ..
|
|
mobf_settings.printfac("Adv.Spawning",
|
|
{
|
|
current = adv_stats.load.cur,
|
|
maxabs = adv_stats.step.max,
|
|
max = adv_stats.load.max
|
|
},
|
|
"4.5","%2.2f%%")
|
|
end
|
|
|
|
return retval
|
|
end
|
|
|
|
-------------------------------------------------------------------------------
|
|
mobf_settings_tab_statistics = {
|
|
name = "statistics",
|
|
caption = fgettext("Statistics"),
|
|
cbf_formspec = get_formspec
|
|
}
|
|
|
|
-------------------------------------------------------------------------------
|
|
local function init_tab(type, from, to, tabview)
|
|
if (to == "info_top") then
|
|
local tabdata = tabview:get_tabdata("info_top")
|
|
assert(tabdata ~= nil)
|
|
|
|
if tabdata.subtabview == nil then
|
|
tabdata.subtabview = tabview_create("infoview",
|
|
{x=8,y=8},{x=0,y=0.75}, tabview.parent_ui)
|
|
tabdata.subtabview:add(mobf_settings_tab_info_sub)
|
|
if core.world_setting_get("mobf_enable_statistics") then
|
|
tabdata.subtabview:add(mobf_settings_tab_statistics)
|
|
end
|
|
tabdata.subtabview:set_parent(tabview)
|
|
end
|
|
tabdata.subtabview:show()
|
|
elseif (from == "info_top") then
|
|
local tabdata = tabview:get_tabdata("info_top")
|
|
assert(tabdata ~= nil)
|
|
if tabdata.subtabview ~= nil then
|
|
tabdata.subtabview:hide()
|
|
end
|
|
end
|
|
end
|
|
|
|
-------------------------------------------------------------------------------
|
|
local function get_formspec_tab(tabview, name, tabdata)
|
|
return ""
|
|
end
|
|
|
|
-------------------------------------------------------------------------------
|
|
local function btn_handler_tab(tabview, fields, tabname, tabdata)
|
|
return false
|
|
end
|
|
|
|
-------------------------------------------------------------------------------
|
|
mobf_settings_tab_info = {
|
|
name = "info_top",
|
|
caption = fgettext("Info"),
|
|
cbf_button_handler = btn_handler_tab,
|
|
cbf_formspec = get_formspec_tab,
|
|
on_change = init_tab
|
|
} |