aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
Commit message (Collapse)AuthorAge
* Call this 0.4.dev-20120603Perttu Ahola2012-06-04
|
* Call this 0.4.dev-20120408Perttu Ahola2012-04-08
|
* Support custom textures installed as /textures/all/*.pngPerttu Ahola2012-04-07
|
* Fix installation path of minetest_game/mods (// in place of / doesn't work ↵Perttu Ahola2012-04-02
| | | | on virtualbox network drives)
* Fix things for cross-compiling using mingwPerttu Ahola2012-04-02
|
* Install minetest_game without .git and other unnecessary thingsPerttu Ahola2012-03-31
|
* Fix minetest_game installation and don't fail if it doesn't existPerttu Ahola2012-03-27
|
* Update version number to 0.4.dev-20120326 because much has changed from the ↵Perttu Ahola2012-03-27
| | | | previous one
* Fix cmake install script (mesetint -> minetest)Perttu Ahola2012-03-25
|
* Install lua_api.txt and mapformat.txt in because awesome.Perttu Ahola2012-03-22
|
* Call this 0.4.dev-20120320Perttu Ahola2012-03-20
|
* Add mods/mesetint/mods_here.txt to be installed on RUN_IN_PLACE buildsPerttu Ahola2012-03-20
|
* Fix for MSVC and move stuff around a bit in CMakeLists.txt and ↵Perttu Ahola2012-03-20
| | | | src/CMakeLists.txt
* Move icon files to misc/Perttu Ahola2012-03-20
|
* Flatten share/ and user/ in the source and for the RUN_IN_PLACE buildPerttu Ahola2012-03-20
|
* Update version to 0.4.dev-20120318Perttu Ahola2012-03-18
|
* Fix installation in cmake project filesPerttu Ahola2012-03-18
|
* Update version number to 0.4.dev-20120311Perttu Ahola2012-03-11
|
* Add UNIX man pages to aid package creators.Juhani Numminen2012-02-28
|
* Install icon and .desktop file on Unix systemsJuhani Numminen2012-02-28
|
* Call this 0.4.dev-20120122-1Perttu Ahola2012-01-22
|
* Call this 0.4.dev-20120106-1Perttu Ahola2012-01-06
|
* Call this 0.4.dev-20120102-1Perttu Ahola2012-01-02
|
* Call this 0.4.dev-20111209-1Perttu Ahola2011-12-09
|
* Call this 0.4.dev-20111204-1Perttu Ahola2011-12-04
|
* Call this 0.4.dev-20111203-3Perttu Ahola2011-12-03
|
* Call this 0.4.dev-20111203-2Perttu Ahola2011-12-03
|
* Set version 0.4.dev-20111203-1Perttu Ahola2011-12-03
|
* Set version to 0.4.dev-20111202-1Perttu Ahola2011-12-02
|
* Update version in CMakeLists.txt to 0.4.dev-20111201-1Perttu Ahola2011-12-01
|
* Update version in CMakeLists.txt to 0.4.dev-20111201-0Perttu Ahola2011-12-01
|
* Version 0.4.dev-20111129-2Perttu Ahola2011-11-29
|
* dev-20111129-1Perttu Ahola2011-11-29
|
* Update version number to 0.4.dev-20111129Perttu Ahola2011-11-29
|
* Set version to 0.4Perttu Ahola2011-11-29
|
* Update changelog and call this 0.3.1Perttu Ahola2011-11-09
|
* Call this 0.3.dev-20111108Perttu Ahola2011-11-08
|
* Call this version 0.3.dev-20111104Perttu Ahola2011-11-04
|
* Update /README.txt, remove duplicate /doc/README.txt and update ↵Perttu Ahola2011-11-03
| | | | CMakeLists.txt to package /README.txt
* Set version to 0.3.0 and update changelogPerttu Ahola2011-11-01
|
* 0.3.dev-20111021Perttu Ahola2011-10-21
|
* Update version number to 0.3.dev-20111016Perttu Ahola2011-10-16
|
* strict_protocol_version_checking setting; PROTOCOL_VERSION in ↵Perttu Ahola2011-10-15
| | | | clientserver.h; clean up defaultsettings.cpp and minetest.conf.example
* Set a better version numberPerttu Ahola2011-10-15
|
* In CMake scripts: New version number, fix MSVC stuffPerttu Ahola2011-10-14
|
* Make client report a newer version number to the server than 2011-07-31 does ↵Perttu Ahola2011-09-22
| | | | and make the server enforce it
* Oh well, let's call it just 0.2.20110922Perttu Ahola2011-09-22
|
* Update changelog and version to 0.2.20110922_rc1Perttu Ahola2011-09-22
|
* Update version number to something more proper for this stage of development ↵Perttu Ahola2011-09-06
| | | | (0.2.201109xx_dev)
* updated version in CMakeListsPerttu Ahola2011-07-31
|
me, advtrains.all_tracktypes) then return false end --rail at other end? local adj1, adj2=tp.find_already_connected(pos) if adj1 and adj2 then return false--dont destroy existing track elseif adj1 and not adj2 then if tr.double_conn[adj1.."_"..newdir] then return true--if exists, connect new rail and old end end return false else if tr.single_conn[newdir] then--just rotate old rail to right orientation return true end return false end end function tp.bend_rail(originpos, conn, nnpref) local pos=advtrains.dirCoordSet(originpos, conn) local newdir=(conn+8)%16 local node=minetest.get_node(pos) local tr=tp.tracks[nnpref] --is rail already connected? no need to bend. local conn1, conn2=advtrains.get_track_connections(node.name, node.param2) if newdir==conn1 or newdir==conn2 then return end --rail at other end? local adj1, adj2=tp.find_already_connected(pos) if adj1 and adj2 then return false--dont destroy existing track elseif adj1 and not adj2 then if tr.double_conn[adj1.."_"..newdir] then advtrains.ndb.swap_node(pos, tr.double_conn[adj1.."_"..newdir]) return true--if exists, connect new rail and old end end return false else if tr.single_conn[newdir] then--just rotate old rail to right orientation advtrains.ndb.swap_node(pos, tr.single_conn[newdir]) return true end return false end end function tp.placetrack(pos, nnpref, placer, itemstack, pointed_thing) --1. find all rails that are likely to be connected local tr=tp.tracks[nnpref] local p_rails={} for i=0,15 do if tp.rail_and_can_be_bent(pos, i, nnpref) then p_rails[#p_rails+1]=i end end if #p_rails==0 then minetest.set_node(pos, {name=nnpref.."_"..tr.default}) if minetest.registered_nodes[nnpref.."_"..tr.default] and minetest.registered_nodes[nnpref.."_"..tr.default].after_place_node then minetest.registered_nodes[nnpref.."_"..tr.default].after_place_node(pos, placer, itemstack, pointed_thing) end elseif #p_rails==1 then tp.bend_rail(pos, p_rails[1], nnpref) advtrains.ndb.swap_node(pos, tr.single_conn[p_rails[1]]) local nname=tr.single_conn[p_rails[1]].name if minetest.registered_nodes[nname] and minetest.registered_nodes[nname].after_place_node then minetest.registered_nodes[nname].after_place_node(pos, placer, itemstack, pointed_thing) end else --iterate subsets for k1, conn1 in ipairs(p_rails) do for k2, conn2 in ipairs(p_rails) do if k1~=k2 then if (tr.double_conn[conn1.."_"..conn2]) then tp.bend_rail(pos, conn1, nnpref) tp.bend_rail(pos, conn2, nnpref) advtrains.ndb.swap_node(pos, tr.double_conn[conn1.."_"..conn2]) local nname=tr.double_conn[conn1.."_"..conn2].name if minetest.registered_nodes[nname] and minetest.registered_nodes[nname].after_place_node then minetest.registered_nodes[nname].after_place_node(pos, placer, itemstack, pointed_thing) end return end end end end --not found tp.bend_rail(pos, p_rails[1], nnpref) advtrains.ndb.swap_node(pos, tr.single_conn[p_rails[1]]) local nname=tr.single_conn[p_rails[1]].name if minetest.registered_nodes[nname] and minetest.registered_nodes[nname].after_place_node then minetest.registered_nodes[nname].after_place_node(pos, placer, itemstack, pointed_thing) end end end function tp.register_track_placer(nnprefix, imgprefix, dispname) minetest.register_craftitem(nnprefix.."_placer",{ description = dispname, inventory_image = imgprefix.."_placer.png", wield_image = imgprefix.."_placer.png", groups={advtrains_trackplacer=1}, on_place = function(itemstack, placer, pointed_thing) return advtrains.pcall(function() local name = placer:get_player_name() if not name then return itemstack, false end if pointed_thing.type=="node" then local pos=pointed_thing.above local upos=vector.subtract(pointed_thing.above, {x=0, y=1, z=0}) if advtrains.is_protected(pos,name) then minetest.record_protection_violation(pos, name) return itemstack, false end if minetest.registered_nodes[minetest.get_node(pos).name] and minetest.registered_nodes[minetest.get_node(pos).name].buildable_to and minetest.registered_nodes[minetest.get_node(upos).name] and minetest.registered_nodes[minetest.get_node(upos).name].walkable then tp.placetrack(pos, nnprefix, placer, itemstack, pointed_thing) if not minetest.settings:get_bool("creative_mode") then itemstack:take_item() end end end return itemstack, true end) end, }) end minetest.register_craftitem("advtrains:trackworker",{ description = attrans("Track Worker Tool\n\nLeft-click: change rail type (straight/curve/switch)\nRight-click: rotate rail/bumper/signal/etc."), groups = {cracky=1}, -- key=name, value=rating; rating=1..3. inventory_image = "advtrains_trackworker.png", wield_image = "advtrains_trackworker.png", stack_max = 1, on_place = function(itemstack, placer, pointed_thing) return advtrains.pcall(function() local name = placer:get_player_name() if not name then return end if pointed_thing.type=="node" then local pos=pointed_thing.under if advtrains.is_protected(pos, name) then minetest.record_protection_violation(pos, name) return end local node=minetest.get_node(pos) --if not advtrains.is_track_and_drives_on(minetest.get_node(pos).name, advtrains.all_tracktypes) then return end if advtrains.get_train_at_pos(pos) then return end local nnprefix, suffix, rotation=string.match(node.name, "^(.+)_([^_]+)(_[^_]+)$") --atprint(node.name.."\npattern recognizes:"..nodeprefix.." / "..railtype.." / "..rotation) if not tp.tracks[nnprefix] or not tp.tracks[nnprefix].twrotate[suffix] then nnprefix, suffix=string.match(node.name, "^(.+)_([^_]+)$") rotation = "" if not tp.tracks[nnprefix] or not tp.tracks[nnprefix].twrotate[suffix] then minetest.chat_send_player(placer:get_player_name(), attrans("This node can't be rotated using the trackworker!")) return end end local modext=tp.tracks[nnprefix].twrotate[suffix] if rotation==modext[#modext] then --increase param2 advtrains.ndb.swap_node(pos, {name=nnprefix.."_"..suffix..modext[1], param2=(node.param2+1)%4}) return else local modpos for k,v in pairs(modext) do if v==rotation then modpos=k end end if not modpos then minetest.chat_send_player(placer:get_player_name(), attrans("This node can't be rotated using the trackworker!")) return end advtrains.ndb.swap_node(pos, {name=nnprefix.."_"..suffix..modext[modpos+1], param2=node.param2}) end end end) end, on_use=function(itemstack, user, pointed_thing) return advtrains.pcall(function() local name = user:get_player_name() if not name then return end if pointed_thing.type=="node" then local pos=pointed_thing.under local node=minetest.get_node(pos) if advtrains.is_protected(pos, name) then minetest.record_protection_violation(pos, name) return end --if not advtrains.is_track_and_drives_on(minetest.get_node(pos).name, advtrains.all_tracktypes) then return end if advtrains.get_train_at_pos(pos) then return end local nnprefix, suffix, rotation=string.match(node.name, "^(.+)_([^_]+)(_[^_]+)$") --atprint(node.name.."\npattern recognizes:"..nodeprefix.." / "..railtype.." / "..rotation) if not tp.tracks[nnprefix] or not tp.tracks[nnprefix].twcycle[suffix] then nnprefix, suffix=string.match(node.name, "^(.+)_([^_]+)$") rotation = "" if not tp.tracks[nnprefix] or not tp.tracks[nnprefix].twcycle[suffix] then minetest.chat_send_player(user:get_player_name(), attrans("This node can't be changed using the trackworker!")) return end end local nextsuffix=tp.tracks[nnprefix].twcycle[suffix] advtrains.ndb.swap_node(pos, {name=nnprefix.."_"..nextsuffix..rotation, param2=node.param2}) else atprint(name, dump(tp.tracks)) end end) end, }) --putting into right place advtrains.trackplacer=tp