aboutsummaryrefslogtreecommitdiff
path: root/src/client.h
Commit message (Expand)AuthorAge
* Add progress bar to item visuals preloadingZeg92013-05-13
* Generalize hud_builtin_enable into hud_set_flagskwolekr2013-04-25
* Added support to disable built-in HUD elementsDiego Martínez2013-04-24
* Added offset support for HUD itemsDiego Martínez2013-04-23
* Added support for alignment in HUD itemsDiego Martínez2013-04-23
* Split HUD code off to hud.cpp, make into a class, extensive Lua HUD modificationkwolekr2013-04-18
* Lua HUDJonathon Anderson2013-04-18
* Fix nick completionPilzAdam2013-04-05
* Allow spawning particles from the server, from luaJeija2013-03-23
* Migrate to STL containers/algorithms.Ilya Zhuravlev2013-03-11
* Update Copyright YearsSfan52013-02-24
* Change Minetest-c55 to MinetestPilzAdam2013-02-24
* Add particlesJeija2013-01-14
* Fix buttons not working for Lua-triggered formspecssapier2013-01-07
* Add TOCLIENT_SHOW_FORMSPEC to display formspecs at client from luasapier2013-01-02
* Make m_media_fetch_threads to contain MediaFetchThread* instead of MediaFetch...Ilya Zhuravlev2012-12-17
* Added ability to fetch media from remote server (using cURL library)Ilya Zhuravlev2012-12-16
* ShaderSource and silly example shadersKahrl2012-12-02
* Default server step to 0.1s and sync object/player update intervals to itPerttu Ahola2012-11-26
* Detached inventoriesPerttu Ahola2012-07-24
* minetest.register_on_player_receive_fields()Perttu Ahola2012-07-22
* Optimize headersPerttu Ahola2012-06-17
* Properly and efficiently use split utility headersPerttu Ahola2012-06-17
* Switch the license to be LGPLv2/later, with small parts still remaining as GP...Perttu Ahola2012-06-05
* Implement sign using form field protocolPerttu Ahola2012-06-03
* Add 'fly' and 'fast' privileges and the underlying privileges-to-client systemPerttu Ahola2012-03-31
* Almost support loading sounds from serverPerttu Ahola2012-03-25
* Texture cache -> Media cache WIPPerttu Ahola2012-03-25
* Cache textures by checksumJonathan Neuschäfer2012-03-25
* Lua API for playing soundsPerttu Ahola2012-03-24
* Add event manager and use it to trigger soundsPerttu Ahola2012-03-24
* c55sound continuedPerttu Ahola2012-03-24
* celeron55's sound system initial frameworkPerttu Ahola2012-03-24
* Dynamic sky, fog and cloud colors; sun and moonPerttu Ahola2012-03-18
* Move ClientMap to clientmap.{h,cpp}Perttu Ahola2012-03-16
* Add Client::getEnv() and remove some unnecessary wrappersPerttu Ahola2012-03-15
* MapBlockMesh, mesh animation system, urgent mesh updates, athmospheric light,...Kahrl2012-03-15
* Chat console, including a number of rebases and modifications.Kahrl2012-03-10
* Client-side prediction of inventory changes, and some inventory menu fixesKahrl2012-01-22
* The huge item definition and item namespace unification patch (itemdef), see ...Kahrl2012-01-12
* Texture cache on client (mostly made by sapier) (breaks network compatibility)Perttu Ahola2012-01-02
* Add InvRef and InvStack (currently untested and unusable)Perttu Ahola2012-01-02
* CraftItem rework and Lua interfaceKahrl2011-11-29
* Crafting definition in scriptsPerttu Ahola2011-11-29
* Node definition namesPerttu Ahola2011-11-29
* Improve loading screen and protocolPerttu Ahola2011-11-29
* Clean mapnode.h and fix other files accordinglyPerttu Ahola2011-11-29
* Properly update textures in node definitionsPerttu Ahola2011-11-29
* GameDef compilesPerttu Ahola2011-11-29
* Create framework for getting rid of global definitions of node/tool/item/what...Perttu Ahola2011-11-29
d end menu_worldmt_legacy(index) return true end end end end local btnbar = buttonbar_create("game_button_bar", game_buttonbar_button_handler, {x=-0.3,y=5.9}, "horizontal", {x=12.4,y=1.15}) for i=1,#gamemgr.games,1 do local btn_name = "game_btnbar_" .. gamemgr.games[i].id local image = nil local text = nil local tooltip = core.formspec_escape(gamemgr.games[i].name) if gamemgr.games[i].menuicon_path ~= nil and gamemgr.games[i].menuicon_path ~= "" then image = core.formspec_escape(gamemgr.games[i].menuicon_path) else local part1 = gamemgr.games[i].id:sub(1,5) local part2 = gamemgr.games[i].id:sub(6,10) local part3 = gamemgr.games[i].id:sub(11) text = part1 .. "\n" .. part2 if part3 ~= nil and part3 ~= "" then text = text .. "\n" .. part3 end end btnbar:add_button(btn_name, text, image, tooltip) end end local function get_formspec(tabview, name, tabdata) local retval = "" local index = filterlist.get_current_index(menudata.worldlist, tonumber(core.setting_get("mainmenu_last_selected_world")) ) retval = retval .. "button[4,4.15;2.6,0.5;world_delete;".. fgettext("Delete") .. "]" .. "button[6.5,4.15;2.8,0.5;world_create;".. fgettext("New") .. "]" .. "button[9.2,4.15;2.55,0.5;world_configure;".. fgettext("Configure") .. "]" .. "button[8.5,5;3.25,0.5;play;".. fgettext("Play") .. "]" .. "label[4,-0.25;".. fgettext("Select World:") .. "]".. "checkbox[0.25,0.25;cb_creative_mode;".. fgettext("Creative Mode") .. ";" .. dump(core.setting_getbool("creative_mode")) .. "]".. "checkbox[0.25,0.7;cb_enable_damage;".. fgettext("Enable Damage") .. ";" .. dump(core.setting_getbool("enable_damage")) .. "]".. "textlist[4,0.25;7.5,3.7;sp_worlds;" .. menu_render_worldlist() .. ";" .. index .. "]" return retval end local function main_button_handler(this, fields, name, tabdata) assert(name == "singleplayer") local world_doubleclick = false if fields["sp_worlds"] ~= nil then local event = core.explode_textlist_event(fields["sp_worlds"]) local selected = core.get_textlist_index("sp_worlds") menu_worldmt_legacy(selected) if event.type == "DCL" then world_doubleclick = true end if event.type == "CHG" and selected ~= nil then core.setting_set("mainmenu_last_selected_world", menudata.worldlist:get_raw_index(selected)) return true end end if menu_handle_key_up_down(fields,"sp_worlds","mainmenu_last_selected_world") then return true end if fields["cb_creative_mode"] then core.setting_set("creative_mode", fields["cb_creative_mode"]) local selected = core.get_textlist_index("sp_worlds") menu_worldmt(selected, "creative_mode", fields["cb_creative_mode"]) return true end if fields["cb_enable_damage"] then core.setting_set("enable_damage", fields["cb_enable_damage"]) local selected = core.get_textlist_index("sp_worlds") menu_worldmt(selected, "enable_damage", fields["cb_enable_damage"]) return true end if fields["play"] ~= nil or world_doubleclick or fields["key_enter"] then local selected = core.get_textlist_index("sp_worlds") gamedata.selected_world = menudata.worldlist:get_raw_index(selected) if selected ~= nil and gamedata.selected_world ~= 0 then gamedata.singleplayer = true core.start() else gamedata.errormessage = fgettext("No world created or selected!") end return true end if fields["world_create"] ~= nil then local create_world_dlg = create_create_world_dlg(true) create_world_dlg:set_parent(this) this:hide() create_world_dlg:show() mm_texture.update("singleplayer",current_game()) return true end if fields["world_delete"] ~= nil then local selected = core.get_textlist_index("sp_worlds") if selected ~= nil and selected <= menudata.worldlist:size() then local world = menudata.worldlist:get_list()[selected] if world ~= nil and world.name ~= nil and world.name ~= "" then local index = menudata.worldlist:get_raw_index(selected) local delete_world_dlg = create_delete_world_dlg(world.name,index) delete_world_dlg:set_parent(this) this:hide() delete_world_dlg:show() mm_texture.update("singleplayer",current_game()) end end return true end if fields["world_configure"] ~= nil then local selected = core.get_textlist_index("sp_worlds") if selected ~= nil then local configdialog = create_configure_world_dlg( menudata.worldlist:get_raw_index(selected)) if (configdialog ~= nil) then configdialog:set_parent(this) this:hide() configdialog:show() mm_texture.update("singleplayer",current_game()) end end return true end end local function on_change(type, old_tab, new_tab) local buttonbar = ui.find_by_name("game_button_bar") if ( buttonbar == nil ) then singleplayer_refresh_gamebar() buttonbar = ui.find_by_name("game_button_bar") end if (type == "ENTER") then local game = current_game() if game then menudata.worldlist:set_filtercriteria(game.id) core.set_topleft_text(game.name) mm_texture.update("singleplayer",game) end buttonbar:show() else menudata.worldlist:set_filtercriteria(nil) buttonbar:hide() core.set_topleft_text("") mm_texture.update(new_tab,nil) end end -------------------------------------------------------------------------------- return { name = "singleplayer", caption = fgettext("Singleplayer"), cbf_formspec = get_formspec, cbf_button_handler = main_button_handler, on_change = on_change }