aboutsummaryrefslogtreecommitdiff
path: root/src
ModeNameSize
-rw-r--r--CMakeLists.txt22867logplain
-rw-r--r--activeobject.h2029logplain
-rw-r--r--ban.cpp3625logplain
-rw-r--r--ban.h1506logplain
-rw-r--r--camera.cpp18925logplain
-rw-r--r--camera.h6094logplain
-rw-r--r--cavegen.cpp20687logplain
-rw-r--r--cavegen.h6134logplain
d---------cguittfont248logplain
-rw-r--r--chat.cpp17875logplain
-rw-r--r--chat.h7811logplain
-rw-r--r--chat_interface.h1925logplain
-rw-r--r--client.cpp46854logplain
-rw-r--r--client.h17846logplain
d---------client378logplain
-rw-r--r--clientiface.cpp20588logplain
-rw-r--r--clientiface.h19793logplain
-rw-r--r--clientmap.cpp23609logplain
-rw-r--r--clientmap.h3694logplain
-rw-r--r--clientmedia.cpp19740logplain
-rw-r--r--clientmedia.h4457logplain
-rw-r--r--clientobject.cpp1790logplain
-rw-r--r--clientobject.h3996logplain
-rw-r--r--clientsimpleobject.h1113logplain
-rw-r--r--clouds.cpp10202logplain
-rw-r--r--clouds.h2214logplain
-rw-r--r--cmake_config.h.in1191logplain
-rw-r--r--cmake_config_githash.h.in227logplain
-rw-r--r--collision.cpp16933logplain
-rw-r--r--collision.h2539logplain
-rw-r--r--config.h928logplain
-rw-r--r--constants.h3556logplain
-rw-r--r--content_abm.cpp1164logplain
-rw-r--r--content_abm.h1006logplain
-rw-r--r--content_cao.cpp51100logplain
-rw-r--r--content_cao.h4638logplain
-rw-r--r--content_cso.cpp2907logplain
-rw-r--r--content_cso.h1032logplain
-rw-r--r--content_mapblock.cpp52991logplain
-rw-r--r--content_mapblock.h992logplain
-rw-r--r--content_mapnode.cpp5141logplain
-rw-r--r--content_mapnode.h1228logplain
-rw-r--r--content_nodemeta.cpp5538logplain
-rw-r--r--content_nodemeta.h1215logplain
-rw-r--r--content_sao.cpp37862logplain
-rw-r--r--content_sao.h10273logplain
-rw-r--r--convert_json.cpp9689logplain
-rw-r--r--convert_json.h1215logplain
-rw-r--r--craftdef.cpp31504logplain
-rw-r--r--craftdef.h13655logplain
-rw-r--r--database-dummy.cpp1606logplain
-rw-r--r--database-dummy.h1246logplain
-rw-r--r--database-leveldb.cpp2765logplain
-rw-r--r--database-leveldb.h1351logplain
-rw-r--r--database-postgresql.cpp6887logplain
-rw-r--r--database-postgresql.h2566logplain
-rw-r--r--database-redis.cpp5497logplain
-rw-r--r--database-redis.h1389logplain
-rw-r--r--database-sqlite3.cpp9003logplain
-rw-r--r--database-sqlite3.h1927logplain
-rw-r--r--database.cpp1740logplain
-rw-r--r--database.h1509logplain
-rw-r--r--daynightratio.h1841logplain
-rw-r--r--debug.cpp9100logplain
-rw-r--r--debug.h3535logplain
-rw-r--r--defaultsettings.cpp17698logplain
-rw-r--r--defaultsettings.h1237logplain
-rw-r--r--drawscene.cpp20756logplain
-rw-r--r--drawscene.h1403logplain
-rw-r--r--dungeongen.cpp17453logplain
-rw-r--r--dungeongen.h2805logplain
-rw-r--r--emerge.cpp15126logplain
-rw-r--r--emerge.h4394logplain
-rw-r--r--environment.cpp78722logplain
-rw-r--r--environment.h17750logplain
-rw-r--r--event.h1912logplain
-rw-r--r--event_manager.h2964logplain
-rw-r--r--exceptions.h4388logplain
-rw-r--r--filecache.cpp2269logplain
-rw-r--r--filecache.h1358logplain
-rw-r--r--filesys.cpp18125logplain
-rw-r--r--filesys.h3936logplain
-rw-r--r--fontengine.cpp13158logplain
-rw-r--r--fontengine.h3692logplain
-rw-r--r--game.cpp131388logplain
-rw-r--r--game.h3366logplain
-rw-r--r--gamedef.h3267logplain
-rw-r--r--gameparams.h1009logplain
-rw-r--r--genericobject.cpp5256logplain
-rw-r--r--genericobject.h2586logplain
-rw-r--r--gettext.cpp7308logplain
-rw-r--r--gettext.h2001logplain
-rw-r--r--gettime.h1610logplain
d---------gmp118logplain
-rw-r--r--guiChatConsole.cpp16848logplain
-rw-r--r--guiChatConsole.h3910logplain
-rw-r--r--guiEngine.cpp17021logplain
-rw-r--r--guiEngine.h8907logplain
-rw-r--r--guiFileSelectMenu.cpp3240logplain
-rw-r--r--guiFileSelectMenu.h1757logplain
-rw-r--r--guiFormSpecMenu.cpp109463logplain
-rw-r--r--guiFormSpecMenu.h13775logplain
-rw-r--r--guiKeyChangeMenu.cpp12318logplain
-rw-r--r--guiKeyChangeMenu.h1957logplain
-rw-r--r--guiMainMenu.h1673logplain
-rw-r--r--guiPasswordChange.cpp6225logplain
-rw-r--r--guiPasswordChange.h1459logplain
-rw-r--r--guiTable.cpp35251logplain
-rw-r--r--guiTable.h7223logplain
-rw-r--r--guiVolumeChange.cpp4470logplain
-rw-r--r--guiVolumeChange.h1485logplain
-rw-r--r--guiscalingfilter.cpp5853logplain
-rw-r--r--guiscalingfilter.h2209logplain
-rw-r--r--httpfetch.cpp21065logplain
-rw-r--r--httpfetch.h3807logplain
-rw-r--r--hud.cpp24361logplain
-rw-r--r--hud.h5046logplain
-rw-r--r--imagefilters.cpp5528logplain
-rw-r--r--imagefilters.h1986logplain
-rw-r--r--intlGUIEditBox.cpp34311logplain
-rw-r--r--intlGUIEditBox.h5777logplain
-rw-r--r--inventory.cpp21234logplain
-rw-r--r--inventory.h8429logplain
-rw-r--r--inventorymanager.cpp24796logplain
-rw-r--r--inventorymanager.h5473logplain
-rw-r--r--irr_aabb3d.h939logplain
-rw-r--r--irr_v2d.h1070logplain
-rw-r--r--irr_v3d.h1031logplain
d---------irrlicht_changes126logplain
-rw-r--r--irrlichttypes.h1947logplain
-rw-r--r--irrlichttypes_bloated.h989logplain
-rw-r--r--irrlichttypes_extrabloated.h1187logplain
-rw-r--r--itemdef.cpp15293logplain
-rw-r--r--itemdef.h4758logplain
-rw-r--r--itemgroup.h1154logplain
d---------jsoncpp / json31logplain
-rw-r--r--keycode.cpp10467logplain
-rw-r--r--keycode.h1804logplain
-rw-r--r--light.cpp5538logplain
-rw-r--r--light.h3133logplain
-rw-r--r--localplayer.cpp18954logplain
-rw-r--r--localplayer.h4196logplain
-rw-r--r--log.cpp8244logplain
-rw-r--r--log.h5237logplain
d---------lua109logplain
-rw-r--r--main.cpp29714logplain
-rw-r--r--mainmenumanager.h3899logplain
-rw-r--r--map.cpp78494logplain
-rw-r--r--map.h14030logplain
-rw-r--r--map_settings_manager.cpp5137logplain
-rw-r--r--map_settings_manager.h2698logplain
-rw-r--r--mapblock.cpp26786logplain
-rw-r--r--mapblock.h15726logplain
-rw-r--r--mapblock_mesh.cpp38722logplain
-rw-r--r--mapblock_mesh.h6081logplain
-rw-r--r--mapgen.cpp27989logplain
-rw-r--r--mapgen.h7671logplain
-rw-r--r--mapgen_flat.cpp9017logplain
-rw-r--r--mapgen_flat.h1994logplain
-rw-r--r--mapgen_fractal.cpp12686logplain
-rw-r--r--mapgen_fractal.h2204logplain
-rw-r--r--mapgen_singlenode.cpp2965logplain
-rw-r--r--mapgen_singlenode.h1438logplain
-rw-r--r--mapgen_v5.cpp8897logplain
-rw-r--r--mapgen_v5.h1756logplain
-rw-r--r--mapgen_v6.cpp31885logplain
-rw-r--r--mapgen_v6.h4132logplain
-rw-r--r--mapgen_v7.cpp22569logplain
-rw-r--r--mapgen_v7.h2865logplain
-rw-r--r--mapgen_valleys.cpp27492logplain
-rw-r--r--mapgen_valleys.h3575logplain
-rw-r--r--mapnode.cpp18625logplain
-rw-r--r--mapnode.h7994logplain
-rw-r--r--mapsector.cpp4822logplain
-rw-r--r--mapsector.h2793logplain
-rw-r--r--mesh.cpp28984logplain
-rw-r--r--mesh.h3191logplain
-rw-r--r--mg_biome.cpp7165logplain
-rw-r--r--mg_biome.h5329logplain
-rw-r--r--mg_decoration.cpp9104logplain
-rw-r--r--mg_decoration.h3345logplain
-rw-r--r--mg_ore.cpp10959logplain
-rw-r--r--mg_ore.h4122logplain
-rw-r--r--mg_schematic.cpp14540logplain
-rw-r--r--mg_schematic.h3944logplain
-rw-r--r--minimap.cpp17721logplain
-rw-r--r--minimap.h3956logplain
-rw-r--r--modalMenu.h3795logplain
-rw-r--r--modifiedstate.h1171logplain
-rw-r--r--mods.cpp10923logplain
-rw-r--r--mods.h5178logplain
-rw-r--r--nameidmapping.cpp1558logplain
-rw-r--r--nameidmapping.h2175logplain
d---------network535logplain
-rw-r--r--nodedef.cpp48991logplain
-rw-r--r--nodedef.h12746logplain
-rw-r--r--nodemetadata.cpp5392logplain
-rw-r--r--nodemetadata.h2567logplain
-rw-r--r--nodetimer.cpp3898logplain
-rw-r--r--nodetimer.h3906logplain
-rw-r--r--noise.cpp19506logplain
-rw-r--r--noise.h7053logplain
-rw-r--r--objdef.cpp4171logplain
-rw-r--r--objdef.h2884logplain
-rw-r--r--object_properties.cpp5346logplain
-rw-r--r--object_properties.h1722logplain
-rw-r--r--particles.cpp15060logplain
-rw-r--r--particles.h4460logplain
-rw-r--r--pathfinder.cpp37380logplain
-rw-r--r--pathfinder.h2519logplain
-rw-r--r--player.cpp3310logplain
-rw-r--r--player.h4099logplain
-rw-r--r--porting.cpp20151logplain
-rw-r--r--porting.h9138logplain
-rw-r--r--porting_android.cpp9052logplain
-rw-r--r--porting_android.h2167logplain
-rw-r--r--profiler.cpp878logplain
-rw-r--r--profiler.h5336logplain
-rw-r--r--quicktune.cpp2617logplain
-rw-r--r--quicktune.h2837logplain
-rw-r--r--quicktune_shortcutter.h2200logplain
-rw-r--r--remoteplayer.cpp7538logplain
-rw-r--r--remoteplayer.h4000logplain
-rw-r--r--rollback.cpp27481logplain
-rw-r--r--rollback.h3545logplain
-rw-r--r--rollback_interface.cpp7238logplain
-rw-r--r--rollback_interface.h4108logplain
d---------script331logplain
-rw-r--r--serialization.cpp6204logplain
-rw-r--r--serialization.h3431logplain
-rw-r--r--server.cpp91474logplain
-rw-r--r--server.h20139logplain
-rw-r--r--serverlist.cpp7972logplain
-rw-r--r--serverlist.h1869logplain
-rw-r--r--serverobject.cpp2637logplain
-rw-r--r--serverobject.h7834logplain
-rw-r--r--settings.cpp21352logplain
-rw-r--r--settings.h7978logplain
-rw-r--r--settings_translation_file.cpp42707logplain
-rw-r--r--shader.cpp25449logplain
-rw-r--r--shader.h3200logplain
-rw-r--r--sky.cpp25925logplain
-rw-r--r--sky.h4186logplain
-rw-r--r--socket.cpp13998logplain
-rw-r--r--socket.h3316logplain
-rw-r--r--sound.cpp882logplain
-rw-r--r--sound.h3234logplain
-rw-r--r--sound_openal.cpp15381logplain
-rw-r--r--sound_openal.h943logplain
-rw-r--r--staticobject.cpp2317logplain
-rw-r--r--staticobject.h2299logplain
-rw-r--r--subgame.cpp9886logplain
-rw-r--r--subgame.h2837logplain
-rw-r--r--terminal_chat_console.cpp11884logplain
-rw-r--r--terminal_chat_console.h3090logplain
d---------threading421logplain
-rw-r--r--threads.h2597logplain
-rw-r--r--tool.cpp6136logplain
-rw-r--r--tool.h3119logplain
-rw-r--r--touchscreengui.cpp29569logplain
-rw-r--r--touchscreengui.h6161logplain
-rw-r--r--treegen.cpp24266logplain
-rw-r--r--treegen.h2781logplain
d---------unittest1225logplain
d---------util1406logplain
-rw-r--r--version.cpp1230logplain
-rw-r--r--version.h946logplain
-rw-r--r--voxel.cpp14139logplain
-rw-r--r--voxel.h13023logplain
-rw-r--r--voxelalgorithms.cpp22289logplain
-rw-r--r--voxelalgorithms.h2292logplain
-rw-r--r--wieldmesh.cpp18257logplain
-rw-r--r--wieldmesh.h2519logplain
an class="hl opt">)--atm it still is the desierd id. advtrains.update_trainpart_properties(newtrain_id) train.tarvelocity=0 newtrain.velocity=train.velocity newtrain.tarvelocity=0 newtrain.enter_node_all=true end --there are 4 cases: --1/2. F<->R F<->R regular, put second train behind first --->frontpos of first train will match backpos of second --3. F<->R R<->F flip one of these trains, take the other as new train --->backpos's will match --4. R<->F F<->R flip one of these trains and take it as new parent --->frontpos's will match --true when trains are facing each other. needed on colliding. -- check done by iterating paths and checking their direction --returns nil when not on the same track at all OR when required path items are not generated. this distinction may not always be needed. function advtrains.trains_facing(train1, train2) local sr_pos=train1.path[math.floor(train1.index)] local sr_pos_p=train1.path[math.floor(train1.index)-1] for i=advtrains.minN(train2.path), advtrains.maxN(train2.path) do if vector.equals(sr_pos, train2.path[i]) then if train2.path[i+1] and vector.equals(sr_pos_p, train2.path[i+1]) then return true end if train2.path[i-1] and vector.equals(sr_pos_p, train2.path[i-1]) then return false end return nil end end return nil end function advtrains.collide_and_spawn_couple(id1, pos, id2, t1_is_backpos) atprint("COLLISION: "..sid(id1).." and "..sid(id2).." at ",pos,", t1_is_backpos="..(t1_is_backpos and "true" or "false")) --TODO: local train1=advtrains.trains[id1] -- do collision train1.recently_collided_with_env=true train1.velocity=0.5*train1.velocity train1.movedir=train1.movedir*-1 train1.tarvelocity=0 local train2=advtrains.trains[id2] if not train1 or not train2 then return end local found for i=advtrains.minN(train1.path), advtrains.maxN(train1.path) do if vector.equals(train1.path[i], pos) then found=true end end if not found then atprint("Err: pos not in path. Not spawning a couple") return end local frontpos2=train2.path[math.floor(train2.detector_old_index)] local backpos2=train2.path[math.floor(train2.detector_old_end_index)] local t2_is_backpos atprint("End positions: ",frontpos2,backpos2) t2_is_backpos = vector.distance(backpos2, pos) < vector.distance(frontpos2, pos) atprint("t2_is_backpos="..(t2_is_backpos and "true" or "false")) local t1_has_couple if t1_is_backpos then t1_has_couple=train1.couple_eid_back else t1_has_couple=train1.couple_eid_front end local t2_has_couple if t2_is_backpos then t2_has_couple=train2.couple_eid_back else t2_has_couple=train2.couple_eid_front end if t1_has_couple then if minetest.object_refs[t1_has_couple] then minetest.object_refs[t1_has_couple]:remove() end end if t2_has_couple then if minetest.object_refs[t2_has_couple] then minetest.object_refs[t2_has_couple]:remove() end end local obj=minetest.add_entity(pos, "advtrains:couple") if not obj then atprint("failed creating object") return end local le=obj:get_luaentity() le.train_id_1=id1 le.train_id_2=id2 le.train1_is_backpos=t1_is_backpos le.train2_is_backpos=t2_is_backpos --find in object_refs local p_aoi for aoi, compare in pairs(minetest.object_refs) do if compare==obj then if t1_is_backpos then train1.couple_eid_back=aoi else train1.couple_eid_front=aoi end if t2_is_backpos then train2.couple_eid_back=aoi else train2.couple_eid_front=aoi end p_aoi=aoi end end atprint("Couple spawned (ActiveObjectID ",p_aoi,")") end --order of trains may be irrelevant in some cases. check opposite cases. TODO does this work? --pos1 and pos2 are just needed to form a median. function advtrains.do_connect_trains(first_id, second_id, player) local first, second=advtrains.trains[first_id], advtrains.trains[second_id] if not first or not second or not first.index or not second.index or not first.end_index or not second.end_index then return false end if first.couple_lock_back or second.couple_lock_front then -- trains are ordered correctly! if player then minetest.chat_send_player(player:get_player_name(), "Can't couple: couples locked!") end return end local first_wagoncnt=#first.trainparts local second_wagoncnt=#second.trainparts for _,v in ipairs(second.trainparts) do table.insert(first.trainparts, v) end --kick it like physics (with mass being #wagons) local new_velocity=((first.velocity*first_wagoncnt)+(second.velocity*second_wagoncnt))/(first_wagoncnt+second_wagoncnt) advtrains.trains[second_id]=nil advtrains.update_trainpart_properties(first_id) advtrains.trains[first_id].velocity=new_velocity advtrains.trains[first_id].tarvelocity=0 return true end function advtrains.invert_train(train_id) local train=advtrains.trains[train_id] local old_path=train.path local old_path_dist=train.path_dist train.path={} train.path_dist={} train.index, train.end_index= -train.end_index, -train.index train.path_extent_min, train.path_extent_max = -train.path_extent_max, -train.path_extent_min train.min_index_on_track, train.max_index_on_track = -train.max_index_on_track, -train.min_index_on_track train.detector_old_index, train.detector_old_end_index = -train.detector_old_end_index, -train.detector_old_index train.velocity=-train.velocity train.tarvelocity=-train.tarvelocity for k,v in pairs(old_path) do train.path[-k]=v train.path_dist[-k-1]=old_path_dist[k] end local old_trainparts=train.trainparts train.trainparts={} for k,v in ipairs(old_trainparts) do table.insert(train.trainparts, 1, v)--notice insertion at first place end advtrains.update_trainpart_properties(train_id, true) end function advtrains.get_train_at_pos(pos) local ph=minetest.pos_to_string(advtrains.round_vector_floor_y(pos)) return advtrains.detector.on_node[ph] end function advtrains.invalidate_all_paths(pos) --if a position is given, only invalidate inside a radius to save performance local inv_radius=50 atprint("invalidating all paths") for k,v in pairs(advtrains.trains) do local exec=true if pos and v.path and v.index and v.end_index then --start and end pos of the train local cmp1=v.path[math.floor(v.index)] local cmp2=v.path[math.floor(v.end_index)] if vector.distance(pos, cmp1)>inv_radius and vector.distance(pos, cmp2)>inv_radius then exec=false end end if exec then --TODO duplicate code in init.lua avt_save()! if v.index then v.restore_add_index=v.index-math.floor(v.index+0.5) end v.path=nil v.path_dist=nil v.index=nil v.end_index=nil v.min_index_on_track=nil v.max_index_on_track=nil v.path_extent_min=nil v.path_extent_max=nil v.detector_old_index=nil v.detector_old_end_index=nil end end end --not blocking trains group function advtrains.train_collides(node) if node and minetest.registered_nodes[node.name] and minetest.registered_nodes[node.name].walkable then if not minetest.registered_nodes[node.name].groups.not_blocking_trains then return true end end return false end local nonblocknodes={ "default:fence_wood", "default:fence_acacia_wood", "default:fence_aspen_wood", "default:fence_pine_wood", "default:fence_junglewood", "default:torch", "default:sign_wall", "signs:sign_wall", "signs:sign_wall_blue", "signs:sign_wall_brown", "signs:sign_wall_orange", "signs:sign_wall_green", "signs:sign_yard", "signs:sign_wall_white_black", "signs:sign_wall_red", "signs:sign_wall_white_red", "signs:sign_wall_yellow", "signs:sign_post", "signs:sign_hanging", } minetest.after(0, function() for _,name in ipairs(nonblocknodes) do if minetest.registered_nodes[name] then minetest.registered_nodes[name].groups.not_blocking_trains=1 end end end)