From 3d0d58fe64136dfc0446589a5094ed8b1eb77521 Mon Sep 17 00:00:00 2001 From: Dirk Sohler Date: Fri, 12 Apr 2019 21:56:06 +0200 Subject: [PATCH] add host time format setting --- init.lua | 4 ++++ locale/mtimer.de.tr | 1 + screenshots/main_menu.png | Bin 29275 -> 32623 bytes system/chat_command.lua | 3 +++ system/formspec/formspec_creation.lua | 17 +++++++++++--- system/get_timer_data.lua | 4 +++- system/get_times.lua | 31 ++++++++++++++++---------- system/on_receive_fields.lua | 11 +++++++++ 8 files changed, 55 insertions(+), 16 deletions(-) diff --git a/init.lua b/init.lua index bc79a74..0fd5cd3 100644 --- a/init.lua +++ b/init.lua @@ -29,6 +29,10 @@ mtimer = { key = 'mtimer:real_time_format', default = '{24h}:{min} ({isodate})' }, + host_time = { + key = 'mtimer:host_time_format', + default = '{24h}:{min} ({isodate})' + }, session_start_time = { key = 'mtimer:session_start_time_format', default = '{isodate}T{isotime}' diff --git a/locale/mtimer.de.tr b/locale/mtimer.de.tr index 82706c5..e6ee5ac 100644 --- a/locale/mtimer.de.tr +++ b/locale/mtimer.de.tr @@ -6,6 +6,7 @@ Ingame Time Format=Spielzeit-Format Open Main Menu=Hauptmenü öffnen Position=Ausrichtung Real-World Time Format=Realzeit-Format +Host Time Format=Hostzeit-Format Reset Everything=Alles zurücksetzen Session Duration Format=Sitzungsdauer-Format Session Start Time Format=Sitzungsstartzeit-Format diff --git a/screenshots/main_menu.png b/screenshots/main_menu.png index 28aee2245a365faae09fb28ecc0f19f9ac94a4d0..a61a42f470846667651680ed7ca9ffb621bf42c6 100644 GIT binary patch literal 32623 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 KMlt2+mH!17=*wIH literal 29275 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 M(@3M7dMNyV0Nsjcb^rhX diff --git a/system/chat_command.lua b/system/chat_command.lua index 3152c48..5fcd541 100644 --- a/system/chat_command.lua +++ b/system/chat_command.lua @@ -31,6 +31,7 @@ end -- tz timezone d.timezone_offset(name) -- in ingame d.ingame_time_format(name) -- re real d.real_world_time_format(name) +-- ht host time d.host_time_format(name) -- st start time d.session_start_time_format(name) -- sd session duration d.session_duration_format(name) -- tf timer format d.timer_format(name) @@ -53,6 +54,7 @@ minetest.register_chatcommand('mtimer', { if action == 'tz' then d.timezone_offset(name) end if action == 'in' then d.ingame_time_format(name) end if action == 're' then d.real_world_time_format(name) end + if action == 'ht' then d.host_time_format(name) end if action == 'st' then d.session_start_time_format(name) end if action == 'sd' then d.session_duration_format(name) end if action == 'tf' then d.timer_format(name) end @@ -65,6 +67,7 @@ minetest.register_chatcommand('mtimer', { command('tz')..S('Timezone Offset'), command('in')..S('Ingame Time Format'), command('re')..S('Real-World Time Format'), + command('ht')..S('Host Time Format'), command('st')..S('Session Start Time Format'), command('sd')..S('Session Duration Format'), command('tf')..S('Timer Format'), diff --git a/system/formspec/formspec_creation.lua b/system/formspec/formspec_creation.lua index cd9b1a3..c5bc40f 100644 --- a/system/formspec/formspec_creation.lua +++ b/system/formspec/formspec_creation.lua @@ -26,7 +26,7 @@ mtimer.dialog.main_menu = function (player_name) mtimer.show_formspec('mtimer:main_menu', { title = S('mTimer'), width = 9.5, - height = 6.125, + height = 7.125, prefix = '', add_buttons = false, show_to = player_name, @@ -43,13 +43,14 @@ mtimer.dialog.main_menu = function (player_name) 'button[0,1.5;3,1;real_world_time_format;'..S('Real-World Time Format')..']', 'button[0,2.5;3,1;session_start_time_format;'..S('Session Start Time Format')..']', 'button[0,3.5;3,1;session_duration_format;'..S('Session Duration Format')..']', + 'button[0,4.5;3,1;host_time_format;'..S('Host Time Format')..']', 'container_end[]', 'container[6.5,0]', 'label[0,0;'..S('Timer Configuration')..']', 'button[0,0.5;3,1;timer_format;'..S('Timer Format')..']', 'button[0,1.5;3,1;timezone_offset;'..S('Timezone Offset')..']', 'container_end[]', - 'container[0,4.55]', + 'container[0,5.55]', 'box[0,0;+linewidth,0.04;#ffffff]', 'button[4.5,0.225;2.5,1;reset_everything;'..S('Reset Everything')..']', 'button_exit[7,0.225;2.5,1;exit;'..S('Exit')..']', @@ -183,6 +184,15 @@ mtimer.dialog.real_world_time_format = function (player_name) end +mtimer.dialog.host_time_format = function (player_name) + mtimer.dialog.real_time_universal(player_name, { + time_type = 'host_time', + formspec_name = 'mtimer:host_time_format', + title = S('Host Time Format') + }) +end + + mtimer.dialog.session_start_time_format = function (player_name) mtimer.dialog.real_time_universal(player_name, { time_type = 'session_start_time', @@ -226,7 +236,7 @@ mtimer.dialog.timer_format = function (player_name) mtimer.show_formspec('mtimer:timer_format', { title = S('Timer Format'), show_to = player_name, - height = 4.41, + height = 4.75, formspec = { 'textarea[0.3,0;6,2.5;format;;'..fe(timer_data.format)..']', 'container[0,2.18]', @@ -237,6 +247,7 @@ mtimer.dialog.timer_format = function (player_name) 'label[0,0.9;'..S('In-Game Time')..'] label[2.5,0.9;{it}] label[4,0.9;'..fe(timer_data.ingame_time)..']', 'label[0,1.3;'..S('Session Start Time')..'] label[2.5,1.3;{st}] label[4,1.3;'..fe(timer_data.session_start_time)..']', 'label[0,1.7;'..S('Session Duration')..'] label[2.5,1.7;{sd}] label[4,1.7;'..fe(timer_data.session_duration)..']', + 'label[0,2.1;'..S('Host Time')..'] label[2.5,2.1;{ht}] label[4,2.1;'..fe(timer_data.host_time)..']', 'container_end[]', 'container[6,0]', 'button[0,-0.05;2,1;apply;'..S('Apply')..']', diff --git a/system/get_timer_data.lua b/system/get_timer_data.lua index ba46e3f..24efe68 100644 --- a/system/get_timer_data.lua +++ b/system/get_timer_data.lua @@ -25,7 +25,8 @@ mtimer.get_timer_data = function (player_name) real_world_date = time_data.real_time.formatted, ingame_time = time_data.ingame_time.formatted, session_start_time = time_data.session_start_time.formatted, - session_duration = time_data.session_duration.formatted + session_duration = time_data.session_duration.formatted, + host_time = time_data.host_time.formatted } values['formatted'] = values.format:gsub('{[0-9a-z]+}', { @@ -33,6 +34,7 @@ mtimer.get_timer_data = function (player_name) ['{it}'] = values.ingame_time, ['{st}'] = values.session_start_time, ['{sd}'] = values.session_duration, + ['{ht}'] = values.host_time }) return values diff --git a/system/get_times.lua b/system/get_times.lua index 97c4652..a89ea0c 100644 --- a/system/get_times.lua +++ b/system/get_times.lua @@ -77,6 +77,7 @@ local get_real_time_universal = function (player_name, time_type) local server_timestamp = '' local local_timestamp = '' local format = '' + local force_utc = '!' if time_type == 'real' then server_timestamp = os.time() @@ -86,6 +87,11 @@ local get_real_time_universal = function (player_name, time_type) server_timestamp = player_meta:get('mtimer:session_start') local_timestamp = server_timestamp + ((timezone_offset*60)*60) format = player_meta:get_string(m_meta.session_start_time.key) + elseif time_type == 'host' then + server_timestamp = os.time() + local_timestamp = server_timestamp + format = player_meta:get_string(m_meta.host_time.key) + force_utc = '' end local date_names = get_date_names({ @@ -100,17 +106,17 @@ local get_real_time_universal = function (player_name, time_type) offset = timezone_offset, }, variables = { - hours_24 = os.date('!%H', local_timestamp), - hours_12 = os.date('!%I', local_timestamp), - minutes = os.date('!%M', local_timestamp), - seconds = os.date('!%S', local_timestamp), + hours_24 = os.date(force_utc..'%H', local_timestamp), + hours_12 = os.date(force_utc..'%I', local_timestamp), + minutes = os.date(force_utc..'%M', local_timestamp), + seconds = os.date(force_utc..'%S', local_timestamp), dayname = date_names.day, monthname = date_names.month, - year = os.date('!%Y', local_timestamp), - month = os.date('!%m', local_timestamp), - day = os.date('!%d', local_timestamp), - iso8601_date = os.date('!%Y-%m-%d', local_timestamp), - iso8601_time = os.date('!%H:%M:%S', local_timestamp), + year = os.date(force_utc..'%Y', local_timestamp), + month = os.date(force_utc..'%m', local_timestamp), + day = os.date(force_utc..'%d', local_timestamp), + iso8601_date = os.date(force_utc..'%Y-%m-%d', local_timestamp), + iso8601_time = os.date(force_utc..'%H:%M:%S', local_timestamp), timestamp = local_timestamp }, format = format @@ -253,9 +259,10 @@ end -- @return table The table containing the times as described mtimer.get_times = function (player_name) return { - session_start_time = get_real_time_universal(player_name, 'session'), - session_duration = get_session_duration(player_name), + ingame_time = get_ingame_time(player_name), real_time = get_real_time_universal(player_name, 'real'), - ingame_time = get_ingame_time(player_name) + host_time = get_real_time_universal(player_name, 'host'), + session_start_time = get_real_time_universal(player_name, 'session'), + session_duration = get_session_duration(player_name) } end diff --git a/system/on_receive_fields.lua b/system/on_receive_fields.lua index 723b64f..eb91830 100644 --- a/system/on_receive_fields.lua +++ b/system/on_receive_fields.lua @@ -19,6 +19,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) if fields.timezone_offset then d.timezone_offset(name) end if fields.ingame_time_format then d.ingame_time_format(name) end if fields.real_world_time_format then d.real_world_time_format(name) end + if fields.host_time_format then d.host_time_format(name) end if fields.session_start_time_format then d.session_start_time_format(name) end @@ -99,6 +100,16 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) end + -- Set host time format + if formname == 'mtimer:host_time_format' then + local attr = m.meta.host_time + local value = fields.format or attr.default + meta:set_string(attr.key, value) + if fields.default then meta:set_string(attr.key, attr.default) end + if not fields.quit then d.host_time_format(name) end + end + + -- Set session start time format if formname == 'mtimer:session_start_time_format' then local attr = m.meta.session_start_time