2011-04-23 11:31:31 -04:00
|
|
|
/*
|
2013-02-24 12:40:43 -05:00
|
|
|
Minetest
|
2013-02-24 13:38:45 -05:00
|
|
|
Copyright (C) 2010-2013 celeron55, Perttu Ahola <celeron55@gmail.com>
|
2011-04-23 11:31:31 -04:00
|
|
|
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
2012-06-05 10:56:56 -04:00
|
|
|
it under the terms of the GNU Lesser General Public License as published by
|
|
|
|
the Free Software Foundation; either version 2.1 of the License, or
|
2011-04-23 11:31:31 -04:00
|
|
|
(at your option) any later version.
|
|
|
|
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
2012-06-05 10:56:56 -04:00
|
|
|
GNU Lesser General Public License for more details.
|
2011-04-23 11:31:31 -04:00
|
|
|
|
2012-06-05 10:56:56 -04:00
|
|
|
You should have received a copy of the GNU Lesser General Public License along
|
2011-04-23 11:31:31 -04:00
|
|
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
|
|
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "game.h"
|
2012-06-16 21:00:31 -04:00
|
|
|
#include "irrlichttypes_extrabloated.h"
|
2011-10-12 06:53:38 -04:00
|
|
|
#include <IGUICheckBox.h>
|
|
|
|
#include <IGUIEditBox.h>
|
|
|
|
#include <IGUIButton.h>
|
|
|
|
#include <IGUIStaticText.h>
|
|
|
|
#include <IGUIFont.h>
|
2012-11-30 20:02:16 -05:00
|
|
|
#include <IMaterialRendererServices.h>
|
2013-04-07 14:22:06 -04:00
|
|
|
#include "IMeshCache.h"
|
2011-04-23 11:31:31 -04:00
|
|
|
#include "client.h"
|
|
|
|
#include "server.h"
|
2011-05-22 16:09:12 -04:00
|
|
|
#include "guiPasswordChange.h"
|
2013-02-23 10:01:35 -05:00
|
|
|
#include "guiVolumeChange.h"
|
2014-09-20 23:21:11 -04:00
|
|
|
#include "guiKeyChangeMenu.h"
|
2012-07-15 12:19:38 -04:00
|
|
|
#include "guiFormSpecMenu.h"
|
2012-02-28 12:45:23 -05:00
|
|
|
#include "tool.h"
|
2011-12-03 03:01:14 -05:00
|
|
|
#include "guiChatConsole.h"
|
2011-04-24 04:41:33 -04:00
|
|
|
#include "config.h"
|
2013-09-24 22:29:07 -04:00
|
|
|
#include "version.h"
|
2011-04-29 08:34:26 -04:00
|
|
|
#include "clouds.h"
|
2012-12-31 13:33:36 -05:00
|
|
|
#include "particles.h"
|
2011-09-07 19:08:47 -04:00
|
|
|
#include "camera.h"
|
2011-06-25 19:34:36 -04:00
|
|
|
#include "mapblock.h"
|
2011-10-12 06:53:38 -04:00
|
|
|
#include "settings.h"
|
|
|
|
#include "profiler.h"
|
|
|
|
#include "mainmenumanager.h"
|
2011-10-15 07:46:59 -04:00
|
|
|
#include "gettext.h"
|
2011-10-16 07:57:53 -04:00
|
|
|
#include "log.h"
|
2011-10-16 09:16:47 -04:00
|
|
|
#include "filesys.h"
|
2011-11-13 03:57:55 -05:00
|
|
|
// Needed for determining pointing to nodes
|
2011-11-14 14:41:30 -05:00
|
|
|
#include "nodedef.h"
|
2011-11-13 05:54:33 -05:00
|
|
|
#include "nodemetadata.h"
|
2011-11-13 17:19:48 -05:00
|
|
|
#include "main.h" // For g_settings
|
2012-01-12 00:10:39 -05:00
|
|
|
#include "itemdef.h"
|
2011-11-15 06:13:18 -05:00
|
|
|
#include "tile.h" // For TextureSource
|
2012-03-18 21:59:12 -04:00
|
|
|
#include "shader.h" // For ShaderSource
|
2011-11-27 07:29:48 -05:00
|
|
|
#include "logoutputbuffer.h"
|
2012-03-11 08:54:23 -04:00
|
|
|
#include "subgame.h"
|
2012-03-12 15:27:29 -04:00
|
|
|
#include "quicktune_shortcutter.h"
|
2012-03-15 18:25:18 -04:00
|
|
|
#include "clientmap.h"
|
2013-04-13 18:20:22 -04:00
|
|
|
#include "hud.h"
|
2012-03-16 10:34:30 -04:00
|
|
|
#include "sky.h"
|
2012-03-23 06:05:17 -04:00
|
|
|
#include "sound.h"
|
2012-03-25 04:50:29 -04:00
|
|
|
#if USE_SOUND
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
#include "sound_openal.h"
|
2012-03-23 09:29:30 -04:00
|
|
|
#endif
|
2012-03-23 14:23:03 -04:00
|
|
|
#include "event_manager.h"
|
2013-05-31 19:49:59 -04:00
|
|
|
#include <iomanip>
|
2012-03-20 21:33:02 -04:00
|
|
|
#include <list>
|
2012-03-18 23:25:09 -04:00
|
|
|
#include "util/directiontables.h"
|
Rewrite client media download and support hash-based remote download
Move most of the media-related code in client.cpp into a new class
ClientMediaDownloader (clientmedia.cpp, clientmedia.h). Among other
things, this class does the following things:
- Download [remote_server][sha1] instead of [remote_server][name]. This
is to support servers that provide the same file name with different
contents.
- Initially fetch [remote_server]index.mth. This file should follow the
Minetest Hashset format (currently version 1) and contain a list of SHA1
hashes that exist on the server.
- The list of needed SHA1s is uploaded (via HTTP POST) when index.mth is
requested, so servers can optionally narrow down the list to the needs
of the client.
- If index.mth is missing (HTTP response code 404), we enter compat mode,
fetching [remote_server][name] as before this commit.
- remote_server can now contain multiple servers, separated by commas.
The downloader code attempts to split requests between the different
servers, as permitted by each server's index.mth. If one server claims
to have a file but actually doesn't (or something fails), we ask a
different server that also claims to have it.
- As before, when none of the remote servers provide a particular
file, we download it via the conventional method, i.e. using
the minetest protocol: TOSERVER_REQUEST_MEDIA / TOCLIENT_MEDIA.
- Bugfix: Every downloaded file's SHA1 is now verified against the SHA1
announced by the minetest server (before loading it and inserting it
into the file cache).
- Bugfix: Only send TOSERVER_RECEIVED_MEDIA when we actually have all
media. This should fix #863.
2013-08-28 23:22:18 -04:00
|
|
|
#include "util/pointedthing.h"
|
2014-04-27 10:09:21 -04:00
|
|
|
#include "drawscene.h"
|
|
|
|
#include "content_cao.h"
|
2011-06-17 15:20:15 -04:00
|
|
|
|
2014-04-21 08:10:59 -04:00
|
|
|
#ifdef HAVE_TOUCHSCREENGUI
|
|
|
|
#include "touchscreengui.h"
|
|
|
|
#endif
|
|
|
|
|
2011-04-23 11:31:31 -04:00
|
|
|
/*
|
|
|
|
Text input system
|
|
|
|
*/
|
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
struct TextDestNodeMetadata : public TextDest {
|
2011-11-13 05:48:05 -05:00
|
|
|
TextDestNodeMetadata(v3s16 p, Client *client)
|
2011-04-23 11:31:31 -04:00
|
|
|
{
|
|
|
|
m_p = p;
|
|
|
|
m_client = client;
|
|
|
|
}
|
2012-07-15 12:19:38 -04:00
|
|
|
// This is deprecated I guess? -celeron55
|
2011-04-23 11:31:31 -04:00
|
|
|
void gotText(std::wstring text)
|
|
|
|
{
|
|
|
|
std::string ntext = wide_to_narrow(text);
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
infostream << "Submitting 'text' field of node at (" << m_p.X << ","
|
|
|
|
<< m_p.Y << "," << m_p.Z << "): " << ntext << std::endl;
|
2012-06-01 13:51:15 -04:00
|
|
|
std::map<std::string, std::string> fields;
|
|
|
|
fields["text"] = ntext;
|
|
|
|
m_client->sendNodemetaFields(m_p, "", fields);
|
2011-04-23 11:31:31 -04:00
|
|
|
}
|
2012-07-15 12:19:38 -04:00
|
|
|
void gotText(std::map<std::string, std::string> fields)
|
|
|
|
{
|
|
|
|
m_client->sendNodemetaFields(m_p, "", fields);
|
|
|
|
}
|
2011-04-23 11:31:31 -04:00
|
|
|
|
|
|
|
v3s16 m_p;
|
|
|
|
Client *m_client;
|
|
|
|
};
|
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
struct TextDestPlayerInventory : public TextDest {
|
2012-07-22 10:10:58 -04:00
|
|
|
TextDestPlayerInventory(Client *client)
|
|
|
|
{
|
|
|
|
m_client = client;
|
2013-01-03 12:59:28 -05:00
|
|
|
m_formname = "";
|
|
|
|
}
|
|
|
|
TextDestPlayerInventory(Client *client, std::string formname)
|
|
|
|
{
|
|
|
|
m_client = client;
|
|
|
|
m_formname = formname;
|
2012-07-22 10:10:58 -04:00
|
|
|
}
|
|
|
|
void gotText(std::map<std::string, std::string> fields)
|
|
|
|
{
|
2013-01-03 12:59:28 -05:00
|
|
|
m_client->sendInventoryFields(m_formname, fields);
|
2012-07-22 10:10:58 -04:00
|
|
|
}
|
|
|
|
|
2014-03-04 13:57:39 -05:00
|
|
|
Client *m_client;
|
|
|
|
};
|
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
struct LocalFormspecHandler : public TextDest {
|
2014-03-04 13:57:39 -05:00
|
|
|
LocalFormspecHandler();
|
2014-04-19 20:40:25 -04:00
|
|
|
LocalFormspecHandler(std::string formname) :
|
|
|
|
m_client(0)
|
|
|
|
{
|
2014-03-04 13:57:39 -05:00
|
|
|
m_formname = formname;
|
|
|
|
}
|
|
|
|
|
2014-04-19 20:40:25 -04:00
|
|
|
LocalFormspecHandler(std::string formname, Client *client) :
|
|
|
|
m_client(client)
|
|
|
|
{
|
2013-04-07 10:34:35 -04:00
|
|
|
m_formname = formname;
|
2014-03-04 13:57:39 -05:00
|
|
|
}
|
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
void gotText(std::wstring message)
|
|
|
|
{
|
2014-03-04 13:57:39 -05:00
|
|
|
errorstream << "LocalFormspecHandler::gotText old style message received" << std::endl;
|
|
|
|
}
|
|
|
|
|
|
|
|
void gotText(std::map<std::string, std::string> fields)
|
|
|
|
{
|
|
|
|
if (m_formname == "MT_PAUSE_MENU") {
|
|
|
|
if (fields.find("btn_sound") != fields.end()) {
|
|
|
|
g_gamecallback->changeVolume();
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2014-09-20 23:21:11 -04:00
|
|
|
if (fields.find("btn_key_config") != fields.end()) {
|
|
|
|
g_gamecallback->keyConfig();
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2014-03-04 13:57:39 -05:00
|
|
|
if (fields.find("btn_exit_menu") != fields.end()) {
|
|
|
|
g_gamecallback->disconnect();
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (fields.find("btn_exit_os") != fields.end()) {
|
|
|
|
g_gamecallback->exitToOS();
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2014-03-31 16:50:03 -04:00
|
|
|
if (fields.find("btn_change_password") != fields.end()) {
|
|
|
|
g_gamecallback->changePassword();
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2014-03-04 13:57:39 -05:00
|
|
|
if (fields.find("quit") != fields.end()) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (fields.find("btn_continue") != fields.end()) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
2014-03-04 13:57:39 -05:00
|
|
|
if (m_formname == "MT_CHAT_MENU") {
|
2014-04-19 20:40:25 -04:00
|
|
|
assert(m_client != 0);
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
2014-03-04 13:57:39 -05:00
|
|
|
if ((fields.find("btn_send") != fields.end()) ||
|
|
|
|
(fields.find("quit") != fields.end())) {
|
|
|
|
if (fields.find("f_text") != fields.end()) {
|
2014-04-19 20:40:25 -04:00
|
|
|
m_client->typeChatMessage(narrow_to_wide(fields["f_text"]));
|
2014-03-04 13:57:39 -05:00
|
|
|
}
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
2014-03-04 13:57:39 -05:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-03-19 14:13:12 -04:00
|
|
|
if (m_formname == "MT_DEATH_SCREEN") {
|
2014-04-19 20:40:25 -04:00
|
|
|
assert(m_client != 0);
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
2014-03-19 14:13:12 -04:00
|
|
|
if ((fields.find("btn_respawn") != fields.end())) {
|
|
|
|
m_client->sendRespawn();
|
|
|
|
return;
|
|
|
|
}
|
2014-04-19 20:40:25 -04:00
|
|
|
|
|
|
|
if (fields.find("quit") != fields.end()) {
|
|
|
|
m_client->sendRespawn();
|
|
|
|
return;
|
|
|
|
}
|
2014-03-19 14:13:12 -04:00
|
|
|
}
|
|
|
|
|
2014-05-10 20:57:47 -04:00
|
|
|
// don't show error message for unhandled cursor keys
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if ((fields.find("key_up") != fields.end()) ||
|
|
|
|
(fields.find("key_down") != fields.end()) ||
|
|
|
|
(fields.find("key_left") != fields.end()) ||
|
|
|
|
(fields.find("key_right") != fields.end())) {
|
2014-05-10 20:57:47 -04:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2014-03-04 13:57:39 -05:00
|
|
|
errorstream << "LocalFormspecHandler::gotText unhandled >" << m_formname << "< event" << std::endl;
|
|
|
|
int i = 0;
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
for (std::map<std::string, std::string>::iterator iter = fields.begin();
|
2014-03-04 13:57:39 -05:00
|
|
|
iter != fields.end(); iter++) {
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
errorstream << "\t" << i << ": " << iter->first << "=" << iter->second << std::endl;
|
2014-03-04 13:57:39 -05:00
|
|
|
i++;
|
|
|
|
}
|
2013-04-07 10:34:35 -04:00
|
|
|
}
|
|
|
|
|
2012-07-22 10:10:58 -04:00
|
|
|
Client *m_client;
|
|
|
|
};
|
|
|
|
|
2012-06-03 11:30:34 -04:00
|
|
|
/* Form update callback */
|
|
|
|
|
|
|
|
class NodeMetadataFormSource: public IFormSource
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
NodeMetadataFormSource(ClientMap *map, v3s16 p):
|
|
|
|
m_map(map),
|
|
|
|
m_p(p)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
std::string getForm()
|
|
|
|
{
|
|
|
|
NodeMetadata *meta = m_map->getNodeMetadata(m_p);
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
if (!meta)
|
2012-06-03 11:30:34 -04:00
|
|
|
return "";
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
2012-06-03 11:30:34 -04:00
|
|
|
return meta->getString("formspec");
|
|
|
|
}
|
2012-07-15 12:19:38 -04:00
|
|
|
std::string resolveText(std::string str)
|
|
|
|
{
|
|
|
|
NodeMetadata *meta = m_map->getNodeMetadata(m_p);
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
if (!meta)
|
2012-07-15 12:19:38 -04:00
|
|
|
return str;
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
2012-07-15 12:19:38 -04:00
|
|
|
return meta->resolveString(str);
|
|
|
|
}
|
2012-06-03 11:30:34 -04:00
|
|
|
|
|
|
|
ClientMap *m_map;
|
|
|
|
v3s16 m_p;
|
|
|
|
};
|
|
|
|
|
2012-07-19 07:09:16 -04:00
|
|
|
class PlayerInventoryFormSource: public IFormSource
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
PlayerInventoryFormSource(Client *client):
|
|
|
|
m_client(client)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
std::string getForm()
|
|
|
|
{
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
LocalPlayer *player = m_client->getEnv().getLocalPlayer();
|
2012-07-19 07:09:16 -04:00
|
|
|
return player->inventory_formspec;
|
|
|
|
}
|
|
|
|
|
|
|
|
Client *m_client;
|
|
|
|
};
|
|
|
|
|
2011-11-29 10:15:18 -05:00
|
|
|
/*
|
|
|
|
Check if a node is pointable
|
|
|
|
*/
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
inline bool isPointableNode(const MapNode &n,
|
|
|
|
Client *client, bool liquids_pointable)
|
2011-11-29 10:15:18 -05:00
|
|
|
{
|
|
|
|
const ContentFeatures &features = client->getNodeDefManager()->get(n);
|
|
|
|
return features.pointable ||
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
(liquids_pointable && features.isLiquid());
|
2011-11-29 10:15:18 -05:00
|
|
|
}
|
|
|
|
|
2011-04-23 11:31:31 -04:00
|
|
|
/*
|
|
|
|
Find what the player is pointing at
|
|
|
|
*/
|
2011-11-29 10:15:18 -05:00
|
|
|
PointedThing getPointedThing(Client *client, v3f player_position,
|
2014-03-04 13:57:39 -05:00
|
|
|
v3f camera_direction, v3f camera_position, core::line3d<f32> shootline,
|
|
|
|
f32 d, bool liquids_pointable, bool look_for_object, v3s16 camera_offset,
|
|
|
|
std::vector<aabb3f> &hilightboxes, ClientActiveObject *&selected_object)
|
2011-04-23 11:31:31 -04:00
|
|
|
{
|
2011-11-29 10:15:18 -05:00
|
|
|
PointedThing result;
|
|
|
|
|
2012-03-18 23:25:09 -04:00
|
|
|
hilightboxes.clear();
|
2011-11-29 10:15:18 -05:00
|
|
|
selected_object = NULL;
|
|
|
|
|
2012-01-20 18:11:44 -05:00
|
|
|
INodeDefManager *nodedef = client->getNodeDefManager();
|
2012-03-15 17:54:10 -04:00
|
|
|
ClientMap &map = client->getEnv().getClientMap();
|
2012-01-20 18:11:44 -05:00
|
|
|
|
2014-01-02 08:26:21 -05:00
|
|
|
f32 mindistance = BS * 1001;
|
|
|
|
|
2011-11-29 10:15:18 -05:00
|
|
|
// First try to find a pointed at active object
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (look_for_object) {
|
|
|
|
selected_object = client->getSelectedActiveObject(d * BS,
|
|
|
|
camera_position, shootline);
|
2011-11-29 10:15:18 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (selected_object != NULL) {
|
|
|
|
if (selected_object->doShowSelectionBox()) {
|
2012-03-18 23:25:09 -04:00
|
|
|
aabb3f *selection_box = selected_object->getSelectionBox();
|
|
|
|
// Box should exist because object was
|
|
|
|
// returned in the first place
|
|
|
|
assert(selection_box);
|
|
|
|
|
|
|
|
v3f pos = selected_object->getPosition();
|
|
|
|
hilightboxes.push_back(aabb3f(
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
selection_box->MinEdge + pos - intToFloat(camera_offset, BS),
|
|
|
|
selection_box->MaxEdge + pos - intToFloat(camera_offset, BS)));
|
2012-03-18 23:25:09 -04:00
|
|
|
}
|
2011-11-29 10:15:18 -05:00
|
|
|
|
2014-01-02 08:26:21 -05:00
|
|
|
mindistance = (selected_object->getPosition() - camera_position).getLength();
|
2011-11-29 10:15:18 -05:00
|
|
|
|
2012-03-18 23:25:09 -04:00
|
|
|
result.type = POINTEDTHING_OBJECT;
|
|
|
|
result.object_id = selected_object->getId();
|
|
|
|
}
|
2011-11-29 10:15:18 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
// That didn't work, try to find a pointed at node
|
|
|
|
|
2014-06-12 17:38:34 -04:00
|
|
|
|
2011-04-23 11:31:31 -04:00
|
|
|
v3s16 pos_i = floatToInt(player_position, BS);
|
|
|
|
|
2011-10-16 07:57:53 -04:00
|
|
|
/*infostream<<"pos_i=("<<pos_i.X<<","<<pos_i.Y<<","<<pos_i.Z<<")"
|
2011-04-23 11:31:31 -04:00
|
|
|
<<std::endl;*/
|
|
|
|
|
|
|
|
s16 a = d;
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
s16 ystart = pos_i.Y + 0 - (camera_direction.Y < 0 ? a : 1);
|
|
|
|
s16 zstart = pos_i.Z - (camera_direction.Z < 0 ? a : 1);
|
|
|
|
s16 xstart = pos_i.X - (camera_direction.X < 0 ? a : 1);
|
|
|
|
s16 yend = pos_i.Y + 1 + (camera_direction.Y > 0 ? a : 1);
|
|
|
|
s16 zend = pos_i.Z + (camera_direction.Z > 0 ? a : 1);
|
|
|
|
s16 xend = pos_i.X + (camera_direction.X > 0 ? a : 1);
|
2014-06-12 17:38:34 -04:00
|
|
|
|
2012-07-04 15:06:19 -04:00
|
|
|
// Prevent signed number overflow
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (yend == 32767)
|
|
|
|
yend = 32766;
|
|
|
|
|
|
|
|
if (zend == 32767)
|
|
|
|
zend = 32766;
|
|
|
|
|
|
|
|
if (xend == 32767)
|
|
|
|
xend = 32766;
|
|
|
|
|
|
|
|
for (s16 y = ystart; y <= yend; y++)
|
|
|
|
for (s16 z = zstart; z <= zend; z++)
|
|
|
|
for (s16 x = xstart; x <= xend; x++) {
|
|
|
|
MapNode n;
|
|
|
|
|
|
|
|
try {
|
|
|
|
n = map.getNode(v3s16(x, y, z));
|
|
|
|
} catch (InvalidPositionException &e) {
|
2011-11-14 15:57:58 -05:00
|
|
|
continue;
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
if (!isPointableNode(n, client, liquids_pointable))
|
2011-11-14 15:57:58 -05:00
|
|
|
continue;
|
2012-03-18 23:25:09 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
std::vector<aabb3f> boxes = n.getSelectionBoxes(nodedef);
|
|
|
|
|
|
|
|
v3s16 np(x, y, z);
|
|
|
|
v3f npf = intToFloat(np, BS);
|
|
|
|
|
|
|
|
for (std::vector<aabb3f>::const_iterator
|
|
|
|
i = boxes.begin();
|
|
|
|
i != boxes.end(); i++) {
|
|
|
|
aabb3f box = *i;
|
|
|
|
box.MinEdge += npf;
|
|
|
|
box.MaxEdge += npf;
|
|
|
|
|
|
|
|
for (u16 j = 0; j < 6; j++) {
|
|
|
|
v3s16 facedir = g_6dirs[j];
|
|
|
|
aabb3f facebox = box;
|
|
|
|
|
|
|
|
f32 d = 0.001 * BS;
|
|
|
|
|
|
|
|
if (facedir.X > 0)
|
|
|
|
facebox.MinEdge.X = facebox.MaxEdge.X - d;
|
|
|
|
else if (facedir.X < 0)
|
|
|
|
facebox.MaxEdge.X = facebox.MinEdge.X + d;
|
|
|
|
else if (facedir.Y > 0)
|
|
|
|
facebox.MinEdge.Y = facebox.MaxEdge.Y - d;
|
|
|
|
else if (facedir.Y < 0)
|
|
|
|
facebox.MaxEdge.Y = facebox.MinEdge.Y + d;
|
|
|
|
else if (facedir.Z > 0)
|
|
|
|
facebox.MinEdge.Z = facebox.MaxEdge.Z - d;
|
|
|
|
else if (facedir.Z < 0)
|
|
|
|
facebox.MaxEdge.Z = facebox.MinEdge.Z + d;
|
|
|
|
|
|
|
|
v3f centerpoint = facebox.getCenter();
|
|
|
|
f32 distance = (centerpoint - camera_position).getLength();
|
|
|
|
|
|
|
|
if (distance >= mindistance)
|
|
|
|
continue;
|
|
|
|
|
|
|
|
if (!facebox.intersectsWithLine(shootline))
|
|
|
|
continue;
|
|
|
|
|
|
|
|
v3s16 np_above = np + facedir;
|
|
|
|
|
|
|
|
result.type = POINTEDTHING_NODE;
|
|
|
|
result.node_undersurface = np;
|
|
|
|
result.node_abovesurface = np_above;
|
|
|
|
mindistance = distance;
|
|
|
|
|
|
|
|
hilightboxes.clear();
|
|
|
|
|
|
|
|
if (!g_settings->getBool("enable_node_highlighting")) {
|
|
|
|
for (std::vector<aabb3f>::const_iterator
|
|
|
|
i2 = boxes.begin();
|
|
|
|
i2 != boxes.end(); i2++) {
|
|
|
|
aabb3f box = *i2;
|
|
|
|
box.MinEdge += npf + v3f(-d, -d, -d) - intToFloat(camera_offset, BS);
|
|
|
|
box.MaxEdge += npf + v3f(d, d, d) - intToFloat(camera_offset, BS);
|
|
|
|
hilightboxes.push_back(box);
|
|
|
|
}
|
|
|
|
}
|
2014-09-16 06:38:37 -04:00
|
|
|
}
|
2011-04-23 11:31:31 -04:00
|
|
|
}
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
} // for coords
|
2011-11-29 10:15:18 -05:00
|
|
|
|
|
|
|
return result;
|
2011-04-23 11:31:31 -04:00
|
|
|
}
|
|
|
|
|
2012-01-31 18:56:30 -05:00
|
|
|
/* Profiler display */
|
|
|
|
|
|
|
|
void update_profiler_gui(gui::IGUIStaticText *guitext_profiler,
|
2014-03-04 13:57:39 -05:00
|
|
|
gui::IGUIFont *font, u32 text_height, u32 show_profiler,
|
|
|
|
u32 show_profiler_max)
|
2012-01-31 18:56:30 -05:00
|
|
|
{
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (show_profiler == 0) {
|
2012-01-31 18:56:30 -05:00
|
|
|
guitext_profiler->setVisible(false);
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
} else {
|
2012-01-31 18:56:30 -05:00
|
|
|
|
|
|
|
std::ostringstream os(std::ios_base::binary);
|
|
|
|
g_profiler->printPage(os, show_profiler, show_profiler_max);
|
|
|
|
std::wstring text = narrow_to_wide(os.str());
|
|
|
|
guitext_profiler->setText(text.c_str());
|
|
|
|
guitext_profiler->setVisible(true);
|
|
|
|
|
|
|
|
s32 w = font->getDimension(text.c_str()).Width;
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
if (w < 400)
|
2012-01-31 18:56:30 -05:00
|
|
|
w = 400;
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
core::rect<s32> rect(6, 4 + (text_height + 5) * 2, 12 + w,
|
|
|
|
8 + (text_height + 5) * 2 +
|
|
|
|
font->getDimension(text.c_str()).Height);
|
2012-01-31 18:56:30 -05:00
|
|
|
guitext_profiler->setRelativePosition(rect);
|
|
|
|
guitext_profiler->setVisible(true);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2012-03-20 21:33:02 -04:00
|
|
|
class ProfilerGraph
|
|
|
|
{
|
|
|
|
private:
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
struct Piece {
|
2012-03-20 21:33:02 -04:00
|
|
|
Profiler::GraphValues values;
|
|
|
|
};
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
struct Meta {
|
2012-03-20 21:33:02 -04:00
|
|
|
float min;
|
|
|
|
float max;
|
|
|
|
video::SColor color;
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
Meta(float initial = 0,
|
|
|
|
video::SColor color = video::SColor(255, 255, 255, 255)):
|
2012-03-20 21:33:02 -04:00
|
|
|
min(initial),
|
|
|
|
max(initial),
|
|
|
|
color(color)
|
|
|
|
{}
|
|
|
|
};
|
|
|
|
std::list<Piece> m_log;
|
|
|
|
public:
|
|
|
|
u32 m_log_max_size;
|
|
|
|
|
|
|
|
ProfilerGraph():
|
|
|
|
m_log_max_size(200)
|
|
|
|
{}
|
|
|
|
|
|
|
|
void put(const Profiler::GraphValues &values)
|
|
|
|
{
|
|
|
|
Piece piece;
|
|
|
|
piece.values = values;
|
|
|
|
m_log.push_back(piece);
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
while (m_log.size() > m_log_max_size)
|
2012-03-20 21:33:02 -04:00
|
|
|
m_log.erase(m_log.begin());
|
|
|
|
}
|
2014-06-12 17:38:34 -04:00
|
|
|
|
2012-03-20 21:33:02 -04:00
|
|
|
void draw(s32 x_left, s32 y_bottom, video::IVideoDriver *driver,
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
gui::IGUIFont *font) const
|
2012-03-20 21:33:02 -04:00
|
|
|
{
|
|
|
|
std::map<std::string, Meta> m_meta;
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
for (std::list<Piece>::const_iterator k = m_log.begin();
|
|
|
|
k != m_log.end(); k++) {
|
2012-03-20 21:33:02 -04:00
|
|
|
const Piece &piece = *k;
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
for (Profiler::GraphValues::const_iterator i = piece.values.begin();
|
|
|
|
i != piece.values.end(); i++) {
|
2012-03-20 21:33:02 -04:00
|
|
|
const std::string &id = i->first;
|
|
|
|
const float &value = i->second;
|
|
|
|
std::map<std::string, Meta>::iterator j =
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
m_meta.find(id);
|
|
|
|
|
|
|
|
if (j == m_meta.end()) {
|
2012-03-20 21:33:02 -04:00
|
|
|
m_meta[id] = Meta(value);
|
|
|
|
continue;
|
|
|
|
}
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
if (value < j->second.min)
|
2012-03-20 21:33:02 -04:00
|
|
|
j->second.min = value;
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
if (value > j->second.max)
|
2012-03-20 21:33:02 -04:00
|
|
|
j->second.max = value;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// Assign colors
|
|
|
|
static const video::SColor usable_colors[] = {
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
video::SColor(255, 255, 100, 100),
|
|
|
|
video::SColor(255, 90, 225, 90),
|
|
|
|
video::SColor(255, 100, 100, 255),
|
|
|
|
video::SColor(255, 255, 150, 50),
|
|
|
|
video::SColor(255, 220, 220, 100)
|
2012-03-20 21:33:02 -04:00
|
|
|
};
|
|
|
|
static const u32 usable_colors_count =
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
sizeof(usable_colors) / sizeof(*usable_colors);
|
2012-03-20 21:33:02 -04:00
|
|
|
u32 next_color_i = 0;
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
for (std::map<std::string, Meta>::iterator i = m_meta.begin();
|
|
|
|
i != m_meta.end(); i++) {
|
2012-03-20 21:33:02 -04:00
|
|
|
Meta &meta = i->second;
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
video::SColor color(255, 200, 200, 200);
|
|
|
|
|
|
|
|
if (next_color_i < usable_colors_count)
|
2012-03-20 21:33:02 -04:00
|
|
|
color = usable_colors[next_color_i++];
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
2012-03-20 21:33:02 -04:00
|
|
|
meta.color = color;
|
|
|
|
}
|
|
|
|
|
|
|
|
s32 graphh = 50;
|
|
|
|
s32 textx = x_left + m_log_max_size + 15;
|
|
|
|
s32 textx2 = textx + 200 - 15;
|
2014-06-12 17:38:34 -04:00
|
|
|
|
2012-03-20 21:33:02 -04:00
|
|
|
// Draw background
|
|
|
|
/*{
|
|
|
|
u32 num_graphs = m_meta.size();
|
|
|
|
core::rect<s32> rect(x_left, y_bottom - num_graphs*graphh,
|
|
|
|
textx2, y_bottom);
|
|
|
|
video::SColor bgcolor(120,0,0,0);
|
|
|
|
driver->draw2DRectangle(bgcolor, rect, NULL);
|
|
|
|
}*/
|
2014-06-12 17:38:34 -04:00
|
|
|
|
2012-03-20 21:33:02 -04:00
|
|
|
s32 meta_i = 0;
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
for (std::map<std::string, Meta>::const_iterator i = m_meta.begin();
|
|
|
|
i != m_meta.end(); i++) {
|
2012-03-20 21:33:02 -04:00
|
|
|
const std::string &id = i->first;
|
|
|
|
const Meta &meta = i->second;
|
|
|
|
s32 x = x_left;
|
|
|
|
s32 y = y_bottom - meta_i * 50;
|
|
|
|
float show_min = meta.min;
|
|
|
|
float show_max = meta.max;
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
if (show_min >= -0.0001 && show_max >= -0.0001) {
|
|
|
|
if (show_min <= show_max * 0.5)
|
2012-03-20 21:33:02 -04:00
|
|
|
show_min = 0;
|
|
|
|
}
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
2012-03-20 21:33:02 -04:00
|
|
|
s32 texth = 15;
|
|
|
|
char buf[10];
|
|
|
|
snprintf(buf, 10, "%.3g", show_max);
|
|
|
|
font->draw(narrow_to_wide(buf).c_str(),
|
|
|
|
core::rect<s32>(textx, y - graphh,
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
textx2, y - graphh + texth),
|
2012-03-20 21:33:02 -04:00
|
|
|
meta.color);
|
|
|
|
snprintf(buf, 10, "%.3g", show_min);
|
|
|
|
font->draw(narrow_to_wide(buf).c_str(),
|
|
|
|
core::rect<s32>(textx, y - texth,
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
textx2, y),
|
2012-03-20 21:33:02 -04:00
|
|
|
meta.color);
|
|
|
|
font->draw(narrow_to_wide(id).c_str(),
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
core::rect<s32>(textx, y - graphh / 2 - texth / 2,
|
|
|
|
textx2, y - graphh / 2 + texth / 2),
|
2012-03-20 21:33:02 -04:00
|
|
|
meta.color);
|
2012-03-21 09:05:51 -04:00
|
|
|
s32 graph1y = y;
|
|
|
|
s32 graph1h = graphh;
|
|
|
|
bool relativegraph = (show_min != 0 && show_min != show_max);
|
|
|
|
float lastscaledvalue = 0.0;
|
|
|
|
bool lastscaledvalue_exists = false;
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
for (std::list<Piece>::const_iterator j = m_log.begin();
|
|
|
|
j != m_log.end(); j++) {
|
2012-03-20 21:33:02 -04:00
|
|
|
const Piece &piece = *j;
|
|
|
|
float value = 0;
|
|
|
|
bool value_exists = false;
|
|
|
|
Profiler::GraphValues::const_iterator k =
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
piece.values.find(id);
|
|
|
|
|
|
|
|
if (k != piece.values.end()) {
|
2012-03-20 21:33:02 -04:00
|
|
|
value = k->second;
|
|
|
|
value_exists = true;
|
|
|
|
}
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
if (!value_exists) {
|
2012-03-20 21:33:02 -04:00
|
|
|
x++;
|
2012-03-21 09:05:51 -04:00
|
|
|
lastscaledvalue_exists = false;
|
2012-03-20 21:33:02 -04:00
|
|
|
continue;
|
|
|
|
}
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
2012-03-20 21:33:02 -04:00
|
|
|
float scaledvalue = 1.0;
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
if (show_max != show_min)
|
2012-03-20 21:33:02 -04:00
|
|
|
scaledvalue = (value - show_min) / (show_max - show_min);
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
if (scaledvalue == 1.0 && value == 0) {
|
2012-03-20 21:33:02 -04:00
|
|
|
x++;
|
2012-03-21 09:05:51 -04:00
|
|
|
lastscaledvalue_exists = false;
|
2012-03-20 21:33:02 -04:00
|
|
|
continue;
|
|
|
|
}
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
if (relativegraph) {
|
|
|
|
if (lastscaledvalue_exists) {
|
2012-03-21 09:05:51 -04:00
|
|
|
s32 ivalue1 = lastscaledvalue * graph1h;
|
|
|
|
s32 ivalue2 = scaledvalue * graph1h;
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
driver->draw2DLine(v2s32(x - 1, graph1y - ivalue1),
|
|
|
|
v2s32(x, graph1y - ivalue2), meta.color);
|
2012-03-21 09:05:51 -04:00
|
|
|
}
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
2012-03-21 09:05:51 -04:00
|
|
|
lastscaledvalue = scaledvalue;
|
|
|
|
lastscaledvalue_exists = true;
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
} else {
|
2012-03-21 09:05:51 -04:00
|
|
|
s32 ivalue = scaledvalue * graph1h;
|
|
|
|
driver->draw2DLine(v2s32(x, graph1y),
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
v2s32(x, graph1y - ivalue), meta.color);
|
2012-03-21 09:05:51 -04:00
|
|
|
}
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
2012-03-20 21:33:02 -04:00
|
|
|
x++;
|
|
|
|
}
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
2012-03-20 21:33:02 -04:00
|
|
|
meta_i++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2012-03-23 21:28:08 -04:00
|
|
|
class NodeDugEvent: public MtEvent
|
2012-03-23 14:23:03 -04:00
|
|
|
{
|
|
|
|
public:
|
2012-03-23 21:28:08 -04:00
|
|
|
v3s16 p;
|
|
|
|
MapNode n;
|
2014-06-12 17:38:34 -04:00
|
|
|
|
2012-03-23 21:28:08 -04:00
|
|
|
NodeDugEvent(v3s16 p, MapNode n):
|
|
|
|
p(p),
|
|
|
|
n(n)
|
|
|
|
{}
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
const char *getType() const
|
|
|
|
{
|
|
|
|
return "NodeDug";
|
|
|
|
}
|
2012-03-23 21:28:08 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
class SoundMaker
|
|
|
|
{
|
|
|
|
ISoundManager *m_sound;
|
|
|
|
INodeDefManager *m_ndef;
|
|
|
|
public:
|
2012-03-23 18:33:58 -04:00
|
|
|
float m_player_step_timer;
|
2012-03-23 14:23:03 -04:00
|
|
|
|
|
|
|
SimpleSoundSpec m_player_step_sound;
|
2012-03-23 18:33:58 -04:00
|
|
|
SimpleSoundSpec m_player_leftpunch_sound;
|
|
|
|
SimpleSoundSpec m_player_rightpunch_sound;
|
2012-03-23 14:23:03 -04:00
|
|
|
|
2012-03-23 21:28:08 -04:00
|
|
|
SoundMaker(ISoundManager *sound, INodeDefManager *ndef):
|
2012-03-23 14:23:03 -04:00
|
|
|
m_sound(sound),
|
2012-03-23 21:28:08 -04:00
|
|
|
m_ndef(ndef),
|
2012-03-23 14:23:03 -04:00
|
|
|
m_player_step_timer(0)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
void playPlayerStep()
|
|
|
|
{
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (m_player_step_timer <= 0 && m_player_step_sound.exists()) {
|
2012-03-23 14:23:03 -04:00
|
|
|
m_player_step_timer = 0.03;
|
|
|
|
m_sound->playSound(m_player_step_sound, false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void viewBobbingStep(MtEvent *e, void *data)
|
|
|
|
{
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
SoundMaker *sm = (SoundMaker *)data;
|
2012-03-23 14:23:03 -04:00
|
|
|
sm->playPlayerStep();
|
|
|
|
}
|
|
|
|
|
|
|
|
static void playerRegainGround(MtEvent *e, void *data)
|
|
|
|
{
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
SoundMaker *sm = (SoundMaker *)data;
|
2012-03-23 14:23:03 -04:00
|
|
|
sm->playPlayerStep();
|
|
|
|
}
|
|
|
|
|
|
|
|
static void playerJump(MtEvent *e, void *data)
|
|
|
|
{
|
2012-03-23 18:33:58 -04:00
|
|
|
//SoundMaker *sm = (SoundMaker*)data;
|
|
|
|
}
|
|
|
|
|
|
|
|
static void cameraPunchLeft(MtEvent *e, void *data)
|
|
|
|
{
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
SoundMaker *sm = (SoundMaker *)data;
|
2012-03-23 21:28:08 -04:00
|
|
|
sm->m_sound->playSound(sm->m_player_leftpunch_sound, false);
|
2012-03-23 18:33:58 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
static void cameraPunchRight(MtEvent *e, void *data)
|
|
|
|
{
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
SoundMaker *sm = (SoundMaker *)data;
|
2012-03-23 21:28:08 -04:00
|
|
|
sm->m_sound->playSound(sm->m_player_rightpunch_sound, false);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void nodeDug(MtEvent *e, void *data)
|
|
|
|
{
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
SoundMaker *sm = (SoundMaker *)data;
|
|
|
|
NodeDugEvent *nde = (NodeDugEvent *)e;
|
2012-03-23 21:28:08 -04:00
|
|
|
sm->m_sound->playSound(sm->m_ndef->get(nde->n).sound_dug, false);
|
2012-03-23 14:23:03 -04:00
|
|
|
}
|
|
|
|
|
2013-04-17 14:13:47 -04:00
|
|
|
static void playerDamage(MtEvent *e, void *data)
|
|
|
|
{
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
SoundMaker *sm = (SoundMaker *)data;
|
2013-04-17 14:13:47 -04:00
|
|
|
sm->m_sound->playSound(SimpleSoundSpec("player_damage", 0.5), false);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void playerFallingDamage(MtEvent *e, void *data)
|
|
|
|
{
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
SoundMaker *sm = (SoundMaker *)data;
|
2013-04-17 14:13:47 -04:00
|
|
|
sm->m_sound->playSound(SimpleSoundSpec("player_falling_damage", 0.5), false);
|
|
|
|
}
|
|
|
|
|
2012-03-23 14:23:03 -04:00
|
|
|
void registerReceiver(MtEventManager *mgr)
|
|
|
|
{
|
|
|
|
mgr->reg("ViewBobbingStep", SoundMaker::viewBobbingStep, this);
|
|
|
|
mgr->reg("PlayerRegainGround", SoundMaker::playerRegainGround, this);
|
|
|
|
mgr->reg("PlayerJump", SoundMaker::playerJump, this);
|
2012-03-23 18:33:58 -04:00
|
|
|
mgr->reg("CameraPunchLeft", SoundMaker::cameraPunchLeft, this);
|
|
|
|
mgr->reg("CameraPunchRight", SoundMaker::cameraPunchRight, this);
|
2012-03-23 21:28:08 -04:00
|
|
|
mgr->reg("NodeDug", SoundMaker::nodeDug, this);
|
2013-04-17 14:13:47 -04:00
|
|
|
mgr->reg("PlayerDamage", SoundMaker::playerDamage, this);
|
|
|
|
mgr->reg("PlayerFallingDamage", SoundMaker::playerFallingDamage, this);
|
2012-03-23 14:23:03 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
void step(float dtime)
|
|
|
|
{
|
|
|
|
m_player_step_timer -= dtime;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2012-03-23 21:28:08 -04:00
|
|
|
// Locally stored sounds don't need to be preloaded because of this
|
|
|
|
class GameOnDemandSoundFetcher: public OnDemandSoundFetcher
|
|
|
|
{
|
|
|
|
std::set<std::string> m_fetched;
|
|
|
|
public:
|
|
|
|
void fetchSounds(const std::string &name,
|
|
|
|
std::set<std::string> &dst_paths,
|
2012-03-25 07:47:51 -04:00
|
|
|
std::set<std::string> &dst_datas)
|
2012-03-23 21:28:08 -04:00
|
|
|
{
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (m_fetched.count(name))
|
2012-03-23 21:28:08 -04:00
|
|
|
return;
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
2012-03-23 21:28:08 -04:00
|
|
|
m_fetched.insert(name);
|
|
|
|
std::string base = porting::path_share + DIR_DELIM + "testsounds";
|
|
|
|
dst_paths.insert(base + DIR_DELIM + name + ".ogg");
|
2012-03-25 11:51:05 -04:00
|
|
|
dst_paths.insert(base + DIR_DELIM + name + ".0.ogg");
|
|
|
|
dst_paths.insert(base + DIR_DELIM + name + ".1.ogg");
|
|
|
|
dst_paths.insert(base + DIR_DELIM + name + ".2.ogg");
|
|
|
|
dst_paths.insert(base + DIR_DELIM + name + ".3.ogg");
|
|
|
|
dst_paths.insert(base + DIR_DELIM + name + ".4.ogg");
|
|
|
|
dst_paths.insert(base + DIR_DELIM + name + ".5.ogg");
|
|
|
|
dst_paths.insert(base + DIR_DELIM + name + ".6.ogg");
|
|
|
|
dst_paths.insert(base + DIR_DELIM + name + ".7.ogg");
|
|
|
|
dst_paths.insert(base + DIR_DELIM + name + ".8.ogg");
|
|
|
|
dst_paths.insert(base + DIR_DELIM + name + ".9.ogg");
|
2012-03-23 21:28:08 -04:00
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2012-11-30 20:02:16 -05:00
|
|
|
class GameGlobalShaderConstantSetter : public IShaderConstantSetter
|
|
|
|
{
|
|
|
|
Sky *m_sky;
|
|
|
|
bool *m_force_fog_off;
|
|
|
|
f32 *m_fog_range;
|
2012-12-02 07:24:58 -05:00
|
|
|
Client *m_client;
|
2012-11-30 20:02:16 -05:00
|
|
|
|
|
|
|
public:
|
|
|
|
GameGlobalShaderConstantSetter(Sky *sky, bool *force_fog_off,
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
f32 *fog_range, Client *client) :
|
2012-11-30 20:02:16 -05:00
|
|
|
m_sky(sky),
|
|
|
|
m_force_fog_off(force_fog_off),
|
2012-12-02 07:24:58 -05:00
|
|
|
m_fog_range(fog_range),
|
|
|
|
m_client(client)
|
2012-11-30 20:02:16 -05:00
|
|
|
{}
|
|
|
|
~GameGlobalShaderConstantSetter() {}
|
|
|
|
|
|
|
|
virtual void onSetConstants(video::IMaterialRendererServices *services,
|
|
|
|
bool is_highlevel)
|
|
|
|
{
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (!is_highlevel)
|
2012-11-30 20:02:16 -05:00
|
|
|
return;
|
|
|
|
|
|
|
|
// Background color
|
|
|
|
video::SColor bgcolor = m_sky->getBgColor();
|
|
|
|
video::SColorf bgcolorf(bgcolor);
|
|
|
|
float bgcolorfa[4] = {
|
|
|
|
bgcolorf.r,
|
|
|
|
bgcolorf.g,
|
|
|
|
bgcolorf.b,
|
|
|
|
bgcolorf.a,
|
|
|
|
};
|
|
|
|
services->setPixelShaderConstant("skyBgColor", bgcolorfa, 4);
|
|
|
|
|
|
|
|
// Fog distance
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
float fog_distance = 10000 * BS;
|
|
|
|
|
|
|
|
if (g_settings->getBool("enable_fog") && !*m_force_fog_off)
|
2013-09-03 07:21:04 -04:00
|
|
|
fog_distance = *m_fog_range;
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
2012-11-30 20:02:16 -05:00
|
|
|
services->setPixelShaderConstant("fogDistance", &fog_distance, 1);
|
|
|
|
|
2012-12-02 07:24:58 -05:00
|
|
|
// Day-night ratio
|
|
|
|
u32 daynight_ratio = m_client->getEnv().getDayNightRatio();
|
|
|
|
float daynight_ratio_f = (float)daynight_ratio / 1000.0;
|
|
|
|
services->setPixelShaderConstant("dayNightRatio", &daynight_ratio_f, 1);
|
2014-06-12 17:38:34 -04:00
|
|
|
|
2013-12-03 11:21:40 -05:00
|
|
|
u32 animation_timer = porting::getTimeMs() % 100000;
|
|
|
|
float animation_timer_f = (float)animation_timer / 100000.0;
|
|
|
|
services->setPixelShaderConstant("animationTimer", &animation_timer_f, 1);
|
|
|
|
services->setVertexShaderConstant("animationTimer", &animation_timer_f, 1);
|
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
LocalPlayer *player = m_client->getEnv().getLocalPlayer();
|
2014-01-06 06:45:42 -05:00
|
|
|
v3f eye_position = player->getEyePosition();
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
services->setPixelShaderConstant("eyePosition", (irr::f32 *)&eye_position, 3);
|
|
|
|
services->setVertexShaderConstant("eyePosition", (irr::f32 *)&eye_position, 3);
|
2013-12-03 11:21:40 -05:00
|
|
|
|
2014-03-20 20:32:00 -04:00
|
|
|
// Uniform sampler layers
|
|
|
|
int layer0 = 0;
|
2013-12-03 11:21:40 -05:00
|
|
|
int layer1 = 1;
|
|
|
|
int layer2 = 2;
|
2013-07-29 22:18:11 -04:00
|
|
|
// before 1.8 there isn't a "integer interface", only float
|
|
|
|
#if (IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR < 8)
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
services->setPixelShaderConstant("baseTexture" , (irr::f32 *)&layer0, 1);
|
|
|
|
services->setPixelShaderConstant("normalTexture" , (irr::f32 *)&layer1, 1);
|
|
|
|
services->setPixelShaderConstant("useNormalmap" , (irr::f32 *)&layer2, 1);
|
2013-07-29 22:18:11 -04:00
|
|
|
#else
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
services->setPixelShaderConstant("baseTexture" , (irr::s32 *)&layer0, 1);
|
|
|
|
services->setPixelShaderConstant("normalTexture" , (irr::s32 *)&layer1, 1);
|
|
|
|
services->setPixelShaderConstant("useNormalmap" , (irr::s32 *)&layer2, 1);
|
2013-07-29 22:18:11 -04:00
|
|
|
#endif
|
2012-12-02 07:24:58 -05:00
|
|
|
}
|
2012-11-30 20:02:16 -05:00
|
|
|
};
|
|
|
|
|
2013-06-19 17:09:18 -04:00
|
|
|
bool nodePlacementPrediction(Client &client,
|
2014-03-04 13:57:39 -05:00
|
|
|
const ItemDefinition &playeritem_def, v3s16 nodepos, v3s16 neighbourpos)
|
2013-04-26 21:47:52 -04:00
|
|
|
{
|
|
|
|
std::string prediction = playeritem_def.node_placement_prediction;
|
|
|
|
INodeDefManager *nodedef = client.ndef();
|
|
|
|
ClientMap &map = client.getEnv().getClientMap();
|
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (prediction != "" && !nodedef->get(map.getNode(nodepos)).rightclickable) {
|
|
|
|
verbosestream << "Node placement prediction for "
|
|
|
|
<< playeritem_def.name << " is "
|
|
|
|
<< prediction << std::endl;
|
2013-04-26 21:47:52 -04:00
|
|
|
v3s16 p = neighbourpos;
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
2013-04-26 21:47:52 -04:00
|
|
|
// Place inside node itself if buildable_to
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
try {
|
2013-04-26 21:47:52 -04:00
|
|
|
MapNode n_under = map.getNode(nodepos);
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
if (nodedef->get(n_under).buildable_to)
|
2013-04-26 21:47:52 -04:00
|
|
|
p = nodepos;
|
2013-04-20 17:01:02 -04:00
|
|
|
else if (!nodedef->get(map.getNode(p)).buildable_to)
|
2013-06-19 17:09:18 -04:00
|
|
|
return false;
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
} catch (InvalidPositionException &e) {}
|
|
|
|
|
2013-04-26 21:47:52 -04:00
|
|
|
// Find id of predicted node
|
|
|
|
content_t id;
|
|
|
|
bool found = nodedef->getId(prediction, id);
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
if (!found) {
|
|
|
|
errorstream << "Node placement prediction failed for "
|
|
|
|
<< playeritem_def.name << " (places "
|
|
|
|
<< prediction
|
|
|
|
<< ") - Name not known" << std::endl;
|
2013-06-19 17:09:18 -04:00
|
|
|
return false;
|
2013-04-26 21:47:52 -04:00
|
|
|
}
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
2013-05-23 19:38:57 -04:00
|
|
|
// Predict param2 for facedir and wallmounted nodes
|
2013-04-26 21:47:52 -04:00
|
|
|
u8 param2 = 0;
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
if (nodedef->get(id).param_type_2 == CPT2_WALLMOUNTED) {
|
2013-04-26 21:47:52 -04:00
|
|
|
v3s16 dir = nodepos - neighbourpos;
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
if (abs(dir.Y) > MYMAX(abs(dir.X), abs(dir.Z))) {
|
2013-04-26 21:47:52 -04:00
|
|
|
param2 = dir.Y < 0 ? 1 : 0;
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
} else if (abs(dir.X) > abs(dir.Z)) {
|
2013-04-26 21:47:52 -04:00
|
|
|
param2 = dir.X < 0 ? 3 : 2;
|
|
|
|
} else {
|
|
|
|
param2 = dir.Z < 0 ? 5 : 4;
|
|
|
|
}
|
|
|
|
}
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
if (nodedef->get(id).param_type_2 == CPT2_FACEDIR) {
|
2013-05-23 19:38:57 -04:00
|
|
|
v3s16 dir = nodepos - floatToInt(client.getEnv().getLocalPlayer()->getPosition(), BS);
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
if (abs(dir.X) > abs(dir.Z)) {
|
2013-05-23 19:38:57 -04:00
|
|
|
param2 = dir.X < 0 ? 3 : 1;
|
|
|
|
} else {
|
|
|
|
param2 = dir.Z < 0 ? 2 : 0;
|
|
|
|
}
|
|
|
|
}
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
assert(param2 <= 5);
|
|
|
|
|
2013-05-23 19:38:57 -04:00
|
|
|
//Check attachment if node is in group attached_node
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (((ItemGroupList) nodedef->get(id).groups)["attached_node"] != 0) {
|
2013-05-23 19:38:57 -04:00
|
|
|
static v3s16 wallmounted_dirs[8] = {
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
v3s16(0, 1, 0),
|
|
|
|
v3s16(0, -1, 0),
|
|
|
|
v3s16(1, 0, 0),
|
|
|
|
v3s16(-1, 0, 0),
|
|
|
|
v3s16(0, 0, 1),
|
|
|
|
v3s16(0, 0, -1),
|
2013-05-23 19:38:57 -04:00
|
|
|
};
|
|
|
|
v3s16 pp;
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
if (nodedef->get(id).param_type_2 == CPT2_WALLMOUNTED)
|
2013-05-23 19:38:57 -04:00
|
|
|
pp = p + wallmounted_dirs[param2];
|
|
|
|
else
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
pp = p + v3s16(0, -1, 0);
|
|
|
|
|
|
|
|
if (!nodedef->get(map.getNode(pp)).walkable)
|
2013-06-19 17:09:18 -04:00
|
|
|
return false;
|
2013-05-23 19:38:57 -04:00
|
|
|
}
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
2013-04-26 21:47:52 -04:00
|
|
|
// Add node to client map
|
|
|
|
MapNode n(id, 0, param2);
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
try {
|
|
|
|
LocalPlayer *player = client.getEnv().getLocalPlayer();
|
2014-01-15 15:26:54 -05:00
|
|
|
|
|
|
|
// Dont place node when player would be inside new node
|
|
|
|
// NOTE: This is to be eventually implemented by a mod as client-side Lua
|
2014-02-05 15:24:46 -05:00
|
|
|
if (!nodedef->get(n).walkable ||
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
(client.checkPrivilege("noclip") && g_settings->getBool("noclip")) ||
|
|
|
|
(nodedef->get(n).walkable &&
|
|
|
|
neighbourpos != player->getStandingNodePos() + v3s16(0, 1, 0) &&
|
|
|
|
neighbourpos != player->getStandingNodePos() + v3s16(0, 2, 0))) {
|
|
|
|
|
|
|
|
// This triggers the required mesh update too
|
|
|
|
client.addNode(p, n);
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
} catch (InvalidPositionException &e) {
|
|
|
|
errorstream << "Node placement prediction failed for "
|
|
|
|
<< playeritem_def.name << " (places "
|
|
|
|
<< prediction
|
|
|
|
<< ") - Position not loaded" << std::endl;
|
2013-04-26 21:47:52 -04:00
|
|
|
}
|
|
|
|
}
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
2013-06-19 17:09:18 -04:00
|
|
|
return false;
|
2013-04-26 21:47:52 -04:00
|
|
|
}
|
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
static inline void create_formspec_menu(GUIFormSpecMenu **cur_formspec,
|
2014-04-19 20:40:25 -04:00
|
|
|
InventoryManager *invmgr, IGameDef *gamedef,
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
IWritableTextureSource *tsrc, IrrlichtDevice *device,
|
|
|
|
IFormSource *fs_src, TextDest *txt_dest, Client *client)
|
|
|
|
{
|
2014-04-19 20:40:25 -04:00
|
|
|
|
|
|
|
if (*cur_formspec == 0) {
|
|
|
|
*cur_formspec = new GUIFormSpecMenu(device, guiroot, -1, &g_menumgr,
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
invmgr, gamedef, tsrc, fs_src, txt_dest, client);
|
2014-04-19 20:40:25 -04:00
|
|
|
(*cur_formspec)->doPause = false;
|
2014-10-24 10:22:05 -04:00
|
|
|
|
|
|
|
/*
|
|
|
|
Caution: do not call (*cur_formspec)->drop() here --
|
|
|
|
the reference might outlive the menu, so we will
|
|
|
|
periodically check if *cur_formspec is the only
|
|
|
|
remaining reference (i.e. the menu was removed)
|
|
|
|
and delete it in that case.
|
|
|
|
*/
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
} else {
|
2014-04-19 20:40:25 -04:00
|
|
|
(*cur_formspec)->setFormSource(fs_src);
|
|
|
|
(*cur_formspec)->setTextDest(txt_dest);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-04-21 08:10:59 -04:00
|
|
|
#ifdef __ANDROID__
|
|
|
|
#define SIZE_TAG "size[11,5.5]"
|
|
|
|
#else
|
|
|
|
#define SIZE_TAG "size[11,5.5,true]"
|
|
|
|
#endif
|
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
static void show_chat_menu(GUIFormSpecMenu **cur_formspec,
|
2014-04-19 20:40:25 -04:00
|
|
|
InventoryManager *invmgr, IGameDef *gamedef,
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
IWritableTextureSource *tsrc, IrrlichtDevice *device,
|
|
|
|
Client *client, std::string text)
|
2014-03-04 13:57:39 -05:00
|
|
|
{
|
|
|
|
std::string formspec =
|
2014-04-21 08:10:59 -04:00
|
|
|
FORMSPEC_VERSION_STRING
|
|
|
|
SIZE_TAG
|
2014-03-04 13:57:39 -05:00
|
|
|
"field[3,2.35;6,0.5;f_text;;" + text + "]"
|
2014-04-19 20:40:25 -04:00
|
|
|
"button_exit[4,3;3,0.5;btn_send;" + wide_to_narrow(wstrgettext("Proceed")) + "]"
|
2014-03-04 13:57:39 -05:00
|
|
|
;
|
|
|
|
|
|
|
|
/* Create menu */
|
|
|
|
/* Note: FormspecFormSource and LocalFormspecHandler
|
|
|
|
* are deleted by guiFormSpecMenu */
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
FormspecFormSource *fs_src = new FormspecFormSource(formspec);
|
|
|
|
LocalFormspecHandler *txt_dst = new LocalFormspecHandler("MT_CHAT_MENU", client);
|
2014-04-19 20:40:25 -04:00
|
|
|
|
2014-09-20 20:23:55 -04:00
|
|
|
create_formspec_menu(cur_formspec, invmgr, gamedef, tsrc, device, fs_src, txt_dst, NULL);
|
2014-03-04 13:57:39 -05:00
|
|
|
}
|
2013-04-26 21:47:52 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
static void show_deathscreen(GUIFormSpecMenu **cur_formspec,
|
2014-04-19 20:40:25 -04:00
|
|
|
InventoryManager *invmgr, IGameDef *gamedef,
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
IWritableTextureSource *tsrc, IrrlichtDevice *device, Client *client)
|
2014-03-19 14:13:12 -04:00
|
|
|
{
|
|
|
|
std::string formspec =
|
2014-06-25 13:04:47 -04:00
|
|
|
std::string(FORMSPEC_VERSION_STRING) +
|
2014-04-21 08:10:59 -04:00
|
|
|
SIZE_TAG
|
2014-04-21 14:10:23 -04:00
|
|
|
"bgcolor[#320000b4;true]"
|
2014-03-19 14:13:12 -04:00
|
|
|
"label[4.85,1.35;You died.]"
|
|
|
|
"button_exit[4,3;3,0.5;btn_respawn;" + gettext("Respawn") + "]"
|
|
|
|
;
|
|
|
|
|
|
|
|
/* Create menu */
|
|
|
|
/* Note: FormspecFormSource and LocalFormspecHandler
|
|
|
|
* are deleted by guiFormSpecMenu */
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
FormspecFormSource *fs_src = new FormspecFormSource(formspec);
|
|
|
|
LocalFormspecHandler *txt_dst = new LocalFormspecHandler("MT_DEATH_SCREEN", client);
|
2014-04-19 20:40:25 -04:00
|
|
|
|
2014-09-20 20:23:55 -04:00
|
|
|
create_formspec_menu(cur_formspec, invmgr, gamedef, tsrc, device, fs_src, txt_dst, NULL);
|
2014-03-19 14:13:12 -04:00
|
|
|
}
|
|
|
|
|
2014-03-04 13:57:39 -05:00
|
|
|
/******************************************************************************/
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
static void show_pause_menu(GUIFormSpecMenu **cur_formspec,
|
2014-04-19 20:40:25 -04:00
|
|
|
InventoryManager *invmgr, IGameDef *gamedef,
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
IWritableTextureSource *tsrc, IrrlichtDevice *device,
|
2014-04-19 20:40:25 -04:00
|
|
|
bool singleplayermode)
|
2014-03-04 13:57:39 -05:00
|
|
|
{
|
2014-04-21 08:10:59 -04:00
|
|
|
#ifdef __ANDROID__
|
|
|
|
std::string control_text = wide_to_narrow(wstrgettext("Default Controls:\n"
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
"No menu visible:\n"
|
|
|
|
"- single tap: button activate\n"
|
|
|
|
"- double tap: place/use\n"
|
|
|
|
"- slide finger: look around\n"
|
|
|
|
"Menu/Inventory visible:\n"
|
|
|
|
"- double tap (outside):\n"
|
|
|
|
" -->close\n"
|
|
|
|
"- touch stack, touch slot:\n"
|
|
|
|
" --> move stack\n"
|
|
|
|
"- touch&drag, tap 2nd finger\n"
|
|
|
|
" --> place single item to slot\n"
|
|
|
|
));
|
2014-04-21 08:10:59 -04:00
|
|
|
#else
|
2014-03-13 09:00:10 -04:00
|
|
|
std::string control_text = wide_to_narrow(wstrgettext("Default Controls:\n"
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
"- WASD: move\n"
|
|
|
|
"- Space: jump/climb\n"
|
|
|
|
"- Shift: sneak/go down\n"
|
|
|
|
"- Q: drop item\n"
|
|
|
|
"- I: inventory\n"
|
|
|
|
"- Mouse: turn/look\n"
|
|
|
|
"- Mouse left: dig/punch\n"
|
|
|
|
"- Mouse right: place/use\n"
|
|
|
|
"- Mouse wheel: select item\n"
|
|
|
|
"- T: chat\n"
|
|
|
|
));
|
2014-04-21 08:10:59 -04:00
|
|
|
#endif
|
2014-10-16 03:47:54 -04:00
|
|
|
|
|
|
|
float ypos = singleplayermode ? 0.5 : 0.1;
|
2014-03-04 13:57:39 -05:00
|
|
|
std::ostringstream os;
|
|
|
|
|
2014-04-21 08:10:59 -04:00
|
|
|
os << FORMSPEC_VERSION_STRING << SIZE_TAG
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
<< "button_exit[4," << (ypos++) << ";3,0.5;btn_continue;"
|
|
|
|
<< wide_to_narrow(wstrgettext("Continue")) << "]";
|
2014-03-31 16:50:03 -04:00
|
|
|
|
|
|
|
if (!singleplayermode) {
|
|
|
|
os << "button_exit[4," << (ypos++) << ";3,0.5;btn_change_password;"
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
<< wide_to_narrow(wstrgettext("Change Password")) << "]";
|
|
|
|
}
|
2014-03-31 16:50:03 -04:00
|
|
|
|
2014-04-19 20:40:25 -04:00
|
|
|
os << "button_exit[4," << (ypos++) << ";3,0.5;btn_sound;"
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
<< wide_to_narrow(wstrgettext("Sound Volume")) << "]";
|
2014-09-20 23:21:11 -04:00
|
|
|
os << "button_exit[4," << (ypos++) << ";3,0.5;btn_key_config;"
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
<< wide_to_narrow(wstrgettext("Change Keys")) << "]";
|
2014-03-31 16:50:03 -04:00
|
|
|
os << "button_exit[4," << (ypos++) << ";3,0.5;btn_exit_menu;"
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
<< wide_to_narrow(wstrgettext("Exit to Menu")) << "]";
|
2014-03-31 16:50:03 -04:00
|
|
|
os << "button_exit[4," << (ypos++) << ";3,0.5;btn_exit_os;"
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
<< wide_to_narrow(wstrgettext("Exit to OS")) << "]"
|
2014-04-21 08:10:59 -04:00
|
|
|
<< "textarea[7.5,0.25;3.9,6.25;;" << control_text << ";]"
|
2014-03-31 16:50:03 -04:00
|
|
|
<< "textarea[0.4,0.25;3.5,6;;" << "Minetest\n"
|
|
|
|
<< minetest_build_info << "\n"
|
|
|
|
<< "path_user = " << wrap_rows(porting::path_user, 20)
|
|
|
|
<< "\n;]";
|
2014-03-04 13:57:39 -05:00
|
|
|
|
|
|
|
/* Create menu */
|
|
|
|
/* Note: FormspecFormSource and LocalFormspecHandler *
|
|
|
|
* are deleted by guiFormSpecMenu */
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
FormspecFormSource *fs_src = new FormspecFormSource(os.str());
|
|
|
|
LocalFormspecHandler *txt_dst = new LocalFormspecHandler("MT_PAUSE_MENU");
|
2014-04-19 20:40:25 -04:00
|
|
|
|
2014-09-20 20:23:55 -04:00
|
|
|
create_formspec_menu(cur_formspec, invmgr, gamedef, tsrc, device, fs_src, txt_dst, NULL);
|
2014-06-12 17:38:34 -04:00
|
|
|
|
2014-07-14 12:48:36 -04:00
|
|
|
(*cur_formspec)->doPause = true;
|
2014-03-04 13:57:39 -05:00
|
|
|
}
|
|
|
|
|
2014-08-22 11:40:11 -04:00
|
|
|
/******************************************************************************/
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
static void updateChat(Client &client, f32 dtime, bool show_debug,
|
|
|
|
const v2u32 &screensize, bool show_chat, u32 show_profiler,
|
|
|
|
ChatBackend &chat_backend, gui::IGUIStaticText *guitext_chat,
|
|
|
|
gui::IGUIFont *font)
|
2014-08-22 11:40:11 -04:00
|
|
|
{
|
|
|
|
// Add chat log output for errors to be shown in chat
|
|
|
|
static LogOutputBuffer chat_log_error_buf(LMT_ERROR);
|
|
|
|
|
|
|
|
// Get new messages from error log buffer
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
while (!chat_log_error_buf.empty()) {
|
2014-08-22 11:40:11 -04:00
|
|
|
chat_backend.addMessage(L"", narrow_to_wide(chat_log_error_buf.get()));
|
|
|
|
}
|
|
|
|
|
|
|
|
// Get new messages from client
|
|
|
|
std::wstring message;
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
2014-08-22 11:40:11 -04:00
|
|
|
while (client.getChatMessage(message)) {
|
|
|
|
chat_backend.addUnparsedMessage(message);
|
|
|
|
}
|
|
|
|
|
|
|
|
// Remove old messages
|
|
|
|
chat_backend.step(dtime);
|
|
|
|
|
|
|
|
// Display all messages in a static text element
|
|
|
|
unsigned int recent_chat_count = chat_backend.getRecentBuffer().getLineCount();
|
|
|
|
std::wstring recent_chat = chat_backend.getRecentChat();
|
|
|
|
|
|
|
|
// TODO replace by fontengine fcts
|
|
|
|
unsigned int line_height = font->getDimension(L"Ay").Height + font->getKerningHeight();
|
|
|
|
|
|
|
|
guitext_chat->setText(recent_chat.c_str());
|
|
|
|
|
|
|
|
// Update gui element size and position
|
|
|
|
s32 chat_y = 5 + line_height;
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
2014-08-22 11:40:11 -04:00
|
|
|
if (show_debug)
|
|
|
|
chat_y += line_height;
|
|
|
|
|
2014-09-25 13:54:02 -04:00
|
|
|
// first pass to calculate height of text to be set
|
|
|
|
s32 width = std::min(font->getDimension(recent_chat.c_str()).Width + 10,
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
porting::getWindowSize().X - 20);
|
2014-09-25 13:54:02 -04:00
|
|
|
core::rect<s32> rect(10, chat_y, width, chat_y + porting::getWindowSize().Y);
|
|
|
|
guitext_chat->setRelativePosition(rect);
|
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
//now use real height of text and adjust rect according to this size
|
2014-09-25 13:54:02 -04:00
|
|
|
rect = core::rect<s32>(10, chat_y, width,
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
chat_y + guitext_chat->getTextHeight());
|
2014-09-25 13:54:02 -04:00
|
|
|
|
2014-08-22 11:40:11 -04:00
|
|
|
|
|
|
|
guitext_chat->setRelativePosition(rect);
|
|
|
|
// Don't show chat if disabled or empty or profiler is enabled
|
|
|
|
guitext_chat->setVisible(
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
show_chat && recent_chat_count != 0 && !show_profiler);
|
2014-08-22 11:40:11 -04:00
|
|
|
}
|
|
|
|
|
2014-06-12 17:38:34 -04:00
|
|
|
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
/****************************************************************************
|
|
|
|
THE GAME
|
|
|
|
****************************************************************************/
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
const float object_hit_delay = 0.2;
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
struct FpsControl {
|
|
|
|
u32 last_time, busy_time, sleep_time;
|
|
|
|
};
|
2014-06-12 17:38:34 -04:00
|
|
|
|
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
/* The reason the following structs are not anonymous structs within the
|
|
|
|
* class is that they are not used by the majority of member functions and
|
|
|
|
* many functions that do require objects of thse types do not modify them
|
|
|
|
* (so they can be passed as a const qualified parameter)
|
|
|
|
*/
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
struct CameraOrientation {
|
|
|
|
f32 camera_yaw; // "right/left"
|
|
|
|
f32 camera_pitch; // "up/down"
|
|
|
|
};
|
2012-03-23 21:28:08 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
//TODO: Needs a better name because fog_range etc are included
|
|
|
|
struct InteractParams {
|
|
|
|
u16 dig_index;
|
|
|
|
u16 new_playeritem;
|
|
|
|
PointedThing pointed_old;
|
|
|
|
bool digging;
|
|
|
|
bool ldown_for_dig;
|
|
|
|
bool left_punch;
|
|
|
|
float nodig_delay_timer;
|
|
|
|
float dig_time;
|
|
|
|
float dig_time_complete;
|
|
|
|
float repeat_rightclick_timer;
|
|
|
|
float object_hit_delay_timer;
|
|
|
|
float time_from_last_punch;
|
|
|
|
ClientActiveObject *selected_object;
|
|
|
|
|
|
|
|
float jump_timer;
|
|
|
|
float damage_flash;
|
|
|
|
float update_draw_list_timer;
|
|
|
|
float statustext_time;
|
|
|
|
|
|
|
|
f32 fog_range;
|
2012-03-23 14:23:03 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
v3f update_draw_list_last_cam_dir;
|
2013-04-07 13:41:12 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
u32 profiler_current_page;
|
|
|
|
u32 profiler_max_page; // Number of pages
|
|
|
|
};
|
2012-03-23 14:23:03 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
struct Jitter {
|
|
|
|
f32 max, min, avg, counter, max_sample, min_sample, max_fraction;
|
|
|
|
};
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
struct RunStats {
|
|
|
|
u32 drawtime;
|
|
|
|
u32 beginscenetime;
|
|
|
|
u32 endscenetime;
|
2012-03-12 15:27:29 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
Jitter dtime_jitter, busy_time_jitter;
|
|
|
|
};
|
2013-04-07 13:41:12 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
/* Flags that can, or may, change during main game loop
|
|
|
|
*/
|
|
|
|
struct VolatileRunFlags {
|
|
|
|
bool invert_mouse;
|
|
|
|
bool show_chat;
|
|
|
|
bool show_hud;
|
|
|
|
bool force_fog_off;
|
|
|
|
bool show_debug;
|
|
|
|
bool show_profiler_graph;
|
|
|
|
bool disable_camera_update;
|
|
|
|
bool first_loop_after_window_activation;
|
|
|
|
bool camera_offset_changed;
|
|
|
|
};
|
2014-02-05 15:24:46 -05:00
|
|
|
|
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
/* This is not intended to be a public class. If a public class becomes
|
|
|
|
* desirable then it may be better to create another 'wrapper' class that
|
|
|
|
* hides most of the stuff in this class (nothing in this class is required
|
|
|
|
* by any other file) but exposes the public methods/data only.
|
|
|
|
*/
|
|
|
|
class MinetestApp
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
MinetestApp();
|
|
|
|
~MinetestApp();
|
|
|
|
|
|
|
|
bool startup(bool *kill,
|
|
|
|
bool random_input,
|
|
|
|
InputHandler *input,
|
|
|
|
IrrlichtDevice *device,
|
|
|
|
gui::IGUIFont *font,
|
|
|
|
const std::string &map_dir,
|
|
|
|
const std::string &playername,
|
|
|
|
const std::string &password,
|
|
|
|
// If address is "", local server is used and address is updated
|
|
|
|
std::string *address,
|
|
|
|
u16 port,
|
|
|
|
std::wstring *error_message,
|
|
|
|
ChatBackend *chat_backend,
|
|
|
|
const SubgameSpec &gamespec, // Used for local game
|
|
|
|
bool simple_singleplayer_mode);
|
|
|
|
|
|
|
|
void run();
|
|
|
|
void shutdown();
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
void extendedResourceCleanup();
|
|
|
|
|
|
|
|
// Basic initialisation
|
|
|
|
bool init(const std::string &map_dir, std::string *address,
|
|
|
|
u16 port,
|
|
|
|
const SubgameSpec &gamespec);
|
|
|
|
bool initSound();
|
|
|
|
bool createSingleplayerServer(const std::string map_dir,
|
|
|
|
const SubgameSpec &gamespec, u16 port, std::string *address);
|
|
|
|
|
|
|
|
// Client creation
|
|
|
|
bool createClient(const std::string &playername,
|
|
|
|
const std::string &password, std::string *address, u16 port,
|
|
|
|
std::wstring *error_message);
|
|
|
|
bool initGui(std::wstring *error_message);
|
|
|
|
|
|
|
|
// Client connection
|
|
|
|
bool connectToServer(const std::string &playername,
|
|
|
|
const std::string &password, std::string *address, u16 port,
|
|
|
|
bool *connect_ok, bool *aborted);
|
|
|
|
bool getServerContent(bool *aborted);
|
|
|
|
|
|
|
|
// Main loop
|
|
|
|
|
|
|
|
void updateInteractTimers(InteractParams *args, f32 dtime);
|
|
|
|
bool checkConnection();
|
|
|
|
bool handleCallbacks();
|
|
|
|
void processQueues();
|
|
|
|
void addProfilerGraphs(const RunStats &stats, const FpsControl &draw_times,
|
|
|
|
f32 dtime);
|
|
|
|
void updateStats(RunStats *stats, const FpsControl &draw_times, f32 dtime);
|
|
|
|
|
|
|
|
void processUserInput(VolatileRunFlags *flags, InteractParams *interact_args,
|
|
|
|
f32 dtime);
|
|
|
|
void processKeyboardInput(VolatileRunFlags *flags,
|
|
|
|
float *statustext_time,
|
|
|
|
float *jump_timer,
|
|
|
|
u32 *profiler_current_page,
|
|
|
|
u32 profiler_max_page);
|
|
|
|
void processItemSelection(u16 *new_playeritem);
|
|
|
|
|
|
|
|
void dropSelectedItem();
|
|
|
|
void openInventory();
|
|
|
|
void openConsole();
|
|
|
|
void toggleFreeMove(float *statustext_time);
|
|
|
|
void toggleFreeMoveAlt(float *statustext_time, float *jump_timer);
|
|
|
|
void toggleFast(float *statustext_time);
|
|
|
|
void toggleNoClip(float *statustext_time);
|
|
|
|
|
|
|
|
void toggleChat(float *statustext_time, bool *flag);
|
|
|
|
void toggleHud(float *statustext_time, bool *flag);
|
|
|
|
void toggleFog(float *statustext_time, bool *flag);
|
|
|
|
void toggleDebug(float *statustext_time, bool *show_debug,
|
|
|
|
bool *show_profiler_graph);
|
|
|
|
void toggleUpdateCamera(float *statustext_time, bool *flag);
|
|
|
|
void toggleProfiler(float *statustext_time, u32 *profiler_current_page,
|
|
|
|
u32 profiler_max_page);
|
|
|
|
|
|
|
|
void increaseViewRange(float *statustext_time);
|
|
|
|
void decreaseViewRange(float *statustext_time);
|
|
|
|
void toggleFullViewRange(float *statustext_time);
|
|
|
|
|
|
|
|
void updateCameraDirection(CameraOrientation *cam, VolatileRunFlags *flags);
|
|
|
|
void updatePlayerControl(const CameraOrientation &cam);
|
|
|
|
void step(f32 *dtime);
|
|
|
|
void processClientEvents(CameraOrientation *cam, float *damage_flash);
|
|
|
|
void updateCamera(VolatileRunFlags *flags, u32 busy_time, f32 dtime,
|
|
|
|
float time_from_last_punch);
|
|
|
|
void updateSound(f32 dtime);
|
|
|
|
void processPlayerInteraction(std::vector<aabb3f> &highlight_boxes,
|
|
|
|
InteractParams *interactArgs, f32 dtime, bool show_hud,
|
|
|
|
bool show_debug);
|
|
|
|
void handlePointingAtNode(InteractParams *interactArgs,
|
|
|
|
const PointedThing &pointed, const ItemDefinition &playeritem_def,
|
|
|
|
const ToolCapabilities &playeritem_toolcap, f32 dtime);
|
|
|
|
void handlePointingAtObject(InteractParams *interactArgs,
|
|
|
|
const PointedThing &pointed, const ItemStack &playeritem,
|
|
|
|
const v3f &player_position, bool show_debug);
|
|
|
|
void handleDigging(InteractParams *interactArgs, const PointedThing &pointed,
|
|
|
|
const v3s16 &nodepos, const ToolCapabilities &playeritem_toolcap,
|
|
|
|
f32 dtime);
|
|
|
|
void updateFrame(std::vector<aabb3f> &highlight_boxes, ProfilerGraph *graph,
|
|
|
|
RunStats *stats, InteractParams *interactArgs,
|
|
|
|
f32 dtime, const VolatileRunFlags &flags, const CameraOrientation &cam);
|
|
|
|
void updateGui(float *statustext_time, const RunStats &stats, f32 dtime,
|
|
|
|
const VolatileRunFlags &flags, const CameraOrientation &cam);
|
|
|
|
void updateProfilerGraphs(ProfilerGraph *graph);
|
|
|
|
|
|
|
|
// Misc
|
|
|
|
void limitFps(FpsControl *params, f32 *dtime);
|
|
|
|
|
|
|
|
void showOverlayMessage(const char *msg, float dtime, int percent,
|
|
|
|
bool draw_clouds = true);
|
|
|
|
|
|
|
|
inline const char *boolToCStr(bool v);
|
2014-02-05 15:24:46 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
private:
|
|
|
|
InputHandler *input;
|
2014-03-06 19:00:03 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
Client *client;
|
|
|
|
Server *server;
|
2014-03-06 19:00:03 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
gui::IGUIFont *font;
|
2011-11-14 18:00:16 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
IWritableTextureSource *texture_src;
|
|
|
|
IWritableShaderSource *shader_src;
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
// When created, these will be filled with data received from the server
|
|
|
|
IWritableItemDefManager *itemdef_manager;
|
|
|
|
IWritableNodeDefManager *nodedef_manager;
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
GameOnDemandSoundFetcher soundfetcher; // useful when testing
|
|
|
|
ISoundManager *sound;
|
|
|
|
bool sound_is_dummy;
|
|
|
|
SoundMaker *soundmaker;
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
ChatBackend *chat_backend;
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
GUIFormSpecMenu *current_formspec;
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
EventManager *eventmgr;
|
|
|
|
QuicktuneShortcutter *quicktune;
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
GUIChatConsole *gui_chat_console; // Free using ->Drop()
|
|
|
|
MapDrawControl *draw_control;
|
|
|
|
Camera *camera;
|
|
|
|
Clouds *clouds; // Free using ->Drop()
|
|
|
|
Sky *sky; // Free using ->Drop()
|
|
|
|
Inventory *local_inventory;
|
|
|
|
Hud *hud;
|
2011-04-23 17:11:23 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
/* 'cache'
|
|
|
|
This class does take ownership/responsibily for cleaning up etc of any of
|
|
|
|
these items (e.g. device)
|
2011-04-23 17:11:23 -04:00
|
|
|
*/
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
IrrlichtDevice *device;
|
|
|
|
video::IVideoDriver *driver;
|
|
|
|
scene::ISceneManager *smgr;
|
|
|
|
u32 text_height;
|
|
|
|
bool *kill;
|
|
|
|
std::wstring *error_message;
|
|
|
|
IGameDef *gamedef; // Convenience (same as *client)
|
|
|
|
scene::ISceneNode *skybox;
|
|
|
|
|
|
|
|
bool random_input;
|
|
|
|
bool simple_singleplayer_mode;
|
|
|
|
/* End 'cache' */
|
|
|
|
|
|
|
|
/* Pre-calculated values
|
|
|
|
*/
|
|
|
|
int crack_animation_length;
|
|
|
|
|
|
|
|
/* GUI stuff
|
|
|
|
*/
|
|
|
|
gui::IGUIStaticText *guitext; // First line of debug text
|
|
|
|
gui::IGUIStaticText *guitext2; // Second line of debug text
|
|
|
|
gui::IGUIStaticText *guitext_info; // At the middle of the screen
|
|
|
|
gui::IGUIStaticText *guitext_status;
|
|
|
|
gui::IGUIStaticText *guitext_chat; // Chat text
|
|
|
|
gui::IGUIStaticText *guitext_profiler; // Profiler text
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
std::wstring infotext;
|
|
|
|
std::wstring statustext;
|
|
|
|
};
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
MinetestApp::MinetestApp() :
|
|
|
|
client(NULL),
|
|
|
|
server(NULL),
|
|
|
|
font(NULL),
|
|
|
|
texture_src(NULL),
|
|
|
|
shader_src(NULL),
|
|
|
|
itemdef_manager(NULL),
|
|
|
|
nodedef_manager(NULL),
|
|
|
|
sound(NULL),
|
|
|
|
sound_is_dummy(false),
|
|
|
|
soundmaker(NULL),
|
|
|
|
chat_backend(NULL),
|
|
|
|
current_formspec(NULL),
|
|
|
|
eventmgr(NULL),
|
|
|
|
quicktune(NULL),
|
|
|
|
gui_chat_console(NULL),
|
|
|
|
draw_control(NULL),
|
|
|
|
camera(NULL),
|
|
|
|
clouds(NULL),
|
|
|
|
sky(NULL),
|
|
|
|
local_inventory(NULL),
|
|
|
|
hud(NULL)
|
|
|
|
{
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
}
|
2014-06-12 17:38:34 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
/****************************************************************************
|
|
|
|
MinetestApp Public
|
|
|
|
****************************************************************************/
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
MinetestApp::~MinetestApp()
|
|
|
|
{
|
|
|
|
delete client;
|
|
|
|
delete soundmaker;
|
|
|
|
if (!sound_is_dummy)
|
|
|
|
delete sound;
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
delete server; // deleted first to stop all server threads
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
delete hud;
|
|
|
|
delete local_inventory;
|
|
|
|
delete camera;
|
|
|
|
delete quicktune;
|
|
|
|
delete eventmgr;
|
|
|
|
delete texture_src;
|
|
|
|
delete shader_src;
|
|
|
|
delete nodedef_manager;
|
|
|
|
delete itemdef_manager;
|
|
|
|
delete draw_control;
|
2014-04-25 19:15:46 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
extendedResourceCleanup();
|
|
|
|
}
|
2014-04-25 19:15:46 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
bool MinetestApp::startup(bool *kill,
|
|
|
|
bool random_input,
|
|
|
|
InputHandler *input,
|
|
|
|
IrrlichtDevice *device,
|
|
|
|
gui::IGUIFont *font,
|
|
|
|
const std::string &map_dir,
|
|
|
|
const std::string &playername,
|
|
|
|
const std::string &password,
|
|
|
|
std::string *address, // can change if simple_singleplayer_mode
|
|
|
|
u16 port,
|
|
|
|
std::wstring *error_message,
|
|
|
|
ChatBackend *chat_backend,
|
|
|
|
const SubgameSpec &gamespec,
|
|
|
|
bool simple_singleplayer_mode)
|
|
|
|
{
|
|
|
|
// "cache"
|
|
|
|
this->device = device;
|
|
|
|
this->font = font;
|
|
|
|
this->kill = kill;
|
|
|
|
this->error_message = error_message;
|
|
|
|
this->random_input = random_input;
|
|
|
|
this->input = input;
|
|
|
|
this->chat_backend = chat_backend;
|
|
|
|
this->simple_singleplayer_mode = simple_singleplayer_mode;
|
|
|
|
|
|
|
|
driver = device->getVideoDriver();
|
|
|
|
smgr = device->getSceneManager();
|
|
|
|
text_height = font->getDimension(L"Random test string").Height;
|
|
|
|
|
|
|
|
if (!init(map_dir, address, port, gamespec))
|
|
|
|
return false;
|
|
|
|
|
|
|
|
if (!createClient(playername, password, address, port, error_message))
|
|
|
|
return false;
|
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
2014-04-25 19:15:46 -04:00
|
|
|
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
void MinetestApp::run()
|
|
|
|
{
|
|
|
|
ProfilerGraph graph;
|
|
|
|
RunStats stats = { 0 };
|
|
|
|
CameraOrientation cam_view = { 0 };
|
|
|
|
InteractParams interactArgs = { 0 };
|
|
|
|
FpsControl draw_times = { 0 };
|
|
|
|
VolatileRunFlags flags = { 0 };
|
|
|
|
f32 dtime; // in seconds
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
interactArgs.time_from_last_punch = 10.0;
|
|
|
|
interactArgs.profiler_max_page = 3;
|
2012-03-10 16:28:51 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
flags.show_chat = true;
|
|
|
|
flags.show_hud = true;
|
2012-01-12 00:10:39 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
/* FIXME: This should be updated every iteration, or not stored locally
|
|
|
|
now that key settings can be changed in-game */
|
|
|
|
flags.invert_mouse = g_settings->getBool("invert_mouse");
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
/* Clear the profiler */
|
|
|
|
Profiler::GraphValues dummyvalues;
|
|
|
|
g_profiler->graphGet(dummyvalues);
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
draw_times.last_time = device->getTimer()->getTime();
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
shader_src->addGlobalConstantSetter(new GameGlobalShaderConstantSetter(
|
|
|
|
sky,
|
|
|
|
&flags.force_fog_off,
|
|
|
|
&interactArgs.fog_range,
|
|
|
|
client));
|
2012-03-16 10:34:30 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
while (device->run() && !(*kill || g_gamecallback->shutdown_requested)) {
|
2012-03-16 10:34:30 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
/* Must be called immediately after a device->run() call because it
|
|
|
|
* uses device->getTimer()->getTime()
|
|
|
|
*/
|
|
|
|
limitFps(&draw_times, &dtime);
|
2013-05-02 16:52:50 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
updateStats(&stats, draw_times, dtime);
|
|
|
|
updateInteractTimers(&interactArgs, dtime);
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (!checkConnection())
|
|
|
|
break;
|
|
|
|
if (!handleCallbacks())
|
|
|
|
break;
|
2012-01-12 00:10:39 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
processQueues();
|
|
|
|
|
|
|
|
std::vector<aabb3f> highlight_boxes;
|
|
|
|
|
|
|
|
infotext = L"";
|
|
|
|
hud->resizeHotbar();
|
|
|
|
addProfilerGraphs(stats, draw_times, dtime);
|
|
|
|
processUserInput(&flags, &interactArgs, dtime);
|
|
|
|
// Update camera before player movement to avoid camera lag of one frame
|
|
|
|
updateCameraDirection(&cam_view, &flags);
|
|
|
|
updatePlayerControl(cam_view);
|
|
|
|
step(&dtime);
|
|
|
|
processClientEvents(&cam_view, &interactArgs.damage_flash);
|
|
|
|
updateCamera(&flags, draw_times.busy_time, dtime,
|
|
|
|
interactArgs.time_from_last_punch);
|
|
|
|
updateSound(dtime);
|
|
|
|
processPlayerInteraction(highlight_boxes, &interactArgs, dtime,
|
|
|
|
flags.show_hud, flags.show_debug);
|
|
|
|
updateFrame(highlight_boxes, &graph, &stats, &interactArgs, dtime,
|
|
|
|
flags, cam_view);
|
|
|
|
updateProfilerGraphs(&graph);
|
2012-06-16 11:02:56 -04:00
|
|
|
}
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
}
|
2012-06-16 11:02:56 -04:00
|
|
|
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
void MinetestApp::shutdown()
|
|
|
|
{
|
|
|
|
showOverlayMessage("Shutting down...", 0, 0, false);
|
|
|
|
|
|
|
|
if (clouds)
|
|
|
|
clouds->drop();
|
|
|
|
|
|
|
|
if (gui_chat_console)
|
|
|
|
gui_chat_console->drop();
|
|
|
|
|
|
|
|
if (sky)
|
|
|
|
sky->drop();
|
|
|
|
|
|
|
|
clear_particles();
|
|
|
|
|
|
|
|
/* cleanup menus */
|
|
|
|
while (g_menumgr.menuCount() > 0) {
|
|
|
|
g_menumgr.m_stack.front()->setVisible(false);
|
|
|
|
g_menumgr.deletingMenu(g_menumgr.m_stack.front());
|
|
|
|
}
|
|
|
|
|
|
|
|
if (current_formspec) {
|
|
|
|
current_formspec->drop();
|
|
|
|
current_formspec = NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
chat_backend->addMessage(L"", L"# Disconnected.");
|
|
|
|
chat_backend->addMessage(L"", L"");
|
|
|
|
|
|
|
|
if (client) {
|
|
|
|
client->Stop();
|
|
|
|
while (!client->isShutdown()) {
|
|
|
|
assert(texture_src != NULL);
|
|
|
|
assert(shader_src != NULL);
|
|
|
|
texture_src->processQueue();
|
|
|
|
shader_src->processQueue();
|
|
|
|
sleep_ms(100);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
Startup
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
bool MinetestApp::init(
|
|
|
|
const std::string &map_dir,
|
|
|
|
std::string *address,
|
|
|
|
u16 port,
|
|
|
|
const SubgameSpec &gamespec)
|
|
|
|
{
|
|
|
|
showOverlayMessage("Loading...", 0, 0);
|
|
|
|
|
|
|
|
texture_src = createTextureSource(device);
|
|
|
|
shader_src = createShaderSource(device);
|
|
|
|
|
|
|
|
itemdef_manager = createItemDefManager();
|
|
|
|
nodedef_manager = createNodeDefManager();
|
|
|
|
|
|
|
|
eventmgr = new EventManager();
|
|
|
|
quicktune = new QuicktuneShortcutter();
|
|
|
|
|
|
|
|
if (!(texture_src && shader_src && itemdef_manager && nodedef_manager
|
|
|
|
&& eventmgr && quicktune))
|
|
|
|
return false;
|
|
|
|
|
|
|
|
if (!initSound())
|
|
|
|
return false;
|
|
|
|
|
|
|
|
// Create a server if not connecting to an existing one
|
|
|
|
if (*address == "") {
|
|
|
|
if (!createSingleplayerServer(map_dir, gamespec, port, address))
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool MinetestApp::initSound()
|
|
|
|
{
|
|
|
|
#if USE_SOUND
|
|
|
|
if (g_settings->getBool("enable_sound")) {
|
|
|
|
infostream << "Attempting to use OpenAL audio" << std::endl;
|
|
|
|
sound = createOpenALSoundManager(&soundfetcher);
|
|
|
|
if (!sound)
|
|
|
|
infostream << "Failed to initialize OpenAL audio" << std::endl;
|
|
|
|
} else
|
|
|
|
infostream << "Sound disabled." << std::endl;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
if (!sound) {
|
|
|
|
infostream << "Using dummy audio." << std::endl;
|
|
|
|
sound = &dummySoundManager;
|
|
|
|
sound_is_dummy = true;
|
|
|
|
}
|
|
|
|
|
|
|
|
soundmaker = new SoundMaker(sound, nodedef_manager);
|
|
|
|
if (!soundmaker)
|
|
|
|
return false;
|
|
|
|
|
|
|
|
soundmaker->registerReceiver(eventmgr);
|
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool MinetestApp::createSingleplayerServer(const std::string map_dir,
|
|
|
|
const SubgameSpec &gamespec, u16 port, std::string *address)
|
|
|
|
{
|
|
|
|
showOverlayMessage("Creating server...", 0, 25);
|
|
|
|
|
|
|
|
std::string bind_str = g_settings->get("bind_address");
|
|
|
|
Address bind_addr(0, 0, 0, 0, port);
|
|
|
|
|
|
|
|
if (g_settings->getBool("ipv6_server")) {
|
|
|
|
bind_addr.setAddress((IPv6AddressBytes *) NULL);
|
|
|
|
}
|
|
|
|
|
|
|
|
try {
|
|
|
|
bind_addr.Resolve(bind_str.c_str());
|
|
|
|
*address = bind_str;
|
|
|
|
} catch (ResolveError &e) {
|
|
|
|
infostream << "Resolving bind address \"" << bind_str
|
|
|
|
<< "\" failed: " << e.what()
|
|
|
|
<< " -- Listening on all addresses." << std::endl;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (bind_addr.isIPv6() && !g_settings->getBool("enable_ipv6")) {
|
|
|
|
*error_message = L"Unable to listen on " +
|
|
|
|
narrow_to_wide(bind_addr.serializeString()) +
|
|
|
|
L" because IPv6 is disabled";
|
|
|
|
errorstream << wide_to_narrow(*error_message) << std::endl;
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
server = new Server(map_dir, gamespec, simple_singleplayer_mode,
|
|
|
|
bind_addr.isIPv6());
|
|
|
|
|
|
|
|
server->start(bind_addr);
|
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool MinetestApp::createClient(const std::string &playername,
|
|
|
|
const std::string &password, std::string *address, u16 port,
|
|
|
|
std::wstring *error_message)
|
|
|
|
{
|
|
|
|
showOverlayMessage("Creating client...", 0, 50);
|
|
|
|
|
|
|
|
draw_control = new MapDrawControl;
|
|
|
|
if (!draw_control)
|
|
|
|
return false;
|
|
|
|
|
|
|
|
bool could_connect, connect_aborted;
|
|
|
|
|
|
|
|
if (!connectToServer(playername, password, address, port,
|
|
|
|
&could_connect, &connect_aborted))
|
|
|
|
return false;
|
|
|
|
|
|
|
|
if (!could_connect) {
|
|
|
|
if (*error_message == L"" && !connect_aborted) {
|
|
|
|
// Should not happen if error messages are set properly
|
|
|
|
*error_message = L"Connection failed for unknown reason";
|
|
|
|
errorstream << wide_to_narrow(*error_message) << std::endl;
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!getServerContent(&connect_aborted)) {
|
|
|
|
if (*error_message == L"" && !connect_aborted) {
|
|
|
|
// Should not happen if error messages are set properly
|
|
|
|
*error_message = L"Connection failed for unknown reason";
|
|
|
|
errorstream << wide_to_narrow(*error_message) << std::endl;
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Update cached textures, meshes and materials
|
|
|
|
client->afterContentReceived(device, font);
|
|
|
|
|
|
|
|
/* Camera
|
|
|
|
*/
|
|
|
|
camera = new Camera(smgr, *draw_control, gamedef);
|
|
|
|
if (!camera || !camera->successfullyCreated(*error_message))
|
|
|
|
return false;
|
|
|
|
|
|
|
|
/* Clouds
|
|
|
|
*/
|
|
|
|
if (g_settings->getBool("enable_clouds")) {
|
|
|
|
clouds = new Clouds(smgr->getRootSceneNode(), smgr, -1, time(0));
|
|
|
|
if (!clouds) {
|
|
|
|
*error_message = L"Memory allocation error";
|
|
|
|
*error_message += narrow_to_wide(" (clouds)");
|
|
|
|
errorstream << wide_to_narrow(*error_message) << std::endl;
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Skybox
|
|
|
|
*/
|
|
|
|
sky = new Sky(smgr->getRootSceneNode(), smgr, -1);
|
|
|
|
skybox = NULL; // This is used/set later on in the main run loop
|
|
|
|
|
|
|
|
local_inventory = new Inventory(itemdef_manager);
|
|
|
|
|
|
|
|
if (!(sky && local_inventory)) {
|
|
|
|
*error_message = L"Memory allocation error";
|
|
|
|
*error_message += narrow_to_wide(" (sky or local inventory)");
|
|
|
|
errorstream << wide_to_narrow(*error_message) << std::endl;
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Pre-calculated values
|
|
|
|
*/
|
|
|
|
video::ITexture *t = texture_src->getTexture("crack_anylength.png");
|
|
|
|
if (t) {
|
|
|
|
v2u32 size = t->getOriginalSize();
|
|
|
|
crack_animation_length = size.Y / size.X;
|
|
|
|
} else {
|
|
|
|
crack_animation_length = 5;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!initGui(error_message))
|
|
|
|
return false;
|
|
|
|
|
|
|
|
/* Set window caption
|
|
|
|
*/
|
|
|
|
core::stringw str = L"Minetest [";
|
|
|
|
str += driver->getName();
|
|
|
|
str += "]";
|
|
|
|
device->setWindowCaption(str.c_str());
|
|
|
|
|
|
|
|
LocalPlayer *player = client->getEnv().getLocalPlayer();
|
|
|
|
player->hurt_tilt_timer = 0;
|
|
|
|
player->hurt_tilt_strength = 0;
|
|
|
|
|
|
|
|
hud = new Hud(driver, smgr, guienv, font, text_height, gamedef,
|
|
|
|
player, local_inventory);
|
|
|
|
|
|
|
|
if (!hud) {
|
|
|
|
*error_message = L"Memory error: could not create HUD";
|
|
|
|
errorstream << wide_to_narrow(*error_message) << std::endl;
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool MinetestApp::initGui(std::wstring *error_message)
|
|
|
|
{
|
|
|
|
// First line of debug text
|
|
|
|
guitext = guienv->addStaticText(
|
|
|
|
L"Minetest",
|
|
|
|
core::rect<s32>(0, 0, 0, 0),
|
|
|
|
false, false, guiroot);
|
|
|
|
|
|
|
|
// Second line of debug text
|
|
|
|
guitext2 = guienv->addStaticText(
|
2011-04-23 11:31:31 -04:00
|
|
|
L"",
|
2014-04-27 18:43:16 -04:00
|
|
|
core::rect<s32>(0, 0, 0, 0),
|
2014-08-22 11:40:11 -04:00
|
|
|
false, false, guiroot);
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
2011-04-23 11:31:31 -04:00
|
|
|
// At the middle of the screen
|
|
|
|
// Object infos are shown in this
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
guitext_info = guienv->addStaticText(
|
2011-04-23 11:31:31 -04:00
|
|
|
L"",
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
core::rect<s32>(0, 0, 400, text_height * 5 + 5) + v2s32(100, 200),
|
2014-08-22 11:40:11 -04:00
|
|
|
false, true, guiroot);
|
2014-06-12 17:38:34 -04:00
|
|
|
|
2012-01-31 18:56:30 -05:00
|
|
|
// Status text (displays info when showing and hiding GUI stuff, etc.)
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
guitext_status = guienv->addStaticText(
|
2012-01-31 18:56:30 -05:00
|
|
|
L"<Status>",
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
core::rect<s32>(0, 0, 0, 0),
|
2014-08-22 11:40:11 -04:00
|
|
|
false, false, guiroot);
|
2012-01-31 18:56:30 -05:00
|
|
|
guitext_status->setVisible(false);
|
2014-06-12 17:38:34 -04:00
|
|
|
|
2011-04-23 11:31:31 -04:00
|
|
|
// Chat text
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
guitext_chat = guienv->addStaticText(
|
2011-04-23 11:31:31 -04:00
|
|
|
L"",
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
core::rect<s32>(0, 0, 0, 0),
|
2011-06-18 01:50:14 -04:00
|
|
|
//false, false); // Disable word wrap as of now
|
2014-08-22 11:40:11 -04:00
|
|
|
false, true, guiroot);
|
2011-12-03 03:01:14 -05:00
|
|
|
// Remove stale "recent" chat messages from previous connections
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
chat_backend->clearRecentChat();
|
|
|
|
|
2011-12-03 03:01:14 -05:00
|
|
|
// Chat backend and console
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
gui_chat_console = new GUIChatConsole(guienv, guienv->getRootGUIElement(),
|
|
|
|
-1, chat_backend, client);
|
|
|
|
if (!gui_chat_console) {
|
|
|
|
*error_message = L"Could not allocate memory for chat console";
|
|
|
|
errorstream << wide_to_narrow(*error_message) << std::endl;
|
|
|
|
return false;
|
|
|
|
}
|
2014-06-12 17:38:34 -04:00
|
|
|
|
2011-11-02 12:13:56 -04:00
|
|
|
// Profiler text (size is updated when text is updated)
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
guitext_profiler = guienv->addStaticText(
|
2011-10-17 13:40:55 -04:00
|
|
|
L"<Profiler>",
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
core::rect<s32>(0, 0, 0, 0),
|
2014-08-22 11:40:11 -04:00
|
|
|
false, false, guiroot);
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
guitext_profiler->setBackgroundColor(video::SColor(120, 0, 0, 0));
|
2011-10-17 13:40:55 -04:00
|
|
|
guitext_profiler->setVisible(false);
|
2013-06-13 08:32:53 -04:00
|
|
|
guitext_profiler->setWordWrap(true);
|
2014-06-12 17:38:34 -04:00
|
|
|
|
2014-04-21 08:10:59 -04:00
|
|
|
#ifdef HAVE_TOUCHSCREENGUI
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
2014-04-21 08:10:59 -04:00
|
|
|
if (g_touchscreengui)
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
g_touchscreengui->init(tsrc, porting::getDisplayDensity());
|
|
|
|
|
2014-04-21 08:10:59 -04:00
|
|
|
#endif
|
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
return true;
|
|
|
|
}
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
bool MinetestApp::connectToServer(const std::string &playername,
|
|
|
|
const std::string &password, std::string *address, u16 port,
|
|
|
|
bool *connect_ok, bool *aborted)
|
|
|
|
{
|
|
|
|
showOverlayMessage("Resolving address...", 0, 75);
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
Address connect_address(0, 0, 0, 0, port);
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
try {
|
|
|
|
connect_address.Resolve(address->c_str());
|
2011-10-14 19:28:57 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (connect_address.isZero()) { // i.e. INADDR_ANY, IN6ADDR_ANY
|
|
|
|
//connect_address.Resolve("localhost");
|
|
|
|
if (connect_address.isIPv6()) {
|
|
|
|
IPv6AddressBytes addr_bytes;
|
|
|
|
addr_bytes.bytes[15] = 1;
|
|
|
|
connect_address.setAddress(&addr_bytes);
|
|
|
|
} else {
|
|
|
|
connect_address.setAddress(127, 0, 0, 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} catch (ResolveError &e) {
|
|
|
|
*error_message = L"Couldn't resolve address: " + narrow_to_wide(e.what());
|
|
|
|
errorstream << wide_to_narrow(*error_message) << std::endl;
|
|
|
|
return false;
|
|
|
|
}
|
2011-10-14 19:28:57 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (connect_address.isIPv6() && !g_settings->getBool("enable_ipv6")) {
|
|
|
|
*error_message = L"Unable to connect to " +
|
|
|
|
narrow_to_wide(connect_address.serializeString()) +
|
|
|
|
L" because IPv6 is disabled";
|
|
|
|
errorstream << wide_to_narrow(*error_message) << std::endl;
|
|
|
|
return false;
|
|
|
|
}
|
2013-01-03 13:51:52 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
client = new Client(device, playername.c_str(), password, *draw_control,
|
|
|
|
texture_src, shader_src, itemdef_manager, nodedef_manager, sound,
|
|
|
|
eventmgr, connect_address.isIPv6());
|
2012-03-11 06:28:41 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (!client)
|
|
|
|
return false;
|
2012-09-04 02:48:26 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
gamedef = client; // Client acts as our GameDef
|
2011-04-23 11:31:31 -04:00
|
|
|
|
2011-10-15 07:46:59 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
infostream << "Connecting to server at ";
|
|
|
|
connect_address.print(&infostream);
|
|
|
|
infostream << std::endl;
|
2011-10-18 14:08:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
client->connect(connect_address);
|
2012-03-16 10:34:30 -04:00
|
|
|
|
2013-01-04 09:19:16 -05:00
|
|
|
|
2012-11-30 20:02:16 -05:00
|
|
|
/*
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
Wait for server to accept connection
|
2012-11-30 20:02:16 -05:00
|
|
|
*/
|
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
try {
|
|
|
|
input->clear();
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
FpsControl fps_control = { 0 };
|
|
|
|
f32 dtime; // in seconds
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
while (device->run()) {
|
2011-05-30 17:15:43 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
limitFps(&fps_control, &dtime);
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
// Update client and server
|
|
|
|
client->step(dtime);
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (server != NULL)
|
|
|
|
server->step(dtime);
|
2012-04-27 20:06:25 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
// End condition
|
|
|
|
if (client->getState() == LC_Init) {
|
|
|
|
*connect_ok = true;
|
|
|
|
break;
|
|
|
|
}
|
2013-12-24 21:52:42 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
// Break conditions
|
|
|
|
if (client->accessDenied()) {
|
|
|
|
*error_message = L"Access denied. Reason: "
|
|
|
|
+ client->accessDeniedReason();
|
|
|
|
errorstream << wide_to_narrow(*error_message) << std::endl;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (input->wasKeyDown(EscapeKey) || input->wasKeyDown(CancelKey)) {
|
|
|
|
*aborted = true;
|
|
|
|
infostream << "Connect aborted [Escape]" << std::endl;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Update status
|
|
|
|
showOverlayMessage("Connecting to server...", dtime, 100);
|
|
|
|
}
|
|
|
|
} catch (con::PeerNotFoundException &e) {
|
|
|
|
// TODO: Should something be done here? At least an info/error
|
|
|
|
// message?
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool MinetestApp::getServerContent(bool *aborted)
|
|
|
|
{
|
|
|
|
input->clear();
|
|
|
|
|
|
|
|
FpsControl fps_control = { 0 };
|
|
|
|
f32 dtime; // in seconds
|
|
|
|
|
|
|
|
while (device->run()) {
|
|
|
|
|
|
|
|
limitFps(&fps_control, &dtime);
|
|
|
|
|
|
|
|
// Update client and server
|
|
|
|
client->step(dtime);
|
|
|
|
|
|
|
|
if (server != NULL)
|
|
|
|
server->step(dtime);
|
|
|
|
|
|
|
|
// End condition
|
|
|
|
if (client->mediaReceived() && client->itemdefReceived() &&
|
|
|
|
client->nodedefReceived()) {
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Error conditions
|
|
|
|
if (client->accessDenied()) {
|
|
|
|
*error_message = L"Access denied. Reason: "
|
|
|
|
+ client->accessDeniedReason();
|
|
|
|
errorstream << wide_to_narrow(*error_message) << std::endl;
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (client->getState() < LC_Init) {
|
|
|
|
*error_message = L"Client disconnected";
|
|
|
|
errorstream << wide_to_narrow(*error_message) << std::endl;
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (input->wasKeyDown(EscapeKey) || input->wasKeyDown(CancelKey)) {
|
|
|
|
*aborted = true;
|
|
|
|
infostream << "Connect aborted [Escape]" << std::endl;
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Display status
|
|
|
|
int progress = 0;
|
|
|
|
|
|
|
|
if (!client->itemdefReceived()) {
|
|
|
|
wchar_t *text = wgettext("Item definitions...");
|
|
|
|
progress = 0;
|
|
|
|
draw_load_screen(text, device, guienv, font, dtime, progress);
|
|
|
|
delete[] text;
|
|
|
|
} else if (!client->nodedefReceived()) {
|
|
|
|
wchar_t *text = wgettext("Node definitions...");
|
|
|
|
progress = 25;
|
|
|
|
draw_load_screen(text, device, guienv, font, dtime, progress);
|
|
|
|
delete[] text;
|
|
|
|
} else {
|
|
|
|
std::stringstream message;
|
|
|
|
message.precision(3);
|
|
|
|
message << gettext("Media...");
|
|
|
|
|
|
|
|
if ((USE_CURL == 0) ||
|
|
|
|
(!g_settings->getBool("enable_remote_media_server"))) {
|
|
|
|
float cur = client->getCurRate();
|
|
|
|
std::string cur_unit = gettext(" KB/s");
|
|
|
|
|
|
|
|
if (cur > 900) {
|
|
|
|
cur /= 1024.0;
|
|
|
|
cur_unit = gettext(" MB/s");
|
|
|
|
}
|
|
|
|
|
|
|
|
message << " ( " << cur << cur_unit << " )";
|
|
|
|
}
|
|
|
|
|
|
|
|
progress = 50 + client->mediaReceiveProgress() * 50 + 0.5;
|
|
|
|
draw_load_screen(narrow_to_wide(message.str().c_str()), device,
|
|
|
|
guienv, font, dtime, progress);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
Run
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
inline void MinetestApp::updateInteractTimers(InteractParams *args, f32 dtime)
|
|
|
|
{
|
|
|
|
if (args->nodig_delay_timer >= 0)
|
|
|
|
args->nodig_delay_timer -= dtime;
|
|
|
|
|
|
|
|
if (args->object_hit_delay_timer >= 0)
|
|
|
|
args->object_hit_delay_timer -= dtime;
|
|
|
|
|
|
|
|
args->time_from_last_punch += dtime;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* returns false if app should exit, otherwise true
|
|
|
|
*/
|
|
|
|
inline bool MinetestApp::checkConnection()
|
|
|
|
{
|
|
|
|
if (client->accessDenied()) {
|
|
|
|
*error_message = L"Access denied. Reason: "
|
|
|
|
+ client->accessDeniedReason();
|
|
|
|
errorstream << wide_to_narrow(*error_message) << std::endl;
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* returns false if app should exit, otherwise true
|
|
|
|
*/
|
|
|
|
inline bool MinetestApp::handleCallbacks()
|
|
|
|
{
|
|
|
|
if (g_gamecallback->disconnect_requested) {
|
|
|
|
g_gamecallback->disconnect_requested = false;
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (g_gamecallback->changepassword_requested) {
|
|
|
|
(new GUIPasswordChange(guienv, guiroot, -1,
|
|
|
|
&g_menumgr, client))->drop();
|
|
|
|
g_gamecallback->changepassword_requested = false;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (g_gamecallback->changevolume_requested) {
|
|
|
|
(new GUIVolumeChange(guienv, guiroot, -1,
|
|
|
|
&g_menumgr, client))->drop();
|
|
|
|
g_gamecallback->changevolume_requested = false;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (g_gamecallback->keyconfig_requested) {
|
|
|
|
(new GUIKeyChangeMenu(guienv, guiroot, -1,
|
|
|
|
&g_menumgr))->drop();
|
|
|
|
g_gamecallback->keyconfig_requested = false;
|
|
|
|
}
|
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void MinetestApp::processQueues()
|
|
|
|
{
|
|
|
|
texture_src->processQueue();
|
|
|
|
itemdef_manager->processQueue(gamedef);
|
|
|
|
shader_src->processQueue();
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void MinetestApp::addProfilerGraphs(const RunStats &stats,
|
|
|
|
const FpsControl &draw_times, f32 dtime)
|
|
|
|
{
|
|
|
|
g_profiler->graphAdd("mainloop_other",
|
|
|
|
draw_times.busy_time / 1000.0f - stats.drawtime / 1000.0f);
|
|
|
|
|
|
|
|
if (draw_times.sleep_time != 0)
|
|
|
|
g_profiler->graphAdd("mainloop_sleep", draw_times.sleep_time / 1000.0f);
|
|
|
|
g_profiler->graphAdd("mainloop_dtime", dtime);
|
|
|
|
|
|
|
|
g_profiler->add("Elapsed time", dtime);
|
|
|
|
g_profiler->avg("FPS", 1. / dtime);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void MinetestApp::updateStats(RunStats *stats, const FpsControl &draw_times,
|
|
|
|
f32 dtime)
|
|
|
|
{
|
|
|
|
|
|
|
|
f32 jitter;
|
|
|
|
Jitter *jp;
|
|
|
|
|
|
|
|
/* Time average and jitter calculation
|
|
|
|
*/
|
|
|
|
jp = &stats->dtime_jitter;
|
|
|
|
jp->avg = jp->avg * 0.96 + dtime * 0.04;
|
|
|
|
|
|
|
|
jitter = dtime - jp->avg;
|
|
|
|
|
|
|
|
if (jitter > jp->max)
|
|
|
|
jp->max = jitter;
|
|
|
|
|
|
|
|
jp->counter += dtime;
|
|
|
|
|
|
|
|
if (jp->counter > 0.0) {
|
|
|
|
jp->counter -= 3.0;
|
|
|
|
jp->max_sample = jp->max;
|
|
|
|
jp->max_fraction = jp->max_sample / (jp->avg + 0.001);
|
|
|
|
jp->max = 0.0;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Busytime average and jitter calculation
|
|
|
|
*/
|
|
|
|
jp = &stats->busy_time_jitter;
|
|
|
|
jp->avg = jp->avg + draw_times.busy_time * 0.02;
|
|
|
|
|
|
|
|
jitter = draw_times.busy_time - jp->avg;
|
|
|
|
|
|
|
|
if (jitter > jp->max)
|
|
|
|
jp->max = jitter;
|
|
|
|
if (jitter < jp->min)
|
|
|
|
jp->min = jitter;
|
|
|
|
|
|
|
|
jp->counter += dtime;
|
|
|
|
|
|
|
|
if (jp->counter > 0.0) {
|
|
|
|
jp->counter -= 3.0;
|
|
|
|
jp->max_sample = jp->max;
|
|
|
|
jp->min_sample = jp->min;
|
|
|
|
jp->max = 0.0;
|
|
|
|
jp->min = 0.0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
Input handling
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
void MinetestApp::processUserInput(VolatileRunFlags *flags,
|
|
|
|
InteractParams *interact_args, f32 dtime)
|
|
|
|
{
|
|
|
|
// Reset input if window not active or some menu is active
|
|
|
|
if (device->isWindowActive() == false
|
|
|
|
|| noMenuActive() == false
|
|
|
|
|| guienv->hasFocus(gui_chat_console)) {
|
|
|
|
input->clear();
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!guienv->hasFocus(gui_chat_console) && gui_chat_console->isOpen()) {
|
|
|
|
gui_chat_console->closeConsoleAtOnce();
|
|
|
|
}
|
|
|
|
|
|
|
|
// Input handler step() (used by the random input generator)
|
|
|
|
input->step(dtime);
|
|
|
|
|
|
|
|
#ifdef HAVE_TOUCHSCREENGUI
|
|
|
|
|
|
|
|
if (g_touchscreengui) {
|
|
|
|
g_touchscreengui->step(dtime);
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|
|
|
|
#ifdef __ANDROID__
|
|
|
|
|
|
|
|
if (current_formspec != 0)
|
|
|
|
current_formspec->getAndroidUIInput();
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
// Increase timer for double tap of "keymap_jump"
|
|
|
|
if (g_settings->getBool("doubletap_jump") && interact_args->jump_timer <= 0.2)
|
|
|
|
interact_args->jump_timer += dtime;
|
|
|
|
|
|
|
|
processKeyboardInput(
|
|
|
|
flags,
|
|
|
|
&interact_args->statustext_time,
|
|
|
|
&interact_args->jump_timer,
|
|
|
|
&interact_args->profiler_current_page,
|
|
|
|
interact_args->profiler_max_page);
|
|
|
|
|
|
|
|
processItemSelection(&interact_args->new_playeritem);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void MinetestApp::processKeyboardInput(VolatileRunFlags *flags,
|
|
|
|
float *statustext_time,
|
|
|
|
float *jump_timer,
|
|
|
|
u32 *profiler_current_page,
|
|
|
|
u32 profiler_max_page)
|
|
|
|
{
|
|
|
|
if (input->wasKeyDown(getKeySetting("keymap_drop"))) {
|
|
|
|
dropSelectedItem();
|
|
|
|
} else if (input->wasKeyDown(getKeySetting("keymap_inventory"))) {
|
|
|
|
openInventory();
|
|
|
|
} else if (input->wasKeyDown(EscapeKey) || input->wasKeyDown(CancelKey)) {
|
|
|
|
show_pause_menu(¤t_formspec, client, gamedef, texture_src, device,
|
|
|
|
simple_singleplayer_mode);
|
|
|
|
} else if (input->wasKeyDown(getKeySetting("keymap_chat"))) {
|
|
|
|
show_chat_menu(¤t_formspec, client, gamedef, texture_src, device,
|
|
|
|
client, "");
|
|
|
|
} else if (input->wasKeyDown(getKeySetting("keymap_cmd"))) {
|
|
|
|
show_chat_menu(¤t_formspec, client, gamedef, texture_src, device,
|
|
|
|
client, "/");
|
|
|
|
} else if (input->wasKeyDown(getKeySetting("keymap_console"))) {
|
|
|
|
openConsole();
|
|
|
|
} else if (input->wasKeyDown(getKeySetting("keymap_freemove"))) {
|
|
|
|
toggleFreeMove(statustext_time);
|
|
|
|
} else if (input->wasKeyDown(getKeySetting("keymap_jump"))) {
|
|
|
|
toggleFreeMoveAlt(statustext_time, jump_timer);
|
|
|
|
} else if (input->wasKeyDown(getKeySetting("keymap_fastmove"))) {
|
|
|
|
toggleFast(statustext_time);
|
|
|
|
} else if (input->wasKeyDown(getKeySetting("keymap_noclip"))) {
|
|
|
|
toggleNoClip(statustext_time);
|
|
|
|
} else if (input->wasKeyDown(getKeySetting("keymap_screenshot"))) {
|
|
|
|
client->makeScreenshot(device);
|
|
|
|
} else if (input->wasKeyDown(getKeySetting("keymap_toggle_hud"))) {
|
|
|
|
toggleHud(statustext_time, &flags->show_hud);
|
|
|
|
} else if (input->wasKeyDown(getKeySetting("keymap_toggle_chat"))) {
|
|
|
|
toggleChat(statustext_time, &flags->show_chat);
|
|
|
|
} else if (input->wasKeyDown(getKeySetting("keymap_toggle_force_fog_off"))) {
|
|
|
|
toggleFog(statustext_time, &flags->force_fog_off);
|
|
|
|
} else if (input->wasKeyDown(getKeySetting("keymap_toggle_update_camera"))) {
|
|
|
|
toggleUpdateCamera(statustext_time, &flags->disable_camera_update);
|
|
|
|
} else if (input->wasKeyDown(getKeySetting("keymap_toggle_debug"))) {
|
|
|
|
toggleDebug(statustext_time, &flags->show_debug, &flags->show_profiler_graph);
|
|
|
|
} else if (input->wasKeyDown(getKeySetting("keymap_toggle_profiler"))) {
|
|
|
|
toggleProfiler(statustext_time, profiler_current_page, profiler_max_page);
|
|
|
|
} else if (input->wasKeyDown(getKeySetting("keymap_increase_viewing_range_min"))) {
|
|
|
|
increaseViewRange(statustext_time);
|
|
|
|
} else if (input->wasKeyDown(getKeySetting("keymap_decrease_viewing_range_min"))) {
|
|
|
|
decreaseViewRange(statustext_time);
|
|
|
|
} else if (input->wasKeyDown(getKeySetting("keymap_rangeselect"))) {
|
|
|
|
toggleFullViewRange(statustext_time);
|
|
|
|
}
|
|
|
|
|
|
|
|
// Handle QuicktuneShortcutter
|
|
|
|
if (input->wasKeyDown(getKeySetting("keymap_quicktune_next")))
|
|
|
|
quicktune->next();
|
|
|
|
else if (input->wasKeyDown(getKeySetting("keymap_quicktune_prev")))
|
|
|
|
quicktune->prev();
|
|
|
|
else if (input->wasKeyDown(getKeySetting("keymap_quicktune_inc")))
|
|
|
|
quicktune->inc();
|
|
|
|
else if (input->wasKeyDown(getKeySetting("keymap_quicktune_dec")))
|
|
|
|
quicktune->dec();
|
|
|
|
|
|
|
|
std::string msg = quicktune->getMessage();
|
|
|
|
if (msg != "") {
|
|
|
|
statustext = narrow_to_wide(msg);
|
|
|
|
*statustext_time = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Print debug stacks
|
|
|
|
if (input->wasKeyDown(getKeySetting("keymap_print_debug_stacks"))) {
|
|
|
|
dstream << "-----------------------------------------"
|
|
|
|
<< std::endl;
|
|
|
|
dstream << DTIME << "Printing debug stacks:" << std::endl;
|
|
|
|
dstream << "-----------------------------------------"
|
|
|
|
<< std::endl;
|
|
|
|
debug_stacks_print();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void MinetestApp::processItemSelection(u16 *new_playeritem)
|
|
|
|
{
|
|
|
|
LocalPlayer *player = client->getEnv().getLocalPlayer();
|
|
|
|
|
|
|
|
/* Item selection using mouse wheel
|
|
|
|
*/
|
|
|
|
*new_playeritem = client->getPlayerItem();
|
|
|
|
|
|
|
|
s32 wheel = input->getMouseWheel();
|
|
|
|
u16 max_item = MYMIN(PLAYER_INVENTORY_SIZE - 1,
|
|
|
|
player->hud_hotbar_itemcount - 1);
|
|
|
|
|
|
|
|
if (wheel < 0)
|
|
|
|
*new_playeritem = *new_playeritem < max_item ? *new_playeritem + 1 : max_item;
|
|
|
|
else if (wheel > 0)
|
|
|
|
*new_playeritem = *new_playeritem > 0 ? *new_playeritem - 1 : max_item;
|
|
|
|
// else wheel == 0
|
|
|
|
|
|
|
|
|
|
|
|
/* Item selection using keyboard
|
|
|
|
*/
|
|
|
|
for (u16 i = 0; i < 10; i++) {
|
|
|
|
static const KeyPress *item_keys[10] = {
|
|
|
|
NumberKey + 1, NumberKey + 2, NumberKey + 3, NumberKey + 4,
|
|
|
|
NumberKey + 5, NumberKey + 6, NumberKey + 7, NumberKey + 8,
|
|
|
|
NumberKey + 9, NumberKey + 0,
|
|
|
|
};
|
|
|
|
|
|
|
|
if (input->wasKeyDown(*item_keys[i])) {
|
|
|
|
if (i < PLAYER_INVENTORY_SIZE && i < player->hud_hotbar_itemcount) {
|
|
|
|
*new_playeritem = i;
|
|
|
|
infostream << "Selected item: " << new_playeritem << std::endl;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void MinetestApp::dropSelectedItem()
|
|
|
|
{
|
|
|
|
IDropAction *a = new IDropAction();
|
|
|
|
a->count = 0;
|
|
|
|
a->from_inv.setCurrentPlayer();
|
|
|
|
a->from_list = "main";
|
|
|
|
a->from_i = client->getPlayerItem();
|
|
|
|
client->inventoryAction(a);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void MinetestApp::openInventory()
|
|
|
|
{
|
|
|
|
infostream << "the_game: " << "Launching inventory" << std::endl;
|
|
|
|
|
|
|
|
PlayerInventoryFormSource *fs_src = new PlayerInventoryFormSource(client);
|
|
|
|
TextDest *txt_dst = new TextDestPlayerInventory(client);
|
|
|
|
|
|
|
|
create_formspec_menu(¤t_formspec, client, gamedef, texture_src,
|
|
|
|
device, fs_src, txt_dst, client);
|
|
|
|
|
|
|
|
InventoryLocation inventoryloc;
|
|
|
|
inventoryloc.setCurrentPlayer();
|
|
|
|
current_formspec->setFormSpec(fs_src->getForm(), inventoryloc);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void MinetestApp::openConsole()
|
|
|
|
{
|
|
|
|
if (!gui_chat_console->isOpenInhibited()) {
|
|
|
|
// Open up to over half of the screen
|
|
|
|
gui_chat_console->openConsole(0.6);
|
|
|
|
guienv->setFocus(gui_chat_console);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void MinetestApp::toggleFreeMove(float *statustext_time)
|
|
|
|
{
|
|
|
|
static const wchar_t *msg[] = { L"free_move disabled", L"free_move enabled" };
|
|
|
|
|
|
|
|
bool free_move = !g_settings->getBool("free_move");
|
|
|
|
g_settings->set("free_move", boolToCStr(free_move));
|
|
|
|
|
|
|
|
*statustext_time = 0;
|
|
|
|
statustext = msg[free_move];
|
|
|
|
if (free_move && !client->checkPrivilege("fly"))
|
|
|
|
statustext += L" (note: no 'fly' privilege)";
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void MinetestApp::toggleFreeMoveAlt(float *statustext_time, float *jump_timer)
|
|
|
|
{
|
|
|
|
if (g_settings->getBool("doubletap_jump") && *jump_timer < 0.2f) {
|
|
|
|
toggleFreeMove(statustext_time);
|
|
|
|
*jump_timer = 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void MinetestApp::toggleFast(float *statustext_time)
|
|
|
|
{
|
|
|
|
static const wchar_t *msg[] = { L"fast_move disabled", L"fast_move enabled" };
|
|
|
|
bool fast_move = !g_settings->getBool("fast_move");
|
|
|
|
g_settings->set("fast_move", boolToCStr(fast_move));
|
|
|
|
|
|
|
|
*statustext_time = 0;
|
|
|
|
statustext = msg[fast_move];
|
|
|
|
|
|
|
|
if (fast_move && !client->checkPrivilege("fast"))
|
|
|
|
statustext += L" (note: no 'fast' privilege)";
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void MinetestApp::toggleNoClip(float *statustext_time)
|
|
|
|
{
|
|
|
|
static const wchar_t *msg[] = { L"noclip disabled", L"noclip enabled" };
|
|
|
|
bool noclip = !g_settings->getBool("noclip");
|
|
|
|
g_settings->set("noclip", boolToCStr(noclip));
|
|
|
|
|
|
|
|
*statustext_time = 0;
|
|
|
|
statustext = msg[noclip];
|
|
|
|
|
|
|
|
if (noclip && !client->checkPrivilege("noclip"))
|
|
|
|
statustext += L" (note: no 'noclip' privilege)";
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void MinetestApp::toggleChat(float *statustext_time, bool *flag)
|
|
|
|
{
|
|
|
|
static const wchar_t *msg[] = { L"Chat hidden", L"Chat shown" };
|
|
|
|
|
|
|
|
*flag = !*flag;
|
|
|
|
*statustext_time = 0;
|
|
|
|
statustext = msg[*flag];
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void MinetestApp::toggleHud(float *statustext_time, bool *flag)
|
|
|
|
{
|
|
|
|
static const wchar_t *msg[] = { L"HUD hidden", L"HUD shown" };
|
|
|
|
|
|
|
|
*flag = !*flag;
|
|
|
|
*statustext_time = 0;
|
|
|
|
statustext = msg[*flag];
|
|
|
|
client->setHighlighted(client->getHighlighted(), *flag);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void MinetestApp::toggleFog(float *statustext_time, bool *flag)
|
|
|
|
{
|
|
|
|
static const wchar_t *msg[] = { L"Fog enabled", L"Fog disabled" };
|
|
|
|
|
|
|
|
*flag = !*flag;
|
|
|
|
*statustext_time = 0;
|
|
|
|
statustext = msg[*flag];
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void MinetestApp::toggleDebug(float *statustext_time, bool *show_debug,
|
|
|
|
bool *show_profiler_graph)
|
|
|
|
{
|
|
|
|
// Initial / 3x toggle: Chat only
|
|
|
|
// 1x toggle: Debug text with chat
|
|
|
|
// 2x toggle: Debug text with profiler graph
|
|
|
|
if (!*show_debug) {
|
|
|
|
*show_debug = true;
|
|
|
|
*show_profiler_graph = false;
|
|
|
|
statustext = L"Debug info shown";
|
|
|
|
} else if (*show_profiler_graph) {
|
|
|
|
*show_debug = false;
|
|
|
|
*show_profiler_graph = false;
|
|
|
|
statustext = L"Debug info and profiler graph hidden";
|
|
|
|
} else {
|
|
|
|
*show_profiler_graph = true;
|
|
|
|
statustext = L"Profiler graph shown";
|
|
|
|
}
|
|
|
|
*statustext_time = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void MinetestApp::toggleUpdateCamera(float *statustext_time, bool *flag)
|
|
|
|
{
|
|
|
|
static const wchar_t *msg[] = {
|
|
|
|
L"Camera update enabled",
|
|
|
|
L"Camera update disabled"
|
|
|
|
};
|
|
|
|
|
|
|
|
*flag = !*flag;
|
|
|
|
*statustext_time = 0;
|
|
|
|
statustext = msg[*flag];
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void MinetestApp::toggleProfiler(float *statustext_time, u32 *profiler_current_page,
|
|
|
|
u32 profiler_max_page)
|
|
|
|
{
|
|
|
|
*profiler_current_page = (*profiler_current_page + 1) % (profiler_max_page + 1);
|
|
|
|
|
|
|
|
// FIXME: This updates the profiler with incomplete values
|
|
|
|
update_profiler_gui(guitext_profiler, font, text_height,
|
|
|
|
*profiler_current_page, profiler_max_page);
|
|
|
|
|
|
|
|
if (*profiler_current_page != 0) {
|
|
|
|
std::wstringstream sstr;
|
|
|
|
sstr << "Profiler shown (page " << *profiler_current_page
|
|
|
|
<< " of " << profiler_max_page << ")";
|
|
|
|
statustext = sstr.str();
|
|
|
|
} else {
|
|
|
|
statustext = L"Profiler hidden";
|
|
|
|
}
|
|
|
|
*statustext_time = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void MinetestApp::increaseViewRange(float *statustext_time)
|
|
|
|
{
|
|
|
|
s16 range = g_settings->getS16("viewing_range_nodes_min");
|
|
|
|
s16 range_new = range + 10;
|
|
|
|
g_settings->set("viewing_range_nodes_min", itos(range_new));
|
|
|
|
statustext = narrow_to_wide("Minimum viewing range changed to "
|
|
|
|
+ itos(range_new));
|
|
|
|
*statustext_time = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void MinetestApp::decreaseViewRange(float *statustext_time)
|
|
|
|
{
|
|
|
|
s16 range = g_settings->getS16("viewing_range_nodes_min");
|
|
|
|
s16 range_new = range - 10;
|
|
|
|
|
|
|
|
if (range_new < 0)
|
|
|
|
range_new = range;
|
|
|
|
|
|
|
|
g_settings->set("viewing_range_nodes_min", itos(range_new));
|
|
|
|
statustext = narrow_to_wide("Minimum viewing range changed to "
|
|
|
|
+ itos(range_new));
|
|
|
|
*statustext_time = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void MinetestApp::toggleFullViewRange(float *statustext_time)
|
|
|
|
{
|
|
|
|
static const wchar_t *msg[] = {
|
|
|
|
L"Disabled full viewing range",
|
|
|
|
L"Enabled full viewing range"
|
|
|
|
};
|
|
|
|
|
|
|
|
draw_control->range_all = !draw_control->range_all;
|
|
|
|
infostream << msg[draw_control->range_all] << std::endl;
|
|
|
|
statustext = msg[draw_control->range_all];
|
|
|
|
*statustext_time = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void MinetestApp::updateCameraDirection(CameraOrientation *cam,
|
|
|
|
VolatileRunFlags *flags)
|
|
|
|
{
|
|
|
|
// float turn_amount = 0; // Deprecated?
|
|
|
|
|
|
|
|
if (!(device->isWindowActive() && noMenuActive()) || random_input) {
|
|
|
|
|
|
|
|
// FIXME: Clean this up
|
|
|
|
|
|
|
|
#ifndef ANDROID
|
|
|
|
// Mac OSX gets upset if this is set every frame
|
|
|
|
if (device->getCursorControl()->isVisible() == false)
|
|
|
|
device->getCursorControl()->setVisible(true);
|
|
|
|
#endif
|
|
|
|
|
|
|
|
//infostream<<"window inactive"<<std::endl;
|
|
|
|
flags->first_loop_after_window_activation = true;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
#ifndef __ANDROID__
|
|
|
|
if (!random_input) {
|
|
|
|
// Mac OSX gets upset if this is set every frame
|
|
|
|
if (device->getCursorControl()->isVisible())
|
|
|
|
device->getCursorControl()->setVisible(false);
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
if (flags->first_loop_after_window_activation) {
|
|
|
|
//infostream<<"window active, first loop"<<std::endl;
|
|
|
|
flags->first_loop_after_window_activation = false;
|
|
|
|
} else {
|
|
|
|
|
|
|
|
#ifdef HAVE_TOUCHSCREENGUI
|
|
|
|
|
|
|
|
if (g_touchscreengui) {
|
|
|
|
camera_yaw = g_touchscreengui->getYaw();
|
|
|
|
camera_pitch = g_touchscreengui->getPitch();
|
|
|
|
} else {
|
|
|
|
#endif
|
|
|
|
s32 dx = input->getMousePos().X - (driver->getScreenSize().Width / 2);
|
|
|
|
s32 dy = input->getMousePos().Y - (driver->getScreenSize().Height / 2);
|
|
|
|
|
|
|
|
if (flags->invert_mouse
|
|
|
|
|| (camera->getCameraMode() == CAMERA_MODE_THIRD_FRONT)) {
|
|
|
|
dy = -dy;
|
|
|
|
}
|
|
|
|
|
|
|
|
//infostream<<"window active, pos difference "<<dx<<","<<dy<<std::endl;
|
|
|
|
|
|
|
|
float d = g_settings->getFloat("mouse_sensitivity");
|
|
|
|
d = rangelim(d, 0.01, 100.0);
|
|
|
|
cam->camera_yaw -= dx * d;
|
|
|
|
cam->camera_pitch += dy * d;
|
|
|
|
// turn_amount = v2f(dx, dy).getLength() * d; // deprecated?
|
|
|
|
|
|
|
|
#ifdef HAVE_TOUCHSCREENGUI
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
if (cam->camera_pitch < -89.5)
|
|
|
|
cam->camera_pitch = -89.5;
|
|
|
|
else if (cam->camera_pitch > 89.5)
|
|
|
|
cam->camera_pitch = 89.5;
|
|
|
|
}
|
|
|
|
|
|
|
|
input->setMousePos(driver->getScreenSize().Width / 2,
|
|
|
|
driver->getScreenSize().Height / 2);
|
|
|
|
|
|
|
|
// Deprecated? Not used anywhere else
|
|
|
|
// recent_turn_speed = recent_turn_speed * 0.9 + turn_amount * 0.1;
|
|
|
|
// std::cerr<<"recent_turn_speed = "<<recent_turn_speed<<std::endl;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void MinetestApp::updatePlayerControl(const CameraOrientation &cam)
|
|
|
|
{
|
|
|
|
PlayerControl control(
|
|
|
|
input->isKeyDown(getKeySetting("keymap_forward")),
|
|
|
|
input->isKeyDown(getKeySetting("keymap_backward")),
|
|
|
|
input->isKeyDown(getKeySetting("keymap_left")),
|
|
|
|
input->isKeyDown(getKeySetting("keymap_right")),
|
|
|
|
input->isKeyDown(getKeySetting("keymap_jump")),
|
|
|
|
input->isKeyDown(getKeySetting("keymap_special1")),
|
|
|
|
input->isKeyDown(getKeySetting("keymap_sneak")),
|
|
|
|
input->getLeftState(),
|
|
|
|
input->getRightState(),
|
|
|
|
cam.camera_pitch,
|
|
|
|
cam.camera_yaw
|
|
|
|
);
|
|
|
|
client->setPlayerControl(control);
|
|
|
|
LocalPlayer *player = client->getEnv().getLocalPlayer();
|
|
|
|
player->keyPressed =
|
|
|
|
( (u32)(input->isKeyDown(getKeySetting("keymap_forward")) & 0x1) << 0) |
|
|
|
|
( (u32)(input->isKeyDown(getKeySetting("keymap_backward")) & 0x1) << 1) |
|
|
|
|
( (u32)(input->isKeyDown(getKeySetting("keymap_left")) & 0x1) << 2) |
|
|
|
|
( (u32)(input->isKeyDown(getKeySetting("keymap_right")) & 0x1) << 3) |
|
|
|
|
( (u32)(input->isKeyDown(getKeySetting("keymap_jump")) & 0x1) << 4) |
|
|
|
|
( (u32)(input->isKeyDown(getKeySetting("keymap_special1")) & 0x1) << 5) |
|
|
|
|
( (u32)(input->isKeyDown(getKeySetting("keymap_sneak")) & 0x1) << 6) |
|
|
|
|
( (u32)(input->getLeftState() & 0x1) << 7) |
|
|
|
|
( (u32)(input->getRightState() & 0x1) << 8
|
|
|
|
);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
inline void MinetestApp::step(f32 *dtime)
|
|
|
|
{
|
|
|
|
bool can_be_and_is_paused =
|
|
|
|
(simple_singleplayer_mode && g_menumgr.pausesGame());
|
|
|
|
|
|
|
|
if (can_be_and_is_paused) { // This is for a singleplayer server
|
|
|
|
*dtime = 0; // No time passes
|
|
|
|
} else {
|
|
|
|
if (server != NULL) {
|
|
|
|
//TimeTaker timer("server->step(dtime)");
|
|
|
|
server->step(*dtime);
|
|
|
|
}
|
|
|
|
|
|
|
|
//TimeTaker timer("client.step(dtime)");
|
|
|
|
client->step(*dtime);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void MinetestApp::processClientEvents(CameraOrientation *cam, float *damage_flash)
|
|
|
|
{
|
|
|
|
ClientEvent event = client->getClientEvent();
|
|
|
|
|
|
|
|
LocalPlayer *player = client->getEnv().getLocalPlayer();
|
|
|
|
|
|
|
|
for ( ; event.type != CE_NONE; event = client->getClientEvent()) {
|
|
|
|
|
|
|
|
if (event.type == CE_PLAYER_DAMAGE &&
|
|
|
|
client->getHP() != 0) {
|
|
|
|
//u16 damage = event.player_damage.amount;
|
|
|
|
//infostream<<"Player damage: "<<damage<<std::endl;
|
|
|
|
|
|
|
|
*damage_flash += 100.0;
|
|
|
|
*damage_flash += 8.0 * event.player_damage.amount;
|
|
|
|
|
|
|
|
player->hurt_tilt_timer = 1.5;
|
|
|
|
player->hurt_tilt_strength = event.player_damage.amount / 4;
|
|
|
|
player->hurt_tilt_strength = rangelim(player->hurt_tilt_strength, 1.0, 4.0);
|
|
|
|
|
|
|
|
MtEvent *e = new SimpleTriggerEvent("PlayerDamage");
|
|
|
|
gamedef->event()->put(e);
|
|
|
|
} else if (event.type == CE_PLAYER_FORCE_MOVE) {
|
|
|
|
cam->camera_yaw = event.player_force_move.yaw;
|
|
|
|
cam->camera_pitch = event.player_force_move.pitch;
|
|
|
|
} else if (event.type == CE_DEATHSCREEN) {
|
|
|
|
show_deathscreen(¤t_formspec, client, gamedef, texture_src,
|
|
|
|
device, client);
|
|
|
|
|
|
|
|
chat_backend->addMessage(L"", L"You died.");
|
|
|
|
|
|
|
|
/* Handle visualization */
|
|
|
|
*damage_flash = 0;
|
|
|
|
player->hurt_tilt_timer = 0;
|
|
|
|
player->hurt_tilt_strength = 0;
|
|
|
|
|
|
|
|
} else if (event.type == CE_SHOW_FORMSPEC) {
|
|
|
|
FormspecFormSource *fs_src =
|
|
|
|
new FormspecFormSource(*(event.show_formspec.formspec));
|
|
|
|
TextDestPlayerInventory *txt_dst =
|
|
|
|
new TextDestPlayerInventory(client, *(event.show_formspec.formname));
|
|
|
|
|
|
|
|
create_formspec_menu(¤t_formspec, client, gamedef,
|
|
|
|
texture_src, device, fs_src, txt_dst, client);
|
|
|
|
|
|
|
|
delete(event.show_formspec.formspec);
|
|
|
|
delete(event.show_formspec.formname);
|
|
|
|
} else if (event.type == CE_SPAWN_PARTICLE) {
|
|
|
|
video::ITexture *texture =
|
|
|
|
gamedef->tsrc()->getTexture(*(event.spawn_particle.texture));
|
|
|
|
|
|
|
|
new Particle(gamedef, smgr, player, client->getEnv(),
|
|
|
|
*event.spawn_particle.pos,
|
|
|
|
*event.spawn_particle.vel,
|
|
|
|
*event.spawn_particle.acc,
|
|
|
|
event.spawn_particle.expirationtime,
|
|
|
|
event.spawn_particle.size,
|
|
|
|
event.spawn_particle.collisiondetection,
|
|
|
|
event.spawn_particle.vertical,
|
|
|
|
texture,
|
|
|
|
v2f(0.0, 0.0),
|
|
|
|
v2f(1.0, 1.0));
|
|
|
|
} else if (event.type == CE_ADD_PARTICLESPAWNER) {
|
|
|
|
video::ITexture *texture =
|
|
|
|
gamedef->tsrc()->getTexture(*(event.add_particlespawner.texture));
|
|
|
|
|
|
|
|
new ParticleSpawner(gamedef, smgr, player,
|
|
|
|
event.add_particlespawner.amount,
|
|
|
|
event.add_particlespawner.spawntime,
|
|
|
|
*event.add_particlespawner.minpos,
|
|
|
|
*event.add_particlespawner.maxpos,
|
|
|
|
*event.add_particlespawner.minvel,
|
|
|
|
*event.add_particlespawner.maxvel,
|
|
|
|
*event.add_particlespawner.minacc,
|
|
|
|
*event.add_particlespawner.maxacc,
|
|
|
|
event.add_particlespawner.minexptime,
|
|
|
|
event.add_particlespawner.maxexptime,
|
|
|
|
event.add_particlespawner.minsize,
|
|
|
|
event.add_particlespawner.maxsize,
|
|
|
|
event.add_particlespawner.collisiondetection,
|
|
|
|
event.add_particlespawner.vertical,
|
|
|
|
texture,
|
|
|
|
event.add_particlespawner.id);
|
|
|
|
} else if (event.type == CE_DELETE_PARTICLESPAWNER) {
|
|
|
|
delete_particlespawner(event.delete_particlespawner.id);
|
|
|
|
} else if (event.type == CE_HUDADD) {
|
|
|
|
u32 id = event.hudadd.id;
|
|
|
|
|
|
|
|
LocalPlayer *player = client->getEnv().getLocalPlayer();
|
|
|
|
HudElement *e = player->getHud(id);
|
|
|
|
|
|
|
|
if (e != NULL) {
|
|
|
|
delete event.hudadd.pos;
|
|
|
|
delete event.hudadd.name;
|
|
|
|
delete event.hudadd.scale;
|
|
|
|
delete event.hudadd.text;
|
|
|
|
delete event.hudadd.align;
|
|
|
|
delete event.hudadd.offset;
|
|
|
|
delete event.hudadd.world_pos;
|
|
|
|
delete event.hudadd.size;
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
|
|
|
|
e = new HudElement;
|
|
|
|
e->type = (HudElementType)event.hudadd.type;
|
|
|
|
e->pos = *event.hudadd.pos;
|
|
|
|
e->name = *event.hudadd.name;
|
|
|
|
e->scale = *event.hudadd.scale;
|
|
|
|
e->text = *event.hudadd.text;
|
|
|
|
e->number = event.hudadd.number;
|
|
|
|
e->item = event.hudadd.item;
|
|
|
|
e->dir = event.hudadd.dir;
|
|
|
|
e->align = *event.hudadd.align;
|
|
|
|
e->offset = *event.hudadd.offset;
|
|
|
|
e->world_pos = *event.hudadd.world_pos;
|
|
|
|
e->size = *event.hudadd.size;
|
|
|
|
|
|
|
|
u32 new_id = player->addHud(e);
|
|
|
|
//if this isn't true our huds aren't consistent
|
|
|
|
assert(new_id == id);
|
|
|
|
|
|
|
|
delete event.hudadd.pos;
|
|
|
|
delete event.hudadd.name;
|
|
|
|
delete event.hudadd.scale;
|
|
|
|
delete event.hudadd.text;
|
|
|
|
delete event.hudadd.align;
|
|
|
|
delete event.hudadd.offset;
|
|
|
|
delete event.hudadd.world_pos;
|
|
|
|
delete event.hudadd.size;
|
|
|
|
} else if (event.type == CE_HUDRM) {
|
|
|
|
HudElement *e = player->removeHud(event.hudrm.id);
|
|
|
|
|
|
|
|
if (e != NULL)
|
|
|
|
delete(e);
|
|
|
|
} else if (event.type == CE_HUDCHANGE) {
|
|
|
|
u32 id = event.hudchange.id;
|
|
|
|
HudElement *e = player->getHud(id);
|
|
|
|
|
|
|
|
if (e == NULL) {
|
|
|
|
delete event.hudchange.v3fdata;
|
|
|
|
delete event.hudchange.v2fdata;
|
|
|
|
delete event.hudchange.sdata;
|
|
|
|
delete event.hudchange.v2s32data;
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
|
|
|
|
switch (event.hudchange.stat) {
|
|
|
|
case HUD_STAT_POS:
|
|
|
|
e->pos = *event.hudchange.v2fdata;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case HUD_STAT_NAME:
|
|
|
|
e->name = *event.hudchange.sdata;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case HUD_STAT_SCALE:
|
|
|
|
e->scale = *event.hudchange.v2fdata;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case HUD_STAT_TEXT:
|
|
|
|
e->text = *event.hudchange.sdata;
|
|
|
|
break;
|
2014-02-04 18:17:57 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
case HUD_STAT_NUMBER:
|
|
|
|
e->number = event.hudchange.data;
|
|
|
|
break;
|
2011-06-25 20:14:52 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
case HUD_STAT_ITEM:
|
|
|
|
e->item = event.hudchange.data;
|
|
|
|
break;
|
2014-04-27 18:43:16 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
case HUD_STAT_DIR:
|
|
|
|
e->dir = event.hudchange.data;
|
|
|
|
break;
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
case HUD_STAT_ALIGN:
|
|
|
|
e->align = *event.hudchange.v2fdata;
|
|
|
|
break;
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
case HUD_STAT_OFFSET:
|
|
|
|
e->offset = *event.hudchange.v2fdata;
|
|
|
|
break;
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
case HUD_STAT_WORLD_POS:
|
|
|
|
e->world_pos = *event.hudchange.v3fdata;
|
|
|
|
break;
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
case HUD_STAT_SIZE:
|
|
|
|
e->size = *event.hudchange.v2s32data;
|
|
|
|
break;
|
2011-04-23 11:31:31 -04:00
|
|
|
}
|
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
delete event.hudchange.v3fdata;
|
|
|
|
delete event.hudchange.v2fdata;
|
|
|
|
delete event.hudchange.sdata;
|
|
|
|
delete event.hudchange.v2s32data;
|
|
|
|
} else if (event.type == CE_SET_SKY) {
|
|
|
|
sky->setVisible(false);
|
|
|
|
|
|
|
|
if (skybox) {
|
|
|
|
skybox->remove();
|
|
|
|
skybox = NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Handle according to type
|
|
|
|
if (*event.set_sky.type == "regular") {
|
|
|
|
sky->setVisible(true);
|
|
|
|
} else if (*event.set_sky.type == "skybox" &&
|
|
|
|
event.set_sky.params->size() == 6) {
|
|
|
|
sky->setFallbackBgColor(*event.set_sky.bgcolor);
|
|
|
|
skybox = smgr->addSkyBoxSceneNode(
|
|
|
|
texture_src->getTexture((*event.set_sky.params)[0]),
|
|
|
|
texture_src->getTexture((*event.set_sky.params)[1]),
|
|
|
|
texture_src->getTexture((*event.set_sky.params)[2]),
|
|
|
|
texture_src->getTexture((*event.set_sky.params)[3]),
|
|
|
|
texture_src->getTexture((*event.set_sky.params)[4]),
|
|
|
|
texture_src->getTexture((*event.set_sky.params)[5]));
|
|
|
|
}
|
|
|
|
// Handle everything else as plain color
|
|
|
|
else {
|
|
|
|
if (*event.set_sky.type != "plain")
|
|
|
|
infostream << "Unknown sky type: "
|
|
|
|
<< (*event.set_sky.type) << std::endl;
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
sky->setFallbackBgColor(*event.set_sky.bgcolor);
|
|
|
|
}
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
delete event.set_sky.bgcolor;
|
|
|
|
delete event.set_sky.type;
|
|
|
|
delete event.set_sky.params;
|
|
|
|
} else if (event.type == CE_OVERRIDE_DAY_NIGHT_RATIO) {
|
|
|
|
bool enable = event.override_day_night_ratio.do_override;
|
|
|
|
u32 value = event.override_day_night_ratio.ratio_f * 1000;
|
|
|
|
client->getEnv().setDayNightRatioOverride(enable, value);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2011-04-23 11:31:31 -04:00
|
|
|
|
2012-03-21 08:09:32 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
void MinetestApp::updateCamera(VolatileRunFlags *flags, u32 busy_time,
|
|
|
|
f32 dtime, float time_from_last_punch)
|
|
|
|
{
|
|
|
|
LocalPlayer *player = client->getEnv().getLocalPlayer();
|
2011-10-14 19:28:57 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
/*
|
|
|
|
For interaction purposes, get info about the held item
|
|
|
|
- What item is it?
|
|
|
|
- Is it a usable item?
|
|
|
|
- Can it point to liquids?
|
|
|
|
*/
|
|
|
|
ItemStack playeritem;
|
|
|
|
{
|
|
|
|
InventoryList *mlist = local_inventory->getList("main");
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (mlist && client->getPlayerItem() < mlist->getSize())
|
|
|
|
playeritem = mlist->getItem(client->getPlayerItem());
|
|
|
|
}
|
2011-10-16 14:16:44 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
ToolCapabilities playeritem_toolcap =
|
|
|
|
playeritem.getToolCapabilities(itemdef_manager);
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
v3s16 old_camera_offset = camera->getOffset();
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (input->wasKeyDown(getKeySetting("keymap_camera_mode"))) {
|
|
|
|
camera->toggleCameraMode();
|
|
|
|
GenericCAO *playercao = player->getCAO();
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
assert(playercao != NULL);
|
2012-03-21 07:31:47 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
playercao->setVisible(camera->getCameraMode() > CAMERA_MODE_FIRST);
|
|
|
|
}
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
float full_punch_interval = playeritem_toolcap.full_punch_interval;
|
|
|
|
float tool_reload_ratio = time_from_last_punch / full_punch_interval;
|
2012-03-21 07:31:47 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
tool_reload_ratio = MYMIN(tool_reload_ratio, 1.0);
|
|
|
|
camera->update(player, dtime, busy_time / 1000.0f, tool_reload_ratio,
|
|
|
|
client->getEnv());
|
|
|
|
camera->step(dtime);
|
2012-03-21 07:31:47 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
v3f camera_position = camera->getPosition();
|
|
|
|
v3f camera_direction = camera->getDirection();
|
|
|
|
f32 camera_fov = camera->getFovMax();
|
|
|
|
v3s16 camera_offset = camera->getOffset();
|
2012-03-21 07:31:47 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
flags->camera_offset_changed = (camera_offset != old_camera_offset);
|
2013-02-23 10:01:35 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (!flags->disable_camera_update) {
|
|
|
|
client->getEnv().getClientMap().updateCamera(camera_position,
|
|
|
|
camera_direction, camera_fov, camera_offset);
|
2014-09-20 23:21:11 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (flags->camera_offset_changed) {
|
|
|
|
client->updateCameraOffset(camera_offset);
|
|
|
|
client->getEnv().updateCameraOffset(camera_offset);
|
2014-09-20 23:21:11 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (clouds)
|
|
|
|
clouds->updateCameraOffset(camera_offset);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2012-03-21 07:31:47 -04:00
|
|
|
|
2012-11-30 11:12:32 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
void MinetestApp::updateSound(f32 dtime)
|
|
|
|
{
|
|
|
|
// Update sound listener
|
|
|
|
v3s16 camera_offset = camera->getOffset();
|
|
|
|
sound->updateListener(camera->getCameraNode()->getPosition() + intToFloat(camera_offset, BS),
|
|
|
|
v3f(0, 0, 0), // velocity
|
|
|
|
camera->getDirection(),
|
|
|
|
camera->getCameraNode()->getUpVector());
|
|
|
|
sound->setListenerGain(g_settings->getFloat("sound_volume"));
|
2012-03-18 21:59:12 -04:00
|
|
|
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
// Update sound maker
|
|
|
|
soundmaker->step(dtime);
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
LocalPlayer *player = client->getEnv().getLocalPlayer();
|
2011-10-17 13:40:55 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
ClientMap &map = client->getEnv().getClientMap();
|
|
|
|
MapNode n = map.getNodeNoEx(player->getStandingNodePos());
|
|
|
|
soundmaker->m_player_step_sound = nodedef_manager->get(n).sound_footstep;
|
|
|
|
}
|
2011-10-17 13:40:55 -04:00
|
|
|
|
2011-05-30 17:15:43 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
void MinetestApp::processPlayerInteraction(std::vector<aabb3f> &highlight_boxes,
|
|
|
|
InteractParams *interactArgs, f32 dtime, bool show_hud, bool show_debug)
|
|
|
|
{
|
|
|
|
LocalPlayer *player = client->getEnv().getLocalPlayer();
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
ItemStack playeritem;
|
|
|
|
{
|
|
|
|
InventoryList *mlist = local_inventory->getList("main");
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (mlist && client->getPlayerItem() < mlist->getSize())
|
|
|
|
playeritem = mlist->getItem(client->getPlayerItem());
|
|
|
|
}
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
const ItemDefinition &playeritem_def =
|
|
|
|
playeritem.getDefinition(itemdef_manager);
|
2013-01-03 13:51:52 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
v3f player_position = player->getPosition();
|
|
|
|
v3f camera_position = camera->getPosition();
|
|
|
|
v3f camera_direction = camera->getDirection();
|
|
|
|
v3s16 camera_offset = camera->getOffset();
|
2014-06-12 17:38:34 -04:00
|
|
|
|
2014-04-19 20:40:25 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
/*
|
|
|
|
Calculate what block is the crosshair pointing to
|
|
|
|
*/
|
2012-01-12 00:10:39 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
f32 d = playeritem_def.range; // max. distance
|
|
|
|
f32 d_hand = itemdef_manager->get("").range;
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (d < 0 && d_hand >= 0)
|
|
|
|
d = d_hand;
|
|
|
|
else if (d < 0)
|
|
|
|
d = 4.0;
|
2013-01-03 13:51:52 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
core::line3d<f32> shootline;
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (camera->getCameraMode() != CAMERA_MODE_THIRD_FRONT) {
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
shootline = core::line3d<f32>(camera_position,
|
|
|
|
camera_position + camera_direction * BS * (d + 1));
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
} else {
|
|
|
|
// prevent player pointing anything in front-view
|
|
|
|
if (camera->getCameraMode() == CAMERA_MODE_THIRD_FRONT)
|
|
|
|
shootline = core::line3d<f32>(0, 0, 0, 0, 0, 0);
|
|
|
|
}
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
#ifdef HAVE_TOUCHSCREENGUI
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if ((g_settings->getBool("touchtarget")) && (g_touchscreengui)) {
|
|
|
|
shootline = g_touchscreengui->getShootline();
|
|
|
|
shootline.start += intToFloat(camera_offset, BS);
|
|
|
|
shootline.end += intToFloat(camera_offset, BS);
|
|
|
|
}
|
2014-06-12 17:38:34 -04:00
|
|
|
|
2014-04-21 08:10:59 -04:00
|
|
|
#endif
|
2011-09-26 08:09:04 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
PointedThing pointed = getPointedThing(
|
|
|
|
// input
|
|
|
|
client, player_position, camera_direction,
|
|
|
|
camera_position, shootline, d,
|
|
|
|
playeritem_def.liquids_pointable,
|
|
|
|
!interactArgs->ldown_for_dig,
|
|
|
|
camera_offset,
|
|
|
|
// output
|
|
|
|
highlight_boxes,
|
|
|
|
interactArgs->selected_object);
|
|
|
|
|
|
|
|
if (pointed != interactArgs->pointed_old) {
|
|
|
|
infostream << "Pointing at " << pointed.dump() << std::endl;
|
|
|
|
|
|
|
|
if (g_settings->getBool("enable_node_highlighting")) {
|
|
|
|
if (pointed.type == POINTEDTHING_NODE) {
|
|
|
|
client->setHighlighted(pointed.node_undersurface, show_hud);
|
2014-04-21 08:10:59 -04:00
|
|
|
} else {
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
client->setHighlighted(pointed.node_undersurface, false);
|
2011-09-26 08:09:04 -04:00
|
|
|
}
|
|
|
|
}
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
}
|
2011-09-26 08:09:04 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
/*
|
|
|
|
Stop digging when
|
|
|
|
- releasing left mouse button
|
|
|
|
- pointing away from node
|
|
|
|
*/
|
|
|
|
if (interactArgs->digging) {
|
|
|
|
if (input->getLeftReleased()) {
|
|
|
|
infostream << "Left button released"
|
|
|
|
<< " (stopped digging)" << std::endl;
|
|
|
|
interactArgs->digging = false;
|
|
|
|
} else if (pointed != interactArgs->pointed_old) {
|
|
|
|
if (pointed.type == POINTEDTHING_NODE
|
|
|
|
&& interactArgs->pointed_old.type == POINTEDTHING_NODE
|
|
|
|
&& pointed.node_undersurface
|
|
|
|
== interactArgs->pointed_old.node_undersurface) {
|
|
|
|
// Still pointing to the same node, but a different face.
|
|
|
|
// Don't reset.
|
|
|
|
} else {
|
|
|
|
infostream << "Pointing away from node"
|
|
|
|
<< " (stopped digging)" << std::endl;
|
|
|
|
interactArgs->digging = false;
|
|
|
|
}
|
2011-04-23 11:31:31 -04:00
|
|
|
}
|
2014-01-06 10:37:23 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (!interactArgs->digging) {
|
|
|
|
client->interact(1, interactArgs->pointed_old);
|
|
|
|
client->setCrack(-1, v3s16(0, 0, 0));
|
|
|
|
interactArgs->dig_time = 0.0;
|
2011-04-23 11:31:31 -04:00
|
|
|
}
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
}
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (!interactArgs->digging && interactArgs->ldown_for_dig && !input->getLeftState()) {
|
|
|
|
interactArgs->ldown_for_dig = false;
|
|
|
|
}
|
2012-04-27 20:06:25 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
interactArgs->left_punch = false;
|
2012-04-27 20:06:25 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
soundmaker->m_player_leftpunch_sound.name = "";
|
2013-04-17 14:13:47 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (input->getRightState())
|
|
|
|
interactArgs->repeat_rightclick_timer += dtime;
|
|
|
|
else
|
|
|
|
interactArgs->repeat_rightclick_timer = 0;
|
2014-03-19 14:13:12 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (playeritem_def.usable && input->getLeftState()) {
|
|
|
|
if (input->getLeftClicked())
|
|
|
|
client->interact(4, pointed);
|
|
|
|
} else if (pointed.type == POINTEDTHING_NODE) {
|
|
|
|
ToolCapabilities playeritem_toolcap =
|
|
|
|
playeritem.getToolCapabilities(itemdef_manager);
|
|
|
|
handlePointingAtNode(interactArgs, pointed, playeritem_def,
|
|
|
|
playeritem_toolcap, dtime);
|
|
|
|
} else if (pointed.type == POINTEDTHING_OBJECT) {
|
|
|
|
handlePointingAtObject(interactArgs, pointed, playeritem,
|
|
|
|
player_position, show_debug);
|
|
|
|
} else if (input->getLeftState()) {
|
|
|
|
// When button is held down in air, show continuous animation
|
|
|
|
interactArgs->left_punch = true;
|
|
|
|
}
|
2011-12-03 03:01:14 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
interactArgs->pointed_old = pointed;
|
2011-10-15 07:46:59 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (interactArgs->left_punch || input->getLeftClicked())
|
|
|
|
camera->setDigging(0); // left click animation
|
2012-04-27 20:06:25 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
input->resetLeftClicked();
|
|
|
|
input->resetRightClicked();
|
2014-04-19 20:40:25 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
input->resetLeftReleased();
|
|
|
|
input->resetRightReleased();
|
|
|
|
}
|
2014-04-19 20:40:25 -04:00
|
|
|
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
void MinetestApp::handlePointingAtNode(InteractParams *interactArgs,
|
|
|
|
const PointedThing &pointed, const ItemDefinition &playeritem_def,
|
|
|
|
const ToolCapabilities &playeritem_toolcap, f32 dtime)
|
|
|
|
{
|
|
|
|
v3s16 nodepos = pointed.node_undersurface;
|
|
|
|
v3s16 neighbourpos = pointed.node_abovesurface;
|
2014-05-25 08:34:32 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
/*
|
|
|
|
Check information text of node
|
|
|
|
*/
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
ClientMap &map = client->getEnv().getClientMap();
|
|
|
|
NodeMetadata *meta = map.getNodeMetadata(nodepos);
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (meta) {
|
|
|
|
infotext = narrow_to_wide(meta->getString("infotext"));
|
|
|
|
} else {
|
|
|
|
MapNode n = map.getNode(nodepos);
|
2013-05-02 16:52:50 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (nodedef_manager->get(n).tiledef[0].name == "unknown_node.png") {
|
|
|
|
infotext = L"Unknown node: ";
|
|
|
|
infotext += narrow_to_wide(nodedef_manager->get(n).name);
|
2011-04-23 11:31:31 -04:00
|
|
|
}
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
}
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (interactArgs->nodig_delay_timer <= 0.0 && input->getLeftState()
|
|
|
|
&& client->checkPrivilege("interact")) {
|
|
|
|
handleDigging(interactArgs, pointed, nodepos, playeritem_toolcap, dtime);
|
|
|
|
}
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if ((input->getRightClicked() ||
|
|
|
|
interactArgs->repeat_rightclick_timer >=
|
|
|
|
g_settings->getFloat("repeat_rightclick_time")) &&
|
|
|
|
client->checkPrivilege("interact")) {
|
|
|
|
interactArgs->repeat_rightclick_timer = 0;
|
|
|
|
infostream << "Ground right-clicked" << std::endl;
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (meta && meta->getString("formspec") != "" && !random_input
|
|
|
|
&& !input->isKeyDown(getKeySetting("keymap_sneak"))) {
|
|
|
|
infostream << "Launching custom inventory view" << std::endl;
|
2012-03-09 16:53:25 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
InventoryLocation inventoryloc;
|
|
|
|
inventoryloc.setNodeMeta(nodepos);
|
2014-01-26 05:40:21 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
NodeMetadataFormSource *fs_src = new NodeMetadataFormSource(
|
|
|
|
&client->getEnv().getClientMap(), nodepos);
|
|
|
|
TextDest *txt_dst = new TextDestNodeMetadata(nodepos, client);
|
2014-01-08 07:47:53 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
create_formspec_menu(¤t_formspec, client, gamedef,
|
|
|
|
texture_src, device, fs_src, txt_dst, client);
|
2014-01-08 07:47:53 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
current_formspec->setFormSpec(meta->getString("formspec"), inventoryloc);
|
|
|
|
} else {
|
|
|
|
// Report right click to server
|
|
|
|
|
|
|
|
camera->setDigging(1); // right click animation (always shown for feedback)
|
|
|
|
|
|
|
|
// If the wielded item has node placement prediction,
|
|
|
|
// make that happen
|
|
|
|
bool placed = nodePlacementPrediction(*client,
|
|
|
|
playeritem_def,
|
|
|
|
nodepos, neighbourpos);
|
|
|
|
|
|
|
|
if (placed) {
|
|
|
|
// Report to server
|
|
|
|
client->interact(3, pointed);
|
|
|
|
// Read the sound
|
|
|
|
soundmaker->m_player_rightpunch_sound =
|
|
|
|
playeritem_def.sound_place;
|
|
|
|
} else {
|
|
|
|
soundmaker->m_player_rightpunch_sound =
|
|
|
|
SimpleSoundSpec();
|
2014-04-27 10:09:21 -04:00
|
|
|
}
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
if (playeritem_def.node_placement_prediction == "" ||
|
|
|
|
nodedef_manager->get(map.getNode(nodepos)).rightclickable)
|
|
|
|
client->interact(3, pointed); // Report to server
|
2014-01-08 07:47:53 -05:00
|
|
|
}
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
}
|
|
|
|
}
|
2012-03-09 16:53:25 -05:00
|
|
|
|
2014-01-26 05:40:21 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
void MinetestApp::handlePointingAtObject(InteractParams *interactArgs,
|
|
|
|
const PointedThing &pointed,
|
|
|
|
const ItemStack &playeritem,
|
|
|
|
const v3f &player_position,
|
|
|
|
bool show_debug)
|
|
|
|
{
|
|
|
|
infotext = narrow_to_wide(interactArgs->selected_object->infoText());
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (infotext == L"" && show_debug) {
|
|
|
|
infotext = narrow_to_wide(interactArgs->selected_object->debugInfoText());
|
|
|
|
}
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (input->getLeftState()) {
|
|
|
|
bool do_punch = false;
|
|
|
|
bool do_punch_damage = false;
|
2011-11-29 10:15:18 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (interactArgs->object_hit_delay_timer <= 0.0) {
|
|
|
|
do_punch = true;
|
|
|
|
do_punch_damage = true;
|
|
|
|
interactArgs->object_hit_delay_timer = object_hit_delay;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (input->getLeftClicked())
|
|
|
|
do_punch = true;
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (do_punch) {
|
|
|
|
infostream << "Left-clicked object" << std::endl;
|
|
|
|
interactArgs->left_punch = true;
|
2012-03-23 14:23:03 -04:00
|
|
|
}
|
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (do_punch_damage) {
|
|
|
|
// Report direct punch
|
|
|
|
v3f objpos = interactArgs->selected_object->getPosition();
|
|
|
|
v3f dir = (objpos - player_position).normalize();
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
bool disable_send = interactArgs->selected_object->directReportPunch(
|
|
|
|
dir, &playeritem, interactArgs->time_from_last_punch);
|
|
|
|
interactArgs->time_from_last_punch = 0;
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (!disable_send)
|
|
|
|
client->interact(0, pointed);
|
|
|
|
}
|
|
|
|
} else if (input->getRightClicked()) {
|
|
|
|
infostream << "Right-clicked object" << std::endl;
|
|
|
|
client->interact(3, pointed); // place
|
|
|
|
}
|
|
|
|
}
|
2011-04-23 11:31:31 -04:00
|
|
|
|
2014-04-21 08:10:59 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
void MinetestApp::handleDigging(InteractParams *interactArgs,
|
|
|
|
const PointedThing &pointed, const v3s16 &nodepos,
|
|
|
|
const ToolCapabilities &playeritem_toolcap, f32 dtime)
|
|
|
|
{
|
|
|
|
if (!interactArgs->digging) {
|
|
|
|
infostream << "Started digging" << std::endl;
|
|
|
|
client->interact(0, pointed);
|
|
|
|
interactArgs->digging = true;
|
|
|
|
interactArgs->ldown_for_dig = true;
|
|
|
|
}
|
2014-01-08 07:47:53 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
LocalPlayer *player = client->getEnv().getLocalPlayer();
|
|
|
|
ClientMap &map = client->getEnv().getClientMap();
|
|
|
|
MapNode n = client->getEnv().getClientMap().getNode(nodepos);
|
2014-04-21 08:10:59 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
// NOTE: Similar piece of code exists on the server side for
|
|
|
|
// cheat detection.
|
|
|
|
// Get digging parameters
|
|
|
|
DigParams params = getDigParams(nodedef_manager->get(n).groups,
|
|
|
|
&playeritem_toolcap);
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
// If can't dig, try hand
|
|
|
|
if (!params.diggable) {
|
|
|
|
const ItemDefinition &hand = itemdef_manager->get("");
|
|
|
|
const ToolCapabilities *tp = hand.tool_capabilities;
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (tp)
|
|
|
|
params = getDigParams(nodedef_manager->get(n).groups, tp);
|
|
|
|
}
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (params.diggable == false) {
|
|
|
|
// I guess nobody will wait for this long
|
|
|
|
interactArgs->dig_time_complete = 10000000.0;
|
|
|
|
} else {
|
|
|
|
interactArgs->dig_time_complete = params.time;
|
2013-01-04 09:19:16 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (g_settings->getBool("enable_particles")) {
|
|
|
|
const ContentFeatures &features =
|
|
|
|
client->getNodeDefManager()->get(n);
|
|
|
|
addPunchingParticles(gamedef, smgr, player,
|
|
|
|
client->getEnv(), nodepos, features.tiles);
|
2011-11-29 10:15:18 -05:00
|
|
|
}
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
}
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (interactArgs->dig_time_complete >= 0.001) {
|
|
|
|
interactArgs->dig_index = (float)crack_animation_length
|
|
|
|
* interactArgs->dig_time
|
|
|
|
/ interactArgs->dig_time_complete;
|
|
|
|
} else {
|
|
|
|
// This is for torches
|
|
|
|
interactArgs->dig_index = crack_animation_length;
|
|
|
|
}
|
2011-11-29 10:15:18 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
SimpleSoundSpec sound_dig = nodedef_manager->get(n).sound_dig;
|
2011-11-29 10:15:18 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (sound_dig.exists() && params.diggable) {
|
|
|
|
if (sound_dig.name == "__group") {
|
|
|
|
if (params.main_group != "") {
|
|
|
|
soundmaker->m_player_leftpunch_sound.gain = 0.5;
|
|
|
|
soundmaker->m_player_leftpunch_sound.name =
|
|
|
|
std::string("default_dig_") +
|
|
|
|
params.main_group;
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
soundmaker->m_player_leftpunch_sound = sound_dig;
|
|
|
|
}
|
|
|
|
}
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
// Don't show cracks if not diggable
|
|
|
|
if (interactArgs->dig_time_complete >= 100000.0) {
|
|
|
|
} else if (interactArgs->dig_index < crack_animation_length) {
|
|
|
|
//TimeTaker timer("client.setTempMod");
|
|
|
|
//infostream<<"dig_index="<<dig_index<<std::endl;
|
|
|
|
client->setCrack(interactArgs->dig_index, nodepos);
|
|
|
|
} else {
|
|
|
|
infostream << "Digging completed" << std::endl;
|
|
|
|
client->interact(2, pointed);
|
|
|
|
client->setCrack(-1, v3s16(0, 0, 0));
|
|
|
|
MapNode wasnode = map.getNode(nodepos);
|
|
|
|
client->removeNode(nodepos);
|
2012-07-21 07:38:49 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (g_settings->getBool("enable_particles")) {
|
|
|
|
const ContentFeatures &features =
|
|
|
|
client->getNodeDefManager()->get(wasnode);
|
|
|
|
addDiggingParticles
|
|
|
|
(gamedef, smgr, player, client->getEnv(),
|
|
|
|
nodepos, features.tiles);
|
|
|
|
}
|
2013-07-08 20:38:53 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
interactArgs->dig_time = 0;
|
|
|
|
interactArgs->digging = false;
|
2012-12-31 13:33:36 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
interactArgs->nodig_delay_timer =
|
|
|
|
interactArgs->dig_time_complete / (float)crack_animation_length;
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
// We don't want a corresponding delay to
|
|
|
|
// very time consuming nodes
|
|
|
|
if (interactArgs->nodig_delay_timer > 0.3)
|
|
|
|
interactArgs->nodig_delay_timer = 0.3;
|
2011-09-18 21:01:11 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
// We want a slight delay to very little
|
|
|
|
// time consuming nodes
|
|
|
|
const float mindelay = 0.15;
|
2011-11-29 10:15:18 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (interactArgs->nodig_delay_timer < mindelay)
|
|
|
|
interactArgs->nodig_delay_timer = mindelay;
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
// Send event to trigger sound
|
|
|
|
MtEvent *e = new NodeDugEvent(nodepos, wasnode);
|
|
|
|
gamedef->event()->put(e);
|
|
|
|
}
|
2012-01-12 00:10:39 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (interactArgs->dig_time_complete < 100000.0) {
|
|
|
|
interactArgs->dig_time += dtime;
|
|
|
|
} else {
|
|
|
|
interactArgs->dig_time = 0;
|
|
|
|
client->setCrack(-1, nodepos);
|
|
|
|
}
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
camera->setDigging(0); // left click animation
|
|
|
|
}
|
2014-04-19 20:40:25 -04:00
|
|
|
|
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
void MinetestApp::updateFrame(std::vector<aabb3f> &highlight_boxes,
|
|
|
|
ProfilerGraph *graph, RunStats *stats, InteractParams *interactArgs,
|
|
|
|
f32 dtime, const VolatileRunFlags &flags, const CameraOrientation &cam)
|
|
|
|
{
|
|
|
|
LocalPlayer *player = client->getEnv().getLocalPlayer();
|
2014-01-15 15:26:54 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
/*
|
|
|
|
Fog range
|
|
|
|
*/
|
2011-11-29 10:15:18 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (draw_control->range_all) {
|
|
|
|
interactArgs->fog_range = 100000 * BS;
|
|
|
|
} else {
|
|
|
|
interactArgs->fog_range = draw_control->wanted_range * BS
|
|
|
|
+ 0.0 * MAP_BLOCKSIZE * BS;
|
|
|
|
interactArgs->fog_range = MYMIN(
|
|
|
|
interactArgs->fog_range,
|
|
|
|
(draw_control->farthest_drawn + 20) * BS);
|
|
|
|
interactArgs->fog_range *= 0.9;
|
|
|
|
}
|
2012-03-09 13:28:55 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
/*
|
|
|
|
Calculate general brightness
|
|
|
|
*/
|
|
|
|
u32 daynight_ratio = client->getEnv().getDayNightRatio();
|
|
|
|
float time_brightness = decode_light_f((float)daynight_ratio / 1000.0);
|
|
|
|
float direct_brightness = 0;
|
|
|
|
bool sunlight_seen = false;
|
|
|
|
|
|
|
|
if (g_settings->getBool("free_move")) {
|
|
|
|
direct_brightness = time_brightness;
|
|
|
|
sunlight_seen = true;
|
|
|
|
} else {
|
|
|
|
ScopeProfiler sp(g_profiler, "Detecting background light", SPT_AVG);
|
|
|
|
float old_brightness = sky->getBrightness();
|
|
|
|
direct_brightness = client->getEnv().getClientMap()
|
|
|
|
.getBackgroundBrightness(MYMIN(interactArgs->fog_range * 1.2, 60 * BS),
|
|
|
|
daynight_ratio, (int)(old_brightness * 255.5), &sunlight_seen)
|
|
|
|
/ 255.0;
|
|
|
|
}
|
2011-09-07 10:56:04 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
float time_of_day = 0;
|
|
|
|
float time_of_day_smooth = 0;
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
time_of_day = client->getEnv().getTimeOfDayF();
|
2011-09-20 05:06:16 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
const float maxsm = 0.05;
|
2011-11-29 10:15:18 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (fabs(time_of_day - time_of_day_smooth) > maxsm &&
|
|
|
|
fabs(time_of_day - time_of_day_smooth + 1.0) > maxsm &&
|
|
|
|
fabs(time_of_day - time_of_day_smooth - 1.0) > maxsm)
|
|
|
|
time_of_day_smooth = time_of_day;
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
const float todsm = 0.05;
|
2012-03-16 10:34:30 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (time_of_day_smooth > 0.8 && time_of_day < 0.2)
|
|
|
|
time_of_day_smooth = time_of_day_smooth * (1.0 - todsm)
|
|
|
|
+ (time_of_day + 1.0) * todsm;
|
|
|
|
else
|
|
|
|
time_of_day_smooth = time_of_day_smooth * (1.0 - todsm)
|
|
|
|
+ time_of_day * todsm;
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
sky->update(time_of_day_smooth, time_brightness, direct_brightness,
|
|
|
|
sunlight_seen, camera->getCameraMode(), player->getYaw(),
|
|
|
|
player->getPitch());
|
2011-04-29 10:53:07 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
/*
|
|
|
|
Update clouds
|
|
|
|
*/
|
|
|
|
if (clouds) {
|
|
|
|
v3f player_position = player->getPosition();
|
|
|
|
if (sky->getCloudsVisible()) {
|
|
|
|
clouds->setVisible(true);
|
|
|
|
clouds->step(dtime);
|
|
|
|
clouds->update(v2f(player_position.X, player_position.Z),
|
|
|
|
sky->getCloudColor());
|
2012-03-16 10:34:30 -04:00
|
|
|
} else {
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
clouds->setVisible(false);
|
2011-05-06 09:58:06 -04:00
|
|
|
}
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
}
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
/*
|
|
|
|
Update particles
|
|
|
|
*/
|
2012-12-31 13:33:36 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
allparticles_step(dtime);
|
|
|
|
allparticlespawners_step(dtime, client->getEnv());
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
/*
|
|
|
|
Fog
|
|
|
|
*/
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (g_settings->getBool("enable_fog") && !flags.force_fog_off) {
|
|
|
|
driver->setFog(
|
|
|
|
sky->getBgColor(),
|
2011-04-23 11:31:31 -04:00
|
|
|
video::EFT_FOG_LINEAR,
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
interactArgs->fog_range * 0.4,
|
|
|
|
interactArgs->fog_range * 1.0,
|
2011-04-23 11:31:31 -04:00
|
|
|
0.01,
|
|
|
|
false, // pixel fog
|
|
|
|
false // range fog
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
);
|
|
|
|
} else {
|
|
|
|
driver->setFog(
|
|
|
|
sky->getBgColor(),
|
2011-04-23 11:31:31 -04:00
|
|
|
video::EFT_FOG_LINEAR,
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
100000 * BS,
|
|
|
|
110000 * BS,
|
2011-04-23 11:31:31 -04:00
|
|
|
0.01,
|
|
|
|
false, // pixel fog
|
|
|
|
false // range fog
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
);
|
|
|
|
}
|
2014-04-27 18:43:16 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
/*
|
|
|
|
Get chat messages from client
|
|
|
|
*/
|
2014-04-27 18:43:16 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
v2u32 screensize = driver->getScreenSize();
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
updateChat(*client, dtime, flags.show_debug, screensize,
|
|
|
|
flags.show_chat, interactArgs->profiler_current_page,
|
|
|
|
*chat_backend, guitext_chat, font);
|
2012-01-31 18:56:30 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
/*
|
|
|
|
Inventory
|
|
|
|
*/
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
bool update_wielded_item_trigger = true;
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (client->getPlayerItem() != interactArgs->new_playeritem) {
|
|
|
|
client->selectPlayerItem(interactArgs->new_playeritem);
|
|
|
|
}
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (client->getLocalInventoryUpdated()) {
|
|
|
|
//infostream<<"Updating local inventory"<<std::endl;
|
|
|
|
client->getLocalInventory(*local_inventory);
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
update_wielded_item_trigger = true;
|
|
|
|
}
|
2012-09-04 02:48:26 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (update_wielded_item_trigger) {
|
|
|
|
update_wielded_item_trigger = false;
|
|
|
|
// Update wielded tool
|
|
|
|
InventoryList *mlist = local_inventory->getList("main");
|
|
|
|
ItemStack item;
|
2012-09-04 02:48:26 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (mlist && (client->getPlayerItem() < mlist->getSize()))
|
|
|
|
item = mlist->getItem(client->getPlayerItem());
|
2014-08-22 11:40:11 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
camera->wield(item, client->getPlayerItem());
|
|
|
|
}
|
2012-02-18 11:51:19 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
/*
|
|
|
|
Update block draw list every 200ms or when camera direction has
|
|
|
|
changed much
|
|
|
|
*/
|
|
|
|
interactArgs->update_draw_list_timer += dtime;
|
|
|
|
|
|
|
|
v3f camera_direction = camera->getDirection();
|
|
|
|
if (interactArgs->update_draw_list_timer >= 0.2
|
|
|
|
|| interactArgs->update_draw_list_last_cam_dir.getDistanceFrom(camera_direction) > 0.2
|
|
|
|
|| flags.camera_offset_changed) {
|
|
|
|
interactArgs->update_draw_list_timer = 0;
|
|
|
|
client->getEnv().getClientMap().updateDrawList(driver);
|
|
|
|
interactArgs->update_draw_list_last_cam_dir = camera_direction;
|
|
|
|
}
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
updateGui(&interactArgs->statustext_time, *stats, dtime, flags, cam);
|
2011-09-20 19:42:52 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
/*
|
|
|
|
make sure menu is on top
|
|
|
|
1. Delete formspec menu reference if menu was removed
|
|
|
|
2. Else, make sure formspec menu is on top
|
|
|
|
*/
|
|
|
|
if (current_formspec) {
|
|
|
|
if (current_formspec->getReferenceCount() == 1) {
|
|
|
|
current_formspec->drop();
|
|
|
|
current_formspec = NULL;
|
|
|
|
} else if (!noMenuActive()) {
|
|
|
|
guiroot->bringToFront(current_formspec);
|
2011-04-23 11:31:31 -04:00
|
|
|
}
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
}
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
/*
|
|
|
|
Drawing begins
|
|
|
|
*/
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
video::SColor skycolor = sky->getSkyColor();
|
2011-07-01 14:25:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
TimeTaker tt_draw("mainloop: draw");
|
|
|
|
{
|
|
|
|
TimeTaker timer("beginScene");
|
|
|
|
driver->beginScene(true, true, skycolor);
|
|
|
|
stats->beginscenetime = timer.stop(true);
|
|
|
|
}
|
2012-04-27 20:06:25 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
draw_scene(driver, smgr, *camera, *client, player, *hud, guienv,
|
|
|
|
highlight_boxes, screensize, skycolor, flags.show_hud);
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
/*
|
|
|
|
Profiler graph
|
|
|
|
*/
|
|
|
|
if (flags.show_profiler_graph)
|
|
|
|
graph->draw(10, screensize.Y - 10, driver, font);
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
/*
|
|
|
|
Damage flash
|
|
|
|
*/
|
|
|
|
if (interactArgs->damage_flash > 0.0) {
|
|
|
|
video::SColor color(std::min(interactArgs->damage_flash, 180.0f),
|
|
|
|
180,
|
|
|
|
0,
|
|
|
|
0);
|
|
|
|
driver->draw2DRectangle(color,
|
|
|
|
core::rect<s32>(0, 0, screensize.X, screensize.Y),
|
|
|
|
NULL);
|
2011-04-23 11:31:31 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
interactArgs->damage_flash -= 100.0 * dtime;
|
2011-04-23 11:31:31 -04:00
|
|
|
}
|
2011-05-21 07:28:28 -04:00
|
|
|
|
|
|
|
/*
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
Damage camera tilt
|
2011-05-21 07:28:28 -04:00
|
|
|
*/
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (player->hurt_tilt_timer > 0.0) {
|
|
|
|
player->hurt_tilt_timer -= dtime * 5;
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (player->hurt_tilt_timer < 0)
|
|
|
|
player->hurt_tilt_strength = 0;
|
2014-10-24 10:22:05 -04:00
|
|
|
}
|
|
|
|
|
2011-05-06 09:58:06 -04:00
|
|
|
/*
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
End scene
|
2011-05-06 09:58:06 -04:00
|
|
|
*/
|
|
|
|
{
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
TimeTaker timer("endScene");
|
|
|
|
driver->endScene();
|
|
|
|
stats->endscenetime = timer.stop(true);
|
2011-05-06 09:58:06 -04:00
|
|
|
}
|
2011-11-13 17:19:48 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
stats->drawtime = tt_draw.stop(true);
|
|
|
|
g_profiler->graphAdd("mainloop_draw", stats->drawtime / 1000.0f);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void MinetestApp::updateGui(float *statustext_time, const RunStats& stats,
|
|
|
|
f32 dtime, const VolatileRunFlags &flags, const CameraOrientation &cam)
|
|
|
|
{
|
|
|
|
v2u32 screensize = driver->getScreenSize();
|
|
|
|
LocalPlayer *player = client->getEnv().getLocalPlayer();
|
|
|
|
v3f player_position = player->getPosition();
|
2011-12-03 03:01:14 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (flags.show_debug) {
|
|
|
|
static float drawtime_avg = 0;
|
|
|
|
drawtime_avg = drawtime_avg * 0.95 + stats.drawtime * 0.05;
|
2014-01-06 06:45:42 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
u16 fps = 1.0 / stats.dtime_jitter.avg;
|
2014-01-06 06:45:42 -05:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
std::ostringstream os(std::ios_base::binary);
|
|
|
|
os << std::fixed
|
|
|
|
<< "Minetest " << minetest_version_hash
|
|
|
|
<< " FPS = " << fps
|
|
|
|
<< " (R: range_all=" << draw_control->range_all << ")"
|
|
|
|
<< std::setprecision(0)
|
|
|
|
<< " drawtime = " << drawtime_avg
|
|
|
|
<< std::setprecision(1)
|
|
|
|
<< ", dtime_jitter = "
|
|
|
|
<< (stats.dtime_jitter.max_fraction * 100.0) << " %"
|
|
|
|
<< std::setprecision(1)
|
|
|
|
<< ", v_range = " << draw_control->wanted_range
|
|
|
|
<< std::setprecision(3)
|
|
|
|
<< ", RTT = " << client->getRTT();
|
|
|
|
guitext->setText(narrow_to_wide(os.str()).c_str());
|
|
|
|
guitext->setVisible(true);
|
|
|
|
} else if (flags.show_hud || flags.show_chat) {
|
|
|
|
std::ostringstream os(std::ios_base::binary);
|
|
|
|
os << "Minetest " << minetest_version_hash;
|
|
|
|
guitext->setText(narrow_to_wide(os.str()).c_str());
|
|
|
|
guitext->setVisible(true);
|
|
|
|
} else {
|
|
|
|
guitext->setVisible(false);
|
2014-01-06 06:45:42 -05:00
|
|
|
}
|
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
if (guitext->isVisible()) {
|
|
|
|
core::rect<s32> rect(
|
|
|
|
5, 5,
|
|
|
|
screensize.X, 5 + text_height
|
|
|
|
);
|
|
|
|
guitext->setRelativePosition(rect);
|
2012-03-25 11:45:27 -04:00
|
|
|
}
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
if (flags.show_debug) {
|
|
|
|
std::ostringstream os(std::ios_base::binary);
|
|
|
|
os << std::setprecision(1) << std::fixed
|
|
|
|
<< "(" << (player_position.X / BS)
|
|
|
|
<< ", " << (player_position.Y / BS)
|
|
|
|
<< ", " << (player_position.Z / BS)
|
|
|
|
<< ") (yaw=" << (wrapDegrees_0_360(cam.camera_yaw))
|
|
|
|
<< ") (seed = " << ((u64)client->getMapSeed())
|
|
|
|
<< ")";
|
|
|
|
guitext2->setText(narrow_to_wide(os.str()).c_str());
|
|
|
|
guitext2->setVisible(true);
|
|
|
|
|
|
|
|
core::rect<s32> rect(
|
|
|
|
5, 5 + text_height,
|
|
|
|
screensize.X, 5 + text_height * 2
|
|
|
|
);
|
|
|
|
guitext2->setRelativePosition(rect);
|
|
|
|
} else {
|
|
|
|
guitext2->setVisible(false);
|
2013-04-07 13:41:12 -04:00
|
|
|
}
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
guitext_info->setText(infotext.c_str());
|
|
|
|
guitext_info->setVisible(flags.show_hud && g_menumgr.menuCount() == 0);
|
|
|
|
|
|
|
|
float statustext_time_max = 1.5;
|
|
|
|
|
|
|
|
if (!statustext.empty()) {
|
|
|
|
*statustext_time += dtime;
|
|
|
|
|
|
|
|
if (*statustext_time >= statustext_time_max) {
|
|
|
|
statustext = L"";
|
|
|
|
*statustext_time = 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
guitext_status->setText(statustext.c_str());
|
|
|
|
guitext_status->setVisible(!statustext.empty());
|
|
|
|
|
|
|
|
if (!statustext.empty()) {
|
|
|
|
s32 status_y = screensize.Y - 130;
|
|
|
|
core::rect<s32> rect(
|
|
|
|
10, status_y - guitext_status->getTextHeight(),
|
|
|
|
10 + guitext_status->getTextWidth(), status_y
|
|
|
|
);
|
|
|
|
guitext_status->setRelativePosition(rect);
|
|
|
|
|
|
|
|
// Fade out
|
|
|
|
video::SColor initial_color(255, 0, 0, 0);
|
|
|
|
|
|
|
|
if (guienv->getSkin())
|
|
|
|
initial_color = guienv->getSkin()->getColor(gui::EGDC_BUTTON_TEXT);
|
|
|
|
|
|
|
|
video::SColor final_color = initial_color;
|
|
|
|
final_color.setAlpha(0);
|
|
|
|
video::SColor fade_color = initial_color.getInterpolated_quadratic(
|
|
|
|
initial_color, final_color,
|
|
|
|
pow(*statustext_time / statustext_time_max, 2.0f));
|
|
|
|
guitext_status->setOverrideColor(fade_color);
|
|
|
|
guitext_status->enableOverrideColor(true);
|
2013-04-07 13:41:12 -04:00
|
|
|
}
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* Log times and stuff for visualization */
|
|
|
|
inline void MinetestApp::updateProfilerGraphs(ProfilerGraph *graph)
|
|
|
|
{
|
|
|
|
Profiler::GraphValues values;
|
|
|
|
g_profiler->graphGet(values);
|
|
|
|
graph->put(values);
|
|
|
|
}
|
2013-04-07 13:41:12 -04:00
|
|
|
|
|
|
|
|
2014-06-12 17:38:34 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
/****************************************************************************
|
|
|
|
Misc
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
/* On some computers framerate doesn't seem to be automatically limited
|
|
|
|
*
|
|
|
|
* *Must* be called after device->run() so that device->getTimer()->getTime();
|
|
|
|
* is correct
|
|
|
|
*/
|
|
|
|
inline void MinetestApp::limitFps(FpsControl *params, f32 *dtime)
|
|
|
|
{
|
|
|
|
// not using getRealTime is necessary for wine
|
|
|
|
u32 time = device->getTimer()->getTime();
|
|
|
|
|
|
|
|
u32 last_time = params->last_time;
|
|
|
|
|
2014-10-31 22:36:03 -04:00
|
|
|
if (time > last_time) // Make sure time hasn't overflowed
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
params->busy_time = time - last_time;
|
|
|
|
else
|
|
|
|
params->busy_time = 0;
|
|
|
|
|
|
|
|
u32 frametime_min = 1000 / (g_menumgr.pausesGame()
|
|
|
|
? g_settings->getFloat("pause_fps_max")
|
|
|
|
: g_settings->getFloat("fps_max"));
|
|
|
|
|
|
|
|
if (params->busy_time < frametime_min) {
|
|
|
|
params->sleep_time = frametime_min - params->busy_time;
|
|
|
|
device->sleep(params->sleep_time);
|
2014-10-31 22:36:03 -04:00
|
|
|
time += params->sleep_time;
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
} else {
|
|
|
|
params->sleep_time = 0;
|
|
|
|
}
|
|
|
|
|
2014-10-31 22:36:03 -04:00
|
|
|
if (time > last_time) // Checking for overflow
|
|
|
|
*dtime = (time - last_time) / 1000.0;
|
|
|
|
else
|
|
|
|
*dtime = 0.03; // Choose 30fps as fallback in overflow case
|
|
|
|
|
|
|
|
params->last_time = time;
|
|
|
|
|
|
|
|
#if 0
|
|
|
|
|
|
|
|
/* This is the old method for calculating new_time and dtime, and seems
|
|
|
|
* like overkill considering timings are messed up by expected variation
|
|
|
|
* in execution speed in other places anyway. (This has nothing to do with
|
|
|
|
* WINE... the new method above calculates dtime based on sleep_time)
|
|
|
|
*/
|
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
// Necessary for device->getTimer()->getTime()
|
|
|
|
device->run();
|
|
|
|
time = device->getTimer()->getTime();
|
|
|
|
|
|
|
|
if (time > last_time) // Make sure last_time hasn't overflowed
|
|
|
|
*dtime = (time - last_time) / 1000.0;
|
|
|
|
else
|
2014-10-31 22:36:03 -04:00
|
|
|
*dtime = 0.033;
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
|
|
|
params->last_time = time;
|
2014-10-31 22:36:03 -04:00
|
|
|
#endif
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void MinetestApp::showOverlayMessage(const char *msg, float dtime,
|
|
|
|
int percent, bool draw_clouds)
|
|
|
|
{
|
|
|
|
wchar_t *text = wgettext(msg);
|
|
|
|
draw_load_screen(text, device, guienv, font, dtime, percent, draw_clouds);
|
|
|
|
delete[] text;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
inline const char *MinetestApp::boolToCStr(bool v)
|
|
|
|
{
|
|
|
|
static const char *str[] = { "false", "true" };
|
|
|
|
return str[v];
|
|
|
|
}
|
|
|
|
|
2012-03-18 21:59:12 -04:00
|
|
|
|
2013-04-07 13:41:12 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
/****************************************************************************
|
|
|
|
Shutdown / cleanup
|
|
|
|
****************************************************************************/
|
2013-04-07 14:22:06 -04:00
|
|
|
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
void MinetestApp::extendedResourceCleanup()
|
|
|
|
{
|
|
|
|
// Extended resource accounting
|
2013-04-07 14:22:06 -04:00
|
|
|
infostream << "Irrlicht resources after cleanup:" << std::endl;
|
|
|
|
infostream << "\tRemaining meshes : "
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
<< device->getSceneManager()->getMeshCache()->getMeshCount() << std::endl;
|
2013-04-07 14:22:06 -04:00
|
|
|
infostream << "\tRemaining textures : "
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
<< driver->getTextureCount() << std::endl;
|
|
|
|
|
|
|
|
for (unsigned int i = 0; i < driver->getTextureCount(); i++) {
|
|
|
|
irr::video::ITexture *texture = driver->getTextureByIndex(i);
|
2013-04-07 14:22:06 -04:00
|
|
|
infostream << "\t\t" << i << ":" << texture->getName().getPath().c_str()
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
<< std::endl;
|
2013-04-07 14:22:06 -04:00
|
|
|
}
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
|
2013-08-02 09:18:48 -04:00
|
|
|
clearTextureNameCache();
|
2013-04-07 14:22:06 -04:00
|
|
|
infostream << "\tRemaining materials: "
|
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments
2014-10-31 08:13:04 -04:00
|
|
|
<< driver-> getMaterialRendererCount()
|
|
|
|
<< " (note: irrlicht doesn't support removing renderers)" << std::endl;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
extern function for launching the game
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
void the_game(bool *kill,
|
|
|
|
bool random_input,
|
|
|
|
InputHandler *input,
|
|
|
|
IrrlichtDevice *device,
|
|
|
|
gui::IGUIFont *font,
|
|
|
|
|
|
|
|
const std::string &map_dir,
|
|
|
|
const std::string &playername,
|
|
|
|
const std::string &password,
|
|
|
|
const std::string &address, // If empty local server is created
|
|
|
|
u16 port,
|
|
|
|
|
|
|
|
std::wstring &error_message,
|
|
|
|
ChatBackend &chat_backend,
|
|
|
|
const SubgameSpec &gamespec, // Used for local game
|
|
|
|
bool simple_singleplayer_mode)
|
|
|
|
{
|
|
|
|
MinetestApp app;
|
|
|
|
|
|
|
|
/* Make a copy of the server address because if a local singleplayer server
|
|
|
|
* is created then this is updated and we don't want to change the value
|
|
|
|
* passed to us by the calling function
|
|
|
|
*/
|
|
|
|
std::string server_address = address;
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
if (app.startup(kill, random_input, input, device, font, map_dir,
|
|
|
|
playername, password, &server_address, port,
|
|
|
|
&error_message, &chat_backend, gamespec,
|
|
|
|
simple_singleplayer_mode)) {
|
|
|
|
|
|
|
|
//std::cout << "App started" << std::endl;
|
|
|
|
app.run();
|
|
|
|
app.shutdown();
|
|
|
|
}
|
|
|
|
|
|
|
|
} catch (SerializationError &e) {
|
|
|
|
error_message = L"A serialization error occurred:\n"
|
|
|
|
+ narrow_to_wide(e.what()) + L"\n\nThe server is probably "
|
|
|
|
L" running a different version of Minetest.";
|
|
|
|
errorstream << wide_to_narrow(error_message) << std::endl;
|
|
|
|
} catch (ServerError &e) {
|
|
|
|
error_message = narrow_to_wide(e.what());
|
|
|
|
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.");
|
|
|
|
}
|
2011-04-23 11:31:31 -04:00
|
|
|
}
|