Commit Graph

2956 Commits

Author SHA1 Message Date
Kahrl
9b551d5cbc 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.
2014-11-08 23:11:57 +01:00
Craig Robbins
cc8d7b8640 Stop inserting empty lines at end of minetest.conf file each time it is rewritten
See: https://github.com/minetest/minetest/issues/1790
2014-11-08 21:57:52 +01:00
Craig Robbins
1c21e391ed 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()
2014-11-08 21:40:11 +01:00
paramat
92981b2fee Add mgv5. New noise code, uses biome API. Eased 3d noise for terrain, caves, blobs 2014-11-08 21:37:26 +01:00
RealBadAngel
d0be27415e Speed up removing a node (less block mesh updates). 2014-11-08 21:04:30 +01:00
SmallJoker
c40e993ce4 Replace setting unlimited_player_transfer_distance with player_transfer_distance 2014-11-08 14:56:09 +01:00
Craig Robbins
96fcca4ea0 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
2014-11-03 13:57:56 +01:00
Kahrl
817e3a6c64 Fix regression: mouse wheel couldn't scroll from last hotbar item to first 2014-11-02 21:59:56 +01:00
Craig Robbins
43bf4324d5 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()
2014-11-02 18:07:20 +01:00
Kahrl
8040806f22 Include mg_decoration.h, mg_ore.h from emerge.cpp to fix warnings 2014-11-02 17:52:30 +01:00
Craig Robbins
209c0dd1af Fix unit tests failing if IPv6 not available
See:
https://github.com/minetest/minetest/issues/1526
https://github.com/minetest/minetest/issues/793
2014-11-02 02:27:26 -05:00
Craig Robbins
dfd15fd1d9 Modified dtime calculation method in limitFps() 2014-11-02 02:20:06 +01:00
Craig Robbins
429ecb2b94 Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:

Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"

This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.

Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered

Start "outlining" what a MinetestApp class might look like

Add MinetestApp::shutdown()

Converted class member functions to camelCase and created protos for new functions

First stage of connect to server done

Add get itemdefs/nodedefs/media code

Init clouds, camera, sky, init GUI, HUD

Input handling

Client events, camera, sound, draw

Fix wield hand getting stuck digging and add debug text back

Fix FPS

Added profiler graph back

Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff

Annotate

Various:
Rewrote limitFps()
Limited scope of some variables

Jitter calcs

Reduce scope of objects

Move some stuff out of ::run and minor formatting cleanup

Scope reduction

Function splits

Removed old (broken) limitFps()

Added exception handling back

Fixed some formatting

Reverted commented out unit tests (uncommented them)

Slow clouds down on loading and media screens so the behaviour is like the original the_game()

Formatting/style (no functional changes)

Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism

Fixed silly errors on my part
Minor formatting cleanups

Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense

Cleaning up

Add some comments
2014-11-02 02:18:25 +01:00
kwolekr
9e811a92e7 Split up mapgen.cpp 2014-11-01 13:16:23 -04:00
kwolekr
db25f75337 Fix erroneous lua_pop parameter 2014-10-30 16:23:48 -04:00
kwolekr
f0ae2da89e Fix uninitialized variable warning 2014-10-30 02:53:20 -04:00
kwolekr
6b4307791a mapgen: Resolve nodes in ctor rather than makeChunk 2014-10-30 02:29:37 -04:00
kwolekr
03f3f958ed Check minetest.hud_change() parameters on conversion (Fix #1714) 2014-10-30 00:12:12 -04:00
Craig Robbins
6c9bbb0360 Fix bug introduced by me (Zeno) 2014-10-29 08:54:16 +01:00
RealBadAngel
dd4c21c180 Add option to enable mesh caching, add wallmounted for meshes. 2014-10-29 08:37:33 +01:00
Craig Robbins
813c088c1c Added names colours and refactored parseColorString() 2014-10-29 03:10:59 -04:00
kwolekr
1cb6ea6346 Refactor decoration-related code
Split up ModApiMapgen::l_register_decoration()
Define and make use of CONTAINS() and ARRLEN() macros
2014-10-29 01:56:37 -04:00
PenguinDad
7c6da2f384 Fix various indentation issues 2014-10-28 15:37:58 -04:00
Craig Robbins
6396712ec4 Fix #1733: An unhandled exception occurred: GetPeer: Peer not found (possible timeout) 2014-10-28 13:39:23 -04:00
kwolekr
4a3592ff9a Add NodeResolver documentation
Set content to fallback on AddNode failure
Consider node list requests with no results as failed
2014-10-28 02:23:45 -04:00
kwolekr
bc28ca0636 Prevent invalid memory access under failure conditions 2014-10-28 00:18:53 -04:00
kwolekr
6ddf458504 Change license of noise implementation to Simplified BSD 2014-10-27 21:17:07 -04:00
kwolekr
b994a7af13 Add support for eased 3d noise 2014-10-27 02:02:38 -04:00
kwolekr
d274cbfce6 Add NodeResolver and clean up node name -> content ID resolution system 2014-10-26 23:55:45 -04:00
Kahrl
b49e5cfc70 Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism 2014-10-24 21:14:48 +02:00
Pavel Puchkin
73bf791fe1 Remove remenants of mob code
Since minetest has no mobs within the core anymore, I suppose these
settings and code should go. Any mod that uses `minetest.setting_getbool`
will work with no problem since the default return value is `false`.
2014-10-23 20:54:33 -04:00
RealBadAngel
7e34621b1d Fix broken plantlike drawtype. 2014-10-22 21:15:31 +02:00
David Thompson
fd5eaae2ba Search for subgames using $MINETEST_SUBGAME_PATH. 2014-10-22 21:05:14 +02:00
RealBadAngel
d221917170 Recalculate normals for cached meshes.
Check if mesh is here before adding to meshcollector.

Fix deleting the meshes.
2014-10-21 18:43:29 +02:00
Kahrl
9029a34cc6 Fix some indentation in nodedef.cpp 2014-10-20 16:11:38 +02:00
Kahrl
ae375cc322 Fix memory leak caused by mesh nodes (and nodeboxes) 2014-10-20 16:11:00 +02:00
RealBadAngel
e5652cb75c Custom collision boxes node property. 2014-10-19 20:48:21 +02:00
Craig Robbins
076c5ee223 Various uninitialised variable fixes
sky.cpp: m_bgcolor.getAlpha() was being used before initialised

mesh related: m_highlight_mesh_color was being used uninitialised
2014-10-19 15:33:08 +02:00
Craig Robbins
fe8ef1be59 Move buttons upwards to accommodate for new configure keys button in the
pause menu
2014-10-18 17:30:17 +02:00
RealBadAngel
0066bd77d2 Add meshnode drawtype. 2014-10-18 16:42:23 +02:00
Kahrl
d1ccc64e1e Make sure PRECISION_SECONDS corresponds to the integer 0 2014-10-09 11:40:33 +02:00
Kahrl
26495da94a Fix unit reported by TimeTaker (was always ms) 2014-10-09 11:15:03 +02:00
Craig Robbins
914f850d31 Fix use of unitialized variables in mouse button handling 2014-10-08 14:56:29 -04:00
Mushiden
7b548cd2b5 Add in-game key change menu 2014-10-07 17:24:09 -04:00
ShadowNinja
741df993ff Fix object reference pushing functions when called from coroutines 2014-10-07 16:37:45 -04:00
BlockMen
28438bba27 Add [colorize modifier 2014-10-05 16:49:52 +02:00
kwolekr
173beeee65 Fix special tile backspace culling 2014-10-03 11:20:29 -04:00
RealBadAngel
b9cb196d49 Bugfix: dont highlight (0,0,0) when theres no node pointed. 2014-10-03 16:03:14 +02:00
RealBadAngel
0920f55eb4 Fix broken plantlike drawtype. 2014-10-03 15:33:32 +02:00
kwolekr
37d3c3d328 Fix misc. style issues 2014-10-03 03:49:06 -04:00
kwolekr
01ce57ade5 Clean up nodedef.cpp 2014-10-03 03:21:08 -04:00
BlockMen
f48f686930 Add optional framed glasslike drawtype 2014-10-02 11:35:15 +02:00
ShadowNinja
e9c9b66ae9 Make players check inventory modification properly 2014-10-01 18:44:36 -04:00
ShadowNinja
8b3135a643 Only set player dirty flag if values change 2014-10-01 18:44:36 -04:00
ShadowNinja
cd0df0d5e7 Simplify player modification checks 2014-10-01 18:44:36 -04:00
sapier
b37bff72f1 Fix android build using hardcoded path for data instead of using the one fetched by android api on init.
Fix android missing version information
2014-10-01 22:18:29 +02:00
BlockMen
61ed56f916 Standardize tooltip row detection 2014-09-28 10:10:43 +02:00
BlockMen
b75e7148c2 Fix multilined description in tooltips (fixes #1688) 2014-09-28 08:44:05 +02:00
sapier
121e8cc2a1 Fix totally messed up 3d modes interlaced/topbottom/sidebyside 2014-09-25 20:37:06 +02:00
sapier
15c7460eda Fix chat lines not word wrapped correct 2014-09-25 19:54:02 +02:00
Kahrl
5ca5630a11 Fix command line parsing
Broken by 6bc4cad0eddd7a7cf593ca1471599e2d75727379, e.g.
  minetest --worldname world
would be parsed as
  minetest --worldname --worldname
2014-09-22 11:02:26 +02:00
ShadowNinja
56195dc2e4 Fix build with redis
Broken by 6bc4cad0eddd7a7cf593ca1471599e2d75727379 because database-redis.h
depended on settings.h to include filesys.h.
2014-09-21 21:02:49 -04:00
TriBlade9
9a685a4f2e Add firelike drawtype 2014-09-21 15:50:27 -04:00
ShadowNinja
fb35cfb2dc Fix GCC reorder warning
Caused by a020d1b653f94fbcaac06c15f9dbab4521fda355.
2014-09-21 15:23:36 -04:00
sruz25
f6321e277b Add inventory right click drag and drop 2014-09-21 15:23:27 -04:00
ShadowNinja
c061bdd37f Fix locking bugs and make inventory deserialization errors more specific 2014-09-21 14:39:36 -04:00
ShadowNinja
6bc4cad0ed Split settings into seperate source and header files
This also cleans up settings a bit
2014-09-21 14:39:35 -04:00
ShadowNinja
2ae5d3f3ab Fix Settings locking 2014-09-21 14:39:35 -04:00
ShadowNinja
cd64a92a8c Use const references for Settings methods
Also check for (this == &other) before locking mutexes.
2014-09-21 14:39:35 -04:00
Craig Robbins
b97c9c6577 Make getters of the Settings class const
Also removed 2 unused functions.
2014-09-21 14:39:35 -04:00
BlockMen
a020d1b653 Allow taking screenshots of formspecs and move message to chat 2014-09-21 19:15:48 +02:00
ShadowNinja
406ed5efac Add compression API 2014-09-20 14:02:54 -04:00
donat_b
c9cab6bcab Make config compatible with C++11 2014-09-20 11:20:13 +02:00
ShadowNinja
8852333eb3 Use configured bind_address for HTTPFetch 2014-09-18 21:54:23 -04:00
ShadowNinja
86a3c8ce56 Reduce indentation of HTTPFetchOngoing
Also clean up some related things.
2014-09-18 21:54:22 -04:00
TriBlade9
18bfa1c785 Added configurable selectionbox width. Min width = 1, Max = 5 2014-09-19 03:28:46 +02:00
RealBadAngel
86a0f5603b Bugfix: don't highlight air nodes. 2014-09-18 09:56:27 +02:00
RealBadAngel
58e6d25e03 Node highlighting. 2014-09-17 22:06:13 +02:00
Kahrl
206f076422 Fix typo in comment in chat.cpp 2014-09-14 15:37:27 +02:00
ShadowNinja
2f170a63c6 Simplify and optimize schematic replacements 2014-09-11 22:25:06 -04:00
sapier
62ea342ad1 Log unhandled exceptions in connectionthreads to errorstream 2014-09-06 18:22:27 +02:00
sapier
944e79d7a6 Fix access to invalid data on reception of packet with size 0 2014-09-06 17:42:34 +02:00
BlockMen
8948907431 Change screenshot colorformat properly 2014-09-03 19:41:29 +02:00
BlockMen
b2102bfe49 Don't save alpha channel in screenshots (fixes #1451) 2014-09-03 11:39:29 +02:00
kwolekr
f3eefeb794 Add LuaVoxelManip methods: get_node_at() and set_node_at() 2014-09-01 17:33:21 -04:00
kwolekr
9e4e7072da Update Mapgen VoxelManipulator on buffer invalidation 2014-09-01 15:12:22 -04:00
kwolekr
3fa4f782d9 Save previously generated blocks on Mapgen blitback 2014-09-01 14:58:05 -04:00
sapier
e5b4748bb4 Fix only one texture being updated on window resize breaking sidebyside and topbottom 3d modes 2014-08-29 01:35:35 +02:00
sapier
fb2183b61d Fix interlaced 3d mode second image being flipped on compiling against irrlicht >= 1.8 2014-08-29 00:54:46 +02:00
RealBadAngel
e66bb9b864 Allow use all 6 faces for special tiles.
Protocol version bump.
2014-08-25 12:47:06 +02:00
sapier
e09293b483 Add lua exception handling test code
Catch some error situations when mod used without thinking about it
2014-08-23 20:53:34 +02:00
Kahrl
3e267a6ece Fix LuaJIT exception wrapper 2014-08-23 20:41:03 +02:00
Craig Robbins
f33d31693e Fix seg fault if popping from empty stack (L-system trees)
See: https://github.com/minetest/minetest/issues/1525

Background
Wuzzy2: If you attempt to spawn a L-system tree with minetest.spawn_tree, you can make Minetest crash if it is attempted to pop an empty stack.

ShadowNinja: This shouldn't cause a segmentation fault, but it should throw a Lua error

Commit Description
This commit throws a Lua error instead of causing a segmentation fault. The server will still "crash" but will include a Lua backtrace.

L-Systems fix randomness
Unless a random seed is provided (via Lua treedef) seed the PRNG with a different seed for each tree
Resolves: https://github.com/minetest/minetest/issues/1469

Fix l-system crash when treedef random_level not set by Lua
2014-08-23 06:40:27 +02:00
sapier
996ea60642 Add video driver selection to settings menu (based uppon idea from webdesigner97) 2014-08-23 01:55:54 +02:00
sapier
7940a4264a Fix chat messages capturing mouse interactions for menu/formspecs 2014-08-23 00:23:14 +02:00
SmallJoker
55c646c5c2 Use pause_fps_max also on multiplayer 2014-08-22 22:52:20 +02:00
sfan5
b19dd922ec Add ^[mask texture modifier 2014-08-22 22:42:04 +02:00
SmallJoker
e4d570eafc Reduce time of red screen when damaged
10 seconds in PvP is very long and annoying.
2014-08-22 22:19:07 +02:00
Selat
c58b9d8da3 ban.cpp refactoring 2014-08-22 22:03:08 +02:00
sapier
dec8c43de3 Fix to to too two times 2014-08-22 21:51:20 +02:00
sapier
d7d8aa1039 Add player name length checks 2014-08-22 21:18:43 +02:00
sapier
8e9d896f2d Fix "ghost" blocks if block update is "on wire" while player digs nodes 2014-08-22 20:56:16 +02:00
sapier
247a1ebf23 Improve timeout calculation
gf
2014-08-22 20:56:16 +02:00
RealBadAngel
d9df592da8 Pass light sources in blue channel of vertex color instead of decoded light for all special drawtypes.
Plus some style fixes and optimizations.
2014-08-21 23:28:01 +02:00
sapier
2a5c88bde1 Don't call a player event without having player to do a event for 2014-08-21 17:29:26 +02:00
sapier
c24e0753fc Mod profiling support
Config settings:
profiling = true/false (gather statistics)
detailed_profiling = true/false (break mod times to callbacks)

Chat commands:
save_mod_profile saves current statistics in debug.txt and shows on console (on default loglevel)
2014-08-19 22:22:57 +02:00
sapier
4caa00cc99 Make scrollbar scale according to DPI and scaling factor 2014-08-16 15:30:56 +02:00
RealBadAngel
bf91d623c8 Let lighting be done only CPU side. Remove finalColorBlend implementation from shaders. 2014-08-16 14:48:52 +02:00
sapier
0a57b5b553 Revert "Fix inventory items blinking on item preloading"
The fix didn't work on some systems sadly this wasn't detected prior merge,
as preload is disabled by default now there's not gonna be a fix for it.
2014-08-16 14:18:33 +02:00
sapier
ccf3985b7a Fix inventory items blinking on item preloading 2014-08-16 13:00:37 +02:00
selat
5f1f1151d3 Remove temporary file at safeWriteToFile() 2014-08-16 12:46:48 +02:00
sapier
fa427d641b Add sqlite3 backend hack for android 2014-08-16 12:28:07 +02:00
SmallJoker
6c5f79fee9 Fix the *CDP display 2014-08-15 21:46:04 +02:00
RealBadAngel
5e54bf1472 Make faces shading correct for all possible modes.
Skip shading for lightsources and top of the nodes.
Fixes liquid sources and flowing surfaces having different brightness.
2014-08-14 06:43:47 +02:00
Kahrl
587167e940 Move #includes from version.h to version.cpp 2014-08-10 01:03:52 +02:00
ShadowNinja
d7bcde6db4 Disable preload_item_visuals by default
This can delay connections by several minutes.
2014-08-05 14:54:33 -04:00
Craig Robbins
6929206bc2 Fix issue 1527
https://github.com/minetest/minetest/issues/1527
2014-07-29 22:39:39 -04:00
sfan5
17345404ba Add ZLIBWAPI_DLL and LEVELDB_DLL CMake options Remove legacy MINGWM10_DLL CMake option Update 32-bit buildbot (OpenAL updated, zlib updated) Change build directory for buildbots to '_build' to prevent removal of Android build files Use -win64 suffix for 64-bit Windows builds Fixes #1476 2014-07-29 20:03:18 +02:00
sfan5
5884236046 Rework texture generating code, add texture grouping via ( ... ) 2014-07-29 20:02:56 +02:00
sfan5
5357a17bac Don't include cmake_config_githash.h into files that don't need it 2014-07-25 10:48:03 +02:00
RealBadAngel
8979a3dd99 Dont display interior of glasslike_framed node when its not defined.
Fixes https://github.com/minetest/minetest/issues/1514
2014-07-24 20:58:08 +02:00
RealBadAngel
3bf05f020c Allow full circle rotation with 2degs step for plantlike drawtype. 2014-07-24 20:02:20 +02:00
RealBadAngel
9dc8901e32 Add rotation for plantlike drawtype. 2014-07-22 00:32:03 +02:00
RealBadAngel
70074800a2 Bugfix in makeCuboid - apply rotations to all faces when 1 tile is given. 2014-07-20 16:22:48 +02:00
RealBadAngel
f0db6c4423 Speedup mapblock_mesh 2014-07-17 22:28:14 +02:00
RealBadAngel
625489dff4 Fix texture glitches for plants with visual scale > 1.0 (jungle grass). 2014-07-17 14:10:23 +02:00
RealBadAngel
61088b16c9 Fix texture hack in fences. 2014-07-17 13:37:18 +02:00
sapier
d38f6ebb9b Fix error handling on inconsistent client ready message
Fix android makefile to provide a correct dummy githash if detection fails
2014-07-16 20:01:00 +02:00
Zefram
7d72ac6a69 Make tooltip_show_delay=0 work 2014-07-16 18:06:31 +02:00
Zefram
07f444ed85 Permit non-integer sizes for item_image[] 2014-07-16 17:37:12 +02:00
sapier
9a016a6294 Fix flipped textures for drawtype "glasslike" 2014-07-16 16:37:41 +02:00
sapier
65b8b524c0 Add srollbar formspec element 2014-07-16 15:02:56 +02:00
sfan5
eec456be63 Move MapBlock (de)serializing code out of Database class 2014-07-12 17:38:17 +02:00
proller
2d90aca4ab Remove indev mapgen 2014-07-12 18:21:54 +04:00
proller
7df83c2c67 Remove math mapgen 2014-07-12 18:15:55 +04:00
RealBadAngel
c9ba92c4ad Faces shading fixes 2014-07-07 18:06:20 +02:00
kwolekr
a2e1b0fc7f Don't copy back already generated blocks on map generation 2014-07-07 01:51:04 -04:00
kwolekr
8b3ed78e53 Don't unload blocks if save failed
Improve error handling in saveBlock()
2014-07-07 01:20:25 -04:00
sapier
e14c4cdd4c Fix regression in leveldb backend 2014-07-07 00:06:06 +02:00
sapier
2e19af9919 Fix client crash on deletion of an object the clients localplayer is attached to 2014-07-06 22:11:21 +02:00
sapier
b459f53ac3 Switch android to leveldb as sqlite3 is broken and fails to save any mapblock there 2014-07-06 21:27:54 +02:00
sfan5
d020e0771d Improve error reporting in leveldb backend 2014-07-06 21:20:40 +02:00
Perttu Ahola
9b44bbd0a6 Fix non-smooth non-shader node shading (Fixes #1436, regression by commit a0f78659f31abd) 2014-07-06 22:01:03 +03:00
sfan5
eadde1e741 Fix errors/warnings reported by valgrind 2014-07-06 16:33:02 +02:00
PilzAdam
6bd15247f9 Fix memory leak in EmergeManager 2014-07-06 15:41:59 +02:00
sfan5
37b7f094e3 Fix warnings reported by clang 2014-07-06 13:19:21 +02:00
Perttu Ahola
2fee2baf98 Remove FPS from being next to the version string 2014-07-05 11:55:13 +03:00
sapier
b8343cd11c Fix memory leaks in GenericCAO, ShaderSource and Player classes 2014-07-02 23:33:18 +02:00
Novatux
3d6d66b181 Fix inversion of full_punch_interval 2014-07-02 16:48:11 +02:00
sapier
bfaba2c12a Fix regression in light calculation 2014-06-30 22:56:08 +02:00