Merged in nearly everything from minetest++

master
Joel Leclerc 2012-04-30 09:43:48 -06:00
parent c25b231c31
commit 2f53cdb085
16 changed files with 221 additions and 82 deletions

View File

@ -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 <celeron55@gmail.com>")
set(CPACK_PACKAGE_VENDOR "TANK")
set(CPACK_PACKAGE_CONTACT "Jordan Craige <jordan4ibanez@gmail.com>")
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

View File

@ -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 <celeron55@gmail.com>
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.

View File

@ -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

View File

@ -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}")

View File

@ -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(),
})

View File

@ -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(),

View File

@ -1,4 +1,12 @@
/*
BlockPlanet
Copyright (C) 2012 MiJyn, Joel Leclerc <mijyn@mail.com>
Contributors:
Jeija
Licensed under GPLv3
Based on:
Minetest-c55
Copyright (C) 2010-2011 celeron55, Perttu Ahola <celeron55@gmail.com>
@ -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);

View File

@ -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"<<std::endl;
@ -1670,7 +1689,7 @@ void the_game(
menu->drop();
}
else if(input->wasKeyDown(EscapeKey))
if(input->wasKeyDown(EscapeKey))
{
infostream<<"the_game: "
<<"Launching pause menu"<<std::endl;
@ -1684,7 +1703,7 @@ void the_game(
else
input->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;
}

View File

@ -1,6 +1,15 @@
/*
BlockPlanet
Copyright (C) 2012 MiJyn, Joel Leclerc <mijyn@mail.com>
Contributors:
Sfan5
Jeija
Licensed under GPLv3
Based on:
Minetest-c55
Copyright (C) 2010-12 celeron55, Perttu Ahola <celeron55@gmail.com>
Copyright (C) 2010-2011 celeron55, Perttu Ahola <celeron55@gmail.com>
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 <celeron55@gmail.com>\n"
"Joel Leclerc <lkjoel@ubuntu.com>\n"
"Joel Leclerc (MiJyn) <mijyn@mail.com>\n"
"Jordan Craige <jordan4girl3@gmail.com>\n"
"sfan5 <sfan5@live.de>\n"
"Jeija <norrepli@gmail.com>\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);
}
}

View File

@ -1,6 +1,14 @@
/*
BlockPlanet
Copyright (C) 2012 MiJyn, Joel Leclerc <mijyn@mail.com>
Contributors:
Jeija
Licensed under GPLv3
Based on:
Minetest-c55
Copyright (C) 2010-2012 celeron55, Perttu Ahola <celeron55@gmail.com>
Copyright (C) 2010-2011 celeron55, Perttu Ahola <celeron55@gmail.com>
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);}

View File

@ -1,4 +1,12 @@
/*
BlockPlanet
Copyright (C) 2012 MiJyn, Joel Leclerc <mijyn@mail.com>
Contributors:
Jeija
Licensed under GPLv3
Based on:
Minetest-c55
Copyright (C) 2010-2011 celeron55, Perttu Ahola <celeron55@gmail.com>
@ -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

View File

@ -1,4 +1,12 @@
/*
BlockPlanet
Copyright (C) 2012 MiJyn, Joel Leclerc <mijyn@mail.com>
Contributors:
Jeija
Licensed under GPLv3
Based on:
Minetest-c55
Copyright (C) 2010-2011 celeron55, Perttu Ahola <celeron55@gmail.com>
@ -1968,7 +1976,7 @@ void make_block(BlockMakeData *data)
}
}
#if 1
#if 0
{
// 340ms @cs=8
TimeTaker timer1("flow mud");

View File

@ -1,4 +1,12 @@
/*
BlockPlanet
Copyright (C) 2012 MiJyn, Joel Leclerc <mijyn@mail.com>
Contributors:
Jeija
Licensed under GPLv3
Based on:
Minetest-c55
Copyright (C) 2010-2011 celeron55, Perttu Ahola <celeron55@gmail.com>
@ -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),

View File

@ -1,4 +1,12 @@
/*
BlockPlanet
Copyright (C) 2012 MiJyn, Joel Leclerc <mijyn@mail.com>
Contributors:
Jeija
Licensed under GPLv3
Based on:
Minetest-c55
Copyright (C) 2010-2011 celeron55, Perttu Ahola <celeron55@gmail.com>
@ -157,6 +165,8 @@ public:
float hurt_tilt_timer_max;
float enable_sprinting_timer;
u16 hunger;
f32 hunger_timer;

View File

@ -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 \

View File

@ -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)