From 2f53cdb085442e7d7bdf1c8834515002b2ed5bbc Mon Sep 17 00:00:00 2001 From: Joel Leclerc Date: Mon, 30 Apr 2012 09:43:48 -0600 Subject: [PATCH] Merged in nearly everything from minetest++ --- CMakeLists.txt | 10 ++-- README.md | 2 +- builtin/item_entity.lua | 5 ++ cmake/Modules/FindCURL.cmake | 70 ++++++++++++++--------- games/minetest/mods/default/init.lua | 2 +- games/minetest/mods/default/leafdecay.lua | 2 +- src/camera.cpp | 33 ++++++++++- src/game.cpp | 68 ++++++++++++++++------ src/guiMainMenu.cpp | 18 +++++- src/localplayer.cpp | 29 +++++++--- src/map.cpp | 10 +++- src/mapgen.cpp | 10 +++- src/player.cpp | 11 ++++ src/player.h | 10 ++++ util/buildbot/buildwin32.sh | 21 +++---- util/buildbot/toolchain_mingw.cmake | 2 +- 16 files changed, 221 insertions(+), 82 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7afdf16..bc8c73d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -131,17 +131,17 @@ set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "An InfiniMiner/Minecraft inspired game") set(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR}) set(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR}) set(CPACK_PACKAGE_VERSION_PATCH ${VERSION_PATCH}) -set(CPACK_PACKAGE_VENDOR "celeron55") -set(CPACK_PACKAGE_CONTACT "Perttu Ahola ") +set(CPACK_PACKAGE_VENDOR "TANK") +set(CPACK_PACKAGE_CONTACT "Jordan Craige ") if(WIN32) # For some reason these aren't copied otherwise # NOTE: For some reason now it seems to work without these #if(BUILD_CLIENT) - # install(FILES bin/minetest.exe DESTINATION bin) + # install(FILES bin/blockplanet.exe DESTINATION bin) #endif() #if(BUILD_SERVER) - # install(FILES bin/minetestserver.exe DESTINATION bin) + # install(FILES bin/blockplanetserver.exe DESTINATION bin) #endif() set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-${VERSION_STRING}-win32") @@ -149,7 +149,7 @@ if(WIN32) set(CPACK_GENERATOR ZIP) # This might be needed for some installer - #set(CPACK_PACKAGE_EXECUTABLES bin/minetest.exe "Minetest" bin/minetestserver.exe "Minetest Server") + #set(CPACK_PACKAGE_EXECUTABLES bin/blockplanet.exe "BlockPlanet" bin/blockplanetserver.exe "BlockPlanet Server") elseif(APPLE) # TODO # see http://cmake.org/Wiki/CMake:CPackPackageGenerators#Bundle_.28OSX_only.29 diff --git a/README.md b/README.md index 7d6cadf..df37cc1 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Minetest++ A game built off of the best free and open source Minecraft clone, Minetest-C55. Copyright (c) 2010-2012 Perttu Ahola -and ther contributors (see source file comments and the version control log) +and their contributors (see source file comments and the version control log) This contains 2 different game modes, Minetest and Minimal. Game mode Minimal is just a test and will be taken out soon. Game mode Minetest has all the cool features. diff --git a/builtin/item_entity.lua b/builtin/item_entity.lua index e1a7bfd..0b62eba 100644 --- a/builtin/item_entity.lua +++ b/builtin/item_entity.lua @@ -30,6 +30,7 @@ minetest.register_entity("__builtin:item", { gravity = true, whocaresaboutnodes = false, lastplayer = false, + timer = 0, set_item = function(self, itemstring) self.itemstring = itemstring @@ -69,6 +70,10 @@ minetest.register_entity("__builtin:item", { end, on_step = function(self, dtime) + self.timer = self.timer + dtime + if (self.timer > 300) then + self.object:remove() + end local p = self.object:getpos() p.y = p.y - 0.3 local nn = minetest.env:get_node(p).name diff --git a/cmake/Modules/FindCURL.cmake b/cmake/Modules/FindCURL.cmake index 65ebdef..feee10c 100644 --- a/cmake/Modules/FindCURL.cmake +++ b/cmake/Modules/FindCURL.cmake @@ -1,32 +1,48 @@ # - Find CURL # Find the native CURL includes and libraries # -# CURL_INCLUDE_DIR - where to find vorbis.h, etc. -# CURL_LIBRARIES - List of libraries when using vorbis(file). -# CURL_FOUND - True if vorbis found. +# CURL_INCLUDE_DIR - where to find vorbis.h, etc. +# CURL_LIBRARIES - List of libraries when using vorbis(file). +# CURL_FOUND - True if vorbis found. +if( UNIX ) + FIND_PATH(CURL_INCLUDE_DIR NAMES curl.h + PATHS + /usr/local/include/curl + /usr/include/curl + ) -if(NOT GP2XWIZ) - if(CURL_INCLUDE_DIR) - # Already in cache, be silent - set(CURL_FIND_QUIETLY TRUE) - endif(CURL_INCLUDE_DIR) - find_library(CURL_LIBRARY NAMES curl) - # Handle the QUIETLY and REQUIRED arguments and set VORBIS_FOUND - # to TRUE if all listed variables are TRUE. - include(FindPackageHandleStandardArgs) - find_package_handle_standard_args(CURL DEFAULT_MSG CURL_INCLUDE_DIR CURL_LIBRARY) -else(NOT GP2XWIZ) - find_package_handle_standard_args(VORBIS DEFAULT_MSG - CURL_INCLUDE_DIR CURL_LIBRARY) -endif(NOT GP2XWIZ) - -if(CURL_FOUND) - if(NOT GP2XWIZ) - set(CURL_LIBRARY ${CURL_LIBRARY}) - else(NOT GP2XWIZ) - set(CURL_LIBRARY ${CURL_LIBRARY}) - endif(NOT GP2XWIZ) -else(CURL_FOUND) - set(CURL_LIBRARY) -endif(CURL_FOUND) + FIND_LIBRARY(CURL_LIBRARY NAMES libcurl.a curl + PATHS + /usr/local/lib + /usr/lib + ) +else( UNIX ) + if(NOT GP2XWIZ) + if(CURL_INCLUDE_DIR) + # Already in cache, be silent + set(CURL_FIND_QUIETLY TRUE) + endif(CURL_INCLUDE_DIR) + find_library(CURL_LIBRARY NAMES curl) + # Handle the QUIETLY and REQUIRED arguments and set VORBIS_FOUND + # to TRUE if all listed variables are TRUE. + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(CURL DEFAULT_MSG CURL_INCLUDE_DIR CURL_LIBRARY) + else(NOT GP2XWIZ) + find_package_handle_standard_args(VORBIS DEFAULT_MSG + CURL_INCLUDE_DIR CURL_LIBRARY) + endif(NOT GP2XWIZ) + if(CURL_FOUND) + if(NOT GP2XWIZ) + set(CURL_LIBRARY ${CURL_LIBRARY}) + else(NOT GP2XWIZ) + set(CURL_LIBRARY ${CURL_LIBRARY}) + endif(NOT GP2XWIZ) + else(CURL_FOUND) + set(CURL_LIBRARY) + endif(CURL_FOUND) +endif( UNIX ) + +MESSAGE(STATUS "CURL_SOURCE_DIR = ${CURL_SOURCE_DIR}") +MESSAGE(STATUS "CURL_INCLUDE_DIR = ${CURL_INCLUDE_DIR}") +MESSAGE(STATUS "CURL_LIBRARY = ${CURL_LIBRARY}") diff --git a/games/minetest/mods/default/init.lua b/games/minetest/mods/default/init.lua index b6b9966..8eb6fd2 100644 --- a/games/minetest/mods/default/init.lua +++ b/games/minetest/mods/default/init.lua @@ -1292,7 +1292,7 @@ minetest.register_node("default:apple", { paramtype = "light", sunlight_propagates = true, walkable = false, - groups = {fleshy=3,dig_immediate=3,flammable=2}, + groups = {fleshy=3,dig_immediate=3,flammable=2,leafdecay=2}, on_use = minetest.item_eat(4, 2), sounds = default.node_sound_defaults(), }) diff --git a/games/minetest/mods/default/leafdecay.lua b/games/minetest/mods/default/leafdecay.lua index 8f4ff97..add5b7a 100644 --- a/games/minetest/mods/default/leafdecay.lua +++ b/games/minetest/mods/default/leafdecay.lua @@ -75,7 +75,7 @@ minetest.register_abm({ -- Drop stuff other than the node itself itemstacks = minetest.get_node_drops(n0.name) for _, itemname in ipairs(itemstacks) do - if itemname ~= n0.name then + if itemname ~= n0.name or minetest.get_item_group(itemname, "leafdecay") == 2 then local p_drop = { x = p0.x - 0.5 + math.random(), y = p0.y - 0.5 + math.random(), diff --git a/src/camera.cpp b/src/camera.cpp index 83a5ed9..160626a 100644 --- a/src/camera.cpp +++ b/src/camera.cpp @@ -1,4 +1,12 @@ /* +BlockPlanet +Copyright (C) 2012 MiJyn, Joel Leclerc +Contributors: +Jeija +Licensed under GPLv3 + + +Based on: Minetest-c55 Copyright (C) 2010-2011 celeron55, Perttu Ahola @@ -218,11 +226,25 @@ void Camera::update(LocalPlayer* player, f32 frametime, v2u32 screensize, m_playernode->updateAbsolutePosition(); //Get camera tilt timer (hurt animation) - float cameratilt = fabs(fabs(-(player->hurt_tilt_timer_max/2)+player->hurt_tilt_timer)-player->hurt_tilt_timer_max/2); + float cameratilt = fabs(fabs(-(player->hurt_tilt_timer_max/2)+player->hurt_tilt_timer)-player->hurt_tilt_timer_max/2)/5; + + v3f campos(player->getEyeOffset()); + v3f camrot(player->getPitch(), 0, 0); + + m_headnode->updateAbsolutePosition(); + if (cameratilt > 0) + { + campos += v3f(0, cameratilt * -13, 0); + camrot += v3f(0, 0, cameratilt * 13 * BS); + } + if(player->is_sprinting) + { + campos += v3f(0, 0, 0.3 * BS); + } // Set head node transformation - m_headnode->setPosition(player->getEyeOffset()+v3f(0,cameratilt*-13,0)); - m_headnode->setRotation(v3f(player->getPitch(), 0, cameratilt*13)); + m_headnode->setPosition(campos); + m_headnode->setRotation(camrot); m_headnode->updateAbsolutePosition(); // Compute relative camera position and target @@ -297,6 +319,11 @@ void Camera::update(LocalPlayer* player, f32 frametime, v2u32 screensize, m_fov_y *= MYMAX(1.0, MYMIN(1.4, sqrt(16./10. / m_aspect))); // WTF is this? It can't be right m_fov_x = 2 * atan(0.5 * m_aspect * tan(m_fov_y)); + if(player->is_sprinting) + { + m_fov_x += 0.3; + m_fov_y += 0.3; + } m_cameranode->setAspectRatio(m_aspect); m_cameranode->setFOV(m_fov_y); diff --git a/src/game.cpp b/src/game.cpp index 469946a..81f4a91 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -1402,8 +1402,8 @@ void the_game( u32 lasttime = device->getTimer()->getTime(); LocalPlayer* player = client.getEnv().getLocalPlayer(); - player->hurt_tilt_timer=0; - player->hurt_tilt_timer_max=0; + /*player->hurt_tilt_timer=0; + player->hurt_tilt_timer_max=0;*/ for(;;) { @@ -1632,6 +1632,25 @@ void the_game( /* Launch menus and trigger stuff according to keys */ + if(input->isKeyDown(getKeySetting("keymap_forward"))) + { + if(player->enable_sprinting_timer > 0) + { + player->is_sprinting = true; + } + player->enable_sprinting_timer = -1; + } + else + { + if (player->is_sprinting) + { + player->is_sprinting = false; + } + if (player->enable_sprinting_timer == -1) + { + player->enable_sprinting_timer = 0.2; + } + } if(input->wasKeyDown(getKeySetting("keymap_drop"))) { // drop selected item @@ -1642,7 +1661,7 @@ void the_game( a->from_i = client.getPlayerItem(); client.inventoryAction(a); } - else if(input->wasKeyDown(getKeySetting("keymap_inventory"))) + if(input->wasKeyDown(getKeySetting("keymap_inventory"))) { infostream<<"the_game: " <<"Launching inventory"<drop(); } - else if(input->wasKeyDown(EscapeKey)) + if(input->wasKeyDown(EscapeKey)) { infostream<<"the_game: " <<"Launching pause menu"<setMousePos(displaycenter.X, displaycenter.Y+25); } - else if(input->wasKeyDown(getKeySetting("keymap_chat"))) + if(input->wasKeyDown(getKeySetting("keymap_chat"))) { TextDest *dest = new TextDestChat(&client); @@ -1692,7 +1711,7 @@ void the_game( &g_menumgr, dest, L""))->drop(); } - else if(input->wasKeyDown(getKeySetting("keymap_cmd"))) + if(input->wasKeyDown(getKeySetting("keymap_cmd"))) { TextDest *dest = new TextDestChat(&client); @@ -1700,7 +1719,7 @@ void the_game( &g_menumgr, dest, L"/"))->drop(); } - else if(input->wasKeyDown(getKeySetting("keymap_console"))) + if(input->wasKeyDown(getKeySetting("keymap_console"))) { if (!gui_chat_console->isOpenInhibited()) { @@ -1709,7 +1728,7 @@ void the_game( guienv->setFocus(gui_chat_console); } } - else if(input->wasKeyDown(getKeySetting("keymap_freemove"))) + if(input->wasKeyDown(getKeySetting("keymap_freemove"))) { if(g_settings->getBool("free_move")) { @@ -1726,7 +1745,7 @@ void the_game( statustext += L" (note: no 'fly' privilege)"; } } - else if(input->wasKeyDown(getKeySetting("keymap_fastmove"))) + if(input->wasKeyDown(getKeySetting("keymap_fastmove"))) { if(g_settings->getBool("fast_move")) { @@ -1743,7 +1762,7 @@ void the_game( statustext += L" (note: no 'fast' privilege)"; } } - else if(input->wasKeyDown(getKeySetting("keymap_screenshot"))) + if(input->wasKeyDown(getKeySetting("keymap_screenshot"))) { irr::video::IImage* const image = driver->createScreenShot(); if (image) { @@ -1763,7 +1782,7 @@ void the_game( image->drop(); } } - else if(input->wasKeyDown(getKeySetting("keymap_toggle_hud"))) + if(input->wasKeyDown(getKeySetting("keymap_toggle_hud"))) { show_hud = !show_hud; if(show_hud) @@ -1772,7 +1791,7 @@ void the_game( statustext = L"HUD hidden"; statustext_time = 0; } - else if(input->wasKeyDown(getKeySetting("keymap_toggle_chat"))) + if(input->wasKeyDown(getKeySetting("keymap_toggle_chat"))) { show_chat = !show_chat; if(show_chat) @@ -1781,7 +1800,7 @@ void the_game( statustext = L"Chat hidden"; statustext_time = 0; } - else if(input->wasKeyDown(getKeySetting("keymap_toggle_force_fog_off"))) + if(input->wasKeyDown(getKeySetting("keymap_toggle_force_fog_off"))) { force_fog_off = !force_fog_off; if(force_fog_off) @@ -1790,7 +1809,7 @@ void the_game( statustext = L"Fog enabled"; statustext_time = 0; } - else if(input->wasKeyDown(getKeySetting("keymap_toggle_update_camera"))) + if(input->wasKeyDown(getKeySetting("keymap_toggle_update_camera"))) { disable_camera_update = !disable_camera_update; if(disable_camera_update) @@ -1799,7 +1818,7 @@ void the_game( statustext = L"Camera update enabled"; statustext_time = 0; } - else if(input->wasKeyDown(getKeySetting("keymap_toggle_debug"))) + if(input->wasKeyDown(getKeySetting("keymap_toggle_debug"))) { // Initial / 3x toggle: Chat only // 1x toggle: Debug text with chat @@ -1825,7 +1844,7 @@ void the_game( statustext_time = 0; } } - else if(input->wasKeyDown(getKeySetting("keymap_toggle_profiler"))) + if(input->wasKeyDown(getKeySetting("keymap_toggle_profiler"))) { show_profiler = (show_profiler + 1) % (show_profiler_max + 1); @@ -1847,7 +1866,7 @@ void the_game( statustext_time = 0; } } - else if(input->wasKeyDown(getKeySetting("keymap_increase_viewing_range_min"))) + if(input->wasKeyDown(getKeySetting("keymap_increase_viewing_range_min"))) { s16 range = g_settings->getS16("viewing_range_nodes_min"); s16 range_new = range + 10; @@ -1857,7 +1876,7 @@ void the_game( + itos(range_new)); statustext_time = 0; } - else if(input->wasKeyDown(getKeySetting("keymap_decrease_viewing_range_min"))) + if(input->wasKeyDown(getKeySetting("keymap_decrease_viewing_range_min"))) { s16 range = g_settings->getS16("viewing_range_nodes_min"); s16 range_new = range - 10; @@ -2106,7 +2125,7 @@ void the_game( chat_backend.addMessage(L"", L"You died."); /* Handle visualization */ - LocalPlayer* player = client.getEnv().getLocalPlayer(); + //LocalPlayer* player = client.getEnv().getLocalPlayer(); player->hurt_tilt_timer = 0; player->hurt_tilt_timer_max = 0; @@ -2937,7 +2956,18 @@ void the_game( { player->hurt_tilt_timer -= dtime*5; if(player->hurt_tilt_timer < 0.0) + { player->hurt_tilt_timer_max = 0; + player->hurt_tilt_timer = 0; + } + } + + /* + Time that has to pass between key_forward presses to enable sprinting + */ + if(player->enable_sprinting_timer > 0.0) + { + player->enable_sprinting_timer -= dtime; } diff --git a/src/guiMainMenu.cpp b/src/guiMainMenu.cpp index 35db822..190cc15 100644 --- a/src/guiMainMenu.cpp +++ b/src/guiMainMenu.cpp @@ -1,6 +1,15 @@ /* +BlockPlanet +Copyright (C) 2012 MiJyn, Joel Leclerc +Contributors: +Sfan5 +Jeija +Licensed under GPLv3 + + +Based on: Minetest-c55 -Copyright (C) 2010-12 celeron55, Perttu Ahola +Copyright (C) 2010-2011 celeron55, Perttu Ahola This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -608,10 +617,13 @@ void GUIMainMenu::regenerateGui(v2u32 screensize) "\n" "By:\n" "Perttu Ahola \n" - "Joel Leclerc \n" + "Joel Leclerc (MiJyn) \n" "Jordan Craige \n" + "sfan5 \n" + "Jeija \n" + "\n" "For a full list of contributors go here:\n" - "http://minetestpp.tk/contributors/" + "http://www.blockpla.net/contributors/" ).c_str(), rect, false, true, this, -1); } } diff --git a/src/localplayer.cpp b/src/localplayer.cpp index 0b6c306..225dab1 100644 --- a/src/localplayer.cpp +++ b/src/localplayer.cpp @@ -1,6 +1,14 @@ /* +BlockPlanet +Copyright (C) 2012 MiJyn, Joel Leclerc +Contributors: +Jeija +Licensed under GPLv3 + + +Based on: Minetest-c55 -Copyright (C) 2010-2012 celeron55, Perttu Ahola +Copyright (C) 2010-2011 celeron55, Perttu Ahola This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -66,8 +74,8 @@ void LocalPlayer::move(f32 dtime, Map &map, f32 pos_max_d, // Skip collision detection if a special movement mode is used bool fly_allowed = m_gamedef->checkLocalPrivilege("fly"); bool free_move = fly_allowed && g_settings->getBool("free_move"); - bool fast_allowed = m_gamedef->checkLocalPrivilege("fast"); - bool fast_move = fast_allowed && g_settings->getBool("fast_move"); + //bool fast_allowed = m_gamedef->checkLocalPrivilege("fast"); + //bool fast_move = fast_allowed && g_settings->getBool("fast_move"); //if(free_move) //{ // setPosition(position); @@ -131,7 +139,7 @@ void LocalPlayer::move(f32 dtime, Map &map, f32 pos_max_d, } is_flying = free_move; - is_sprinting = fast_move; + //is_sprinting = fast_move; /* Collision uncertainty radius @@ -503,7 +511,7 @@ void LocalPlayer::applyControl(float dtime) bool fast_move = fast_allowed && g_settings->getBool("fast_move"); bool continuous_forward = g_settings->getBool("continuous_forward"); - if (!in_water) + if (!in_water || free_move) { speed.X=speed.X*0.85; speed.Z=speed.Z*0.85; @@ -528,6 +536,10 @@ void LocalPlayer::applyControl(float dtime) if(control.up) { speed += move_direction; + if (is_sprinting) + { + speed += move_direction*0.5; + } } if(control.down) { @@ -602,13 +614,16 @@ void LocalPlayer::applyControl(float dtime) speed.Z=speed.Z*1.1; } - if(in_water_stable || in_water) + if((in_water_stable || in_water) && !free_move) { speed.Y=speed.Y*0.95-0.1*BS; } if(control.sneak) - speed = speed / 1.5; + { + speed.X = speed.X / 1.5; + speed.Z = speed.Z / 1.5; + } if(abs(speed.X)>maxspeed) {speed.X=maxspeed*(abs(speed.X)/speed.X);} diff --git a/src/map.cpp b/src/map.cpp index 13f59bf..8da2200 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -1,4 +1,12 @@ /* +BlockPlanet +Copyright (C) 2012 MiJyn, Joel Leclerc +Contributors: +Jeija +Licensed under GPLv3 + + +Based on: Minetest-c55 Copyright (C) 2010-2011 celeron55, Perttu Ahola @@ -2274,7 +2282,7 @@ MapBlock* ServerMap::finishBlockMake(mapgen::BlockMakeData *data, y<=blockpos_max.Y+extra_borders.Y; y++) { v3s16 p(x, y, z); - getBlockNoCreateNoEx(p)->setLightingExpired(true); + getBlockNoCreateNoEx(p)->setLightingExpired(false); } #if 0 diff --git a/src/mapgen.cpp b/src/mapgen.cpp index 1c52878..1754c26 100644 --- a/src/mapgen.cpp +++ b/src/mapgen.cpp @@ -1,4 +1,12 @@ /* +BlockPlanet +Copyright (C) 2012 MiJyn, Joel Leclerc +Contributors: +Jeija +Licensed under GPLv3 + + +Based on: Minetest-c55 Copyright (C) 2010-2011 celeron55, Perttu Ahola @@ -1968,7 +1976,7 @@ void make_block(BlockMakeData *data) } } -#if 1 +#if 0 { // 340ms @cs=8 TimeTaker timer1("flow mud"); diff --git a/src/player.cpp b/src/player.cpp index f5986dd..937b887 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -1,4 +1,12 @@ /* +BlockPlanet +Copyright (C) 2012 MiJyn, Joel Leclerc +Contributors: +Jeija +Licensed under GPLv3 + + +Based on: Minetest-c55 Copyright (C) 2010-2011 celeron55, Perttu Ahola @@ -36,6 +44,9 @@ Player::Player(IGameDef *gamedef): camera_barely_in_ceiling(false), inventory(gamedef->idef()), hp(PLAYER_MAX_HP), + hurt_tilt_timer(0), + hurt_tilt_timer_max(0), + enable_sprinting_timer(0), hunger(PLAYER_MAX_HUNGER), hunger_timer(0.0), hunger_hurt_heal_timer(0.0), diff --git a/src/player.h b/src/player.h index ced03c2..ea11b27 100644 --- a/src/player.h +++ b/src/player.h @@ -1,4 +1,12 @@ /* +BlockPlanet +Copyright (C) 2012 MiJyn, Joel Leclerc +Contributors: +Jeija +Licensed under GPLv3 + + +Based on: Minetest-c55 Copyright (C) 2010-2011 celeron55, Perttu Ahola @@ -157,6 +165,8 @@ public: float hurt_tilt_timer_max; + float enable_sprinting_timer; + u16 hunger; f32 hunger_timer; diff --git a/util/buildbot/buildwin32.sh b/util/buildbot/buildwin32.sh index dff9dd2..5b8c53c 100755 --- a/util/buildbot/buildwin32.sh +++ b/util/buildbot/buildwin32.sh @@ -16,6 +16,7 @@ mingwm10_dll_file=$dir/mingwm10.dll irrlicht_version=1.7.2 ogg_version=1.2.1 vorbis_version=1.3.2 +curl_verison=7.25.0 # unzip -l $openal_stripped_file: # 0 2012-04-03 00:25 openal_stripped/ @@ -47,18 +48,17 @@ wget http://switch.dl.sourceforge.net/project/winlibs/libvorbis/libvorbis-$vorbi -c -O $packagedir/libvorbis-$vorbis_version-dev.7z || exit 1 wget http://switch.dl.sourceforge.net/project/winlibs/libvorbis/libvorbis-$vorbis_version-dll.7z \ -c -O $packagedir/libvorbis-$vorbis_version-dll.7z || exit 1 +wget http://curl.haxx.se/gknw.net/win32/curl-$curl_version-devel-mingw32.zip \ + -c -O $packagedir/curl-$curl_version-devel-mingw32.zip || exit 1 wget http://github.com/celeron55/minetest/zipball/master \ -c -O $packagedir/minetest.zip || exit 1 cp $openal_stripped_file $packagedir/openal_stripped.zip || exit 1 cp $mingwm10_dll_file $packagedir/mingwm10.dll || exit 1 -wget http://github.com/celeron55/minetest_game/zipball/master \ - -c -O $packagedir/minetest_game.zip || exit 1 # Figure out some path names from the packages -minetestdirname=`unzip -l $packagedir/minetest.zip | head -n 7 | tail -n 1 | sed -e 's/^[^c]*//' -e 's/\/.*$//'` +minetestdirname=`unzip -l $packagedir/minetest.zip | head -n 7 | tail -n 1 | sed -e 's/^[^j]*//' -e 's/\/.*$//'` minetestdir=$builddir/$minetestdirname || exit 1 -git_hash=`echo $minetestdirname | sed -e 's/celeron55-minetest-//'` -minetest_gamedirname=`unzip -l $packagedir/minetest_game.zip | head -n 7 | tail -n 1 | sed -e 's/^[^c]*//' -e 's/\/.*$//'` +git_hash=`echo $minetestdirname | sed -e 's/jordan4ibanez-minetest-//'` # Extract stuff cd $libdir || exit 1 @@ -70,6 +70,7 @@ unzip -o $packagedir/zlib125dll.zip -d zlib125dll || exit 1 7z x -y -olibvorbis $packagedir/libvorbis-$vorbis_version-dev.7z || exit 1 7z x -y -olibvorbis $packagedir/libvorbis-$vorbis_version-dll.7z || exit 1 unzip -o $packagedir/openal_stripped.zip || exit 1 +unzip -o $packagedir/curl-$curl_version-devel-mingw32.zip || exit 1 cd $builddir || exit 1 unzip -o $packagedir/minetest.zip || exit 1 @@ -77,13 +78,6 @@ unzip -o $packagedir/minetest.zip || exit 1 rm -rf $builddir/minetest ln -s $minetestdir $builddir/minetest -# Extract minetest_game -cd $minetestdir/games || exit 1 -rm -rf minetest_game || exit 1 -unzip -o $packagedir/minetest_game.zip || exit 1 -minetest_gamedir=$minetestdir/games/$minetest_gamedirname || exit 1 -mv $minetest_gamedir $minetestdir/games/minetest_game || exit 1 - # Build the thing cd $minetestdir || exit 1 mkdir -p build || exit 1 @@ -106,6 +100,9 @@ cmake $minetestdir -DCMAKE_TOOLCHAIN_FILE=$toolchain_file -DENABLE_SOUND=1 \ -DOPENAL_INCLUDE_DIR=$libdir/openal_stripped/include \ -DOPENAL_LIBRARY=$libdir/openal_stripped/lib/OpenAL32.lib \ -DOPENAL_DLL=$libdir/openal_stripped/bin/OpenAL32.dll \ + -DCURL_INCLUDE_DIR=$libdir/curl-$curl_version-devel-mingw32/include \ + -DCURL_LIBRARY=$libdir/curl-$curl_version-devel-mingw32/lib/libcurl.a \ + -DCURL_DLL=$libdir/curl-$curl_version-devel-mingw32/bin/libcurl.dll \ -DMINGWM10_DLL=$packagedir/mingwm10.dll \ -DCMAKE_INSTALL_PREFIX=/tmp \ -DVERSION_EXTRA=$git_hash \ diff --git a/util/buildbot/toolchain_mingw.cmake b/util/buildbot/toolchain_mingw.cmake index 8f5edd3..5cd845b 100644 --- a/util/buildbot/toolchain_mingw.cmake +++ b/util/buildbot/toolchain_mingw.cmake @@ -1,5 +1,5 @@ # name of the target operating system - SET(CMAKE_SYSTEM_NAME Windows) +SET(CMAKE_SYSTEM_NAME Windows) # which compilers to use for C and C++ SET(CMAKE_C_COMPILER i586-mingw32msvc-gcc)