{"action":"created","issue":{"url":"https://api.github.com/repos/minetest/minetest/issues/3258","labels_url":"https://api.github.com/repos/minetest/minetest/issues/3258/labels{/name}","comments_url":"https://api.github.com/repos/minetest/minetest/issues/3258/comments","events_url":"https://api.github.com/repos/minetest/minetest/issues/3258/events","html_url":"https://github.com/minetest/minetest/pull/3258","id":111847052,"number":3258,"title":"New Lua main menu settings","user":{"login":"PilzAdam","id":2159710,"avatar_url":"https://avatars.githubusercontent.com/u/2159710?v=3","gravatar_id":"","url":"https://api.github.com/users/PilzAdam","html_url":"https://github.com/PilzAdam","followers_url":"https://api.github.com/users/PilzAdam/followers","following_url":"https://api.github.com/users/PilzAdam/following{/other_user}","gists_url":"https://api.github.com/users/PilzAdam/gists{/gist_id}","starred_url":"https://api.github.com/users/PilzAdam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PilzAdam/subscriptions","organizations_url":"https://api.github.com/users/PilzAdam/orgs","repos_url":"https://api.github.com/users/PilzAdam/repos","events_url":"https://api.github.com/users/PilzAdam/events{/privacy}","received_events_url":"https://api.github.com/users/PilzAdam/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/minetest/minetest/labels/@%20Client%20/%20Audiovisuals","name":"@ Client / Audiovisuals","color":"009800"},{"url":"https://api.github.com/repos/minetest/minetest/labels/@%20Documentation","name":"@ Documentation","color":"009800"},{"url":"https://api.github.com/repos/minetest/minetest/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-10-16T14:47:43Z","updated_at":"2015-10-16T16:24:50Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/minetest/minetest/pulls/3258","html_url":"https://github.com/minetest/minetest/pull/3258","diff_url":"https://github.com/minetest/minetest/pull/3258.diff","patch_url":"https://github.com/minetest/minetest/pull/3258.patch"},"body":"A new setting tab that contains all available settings, while still being easy to use.\r\n\r\nThe settings are stored in a file with a special markup, that is parsed dynamically by the Lua main menu. It contains information about expected type, default value, and other constraints. This allows the menu to show different dialogs for different types of settings (e.g. a dropdown for enums, or a slider for ints).\r\n\r\nWhat is still missing:\r\n* ~~A `path` type; maybe we can even open a file browser in the mainmenu.~~\r\n* A `flags` type for mapgen flags; a list of checkboxes with all available options would be cool here.\r\n* A `noise_params` type; since they are always the same structure and they are excessively used I think they deserve a special treatment in the GUI.\r\n* Fancy input for `float`  and `int`; if max and min are specified then use a slider, else use a input field with input validation.\r\n* The engine supports arbitrary structs in the settings, but there is none that uses this (except noise params, but they get a special treatment); this is low priority.\r\n* Maybe a fancier GUI.\r\n\r\nAlso the `settings.txt` file probably needs a lot of improvement. Maybe open up a forum thread after this is merged so the actual end-users can help to modify it.\r\n\r\nAlso there are functions to automatically generate `minetest.conf.example` and a translation file that can be parsed by xgettext.\r\n"},"comment":{"url":"https://api.github.com/repos/minetest/minetest/issues/comments/148760123","html_url":"https://github.com/minetest/minetest/pull/3258#issuecomment-148760123","issue_url":"https://api.github.com/repos/minetest/minetest/issues/3258","id":148760123,"user":{"login":"est31","id":8872119,"avatar_url":"https://avatars.githubusercontent.com/u/8872119?v=3","gravatar_id":"","url":"https://api.github.com/users/est31","html_url":"https://github.com/est31","followers_url":"https://api.github.com/users/est31/followers","following_url":"https://api.github.com/users/est31/following{/other_user}","gists_url":"https://api.github.com/users/est31/gists{/gist_id}","starred_url":"https://api.github.com/users/est31/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/est31/subscriptions","organizations_url":"https://api.github.com/users/est31/orgs","repos_url":"https://api.github.com/users/est31/repos","events_url":"https://api.github.com/users/est31/events{/privacy}","received_events_url":"https://api.github.com/users/est31/received_events","type":"User","site_admin":false},"created_at":"2015-10-16T16:24:50Z","updated_at":"2015-10-16T16:24:50Z","body":"Very nice!\r\nWill give it a closer look later."}}