3987 Commits

Author SHA1 Message Date
RealBadAngel
a1b22f2377 Port createForsythOptimizedMesh from Irrlicht 1.8
Mesh rotation helpers.
2014-11-23 00:51:08 +01:00
Craig Robbins
56bb048150 Fix regression with USE_REDIS (refactor_main) 2014-11-23 01:12:25 +10:00
Craig Robbins
3471011165 refactor main.cpp 2014-11-23 00:27:02 +10:00
Craig Robbins
26b19607d9 Fix smooth lighting (ambient occlusion)
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-11-22 21:58:00 +10:00
Pavel Puchkin
2cb61120aa 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>
2014-11-22 21:56:38 +10:00
Rafael Reilova
55e0686e6d 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>
2014-11-21 22:33:48 +10:00
Craig Robbins
47d1207aa8 Optimise functions from CNodeDefManager and VoxelManipulator
CNodeDefManager::get()
VoxelManipulator::addArea()
2014-11-21 14:56:45 +10:00
Craig Robbins
680a729b90 Optimise getTileInfo()
getTileInfo() ~1.5x faster
getSmoothLight ~2.0x faster
2014-11-21 14:56:45 +10:00
paramat
56e9c09049 Mgv5 1 up 1 down overgeneration for biome surface continuity 2014-11-20 23:13:09 -05:00
paramat
d2891780ad Mgv5 get ground level at point function. Fast spawn player version 2014-11-20 21:07:20 -05:00
ShadowNinja
05ef9bdc68 Simplify loading of Android version of menu 2014-11-20 15:37:20 -05:00
Kodexky
979a12e8c0 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)
2014-11-20 15:41:59 +10:00
ShadowNinja
416c5c8339 Clean up rollback 2014-11-19 16:21:59 -05:00
ShadowNinja
7474ee6393 Fix wallmounted mesh rotations 2014-11-19 16:17:54 -05:00
sfan5
120a177e08 Add (optional) client-side saving of server map to disk 2014-11-19 15:11:23 +01:00
Kahrl
704fb76af5 Remove unused rangelim function (the macro still exists) 2014-11-19 10:19:52 +01:00
Craig Robbins
9815c28e83 Fix double free bug when server is shut down
Thanks @oleastre
2014-11-15 22:33:52 +10:00
kwolekr
3951a0dae3 Fix NoisePerlin3DEased return value 2014-11-14 21:19:46 -05:00
kwolekr
2d1dd941b7 Fix warnings and other misc. minor changes 2014-11-14 03:07:12 -05:00
Craig Robbins
aacc3cba46 Remove most exceptions from getNode() (and variants) 2014-11-14 18:05:34 +10:00
SmallJoker
d3141906d2 Add option 'eased' to NoiseParams
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-11-13 23:06:38 +10:00
kwolekr
e3d17f97bf Fix compilation under some Linux distributions 2014-11-13 00:16:37 -05:00
kwolekr
22e7b35567 Mapgen v7: Fix uninitialized spflags
Mapgen v5: Fix minor style issue
2014-11-12 23:58:50 -05:00
kwolekr
95a8b03898 Add eased 3d point-value noise functions 2014-11-12 23:49:45 -05:00
kwolekr
bb5f0e46bd Add Generator Element Management framework
Add BiomeManager, OreManager, DecorationManager, and SchematicManager
2014-11-12 23:02:41 -05:00
RealBadAngel
d8dca384dd Wielded fixes. Add shaders support. 2014-11-13 03:51:04 +01:00
Craig Robbins
2008caa5c7 Fix profiler values not being updated (F6) and not being logged 2014-11-11 20:58:57 +10:00
Kahrl
ac7626b620 Serverlist: announce mg_name from map_meta.txt instead of minetest.conf 2014-11-10 22:27:10 +01:00
Zeno-
240b7f958a Merge pull request #1825 from Zeno-/control_key_cache
Create faster key cache for main game loop (client)
2014-11-10 19:12:25 +10:00
Craig Robbins
8a5bc74abd Create faster key cache for main game loop (client) 2014-11-10 12:26:19 +10:00
paramat
85d775adfc Tune cave noise scales to 6. Fix blobs spflag, now enabled. Update conf.example 2014-11-09 20:21:39 -05:00
Kahrl
c33891174d 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
c2a7863bc3 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
8b19c3a5b6 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
28ed3ea7c4 Add mgv5. New noise code, uses biome API. Eased 3d noise for terrain, caves, blobs 2014-11-08 21:37:26 +01:00
RealBadAngel
fecad5fb24 Speed up removing a node (less block mesh updates). 2014-11-08 21:04:30 +01:00
SmallJoker
98e648368f Replace setting unlimited_player_transfer_distance with player_transfer_distance 2014-11-08 14:56:09 +01:00
Craig Robbins
c587a15cb0 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
6b3bb1f324 Fix regression: mouse wheel couldn't scroll from last hotbar item to first 2014-11-02 21:59:56 +01:00
Craig Robbins
ab8deee11a 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
7b6cfc3cad Include mg_decoration.h, mg_ore.h from emerge.cpp to fix warnings 2014-11-02 17:52:30 +01:00
Craig Robbins
68c5101db3 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
52919bcebb Modified dtime calculation method in limitFps() 2014-11-02 02:20:06 +01:00
Craig Robbins
c55bb94220 Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:

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

This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.

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

Start "outlining" what a MinetestApp class might look like

Add MinetestApp::shutdown()

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

First stage of connect to server done

Add get itemdefs/nodedefs/media code

Init clouds, camera, sky, init GUI, HUD

Input handling

Client events, camera, sound, draw

Fix wield hand getting stuck digging and add debug text back

Fix FPS

Added profiler graph back

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

Annotate

Various:
Rewrote limitFps()
Limited scope of some variables

Jitter calcs

Reduce scope of objects

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

Scope reduction

Function splits

Removed old (broken) limitFps()

Added exception handling back

Fixed some formatting

Reverted commented out unit tests (uncommented them)

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

Formatting/style (no functional changes)

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

Fixed silly errors on my part
Minor formatting cleanups

Removed strange differentiation in FPS limiting 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
08068ac0c6 Split up mapgen.cpp 2014-11-01 13:16:23 -04:00
kwolekr
1593509710 Fix erroneous lua_pop parameter 2014-10-30 16:23:48 -04:00
kwolekr
4002201c79 Fix uninitialized variable warning 2014-10-30 02:53:20 -04:00
kwolekr
17c356c5ff mapgen: Resolve nodes in ctor rather than makeChunk 2014-10-30 02:29:37 -04:00
kwolekr
c7589703e5 Check minetest.hud_change() parameters on conversion (Fix #1714) 2014-10-30 00:12:12 -04:00
Craig Robbins
975688f114 Fix bug introduced by me (Zeno) 2014-10-29 08:54:16 +01:00