Craig Robbins [Sat, 6 Dec 2014 14:37:37 +0000 (00:37 +1000)]
Performance of main client loop up to 2x faster In places, up to 3 times faster
NOTE 1: This does not mean a 2x increase in framerate. Increase in fps may be up to 1-2fps
NOTE 2: This local 'caching' of settings is not optimal and an alternative solution will be worked on after 0.4.11 is released
SmallJoker [Fri, 5 Dec 2014 22:18:52 +0000 (23:18 +0100)]
Add Lua helper functions vector.apply(v) math.sign(x, tolerance)
Craig Robbins [Thu, 20 Nov 2014 07:25:01 +0000 (17:25 +1000)]
Add name of node 'pointed at' to debug
This is "Add name of node pointed at to debug #1677" by @rubenwardy updated to work with game.cpp after it was refactored.
SmallJoker [Fri, 5 Dec 2014 06:09:49 +0000 (16:09 +1000)]
Fix MSVC build
Note: The unit test was technically incorrect for all platforms but passes due to implicit casting
RealBadAngel [Fri, 5 Dec 2014 00:04:25 +0000 (01:04 +0100)]
Recalculate normals for mesh #0. Fix for issue #1902.
Craig Robbins [Thu, 4 Dec 2014 15:42:03 +0000 (01:42 +1000)]
(INTERIM) Make sizes of the font in formspecs consistent and not so large
Until a permanent fix can be developed
Craig Robbins [Thu, 4 Dec 2014 13:37:04 +0000 (23:37 +1000)]
Optimise VoxelManipulator::copyFrom
~3-4x faster
This indirectly optimises MapBlock:copyTo() which in turn improves performance of MeshMakeData::fill()
Craig Robbins [Thu, 9 Oct 2014 07:53:20 +0000 (17:53 +1000)]
Right mouse button behaviour for craft/inventory If right mousebutton clicked once then don't drop single items into slots. If right mouse button has been clicked and held a second time, drop items as the mouse is moved. In the second case (automatically drop/place items as mouse is moved) only auto-drop into blank slots, or slots that contain the same item.
Calinou [Sun, 30 Nov 2014 09:26:51 +0000 (10:26 +0100)]
Make dropped items larger and rotate faster
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
kwolekr [Thu, 4 Dec 2014 08:20:07 +0000 (03:20 -0500)]
Settings: Various setting group fixes and enhancements
- Remove blank setting values when setting has a group
- Pair setting values with groups in file when possible
- Preserve user-set whitespace in setting objects
- Delete setting value when setting NoiseParams group
- Delete overwritten groups outside of lock
paramat [Sun, 30 Nov 2014 04:42:02 +0000 (04:42 +0000)]
Add definable node_stone to biome API, mgv5, mgv7. Reduce and correct depth of mgv7 biomes. l_mapgen.cpp: add '#include mapgen_v5.h' because '#include mapgen_v7' is there. Improve underwater grass hack
kwolekr [Wed, 3 Dec 2014 02:09:16 +0000 (21:09 -0500)]
Settings: Fix getNoiseParamsFromValue()
kwolekr [Tue, 2 Dec 2014 08:58:57 +0000 (03:58 -0500)]
Use setting groups for NoiseParams
Add format example to minetest.conf.example
Add Settings::setU16()
Throw exception on attempted access of NULL settings groups
Kahrl [Mon, 1 Dec 2014 20:47:22 +0000 (21:47 +0100)]
Fix style of comment in minetest.conf.example
Kahrl [Mon, 1 Dec 2014 20:22:23 +0000 (21:22 +0100)]
Add fontengine.cpp to Android.mk
sapier [Mon, 1 Dec 2014 18:47:57 +0000 (19:47 +0100)]
Fix settings callback "call" lost on rebase
Craig Robbins [Mon, 1 Dec 2014 12:05:36 +0000 (22:05 +1000)]
Fix node 0,0,0 being highlighted when enable_node_highlighting == false
Without this patch node 0,0,0 is highlighted when enable_node_highligting is false
There is a minor lighting issue remaining, however it seems to be related to a different bug (https://github.com/minetest/minetest/issues/1887)
Craig Robbins [Mon, 1 Dec 2014 05:17:47 +0000 (15:17 +1000)]
Fix build
Note: this does not fix the warnings generated by clang
kwolekr [Mon, 1 Dec 2014 00:01:37 +0000 (19:01 -0500)]
LuaSettings: Sanitize setting name strings
Kahrl [Sun, 30 Nov 2014 22:21:14 +0000 (23:21 +0100)]
Fix segfault at exit caused by non grabbed font
kwolekr [Sun, 30 Nov 2014 20:49:04 +0000 (15:49 -0500)]
settings: Add setting groups and multiline entries
sapier [Fri, 28 Nov 2014 19:06:34 +0000 (20:06 +0100)]
Make hud use fontengine too
Fix non coding style conforming glb_fontengine to g_fontengine
Fix fonts never been deleted due to grabbed to often
Zefram [Wed, 20 Aug 2014 22:42:27 +0000 (23:42 +0100)]
Scale form elements consistently
The ratios between the sizes of form elements, including text, is now
fixed, aside from variations caused by rounding. This makes form layout
almost fully predictable, and particularly independent of player's
screen size. The proportions of non-text elements are the traditional
proportions.
For compatibility, the way in which element positions and sizes are
specified remains unchanged, in all its baroqueness, with one exception.
The exception is that the position of a label[] element is now defined
in terms of the vertically center of the first line of the label,
rather than the bottom of the first line of the label. This change
allows a label to be precisely aligned with button text or an edit box,
which are positioned in a centering manner. Label positioning remains
consistent with the previous system, just more precisely defined.
Make multi-line label[] elements work properly. Previously the code set
a bounding rectangle assuming that there would be only a single line,
and as a result a multi-line label would be cut somewhere in the middle
of the second line. Now multi-line labels not only work, but have
guaranteed line spacing relative to inventory slots, to aid alignment.
Incidentally fix tabheader[] elements which were being constrained to
the wrong width.
Given an unusually large form, in variable-size mode, the form rendering
system now chooses a scale that will fit the entire form on the screen,
if that doesn't make elements too small. Fixed-size forms, including the
main menu, are have their sizes fixed in inch terms. The fixed size for
fixed-size forms and the preferred and minimum sizes for variable-size
forms all scale according to the gui_scaling parameter.
sapier [Sun, 23 Nov 2014 12:40:43 +0000 (13:40 +0100)]
Implement proper font handling
kwolekr [Sat, 29 Nov 2014 21:50:18 +0000 (16:50 -0500)]
noise: Throw exception on noise allocation failure
SmallJoker [Fri, 28 Nov 2014 18:26:48 +0000 (19:26 +0100)]
Fix MSVC compiling error (argc/argv not available to pass to init_gettext)
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
Ciaran Gultnieks [Mon, 17 Mar 2014 20:05:35 +0000 (20:05 +0000)]
Improve Lua API documentation
Changes:
* Add extra documentation for remove_item.
This isn't as silly as it sounds: iterate a list containing items with
unique metadata each, and remove_item the first one you find, placing
into a different - fine, except the remove will invariably remove the
wrong one, leading to items being duplicated and others destroyed.
Arguably it's a bug, and Inventory::removeItem should actually remove
the item you tell it to. (i.e. if the passed ItemStack has metadata,
match it). But it seems reasonable to just document the behaviour
more clearly.
* Improve string_to_pos documentation.
* Clarify dig_node documentation (return value).
* Better on_step documentation.
* get_nodemeta -> get_meta.
* Other minor fixes.
Rui [Fri, 28 Nov 2014 13:08:26 +0000 (23:08 +1000)]
Update minetest.po (Japanese)
Craig Robbins [Fri, 28 Nov 2014 12:29:34 +0000 (22:29 +1000)]
Fix regression with command line --go option
SmallJoker [Sat, 4 Oct 2014 17:23:15 +0000 (19:23 +0200)]
Add minetest.copy_table(table) To get rid off the "table references"
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
Ciaran Gultnieks [Mon, 17 Nov 2014 21:17:36 +0000 (21:17 +0000)]
Don't corrupt stepheight when setting other properties
Kahrl [Wed, 26 Nov 2014 18:54:04 +0000 (19:54 +0100)]
Wield: always obey anisotropic_filter setting, not just for hi res textures
Kahrl [Wed, 26 Nov 2014 18:17:50 +0000 (19:17 +0100)]
EMF_USE_MIP_MAPS was introduced in Irrlicht 1.8, don't use in 1.7.3 or below
This is not optimal as it will cause minor graphical glitches for
Irrlicht 1.7 users, but at least it fixes the build.
Sokomine [Sat, 22 Nov 2014 20:40:23 +0000 (21:40 +0100)]
added enable_build_where_you_stand option
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
Kahrl [Wed, 26 Nov 2014 14:17:17 +0000 (15:17 +0100)]
Wieldmesh: don't force anisotropic filtering on, instead disable mipmaps
This should fix #1844. Thanks to oleastre for making the first version
of this commit (#1848).
Craig Davison [Wed, 26 Nov 2014 12:48:43 +0000 (22:48 +1000)]
Fix some undeclared global variables
rubenwardy [Fri, 17 Oct 2014 16:58:36 +0000 (17:58 +0100)]
Only set the camera update keymap when using a debug build
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
Kodexky [Mon, 24 Nov 2014 07:01:30 +0000 (02:31 -0430)]
Fix Android main menu crash, and user data directory check.
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
Calinou [Sun, 26 Oct 2014 10:13:00 +0000 (11:13 +0100)]
Increase step smoothing to fit 1:1 stairs (works well on slabs too)
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
Craig Robbins [Mon, 24 Nov 2014 03:52:27 +0000 (13:52 +1000)]
Fix client "double saving" simple singleplayer local maps
KodexKy [Mon, 3 Nov 2014 21:25:37 +0000 (16:55 -0430)]
Fixes for Android build errors. Enable sensor landscape rotation.
Fix typo in Android Makefile ndk path.
Fix touchscreen parts of game.cpp to work after Zeno's refactor.
Fix isdigit and isspace overload conflict with Android Irrlicht in string.h
Enable sensor landscape rotation in Android Manifiest.
Add mapgen v5 to Android build.
Fix Makefile not checking leveldb.
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
dvere [Tue, 25 Nov 2014 02:44:38 +0000 (12:44 +1000)]
Adjust the values of dirs1 and dirs2 so that rotate_and_place orients textures correctly
According to doc/lua_api.txt if paramtype2 == "facedir" the two least significant bits of parm2 orient the texture around the axis. For dirs1 (looking at a wall) these would be 0, 1, 2, 3 and for dirs2 (looking at the ceiling) 2, 1, 0, 3
ShadowNinja [Sun, 23 Nov 2014 21:30:14 +0000 (16:30 -0500)]
Make duplicate warning checks file and line specific
sapier [Sun, 23 Nov 2014 14:24:37 +0000 (15:24 +0100)]
Fix console spaming by debug function on mod checking for global variable to exist.
RealBadAngel [Fri, 21 Nov 2014 07:41:21 +0000 (08:41 +0100)]
Port createForsythOptimizedMesh from Irrlicht 1.8
Mesh rotation helpers.
Craig Robbins [Sat, 22 Nov 2014 15:08:51 +0000 (01:08 +1000)]
Fix regression with USE_REDIS (refactor_main)
Craig Robbins [Thu, 20 Nov 2014 04:04:04 +0000 (14:04 +1000)]
refactor main.cpp
Craig Robbins [Fri, 21 Nov 2014 16:18:29 +0000 (02:18 +1000)]
Fix smooth lighting (ambient occlusion)
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
Pavel Puchkin [Fri, 21 Nov 2014 22:31:12 +0000 (00:31 +0200)]
Fix compiling if no endian.h found
f7d6509 introduces error when no endian.h found in the system.
Since "CHECK_INCLUDE_FILE" returns empty string instead of "0", when
"cmake_config.h" is generated it has "#define CMAKE_HAVE_ENDIAN_H " line.
Later we have "#define HAVE_ENDIAN_H CMAKE_HAVE_ENDIAN_H" in the
"config.h", an thus "HAVE_ENDIAN_H" is also empty sting. Because of
this, "#if HAVE_ENDIAN_H" is incorrect preprocessor directive.
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
ShadowNinja [Sat, 20 Sep 2014 23:18:09 +0000 (19:18 -0400)]
Update credits menu
Rafael Reilova [Mon, 17 Nov 2014 02:52:24 +0000 (21:52 -0500)]
serialize.h: use machine native byte swapping if available, fall-back to previous generic method if not (supported for GCC using endian.h, detection done in cmake) write/readARGB8() - just write 32-bit color in one op, instead of 4 1-byte ops cleanup: removed unneeded buffer init for some serialize-out functions use a #define for the fixed point factor in read/writeF1000()
nodemetadata.cpp, nodetimer.cpp
optimzation: simpler deserialize node position method
staticobject.cpp:
cleanup: use util/serialize.h inlines instead of its own de/serialization
serialize.cpp:
minor optimization/cleanup: avoid generation of unneeded string temporary
CMakeLists.txt, cmake_config.h.in: detection of endian.h
config.h: added HAVE_ENDIAN_H
Commits due to feedback squashed
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
Craig Robbins [Fri, 21 Nov 2014 04:43:29 +0000 (14:43 +1000)]
Optimise functions from CNodeDefManager and VoxelManipulator
CNodeDefManager::get()
VoxelManipulator::addArea()
Craig Robbins [Thu, 20 Nov 2014 03:36:58 +0000 (13:36 +1000)]
Optimise getTileInfo()
getTileInfo() ~1.5x faster
getSmoothLight ~2.0x faster
paramat [Sat, 15 Nov 2014 00:32:10 +0000 (00:32 +0000)]
Mgv5 1 up 1 down overgeneration for biome surface continuity
paramat [Mon, 10 Nov 2014 21:57:34 +0000 (21:57 +0000)]
Mgv5 get ground level at point function. Fast spawn player version
ShadowNinja [Thu, 20 Nov 2014 19:59:19 +0000 (14:59 -0500)]
Simplify loading of Android version of menu
ShadowNinja [Thu, 20 Nov 2014 19:57:40 +0000 (14:57 -0500)]
Fix leaking global in texture pack menu
Kodexky [Thu, 20 Nov 2014 05:40:26 +0000 (15:40 +1000)]
Fix raillike bug (currently manifests itself on Android), and minor improvement to readability.
NB: Minor edits to patch made by Zeno- (int to short and minor formatting)
ShadowNinja [Thu, 26 Jun 2014 00:28:41 +0000 (20:28 -0400)]
Clean up rollback
ShadowNinja [Wed, 19 Nov 2014 21:17:54 +0000 (16:17 -0500)]
Fix wallmounted mesh rotations
ShadowNinja [Thu, 5 Jun 2014 16:40:34 +0000 (12:40 -0400)]
Add strict module
Also fix leaking globals found by it.
ShadowNinja [Sun, 3 Aug 2014 16:20:35 +0000 (12:20 -0400)]
Tweak core.serialize
This adds proper support for nested tables and improves performance a bit.
sfan5 [Thu, 9 Oct 2014 12:02:02 +0000 (14:02 +0200)]
Add (optional) client-side saving of server map to disk
ShadowNinja [Tue, 18 Nov 2014 21:20:15 +0000 (16:20 -0500)]
Fix Belarusian translation header
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
ShadowNinja [Tue, 18 Nov 2014 20:24:51 +0000 (15:24 -0500)]
Add gettext to Travis build
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
Kahrl [Wed, 19 Nov 2014 09:19:52 +0000 (10:19 +0100)]
Remove unused rangelim function (the macro still exists)
SmallJoker [Tue, 18 Nov 2014 20:07:17 +0000 (21:07 +0100)]
Fix indonesian language errors
Errors found by @Sokomine.
srifqi [Thu, 30 Oct 2014 13:51:15 +0000 (20:51 +0700)]
Update Indonesian Language
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
Craig Robbins [Sat, 15 Nov 2014 12:33:52 +0000 (22:33 +1000)]
Fix double free bug when server is shut down
Thanks @oleastre
kwolekr [Sat, 15 Nov 2014 02:19:46 +0000 (21:19 -0500)]
Fix NoisePerlin3DEased return value
kwolekr [Fri, 14 Nov 2014 07:58:56 +0000 (02:58 -0500)]
Fix warnings and other misc. minor changes
Craig Robbins [Fri, 14 Nov 2014 08:05:34 +0000 (18:05 +1000)]
Remove most exceptions from getNode() (and variants)
Wouters Dorian [Sun, 9 Nov 2014 09:25:39 +0000 (10:25 +0100)]
Improved VoxelArea variable locality, thus performance
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
SmallJoker [Wed, 12 Nov 2014 20:11:40 +0000 (21:11 +0100)]
Add option 'eased' to NoiseParams
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
kwolekr [Thu, 13 Nov 2014 05:16:37 +0000 (00:16 -0500)]
Fix compilation under some Linux distributions
kwolekr [Thu, 13 Nov 2014 04:58:50 +0000 (23:58 -0500)]
Mapgen v7: Fix uninitialized spflags
Mapgen v5: Fix minor style issue
kwolekr [Thu, 13 Nov 2014 04:49:45 +0000 (23:49 -0500)]
Add eased 3d point-value noise functions
kwolekr [Thu, 13 Nov 2014 04:01:13 +0000 (23:01 -0500)]
Add Generator Element Management framework
Add BiomeManager, OreManager, DecorationManager, and SchematicManager
RealBadAngel [Thu, 13 Nov 2014 00:02:34 +0000 (01:02 +0100)]
Wielded fixes. Add shaders support.
Craig Robbins [Tue, 11 Nov 2014 10:58:57 +0000 (20:58 +1000)]
Fix profiler values not being updated (F6) and not being logged
Kahrl [Mon, 10 Nov 2014 21:06:24 +0000 (22:06 +0100)]
Serverlist: announce mg_name from map_meta.txt instead of minetest.conf
Zeno- [Mon, 10 Nov 2014 09:12:25 +0000 (19:12 +1000)]
Merge pull request #1825 from Zeno-/control_key_cache
Create faster key cache for main game loop (client)
Craig Robbins [Mon, 10 Nov 2014 02:26:19 +0000 (12:26 +1000)]
Create faster key cache for main game loop (client)
paramat [Sun, 9 Nov 2014 12:11:24 +0000 (12:11 +0000)]
Tune cave noise scales to 6. Fix blobs spflag, now enabled. Update conf.example
Wuzzy [Sun, 12 Oct 2014 17:50:33 +0000 (19:50 +0200)]
Add tooltips to main menu subgames button bar
Kahrl [Sun, 2 Nov 2014 02:47:43 +0000 (03:47 +0100)]
Implement WieldMeshSceneNode which improves wield mesh rendering
- Don't create and cache an extruded mesh for every (non-node) item.
Instead use a single one per image resolution.
- For cubic nodes reuse a single wield mesh too
- Improve lighting of the wielded item
- Increase far value of wield mesh scene camera, fixes #1770
- Also includes some minor refactorings of Camera and GenericCAO.
Craig Robbins [Fri, 7 Nov 2014 01:47:07 +0000 (11:47 +1000)]
Stop inserting empty lines at end of minetest.conf file each time it is rewritten
See: https://github.com/minetest/minetest/issues/1790
Craig Robbins [Thu, 6 Nov 2014 08:44:06 +0000 (18:44 +1000)]
Fix regressions and minor improvements in refactor_the_game
a) Fix double tap for jump and show_debug
b) Revert changes to limitFps()... there is no verification that the new method was an issue, but going back to old method just in case
b.2) limitFps() no longer calls device->run() and also no longer has to be called immediately after a call to device->run()
paramat [Thu, 16 Oct 2014 11:45:55 +0000 (12:45 +0100)]
Add mgv5. New noise code, uses biome API. Eased 3d noise for terrain, caves, blobs
RealBadAngel [Fri, 7 Nov 2014 20:52:43 +0000 (21:52 +0100)]
Speed up removing a node (less block mesh updates).
ShadowNinja [Sat, 8 Nov 2014 17:48:05 +0000 (12:48 -0500)]
Fix dump() indentation with non-tab indents
Ryan Newell [Wed, 8 Oct 2014 22:11:44 +0000 (17:11 -0500)]
Add last_login field to auth.txt
Also shortens some related code and adds more parameters to string.split.
SmallJoker [Sat, 8 Nov 2014 13:35:55 +0000 (14:35 +0100)]
Replace setting unlimited_player_transfer_distance with player_transfer_distance
Craig Robbins [Mon, 3 Nov 2014 03:25:14 +0000 (13:25 +1000)]
Address issues related to refactoring the_game
Fix time of day persistence
Fix wield item being updated every frame causing small performance hit
Rename some classes and variables
Kahrl [Sun, 2 Nov 2014 20:59:56 +0000 (21:59 +0100)]
Fix regression: mouse wheel couldn't scroll from last hotbar item to first
Craig Robbins [Sun, 2 Nov 2014 14:17:20 +0000 (00:17 +1000)]
Cleanup and (mostly) document util/string.h and (very) minor refactoring
Updated: Incorporated feedback from 'kahrl'
Updated: Moved MinetestApp::boolToCStr() from game.cpp into string.h renaming it bool_to_cstr()
Kahrl [Sun, 2 Nov 2014 16:52:30 +0000 (17:52 +0100)]
Include mg_decoration.h, mg_ore.h from emerge.cpp to fix warnings
Craig Robbins [Sun, 2 Nov 2014 07:21:42 +0000 (17:21 +1000)]
Fix unit tests failing if IPv6 not available
See:
https://github.com/minetest/minetest/issues/1526
https://github.com/minetest/minetest/issues/793
Craig Robbins [Sat, 1 Nov 2014 02:36:03 +0000 (12:36 +1000)]
Modified dtime calculation method in limitFps()
Craig Robbins [Fri, 31 Oct 2014 12:13:04 +0000 (22:13 +1000)]
Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:
Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"
This reverts commit
b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.
Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered
Start "outlining" what a MinetestApp class might look like
Add MinetestApp::shutdown()
Converted class member functions to camelCase and created protos for new functions
First stage of connect to server done
Add get itemdefs/nodedefs/media code
Init clouds, camera, sky, init GUI, HUD
Input handling
Client events, camera, sound, draw
Fix wield hand getting stuck digging and add debug text back
Fix FPS
Added profiler graph back
Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff
Annotate
Various:
Rewrote limitFps()
Limited scope of some variables
Jitter calcs
Reduce scope of objects
Move some stuff out of ::run and minor formatting cleanup
Scope reduction
Function splits
Removed old (broken) limitFps()
Added exception handling back
Fixed some formatting
Reverted commented out unit tests (uncommented them)
Slow clouds down on loading and media screens so the behaviour is like the original the_game()
Formatting/style (no functional changes)
Manually reapply upstream
b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism
Fixed silly errors on my part
Minor formatting cleanups
Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense
Cleaning up
Add some comments