Loic Blot [Tue, 10 Feb 2015 20:14:24 +0000 (21:14 +0100)]
main.cpp rework * Move ClientLauncher class to a dedicated file * ClientLauncher now owns print_video_modes and speed_tests functions (they are only called by him) * Move GameParams to shared/gameparams.h because it's shared between server and client and launcher need to know it * Move InputHandlers class to client/inputhandler.h * Cleanup includes
Craig Robbins [Wed, 11 Feb 2015 07:45:49 +0000 (17:45 +1000)]
Remove workaround in itemdef.cpp to enable/disable/enable "enable_shaders" setting
* Increase performance (client)
* Avoid changing a global value to solve a local problem
Craig Robbins [Wed, 11 Feb 2015 06:02:16 +0000 (16:02 +1000)]
Remove workaround in itemdef.cpp to enable/disable/enable "enable_shaders" setting
* Increase performance (client)
* Avoid changing a global value to solve a local problem
Loic Blot [Mon, 12 Jan 2015 16:01:41 +0000 (17:01 +0100)]
Network Layer 7 rework (Packet handling)
* Move networkcode to a dedicated directory
* Rename clientserver.h to network/networkprotocol.h (Better name) and sanitize some includes
* Create object NetworkPacket
* It stores command (opcode) and data separated
* It also stores peer_id
* Data reading can be done by using a streaming interface
* Change packet routing analysis
* Remove old conditional analysis
* Now uses function pointed analysis and add connection state ({Client,Server}::handlers)
* Connection state permit to categorize condition to handle before analyze packets
* Create a handler for depreciated messages, instead of duplicating code
paramat [Tue, 27 Jan 2015 22:11:24 +0000 (22:11 +0000)]
Mgv7 mountains: Remove divide by zero code that creates vast walls
Conf.example: Add mgv7 cave1, cave2 noiseparams
Mgv7: Make skipping of mountain code relative to y=0 not water level
Mountain noise offset now -0.6 to compensate
Tune chance of large caves
Loic Blot [Mon, 26 Jan 2015 14:52:02 +0000 (15:52 +0100)]
Fix a crash (assert) when client set serial version < 24 in INIT
When SER_FMT_VER_LOWEST is set to zero, then the test is stupid in INIT because all client works. In mapblock we check if client's serialization version is < 24, but if client sent serialization version < 24 (15 for example) the server set it and tried to send nodes, then BOOM
To resolve the problem:
* Create a different CLIENT_MIN_VERSION to handle this problem
* Remove the exception
* Use an assert in case of bad developer code
Craig Robbins [Mon, 26 Jan 2015 14:39:33 +0000 (00:39 +1000)]
Revert "Fix a crash (assert) when client set serial version < 24 in INIT command SER_FMT_VER_LOWEST is set to zero, then the test is stupid in INIT because all client works. In mapblock we check if client's serialization version is < 24, but if client sent serialization version < 24 (15 for example) the server set it and tried to send nodes, then BOOM"
nerzhul is (may?) be working on a new solution. For the moment this is reverted because old worlds cannot be loaded (see discussion on github for the commit).
gregorycu [Sat, 24 Jan 2015 09:40:27 +0000 (20:40 +1100)]
Settings fixes Make the GameGlobalShaderConstantSetter use the settings callback (8% perf improvement in game loop) Ensure variable is set Ensure settings callback is threadsafe
(@U-Exp) [Sat, 24 Jan 2015 10:07:04 +0000 (11:07 +0100)]
Fix a crash (assert) when client set serial version < 24 in INIT command SER_FMT_VER_LOWEST is set to zero, then the test is stupid in INIT because all client works. In mapblock we check if client's serialization version is < 24, but if client sent serialization version < 24 (15 for example) the server set it and tried to send nodes, then BOOM
paramat [Sun, 18 Jan 2015 12:35:38 +0000 (12:35 +0000)]
Mgv7: Speed optimise calculateNoise and generateRidgeTerrain
Remove unnecessary range limiting of persistmap
Skip calculation of filler, mountain, ridge, heat and humidity perlinmaps in underground mapchunks
Skip generateRidgeTerrain in underground mapchunks
paramat [Sun, 18 Jan 2015 11:52:59 +0000 (11:52 +0000)]
Mgv7 generateRidgeTerrain: Enable rangelim of widthn to remove abysses, calculate widthn later in function
Reduce width to 0.2
Carve river channels in deeper waters
paramat [Tue, 13 Jan 2015 07:18:00 +0000 (07:18 +0000)]
Mapgen V5: Various improvements
Caves check for biome nodes, only excavate stone under water level
Unease caves noises, use MT0.3 parameters
Blobgen after cavegen
Biomegen: remove 'is replaceable content' bool
Kahrl [Sat, 17 Jan 2015 19:05:45 +0000 (20:05 +0100)]
Fix use of uninit data in Sky and (potentially) GUIChatConsole constructors
Clean up nearby code a bit
As a small side effect, it is now possible to add a background texture
to the chat console by simply providing background_chat.jpg, it is no
longer necessary to also add "console_color =" to minetest.conf.
gregorycu [Tue, 13 Jan 2015 14:19:54 +0000 (01:19 +1100)]
Water fixes
Change must_reflow to a deque
Add overload for MapBlock::raiseModified that takes a const char*. This is a speed improvement.
Comment out unused variable
Optimisations to block offset calculations