// Fog distance
float fog_distance = 10000 * BS;
- if (g_settings->getBool("enable_fog") && !*m_force_fog_off)
+ if (m_fogEnabled && !*m_force_fog_off)
fog_distance = *m_fog_range;
services->setPixelShaderConstant("fogDistance", &fog_distance, 1);
std::string(FORMSPEC_VERSION_STRING) +
SIZE_TAG
"bgcolor[#320000b4;true]"
- "label[4.85,1.35;You died.]"
+ "label[4.85,1.35;" + gettext("You died.") + "]"
"button_exit[4,3;3,0.5;btn_respawn;" + gettext("Respawn") + "]"
;
LocalFormspecHandler *txt_dst = new LocalFormspecHandler("MT_PAUSE_MENU");
create_formspec_menu(cur_formspec, invmgr, gamedef, tsrc, device, fs_src, txt_dst, NULL);
-
+ (*cur_formspec)->setFocus(L"btn_continue");
(*cur_formspec)->doPause = true;
}
// Misc
void limitFps(FpsControl *fps_timings, f32 *dtime);
- void showOverlayMessage(const char *msg, float dtime, int percent,
+ void showOverlayMessage(const wchar_t *msg, float dtime, int percent,
bool draw_clouds = true);
private:
void Game::shutdown()
{
- showOverlayMessage("Shutting down...", 0, 0, false);
+ showOverlayMessage(wgettext("Shutting down..."), 0, 0, false);
if (clouds)
clouds->drop();
u16 port,
const SubgameSpec &gamespec)
{
- showOverlayMessage("Loading...", 0, 0);
+ showOverlayMessage(wgettext("Loading..."), 0, 0);
texture_src = createTextureSource(device);
shader_src = createShaderSource(device);
bool Game::createSingleplayerServer(const std::string map_dir,
const SubgameSpec &gamespec, u16 port, std::string *address)
{
- showOverlayMessage("Creating server...", 0, 5);
+ showOverlayMessage(wgettext("Creating server..."), 0, 5);
std::string bind_str = g_settings->get("bind_address");
Address bind_addr(0, 0, 0, 0, port);
const std::string &password, std::string *address, u16 port,
std::wstring *error_message)
{
- showOverlayMessage("Creating client...", 0, 10);
+ showOverlayMessage(wgettext("Creating client..."), 0, 10);
draw_control = new MapDrawControl;
if (!draw_control)
*aborted = false;
bool local_server_mode = false;
- showOverlayMessage("Resolving address...", 0, 15);
+ showOverlayMessage(wgettext("Resolving address..."), 0, 15);
Address connect_address(0, 0, 0, 0, port);
}
// Update status
- showOverlayMessage("Connecting to server...", dtime, 20);
+ showOverlayMessage(wgettext("Connecting to server..."), dtime, 20);
}
} catch (con::PeerNotFoundException &e) {
// TODO: Should something be done here? At least an info/error
int progress = 25;
if (!client->itemdefReceived()) {
- wchar_t *text = wgettext("Item definitions...");
+ const wchar_t *text = wgettext("Item definitions...");
progress = 25;
draw_load_screen(text, device, guienv, dtime, progress);
delete[] text;
} else if (!client->nodedefReceived()) {
- wchar_t *text = wgettext("Node definitions...");
+ const wchar_t *text = wgettext("Node definitions...");
progress = 30;
draw_load_screen(text, device, guienv, dtime, progress);
delete[] text;
}
progress = 30 + client->mediaReceiveProgress() * 35 + 0.5;
- draw_load_screen(narrow_to_wide(message.str().c_str()), device,
+ draw_load_screen(narrow_to_wide(message.str()), device,
guienv, dtime, progress);
}
}
void Game::openInventory()
{
+ /*
+ * Don't permit to open inventory is CAO or player doesn't exists.
+ * This prevent showing an empty inventory at player load
+ */
+
+ LocalPlayer *player = client->getEnv().getLocalPlayer();
+ if (player == NULL || player->getCAO() == NULL)
+ return;
+
infostream << "the_game: " << "Launching inventory" << std::endl;
PlayerInventoryFormSource *fs_src = new PlayerInventoryFormSource(client);
v3s16 old_camera_offset = camera->getOffset();
if (input->wasKeyDown(keycache.key[KeyCache::KEYMAP_ID_CAMERA_MODE])) {
- camera->toggleCameraMode();
GenericCAO *playercao = player->getCAO();
- assert(playercao != NULL);
+ // If playercao not loaded, don't change camera
+ if (playercao == NULL)
+ return;
+
+ camera->toggleCameraMode();
playercao->setVisible(camera->getCameraMode() > CAMERA_MODE_FIRST);
}
}
-void Game::showOverlayMessage(const char *msg, float dtime,
+void Game::showOverlayMessage(const wchar_t *msg, float dtime,
int percent, bool draw_clouds)
{
- wchar_t *text = wgettext(msg);
- draw_load_screen(text, device, guienv, dtime, percent, draw_clouds);
- delete[] text;
+ draw_load_screen(msg, device, guienv, dtime, percent, draw_clouds);
+ delete[] msg;
}
errorstream << "ServerError: " << e.what() << std::endl;
} catch (ModError &e) {
errorstream << "ModError: " << e.what() << std::endl;
- error_message = narrow_to_wide(e.what()) + wgettext("\nCheck debug.txt for details.");
+ error_message = narrow_to_wide(e.what()) + wstrgettext("\nCheck debug.txt for details.");
}
}
+