├── .gitattributes ├── .gitignore ├── .mailmap ├── .travis.yml ├── CMakeLists.txt ├── CONTRIBUTING.md ├── README.txt ├── build └── android │ ├── Makefile │ ├── build.gradle │ ├── jni │ ├── Android.mk │ └── Application.mk │ ├── patches │ ├── irrlicht-back_button.patch │ ├── irrlicht-texturehack.patch │ ├── irrlicht-touchcount.patch │ ├── libiconv_android.patch │ ├── libiconv_stdio.patch │ ├── libvorbis-libogg-fpu.patch │ └── openssl_arch.patch │ ├── settings.gradle │ └── src │ ├── debug │ └── AndroidManifest.xml │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── net.minetest.minetest │ │ ├── MinetestAssetCopy.java │ │ ├── MinetestTextEntry.java │ │ └── MtNativeActivity.java │ └── res │ ├── drawable-hdpi │ └── irr_icon.png │ ├── drawable-ldpi │ └── irr_icon.png │ ├── drawable-mdpi │ └── irr_icon.png │ ├── drawable-xhdpi │ └── irr_icon.png │ ├── layout │ └── assetcopy.xml │ └── values │ ├── strings.xml │ └── styles.xml ├── builtin ├── async │ └── init.lua ├── common │ ├── async_event.lua │ ├── filterlist.lua │ ├── misc_helpers.lua │ ├── serialize.lua │ ├── strict.lua │ └── vector.lua ├── fstk │ ├── buttonbar.lua │ ├── dialog.lua │ ├── tabview.lua │ └── ui.lua ├── game │ ├── auth.lua │ ├── chatcommands.lua │ ├── constants.lua │ ├── deprecated.lua │ ├── detached_inventory.lua │ ├── falling.lua │ ├── features.lua │ ├── forceloading.lua │ ├── init.lua │ ├── item.lua │ ├── item_entity.lua │ ├── misc.lua │ ├── privileges.lua │ ├── register.lua │ ├── statbars.lua │ ├── static_spawn.lua │ └── voxelarea.lua ├── init.lua ├── mainmenu │ ├── common.lua │ ├── dlg_config_world.lua │ ├── dlg_create_world.lua │ ├── dlg_delete_mod.lua │ ├── dlg_delete_world.lua │ ├── dlg_rename_modpack.lua │ ├── dlg_settings_advanced.lua │ ├── gamemgr.lua │ ├── generate_from_settingtypes.lua │ ├── init.lua │ ├── init_simple.lua │ ├── modmgr.lua │ ├── store.lua │ ├── tab_credits.lua │ ├── tab_mods.lua │ ├── tab_multiplayer.lua │ ├── tab_server.lua │ ├── tab_settings.lua │ ├── tab_simple_main.lua │ ├── tab_singleplayer.lua │ ├── tab_texturepacks.lua │ └── textures.lua ├── profiler │ ├── init.lua │ ├── instrumentation.lua │ ├── reporter.lua │ └── sampling.lua └── settingtypes.txt ├── client ├── serverlist │ └── .gitignore └── shaders │ ├── default_shader │ ├── opengl_fragment.glsl │ └── opengl_vertex.glsl │ ├── minimap_shader │ ├── opengl_fragment.glsl │ └── opengl_vertex.glsl │ ├── nodes_shader │ ├── opengl_fragment.glsl │ └── opengl_vertex.glsl │ ├── object_shader │ ├── opengl_fragment.glsl │ └── opengl_vertex.glsl │ ├── selection_shader │ ├── opengl_fragment.glsl │ └── opengl_vertex.glsl │ ├── water_surface_shader │ ├── opengl_fragment.glsl │ └── opengl_vertex.glsl │ ├── wielded_hand_shader │ ├── opengl_fragment.glsl │ └── opengl_vertex.glsl │ └── wielded_shader │ ├── opengl_fragment.glsl │ └── opengl_vertex.glsl ├── cmake └── Modules │ ├── FindCURL.cmake │ ├── FindGMP.cmake │ ├── FindGettextLib.cmake │ ├── FindIrrlicht.cmake │ ├── FindJson.cmake │ ├── FindLuaJIT.cmake │ ├── FindNcursesw.cmake │ ├── FindOpenGLES2.cmake │ ├── FindSQLite3.cmake │ ├── FindVorbis.cmake │ └── GenerateVersion.cmake ├── doc ├── Doxyfile.in ├── README.android ├── fst_api.txt ├── lgpl-2.1.txt ├── lua_api.txt ├── main_page.dox ├── menu_lua_api.txt ├── minetest.6 ├── minetestserver.6 ├── protocol.txt ├── texture_packs.txt └── world_format.txt ├── fonts ├── DroidSansFallbackFull.ttf ├── liberationmono.ttf ├── liberationsans.ttf ├── lucida_sans_10.xml ├── lucida_sans_100.png ├── lucida_sans_11.xml ├── lucida_sans_110.png ├── lucida_sans_12.xml ├── lucida_sans_120.png ├── lucida_sans_14.xml ├── lucida_sans_140.png ├── lucida_sans_16.xml ├── lucida_sans_160.png ├── lucida_sans_18.xml ├── lucida_sans_180.png ├── lucida_sans_20.xml ├── lucida_sans_200.png ├── lucida_sans_22.xml ├── lucida_sans_220.png ├── lucida_sans_24.xml ├── lucida_sans_240.png ├── lucida_sans_26.xml ├── lucida_sans_260.png ├── lucida_sans_28.xml ├── lucida_sans_280.png ├── lucida_sans_36.xml ├── lucida_sans_360.png ├── lucida_sans_4.xml ├── lucida_sans_40.png ├── lucida_sans_48.xml ├── lucida_sans_480.png ├── lucida_sans_56.xml ├── lucida_sans_560.png ├── lucida_sans_6.xml ├── lucida_sans_60.png ├── lucida_sans_8.xml ├── lucida_sans_80.png ├── lucida_sans_9.xml ├── lucida_sans_90.png ├── mono_dejavu_sans_10.xml ├── mono_dejavu_sans_100.png ├── mono_dejavu_sans_11.xml ├── mono_dejavu_sans_110.png ├── mono_dejavu_sans_12.xml ├── mono_dejavu_sans_120.png ├── mono_dejavu_sans_14.xml ├── mono_dejavu_sans_140.png ├── mono_dejavu_sans_16.xml ├── mono_dejavu_sans_160.png ├── mono_dejavu_sans_18.xml ├── mono_dejavu_sans_180.png ├── mono_dejavu_sans_20.xml ├── mono_dejavu_sans_200.png ├── mono_dejavu_sans_22.xml ├── mono_dejavu_sans_220.png ├── mono_dejavu_sans_24.xml ├── mono_dejavu_sans_240.png ├── mono_dejavu_sans_26.xml ├── mono_dejavu_sans_260.png ├── mono_dejavu_sans_28.xml ├── mono_dejavu_sans_280.png ├── mono_dejavu_sans_4.xml ├── mono_dejavu_sans_40.png ├── mono_dejavu_sans_6.xml ├── mono_dejavu_sans_60.png ├── mono_dejavu_sans_8.xml ├── mono_dejavu_sans_80.png ├── mono_dejavu_sans_9.xml └── mono_dejavu_sans_90.png ├── games └── minimal │ ├── game.conf │ ├── menu │ ├── background.png │ └── icon.png │ └── mods │ ├── bucket │ ├── depends.txt │ ├── init.lua │ └── textures │ │ ├── bucket.png │ │ ├── bucket_lava.png │ │ └── bucket_water.png │ ├── default │ ├── init.lua │ ├── mapgen.lua │ ├── sounds │ │ └── default_grass_footstep.1.ogg │ └── textures │ │ ├── bubble.png │ │ ├── crack_anylength.png │ │ ├── default_apple.png │ │ ├── default_book.png │ │ ├── default_bookshelf.png │ │ ├── default_brick.png │ │ ├── default_cactus_side.png │ │ ├── default_cactus_top.png │ │ ├── default_chest_front.png │ │ ├── default_chest_lock.png │ │ ├── default_chest_side.png │ │ ├── default_chest_top.png │ │ ├── default_clay.png │ │ ├── default_clay_brick.png │ │ ├── default_clay_lump.png │ │ ├── default_cloud.png │ │ ├── default_coal_lump.png │ │ ├── default_cobble.png │ │ ├── default_dirt.png │ │ ├── default_fence.png │ │ ├── default_furnace_fire_bg.png │ │ ├── default_furnace_fire_fg.png │ │ ├── default_furnace_front.png │ │ ├── default_furnace_front_active.png │ │ ├── default_furnace_side.png │ │ ├── default_glass.png │ │ ├── default_grass.png │ │ ├── default_grass_footsteps.png │ │ ├── default_grass_side.png │ │ ├── default_gravel.png │ │ ├── default_iron_lump.png │ │ ├── default_junglegrass.png │ │ ├── default_ladder.png │ │ ├── default_lava.png │ │ ├── default_lava_flowing_animated.png │ │ ├── default_lava_source_animated.png │ │ ├── default_leaves.png │ │ ├── default_mese.png │ │ ├── default_mineral_coal.png │ │ ├── default_mineral_iron.png │ │ ├── default_mossycobble.png │ │ ├── default_nc_back.png │ │ ├── default_nc_front.png │ │ ├── default_nc_rb.png │ │ ├── default_nc_side.png │ │ ├── default_paper.png │ │ ├── default_papyrus.png │ │ ├── default_rail.png │ │ ├── default_rail_crossing.png │ │ ├── default_rail_curved.png │ │ ├── default_rail_t_junction.png │ │ ├── default_sand.png │ │ ├── default_sandstone.png │ │ ├── default_sapling.png │ │ ├── default_scorched_stuff.png │ │ ├── default_sign_wall.png │ │ ├── default_steel_block.png │ │ ├── default_steel_ingot.png │ │ ├── default_stick.png │ │ ├── default_stone.png │ │ ├── default_tnt_bottom.png │ │ ├── default_tnt_side.png │ │ ├── default_tnt_top.png │ │ ├── default_tool_mesepick.png │ │ ├── default_tool_steelaxe.png │ │ ├── default_tool_steelpick.png │ │ ├── default_tool_steelshovel.png │ │ ├── default_tool_steelsword.png │ │ ├── default_tool_stoneaxe.png │ │ ├── default_tool_stonepick.png │ │ ├── default_tool_stoneshovel.png │ │ ├── default_tool_stonesword.png │ │ ├── default_tool_woodaxe.png │ │ ├── default_tool_woodpick.png │ │ ├── default_tool_woodshovel.png │ │ ├── default_tool_woodsword.png │ │ ├── default_torch.png │ │ ├── default_torch_on_ceiling.png │ │ ├── default_torch_on_floor.png │ │ ├── default_tree.png │ │ ├── default_tree_top.png │ │ ├── default_water.png │ │ ├── default_wood.png │ │ ├── heart.png │ │ ├── player.png │ │ ├── player_back.png │ │ ├── treeprop.png │ │ └── wieldhand.png │ ├── errorhandler_test │ └── init.lua │ ├── experimental │ ├── depends.txt │ ├── init.lua │ └── textures │ │ ├── experimental_dummyball.png │ │ └── experimental_tester_tool_1.png │ ├── give_initial_stuff │ ├── depends.txt │ └── init.lua │ ├── legacy │ ├── depends.txt │ ├── init.lua │ └── textures │ │ ├── apple_iron.png │ │ ├── cooked_rat.png │ │ ├── dungeon_master.png │ │ ├── fireball.png │ │ ├── firefly.png │ │ ├── oerkki1.png │ │ ├── oerkki1_damaged.png │ │ └── rat.png │ ├── stairs │ ├── depends.txt │ └── init.lua │ └── test │ └── init.lua ├── minetest.conf.example ├── misc ├── Info.plist ├── minetest-icon-24x24.png ├── minetest-icon.icns ├── minetest-icon.ico ├── minetest-xorg-icon-128.png ├── minetest.appdata.xml ├── minetest.desktop ├── minetest.svg └── winresource.rc ├── mods └── mods_here.txt ├── po ├── be │ └── minetest.po ├── ca │ └── minetest.po ├── cs │ └── minetest.po ├── da │ └── minetest.po ├── de │ └── minetest.po ├── eo │ └── minetest.po ├── es │ └── minetest.po ├── et │ └── minetest.po ├── fr │ └── minetest.po ├── he │ └── minetest.po ├── hu │ └── minetest.po ├── id │ └── minetest.po ├── it │ └── minetest.po ├── ja │ └── minetest.po ├── jbo │ └── minetest.po ├── ko │ └── minetest.po ├── ky │ └── minetest.po ├── lt │ └── minetest.po ├── minetest.pot ├── nb │ └── minetest.po ├── nl │ └── minetest.po ├── pl │ └── minetest.po ├── pt │ └── minetest.po ├── pt_BR │ └── minetest.po ├── ro │ └── minetest.po ├── ru │ └── minetest.po ├── sr_Cyrl │ └── minetest.po ├── tr │ └── minetest.po ├── uk │ └── minetest.po ├── zh_CN │ └── minetest.po └── zh_TW │ └── minetest.po ├── src ├── CMakeLists.txt ├── activeobject.h ├── ban.cpp ├── ban.h ├── camera.cpp ├── camera.h ├── cavegen.cpp ├── cavegen.h ├── cguittfont │ ├── CGUITTFont.cpp │ ├── CGUITTFont.h │ ├── CMakeLists.txt │ ├── irrUString.h │ ├── xCGUITTFont.cpp │ └── xCGUITTFont.h ├── chat.cpp ├── chat.h ├── chat_interface.h ├── client.cpp ├── client.h ├── client │ ├── CMakeLists.txt │ ├── clientlauncher.cpp │ ├── clientlauncher.h │ ├── inputhandler.h │ ├── joystick_controller.cpp │ ├── joystick_controller.h │ ├── keys.h │ ├── tile.cpp │ └── tile.h ├── clientiface.cpp ├── clientiface.h ├── clientmap.cpp ├── clientmap.h ├── clientmedia.cpp ├── clientmedia.h ├── clientobject.cpp ├── clientobject.h ├── clientsimpleobject.h ├── clouds.cpp ├── clouds.h ├── cmake_config.h.in ├── cmake_config_githash.h.in ├── collision.cpp ├── collision.h ├── config.h ├── constants.h ├── content_abm.cpp ├── content_abm.h ├── content_cao.cpp ├── content_cao.h ├── content_cso.cpp ├── content_cso.h ├── content_mapblock.cpp ├── content_mapblock.h ├── content_mapnode.cpp ├── content_mapnode.h ├── content_nodemeta.cpp ├── content_nodemeta.h ├── content_sao.cpp ├── content_sao.h ├── convert_json.cpp ├── convert_json.h ├── craftdef.cpp ├── craftdef.h ├── database-dummy.cpp ├── database-dummy.h ├── database-leveldb.cpp ├── database-leveldb.h ├── database-postgresql.cpp ├── database-postgresql.h ├── database-redis.cpp ├── database-redis.h ├── database-sqlite3.cpp ├── database-sqlite3.h ├── database.cpp ├── database.h ├── daynightratio.h ├── debug.cpp ├── debug.h ├── defaultsettings.cpp ├── defaultsettings.h ├── drawscene.cpp ├── drawscene.h ├── dungeongen.cpp ├── dungeongen.h ├── emerge.cpp ├── emerge.h ├── environment.cpp ├── environment.h ├── event.h ├── event_manager.h ├── exceptions.h ├── filecache.cpp ├── filecache.h ├── filesys.cpp ├── filesys.h ├── fontengine.cpp ├── fontengine.h ├── game.cpp ├── game.h ├── gamedef.h ├── gameparams.h ├── genericobject.cpp ├── genericobject.h ├── gettext.cpp ├── gettext.h ├── gettime.h ├── gmp │ ├── CMakeLists.txt │ ├── mini-gmp.c │ └── mini-gmp.h ├── guiChatConsole.cpp ├── guiChatConsole.h ├── guiEngine.cpp ├── guiEngine.h ├── guiFileSelectMenu.cpp ├── guiFileSelectMenu.h ├── guiFormSpecMenu.cpp ├── guiFormSpecMenu.h ├── guiKeyChangeMenu.cpp ├── guiKeyChangeMenu.h ├── guiMainMenu.h ├── guiPasswordChange.cpp ├── guiPasswordChange.h ├── guiTable.cpp ├── guiTable.h ├── guiVolumeChange.cpp ├── guiVolumeChange.h ├── guiscalingfilter.cpp ├── guiscalingfilter.h ├── httpfetch.cpp ├── httpfetch.h ├── hud.cpp ├── hud.h ├── imagefilters.cpp ├── imagefilters.h ├── intlGUIEditBox.cpp ├── intlGUIEditBox.h ├── inventory.cpp ├── inventory.h ├── inventorymanager.cpp ├── inventorymanager.h ├── irr_aabb3d.h ├── irr_v2d.h ├── irr_v3d.h ├── irrlicht_changes │ ├── CMakeLists.txt │ ├── static_text.cpp │ └── static_text.h ├── irrlichttypes.h ├── irrlichttypes_bloated.h ├── irrlichttypes_extrabloated.h ├── itemdef.cpp ├── itemdef.h ├── itemgroup.h ├── jsoncpp │ └── json │ │ ├── CMakeLists.txt │ │ ├── UPDATING │ │ ├── json.h │ │ └── jsoncpp.cpp ├── keycode.cpp ├── keycode.h ├── light.cpp ├── light.h ├── localplayer.cpp ├── localplayer.h ├── log.cpp ├── log.h ├── lua │ ├── CMakeLists.txt │ ├── COPYRIGHT │ └── src │ │ ├── CMakeLists.txt │ │ ├── lapi.c │ │ ├── lapi.h │ │ ├── lauxlib.c │ │ ├── lauxlib.h │ │ ├── lbaselib.c │ │ ├── lcode.c │ │ ├── lcode.h │ │ ├── ldblib.c │ │ ├── ldebug.c │ │ ├── ldebug.h │ │ ├── ldo.c │ │ ├── ldo.h │ │ ├── ldump.c │ │ ├── lfunc.c │ │ ├── lfunc.h │ │ ├── lgc.c │ │ ├── lgc.h │ │ ├── linit.c │ │ ├── liolib.c │ │ ├── llex.c │ │ ├── llex.h │ │ ├── llimits.h │ │ ├── lmathlib.c │ │ ├── lmem.c │ │ ├── lmem.h │ │ ├── loadlib.c │ │ ├── lobject.c │ │ ├── lobject.h │ │ ├── lopcodes.c │ │ ├── lopcodes.h │ │ ├── loslib.c │ │ ├── lparser.c │ │ ├── lparser.h │ │ ├── lstate.c │ │ ├── lstate.h │ │ ├── lstring.c │ │ ├── lstring.h │ │ ├── lstrlib.c │ │ ├── ltable.c │ │ ├── ltable.h │ │ ├── ltablib.c │ │ ├── ltm.c │ │ ├── ltm.h │ │ ├── lua.c │ │ ├── lua.h │ │ ├── luac.c │ │ ├── luaconf.h │ │ ├── lualib.h │ │ ├── lundump.c │ │ ├── lundump.h │ │ ├── lvm.c │ │ ├── lvm.h │ │ ├── lzio.c │ │ ├── lzio.h │ │ └── print.c ├── main.cpp ├── mainmenumanager.h ├── map.cpp ├── map.h ├── map_settings_manager.cpp ├── map_settings_manager.h ├── mapblock.cpp ├── mapblock.h ├── mapblock_mesh.cpp ├── mapblock_mesh.h ├── mapgen.cpp ├── mapgen.h ├── mapgen_flat.cpp ├── mapgen_flat.h ├── mapgen_fractal.cpp ├── mapgen_fractal.h ├── mapgen_singlenode.cpp ├── mapgen_singlenode.h ├── mapgen_v5.cpp ├── mapgen_v5.h ├── mapgen_v6.cpp ├── mapgen_v6.h ├── mapgen_v7.cpp ├── mapgen_v7.h ├── mapgen_valleys.cpp ├── mapgen_valleys.h ├── mapnode.cpp ├── mapnode.h ├── mapsector.cpp ├── mapsector.h ├── mesh.cpp ├── mesh.h ├── mg_biome.cpp ├── mg_biome.h ├── mg_decoration.cpp ├── mg_decoration.h ├── mg_ore.cpp ├── mg_ore.h ├── mg_schematic.cpp ├── mg_schematic.h ├── minimap.cpp ├── minimap.h ├── modalMenu.h ├── modifiedstate.h ├── mods.cpp ├── mods.h ├── nameidmapping.cpp ├── nameidmapping.h ├── network │ ├── CMakeLists.txt │ ├── clientopcodes.cpp │ ├── clientopcodes.h │ ├── clientpackethandler.cpp │ ├── connection.cpp │ ├── connection.h │ ├── networkpacket.cpp │ ├── networkpacket.h │ ├── networkprotocol.h │ ├── serveropcodes.cpp │ ├── serveropcodes.h │ └── serverpackethandler.cpp ├── nodedef.cpp ├── nodedef.h ├── nodemetadata.cpp ├── nodemetadata.h ├── nodetimer.cpp ├── nodetimer.h ├── noise.cpp ├── noise.h ├── objdef.cpp ├── objdef.h ├── object_properties.cpp ├── object_properties.h ├── particles.cpp ├── particles.h ├── pathfinder.cpp ├── pathfinder.h ├── player.cpp ├── player.h ├── porting.cpp ├── porting.h ├── porting_android.cpp ├── porting_android.h ├── profiler.cpp ├── profiler.h ├── quicktune.cpp ├── quicktune.h ├── quicktune_shortcutter.h ├── rollback.cpp ├── rollback.h ├── rollback_interface.cpp ├── rollback_interface.h ├── script │ ├── CMakeLists.txt │ ├── common │ │ ├── CMakeLists.txt │ │ ├── c_content.cpp │ │ ├── c_content.h │ │ ├── c_converter.cpp │ │ ├── c_converter.h │ │ ├── c_internal.cpp │ │ ├── c_internal.h │ │ ├── c_types.cpp │ │ └── c_types.h │ ├── cpp_api │ │ ├── CMakeLists.txt │ │ ├── s_async.cpp │ │ ├── s_async.h │ │ ├── s_base.cpp │ │ ├── s_base.h │ │ ├── s_entity.cpp │ │ ├── s_entity.h │ │ ├── s_env.cpp │ │ ├── s_env.h │ │ ├── s_internal.h │ │ ├── s_inventory.cpp │ │ ├── s_inventory.h │ │ ├── s_item.cpp │ │ ├── s_item.h │ │ ├── s_mainmenu.cpp │ │ ├── s_mainmenu.h │ │ ├── s_node.cpp │ │ ├── s_node.h │ │ ├── s_nodemeta.cpp │ │ ├── s_nodemeta.h │ │ ├── s_player.cpp │ │ ├── s_player.h │ │ ├── s_security.cpp │ │ ├── s_security.h │ │ ├── s_server.cpp │ │ └── s_server.h │ ├── lua_api │ │ ├── CMakeLists.txt │ │ ├── l_areastore.cpp │ │ ├── l_areastore.h │ │ ├── l_base.cpp │ │ ├── l_base.h │ │ ├── l_craft.cpp │ │ ├── l_craft.h │ │ ├── l_env.cpp │ │ ├── l_env.h │ │ ├── l_http.cpp │ │ ├── l_http.h │ │ ├── l_internal.h │ │ ├── l_inventory.cpp │ │ ├── l_inventory.h │ │ ├── l_item.cpp │ │ ├── l_item.h │ │ ├── l_mainmenu.cpp │ │ ├── l_mainmenu.h │ │ ├── l_mapgen.cpp │ │ ├── l_mapgen.h │ │ ├── l_nodemeta.cpp │ │ ├── l_nodemeta.h │ │ ├── l_nodetimer.cpp │ │ ├── l_nodetimer.h │ │ ├── l_noise.cpp │ │ ├── l_noise.h │ │ ├── l_object.cpp │ │ ├── l_object.h │ │ ├── l_particles.cpp │ │ ├── l_particles.h │ │ ├── l_rollback.cpp │ │ ├── l_rollback.h │ │ ├── l_server.cpp │ │ ├── l_server.h │ │ ├── l_settings.cpp │ │ ├── l_settings.h │ │ ├── l_util.cpp │ │ ├── l_util.h │ │ ├── l_vmanip.cpp │ │ └── l_vmanip.h │ ├── scripting_game.cpp │ ├── scripting_game.h │ ├── scripting_mainmenu.cpp │ └── scripting_mainmenu.h ├── serialization.cpp ├── serialization.h ├── server.cpp ├── server.h ├── serverlist.cpp ├── serverlist.h ├── serverobject.cpp ├── serverobject.h ├── settings.cpp ├── settings.h ├── settings_translation_file.cpp ├── shader.cpp ├── shader.h ├── sky.cpp ├── sky.h ├── socket.cpp ├── socket.h ├── sound.cpp ├── sound.h ├── sound_openal.cpp ├── sound_openal.h ├── staticobject.cpp ├── staticobject.h ├── subgame.cpp ├── subgame.h ├── terminal_chat_console.cpp ├── terminal_chat_console.h ├── threading │ ├── CMakeLists.txt │ ├── atomic.h │ ├── event.cpp │ ├── event.h │ ├── mutex.cpp │ ├── mutex.h │ ├── mutex_auto_lock.h │ ├── semaphore.cpp │ ├── semaphore.h │ ├── thread.cpp │ └── thread.h ├── threads.h ├── tool.cpp ├── tool.h ├── touchscreengui.cpp ├── touchscreengui.h ├── treegen.cpp ├── treegen.h ├── unittest │ ├── CMakeLists.txt │ ├── test.cpp │ ├── test.h │ ├── test_areastore.cpp │ ├── test_collision.cpp │ ├── test_compression.cpp │ ├── test_connection.cpp │ ├── test_filepath.cpp │ ├── test_inventory.cpp │ ├── test_keycode.cpp │ ├── test_map_settings_manager.cpp │ ├── test_mapnode.cpp │ ├── test_nodedef.cpp │ ├── test_noderesolver.cpp │ ├── test_noise.cpp │ ├── test_objdef.cpp │ ├── test_profiler.cpp │ ├── test_random.cpp │ ├── test_schematic.cpp │ ├── test_serialization.cpp │ ├── test_settings.cpp │ ├── test_socket.cpp │ ├── test_threading.cpp │ ├── test_utilities.cpp │ ├── test_voxelalgorithms.cpp │ └── test_voxelmanipulator.cpp ├── util │ ├── CMakeLists.txt │ ├── areastore.cpp │ ├── areastore.h │ ├── auth.cpp │ ├── auth.h │ ├── base64.cpp │ ├── base64.h │ ├── basic_macros.h │ ├── container.h │ ├── cpp11_container.h │ ├── directiontables.cpp │ ├── directiontables.h │ ├── enriched_string.cpp │ ├── enriched_string.h │ ├── hex.h │ ├── mathconstants.h │ ├── md32_common.h │ ├── numeric.cpp │ ├── numeric.h │ ├── pointedthing.cpp │ ├── pointedthing.h │ ├── pointer.h │ ├── serialize.cpp │ ├── serialize.h │ ├── sha1.cpp │ ├── sha1.h │ ├── sha2.h │ ├── sha256.c │ ├── srp.cpp │ ├── srp.h │ ├── strfnd.h │ ├── string.cpp │ ├── string.h │ ├── thread.h │ ├── timetaker.cpp │ └── timetaker.h ├── version.cpp ├── version.h ├── voxel.cpp ├── voxel.h ├── voxelalgorithms.cpp ├── voxelalgorithms.h ├── wieldmesh.cpp └── wieldmesh.h ├── textures ├── base │ └── pack │ │ ├── blank.png │ │ ├── camera_btn.png │ │ ├── chat_btn.png │ │ ├── debug_btn.png │ │ ├── down.png │ │ ├── down_arrow.png │ │ ├── drop_btn.png │ │ ├── fast_btn.png │ │ ├── fly_btn.png │ │ ├── gear_icon.png │ │ ├── halo.png │ │ ├── inventory_btn.png │ │ ├── jump_btn.png │ │ ├── left_arrow.png │ │ ├── logo.png │ │ ├── menu_bg.png │ │ ├── menu_header.png │ │ ├── minimap_mask_round.png │ │ ├── minimap_mask_square.png │ │ ├── minimap_overlay_round.png │ │ ├── minimap_overlay_square.png │ │ ├── no_screenshot.png │ │ ├── noclip_btn.png │ │ ├── object_marker_red.png │ │ ├── player_marker.png │ │ ├── rangeview_btn.png │ │ ├── rare_controls.png │ │ ├── right_arrow.png │ │ ├── server_flags_creative.png │ │ ├── server_flags_damage.png │ │ ├── server_flags_favorite.png │ │ ├── server_flags_pvp.png │ │ ├── smoke_puff.png │ │ ├── sunrisebg.png │ │ ├── unknown_item.png │ │ ├── unknown_node.png │ │ ├── unknown_object.png │ │ └── up_arrow.png └── texture_packs_here.txt └── util ├── buildbot ├── buildwin32.sh ├── buildwin64.sh ├── toolchain_mingw.cmake └── toolchain_mingw64.cmake ├── bump_version.sh ├── colors.txt ├── generate-texture-normals.sh ├── minetestmapper.py ├── sectors2sqlite.py ├── test_multiplayer.sh ├── travis ├── before_install.sh ├── script.sh └── toolchain_mingw.cmake.in ├── updatepo.sh └── wireshark └── minetest.lua /.gitattributes: -------------------------------------------------------------------------------- 1 | *.cpp diff=cpp 2 | *.h diff=cpp 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ## Editors and Development environments 2 | *~ 3 | *.swp 4 | *.bak* 5 | *.orig 6 | # Vim 7 | *.vim 8 | # Kate 9 | .*.kate-swp 10 | .swp.* 11 | # KDevelop4 12 | .kdev4/ 13 | *.kdev4 14 | # Eclipse (CDT and LDT) 15 | .project 16 | .cproject 17 | .settings/ 18 | .buildpath 19 | .metadata 20 | # GNU Global 21 | tags 22 | !tags/ 23 | gtags.files 24 | .idea/* 25 | 26 | ## Files related to minetest development cycle 27 | /*.patch 28 | # GNU Patch reject file 29 | *.rej 30 | 31 | ## Non-static Minetest directories or symlinks to these 32 | /bin/ 33 | /games/* 34 | !/games/minimal/ 35 | /cache 36 | /textures/* 37 | !/textures/base/ 38 | /screenshots 39 | /sounds 40 | /mods/* 41 | !/mods/minetest/ 42 | /mods/minetest/* 43 | !/mods/minetest/mods_here.txt 44 | /worlds 45 | /world/ 46 | 47 | ## Configuration/log files 48 | minetest.conf 49 | debug.txt 50 | 51 | ## Doxygen files 52 | doc/Doxyfile 53 | doc/html/ 54 | doc/doxygen_* 55 | 56 | ## Build files 57 | CMakeFiles 58 | Makefile 59 | !build/android/Makefile 60 | cmake_install.cmake 61 | CMakeCache.txt 62 | CPackConfig.cmake 63 | CPackSourceConfig.cmake 64 | src/android_version.h 65 | src/android_version_githash.h 66 | src/cmake_config.h 67 | src/cmake_config_githash.h 68 | src/lua/build/ 69 | locale/ 70 | .directory 71 | *.cbp 72 | *.layout 73 | *.o 74 | *.a 75 | *.ninja 76 | .ninja* 77 | 78 | ## Android build files 79 | build/android/src/main/assets 80 | build/android/build 81 | build/android/deps 82 | build/android/libs 83 | build/android/jni/src 84 | build/android/src/main/jniLibs 85 | build/android/obj 86 | build/android/local.properties 87 | build/android/.gradle 88 | timestamp 89 | 90 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: cpp 2 | before_install: ./util/travis/before_install.sh 3 | script: ./util/travis/script.sh 4 | sudo: required 5 | notifications: 6 | email: false 7 | matrix: 8 | fast_finish: true 9 | include: 10 | - env: PLATFORM=Win32 11 | compiler: gcc 12 | os: linux 13 | - env: PLATFORM=Win64 14 | compiler: gcc 15 | os: linux 16 | - env: PLATFORM=Unix COMPILER=clang 17 | compiler: clang 18 | os: osx 19 | - env: PLATFORM=Unix COMPILER=g++ 20 | compiler: gcc 21 | os: linux 22 | - env: PLATFORM=Unix COMPILER=clang 23 | compiler: clang 24 | os: linux 25 | - env: PLATFORM=Unix COMPILER=g++-6 26 | compiler: gcc 27 | os: linux 28 | addons: 29 | apt: 30 | sources: &sources 31 | - ubuntu-toolchain-r-test 32 | -------------------------------------------------------------------------------- /build/android/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | repositories { 3 | mavenCentral() 4 | } 5 | dependencies { 6 | classpath "com.android.tools.build:gradle:1.5.0" 7 | } 8 | } 9 | 10 | apply plugin: "com.android.application" 11 | 12 | android { 13 | compileSdkVersion 23 14 | buildToolsVersion "23.0.3" 15 | 16 | defaultConfig { 17 | versionCode 15 18 | versionName "${System.env.VERSION_STR}.${versionCode}" 19 | minSdkVersion 9 20 | targetSdkVersion 9 21 | applicationId "net.minetest.minetest" 22 | manifestPlaceholders = [ package: "net.minetest.minetest", project: project.name ] 23 | } 24 | 25 | lintOptions { 26 | disable "OldTargetApi", "GoogleAppIndexingWarning" 27 | } 28 | 29 | Properties props = new Properties() 30 | props.load(new FileInputStream(file("local.properties"))) 31 | 32 | if (props.getProperty("keystore") != null) { 33 | signingConfigs { 34 | release { 35 | storeFile file(props["keystore"]) 36 | storePassword props["keystore.password"] 37 | keyAlias props["key"] 38 | keyPassword props["key.password"] 39 | } 40 | } 41 | 42 | buildTypes { 43 | release { 44 | signingConfig signingConfigs.release 45 | } 46 | } 47 | } 48 | } 49 | 50 | -------------------------------------------------------------------------------- /build/android/jni/Application.mk: -------------------------------------------------------------------------------- 1 | # NDK_TOOLCHAIN_VERSION := clang3.8 2 | 3 | APP_PLATFORM := android-9 4 | APP_MODULES := minetest 5 | APP_STL := gnustl_static 6 | 7 | APP_CPPFLAGS += -fexceptions 8 | APP_GNUSTL_FORCE_CPP_FEATURES := rtti 9 | 10 | -------------------------------------------------------------------------------- /build/android/patches/irrlicht-back_button.patch: -------------------------------------------------------------------------------- 1 | --- irrlicht/source/Irrlicht/Android/CIrrDeviceAndroid.cpp.orig 2015-08-29 15:43:09.000000000 +0300 2 | +++ irrlicht/source/Irrlicht/Android/CIrrDeviceAndroid.cpp 2016-05-13 21:36:22.880388505 +0300 3 | @@ -486,7 +486,7 @@ 4 | event.KeyInput.Char = 0; 5 | } 6 | 7 | - device->postEventFromUser(event); 8 | + status = device->postEventFromUser(event); 9 | } 10 | break; 11 | default: 12 | @@ -543,7 +543,7 @@ 13 | KeyMap[1] = KEY_LBUTTON; // AKEYCODE_SOFT_LEFT 14 | KeyMap[2] = KEY_RBUTTON; // AKEYCODE_SOFT_RIGHT 15 | KeyMap[3] = KEY_HOME; // AKEYCODE_HOME 16 | - KeyMap[4] = KEY_BACK; // AKEYCODE_BACK 17 | + KeyMap[4] = KEY_CANCEL; // AKEYCODE_BACK 18 | KeyMap[5] = KEY_UNKNOWN; // AKEYCODE_CALL 19 | KeyMap[6] = KEY_UNKNOWN; // AKEYCODE_ENDCALL 20 | KeyMap[7] = KEY_KEY_0; // AKEYCODE_0 21 | -------------------------------------------------------------------------------- /build/android/patches/irrlicht-touchcount.patch: -------------------------------------------------------------------------------- 1 | --- irrlicht.orig/include/IEventReceiver.h 2014-06-03 19:43:50.433713133 +0200 2 | +++ irrlicht/include/IEventReceiver.h 2014-06-03 19:44:36.993711489 +0200 3 | @@ -375,6 +375,9 @@ 4 | // Y position of simple touch. 5 | s32 Y; 6 | 7 | + // number of current touches 8 | + s32 touchedCount; 9 | + 10 | //! Type of touch event. 11 | ETOUCH_INPUT_EVENT Event; 12 | }; 13 | --- irrlicht.orig/source/Irrlicht/Android/CIrrDeviceAndroid.cpp 2014-06-03 19:43:50.505713130 +0200 14 | +++ irrlicht/source/Irrlicht/Android/CIrrDeviceAndroid.cpp 2014-06-03 19:45:37.265709359 +0200 15 | @@ -315,6 +315,7 @@ 16 | event.TouchInput.ID = AMotionEvent_getPointerId(androidEvent, i); 17 | event.TouchInput.X = AMotionEvent_getX(androidEvent, i); 18 | event.TouchInput.Y = AMotionEvent_getY(androidEvent, i); 19 | + event.TouchInput.touchedCount = AMotionEvent_getPointerCount(androidEvent); 20 | 21 | device->postEventFromUser(event); 22 | } 23 | @@ -326,6 +327,7 @@ 24 | event.TouchInput.ID = AMotionEvent_getPointerId(androidEvent, pointerIndex); 25 | event.TouchInput.X = AMotionEvent_getX(androidEvent, pointerIndex); 26 | event.TouchInput.Y = AMotionEvent_getY(androidEvent, pointerIndex); 27 | + event.TouchInput.touchedCount = AMotionEvent_getPointerCount(androidEvent); 28 | 29 | device->postEventFromUser(event); 30 | } 31 | -------------------------------------------------------------------------------- /build/android/patches/libiconv_android.patch: -------------------------------------------------------------------------------- 1 | --- a/libcharset/lib/localcharset.c 2015-06-10 11:55:25.933870724 +0200 2 | +++ b/libcharset/lib/localcharset.c 2015-06-10 11:55:39.578063493 +0200 3 | @@ -47,7 +47,7 @@ 4 | 5 | #if !defined WIN32_NATIVE 6 | # include 7 | -# if HAVE_LANGINFO_CODESET 8 | +# if HAVE_LANGINFO_CODESET && !(defined __ANDROID__) 9 | # include 10 | # else 11 | # if 0 /* see comment below */ 12 | @@ -124,7 +124,7 @@ get_charset_aliases (void) 13 | cp = charset_aliases; 14 | if (cp == NULL) 15 | { 16 | -#if !(defined DARWIN7 || defined VMS || defined WIN32_NATIVE || defined __CYGWIN__) 17 | +#if !(defined DARWIN7 || defined VMS || defined WIN32_NATIVE || defined __CYGWIN__ || defined __ANDROID__) 18 | const char *dir; 19 | const char *base = "charset.alias"; 20 | char *file_name; 21 | @@ -338,6 +338,9 @@ get_charset_aliases (void) 22 | "CP54936" "\0" "GB18030" "\0" 23 | "CP65001" "\0" "UTF-8" "\0"; 24 | # endif 25 | +# if defined __ANDROID__ 26 | + cp = "*" "\0" "UTF-8" "\0"; 27 | +# endif 28 | #endif 29 | 30 | charset_aliases = cp; 31 | @@ -361,7 +364,7 @@ locale_charset (void) 32 | const char *codeset; 33 | const char *aliases; 34 | 35 | -#if !(defined WIN32_NATIVE || defined OS2) 36 | +#if !(defined WIN32_NATIVE || defined OS2 || defined __ANDROID__) 37 | 38 | # if HAVE_LANGINFO_CODESET 39 | 40 | -------------------------------------------------------------------------------- /build/android/patches/libiconv_stdio.patch: -------------------------------------------------------------------------------- 1 | --- a/srclib/stdio.in.h 2011-08-07 15:42:06.000000000 +0200 2 | +++ b/srclib/stdio.in.h 2015-06-10 09:27:58.129056262 +0200 3 | @@ -695,8 +696,9 @@ _GL_CXXALIASWARN (gets); 4 | /* It is very rare that the developer ever has full control of stdin, 5 | so any use of gets warrants an unconditional warning. Assume it is 6 | always declared, since it is required by C89. */ 7 | -_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); 8 | +/*_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");*/ 9 | +#define gets(a) fgets( a, sizeof(*(a)), stdin) 10 | #endif 11 | 12 | 13 | #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@ 14 | -------------------------------------------------------------------------------- /build/android/patches/libvorbis-libogg-fpu.patch: -------------------------------------------------------------------------------- 1 | --- libvorbis-libogg-android/jni/libvorbis-jni/Android.mk.orig 2014-06-17 19:22:50.621559073 +0200 2 | +++ libvorbis-libogg-android/jni/libvorbis-jni/Android.mk 2014-06-17 19:38:20.641581140 +0200 3 | @@ -4,9 +4,6 @@ 4 | 5 | LOCAL_MODULE := vorbis-jni 6 | LOCAL_CFLAGS += -I$(LOCAL_PATH)/../include -fsigned-char 7 | -ifeq ($(TARGET_ARCH),arm) 8 | - LOCAL_CFLAGS += -march=armv6 -marm -mfloat-abi=softfp -mfpu=vfp 9 | -endif 10 | 11 | LOCAL_SHARED_LIBRARIES := libogg libvorbis 12 | 13 | --- libvorbis-libogg-android/jni/libvorbis/Android.mk.orig 2014-06-17 19:22:39.077558797 +0200 14 | +++ libvorbis-libogg-android/jni/libvorbis/Android.mk 2014-06-17 19:38:52.121581887 +0200 15 | @@ -4,9 +4,6 @@ 16 | 17 | LOCAL_MODULE := libvorbis 18 | LOCAL_CFLAGS += -I$(LOCAL_PATH)/../include -ffast-math -fsigned-char 19 | -ifeq ($(TARGET_ARCH),arm) 20 | - LOCAL_CFLAGS += -march=armv6 -marm -mfloat-abi=softfp -mfpu=vfp 21 | -endif 22 | LOCAL_SHARED_LIBRARIES := libogg 23 | 24 | LOCAL_SRC_FILES := \ 25 | --- libvorbis-libogg-android/jni/libogg/Android.mk.orig 2014-06-17 19:22:33.965558675 +0200 26 | +++ libvorbis-libogg-android/jni/libogg/Android.mk 2014-06-17 19:38:25.337581252 +0200 27 | @@ -4,10 +4,6 @@ 28 | 29 | LOCAL_MODULE := libogg 30 | LOCAL_CFLAGS += -I$(LOCAL_PATH)/../include -ffast-math -fsigned-char 31 | -ifeq ($(TARGET_ARCH),arm) 32 | - LOCAL_CFLAGS += -march=armv6 -marm -mfloat-abi=softfp -mfpu=vfp 33 | -endif 34 | - 35 | 36 | LOCAL_SRC_FILES := \ 37 | bitwise.c \ 38 | -------------------------------------------------------------------------------- /build/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = "Minetest" 2 | 3 | -------------------------------------------------------------------------------- /build/android/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /build/android/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 13 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 28 | 29 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /build/android/src/main/res/drawable-hdpi/irr_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/build/android/src/main/res/drawable-hdpi/irr_icon.png -------------------------------------------------------------------------------- /build/android/src/main/res/drawable-ldpi/irr_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/build/android/src/main/res/drawable-ldpi/irr_icon.png -------------------------------------------------------------------------------- /build/android/src/main/res/drawable-mdpi/irr_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/build/android/src/main/res/drawable-mdpi/irr_icon.png -------------------------------------------------------------------------------- /build/android/src/main/res/drawable-xhdpi/irr_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/build/android/src/main/res/drawable-xhdpi/irr_icon.png -------------------------------------------------------------------------------- /build/android/src/main/res/layout/assetcopy.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 13 | 14 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /build/android/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Preparing media... 4 | 5 | 6 | -------------------------------------------------------------------------------- /build/android/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 11 | -------------------------------------------------------------------------------- /builtin/async/init.lua: -------------------------------------------------------------------------------- 1 | 2 | core.log("info", "Initializing Asynchronous environment") 3 | 4 | function core.job_processor(serialized_func, serialized_param) 5 | local func = loadstring(serialized_func) 6 | local param = core.deserialize(serialized_param) 7 | local retval = nil 8 | 9 | if type(func) == "function" then 10 | retval = core.serialize(func(param)) 11 | else 12 | core.log("error", "ASYNC WORKER: Unable to deserialize function") 13 | end 14 | 15 | return retval or core.serialize(nil) 16 | end 17 | 18 | -------------------------------------------------------------------------------- /builtin/common/async_event.lua: -------------------------------------------------------------------------------- 1 | 2 | core.async_jobs = {} 3 | 4 | local function handle_job(jobid, serialized_retval) 5 | local retval = core.deserialize(serialized_retval) 6 | assert(type(core.async_jobs[jobid]) == "function") 7 | core.async_jobs[jobid](retval) 8 | core.async_jobs[jobid] = nil 9 | end 10 | 11 | if core.register_globalstep then 12 | core.register_globalstep(function(dtime) 13 | for i, job in ipairs(core.get_finished_jobs()) do 14 | handle_job(job.jobid, job.retval) 15 | end 16 | end) 17 | else 18 | core.async_event_handler = handle_job 19 | end 20 | 21 | function core.handle_async(func, parameter, callback) 22 | -- Serialize function 23 | local serialized_func = string.dump(func) 24 | 25 | assert(serialized_func ~= nil) 26 | 27 | -- Serialize parameters 28 | local serialized_param = core.serialize(parameter) 29 | 30 | if serialized_param == nil then 31 | return false 32 | end 33 | 34 | local jobid = core.do_async_callback(serialized_func, serialized_param) 35 | 36 | core.async_jobs[jobid] = callback 37 | 38 | return true 39 | end 40 | 41 | -------------------------------------------------------------------------------- /builtin/game/constants.lua: -------------------------------------------------------------------------------- 1 | -- Minetest: builtin/constants.lua 2 | 3 | -- 4 | -- Constants values for use with the Lua API 5 | -- 6 | 7 | -- mapnode.h 8 | -- Built-in Content IDs (for use with VoxelManip API) 9 | core.CONTENT_UNKNOWN = 125 10 | core.CONTENT_AIR = 126 11 | core.CONTENT_IGNORE = 127 12 | 13 | -- emerge.h 14 | -- Block emerge status constants (for use with core.emerge_area) 15 | core.EMERGE_CANCELLED = 0 16 | core.EMERGE_ERRORED = 1 17 | core.EMERGE_FROM_MEMORY = 2 18 | core.EMERGE_FROM_DISK = 3 19 | core.EMERGE_GENERATED = 4 20 | 21 | -- constants.h 22 | -- Size of mapblocks in nodes 23 | core.MAP_BLOCKSIZE = 16 24 | 25 | -- light.h 26 | -- Maximum value for node 'light_source' parameter 27 | core.LIGHT_MAX = 14 28 | -------------------------------------------------------------------------------- /builtin/game/deprecated.lua: -------------------------------------------------------------------------------- 1 | -- Minetest: builtin/deprecated.lua 2 | 3 | -- 4 | -- Default material types 5 | -- 6 | local function digprop_err() 7 | core.log("deprecated", "The core.digprop_* functions are obsolete and need to be replaced by item groups.") 8 | end 9 | 10 | core.digprop_constanttime = digprop_err 11 | core.digprop_stonelike = digprop_err 12 | core.digprop_dirtlike = digprop_err 13 | core.digprop_gravellike = digprop_err 14 | core.digprop_woodlike = digprop_err 15 | core.digprop_leaveslike = digprop_err 16 | core.digprop_glasslike = digprop_err 17 | 18 | function core.node_metadata_inventory_move_allow_all() 19 | core.log("deprecated", "core.node_metadata_inventory_move_allow_all is obsolete and does nothing.") 20 | end 21 | 22 | function core.add_to_creative_inventory(itemstring) 23 | core.log("deprecated", "core.add_to_creative_inventory: This function is deprecated and does nothing.") 24 | end 25 | 26 | -- 27 | -- EnvRef 28 | -- 29 | core.env = {} 30 | local envref_deprecation_message_printed = false 31 | setmetatable(core.env, { 32 | __index = function(table, key) 33 | if not envref_deprecation_message_printed then 34 | core.log("deprecated", "core.env:[...] is deprecated and should be replaced with core.[...]") 35 | envref_deprecation_message_printed = true 36 | end 37 | local func = core[key] 38 | if type(func) == "function" then 39 | rawset(table, key, function(self, ...) 40 | return func(...) 41 | end) 42 | else 43 | rawset(table, key, nil) 44 | end 45 | return rawget(table, key) 46 | end 47 | }) 48 | 49 | function core.rollback_get_last_node_actor(pos, range, seconds) 50 | return core.rollback_get_node_actions(pos, range, seconds, 1)[1] 51 | end 52 | -------------------------------------------------------------------------------- /builtin/game/detached_inventory.lua: -------------------------------------------------------------------------------- 1 | -- Minetest: builtin/detached_inventory.lua 2 | 3 | core.detached_inventories = {} 4 | 5 | function core.create_detached_inventory(name, callbacks) 6 | local stuff = {} 7 | stuff.name = name 8 | if callbacks then 9 | stuff.allow_move = callbacks.allow_move 10 | stuff.allow_put = callbacks.allow_put 11 | stuff.allow_take = callbacks.allow_take 12 | stuff.on_move = callbacks.on_move 13 | stuff.on_put = callbacks.on_put 14 | stuff.on_take = callbacks.on_take 15 | end 16 | stuff.mod_origin = core.get_current_modname() or "??" 17 | core.detached_inventories[name] = stuff 18 | return core.create_detached_inventory_raw(name) 19 | end 20 | 21 | -------------------------------------------------------------------------------- /builtin/game/features.lua: -------------------------------------------------------------------------------- 1 | -- Minetest: builtin/features.lua 2 | 3 | core.features = { 4 | glasslike_framed = true, 5 | nodebox_as_selectionbox = true, 6 | chat_send_player_param3 = true, 7 | get_all_craft_recipes_works = true, 8 | use_texture_alpha = true, 9 | no_legacy_abms = true, 10 | texture_names_parens = true, 11 | area_store_custom_ids = true, 12 | } 13 | 14 | function core.has_feature(arg) 15 | if type(arg) == "table" then 16 | local missing_features = {} 17 | local result = true 18 | for ftr in pairs(arg) do 19 | if not core.features[ftr] then 20 | missing_features[ftr] = true 21 | result = false 22 | end 23 | end 24 | return result, missing_features 25 | elseif type(arg) == "string" then 26 | if not core.features[arg] then 27 | return false, {[arg]=true} 28 | end 29 | return true, {} 30 | end 31 | end 32 | -------------------------------------------------------------------------------- /builtin/game/init.lua: -------------------------------------------------------------------------------- 1 | 2 | local scriptpath = core.get_builtin_path()..DIR_DELIM 3 | local commonpath = scriptpath.."common"..DIR_DELIM 4 | local gamepath = scriptpath.."game"..DIR_DELIM 5 | 6 | dofile(commonpath.."vector.lua") 7 | 8 | dofile(gamepath.."constants.lua") 9 | dofile(gamepath.."item.lua") 10 | dofile(gamepath.."register.lua") 11 | 12 | if core.setting_getbool("profiler.load") then 13 | profiler = dofile(scriptpath.."profiler"..DIR_DELIM.."init.lua") 14 | end 15 | 16 | dofile(gamepath.."item_entity.lua") 17 | dofile(gamepath.."deprecated.lua") 18 | dofile(gamepath.."misc.lua") 19 | dofile(gamepath.."privileges.lua") 20 | dofile(gamepath.."auth.lua") 21 | dofile(gamepath.."chatcommands.lua") 22 | dofile(gamepath.."static_spawn.lua") 23 | dofile(gamepath.."detached_inventory.lua") 24 | dofile(gamepath.."falling.lua") 25 | dofile(gamepath.."features.lua") 26 | dofile(gamepath.."voxelarea.lua") 27 | dofile(gamepath.."forceloading.lua") 28 | dofile(gamepath.."statbars.lua") 29 | 30 | profiler = nil 31 | -------------------------------------------------------------------------------- /builtin/game/static_spawn.lua: -------------------------------------------------------------------------------- 1 | -- Minetest: builtin/static_spawn.lua 2 | 3 | local function warn_invalid_static_spawnpoint() 4 | if core.setting_get("static_spawnpoint") and 5 | not core.setting_get_pos("static_spawnpoint") then 6 | core.log("error", "The static_spawnpoint setting is invalid: \"".. 7 | core.setting_get("static_spawnpoint").."\"") 8 | end 9 | end 10 | 11 | warn_invalid_static_spawnpoint() 12 | 13 | local function put_player_in_spawn(player_obj) 14 | local static_spawnpoint = core.setting_get_pos("static_spawnpoint") 15 | if not static_spawnpoint then 16 | return false 17 | end 18 | core.log("action", "Moving " .. player_obj:get_player_name() .. 19 | " to static spawnpoint at " .. core.pos_to_string(static_spawnpoint)) 20 | player_obj:setpos(static_spawnpoint) 21 | return true 22 | end 23 | 24 | core.register_on_newplayer(put_player_in_spawn) 25 | core.register_on_respawnplayer(put_player_in_spawn) 26 | -------------------------------------------------------------------------------- /builtin/init.lua: -------------------------------------------------------------------------------- 1 | -- 2 | -- This file contains built-in stuff in Minetest implemented in Lua. 3 | -- 4 | -- It is always loaded and executed after registration of the C API, 5 | -- before loading and running any mods. 6 | -- 7 | 8 | -- Initialize some very basic things 9 | function core.debug(...) core.log(table.concat({...}, "\t")) end 10 | if core.print then 11 | local core_print = core.print 12 | -- Override native print and use 13 | -- terminal if that's turned on 14 | function print(...) 15 | local n, t = select("#", ...), {...} 16 | for i = 1, n do 17 | t[i] = tostring(t[i]) 18 | end 19 | core_print(table.concat(t, "\t")) 20 | end 21 | core.print = nil -- don't pollute our namespace 22 | end 23 | math.randomseed(os.time()) 24 | os.setlocale("C", "numeric") 25 | minetest = core 26 | 27 | -- Load other files 28 | local scriptdir = core.get_builtin_path() .. DIR_DELIM 29 | local gamepath = scriptdir .. "game" .. DIR_DELIM 30 | local commonpath = scriptdir .. "common" .. DIR_DELIM 31 | local asyncpath = scriptdir .. "async" .. DIR_DELIM 32 | 33 | dofile(commonpath .. "strict.lua") 34 | dofile(commonpath .. "serialize.lua") 35 | dofile(commonpath .. "misc_helpers.lua") 36 | 37 | if INIT == "game" then 38 | dofile(gamepath .. "init.lua") 39 | elseif INIT == "mainmenu" then 40 | local mainmenuscript = core.setting_get("main_menu_script") 41 | if mainmenuscript ~= nil and mainmenuscript ~= "" then 42 | dofile(mainmenuscript) 43 | else 44 | dofile(core.get_mainmenu_path() .. DIR_DELIM .. "init.lua") 45 | end 46 | elseif INIT == "async" then 47 | dofile(asyncpath .. "init.lua") 48 | else 49 | error(("Unrecognized builtin initialization type %s!"):format(tostring(INIT))) 50 | end 51 | 52 | -------------------------------------------------------------------------------- /builtin/mainmenu/init_simple.lua: -------------------------------------------------------------------------------- 1 | -- helper file to be able to debug the simple menu on PC 2 | -- without messing around with actual menu code! 3 | PLATFORM = "Android" 4 | dofile("builtin/mainmenu/init.lua") 5 | -------------------------------------------------------------------------------- /client/serverlist/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /client/shaders/default_shader/opengl_fragment.glsl: -------------------------------------------------------------------------------- 1 | void main(void) 2 | { 3 | gl_FragColor = gl_Color; 4 | } 5 | -------------------------------------------------------------------------------- /client/shaders/minimap_shader/opengl_fragment.glsl: -------------------------------------------------------------------------------- 1 | uniform sampler2D baseTexture; 2 | uniform sampler2D normalTexture; 3 | uniform vec3 yawVec; 4 | 5 | void main (void) 6 | { 7 | vec2 uv = gl_TexCoord[0].st; 8 | 9 | //texture sampling rate 10 | const float step = 1.0 / 256.0; 11 | float tl = texture2D(normalTexture, vec2(uv.x - step, uv.y + step)).r; 12 | float t = texture2D(normalTexture, vec2(uv.x - step, uv.y - step)).r; 13 | float tr = texture2D(normalTexture, vec2(uv.x + step, uv.y + step)).r; 14 | float r = texture2D(normalTexture, vec2(uv.x + step, uv.y)).r; 15 | float br = texture2D(normalTexture, vec2(uv.x + step, uv.y - step)).r; 16 | float b = texture2D(normalTexture, vec2(uv.x, uv.y - step)).r; 17 | float bl = texture2D(normalTexture, vec2(uv.x - step, uv.y - step)).r; 18 | float l = texture2D(normalTexture, vec2(uv.x - step, uv.y)).r; 19 | float dX = (tr + 2.0 * r + br) - (tl + 2.0 * l + bl); 20 | float dY = (bl + 2.0 * b + br) - (tl + 2.0 * t + tr); 21 | vec4 bump = vec4 (normalize(vec3 (dX, dY, 0.1)),1.0); 22 | float height = 2.0 * texture2D(normalTexture, vec2(uv.x, uv.y)).r - 1.0; 23 | vec4 base = texture2D(baseTexture, uv).rgba; 24 | vec3 L = normalize(vec3(0.0, 0.75, 1.0)); 25 | float specular = pow(clamp(dot(reflect(L, bump.xyz), yawVec), 0.0, 1.0), 1.0); 26 | float diffuse = dot(yawVec, bump.xyz); 27 | 28 | vec3 color = (1.1 * diffuse + 0.05 * height + 0.5 * specular) * base.rgb; 29 | vec4 col = vec4(color.rgb, base.a); 30 | col *= gl_Color; 31 | gl_FragColor = vec4(col.rgb, base.a); 32 | } 33 | -------------------------------------------------------------------------------- /client/shaders/minimap_shader/opengl_vertex.glsl: -------------------------------------------------------------------------------- 1 | uniform mat4 mWorldViewProj; 2 | uniform mat4 mInvWorld; 3 | uniform mat4 mTransWorld; 4 | uniform mat4 mWorld; 5 | 6 | void main(void) 7 | { 8 | gl_TexCoord[0] = gl_MultiTexCoord0; 9 | gl_Position = mWorldViewProj * gl_Vertex; 10 | gl_FrontColor = gl_BackColor = gl_Color; 11 | } 12 | -------------------------------------------------------------------------------- /client/shaders/selection_shader/opengl_fragment.glsl: -------------------------------------------------------------------------------- 1 | uniform sampler2D baseTexture; 2 | 3 | void main(void) 4 | { 5 | vec2 uv = gl_TexCoord[0].st; 6 | vec4 color = texture2D(baseTexture, uv); 7 | color.rgb *= gl_Color.rgb; 8 | gl_FragColor = color; 9 | } 10 | -------------------------------------------------------------------------------- /client/shaders/wielded_hand_shader/opengl_vertex.glsl: -------------------------------------------------------------------------------- 1 | uniform mat4 mWorldViewProj; 2 | uniform mat4 mInvWorld; 3 | uniform mat4 mTransWorld; 4 | uniform mat4 mWorld; 5 | 6 | uniform float dayNightRatio; 7 | uniform vec3 eyePosition; 8 | uniform float animationTimer; 9 | 10 | varying vec3 vPosition; 11 | varying vec3 worldPosition; 12 | 13 | varying vec3 eyeVec; 14 | varying vec3 lightVec; 15 | varying vec3 tsEyeVec; 16 | varying vec3 tsLightVec; 17 | 18 | const float e = 2.718281828459; 19 | const float BS = 10.0; 20 | 21 | void main(void) 22 | { 23 | gl_TexCoord[0] = gl_MultiTexCoord0; 24 | gl_Position = mWorldViewProj * gl_Vertex; 25 | 26 | vPosition = gl_Position.xyz; 27 | worldPosition = (mWorld * gl_Vertex).xyz; 28 | 29 | vec3 sunPosition = vec3 (0.0, eyePosition.y * BS + 900.0, 0.0); 30 | 31 | lightVec = sunPosition - worldPosition; 32 | eyeVec = -(gl_ModelViewMatrix * gl_Vertex).xyz; 33 | 34 | gl_FrontColor = gl_BackColor = gl_Color; 35 | } 36 | 37 | -------------------------------------------------------------------------------- /cmake/Modules/FindCURL.cmake: -------------------------------------------------------------------------------- 1 | mark_as_advanced(CURL_LIBRARY CURL_INCLUDE_DIR) 2 | 3 | find_library(CURL_LIBRARY NAMES curl) 4 | find_path(CURL_INCLUDE_DIR NAMES curl/curl.h) 5 | 6 | set(CURL_REQUIRED_VARS CURL_LIBRARY CURL_INCLUDE_DIR) 7 | 8 | if(WIN32) 9 | find_file(CURL_DLL NAMES libcurl-4.dll 10 | PATHS 11 | "C:/Windows/System32" 12 | DOC "Path to the cURL DLL (for installation)") 13 | mark_as_advanced(CURL_DLL) 14 | set(CURL_REQUIRED_VARS ${CURL_REQUIRED_VARS} CURL_DLL) 15 | endif() 16 | 17 | include(FindPackageHandleStandardArgs) 18 | find_package_handle_standard_args(CURL DEFAULT_MSG ${CURL_REQUIRED_VARS}) 19 | 20 | -------------------------------------------------------------------------------- /cmake/Modules/FindGMP.cmake: -------------------------------------------------------------------------------- 1 | 2 | option(ENABLE_SYSTEM_GMP "Use GMP from system" TRUE) 3 | mark_as_advanced(GMP_LIBRARY GMP_INCLUDE_DIR) 4 | set(USE_SYSTEM_GMP FALSE) 5 | 6 | if(ENABLE_SYSTEM_GMP) 7 | find_library(GMP_LIBRARY NAMES libgmp.so) 8 | find_path(GMP_INCLUDE_DIR NAMES gmp.h) 9 | 10 | if(GMP_LIBRARY AND GMP_INCLUDE_DIR) 11 | message (STATUS "Using GMP provided by system.") 12 | set(USE_SYSTEM_GMP TRUE) 13 | else() 14 | message (STATUS "Detecting GMP from system failed.") 15 | endif() 16 | else() 17 | message (STATUS "Detecting GMP from system disabled! (ENABLE_SYSTEM_GMP=0)") 18 | endif() 19 | 20 | if(NOT USE_SYSTEM_GMP) 21 | message(STATUS "Using bundled mini-gmp library.") 22 | set(GMP_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/gmp) 23 | set(GMP_LIBRARY gmp) 24 | add_subdirectory(gmp) 25 | endif() 26 | 27 | include(FindPackageHandleStandardArgs) 28 | find_package_handle_standard_args(GMP DEFAULT_MSG GMP_LIBRARY GMP_INCLUDE_DIR) 29 | -------------------------------------------------------------------------------- /cmake/Modules/FindJson.cmake: -------------------------------------------------------------------------------- 1 | # Look for JSONCPP if asked to. 2 | # We use a bundled version by default because some distros ship versions of 3 | # JSONCPP that cause segfaults and other memory errors when we link with them. 4 | # See https://github.com/minetest/minetest/issues/1793 5 | 6 | mark_as_advanced(JSON_LIBRARY JSON_INCLUDE_DIR) 7 | option(ENABLE_SYSTEM_JSONCPP "Enable using a system-wide JSONCPP. May cause segfaults and other memory errors!" FALSE) 8 | 9 | if(ENABLE_SYSTEM_JSONCPP) 10 | find_library(JSON_LIBRARY NAMES jsoncpp) 11 | find_path(JSON_INCLUDE_DIR json/features.h PATH_SUFFIXES jsoncpp) 12 | 13 | include(FindPackageHandleStandardArgs) 14 | find_package_handle_standard_args(JSONCPP DEFAULT_MSG JSON_LIBRARY JSON_INCLUDE_DIR) 15 | 16 | if(JSONCPP_FOUND) 17 | message(STATUS "Using system JSONCPP library.") 18 | endif() 19 | endif() 20 | 21 | if(NOT JSONCPP_FOUND) 22 | message(STATUS "Using bundled JSONCPP library.") 23 | set(JSON_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/jsoncpp) 24 | set(JSON_LIBRARY jsoncpp) 25 | add_subdirectory(jsoncpp/json) 26 | endif() 27 | 28 | -------------------------------------------------------------------------------- /cmake/Modules/FindLuaJIT.cmake: -------------------------------------------------------------------------------- 1 | # Locate LuaJIT library 2 | # This module defines 3 | # LUAJIT_FOUND, if false, do not try to link to Lua 4 | # LUA_INCLUDE_DIR, where to find lua.h 5 | # LUA_VERSION_STRING, the version of Lua found (since CMake 2.8.8) 6 | # 7 | # This module is similar to FindLua51.cmake except that it finds LuaJit instead. 8 | 9 | FIND_PATH(LUA_INCLUDE_DIR luajit.h 10 | HINTS 11 | $ENV{LUA_DIR} 12 | PATH_SUFFIXES include/luajit-2.0 include/luajit-5_1-2.0 include 13 | PATHS 14 | ~/Library/Frameworks 15 | /Library/Frameworks 16 | /sw # Fink 17 | /opt/local # DarwinPorts 18 | /opt/csw # Blastwave 19 | /opt 20 | ) 21 | 22 | FIND_LIBRARY(LUA_LIBRARY 23 | NAMES luajit-5.1 24 | HINTS 25 | $ENV{LUA_DIR} 26 | PATH_SUFFIXES lib64 lib 27 | PATHS 28 | ~/Library/Frameworks 29 | /Library/Frameworks 30 | /sw 31 | /opt/local 32 | /opt/csw 33 | /opt 34 | ) 35 | 36 | IF(LUA_INCLUDE_DIR AND EXISTS "${LUA_INCLUDE_DIR}/luajit.h") 37 | FILE(STRINGS "${LUA_INCLUDE_DIR}/luajit.h" lua_version_str REGEX "^#define[ \t]+LUA_RELEASE[ \t]+\"LuaJIT .+\"") 38 | 39 | STRING(REGEX REPLACE "^#define[ \t]+LUA_RELEASE[ \t]+\"LuaJIT ([^\"]+)\".*" "\\1" LUA_VERSION_STRING "${lua_version_str}") 40 | UNSET(lua_version_str) 41 | ENDIF() 42 | 43 | INCLUDE(FindPackageHandleStandardArgs) 44 | # handle the QUIETLY and REQUIRED arguments and set LUAJIT_FOUND to TRUE if 45 | # all listed variables are TRUE 46 | FIND_PACKAGE_HANDLE_STANDARD_ARGS(LuaJit 47 | REQUIRED_VARS LUA_LIBRARY LUA_INCLUDE_DIR 48 | VERSION_VAR LUA_VERSION_STRING) 49 | 50 | MARK_AS_ADVANCED(LUA_INCLUDE_DIR LUA_LIBRARY LUA_MATH_LIBRARY) 51 | -------------------------------------------------------------------------------- /cmake/Modules/FindSQLite3.cmake: -------------------------------------------------------------------------------- 1 | mark_as_advanced(SQLITE3_LIBRARY SQLITE3_INCLUDE_DIR) 2 | 3 | find_path(SQLITE3_INCLUDE_DIR sqlite3.h) 4 | 5 | find_library(SQLITE3_LIBRARY NAMES sqlite3) 6 | 7 | include(FindPackageHandleStandardArgs) 8 | find_package_handle_standard_args(SQLite3 DEFAULT_MSG SQLITE3_LIBRARY SQLITE3_INCLUDE_DIR) 9 | 10 | -------------------------------------------------------------------------------- /cmake/Modules/GenerateVersion.cmake: -------------------------------------------------------------------------------- 1 | # Always run during 'make' 2 | 3 | if(DEVELOPMENT_BUILD) 4 | execute_process(COMMAND git rev-parse --short HEAD 5 | WORKING_DIRECTORY "${GENERATE_VERSION_SOURCE_DIR}" 6 | OUTPUT_VARIABLE VERSION_GITHASH OUTPUT_STRIP_TRAILING_WHITESPACE 7 | ERROR_QUIET) 8 | if(VERSION_GITHASH) 9 | set(VERSION_GITHASH "${VERSION_STRING}-${VERSION_GITHASH}") 10 | execute_process(COMMAND git diff-index --quiet HEAD 11 | WORKING_DIRECTORY "${GENERATE_VERSION_SOURCE_DIR}" 12 | RESULT_VARIABLE IS_DIRTY) 13 | if(IS_DIRTY) 14 | set(VERSION_GITHASH "${VERSION_GITHASH}-dirty") 15 | endif() 16 | message(STATUS "*** Detected Git version ${VERSION_GITHASH} ***") 17 | endif() 18 | endif() 19 | if(NOT VERSION_GITHASH) 20 | set(VERSION_GITHASH "${VERSION_STRING}") 21 | endif() 22 | 23 | configure_file( 24 | ${GENERATE_VERSION_SOURCE_DIR}/cmake_config_githash.h.in 25 | ${GENERATE_VERSION_BINARY_DIR}/cmake_config_githash.h) 26 | 27 | -------------------------------------------------------------------------------- /doc/Doxyfile.in: -------------------------------------------------------------------------------- 1 | # Project properties 2 | PROJECT_NAME = @PROJECT_NAME_CAPITALIZED@ 3 | PROJECT_NUMBER = @VERSION_STRING@ 4 | PROJECT_LOGO = @CMAKE_CURRENT_SOURCE_DIR@/misc/minetest.svg 5 | 6 | # Parsing 7 | JAVADOC_AUTOBRIEF = YES 8 | EXTRACT_ALL = YES 9 | EXTRACT_PRIVATE = YES 10 | EXTRACT_STATIC = YES 11 | SORT_MEMBERS_CTORS_1ST = YES 12 | WARN_IF_UNDOCUMENTED = NO 13 | BUILTIN_STL_SUPPORT = YES 14 | PREDEFINED = "USE_SPATIAL=1" \ 15 | "USE_LEVELDB=1" \ 16 | "USE_REDIS=1" \ 17 | "USE_SOUND=1" \ 18 | "USE_CURL=1" \ 19 | "USE_FREETYPE=1" \ 20 | "USE_GETTEXT=1" 21 | 22 | # Input 23 | RECURSIVE = NO 24 | STRIP_FROM_PATH = @CMAKE_CURRENT_SOURCE_DIR@/src 25 | INPUT = @CMAKE_CURRENT_SOURCE_DIR@/doc/main_page.dox \ 26 | @CMAKE_CURRENT_SOURCE_DIR@/src/ \ 27 | @CMAKE_CURRENT_SOURCE_DIR@/src/client \ 28 | @CMAKE_CURRENT_SOURCE_DIR@/src/network \ 29 | @CMAKE_CURRENT_SOURCE_DIR@/src/util \ 30 | @CMAKE_CURRENT_SOURCE_DIR@/src/script \ 31 | @CMAKE_CURRENT_SOURCE_DIR@/src/script/common \ 32 | @CMAKE_CURRENT_SOURCE_DIR@/src/script/cpp_api \ 33 | @CMAKE_CURRENT_SOURCE_DIR@/src/script/lua_api \ 34 | @CMAKE_CURRENT_SOURCE_DIR@/src/threading 35 | 36 | # Dot graphs 37 | HAVE_DOT = @DOXYGEN_DOT_FOUND@ 38 | CALL_GRAPH = YES 39 | CALLER_GRAPH = YES 40 | MAX_DOT_GRAPH_DEPTH = 3 41 | DOT_MULTI_TARGETS = YES 42 | DOT_IMAGE_FORMAT = svg 43 | 44 | # Output 45 | GENERATE_LATEX = NO 46 | REFERENCED_BY_RELATION = YES 47 | REFERENCES_RELATION = YES 48 | SEARCHENGINE = YES 49 | DISABLE_INDEX = YES 50 | GENERATE_TREEVIEW = YES 51 | HTML_DYNAMIC_SECTIONS = YES 52 | HTML_TIMESTAMP = YES 53 | 54 | -------------------------------------------------------------------------------- /doc/main_page.dox: -------------------------------------------------------------------------------- 1 | /** @mainpage The Minetest engine internal documentation 2 | 3 | Welcome to the Minetest engine Doxygen documentation site!\n 4 | This page documents the internal structure of the Minetest engine's C++ code.\n 5 | Use the tree view at the left to navigate. 6 | 7 | */ 8 | 9 | -------------------------------------------------------------------------------- /doc/minetestserver.6: -------------------------------------------------------------------------------- 1 | .so man6/minetest.6 2 | 3 | -------------------------------------------------------------------------------- /fonts/DroidSansFallbackFull.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/DroidSansFallbackFull.ttf -------------------------------------------------------------------------------- /fonts/liberationmono.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/liberationmono.ttf -------------------------------------------------------------------------------- /fonts/liberationsans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/liberationsans.ttf -------------------------------------------------------------------------------- /fonts/lucida_sans_10.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_10.xml -------------------------------------------------------------------------------- /fonts/lucida_sans_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_100.png -------------------------------------------------------------------------------- /fonts/lucida_sans_11.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_11.xml -------------------------------------------------------------------------------- /fonts/lucida_sans_110.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_110.png -------------------------------------------------------------------------------- /fonts/lucida_sans_12.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_12.xml -------------------------------------------------------------------------------- /fonts/lucida_sans_120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_120.png -------------------------------------------------------------------------------- /fonts/lucida_sans_14.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_14.xml -------------------------------------------------------------------------------- /fonts/lucida_sans_140.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_140.png -------------------------------------------------------------------------------- /fonts/lucida_sans_16.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_16.xml -------------------------------------------------------------------------------- /fonts/lucida_sans_160.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_160.png -------------------------------------------------------------------------------- /fonts/lucida_sans_18.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_18.xml -------------------------------------------------------------------------------- /fonts/lucida_sans_180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_180.png -------------------------------------------------------------------------------- /fonts/lucida_sans_20.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_20.xml -------------------------------------------------------------------------------- /fonts/lucida_sans_200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_200.png -------------------------------------------------------------------------------- /fonts/lucida_sans_22.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_22.xml -------------------------------------------------------------------------------- /fonts/lucida_sans_220.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_220.png -------------------------------------------------------------------------------- /fonts/lucida_sans_24.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_24.xml -------------------------------------------------------------------------------- /fonts/lucida_sans_240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_240.png -------------------------------------------------------------------------------- /fonts/lucida_sans_26.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_26.xml -------------------------------------------------------------------------------- /fonts/lucida_sans_260.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_260.png -------------------------------------------------------------------------------- /fonts/lucida_sans_28.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_28.xml -------------------------------------------------------------------------------- /fonts/lucida_sans_280.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_280.png -------------------------------------------------------------------------------- /fonts/lucida_sans_36.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_36.xml -------------------------------------------------------------------------------- /fonts/lucida_sans_360.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_360.png -------------------------------------------------------------------------------- /fonts/lucida_sans_4.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_4.xml -------------------------------------------------------------------------------- /fonts/lucida_sans_40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_40.png -------------------------------------------------------------------------------- /fonts/lucida_sans_48.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_48.xml -------------------------------------------------------------------------------- /fonts/lucida_sans_480.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_480.png -------------------------------------------------------------------------------- /fonts/lucida_sans_56.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_56.xml -------------------------------------------------------------------------------- /fonts/lucida_sans_560.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_560.png -------------------------------------------------------------------------------- /fonts/lucida_sans_6.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_6.xml -------------------------------------------------------------------------------- /fonts/lucida_sans_60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_60.png -------------------------------------------------------------------------------- /fonts/lucida_sans_8.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_8.xml -------------------------------------------------------------------------------- /fonts/lucida_sans_80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_80.png -------------------------------------------------------------------------------- /fonts/lucida_sans_9.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_9.xml -------------------------------------------------------------------------------- /fonts/lucida_sans_90.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/lucida_sans_90.png -------------------------------------------------------------------------------- /fonts/mono_dejavu_sans_10.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/mono_dejavu_sans_10.xml -------------------------------------------------------------------------------- /fonts/mono_dejavu_sans_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/mono_dejavu_sans_100.png -------------------------------------------------------------------------------- /fonts/mono_dejavu_sans_11.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/mono_dejavu_sans_11.xml -------------------------------------------------------------------------------- /fonts/mono_dejavu_sans_110.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/mono_dejavu_sans_110.png -------------------------------------------------------------------------------- /fonts/mono_dejavu_sans_12.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/mono_dejavu_sans_12.xml -------------------------------------------------------------------------------- /fonts/mono_dejavu_sans_120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/mono_dejavu_sans_120.png -------------------------------------------------------------------------------- /fonts/mono_dejavu_sans_14.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/mono_dejavu_sans_14.xml -------------------------------------------------------------------------------- /fonts/mono_dejavu_sans_140.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/mono_dejavu_sans_140.png -------------------------------------------------------------------------------- /fonts/mono_dejavu_sans_16.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/mono_dejavu_sans_16.xml -------------------------------------------------------------------------------- /fonts/mono_dejavu_sans_160.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/mono_dejavu_sans_160.png -------------------------------------------------------------------------------- /fonts/mono_dejavu_sans_18.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/mono_dejavu_sans_18.xml -------------------------------------------------------------------------------- /fonts/mono_dejavu_sans_180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/mono_dejavu_sans_180.png -------------------------------------------------------------------------------- /fonts/mono_dejavu_sans_20.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/mono_dejavu_sans_20.xml -------------------------------------------------------------------------------- /fonts/mono_dejavu_sans_200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/mono_dejavu_sans_200.png -------------------------------------------------------------------------------- /fonts/mono_dejavu_sans_22.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/mono_dejavu_sans_22.xml -------------------------------------------------------------------------------- /fonts/mono_dejavu_sans_220.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/mono_dejavu_sans_220.png -------------------------------------------------------------------------------- /fonts/mono_dejavu_sans_24.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/mono_dejavu_sans_24.xml -------------------------------------------------------------------------------- /fonts/mono_dejavu_sans_240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/mono_dejavu_sans_240.png -------------------------------------------------------------------------------- /fonts/mono_dejavu_sans_26.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/mono_dejavu_sans_26.xml -------------------------------------------------------------------------------- /fonts/mono_dejavu_sans_260.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/mono_dejavu_sans_260.png -------------------------------------------------------------------------------- /fonts/mono_dejavu_sans_28.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/mono_dejavu_sans_28.xml -------------------------------------------------------------------------------- /fonts/mono_dejavu_sans_280.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/mono_dejavu_sans_280.png -------------------------------------------------------------------------------- /fonts/mono_dejavu_sans_4.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/mono_dejavu_sans_4.xml -------------------------------------------------------------------------------- /fonts/mono_dejavu_sans_40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/mono_dejavu_sans_40.png -------------------------------------------------------------------------------- /fonts/mono_dejavu_sans_6.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/mono_dejavu_sans_6.xml -------------------------------------------------------------------------------- /fonts/mono_dejavu_sans_60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/mono_dejavu_sans_60.png -------------------------------------------------------------------------------- /fonts/mono_dejavu_sans_8.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/mono_dejavu_sans_8.xml -------------------------------------------------------------------------------- /fonts/mono_dejavu_sans_80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/mono_dejavu_sans_80.png -------------------------------------------------------------------------------- /fonts/mono_dejavu_sans_9.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/mono_dejavu_sans_9.xml -------------------------------------------------------------------------------- /fonts/mono_dejavu_sans_90.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/fonts/mono_dejavu_sans_90.png -------------------------------------------------------------------------------- /games/minimal/game.conf: -------------------------------------------------------------------------------- 1 | name = Minimal development test 2 | 3 | -------------------------------------------------------------------------------- /games/minimal/menu/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/menu/background.png -------------------------------------------------------------------------------- /games/minimal/menu/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/menu/icon.png -------------------------------------------------------------------------------- /games/minimal/mods/bucket/depends.txt: -------------------------------------------------------------------------------- 1 | default 2 | 3 | -------------------------------------------------------------------------------- /games/minimal/mods/bucket/textures/bucket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/bucket/textures/bucket.png -------------------------------------------------------------------------------- /games/minimal/mods/bucket/textures/bucket_lava.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/bucket/textures/bucket_lava.png -------------------------------------------------------------------------------- /games/minimal/mods/bucket/textures/bucket_water.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/bucket/textures/bucket_water.png -------------------------------------------------------------------------------- /games/minimal/mods/default/sounds/default_grass_footstep.1.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/sounds/default_grass_footstep.1.ogg -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/bubble.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/bubble.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/crack_anylength.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/crack_anylength.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_apple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_apple.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_book.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_bookshelf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_bookshelf.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_brick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_brick.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_cactus_side.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_cactus_side.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_cactus_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_cactus_top.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_chest_front.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_chest_front.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_chest_lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_chest_lock.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_chest_side.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_chest_side.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_chest_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_chest_top.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_clay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_clay.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_clay_brick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_clay_brick.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_clay_lump.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_clay_lump.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_cloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_cloud.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_coal_lump.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_coal_lump.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_cobble.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_cobble.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_dirt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_dirt.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_fence.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_fence.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_furnace_fire_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_furnace_fire_bg.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_furnace_fire_fg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_furnace_fire_fg.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_furnace_front.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_furnace_front.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_furnace_front_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_furnace_front_active.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_furnace_side.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_furnace_side.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_glass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_glass.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_grass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_grass.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_grass_footsteps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_grass_footsteps.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_grass_side.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_grass_side.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_gravel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_gravel.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_iron_lump.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_iron_lump.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_junglegrass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_junglegrass.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_ladder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_ladder.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_lava.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_lava.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_lava_flowing_animated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_lava_flowing_animated.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_lava_source_animated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_lava_source_animated.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_leaves.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_leaves.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_mese.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_mese.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_mineral_coal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_mineral_coal.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_mineral_iron.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_mineral_iron.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_mossycobble.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_mossycobble.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_nc_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_nc_back.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_nc_front.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_nc_front.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_nc_rb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_nc_rb.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_nc_side.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_nc_side.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_paper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_paper.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_papyrus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_papyrus.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_rail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_rail.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_rail_crossing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_rail_crossing.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_rail_curved.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_rail_curved.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_rail_t_junction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_rail_t_junction.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_sand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_sand.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_sandstone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_sandstone.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_sapling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_sapling.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_scorched_stuff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_scorched_stuff.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_sign_wall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_sign_wall.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_steel_block.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_steel_block.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_steel_ingot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_steel_ingot.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_stick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_stick.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_stone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_stone.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_tnt_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_tnt_bottom.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_tnt_side.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_tnt_side.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_tnt_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_tnt_top.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_tool_mesepick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_tool_mesepick.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_tool_steelaxe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_tool_steelaxe.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_tool_steelpick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_tool_steelpick.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_tool_steelshovel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_tool_steelshovel.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_tool_steelsword.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_tool_steelsword.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_tool_stoneaxe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_tool_stoneaxe.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_tool_stonepick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_tool_stonepick.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_tool_stoneshovel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_tool_stoneshovel.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_tool_stonesword.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_tool_stonesword.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_tool_woodaxe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_tool_woodaxe.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_tool_woodpick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_tool_woodpick.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_tool_woodshovel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_tool_woodshovel.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_tool_woodsword.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_tool_woodsword.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_torch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_torch.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_torch_on_ceiling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_torch_on_ceiling.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_torch_on_floor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_torch_on_floor.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_tree.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_tree_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_tree_top.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_water.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_water.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/default_wood.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/default_wood.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/heart.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/player.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/player.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/player_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/player_back.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/treeprop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/treeprop.png -------------------------------------------------------------------------------- /games/minimal/mods/default/textures/wieldhand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/default/textures/wieldhand.png -------------------------------------------------------------------------------- /games/minimal/mods/experimental/depends.txt: -------------------------------------------------------------------------------- 1 | default 2 | 3 | -------------------------------------------------------------------------------- /games/minimal/mods/experimental/textures/experimental_dummyball.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/experimental/textures/experimental_dummyball.png -------------------------------------------------------------------------------- /games/minimal/mods/experimental/textures/experimental_tester_tool_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/experimental/textures/experimental_tester_tool_1.png -------------------------------------------------------------------------------- /games/minimal/mods/give_initial_stuff/depends.txt: -------------------------------------------------------------------------------- 1 | default 2 | 3 | -------------------------------------------------------------------------------- /games/minimal/mods/give_initial_stuff/init.lua: -------------------------------------------------------------------------------- 1 | minetest.register_on_newplayer(function(player) 2 | print("[minimal] giving initial stuff to player") 3 | player:get_inventory():add_item('main', 'default:pick_stone') 4 | player:get_inventory():add_item('main', 'default:torch 99') 5 | player:get_inventory():add_item('main', 'default:cobble 99') 6 | player:get_inventory():add_item('main', 'default:wood 99') 7 | player:get_inventory():add_item('main', 'default:axe_steel') 8 | player:get_inventory():add_item('main', 'default:shovel_steel') 9 | player:get_inventory():add_item('main', 'default:pick_wood') 10 | player:get_inventory():add_item('main', 'default:pick_steel') 11 | player:get_inventory():add_item('main', 'default:pick_mese') 12 | player:get_inventory():add_item('main', 'default:mese 99') 13 | player:get_inventory():add_item('main', 'default:water_source 99') 14 | player:get_inventory():add_item('main', 'experimental:tester_tool_1') 15 | end) 16 | 17 | -------------------------------------------------------------------------------- /games/minimal/mods/legacy/depends.txt: -------------------------------------------------------------------------------- 1 | default 2 | 3 | -------------------------------------------------------------------------------- /games/minimal/mods/legacy/textures/apple_iron.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/legacy/textures/apple_iron.png -------------------------------------------------------------------------------- /games/minimal/mods/legacy/textures/cooked_rat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/legacy/textures/cooked_rat.png -------------------------------------------------------------------------------- /games/minimal/mods/legacy/textures/dungeon_master.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/legacy/textures/dungeon_master.png -------------------------------------------------------------------------------- /games/minimal/mods/legacy/textures/fireball.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/legacy/textures/fireball.png -------------------------------------------------------------------------------- /games/minimal/mods/legacy/textures/firefly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/legacy/textures/firefly.png -------------------------------------------------------------------------------- /games/minimal/mods/legacy/textures/oerkki1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/legacy/textures/oerkki1.png -------------------------------------------------------------------------------- /games/minimal/mods/legacy/textures/oerkki1_damaged.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/legacy/textures/oerkki1_damaged.png -------------------------------------------------------------------------------- /games/minimal/mods/legacy/textures/rat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/games/minimal/mods/legacy/textures/rat.png -------------------------------------------------------------------------------- /games/minimal/mods/stairs/depends.txt: -------------------------------------------------------------------------------- 1 | default 2 | -------------------------------------------------------------------------------- /games/minimal/mods/test/init.lua: -------------------------------------------------------------------------------- 1 | -- 2 | -- Minimal Development Test 3 | -- Mod: test 4 | -- 5 | 6 | -- Try out PseudoRandom 7 | pseudo = PseudoRandom(13) 8 | assert(pseudo:next() == 22290) 9 | assert(pseudo:next() == 13854) 10 | 11 | 12 | -------------------------------------------------------------------------------- /misc/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | minetest 9 | CFBundleIconFile 10 | minetest-icon.icns 11 | CFBundleIdentifier 12 | net.minetest.minetest 13 | 14 | 15 | -------------------------------------------------------------------------------- /misc/minetest-icon-24x24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/misc/minetest-icon-24x24.png -------------------------------------------------------------------------------- /misc/minetest-icon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/misc/minetest-icon.icns -------------------------------------------------------------------------------- /misc/minetest-icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/misc/minetest-icon.ico -------------------------------------------------------------------------------- /misc/minetest-xorg-icon-128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/misc/minetest-xorg-icon-128.png -------------------------------------------------------------------------------- /misc/minetest.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Minetest 3 | GenericName=Minetest 4 | Comment=Multiplayer infinite-world block sandbox 5 | Comment[de]=Mehrspieler-Sandkastenspiel mit unendlichen Blockwelten 6 | Comment[es]=Juego sandbox multijugador con mundos infinitos 7 | Comment[fr]=Jeu multijoueurs de type bac à sable avec des mondes infinis 8 | Comment[ja]=マルチプレイに対応した、無限の世界のブロック型サンドボックスゲームです 9 | Comment[ru]=Игра-песочница с безграничным миром, состоящим из блоков 10 | Comment[tr]=Tek-Çok oyuncuyla küplerden sonsuz dünyalar inşa et 11 | Exec=minetest 12 | Icon=minetest 13 | Terminal=false 14 | Type=Application 15 | Categories=Game;Simulation; 16 | StartupNotify=false 17 | Keywords=sandbox;world;mining;crafting;blocks;nodes;multiplayer;roleplaying; 18 | -------------------------------------------------------------------------------- /misc/winresource.rc: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #define USE_CMAKE_CONFIG_H 5 | #include "config.h" 6 | #undef USE_CMAKE_CONFIG_H 7 | 8 | #if RUN_IN_PLACE 9 | #define BUILDMODE "RUN_IN_PLACE=1" 10 | #else 11 | #define BUILDMODE "RUN_IN_PLACE=0" 12 | #endif 13 | 14 | LANGUAGE 0, SUBLANG_NEUTRAL 15 | 130 ICON "minetest-icon.ico" 16 | 17 | ///////////////////////////////////////////////////////////////////////////// 18 | // 19 | // Version 20 | // 21 | 22 | 1 VERSIONINFO 23 | FILEVERSION VERSION_MAJOR,VERSION_MINOR,VERSION_PATCH,0 24 | PRODUCTVERSION VERSION_MAJOR,VERSION_MINOR,VERSION_PATCH,0 25 | FILEFLAGSMASK 0x3fL 26 | #ifndef NDEBUG 27 | FILEFLAGS 0x1L 28 | #else 29 | FILEFLAGS 0x0L 30 | #endif 31 | FILEOS VOS_NT_WINDOWS32 32 | FILETYPE VFT_APP 33 | FILESUBTYPE 0x0L 34 | BEGIN 35 | BLOCK "StringFileInfo" 36 | BEGIN 37 | BLOCK "040904b0" 38 | BEGIN 39 | VALUE "Comments", "" 40 | VALUE "CompanyName", PROJECT_NAME_C " community" 41 | VALUE "FileDescription", PROJECT_NAME_C " engine" 42 | VALUE "FileVersion", VERSION_STRING 43 | VALUE "InternalName", PROJECT_NAME 44 | VALUE "LegalCopyright", "(c) 2011-2015 celeron55" 45 | VALUE "LegalTrademarks", """Minetest"" is the property of the Minetest community, don't use it without permission!" 46 | VALUE "OriginalFilename", "minetest.exe" 47 | VALUE "PrivateBuild", VERSION_EXTRA 48 | VALUE "ProductName", PROJECT_NAME_C 49 | VALUE "ProductVersion", PRODUCT_VERSION_STRING 50 | VALUE "SpecialBuild", BUILDMODE 51 | END 52 | END 53 | BLOCK "VarFileInfo" 54 | BEGIN 55 | VALUE "Translation", 0x409, 1200 56 | END 57 | END 58 | 59 | -------------------------------------------------------------------------------- /mods/mods_here.txt: -------------------------------------------------------------------------------- 1 | You can install Minetest mods by copying (and extracting) them into this folder. 2 | To enable them, go to the configure world window in the main menu or write 3 | load_mod_ = true 4 | in world.mt in the world directory. 5 | -------------------------------------------------------------------------------- /src/ban.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef BAN_HEADER 21 | #define BAN_HEADER 22 | 23 | #include "util/string.h" 24 | #include "threading/thread.h" 25 | #include "threading/mutex.h" 26 | #include "exceptions.h" 27 | #include 28 | #include 29 | 30 | class BanManager 31 | { 32 | public: 33 | BanManager(const std::string &bannfilepath); 34 | ~BanManager(); 35 | void load(); 36 | void save(); 37 | bool isIpBanned(const std::string &ip); 38 | // Supplying ip_or_name = "" lists all bans. 39 | std::string getBanDescription(const std::string &ip_or_name); 40 | std::string getBanName(const std::string &ip); 41 | void add(const std::string &ip, const std::string &name); 42 | void remove(const std::string &ip_or_name); 43 | bool isModified(); 44 | private: 45 | Mutex m_mutex; 46 | std::string m_banfilepath; 47 | StringMap m_ips; 48 | bool m_modified; 49 | 50 | }; 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /src/cguittfont/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # CGUITTFont authors, y u no include headers you use? 2 | # Do not add CGUITTFont.cpp to the line below. 3 | # xCGUITTFont.cpp is a wrapper file that includes 4 | # additional required headers. 5 | add_library(cguittfont STATIC xCGUITTFont.cpp) 6 | 7 | if(FREETYPE_PKGCONFIG_FOUND) 8 | set_target_properties(cguittfont 9 | PROPERTIES 10 | COMPILE_FLAGS "${FREETYPE_CFLAGS_STR}" 11 | LINK_FLAGS "${FREETYPE_LDFLAGS_STR}" 12 | ) 13 | 14 | include_directories( 15 | ${IRRLICHT_INCLUDE_DIR} 16 | ) 17 | else(FREETYPE_PKGCONFIG_FOUND) 18 | include_directories( 19 | ${IRRLICHT_INCLUDE_DIR} 20 | ${FREETYPE_INCLUDE_DIRS} 21 | ) 22 | endif(FREETYPE_PKGCONFIG_FOUND) 23 | 24 | target_link_libraries( 25 | cguittfont 26 | ${IRRLICHT_LIBRARY} 27 | ${FREETYPE_LIBRARY} 28 | ${ZLIB_LIBRARIES} # needed by freetype, repeated here for safety 29 | ) 30 | 31 | -------------------------------------------------------------------------------- /src/cguittfont/xCGUITTFont.cpp: -------------------------------------------------------------------------------- 1 | // A wrapper source file to avoid hack with gcc and modifying 2 | // the CGUITTFont files. 3 | 4 | #include "xCGUITTFont.h" 5 | #include "CGUITTFont.cpp" 6 | -------------------------------------------------------------------------------- /src/cguittfont/xCGUITTFont.h: -------------------------------------------------------------------------------- 1 | // A wrapper header to avoid hack with gcc and modifying 2 | // the CGUITTFont files. 3 | 4 | #include 5 | #include 6 | #include "irrUString.h" 7 | #include "CGUITTFont.h" 8 | -------------------------------------------------------------------------------- /src/client/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(client_SRCS 2 | ${CMAKE_CURRENT_SOURCE_DIR}/clientlauncher.cpp 3 | ${CMAKE_CURRENT_SOURCE_DIR}/tile.cpp 4 | ${CMAKE_CURRENT_SOURCE_DIR}/joystick_controller.cpp 5 | PARENT_SCOPE 6 | ) 7 | 8 | -------------------------------------------------------------------------------- /src/clientsimpleobject.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef CLIENTSIMPLEOBJECT_HEADER 21 | #define CLIENTSIMPLEOBJECT_HEADER 22 | 23 | #include "irrlichttypes_bloated.h" 24 | class ClientEnvironment; 25 | 26 | class ClientSimpleObject 27 | { 28 | protected: 29 | public: 30 | bool m_to_be_removed; 31 | 32 | ClientSimpleObject(): m_to_be_removed(false) {} 33 | virtual ~ClientSimpleObject(){} 34 | virtual void step(float dtime){} 35 | }; 36 | 37 | #endif 38 | 39 | -------------------------------------------------------------------------------- /src/cmake_config.h.in: -------------------------------------------------------------------------------- 1 | // Filled in by the build system 2 | 3 | #ifndef CMAKE_CONFIG_H 4 | #define CMAKE_CONFIG_H 5 | 6 | #define PROJECT_NAME "@PROJECT_NAME@" 7 | #define PROJECT_NAME_C "@PROJECT_NAME_CAPITALIZED@" 8 | #define VERSION_MAJOR @VERSION_MAJOR@ 9 | #define VERSION_MINOR @VERSION_MINOR@ 10 | #define VERSION_PATCH @VERSION_PATCH@ 11 | #define VERSION_EXTRA "@VERSION_EXTRA@" 12 | #define VERSION_STRING "@VERSION_STRING@" 13 | #define PRODUCT_VERSION_STRING "@VERSION_MAJOR@.@VERSION_MINOR@" 14 | #define STATIC_SHAREDIR "@SHAREDIR@" 15 | #define STATIC_LOCALEDIR "@LOCALEDIR@" 16 | #define BUILD_TYPE "@CMAKE_BUILD_TYPE@" 17 | #define ICON_DIR "@ICONDIR@" 18 | #cmakedefine01 RUN_IN_PLACE 19 | #cmakedefine01 USE_GETTEXT 20 | #cmakedefine01 USE_CURL 21 | #cmakedefine01 USE_SOUND 22 | #cmakedefine01 USE_FREETYPE 23 | #cmakedefine01 USE_CURSES 24 | #cmakedefine01 USE_LEVELDB 25 | #cmakedefine01 USE_LUAJIT 26 | #cmakedefine01 USE_POSTGRESQL 27 | #cmakedefine01 USE_SPATIAL 28 | #cmakedefine01 USE_SYSTEM_GMP 29 | #cmakedefine01 USE_REDIS 30 | #cmakedefine01 HAVE_ENDIAN_H 31 | #cmakedefine01 CURSES_HAVE_CURSES_H 32 | #cmakedefine01 CURSES_HAVE_NCURSES_H 33 | #cmakedefine01 CURSES_HAVE_NCURSES_NCURSES_H 34 | #cmakedefine01 CURSES_HAVE_NCURSES_CURSES_H 35 | #cmakedefine01 CURSES_HAVE_NCURSESW_NCURSES_H 36 | #cmakedefine01 CURSES_HAVE_NCURSESW_CURSES_H 37 | 38 | #endif 39 | 40 | -------------------------------------------------------------------------------- /src/cmake_config_githash.h.in: -------------------------------------------------------------------------------- 1 | // Filled in by the build system 2 | // Separated from cmake_config.h to avoid excessive rebuilds on every commit 3 | 4 | #ifndef CMAKE_CONFIG_GITHASH_H 5 | #define CMAKE_CONFIG_GITHASH_H 6 | 7 | #define VERSION_GITHASH "@VERSION_GITHASH@" 8 | 9 | #endif 10 | 11 | -------------------------------------------------------------------------------- /src/config.h: -------------------------------------------------------------------------------- 1 | /* 2 | If CMake is used, includes the cmake-generated cmake_config.h. 3 | Otherwise use default values 4 | */ 5 | 6 | #ifndef CONFIG_H 7 | #define CONFIG_H 8 | 9 | #define STRINGIFY(x) #x 10 | #define STR(x) STRINGIFY(x) 11 | 12 | 13 | #if defined USE_CMAKE_CONFIG_H 14 | #include "cmake_config.h" 15 | #elif defined (__ANDROID__) || defined (ANDROID) 16 | #define PROJECT_NAME "minetest" 17 | #define PROJECT_NAME_C "Minetest" 18 | #define STATIC_SHAREDIR "" 19 | #include "android_version.h" 20 | #ifdef NDEBUG 21 | #define BUILD_TYPE "Release" 22 | #else 23 | #define BUILD_TYPE "Debug" 24 | #endif 25 | #else 26 | #ifdef NDEBUG 27 | #define BUILD_TYPE "Release" 28 | #else 29 | #define BUILD_TYPE "Debug" 30 | #endif 31 | #endif 32 | 33 | #define BUILD_INFO "BUILD_TYPE=" BUILD_TYPE \ 34 | " RUN_IN_PLACE=" STR(RUN_IN_PLACE) \ 35 | " USE_GETTEXT=" STR(USE_GETTEXT) \ 36 | " USE_SOUND=" STR(USE_SOUND) \ 37 | " USE_CURL=" STR(USE_CURL) \ 38 | " USE_FREETYPE=" STR(USE_FREETYPE) \ 39 | " USE_LUAJIT=" STR(USE_LUAJIT) \ 40 | " STATIC_SHAREDIR=" STR(STATIC_SHAREDIR) 41 | 42 | #endif 43 | -------------------------------------------------------------------------------- /src/content_abm.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "content_abm.h" 21 | 22 | #include "environment.h" 23 | #include "gamedef.h" 24 | #include "nodedef.h" 25 | #include "content_sao.h" 26 | #include "settings.h" 27 | #include "mapblock.h" // For getNodeBlockPos 28 | #include "map.h" 29 | #include "scripting_game.h" 30 | #include "log.h" 31 | 32 | #define PP(x) "("<<(x).X<<","<<(x).Y<<","<<(x).Z<<")" 33 | 34 | void add_legacy_abms(ServerEnvironment *env, INodeDefManager *nodedef) { 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/content_abm.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef CONTENT_ABM_HEADER 21 | #define CONTENT_ABM_HEADER 22 | 23 | class ServerEnvironment; 24 | class INodeDefManager; 25 | 26 | /* 27 | Legacy ActiveBlockModifiers 28 | */ 29 | 30 | void add_legacy_abms(ServerEnvironment *env, INodeDefManager *nodedef); 31 | 32 | #endif 33 | 34 | -------------------------------------------------------------------------------- /src/content_cso.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef CONTENT_CSO_HEADER 21 | #define CONTENT_CSO_HEADER 22 | 23 | #include "irrlichttypes_extrabloated.h" 24 | #include "clientsimpleobject.h" 25 | 26 | ClientSimpleObject* createSmokePuff(scene::ISceneManager *smgr, 27 | ClientEnvironment *env, v3f pos, v2f size); 28 | 29 | #endif 30 | 31 | -------------------------------------------------------------------------------- /src/content_mapblock.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2010-2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef CONTENT_MAPBLOCK_HEADER 21 | #define CONTENT_MAPBLOCK_HEADER 22 | 23 | struct MeshMakeData; 24 | struct MeshCollector; 25 | void mapblock_mesh_generate_special(MeshMakeData *data, 26 | MeshCollector &collector); 27 | 28 | #endif 29 | 30 | -------------------------------------------------------------------------------- /src/content_mapnode.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2010-2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef CONTENT_MAPNODE_HEADER 21 | #define CONTENT_MAPNODE_HEADER 22 | 23 | #include "mapnode.h" 24 | 25 | /* 26 | Legacy node definitions 27 | */ 28 | 29 | // Backwards compatibility for non-extended content types in v19 30 | extern content_t trans_table_19[21][2]; 31 | MapNode mapnode_translate_to_internal(MapNode n_from, u8 version); 32 | 33 | // Get legacy node name mapping for loading old blocks 34 | class NameIdMapping; 35 | void content_mapnode_get_name_id_mapping(NameIdMapping *nimap); 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /src/content_nodemeta.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2010-2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef CONTENT_NODEMETA_HEADER 21 | #define CONTENT_NODEMETA_HEADER 22 | 23 | #include 24 | 25 | class NodeMetadataList; 26 | class NodeTimerList; 27 | class IItemDefManager; 28 | 29 | /* 30 | Legacy nodemeta definitions 31 | */ 32 | 33 | void content_nodemeta_deserialize_legacy(std::istream &is, 34 | NodeMetadataList *meta, NodeTimerList *timers, 35 | IItemDefManager *item_def_mgr); 36 | 37 | void content_nodemeta_serialize_legacy(std::ostream &os, NodeMetadataList *meta); 38 | 39 | #endif 40 | 41 | -------------------------------------------------------------------------------- /src/convert_json.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef __CONVERT_JSON_H__ 21 | #define __CONVERT_JSON_H__ 22 | 23 | #include 24 | 25 | struct ModStoreMod; 26 | struct ModStoreModDetails; 27 | 28 | std::vector readModStoreList(Json::Value& modlist); 29 | ModStoreModDetails readModStoreModDetails(Json::Value& details); 30 | 31 | Json::Value fetchJsonValue(const std::string &url, 32 | std::vector *extra_headers); 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /src/database-dummy.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef DATABASE_DUMMY_HEADER 21 | #define DATABASE_DUMMY_HEADER 22 | 23 | #include 24 | #include 25 | #include "database.h" 26 | #include "irrlichttypes.h" 27 | 28 | class Database_Dummy : public Database 29 | { 30 | public: 31 | bool saveBlock(const v3s16 &pos, const std::string &data); 32 | void loadBlock(const v3s16 &pos, std::string *block); 33 | bool deleteBlock(const v3s16 &pos); 34 | void listAllLoadableBlocks(std::vector &dst); 35 | 36 | private: 37 | std::map m_database; 38 | }; 39 | 40 | #endif 41 | 42 | -------------------------------------------------------------------------------- /src/database-leveldb.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef DATABASE_LEVELDB_HEADER 21 | #define DATABASE_LEVELDB_HEADER 22 | 23 | #include "config.h" 24 | 25 | #if USE_LEVELDB 26 | 27 | #include "database.h" 28 | #include "leveldb/db.h" 29 | #include 30 | 31 | class Database_LevelDB : public Database 32 | { 33 | public: 34 | Database_LevelDB(const std::string &savedir); 35 | ~Database_LevelDB(); 36 | 37 | bool saveBlock(const v3s16 &pos, const std::string &data); 38 | void loadBlock(const v3s16 &pos, std::string *block); 39 | bool deleteBlock(const v3s16 &pos); 40 | void listAllLoadableBlocks(std::vector &dst); 41 | 42 | private: 43 | leveldb::DB *m_database; 44 | }; 45 | 46 | #endif // USE_LEVELDB 47 | 48 | #endif 49 | 50 | -------------------------------------------------------------------------------- /src/database-redis.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2014 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef DATABASE_REDIS_HEADER 21 | #define DATABASE_REDIS_HEADER 22 | 23 | #include "config.h" 24 | 25 | #if USE_REDIS 26 | 27 | #include "database.h" 28 | #include 29 | #include 30 | 31 | class Settings; 32 | 33 | class Database_Redis : public Database 34 | { 35 | public: 36 | Database_Redis(Settings &conf); 37 | ~Database_Redis(); 38 | 39 | void beginSave(); 40 | void endSave(); 41 | 42 | bool saveBlock(const v3s16 &pos, const std::string &data); 43 | void loadBlock(const v3s16 &pos, std::string *block); 44 | bool deleteBlock(const v3s16 &pos); 45 | void listAllLoadableBlocks(std::vector &dst); 46 | 47 | private: 48 | redisContext *ctx; 49 | std::string hash; 50 | }; 51 | 52 | #endif // USE_REDIS 53 | 54 | #endif 55 | 56 | -------------------------------------------------------------------------------- /src/database.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef DATABASE_HEADER 21 | #define DATABASE_HEADER 22 | 23 | #include 24 | #include 25 | #include "irr_v3d.h" 26 | #include "irrlichttypes.h" 27 | 28 | #ifndef PP 29 | #define PP(x) "("<<(x).X<<","<<(x).Y<<","<<(x).Z<<")" 30 | #endif 31 | 32 | class Database 33 | { 34 | public: 35 | virtual ~Database() {} 36 | 37 | virtual void beginSave() {} 38 | virtual void endSave() {} 39 | 40 | virtual bool saveBlock(const v3s16 &pos, const std::string &data) = 0; 41 | virtual void loadBlock(const v3s16 &pos, std::string *block) = 0; 42 | virtual bool deleteBlock(const v3s16 &pos) = 0; 43 | 44 | static s64 getBlockAsInteger(const v3s16 &pos); 45 | static v3s16 getIntegerAsBlock(s64 i); 46 | 47 | virtual void listAllLoadableBlocks(std::vector &dst) = 0; 48 | 49 | virtual bool initialized() const { return true; } 50 | }; 51 | 52 | #endif 53 | 54 | -------------------------------------------------------------------------------- /src/defaultsettings.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef DEFAULTSETTINGS_HEADER 21 | #define DEFAULTSETTINGS_HEADER 22 | 23 | class Settings; 24 | 25 | /** 26 | * initialize basic default settings 27 | * @param settings pointer to settings 28 | */ 29 | void set_default_settings(Settings *settings); 30 | 31 | /** 32 | * override a default settings by settings from another settings element 33 | * @param settings target settings pointer 34 | * @param from source settings pointer 35 | */ 36 | void override_default_settings(Settings *settings, Settings *from); 37 | 38 | #endif 39 | 40 | -------------------------------------------------------------------------------- /src/drawscene.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2010-2014 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef DRAWSCENE_H_ 21 | #define DRAWSCENE_H_ 22 | 23 | #include "camera.h" 24 | #include "hud.h" 25 | #include "minimap.h" 26 | #include "irrlichttypes_extrabloated.h" 27 | 28 | 29 | void draw_load_screen(const std::wstring &text, IrrlichtDevice *device, 30 | gui::IGUIEnvironment *guienv, float dtime = 0, int percent = 0, 31 | bool clouds = true); 32 | 33 | void draw_scene(video::IVideoDriver *driver, scene::ISceneManager *smgr, 34 | Camera &camera, Client &client, LocalPlayer *player, 35 | Hud &hud, Mapper &mapper, gui::IGUIEnvironment *guienv, 36 | const v2u32 &screensize, const video::SColor &skycolor, 37 | bool show_hud, bool show_minimap); 38 | 39 | #endif /* DRAWSCENE_H_ */ 40 | -------------------------------------------------------------------------------- /src/filecache.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2013 celeron55, Perttu Ahola 4 | Copyright (C) 2013 Jonathan Neuschäfer 5 | 6 | This program is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU Lesser General Public License as published by 8 | the Free Software Foundation; either version 2.1 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU Lesser General Public License for more details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License along 17 | with this program; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 19 | */ 20 | 21 | #ifndef FILECACHE_HEADER 22 | #define FILECACHE_HEADER 23 | 24 | #include 25 | #include 26 | 27 | class FileCache 28 | { 29 | public: 30 | /* 31 | 'dir' is the file cache directory to use. 32 | */ 33 | FileCache(std::string dir): 34 | m_dir(dir) 35 | { 36 | } 37 | 38 | bool update(const std::string &name, const std::string &data); 39 | bool load(const std::string &name, std::ostream &os); 40 | private: 41 | std::string m_dir; 42 | 43 | bool loadByPath(const std::string &path, std::ostream &os); 44 | bool updateByPath(const std::string &path, const std::string &data); 45 | }; 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /src/gameparams.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2010-2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef GAME_PARAMS_H 21 | #define GAME_PARAMS_H 22 | 23 | #include "irrlichttypes.h" 24 | 25 | struct SubgameSpec; 26 | 27 | struct GameParams { 28 | u16 socket_port; 29 | std::string world_path; 30 | SubgameSpec game_spec; 31 | bool is_dedicated_server; 32 | }; 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /src/gmp/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if(MSVC) 2 | set(CMAKE_C_FLAGS_RELEASE "/MT /O2 /Ob2 /D NDEBUG") 3 | endif() 4 | 5 | add_library(gmp mini-gmp.c) 6 | target_link_libraries(gmp) 7 | 8 | -------------------------------------------------------------------------------- /src/guiPasswordChange.h: -------------------------------------------------------------------------------- 1 | /* 2 | Part of Minetest 3 | Copyright (C) 2010-2013 celeron55, Perttu Ahola 4 | Copyright (C) 2013 Ciaran Gultnieks 5 | 6 | Permission to use, copy, modify, and distribute this software for any 7 | purpose with or without fee is hereby granted, provided that the above 8 | copyright notice and this permission notice appear in all copies. 9 | 10 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 | */ 18 | 19 | #ifndef GUIPASSWORDCHANGE_HEADER 20 | #define GUIPASSWORDCHANGE_HEADER 21 | 22 | #include "irrlichttypes_extrabloated.h" 23 | #include "modalMenu.h" 24 | #include "client.h" 25 | #include 26 | 27 | class GUIPasswordChange : public GUIModalMenu 28 | { 29 | public: 30 | GUIPasswordChange(gui::IGUIEnvironment* env, 31 | gui::IGUIElement* parent, s32 id, 32 | IMenuManager *menumgr, 33 | Client* client); 34 | ~GUIPasswordChange(); 35 | 36 | void removeChildren(); 37 | /* 38 | Remove and re-add (or reposition) stuff 39 | */ 40 | void regenerateGui(v2u32 screensize); 41 | 42 | void drawMenu(); 43 | 44 | bool acceptInput(); 45 | 46 | bool OnEvent(const SEvent& event); 47 | 48 | private: 49 | Client* m_client; 50 | 51 | }; 52 | 53 | #endif 54 | 55 | -------------------------------------------------------------------------------- /src/guiVolumeChange.h: -------------------------------------------------------------------------------- 1 | /* 2 | Part of Minetest 3 | Copyright (C) 2010-2013 celeron55, Perttu Ahola 4 | Copyright (C) 2013 Ciaran Gultnieks 5 | Copyright (C) 2013 RealBadAngel, Maciej Kasatkin 6 | 7 | Permission to use, copy, modify, and distribute this software for any 8 | purpose with or without fee is hereby granted, provided that the above 9 | copyright notice and this permission notice appear in all copies. 10 | 11 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 12 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 13 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 14 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 15 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 16 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 17 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 18 | */ 19 | 20 | #ifndef GUIVOLUMECHANGE_HEADER 21 | #define GUIVOLUMECHANGE_HEADER 22 | 23 | #include "irrlichttypes_extrabloated.h" 24 | #include "modalMenu.h" 25 | #include "client.h" 26 | #include 27 | 28 | class GUIVolumeChange : public GUIModalMenu 29 | { 30 | public: 31 | GUIVolumeChange(gui::IGUIEnvironment* env, 32 | gui::IGUIElement* parent, s32 id, 33 | IMenuManager *menumgr, 34 | Client* client); 35 | ~GUIVolumeChange(); 36 | 37 | void removeChildren(); 38 | /* 39 | Remove and re-add (or reposition) stuff 40 | */ 41 | void regenerateGui(v2u32 screensize); 42 | 43 | void drawMenu(); 44 | 45 | bool OnEvent(const SEvent& event); 46 | 47 | bool pausesGame() { return true; } 48 | }; 49 | 50 | #endif 51 | 52 | -------------------------------------------------------------------------------- /src/irr_aabb3d.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2010-2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef IRR_AABB3D_HEADER 21 | #define IRR_AABB3D_HEADER 22 | 23 | #include "irrlichttypes.h" 24 | 25 | #include 26 | 27 | typedef core::aabbox3d aabb3f; 28 | 29 | #endif 30 | 31 | -------------------------------------------------------------------------------- /src/irr_v2d.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2010-2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef IRR_V2D_HEADER 21 | #define IRR_V2D_HEADER 22 | 23 | #include "irrlichttypes.h" 24 | 25 | #include 26 | 27 | typedef core::vector2d v2f; 28 | typedef core::vector2d v2s16; 29 | typedef core::vector2d v2s32; 30 | typedef core::vector2d v2u32; 31 | typedef core::vector2d v2f32; 32 | 33 | #endif 34 | 35 | -------------------------------------------------------------------------------- /src/irr_v3d.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2010-2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef IRR_V3D_HEADER 21 | #define IRR_V3D_HEADER 22 | 23 | #include "irrlichttypes.h" 24 | 25 | #include 26 | 27 | typedef core::vector3df v3f; 28 | typedef core::vector3d v3s16; 29 | typedef core::vector3d v3u16; 30 | typedef core::vector3d v3s32; 31 | 32 | #endif 33 | 34 | -------------------------------------------------------------------------------- /src/irrlicht_changes/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if (BUILD_CLIENT) 2 | set(client_irrlicht_changes_SRCS 3 | ${CMAKE_CURRENT_SOURCE_DIR}/static_text.cpp 4 | PARENT_SCOPE 5 | ) 6 | endif() 7 | 8 | -------------------------------------------------------------------------------- /src/irrlichttypes_bloated.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2010-2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef IRRLICHTTYPES_BLOATED_HEADER 21 | #define IRRLICHTTYPES_BLOATED_HEADER 22 | 23 | #include "irrlichttypes.h" 24 | 25 | #include "irr_v2d.h" 26 | #include "irr_v3d.h" 27 | #include "irr_aabb3d.h" 28 | 29 | #include 30 | 31 | #endif 32 | 33 | -------------------------------------------------------------------------------- /src/irrlichttypes_extrabloated.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2010-2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef IRRLICHTTYPES_EXTRABLOATED_HEADER 21 | #define IRRLICHTTYPES_EXTRABLOATED_HEADER 22 | 23 | #include "irrlichttypes_bloated.h" 24 | 25 | #ifndef SERVER 26 | #include 27 | #include 28 | #include 29 | #include 30 | #include 31 | #include 32 | #include 33 | #include 34 | #include 35 | #include 36 | #endif 37 | 38 | #endif 39 | 40 | -------------------------------------------------------------------------------- /src/itemgroup.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef ITEMGROUP_HEADER 21 | #define ITEMGROUP_HEADER 22 | 23 | #include 24 | #include "util/cpp11_container.h" 25 | 26 | typedef UNORDERED_MAP ItemGroupList; 27 | 28 | static inline int itemgroup_get(const ItemGroupList &groups, 29 | const std::string &name) 30 | { 31 | ItemGroupList::const_iterator i = groups.find(name); 32 | if(i == groups.end()) 33 | return 0; 34 | return i->second; 35 | } 36 | 37 | #endif 38 | 39 | -------------------------------------------------------------------------------- /src/jsoncpp/json/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if(MSVC) 2 | set(CMAKE_CXX_FLAGS_RELEASE "/MT /O2 /Ob2 /D NDEBUG") 3 | endif() 4 | 5 | add_library(jsoncpp jsoncpp.cpp) 6 | target_link_libraries(jsoncpp) 7 | 8 | -------------------------------------------------------------------------------- /src/jsoncpp/json/UPDATING: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cd .. 3 | svn co https://jsoncpp.svn.sourceforge.net/svnroot/jsoncpp/trunk/jsoncpp jsoncpp 4 | svn up jsoncpp 5 | cd jsoncpp 6 | python amalgamate.py 7 | cp -R dist/json .. 8 | cp dist/jsoncpp.cpp ../json 9 | 10 | # maybe you need to patch: 11 | # src/json/jsoncpp.cpp: 12 | # -#include 13 | # +#include "json/json.h" 14 | 15 | #svn export --force https://jsoncpp.svn.sourceforge.net/svnroot/jsoncpp/trunk/jsoncpp/src/lib_json json 16 | #svn export --force https://jsoncpp.svn.sourceforge.net/svnroot/jsoncpp/trunk/jsoncpp/include/json json 17 | -------------------------------------------------------------------------------- /src/lua/COPYRIGHT: -------------------------------------------------------------------------------- 1 | Lua License 2 | ----------- 3 | 4 | Lua is licensed under the terms of the MIT license reproduced below. 5 | This means that Lua is free software and can be used for both academic 6 | and commercial purposes at absolutely no cost. 7 | 8 | For details and rationale, see http://www.lua.org/license.html . 9 | 10 | =============================================================================== 11 | 12 | Copyright (C) 1994-2008 Lua.org, PUC-Rio. 13 | 14 | Permission is hereby granted, free of charge, to any person obtaining a copy 15 | of this software and associated documentation files (the "Software"), to deal 16 | in the Software without restriction, including without limitation the rights 17 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 18 | copies of the Software, and to permit persons to whom the Software is 19 | furnished to do so, subject to the following conditions: 20 | 21 | The above copyright notice and this permission notice shall be included in 22 | all copies or substantial portions of the Software. 23 | 24 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 25 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 26 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 27 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 28 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 29 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 30 | THE SOFTWARE. 31 | 32 | =============================================================================== 33 | 34 | (end of COPYRIGHT) 35 | -------------------------------------------------------------------------------- /src/lua/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | # Lua core source files. 3 | set(LUA_CORE_SRC 4 | lapi.c 5 | lauxlib.c 6 | lbaselib.c 7 | lcode.c 8 | ldblib.c 9 | ldebug.c 10 | ldo.c 11 | ldump.c 12 | lfunc.c 13 | lgc.c 14 | linit.c 15 | liolib.c 16 | llex.c 17 | lmathlib.c 18 | lmem.c 19 | loadlib.c 20 | lobject.c 21 | lopcodes.c 22 | loslib.c 23 | lparser.c 24 | lstate.c 25 | lstring.c 26 | lstrlib.c 27 | ltable.c 28 | ltablib.c 29 | ltm.c 30 | lundump.c 31 | lvm.c 32 | lzio.c 33 | ) 34 | set(LUA_LIB_HEADERS 35 | lua.h 36 | lualib.h 37 | lauxlib.h 38 | luaconf.h 39 | ) 40 | 41 | include_directories(${CMAKE_CURRENT_SOURCE_DIR} 42 | ${CMAKE_CURRENT_BINARY_DIR}) 43 | 44 | # Lua library. 45 | add_library(lua STATIC ${LUA_CORE_SRC}) 46 | target_link_libraries(lua ${LIBS}) 47 | set(LUA_STATIC_LIB lua) 48 | set(LUA_LIBS lua) 49 | 50 | set_target_properties(${LUA_LIBS} PROPERTIES 51 | VERSION ${LUA_VERSION} 52 | CLEAN_DIRECT_OUTPUT 1 53 | ) 54 | 55 | -------------------------------------------------------------------------------- /src/lua/src/lapi.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: lapi.h,v 2.2.1.1 2007/12/27 13:02:25 roberto Exp $ 3 | ** Auxiliary functions from Lua API 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | #ifndef lapi_h 8 | #define lapi_h 9 | 10 | 11 | #include "lobject.h" 12 | 13 | 14 | LUAI_FUNC void luaA_pushobject (lua_State *L, const TValue *o); 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /src/lua/src/ldebug.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: ldebug.h,v 2.3.1.1 2007/12/27 13:02:25 roberto Exp $ 3 | ** Auxiliary functions from Debug Interface module 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | #ifndef ldebug_h 8 | #define ldebug_h 9 | 10 | 11 | #include "lstate.h" 12 | 13 | 14 | #define pcRel(pc, p) (cast(int, (pc) - (p)->code) - 1) 15 | 16 | #define getline(f,pc) (((f)->lineinfo) ? (f)->lineinfo[pc] : 0) 17 | 18 | #define resethookcount(L) (L->hookcount = L->basehookcount) 19 | 20 | 21 | LUAI_FUNC void luaG_typeerror (lua_State *L, const TValue *o, 22 | const char *opname); 23 | LUAI_FUNC void luaG_concaterror (lua_State *L, StkId p1, StkId p2); 24 | LUAI_FUNC void luaG_aritherror (lua_State *L, const TValue *p1, 25 | const TValue *p2); 26 | LUAI_FUNC int luaG_ordererror (lua_State *L, const TValue *p1, 27 | const TValue *p2); 28 | LUAI_FUNC void luaG_runerror (lua_State *L, const char *fmt, ...); 29 | LUAI_FUNC void luaG_errormsg (lua_State *L); 30 | LUAI_FUNC int luaG_checkcode (const Proto *pt); 31 | LUAI_FUNC int luaG_checkopenop (Instruction i); 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /src/lua/src/lfunc.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: lfunc.h,v 2.4.1.1 2007/12/27 13:02:25 roberto Exp $ 3 | ** Auxiliary functions to manipulate prototypes and closures 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | #ifndef lfunc_h 8 | #define lfunc_h 9 | 10 | 11 | #include "lobject.h" 12 | 13 | 14 | #define sizeCclosure(n) (cast(int, sizeof(CClosure)) + \ 15 | cast(int, sizeof(TValue)*((n)-1))) 16 | 17 | #define sizeLclosure(n) (cast(int, sizeof(LClosure)) + \ 18 | cast(int, sizeof(TValue *)*((n)-1))) 19 | 20 | 21 | LUAI_FUNC Proto *luaF_newproto (lua_State *L); 22 | LUAI_FUNC Closure *luaF_newCclosure (lua_State *L, int nelems, Table *e); 23 | LUAI_FUNC Closure *luaF_newLclosure (lua_State *L, int nelems, Table *e); 24 | LUAI_FUNC UpVal *luaF_newupval (lua_State *L); 25 | LUAI_FUNC UpVal *luaF_findupval (lua_State *L, StkId level); 26 | LUAI_FUNC void luaF_close (lua_State *L, StkId level); 27 | LUAI_FUNC void luaF_freeproto (lua_State *L, Proto *f); 28 | LUAI_FUNC void luaF_freeclosure (lua_State *L, Closure *c); 29 | LUAI_FUNC void luaF_freeupval (lua_State *L, UpVal *uv); 30 | LUAI_FUNC const char *luaF_getlocalname (const Proto *func, int local_number, 31 | int pc); 32 | 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /src/lua/src/linit.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: linit.c,v 1.14.1.1 2007/12/27 13:02:25 roberto Exp $ 3 | ** Initialization of libraries for lua.c 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | 8 | #define linit_c 9 | #define LUA_LIB 10 | 11 | #include "lua.h" 12 | 13 | #include "lualib.h" 14 | #include "lauxlib.h" 15 | 16 | 17 | static const luaL_Reg lualibs[] = { 18 | {"", luaopen_base}, 19 | {LUA_LOADLIBNAME, luaopen_package}, 20 | {LUA_TABLIBNAME, luaopen_table}, 21 | {LUA_IOLIBNAME, luaopen_io}, 22 | {LUA_OSLIBNAME, luaopen_os}, 23 | {LUA_STRLIBNAME, luaopen_string}, 24 | {LUA_MATHLIBNAME, luaopen_math}, 25 | {LUA_DBLIBNAME, luaopen_debug}, 26 | {NULL, NULL} 27 | }; 28 | 29 | 30 | LUALIB_API void luaL_openlibs (lua_State *L) { 31 | const luaL_Reg *lib = lualibs; 32 | for (; lib->func; lib++) { 33 | lua_pushcfunction(L, lib->func); 34 | lua_pushstring(L, lib->name); 35 | lua_call(L, 1, 0); 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /src/lua/src/lmem.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: lmem.h,v 1.31.1.1 2007/12/27 13:02:25 roberto Exp $ 3 | ** Interface to Memory Manager 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | #ifndef lmem_h 8 | #define lmem_h 9 | 10 | 11 | #include 12 | 13 | #include "llimits.h" 14 | #include "lua.h" 15 | 16 | #define MEMERRMSG "not enough memory" 17 | 18 | 19 | #define luaM_reallocv(L,b,on,n,e) \ 20 | ((cast(size_t, (n)+1) <= MAX_SIZET/(e)) ? /* +1 to avoid warnings */ \ 21 | luaM_realloc_(L, (b), (on)*(e), (n)*(e)) : \ 22 | luaM_toobig(L)) 23 | 24 | #define luaM_freemem(L, b, s) luaM_realloc_(L, (b), (s), 0) 25 | #define luaM_free(L, b) luaM_realloc_(L, (b), sizeof(*(b)), 0) 26 | #define luaM_freearray(L, b, n, t) luaM_reallocv(L, (b), n, 0, sizeof(t)) 27 | 28 | #define luaM_malloc(L,t) luaM_realloc_(L, NULL, 0, (t)) 29 | #define luaM_new(L,t) cast(t *, luaM_malloc(L, sizeof(t))) 30 | #define luaM_newvector(L,n,t) \ 31 | cast(t *, luaM_reallocv(L, NULL, 0, n, sizeof(t))) 32 | 33 | #define luaM_growvector(L,v,nelems,size,t,limit,e) \ 34 | if ((nelems)+1 > (size)) \ 35 | ((v)=cast(t *, luaM_growaux_(L,v,&(size),sizeof(t),limit,e))) 36 | 37 | #define luaM_reallocvector(L, v,oldn,n,t) \ 38 | ((v)=cast(t *, luaM_reallocv(L, v, oldn, n, sizeof(t)))) 39 | 40 | 41 | LUAI_FUNC void *luaM_realloc_ (lua_State *L, void *block, size_t oldsize, 42 | size_t size); 43 | LUAI_FUNC void *luaM_toobig (lua_State *L); 44 | LUAI_FUNC void *luaM_growaux_ (lua_State *L, void *block, int *size, 45 | size_t size_elem, int limit, 46 | const char *errormsg); 47 | 48 | #endif 49 | 50 | -------------------------------------------------------------------------------- /src/lua/src/lstring.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: lstring.h,v 1.43.1.1 2007/12/27 13:02:25 roberto Exp $ 3 | ** String table (keep all strings handled by Lua) 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | #ifndef lstring_h 8 | #define lstring_h 9 | 10 | 11 | #include "lgc.h" 12 | #include "lobject.h" 13 | #include "lstate.h" 14 | 15 | 16 | #define sizestring(s) (sizeof(union TString)+((s)->len+1)*sizeof(char)) 17 | 18 | #define sizeudata(u) (sizeof(union Udata)+(u)->len) 19 | 20 | #define luaS_new(L, s) (luaS_newlstr(L, s, strlen(s))) 21 | #define luaS_newliteral(L, s) (luaS_newlstr(L, "" s, \ 22 | (sizeof(s)/sizeof(char))-1)) 23 | 24 | #define luaS_fix(s) l_setbit((s)->tsv.marked, FIXEDBIT) 25 | 26 | LUAI_FUNC void luaS_resize (lua_State *L, int newsize); 27 | LUAI_FUNC Udata *luaS_newudata (lua_State *L, size_t s, Table *e); 28 | LUAI_FUNC TString *luaS_newlstr (lua_State *L, const char *str, size_t l); 29 | 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /src/lua/src/ltable.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: ltable.h,v 2.10.1.1 2007/12/27 13:02:25 roberto Exp $ 3 | ** Lua tables (hash) 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | #ifndef ltable_h 8 | #define ltable_h 9 | 10 | #include "lobject.h" 11 | 12 | 13 | #define gnode(t,i) (&(t)->node[i]) 14 | #define gkey(n) (&(n)->i_key.nk) 15 | #define gval(n) (&(n)->i_val) 16 | #define gnext(n) ((n)->i_key.nk.next) 17 | 18 | #define key2tval(n) (&(n)->i_key.tvk) 19 | 20 | 21 | LUAI_FUNC const TValue *luaH_getnum (Table *t, int key); 22 | LUAI_FUNC TValue *luaH_setnum (lua_State *L, Table *t, int key); 23 | LUAI_FUNC const TValue *luaH_getstr (Table *t, TString *key); 24 | LUAI_FUNC TValue *luaH_setstr (lua_State *L, Table *t, TString *key); 25 | LUAI_FUNC const TValue *luaH_get (Table *t, const TValue *key); 26 | LUAI_FUNC TValue *luaH_set (lua_State *L, Table *t, const TValue *key); 27 | LUAI_FUNC Table *luaH_new (lua_State *L, int narray, int lnhash); 28 | LUAI_FUNC void luaH_resizearray (lua_State *L, Table *t, int nasize); 29 | LUAI_FUNC void luaH_free (lua_State *L, Table *t); 30 | LUAI_FUNC int luaH_next (lua_State *L, Table *t, StkId key); 31 | LUAI_FUNC int luaH_getn (Table *t); 32 | 33 | 34 | #if defined(LUA_DEBUG) 35 | LUAI_FUNC Node *luaH_mainposition (const Table *t, const TValue *key); 36 | LUAI_FUNC int luaH_isdummy (Node *n); 37 | #endif 38 | 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /src/lua/src/ltm.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: ltm.h,v 2.6.1.1 2007/12/27 13:02:25 roberto Exp $ 3 | ** Tag methods 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | #ifndef ltm_h 8 | #define ltm_h 9 | 10 | 11 | #include "lobject.h" 12 | 13 | 14 | /* 15 | * WARNING: if you change the order of this enumeration, 16 | * grep "ORDER TM" 17 | */ 18 | typedef enum { 19 | TM_INDEX, 20 | TM_NEWINDEX, 21 | TM_GC, 22 | TM_MODE, 23 | TM_EQ, /* last tag method with `fast' access */ 24 | TM_ADD, 25 | TM_SUB, 26 | TM_MUL, 27 | TM_DIV, 28 | TM_MOD, 29 | TM_POW, 30 | TM_UNM, 31 | TM_LEN, 32 | TM_LT, 33 | TM_LE, 34 | TM_CONCAT, 35 | TM_CALL, 36 | TM_N /* number of elements in the enum */ 37 | } TMS; 38 | 39 | 40 | 41 | #define gfasttm(g,et,e) ((et) == NULL ? NULL : \ 42 | ((et)->flags & (1u<<(e))) ? NULL : luaT_gettm(et, e, (g)->tmname[e])) 43 | 44 | #define fasttm(l,et,e) gfasttm(G(l), et, e) 45 | 46 | LUAI_DATA const char *const luaT_typenames[]; 47 | 48 | 49 | LUAI_FUNC const TValue *luaT_gettm (Table *events, TMS event, TString *ename); 50 | LUAI_FUNC const TValue *luaT_gettmbyobj (lua_State *L, const TValue *o, 51 | TMS event); 52 | LUAI_FUNC void luaT_init (lua_State *L); 53 | 54 | #endif 55 | -------------------------------------------------------------------------------- /src/lua/src/lualib.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: lualib.h,v 1.36.1.1 2007/12/27 13:02:25 roberto Exp $ 3 | ** Lua standard libraries 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | 8 | #ifndef lualib_h 9 | #define lualib_h 10 | 11 | #include "lua.h" 12 | 13 | 14 | /* Key to file-handle type */ 15 | #define LUA_FILEHANDLE "FILE*" 16 | 17 | 18 | #define LUA_COLIBNAME "coroutine" 19 | LUALIB_API int (luaopen_base) (lua_State *L); 20 | 21 | #define LUA_TABLIBNAME "table" 22 | LUALIB_API int (luaopen_table) (lua_State *L); 23 | 24 | #define LUA_IOLIBNAME "io" 25 | LUALIB_API int (luaopen_io) (lua_State *L); 26 | 27 | #define LUA_OSLIBNAME "os" 28 | LUALIB_API int (luaopen_os) (lua_State *L); 29 | 30 | #define LUA_STRLIBNAME "string" 31 | LUALIB_API int (luaopen_string) (lua_State *L); 32 | 33 | #define LUA_MATHLIBNAME "math" 34 | LUALIB_API int (luaopen_math) (lua_State *L); 35 | 36 | #define LUA_DBLIBNAME "debug" 37 | LUALIB_API int (luaopen_debug) (lua_State *L); 38 | 39 | #define LUA_LOADLIBNAME "package" 40 | LUALIB_API int (luaopen_package) (lua_State *L); 41 | 42 | 43 | /* open all previous libraries */ 44 | LUALIB_API void (luaL_openlibs) (lua_State *L); 45 | 46 | 47 | 48 | #ifndef lua_assert 49 | #define lua_assert(x) ((void)0) 50 | #endif 51 | 52 | 53 | #endif 54 | -------------------------------------------------------------------------------- /src/lua/src/lundump.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: lundump.h,v 1.37.1.1 2007/12/27 13:02:25 roberto Exp $ 3 | ** load precompiled Lua chunks 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | #ifndef lundump_h 8 | #define lundump_h 9 | 10 | #include "lobject.h" 11 | #include "lzio.h" 12 | 13 | /* load one chunk; from lundump.c */ 14 | LUAI_FUNC Proto* luaU_undump (lua_State* L, ZIO* Z, Mbuffer* buff, const char* name); 15 | 16 | /* make header; from lundump.c */ 17 | LUAI_FUNC void luaU_header (char* h); 18 | 19 | /* dump one chunk; from ldump.c */ 20 | LUAI_FUNC int luaU_dump (lua_State* L, const Proto* f, lua_Writer w, void* data, int strip); 21 | 22 | #ifdef luac_c 23 | /* print one chunk; from print.c */ 24 | LUAI_FUNC void luaU_print (const Proto* f, int full); 25 | #endif 26 | 27 | /* for header of binary files -- this is Lua 5.1 */ 28 | #define LUAC_VERSION 0x51 29 | 30 | /* for header of binary files -- this is the official format */ 31 | #define LUAC_FORMAT 0 32 | 33 | /* size of header of binary files */ 34 | #define LUAC_HEADERSIZE 12 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /src/lua/src/lvm.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: lvm.h,v 2.5.1.1 2007/12/27 13:02:25 roberto Exp $ 3 | ** Lua virtual machine 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | #ifndef lvm_h 8 | #define lvm_h 9 | 10 | 11 | #include "ldo.h" 12 | #include "lobject.h" 13 | #include "ltm.h" 14 | 15 | 16 | #define tostring(L,o) ((ttype(o) == LUA_TSTRING) || (luaV_tostring(L, o))) 17 | 18 | #define tonumber(o,n) (ttype(o) == LUA_TNUMBER || \ 19 | (((o) = luaV_tonumber(o,n)) != NULL)) 20 | 21 | #define equalobj(L,o1,o2) \ 22 | (ttype(o1) == ttype(o2) && luaV_equalval(L, o1, o2)) 23 | 24 | 25 | LUAI_FUNC int luaV_lessthan (lua_State *L, const TValue *l, const TValue *r); 26 | LUAI_FUNC int luaV_equalval (lua_State *L, const TValue *t1, const TValue *t2); 27 | LUAI_FUNC const TValue *luaV_tonumber (const TValue *obj, TValue *n); 28 | LUAI_FUNC int luaV_tostring (lua_State *L, StkId obj); 29 | LUAI_FUNC void luaV_gettable (lua_State *L, const TValue *t, TValue *key, 30 | StkId val); 31 | LUAI_FUNC void luaV_settable (lua_State *L, const TValue *t, TValue *key, 32 | StkId val); 33 | LUAI_FUNC void luaV_execute (lua_State *L, int nexeccalls); 34 | LUAI_FUNC void luaV_concat (lua_State *L, int total, int last); 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /src/mapgen_singlenode.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2010-2015 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MAPGEN_SINGLENODE_HEADER 21 | #define MAPGEN_SINGLENODE_HEADER 22 | 23 | #include "mapgen.h" 24 | 25 | struct MapgenSinglenodeParams : public MapgenParams { 26 | MapgenSinglenodeParams() {} 27 | ~MapgenSinglenodeParams() {} 28 | 29 | void readParams(const Settings *settings) {} 30 | void writeParams(Settings *settings) const {} 31 | }; 32 | 33 | class MapgenSinglenode : public Mapgen { 34 | public: 35 | u32 flags; 36 | content_t c_node; 37 | u8 set_light; 38 | 39 | MapgenSinglenode(int mapgenid, MapgenParams *params, EmergeManager *emerge); 40 | ~MapgenSinglenode(); 41 | 42 | virtual MapgenType getType() const { return MAPGEN_SINGLENODE; } 43 | 44 | void makeChunk(BlockMakeData *data); 45 | int getSpawnLevelAtPoint(v2s16 p); 46 | }; 47 | 48 | #endif 49 | -------------------------------------------------------------------------------- /src/modifiedstate.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MODIFIEDSTATE_HEADER 21 | #define MODIFIEDSTATE_HEADER 22 | 23 | enum ModifiedState 24 | { 25 | // Has not been modified. 26 | MOD_STATE_CLEAN = 0, 27 | MOD_RESERVED1 = 1, 28 | // Has been modified, and will be saved when being unloaded. 29 | MOD_STATE_WRITE_AT_UNLOAD = 2, 30 | MOD_RESERVED3 = 3, 31 | // Has been modified, and will be saved as soon as possible. 32 | MOD_STATE_WRITE_NEEDED = 4, 33 | MOD_RESERVED5 = 5, 34 | }; 35 | 36 | #endif 37 | 38 | -------------------------------------------------------------------------------- /src/nameidmapping.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "nameidmapping.h" 21 | #include "exceptions.h" 22 | #include "util/serialize.h" 23 | 24 | void NameIdMapping::serialize(std::ostream &os) const 25 | { 26 | writeU8(os, 0); // version 27 | writeU16(os, m_id_to_name.size()); 28 | for(UNORDERED_MAP::const_iterator 29 | i = m_id_to_name.begin(); 30 | i != m_id_to_name.end(); ++i){ 31 | writeU16(os, i->first); 32 | os<second); 33 | } 34 | } 35 | 36 | void NameIdMapping::deSerialize(std::istream &is) 37 | { 38 | int version = readU8(is); 39 | if(version != 0) 40 | throw SerializationError("unsupported NameIdMapping version"); 41 | u32 count = readU16(is); 42 | m_id_to_name.clear(); 43 | m_name_to_id.clear(); 44 | for(u32 i=0; i 4 | Copyright (C) 2015 nerzhul, Loic Blot 5 | 6 | This program is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU Lesser General Public License as published by 8 | the Free Software Foundation; either version 2.1 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU Lesser General Public License for more details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License along 17 | with this program; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 19 | */ 20 | 21 | #ifndef CLIENTOPCODES_HEADER 22 | #define CLIENTOPCODES_HEADER 23 | 24 | #include "client.h" 25 | #include "networkprotocol.h" 26 | #include "networkpacket.h" 27 | 28 | enum ToClientConnectionState { 29 | TOCLIENT_STATE_NOT_CONNECTED, 30 | TOCLIENT_STATE_CONNECTED, 31 | TOCLIENT_STATE_ALL, 32 | }; 33 | 34 | struct ToClientCommandHandler 35 | { 36 | const char* name; 37 | ToClientConnectionState state; 38 | void (Client::*handler)(NetworkPacket* pkt); 39 | }; 40 | 41 | struct ServerCommandFactory 42 | { 43 | const char* name; 44 | u16 channel; 45 | bool reliable; 46 | }; 47 | 48 | extern const ToClientCommandHandler toClientCommandTable[TOCLIENT_NUM_MSG_TYPES]; 49 | 50 | extern const ServerCommandFactory serverCommandFactoryTable[TOSERVER_NUM_MSG_TYPES]; 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /src/network/serveropcodes.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2013 celeron55, Perttu Ahola 4 | Copyright (C) 2015 nerzhul, Loic Blot 5 | 6 | This program is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU Lesser General Public License as published by 8 | the Free Software Foundation; either version 2.1 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU Lesser General Public License for more details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License along 17 | with this program; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 19 | */ 20 | 21 | #ifndef SERVEROPCODES_HEADER 22 | #define SERVEROPCODES_HEADER 23 | 24 | #include "server.h" 25 | #include "networkprotocol.h" 26 | #include "networkpacket.h" 27 | 28 | enum ToServerConnectionState { 29 | TOSERVER_STATE_NOT_CONNECTED, 30 | TOSERVER_STATE_STARTUP, 31 | TOSERVER_STATE_INGAME, 32 | TOSERVER_STATE_ALL, 33 | }; 34 | struct ToServerCommandHandler 35 | { 36 | const std::string name; 37 | ToServerConnectionState state; 38 | void (Server::*handler)(NetworkPacket* pkt); 39 | }; 40 | 41 | struct ClientCommandFactory 42 | { 43 | const char* name; 44 | u16 channel; 45 | bool reliable; 46 | }; 47 | 48 | extern const ToServerCommandHandler toServerCommandTable[TOSERVER_NUM_MSG_TYPES]; 49 | 50 | extern const ClientCommandFactory clientCommandFactoryTable[TOCLIENT_NUM_MSG_TYPES]; 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /src/profiler.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2015 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "profiler.h" 21 | 22 | static Profiler main_profiler; 23 | Profiler *g_profiler = &main_profiler; 24 | -------------------------------------------------------------------------------- /src/script/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(common) 2 | add_subdirectory(cpp_api) 3 | add_subdirectory(lua_api) 4 | 5 | # Used by server and client 6 | set(common_SCRIPT_SRCS 7 | ${CMAKE_CURRENT_SOURCE_DIR}/scripting_game.cpp 8 | ${common_SCRIPT_COMMON_SRCS} 9 | ${common_SCRIPT_CPP_API_SRCS} 10 | ${common_SCRIPT_LUA_API_SRCS} 11 | PARENT_SCOPE) 12 | 13 | # Used by client only 14 | set(client_SCRIPT_SRCS 15 | ${CMAKE_CURRENT_SOURCE_DIR}/scripting_mainmenu.cpp 16 | ${client_SCRIPT_COMMON_SRCS} 17 | ${client_SCRIPT_CPP_API_SRCS} 18 | ${client_SCRIPT_LUA_API_SRCS} 19 | PARENT_SCOPE) 20 | 21 | -------------------------------------------------------------------------------- /src/script/common/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(common_SCRIPT_COMMON_SRCS 2 | ${CMAKE_CURRENT_SOURCE_DIR}/c_content.cpp 3 | ${CMAKE_CURRENT_SOURCE_DIR}/c_converter.cpp 4 | ${CMAKE_CURRENT_SOURCE_DIR}/c_types.cpp 5 | ${CMAKE_CURRENT_SOURCE_DIR}/c_internal.cpp 6 | PARENT_SCOPE) 7 | 8 | set(client_SCRIPT_COMMON_SRCS 9 | PARENT_SCOPE) 10 | 11 | -------------------------------------------------------------------------------- /src/script/common/c_types.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include 21 | 22 | #include "common/c_types.h" 23 | #include "common/c_internal.h" 24 | #include "itemdef.h" 25 | 26 | 27 | struct EnumString es_ItemType[] = 28 | { 29 | {ITEM_NONE, "none"}, 30 | {ITEM_NODE, "node"}, 31 | {ITEM_CRAFT, "craft"}, 32 | {ITEM_TOOL, "tool"}, 33 | {0, NULL}, 34 | }; 35 | -------------------------------------------------------------------------------- /src/script/common/c_types.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef C_TYPES_H_ 21 | #define C_TYPES_H_ 22 | 23 | extern "C" { 24 | #include "lua.h" 25 | } 26 | 27 | #include 28 | 29 | #include "exceptions.h" 30 | 31 | struct EnumString 32 | { 33 | int num; 34 | const char *str; 35 | }; 36 | 37 | class StackUnroller 38 | { 39 | private: 40 | lua_State *m_lua; 41 | int m_original_top; 42 | public: 43 | StackUnroller(lua_State *L): 44 | m_lua(L), 45 | m_original_top(-1) 46 | { 47 | m_original_top = lua_gettop(m_lua); // store stack height 48 | } 49 | ~StackUnroller() 50 | { 51 | lua_settop(m_lua, m_original_top); // restore stack height 52 | } 53 | }; 54 | 55 | class LuaError : public ModError 56 | { 57 | public: 58 | LuaError(const std::string &s) : ModError(s) {} 59 | }; 60 | 61 | 62 | extern EnumString es_ItemType[]; 63 | 64 | #endif /* C_TYPES_H_ */ 65 | -------------------------------------------------------------------------------- /src/script/cpp_api/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(common_SCRIPT_CPP_API_SRCS 2 | ${CMAKE_CURRENT_SOURCE_DIR}/s_async.cpp 3 | ${CMAKE_CURRENT_SOURCE_DIR}/s_base.cpp 4 | ${CMAKE_CURRENT_SOURCE_DIR}/s_entity.cpp 5 | ${CMAKE_CURRENT_SOURCE_DIR}/s_env.cpp 6 | ${CMAKE_CURRENT_SOURCE_DIR}/s_inventory.cpp 7 | ${CMAKE_CURRENT_SOURCE_DIR}/s_item.cpp 8 | ${CMAKE_CURRENT_SOURCE_DIR}/s_node.cpp 9 | ${CMAKE_CURRENT_SOURCE_DIR}/s_nodemeta.cpp 10 | ${CMAKE_CURRENT_SOURCE_DIR}/s_player.cpp 11 | ${CMAKE_CURRENT_SOURCE_DIR}/s_security.cpp 12 | ${CMAKE_CURRENT_SOURCE_DIR}/s_server.cpp 13 | PARENT_SCOPE) 14 | 15 | set(client_SCRIPT_CPP_API_SRCS 16 | ${CMAKE_CURRENT_SOURCE_DIR}/s_mainmenu.cpp 17 | PARENT_SCOPE) 18 | 19 | -------------------------------------------------------------------------------- /src/script/cpp_api/s_entity.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef S_ENTITY_H_ 21 | #define S_ENTITY_H_ 22 | 23 | #include "cpp_api/s_base.h" 24 | #include "irr_v3d.h" 25 | 26 | struct ObjectProperties; 27 | struct ToolCapabilities; 28 | 29 | class ScriptApiEntity 30 | : virtual public ScriptApiBase 31 | { 32 | public: 33 | bool luaentity_Add(u16 id, const char *name); 34 | void luaentity_Activate(u16 id, 35 | const std::string &staticdata, u32 dtime_s); 36 | void luaentity_Remove(u16 id); 37 | std::string luaentity_GetStaticdata(u16 id); 38 | void luaentity_GetProperties(u16 id, 39 | ObjectProperties *prop); 40 | void luaentity_Step(u16 id, float dtime); 41 | void luaentity_Punch(u16 id, 42 | ServerActiveObject *puncher, float time_from_last_punch, 43 | const ToolCapabilities *toolcap, v3f dir); 44 | void luaentity_Rightclick(u16 id, 45 | ServerActiveObject *clicker); 46 | }; 47 | 48 | 49 | 50 | #endif /* S_ENTITY_H_ */ 51 | -------------------------------------------------------------------------------- /src/script/cpp_api/s_env.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef S_ENV_H_ 21 | #define S_ENV_H_ 22 | 23 | #include "cpp_api/s_base.h" 24 | #include "irr_v3d.h" 25 | 26 | class ServerEnvironment; 27 | struct ScriptCallbackState; 28 | 29 | class ScriptApiEnv : virtual public ScriptApiBase 30 | { 31 | public: 32 | // Called on environment step 33 | void environment_Step(float dtime); 34 | 35 | // Called after generating a piece of map 36 | void environment_OnGenerated(v3s16 minp, v3s16 maxp, u32 blockseed); 37 | 38 | // Called on player event 39 | void player_event(ServerActiveObject *player, const std::string &type); 40 | 41 | // Called after emerge of a block queued from core.emerge_area() 42 | void on_emerge_area_completion(v3s16 blockpos, int action, 43 | ScriptCallbackState *state); 44 | 45 | void initializeEnvironment(ServerEnvironment *env); 46 | }; 47 | 48 | #endif /* S_ENV_H_ */ 49 | -------------------------------------------------------------------------------- /src/script/cpp_api/s_mainmenu.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef S_MAINMENU_H_ 21 | #define S_MAINMENU_H_ 22 | 23 | #include "cpp_api/s_base.h" 24 | #include "util/string.h" 25 | #include "../guiMainMenu.h" 26 | 27 | class ScriptApiMainMenu : virtual public ScriptApiBase { 28 | public: 29 | /** 30 | * Hand over MainMenuDataForScript to lua to inform lua of the content 31 | * @param data the data 32 | */ 33 | void setMainMenuData(MainMenuDataForScript *data); 34 | 35 | /** 36 | * process events received from formspec 37 | * @param text events in textual form 38 | */ 39 | void handleMainMenuEvent(std::string text); 40 | 41 | /** 42 | * process field data recieved from formspec 43 | * @param fields data in field format 44 | */ 45 | void handleMainMenuButtons(const StringMap &fields); 46 | }; 47 | 48 | #endif /* S_MAINMENU_H_ */ 49 | -------------------------------------------------------------------------------- /src/script/cpp_api/s_server.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef S_SERVER_H_ 21 | #define S_SERVER_H_ 22 | 23 | #include "cpp_api/s_base.h" 24 | #include 25 | 26 | class ScriptApiServer 27 | : virtual public ScriptApiBase 28 | { 29 | public: 30 | // Calls on_chat_message handlers 31 | // Returns true if script handled message 32 | bool on_chat_message(const std::string &name, const std::string &message); 33 | 34 | // Calls on_shutdown handlers 35 | void on_shutdown(); 36 | 37 | /* auth */ 38 | bool getAuth(const std::string &playername, 39 | std::string *dst_password, 40 | std::set *dst_privs); 41 | void createAuth(const std::string &playername, 42 | const std::string &password); 43 | bool setPassword(const std::string &playername, 44 | const std::string &password); 45 | private: 46 | void getAuthHandler(); 47 | void readPrivileges(int index, std::set &result); 48 | }; 49 | 50 | 51 | 52 | #endif /* S_SERVER_H_ */ 53 | -------------------------------------------------------------------------------- /src/script/lua_api/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(common_SCRIPT_LUA_API_SRCS 2 | ${CMAKE_CURRENT_SOURCE_DIR}/l_areastore.cpp 3 | ${CMAKE_CURRENT_SOURCE_DIR}/l_base.cpp 4 | ${CMAKE_CURRENT_SOURCE_DIR}/l_craft.cpp 5 | ${CMAKE_CURRENT_SOURCE_DIR}/l_env.cpp 6 | ${CMAKE_CURRENT_SOURCE_DIR}/l_inventory.cpp 7 | ${CMAKE_CURRENT_SOURCE_DIR}/l_item.cpp 8 | ${CMAKE_CURRENT_SOURCE_DIR}/l_mapgen.cpp 9 | ${CMAKE_CURRENT_SOURCE_DIR}/l_nodemeta.cpp 10 | ${CMAKE_CURRENT_SOURCE_DIR}/l_nodetimer.cpp 11 | ${CMAKE_CURRENT_SOURCE_DIR}/l_noise.cpp 12 | ${CMAKE_CURRENT_SOURCE_DIR}/l_object.cpp 13 | ${CMAKE_CURRENT_SOURCE_DIR}/l_particles.cpp 14 | ${CMAKE_CURRENT_SOURCE_DIR}/l_rollback.cpp 15 | ${CMAKE_CURRENT_SOURCE_DIR}/l_server.cpp 16 | ${CMAKE_CURRENT_SOURCE_DIR}/l_util.cpp 17 | ${CMAKE_CURRENT_SOURCE_DIR}/l_vmanip.cpp 18 | ${CMAKE_CURRENT_SOURCE_DIR}/l_settings.cpp 19 | ${CMAKE_CURRENT_SOURCE_DIR}/l_http.cpp 20 | PARENT_SCOPE) 21 | 22 | set(client_SCRIPT_LUA_API_SRCS 23 | ${CMAKE_CURRENT_SOURCE_DIR}/l_mainmenu.cpp 24 | PARENT_SCOPE) 25 | 26 | -------------------------------------------------------------------------------- /src/script/lua_api/l_http.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef L_HTTP_H_ 21 | #define L_HTTP_H_ 22 | 23 | #include "lua_api/l_base.h" 24 | #include "config.h" 25 | 26 | struct HTTPFetchRequest; 27 | struct HTTPFetchResult; 28 | 29 | class ModApiHttp : public ModApiBase { 30 | private: 31 | #if USE_CURL 32 | // Helpers for HTTP fetch functions 33 | static void read_http_fetch_request(lua_State *L, HTTPFetchRequest &req); 34 | static void push_http_fetch_result(lua_State *L, HTTPFetchResult &res, bool completed = true); 35 | 36 | // http_fetch_async({url=, timeout=, post_data=}) 37 | static int l_http_fetch_async(lua_State *L); 38 | 39 | // http_fetch_async_get(handle) 40 | static int l_http_fetch_async_get(lua_State *L); 41 | 42 | // request_http_api() 43 | static int l_request_http_api(lua_State *L); 44 | #endif 45 | 46 | public: 47 | static void Initialize(lua_State *L, int top); 48 | }; 49 | 50 | #endif /* L_HTTP_H_ */ 51 | -------------------------------------------------------------------------------- /src/script/lua_api/l_particles.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef L_PARTICLES_H_ 21 | #define L_PARTICLES_H_ 22 | 23 | #include "lua_api/l_base.h" 24 | 25 | class ModApiParticles : public ModApiBase { 26 | private: 27 | static int l_add_particle(lua_State *L); 28 | static int l_add_particlespawner(lua_State *L); 29 | static int l_delete_particlespawner(lua_State *L); 30 | 31 | public: 32 | static void Initialize(lua_State *L, int top); 33 | }; 34 | 35 | 36 | 37 | #endif /* L_PARTICLES_H_ */ 38 | -------------------------------------------------------------------------------- /src/script/lua_api/l_rollback.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef L_ROLLBACK_H_ 21 | #define L_ROLLBACK_H_ 22 | 23 | #include "lua_api/l_base.h" 24 | 25 | class ModApiRollback : public ModApiBase 26 | { 27 | private: 28 | // rollback_get_node_actions(pos, range, seconds) -> {{actor, pos, time, oldnode, newnode}, ...} 29 | static int l_rollback_get_node_actions(lua_State *L); 30 | 31 | // rollback_revert_actions_by(actor, seconds) -> bool, log messages 32 | static int l_rollback_revert_actions_by(lua_State *L); 33 | 34 | public: 35 | static void Initialize(lua_State *L, int top); 36 | }; 37 | 38 | #endif /* L_ROLLBACK_H_ */ 39 | -------------------------------------------------------------------------------- /src/sound.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "sound.h" 21 | 22 | // Global DummySoundManager singleton 23 | DummySoundManager dummySoundManager; 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/sound_openal.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef SOUND_OPENAL_HEADER 21 | #define SOUND_OPENAL_HEADER 22 | 23 | #include "sound.h" 24 | 25 | ISoundManager *createOpenALSoundManager(OnDemandSoundFetcher *fetcher); 26 | 27 | #endif 28 | 29 | -------------------------------------------------------------------------------- /src/threading/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(JTHREAD_SRCS 2 | ${CMAKE_CURRENT_SOURCE_DIR}/event.cpp 3 | ${CMAKE_CURRENT_SOURCE_DIR}/mutex.cpp 4 | ${CMAKE_CURRENT_SOURCE_DIR}/thread.cpp 5 | ${CMAKE_CURRENT_SOURCE_DIR}/semaphore.cpp 6 | PARENT_SCOPE) 7 | 8 | -------------------------------------------------------------------------------- /src/threading/semaphore.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2013 sapier 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef THREADING_SEMAPHORE_H 21 | #define THREADING_SEMAPHORE_H 22 | 23 | #if defined(_WIN32) 24 | #include 25 | #elif defined(__MACH__) && defined(__APPLE__) 26 | #include 27 | #else 28 | #include 29 | #endif 30 | 31 | #include "util/basic_macros.h" 32 | 33 | class Semaphore { 34 | public: 35 | Semaphore(int val=0); 36 | ~Semaphore(); 37 | 38 | void post(unsigned int num=1); 39 | void wait(); 40 | bool wait(unsigned int time_ms); 41 | 42 | private: 43 | #if defined(WIN32) 44 | HANDLE semaphore; 45 | #elif defined(__MACH__) && defined(__APPLE__) 46 | semaphore_t semaphore; 47 | #else 48 | sem_t semaphore; 49 | #endif 50 | 51 | DISABLE_CLASS_COPY(Semaphore); 52 | }; 53 | 54 | #endif 55 | 56 | -------------------------------------------------------------------------------- /src/unittest/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set (UNITTEST_SRCS 2 | ${CMAKE_CURRENT_SOURCE_DIR}/test.cpp 3 | ${CMAKE_CURRENT_SOURCE_DIR}/test_areastore.cpp 4 | ${CMAKE_CURRENT_SOURCE_DIR}/test_collision.cpp 5 | ${CMAKE_CURRENT_SOURCE_DIR}/test_compression.cpp 6 | ${CMAKE_CURRENT_SOURCE_DIR}/test_connection.cpp 7 | ${CMAKE_CURRENT_SOURCE_DIR}/test_filepath.cpp 8 | ${CMAKE_CURRENT_SOURCE_DIR}/test_inventory.cpp 9 | ${CMAKE_CURRENT_SOURCE_DIR}/test_map_settings_manager.cpp 10 | ${CMAKE_CURRENT_SOURCE_DIR}/test_mapnode.cpp 11 | ${CMAKE_CURRENT_SOURCE_DIR}/test_nodedef.cpp 12 | ${CMAKE_CURRENT_SOURCE_DIR}/test_noderesolver.cpp 13 | ${CMAKE_CURRENT_SOURCE_DIR}/test_noise.cpp 14 | ${CMAKE_CURRENT_SOURCE_DIR}/test_objdef.cpp 15 | ${CMAKE_CURRENT_SOURCE_DIR}/test_profiler.cpp 16 | ${CMAKE_CURRENT_SOURCE_DIR}/test_random.cpp 17 | ${CMAKE_CURRENT_SOURCE_DIR}/test_schematic.cpp 18 | ${CMAKE_CURRENT_SOURCE_DIR}/test_serialization.cpp 19 | ${CMAKE_CURRENT_SOURCE_DIR}/test_settings.cpp 20 | ${CMAKE_CURRENT_SOURCE_DIR}/test_socket.cpp 21 | ${CMAKE_CURRENT_SOURCE_DIR}/test_threading.cpp 22 | ${CMAKE_CURRENT_SOURCE_DIR}/test_utilities.cpp 23 | ${CMAKE_CURRENT_SOURCE_DIR}/test_voxelalgorithms.cpp 24 | ${CMAKE_CURRENT_SOURCE_DIR}/test_voxelmanipulator.cpp 25 | PARENT_SCOPE) 26 | 27 | set (UNITTEST_CLIENT_SRCS 28 | ${CMAKE_CURRENT_SOURCE_DIR}/test_keycode.cpp 29 | PARENT_SCOPE) 30 | -------------------------------------------------------------------------------- /src/util/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(UTIL_SRCS 2 | ${CMAKE_CURRENT_SOURCE_DIR}/areastore.cpp 3 | ${CMAKE_CURRENT_SOURCE_DIR}/auth.cpp 4 | ${CMAKE_CURRENT_SOURCE_DIR}/base64.cpp 5 | ${CMAKE_CURRENT_SOURCE_DIR}/directiontables.cpp 6 | ${CMAKE_CURRENT_SOURCE_DIR}/enriched_string.cpp 7 | ${CMAKE_CURRENT_SOURCE_DIR}/numeric.cpp 8 | ${CMAKE_CURRENT_SOURCE_DIR}/pointedthing.cpp 9 | ${CMAKE_CURRENT_SOURCE_DIR}/serialize.cpp 10 | ${CMAKE_CURRENT_SOURCE_DIR}/sha1.cpp 11 | ${CMAKE_CURRENT_SOURCE_DIR}/sha256.c 12 | ${CMAKE_CURRENT_SOURCE_DIR}/string.cpp 13 | ${CMAKE_CURRENT_SOURCE_DIR}/srp.cpp 14 | ${CMAKE_CURRENT_SOURCE_DIR}/timetaker.cpp 15 | PARENT_SCOPE) 16 | 17 | -------------------------------------------------------------------------------- /src/util/base64.h: -------------------------------------------------------------------------------- 1 | #ifndef BASE64_HEADER 2 | #define BASE64_HEADER 3 | 4 | #include 5 | 6 | bool base64_is_valid(std::string const& s); 7 | std::string base64_encode(unsigned char const* , unsigned int len); 8 | std::string base64_decode(std::string const& s); 9 | 10 | #endif // BASE64_HEADER 11 | -------------------------------------------------------------------------------- /src/util/cpp11_container.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2016 nerzhul, Loic Blot 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MT_CPP11CONTAINER_HEADER 21 | #define MT_CPP11CONTAINER_HEADER 22 | 23 | #if __cplusplus >= 201103L 24 | #include 25 | #include 26 | #define UNORDERED_MAP std::unordered_map 27 | #define UNORDERED_SET std::unordered_set 28 | #else 29 | #include 30 | #include 31 | #define UNORDERED_MAP std::map 32 | #define UNORDERED_SET std::set 33 | #endif 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /src/util/directiontables.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2010-2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef UTIL_DIRECTIONTABLES_HEADER 21 | #define UTIL_DIRECTIONTABLES_HEADER 22 | 23 | #include "../irrlichttypes.h" 24 | #include "../irr_v3d.h" 25 | 26 | extern const v3s16 g_6dirs[6]; 27 | 28 | extern const v3s16 g_26dirs[26]; 29 | 30 | // 26th is (0,0,0) 31 | extern const v3s16 g_27dirs[27]; 32 | 33 | #endif 34 | 35 | -------------------------------------------------------------------------------- /src/util/mathconstants.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | // MSVC doesn't seem to define this 4 | #ifndef M_PI 5 | #define M_PI 3.1415926535 6 | #endif 7 | 8 | -------------------------------------------------------------------------------- /src/util/pointedthing.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2010-2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef UTIL_POINTEDTHING_HEADER 21 | #define UTIL_POINTEDTHING_HEADER 22 | 23 | #include "../irrlichttypes.h" 24 | #include "../irr_v3d.h" 25 | #include 26 | #include 27 | 28 | enum PointedThingType 29 | { 30 | POINTEDTHING_NOTHING, 31 | POINTEDTHING_NODE, 32 | POINTEDTHING_OBJECT 33 | }; 34 | 35 | struct PointedThing 36 | { 37 | PointedThingType type; 38 | v3s16 node_undersurface; 39 | v3s16 node_abovesurface; 40 | s16 object_id; 41 | 42 | PointedThing(); 43 | std::string dump() const; 44 | void serialize(std::ostream &os) const; 45 | void deSerialize(std::istream &is); 46 | bool operator==(const PointedThing &pt2) const; 47 | bool operator!=(const PointedThing &pt2) const; 48 | }; 49 | 50 | #endif 51 | 52 | -------------------------------------------------------------------------------- /src/util/timetaker.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2010-2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef UTIL_TIMETAKER_HEADER 21 | #define UTIL_TIMETAKER_HEADER 22 | 23 | #include "../irrlichttypes.h" 24 | #include "../gettime.h" 25 | 26 | /* 27 | TimeTaker 28 | */ 29 | 30 | class TimeTaker 31 | { 32 | public: 33 | TimeTaker(const char *name, u32 *result=NULL, 34 | TimePrecision=PRECISION_MILLI); 35 | 36 | ~TimeTaker() 37 | { 38 | stop(); 39 | } 40 | 41 | u32 stop(bool quiet=false); 42 | 43 | u32 getTimerTime(); 44 | 45 | private: 46 | const char *m_name; 47 | u32 m_time1; 48 | bool m_running; 49 | TimePrecision m_precision; 50 | u32 *m_result; 51 | }; 52 | 53 | #endif 54 | 55 | -------------------------------------------------------------------------------- /src/version.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "version.h" 21 | #include "config.h" 22 | 23 | #if defined(__ANDROID__) 24 | #include "android_version.h" 25 | #include "android_version_githash.h" 26 | #elif defined(USE_CMAKE_CONFIG_H) 27 | #include "cmake_config_githash.h" 28 | #endif 29 | 30 | #ifndef VERSION_GITHASH 31 | #define VERSION_GITHASH VERSION_STRING 32 | #endif 33 | 34 | 35 | const char *g_version_string = VERSION_STRING; 36 | const char *g_version_hash = VERSION_GITHASH; 37 | const char *g_build_info = "VER=" VERSION_GITHASH " " BUILD_INFO; 38 | 39 | -------------------------------------------------------------------------------- /src/version.h: -------------------------------------------------------------------------------- 1 | /* 2 | Minetest 3 | Copyright (C) 2013 celeron55, Perttu Ahola 4 | 5 | This program is free software; you can redistribute it and/or modify 6 | it under the terms of the GNU Lesser General Public License as published by 7 | the Free Software Foundation; either version 2.1 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Lesser General Public License for more details. 14 | 15 | You should have received a copy of the GNU Lesser General Public License along 16 | with this program; if not, write to the Free Software Foundation, Inc., 17 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef VERSION_HEADER 21 | #define VERSION_HEADER 22 | 23 | extern const char *g_version_string; 24 | extern const char *g_version_hash; 25 | extern const char *g_build_info; 26 | 27 | #endif 28 | 29 | -------------------------------------------------------------------------------- /textures/base/pack/blank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/blank.png -------------------------------------------------------------------------------- /textures/base/pack/camera_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/camera_btn.png -------------------------------------------------------------------------------- /textures/base/pack/chat_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/chat_btn.png -------------------------------------------------------------------------------- /textures/base/pack/debug_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/debug_btn.png -------------------------------------------------------------------------------- /textures/base/pack/down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/down.png -------------------------------------------------------------------------------- /textures/base/pack/down_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/down_arrow.png -------------------------------------------------------------------------------- /textures/base/pack/drop_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/drop_btn.png -------------------------------------------------------------------------------- /textures/base/pack/fast_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/fast_btn.png -------------------------------------------------------------------------------- /textures/base/pack/fly_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/fly_btn.png -------------------------------------------------------------------------------- /textures/base/pack/gear_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/gear_icon.png -------------------------------------------------------------------------------- /textures/base/pack/halo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/halo.png -------------------------------------------------------------------------------- /textures/base/pack/inventory_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/inventory_btn.png -------------------------------------------------------------------------------- /textures/base/pack/jump_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/jump_btn.png -------------------------------------------------------------------------------- /textures/base/pack/left_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/left_arrow.png -------------------------------------------------------------------------------- /textures/base/pack/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/logo.png -------------------------------------------------------------------------------- /textures/base/pack/menu_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/menu_bg.png -------------------------------------------------------------------------------- /textures/base/pack/menu_header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/menu_header.png -------------------------------------------------------------------------------- /textures/base/pack/minimap_mask_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/minimap_mask_round.png -------------------------------------------------------------------------------- /textures/base/pack/minimap_mask_square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/minimap_mask_square.png -------------------------------------------------------------------------------- /textures/base/pack/minimap_overlay_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/minimap_overlay_round.png -------------------------------------------------------------------------------- /textures/base/pack/minimap_overlay_square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/minimap_overlay_square.png -------------------------------------------------------------------------------- /textures/base/pack/no_screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/no_screenshot.png -------------------------------------------------------------------------------- /textures/base/pack/noclip_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/noclip_btn.png -------------------------------------------------------------------------------- /textures/base/pack/object_marker_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/object_marker_red.png -------------------------------------------------------------------------------- /textures/base/pack/player_marker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/player_marker.png -------------------------------------------------------------------------------- /textures/base/pack/rangeview_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/rangeview_btn.png -------------------------------------------------------------------------------- /textures/base/pack/rare_controls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/rare_controls.png -------------------------------------------------------------------------------- /textures/base/pack/right_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/right_arrow.png -------------------------------------------------------------------------------- /textures/base/pack/server_flags_creative.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/server_flags_creative.png -------------------------------------------------------------------------------- /textures/base/pack/server_flags_damage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/server_flags_damage.png -------------------------------------------------------------------------------- /textures/base/pack/server_flags_favorite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/server_flags_favorite.png -------------------------------------------------------------------------------- /textures/base/pack/server_flags_pvp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/server_flags_pvp.png -------------------------------------------------------------------------------- /textures/base/pack/smoke_puff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/smoke_puff.png -------------------------------------------------------------------------------- /textures/base/pack/sunrisebg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/sunrisebg.png -------------------------------------------------------------------------------- /textures/base/pack/unknown_item.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/unknown_item.png -------------------------------------------------------------------------------- /textures/base/pack/unknown_node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/unknown_node.png -------------------------------------------------------------------------------- /textures/base/pack/unknown_object.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/unknown_object.png -------------------------------------------------------------------------------- /textures/base/pack/up_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jeija/spheretest/719bd6bf7ee082b74e4725c9271e01d1c5e23014/textures/base/pack/up_arrow.png -------------------------------------------------------------------------------- /textures/texture_packs_here.txt: -------------------------------------------------------------------------------- 1 | Put your texture pack folders in this folder. Textures in the "server" pack will be used by the server. 2 | -------------------------------------------------------------------------------- /util/buildbot/toolchain_mingw.cmake: -------------------------------------------------------------------------------- 1 | # name of the target operating system 2 | SET(CMAKE_SYSTEM_NAME Windows) 3 | 4 | # which compilers to use for C and C++ 5 | SET(CMAKE_C_COMPILER i586-mingw32msvc-gcc) 6 | SET(CMAKE_CXX_COMPILER i586-mingw32msvc-g++) 7 | SET(CMAKE_RC_COMPILER i586-mingw32msvc-windres) 8 | 9 | # here is the target environment located 10 | SET(CMAKE_FIND_ROOT_PATH /usr/i586-mingw32msvc) 11 | 12 | # adjust the default behaviour of the FIND_XXX() commands: 13 | # search headers and libraries in the target environment, search 14 | # programs in the host environment 15 | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) 16 | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 17 | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 18 | -------------------------------------------------------------------------------- /util/buildbot/toolchain_mingw64.cmake: -------------------------------------------------------------------------------- 1 | # name of the target operating system 2 | SET(CMAKE_SYSTEM_NAME Windows) 3 | 4 | # which compilers to use for C and C++ 5 | SET(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc) 6 | SET(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++) 7 | SET(CMAKE_RC_COMPILER x86_64-w64-mingw32-windres) 8 | 9 | # here is the target environment located 10 | SET(CMAKE_FIND_ROOT_PATH /usr/x86_64-w64-mingw32) 11 | 12 | # adjust the default behaviour of the FIND_XXX() commands: 13 | # search headers and libraries in the target environment, search 14 | # programs in the host environment 15 | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) 16 | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 17 | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 18 | -------------------------------------------------------------------------------- /util/test_multiplayer.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 3 | gameid=minimal 4 | minetest=$dir/../bin/minetest 5 | testspath=$dir/../tests 6 | worldpath=$testspath/testworld_$gameid 7 | configpath=$testspath/configs 8 | logpath=$testspath/log 9 | conf_server=$configpath/minetest.conf.multi.server 10 | conf_client1=$configpath/minetest.conf.multi.client1 11 | conf_client2=$configpath/minetest.conf.multi.client2 12 | log_server=$logpath/server.log 13 | log_client1=$logpath/client1.log 14 | log_client2=$logpath/client2.log 15 | 16 | mkdir -p $worldpath 17 | mkdir -p $configpath 18 | mkdir -p $logpath 19 | 20 | echo -ne 'client1::shout,interact,settime,teleport,give 21 | client2::shout,interact,settime,teleport,give 22 | ' > $worldpath/auth.txt 23 | 24 | echo -ne '' > $conf_server 25 | 26 | echo -ne '# client 1 config 27 | screenW=500 28 | screenH=380 29 | name=client1 30 | viewing_range_nodes_min=10 31 | ' > $conf_client1 32 | 33 | echo -ne '# client 2 config 34 | screenW=500 35 | screenH=380 36 | name=client2 37 | viewing_range_nodes_min=10 38 | ' > $conf_client2 39 | 40 | echo $(sleep 1; $minetest --disable-unittests --logfile $log_client1 --config $conf_client1 --go --address localhost) & 41 | echo $(sleep 2; $minetest --disable-unittests --logfile $log_client2 --config $conf_client2 --go --address localhost) & 42 | $minetest --disable-unittests --server --logfile $log_server --config $conf_server --world $worldpath --gameid $gameid 43 | 44 | -------------------------------------------------------------------------------- /util/travis/before_install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | 3 | if [[ $TRAVIS_OS_NAME == "linux" ]]; then 4 | sudo apt-get update 5 | sudo apt-get install p7zip-full $COMPILER 6 | fi 7 | 8 | if [[ $PLATFORM == "Unix" ]]; then 9 | if [[ $TRAVIS_OS_NAME == "linux" ]]; then 10 | sudo apt-get install libirrlicht-dev cmake libbz2-dev libpng12-dev \ 11 | libjpeg-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev \ 12 | libhiredis-dev libogg-dev libgmp-dev libvorbis-dev libopenal-dev \ 13 | gettext libpq-dev postgresql-server-dev-all 14 | # Linking to LevelDB is broken, use a custom build 15 | wget http://minetest.kitsunemimi.pw/libleveldb-1.18-ubuntu12.04.7z 16 | sudo 7z x -o/usr libleveldb-1.18-ubuntu12.04.7z 17 | else 18 | brew update 19 | brew install freetype gettext hiredis irrlicht jpeg leveldb libogg libvorbis luajit 20 | #brew upgrade postgresql 21 | fi 22 | elif [[ $PLATFORM == "Win32" ]]; then 23 | wget http://minetest.kitsunemimi.pw/mingw_w64_i686_ubuntu12.04_4.9.1.7z -O mingw.7z 24 | sed -e "s|%PREFIX%|i686-w64-mingw32|" \ 25 | -e "s|%ROOTPATH%|/usr/i686-w64-mingw32|" \ 26 | < util/travis/toolchain_mingw.cmake.in > util/buildbot/toolchain_mingw.cmake 27 | sudo 7z x -y -o/usr mingw.7z 28 | elif [[ $PLATFORM == "Win64" ]]; then 29 | wget http://minetest.kitsunemimi.pw/mingw_w64_x86_64_ubuntu12.04_4.9.1.7z -O mingw.7z 30 | sed -e "s|%PREFIX%|x86_64-w64-mingw32|" \ 31 | -e "s|%ROOTPATH%|/usr/x86_64-w64-mingw32|" \ 32 | < util/travis/toolchain_mingw.cmake.in > util/buildbot/toolchain_mingw64.cmake 33 | sudo 7z x -y -o/usr mingw.7z 34 | fi 35 | -------------------------------------------------------------------------------- /util/travis/script.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | 3 | if [[ $PLATFORM == "Unix" ]]; then 4 | mkdir -p travisbuild 5 | cd travisbuild || exit 1 6 | CMAKE_FLAGS='' 7 | if [[ $COMPILER == "g++-6" ]]; then 8 | export CC=gcc-6 9 | export CXX=g++-6 10 | fi 11 | # Clang builds with FreeType fail on Travis 12 | if [[ $CC == "clang" ]]; then 13 | CMAKE_FLAGS+=' -DENABLE_FREETYPE=FALSE' 14 | fi 15 | if [[ $TRAVIS_OS_NAME == "osx" ]]; then 16 | CMAKE_FLAGS+=' -DCUSTOM_GETTEXT_PATH=/usr/local/opt/gettext' 17 | fi 18 | cmake -DCMAKE_BUILD_TYPE=Debug \ 19 | -DRUN_IN_PLACE=TRUE \ 20 | -DENABLE_GETTEXT=TRUE \ 21 | $CMAKE_FLAGS .. 22 | make -j2 23 | echo "Running unit tests." 24 | ../bin/minetest --run-unittests && exit 0 25 | elif [[ $PLATFORM == Win* ]]; then 26 | [[ $CC == "clang" ]] && exit 1 # Not supposed to happen 27 | # We need to have our build directory outside of the minetest directory because 28 | # CMake will otherwise get very very confused with symlinks and complain that 29 | # something is not a subdirectory of something even if it actually is. 30 | # e.g.: 31 | # /home/travis/minetest/minetest/travisbuild/minetest 32 | # \/ \/ \/ 33 | # /home/travis/minetest/minetest/travisbuild/minetest/travisbuild/minetest 34 | # \/ \/ \/ 35 | # /home/travis/minetest/minetest/travisbuild/minetest/travisbuild/minetest/travisbuild/minetest 36 | # You get the idea. 37 | OLDDIR=$(pwd) 38 | cd .. 39 | export EXISTING_MINETEST_DIR=$OLDDIR 40 | export NO_MINETEST_GAME=1 41 | if [[ $PLATFORM == "Win32" ]]; then 42 | "$OLDDIR/util/buildbot/buildwin32.sh" travisbuild && exit 0 43 | elif [[ $PLATFORM == "Win64" ]]; then 44 | "$OLDDIR/util/buildbot/buildwin64.sh" travisbuild && exit 0 45 | fi 46 | else 47 | echo "Unknown platform \"${PLATFORM}\"." 48 | exit 1 49 | fi 50 | 51 | -------------------------------------------------------------------------------- /util/travis/toolchain_mingw.cmake.in: -------------------------------------------------------------------------------- 1 | # Target operating system name 2 | set(CMAKE_SYSTEM_NAME Windows) 3 | 4 | # Compilers to use 5 | set(CMAKE_C_COMPILER %PREFIX%-gcc) 6 | set(CMAKE_CXX_COMPILER %PREFIX%-g++) 7 | set(CMAKE_RC_COMPILER %PREFIX%-windres) 8 | 9 | # Location of the target environment 10 | set(CMAKE_FIND_ROOT_PATH %ROOTPATH%) 11 | 12 | # Adjust the default behaviour of the FIND_XXX() commands: 13 | # search for headers and libraries in the target environment, 14 | # search for programs in the host environment 15 | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) 16 | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 17 | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 18 | 19 | --------------------------------------------------------------------------------