Disable CSM at compile-time (#78)
This commit is contained in:
parent
97a8512c76
commit
1698a96d2a
@ -53,7 +53,8 @@ LOCAL_CFLAGS := -D_IRR_ANDROID_PLATFORM_ \
|
|||||||
-DUSE_GETTEXT=1 \
|
-DUSE_GETTEXT=1 \
|
||||||
-DUSE_LEVELDB=1 \
|
-DUSE_LEVELDB=1 \
|
||||||
$(GPROF_DEF) \
|
$(GPROF_DEF) \
|
||||||
-pipe
|
-pipe \
|
||||||
|
-DDISABLE_CSM
|
||||||
|
|
||||||
ifndef NDEBUG
|
ifndef NDEBUG
|
||||||
LOCAL_CFLAGS += -g -D_DEBUG -O0 -fno-omit-frame-pointer
|
LOCAL_CFLAGS += -g -D_DEBUG -O0 -fno-omit-frame-pointer
|
||||||
|
@ -127,9 +127,11 @@ bool Camera::successfullyCreated(std::string &error_message)
|
|||||||
error_message.clear();
|
error_message.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef DISABLE_CSM
|
||||||
if (g_settings->getBool("enable_client_modding")) {
|
if (g_settings->getBool("enable_client_modding")) {
|
||||||
m_client->getScript()->on_camera_ready(this);
|
m_client->getScript()->on_camera_ready(this);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
return error_message.empty();
|
return error_message.empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -135,14 +135,19 @@ Client::Client(
|
|||||||
}
|
}
|
||||||
m_cache_save_interval = g_settings->getU16("server_map_save_interval");
|
m_cache_save_interval = g_settings->getU16("server_map_save_interval");
|
||||||
|
|
||||||
|
#ifdef DISABLE_CSM
|
||||||
|
m_modding_enabled = false;
|
||||||
|
#else
|
||||||
m_modding_enabled = g_settings->getBool("enable_client_modding");
|
m_modding_enabled = g_settings->getBool("enable_client_modding");
|
||||||
m_script = new ClientScripting(this);
|
m_script = new ClientScripting(this);
|
||||||
m_env.setScript(m_script);
|
m_env.setScript(m_script);
|
||||||
m_script->setEnv(&m_env);
|
m_script->setEnv(&m_env);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void Client::initMods()
|
void Client::initMods()
|
||||||
{
|
{
|
||||||
|
#ifndef DISABLE_CSM
|
||||||
m_script->loadMod(getBuiltinLuaPath() + DIR_DELIM "init.lua", BUILTIN_MOD_NAME);
|
m_script->loadMod(getBuiltinLuaPath() + DIR_DELIM "init.lua", BUILTIN_MOD_NAME);
|
||||||
|
|
||||||
// If modding is not enabled, don't load mods, just builtin
|
// If modding is not enabled, don't load mods, just builtin
|
||||||
@ -180,6 +185,7 @@ void Client::initMods()
|
|||||||
<< script_path << "\"]" << std::endl;
|
<< script_path << "\"]" << std::endl;
|
||||||
m_script->loadMod(script_path, mod.name);
|
m_script->loadMod(script_path, mod.name);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
const std::string &Client::getBuiltinLuaPath()
|
const std::string &Client::getBuiltinLuaPath()
|
||||||
@ -208,8 +214,10 @@ const ModSpec* Client::getModSpec(const std::string &modname) const
|
|||||||
void Client::Stop()
|
void Client::Stop()
|
||||||
{
|
{
|
||||||
m_shutdown = true;
|
m_shutdown = true;
|
||||||
|
#ifndef DISABLE_CSM
|
||||||
// Don't disable this part when modding is disabled, it's used in builtin
|
// Don't disable this part when modding is disabled, it's used in builtin
|
||||||
m_script->on_shutdown();
|
m_script->on_shutdown();
|
||||||
|
#endif
|
||||||
//request all client managed threads to stop
|
//request all client managed threads to stop
|
||||||
m_mesh_update_thread.stop();
|
m_mesh_update_thread.stop();
|
||||||
// Save local server map
|
// Save local server map
|
||||||
@ -1752,10 +1760,12 @@ void Client::afterContentReceived(IrrlichtDevice *device)
|
|||||||
m_state = LC_Ready;
|
m_state = LC_Ready;
|
||||||
sendReady();
|
sendReady();
|
||||||
|
|
||||||
|
#ifndef DISABLE_CSM
|
||||||
if (g_settings->getBool("enable_client_modding")) {
|
if (g_settings->getBool("enable_client_modding")) {
|
||||||
m_script->on_client_ready(m_env.getLocalPlayer());
|
m_script->on_client_ready(m_env.getLocalPlayer());
|
||||||
m_script->on_connect();
|
m_script->on_connect();
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
text = wgettext("Done!");
|
text = wgettext("Done!");
|
||||||
draw_load_screen(text, device, guienv, m_tsrc, 0, 100);
|
draw_load_screen(text, device, guienv, m_tsrc, 0, 100);
|
||||||
|
41
src/game.cpp
41
src/game.cpp
@ -172,6 +172,18 @@ struct LocalFormspecHandler : public TextDest
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef DISABLE_CSM
|
||||||
|
if (m_formname == "MT_DEATH_SCREEN") {
|
||||||
|
assert(m_client);
|
||||||
|
|
||||||
|
if (fields.find("btn_respawn") != fields.end() ||
|
||||||
|
fields.find("quit") != fields.end()) {
|
||||||
|
m_client->sendRespawn();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
// Don't disable this part when modding is disabled, it's used in builtin
|
// Don't disable this part when modding is disabled, it's used in builtin
|
||||||
m_client->getScript()->on_formspec_input(m_formname, fields);
|
m_client->getScript()->on_formspec_input(m_formname, fields);
|
||||||
}
|
}
|
||||||
@ -1347,6 +1359,9 @@ protected:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
void showPauseMenu();
|
void showPauseMenu();
|
||||||
|
#ifdef DISABLE_CSM
|
||||||
|
void showDeathScreen();
|
||||||
|
#endif
|
||||||
|
|
||||||
InputHandler *input;
|
InputHandler *input;
|
||||||
|
|
||||||
@ -3216,8 +3231,13 @@ void Game::processClientEvents(CameraOrientation *cam)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case CE_DEATHSCREEN:
|
case CE_DEATHSCREEN:
|
||||||
|
#ifdef DISABLE_CSM
|
||||||
|
showDeathScreen();
|
||||||
|
chat_backend->addMessage(L"", L"You died.");
|
||||||
|
#else
|
||||||
// This should be enabled for death formspec in builtin
|
// This should be enabled for death formspec in builtin
|
||||||
client->getScript()->on_death();
|
client->getScript()->on_death();
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Handle visualization */
|
/* Handle visualization */
|
||||||
runData.damage_flash = 0;
|
runData.damage_flash = 0;
|
||||||
@ -4785,6 +4805,27 @@ void Game::showPauseMenu()
|
|||||||
current_formspec->doPause = true;
|
current_formspec->doPause = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef DISABLE_CSM
|
||||||
|
void Game::showDeathScreen()
|
||||||
|
{
|
||||||
|
std::string formspec =
|
||||||
|
std::string(FORMSPEC_VERSION_STRING) +
|
||||||
|
SIZE_TAG
|
||||||
|
"bgcolor[#320000b4;true]"
|
||||||
|
"label[4.85,1.35;" + gettext("You died.") + "]"
|
||||||
|
"button_exit[4,3;3,0.5;btn_respawn;" + gettext("Respawn") + "]"
|
||||||
|
;
|
||||||
|
|
||||||
|
/* Create menu */
|
||||||
|
/* Note: FormspecFormSource and LocalFormspecHandler
|
||||||
|
* are deleted by guiFormSpecMenu */
|
||||||
|
FormspecFormSource *fs_src = new FormspecFormSource(formspec);
|
||||||
|
LocalFormspecHandler *txt_dst = new LocalFormspecHandler("MT_DEATH_SCREEN");
|
||||||
|
|
||||||
|
create_formspec_menu(¤t_formspec, client, device, &input->joystick, fs_src, txt_dst);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
extern function for launching the game
|
extern function for launching the game
|
||||||
|
@ -32,6 +32,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
#include "lua_api/l_localplayer.h"
|
#include "lua_api/l_localplayer.h"
|
||||||
#include "lua_api/l_camera.h"
|
#include "lua_api/l_camera.h"
|
||||||
|
|
||||||
|
#ifndef DISABLE_CSM
|
||||||
|
|
||||||
ClientScripting::ClientScripting(Client *client):
|
ClientScripting::ClientScripting(Client *client):
|
||||||
ScriptApiBase()
|
ScriptApiBase()
|
||||||
{
|
{
|
||||||
@ -86,3 +88,5 @@ void ClientScripting::on_camera_ready(Camera *camera)
|
|||||||
{
|
{
|
||||||
LuaCamera::create(getStack(), camera);
|
LuaCamera::create(getStack(), camera);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user