aboutsummaryrefslogtreecommitdiff
path: root/games
Commit message (Expand)AuthorAge
...
* Add fire visualization to minimal furnace menuPerttu Ahola2012-06-03
* Use proper furnace cook timePerttu Ahola2012-06-03
* Lua implementation of furnace with visible active statedarkrose2012-06-03
* Implement locked chest; add after_place_node and after_dig_node node callbacksPerttu Ahola2012-06-03
* minetest.get_craft_resultPerttu Ahola2012-06-03
* Implement sign using form field protocolPerttu Ahola2012-06-03
* Properly create metadata inventories in minimalPerttu Ahola2012-06-03
* Random node metadata thingsPerttu Ahola2012-06-03
* Attempt to begin to implement chests and furnace in Lua (with problems)Perttu Ahola2012-06-03
* Add missing mapgen.lua to games/minimalPerttu Ahola2012-04-06
* experimental:soundblock dig_immediate=3Perttu Ahola2012-04-06
* Make the minimal development test somewhat playable by adding ore generation ...Perttu Ahola2012-04-05
* Fix sound direction and add experimental:soundblock alias sb in minimal for t...Perttu Ahola2012-04-04
* initial_properties field in entity definitionPerttu Ahola2012-03-31
* Add minetest.get_connected_players()Perttu Ahola2012-03-30
* ObjectRef:set_armor_groups() and ObjectRef:set_properties() - works on player...Perttu Ahola2012-03-30
* Modify minimal/give_initial_stuff to always give stuffPerttu Ahola2012-03-29
* Rework tool_capabilities a bit (maxwear->uses, scale dig time according to le...Perttu Ahola2012-03-29
* Make mapgen use mapgen_* node aliases rather than the LEGN macroPerttu Ahola2012-03-28
* Add PseudoRandom in Lua APIPerttu Ahola2012-03-28
* Add minetest.after(time, func)Perttu Ahola2012-03-27
* Add default_grass_footstep.1.ogg as a test sound in minimalPerttu Ahola2012-03-27
* Add games/minimal/game.confPerttu Ahola2012-03-26
* Move games/minetest to games/minimal and update README.txtPerttu Ahola2012-03-26
* Make server world selection not brain dead and use gameid 'minetest' instead ...Perttu Ahola2012-03-25
* Lua API for playing soundsPerttu Ahola2012-03-24
* Add sound.digPerttu Ahola2012-03-24
* Add sounds, tune thingsPerttu Ahola2012-03-24
* Add event manager and use it to trigger soundsPerttu Ahola2012-03-24
* Update Lua API documentation and move it into doc/lua_api.txtPerttu Ahola2012-03-22
* Fix various things being too fast to break by handPerttu Ahola2012-03-20
* Flatten share/ and user/ in the source and for the RUN_IN_PLACE buildPerttu Ahola2012-03-20
for i=self.startbutton,#self.buttons,1 do local btn_name = self.buttons[i].name local btn_pos = {} if self.orientation == "horizontal" then btn_pos.x = self.pos.x + --base pos (i - self.startbutton) * self.btn_size + --button offset self.btn_initial_offset else btn_pos.x = self.pos.x + (self.btn_size * 0.05) end if self.orientation == "vertical" then btn_pos.y = self.pos.y + --base pos (i - self.startbutton) * self.btn_size + --button offset self.btn_initial_offset else btn_pos.y = self.pos.y + (self.btn_size * 0.05) end if (self.orientation == "vertical" and (btn_pos.y + self.btn_size <= self.pos.y + self.size.y)) or (self.orientation == "horizontal" and (btn_pos.x + self.btn_size <= self.pos.x + self.size.x)) then local borders="true" if self.buttons[i].image ~= nil then borders="false" end formspec = formspec .. string.format("image_button[%f,%f;%f,%f;%s;%s;%s;true;%s]tooltip[%s;%s]", btn_pos.x, btn_pos.y, self.btn_size, self.btn_size, self.buttons[i].image, btn_name, self.buttons[i].caption, borders, btn_name, self.buttons[i].tooltip) else --print("end of displayable buttons: orientation: " .. self.orientation) --print( "button_end: " .. (btn_pos.y + self.btn_size - (self.btn_size * 0.05))) --print( "bar_end: " .. (self.pos.x + self.size.x)) break end end if (self.have_move_buttons) then local btn_dec_pos = {} btn_dec_pos.x = self.pos.x + (self.btn_size * 0.05) btn_dec_pos.y = self.pos.y + (self.btn_size * 0.05) local btn_inc_pos = {} local btn_size = {} if self.orientation == "horizontal" then btn_size.x = 0.5 btn_size.y = self.btn_size btn_inc_pos.x = self.pos.x + self.size.x - 0.5 btn_inc_pos.y = self.pos.y + (self.btn_size * 0.05) else btn_size.x = self.btn_size btn_size.y = 0.5 btn_inc_pos.x = self.pos.x + (self.btn_size * 0.05) btn_inc_pos.y = self.pos.y + self.size.y - 0.5 end local text_dec = "<" local text_inc = ">" if self.orientation == "vertical" then text_dec = "^" text_inc = "v" end formspec = formspec .. string.format("image_button[%f,%f;%f,%f;;btnbar_dec_%s;%s;true;true]", btn_dec_pos.x, btn_dec_pos.y, btn_size.x, btn_size.y, self.name, text_dec) formspec = formspec .. string.format("image_button[%f,%f;%f,%f;;btnbar_inc_%s;%s;true;true]", btn_inc_pos.x, btn_inc_pos.y, btn_size.x, btn_size.y, self.name, text_inc) end return formspec end local function buttonbar_buttonhandler(self, fields) if fields["btnbar_inc_" .. self.name] ~= nil and self.startbutton < #self.buttons then self.startbutton = self.startbutton + 1 return true end if fields["btnbar_dec_" .. self.name] ~= nil and self.startbutton > 1 then self.startbutton = self.startbutton - 1 return true end for i=1,#self.buttons,1 do if fields[self.buttons[i].name] ~= nil then return self.userbuttonhandler(fields) end end end local buttonbar_metatable = { handle_buttons = buttonbar_buttonhandler, handle_events = function(self, event) end, get_formspec = buttonbar_formspec, hide = function(self) self.hidden = true end, show = function(self) self.hidden = false end, delete = function(self) ui.delete(self) end, add_button = function(self, name, caption, image, tooltip) if caption == nil then caption = "" end if image == nil then image = "" end if tooltip == nil then tooltip = "" end self.buttons[#self.buttons + 1] = { name = name, caption = caption, image = image, tooltip = tooltip } if self.orientation == "horizontal" then if ( (self.btn_size * #self.buttons) + (self.btn_size * 0.05 *2) > self.size.x ) then self.btn_initial_offset = self.btn_size * 0.05 + 0.5 self.have_move_buttons = true end else if ((self.btn_size * #self.buttons) + (self.btn_size * 0.05 *2) > self.size.y ) then self.btn_initial_offset = self.btn_size * 0.05 + 0.5 self.have_move_buttons = true end end end, set_bgparams = function(self, bgcolor) if (type(bgcolor) == "string") then self.bgcolor = bgcolor end end, } buttonbar_metatable.__index = buttonbar_metatable function buttonbar_create(name, cbf_buttonhandler, pos, orientation, size) assert(name ~= nil) assert(cbf_buttonhandler ~= nil) assert(orientation == "vertical" or orientation == "horizontal") assert(pos ~= nil and type(pos) == "table") assert(size ~= nil and type(size) == "table") local self = {} self.name = name self.type = "addon" self.bgcolor = "#000000" self.pos = pos self.size = size self.orientation = orientation self.startbutton = 1 self.have_move_buttons = false self.hidden = false if self.orientation == "horizontal" then self.btn_size = self.size.y else self.btn_size = self.size.x end if (self.btn_initial_offset == nil) then self.btn_initial_offset = self.btn_size * 0.05 end self.userbuttonhandler = cbf_buttonhandler self.buttons = {} setmetatable(self,buttonbar_metatable) ui.add(self) return self end