Commit Graph

3363 Commits

Author SHA1 Message Date
Loic Blot 0d1eedcccc Replace std::list to std::vector into tile.cpp (m_texture_trash) and move tile.hpp to src/client/ 2015-03-05 11:59:40 +01:00
Loic Blot aa474e4501 Server.cpp Use std::list instead of std::vector for playSound, fillMediaCache, sendRequestedMedia, sendMediaAnnouncement and related functions 2015-03-05 11:40:04 +01:00
Loic Blot 82482ecd9d Server::AsyncRunStep: buffered_messages now uses std::vector instead of std::list. * sendRemoveNode and sendAddNodes are also converted as a side effect 2015-03-05 11:23:54 +01:00
BlockMen 36e8ba9ce2 Fix some rendering glitches
- Fixes particle draworder
- Fixes nodehighlighting
2015-03-05 10:51:18 +01:00
Loic Blot 365e4ae0fa Performance improvement: Use std::list instead of std::vector for request_media, Server::getModNames, Environment::m_simple_objects.
* Also remove unused Server::m_modspaths
2015-03-05 10:44:48 +01:00
Loic Blot b214cde5b4 Remove Queue class which uses std::list and use native std::queue 2015-03-05 16:49:51 +10:00
Craig Robbins 9e67579315 Fix memory leak in MapgenV6 2015-03-05 15:17:37 +10:00
paramat eb7482fd73 Cavegen, mgv5: Cleanup code
Conf.example: Update mgv5 mapgen params
Mgv7: Lava caves only below -256
2015-03-04 23:53:58 +00:00
Loic Blot cd684497c2 Use std::vector instead of std::list in StaticObjectList and MutexedMap::getValues() 2015-03-04 17:22:37 +01:00
Loic Blot 06f328207f ABMHandler and player_collisions use sequential read/write. Switch from std::list to std::vector
* Also remove dead code Map::unloadUnusedData which is dead since a long time
2015-03-04 17:02:36 +01:00
Loic Blot 2066655aae ClientInterface::getClientIDs doesn't need a std::list. Use a std::vector for better perfs 2015-03-04 16:30:24 +01:00
Loic Blot 7e088fdfe3 We always know playerSAO when calling SendInventory. Using it instead of searching it via peer_id 2015-03-04 15:28:33 +01:00
Loic Blot 40bf1d7b5f Send Position packet on event, don't check it at each AsyncRunStep.
* This permit to cleanup the player checking loop
2015-03-04 12:19:26 +01:00
Loic Blot 7f8f9785d7 ASyncRunStep doesn't need to lock when do setTimeOfDaySpeed.
* setTimeOfDaySpeed already lock a mutex when modify the value, we don't need to lock all environment.
* add a fine grain lock for getTimeOfDay and setTimeOfDay to solve environment multithread modifications on this value
2015-03-04 11:46:31 +01:00
Loic Blot 1b2f64473e Send Inventory packet on event, don't check it at each AsyncRunStep.
* Call UpdateCrafting into SendInventory because this functions is only called before SendInventory
* Use Player* instead of peer_id for UpdateCrafting because SendInventory already has the Player* pointer, then don't loop for searching Player* per peer_id
* m_env_mutex don't need to be used with this modification because it's already locked before the calls
2015-03-04 11:29:39 +01:00
Loic Blot 038d3a31df Remove unused m_wielded_item_not_sent 2015-03-03 17:36:54 +01:00
Loic Blot 7e56637ed0 Send Breath packet on event, don't check it at each AsyncRunStep 2015-03-03 16:33:20 +01:00
Loic Blot 64ff966bae Send Player HP when setHP (or a setHP caller) is called instead of looping and testing the state change. 2015-03-03 16:06:04 +01:00
Miguel Almeida 056e8f7839 Fix occlusion 2015-03-02 12:09:02 +01:00
Craig Robbins aefe80769b Fix narrow_to_wide_c (ANDROID)
* Ensure converted string is NUL terminated
* Restore logic to that used prior to 9e2a9b5
2015-03-02 13:16:01 +10:00
paramat 773aa8c57b Mgv6: Add heightmap. Do not make large caves that are entirely above ground 2015-03-02 02:13:43 +00:00
Loic Blot 3b1ac5b889 Revert "Fix particles draworder" (issue #2388)
This reverts commit c09d026f05.
2015-02-27 14:15:24 +01:00
Craig Robbins fdb9140825 Change find_surface_nodes_in_area to find_nodes_in_area_under_air 2015-02-27 21:42:00 +10:00
Loic Blot 0f556d0c7f Add find_surface_nodes_in_area LUA call which permit to only get the nodes which touch air. This permit to massively improve performance for mods like plantlife 2015-02-27 21:34:33 +10:00
Craig Robbins 338e66af5f Fix minor memory leak (Android) 2015-02-27 13:40:27 +10:00
paramat 14f7df980b Biome API: Re-calculate biome at every surface in a mapchunk column 2015-02-26 03:35:25 +00:00
rubenwardy d65a90a86b Add camera smoothing and cinematic mode (F8) 2015-02-25 15:34:33 +01:00
Loic Blot b4acac706d Rename --do-unittests to --run-unittests as @Zeno- and @sfan5 requested 2015-02-24 08:56:52 +01:00
gregorycu 577701cabd Optimise MapBlockMesh related functions
Directely or indirectly optimises the following functions:

* MapBlockMesh::MapBlockMesh
* MapBlockMesh::getTileInfo
* MapBlockMesh::makeFastFace
* MapBlockMesh::getSmoothLightCombined
2015-02-23 23:20:31 +10:00
Craig Robbins 3b6480c5b0 Fix wrapDegrees family of functions
wrapDegrees() (renamed to modulo360f)
wrapDegrees_0_360
wrapDegrees_180

Minor errors were present in previous versions; see issue #2328
2015-02-23 22:50:32 +10:00
Kahrl 38cf080a9c Disallow object:remove() if the object is a player
Rebased by Zeno- (conflict in lua_api.txt)
2015-02-23 16:49:48 +10:00
kaeza c5defe7a11 Add mod.conf file support This new file only permits to specify a mod name for now 2015-02-21 18:18:06 +01:00
Loic Blot 009149a073 Fix some memory leaks on packet sending. 2015-02-21 17:27:31 +01:00
Loic Blot 5a5854ea9d Move hex.h to util/ 2015-02-21 14:32:35 +01:00
BlockMen c09d026f05 Fix particles draworder 2015-02-21 14:11:00 +01:00
Loic Blot 3998a1f8f9 Move sha1.hpp and base64.hpp to util/ 2015-02-21 14:03:27 +01:00
BlockMen aa31e3c7f3 Use skin font for usernames (fixes #2363) 2015-02-21 13:31:42 +01:00
Loic Blot cf4045ff0f Use proper CMakeLists.txt for network and client directories 2015-02-21 11:51:12 +01:00
Loic Blot b3aeba684b Unit tests must be done at integration process.
* Remove --enable-unittests and --disable-unittests and add --do-unittests function
* --do-unittests function will exit 0 on success.
* minetest and minetestserver binaries are launched with --do-unittests in travis build.
2015-02-21 11:04:19 +01:00
paramat 38e6280552 Mgv5: Remove blobgen. Remove crumble and wetness noises
Add large pseudorandom caves below -256
De-link terrain level from water_level
Cavegen: Mgv5 large cave code
2015-02-21 01:43:25 +00:00
Ner'zhul e357577cb2 Typo fix in networkprotocol.h
InventoryAction is in inventorymanager.h
2015-02-19 20:03:22 +01:00
est31 5a0ed780f5 Server: announce MIN/MAX protocol version supported to serverlist. Client: check serverlist
Client now informs about incompatible servers from the list, this permits to prevent the protocol movements.
Server announces its supported protocol versions to master server
2015-02-18 16:09:59 +01:00
BlockMen 8941ea0cc9 Increase default font_size 2015-02-18 12:51:17 +01:00
BlockMen 9a9fcfc9a3 Fix font_size under windows 2015-02-18 12:39:23 +01:00
Perttu Ahola 4d744cf87a Use fixed size for builtin menus on non-android platforms 2015-02-18 12:33:40 +02:00
Loic Blot 27d4e89d32 Fix unused (and so, broken) enable_rollback_recording. This option must be reloaded at server loop but loaded when server starts, for data consistency (not a hot load variable)
ok @ShadowNinja
2015-02-18 09:28:39 +01:00
fz72 0a299fd4e5 Fix map_seed not changed when creating a new world after login to another 2015-02-18 08:57:14 +01:00
Loic Blot 2079462e62 Change many useless std::list into Environment class (m_players), ABMHandler and ActiveBlockList::update
This improve looping performances.
2015-02-17 16:50:03 +01:00
Kahrl 81b9c023c4 Grab GUIChatConsole::m_font, fixes segfault when changing font_size 2015-02-18 00:38:57 +10:00
Loic Blot fd70f4f2f0 Replace std::list by std::vector into ClientMap::updateDrawList, Map::timerUpdate and ServerMap::save().
This will speedup the loop reading into those functions
2015-02-17 15:28:49 +01:00
Loic Blot 3c91ad8fc2 Replace std::list by std::vector into timerUpdate calls 2015-02-17 15:08:37 +01:00
Novatux 24315db6ef Ignore old entities from 0.3. 2015-02-17 15:07:05 +01:00
Loic Blot 54487b3e70 Remove old comment from Network Rework Patch 2/4 2015-02-17 14:49:21 +01:00
Loic Blot 718bcafd51 Replace std::list by std::vector into ServerMap::listAllLoadableBlocks ServerMap::listAllLoadedBlocks and their database backends.
This adds a speedup on database migration and /clearobjects command
2015-02-17 14:35:44 +01:00
Loic Blot c58d49977d SAO: re-add old ActiveObjectTypes for a future migration layer 2015-02-17 11:37:55 +01:00
Loic Blot f8d5af7536 SAO work: ActiveObject types & SAO cleanup * Replace u8 types with ActiveObjectType. * Merge content_object.h into activeobject.h * Remove DummyLoadSAO, it's now unused. * Remove ItemSAO, it's also unused 2015-02-17 09:09:50 +01:00
Yaman 98d80e2012 Add player direction to on-screen debug text
(PR Modified slightly)
2015-02-17 01:56:21 +10:00
Loic Blot 7c8793cbea Performance Improvement: Use a cache which caches result for getFacePositions.
This greatly reduce the number of std::list generated by caching the result, which is always constant for each radius selected.
In the callgrind map, you will see original:
  * 3.3M calls to std::list for 9700 calls to getFacePositions
In the modified version, you will see:
  * 3.3K calls to std::list for 6900 call to getFacePositions
Callgrind map is here: #2321

it's a huge performance improvement to l_find_node_near
2015-02-16 11:27:44 +01:00
Loic Blot ed04e8e9e4 [Patch 2/4] Network rework: packet writing, sending and cleanups
NetworkPacket.cpp:
* Remove some deprecated functions, we must use streaming interface
* m_data converted from u8* to std::vector<u8>
* Add an exporter to forge packet to Connection object
* implement operator << std::wstring. n
* implement operator << std::string
* dynamic resize when write packet content.
* fix string writing and performances.
* create ServerCommandFactory, used by client to get useful informations about packet processing (sending).
  * Reliability
  * Transmit channel
* Implement putRawString for some ugly char (_INIT packet), and use it.
* Many packet read and write migrated
* Implement oldForgePacket to interface writing with current connection
* fix U8/char/bool writing
* fix string writing and performances.
* add some missing functions
* Use v3s16 read instead of reading x,y,z separately
* Add irr::video::SColor support into packets
* Add some missing handlers
* Add a template function to increase offset
* Throw a serialization error on packet reading (must be improved)

PacketFactories:
* Create ServerCommandFactory, used by client to get useful informations about packet processing (sending).
* Create ClientCommandFactory, used by server to get useful informations about packet processing (sending).

Client.cpp:
* implement NetworkPacket ::Send interface.
* Move packet handlers to a dedicated file
* Remove Client::Send(SharedBuffer)

Server.cpp:
* implement NetworkPacket ::Send interface.
* Rewrite all packets using NetworkPacket
* Move packet handlers to a dedicated file
* Remove Server::Send(SharedBuffer)

ClientIface.cpp:
* Remove sendToAll(SharedBuffer<u8>)

Connection.hpp rework:
* Remove duplicate include
* Remove duplicate negation
* Remove a useless variable
* Improve code performance by using a m_peers_list instead of scanning m_peers map
* Remove Connection::Send(SharedBuffer)
* Fix useafterfree into NetworkPacket Sending
* Remove unused Connection::sendToAll

Test.cpp:
* Remove dead code
* Update tests to use NetworkPackets

Misc:
* add new wrappers to Send packets in client, using NetworkPacket
* Add NetworkPacket methods for Connection
* coding style fix
* dead code since changes cleanup
* Use v3s16 read instead of reading x,y,z separately in some packets
* Use different files to handle packets received by client and server
* Cleanup: Remove useless includes

ok @Zeno-
Tested by @Zeno- @VanessaE and @nerzhul on running servers
2015-02-16 11:00:55 +01:00
Loic Blot 8aebc31a17 Fix unit test if there isn't a localhost address (for example FreeBSD jails), second part 2015-02-15 14:30:34 +00:00
Loic Blot a3e2b3e404 Fix unit test if there isn't a localhost address (for example FreeBSD jails) 2015-02-15 13:11:03 +01:00
Loic Blot 3b6b9435c5 Only do the IPv6 unit test if IPv6 is enabled 2015-02-15 12:20:37 +01:00
Loic Blot 7880ff74b6 Re-apply 4a6582c13c broken since 146f77fdb7 2015-02-14 09:21:04 +01:00
Craig Robbins d44cb547f2 Suppress CGUITTFONT build warnings 2015-02-13 23:54:05 +10:00
ngosang c7a7803780 Minor fixes in translations 2015-02-12 16:41:40 +01:00
BlockMen d302629392 Fix gettext on MSVC 2015-02-12 16:03:55 +01:00
ngosang e102cbd840 Fix .zip extraction (mod store) 2015-02-12 15:27:20 +01:00
Loic Blot 146f77fdb7 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 2015-02-12 15:00:03 +01:00
Loic Blot a19ec3328c Remove unused variables to make clang happy 2015-02-12 11:13:27 +01:00
ngosang 4a6582c13c Small changes in the style of controls 2015-02-12 09:54:48 +01:00
Loic Blot c3a23ebc28 Make Clang happy with lua lauxlib.c.
No functionnal change
2015-02-12 08:00:22 +01:00
est31 b2f3ffe308 Enable LUA_USE_POSIX if possible in bundled Lua
Fixes warning:
src/lua/src/loslib.c:60: Warning: the use of `tmpnam' is dangerous, better use `mkstemp'
2015-02-12 16:14:12 +10:00
Craig Robbins 66efaaa983 Fix Android compile warning 2015-02-12 13:16:38 +10:00
Loic Blot a9355284b5 Don't permit to open inventory is playerCAO isn't present. This prevent to open an empty inventory at player load. ok @zeno- 2015-02-11 12:23:14 +01:00
Loic Blot 8252e1ecd0 Fix issue #2279. ok @zeno- 2015-02-11 10:03:29 +01:00
Craig Robbins c8f60bd224 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
2015-02-11 17:45:49 +10:00
ShadowNinja 98b37e3e0d Fix Android build of narrow_to_wide 2015-02-11 02:28:22 -05:00
Craig Robbins f824866686 Revert "Remove workaround in itemdef.cpp to enable/disable/enable "enable_shaders" setting"
This reverts commit d25ff8fd25.
2015-02-11 17:01:19 +10:00
Craig Robbins d25ff8fd25 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
2015-02-11 16:02:16 +10:00
Markus Koschany cfca5f99e6 Fix FTBFS on GNU/Hurd platform
Minetest fails to build on GNU/Hurd due to a name clash with OSX/Apple,
both are defining the __MACH__ keyword. This commit fixes the issue.
2015-02-11 15:59:58 +10:00
Craig Robbins caf8d2a9d1 Increase MapBlock::actuallyUpdateDayNightDiff() performance by 2-8x. ok @celeron55
Before patch, function consumes up to ~8% of the main server loop. After, ~0% (below level of 2 places of significance)
2015-02-10 16:23:37 +01:00
Loic Blot bb59a8543d Replace getPlayer(playername) by getPlayer(peer_id) in some possible cases. ok @Zeno- 2015-02-10 16:03:16 +01:00
Loic Blot 368496b612 Craftdef.cpp: Improve loop and mathematics for CraftDefinitionShaped::check 2015-02-10 14:16:28 +01:00
ngosang dd2bb950be Fix Exit to OS button focus in Pause Menu 2015-02-10 21:23:16 +10:00
Loic Blot a704c04f00 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
2015-02-10 20:04:08 +10:00
kwolekr 15c037614f Hud: Modify Y-positioning of health/breath starbars to prevent overlapping with Hotbar 2015-02-08 12:47:45 -05:00
gregorycu a0535d286b Fix rebase bug, make render loop use cache setting 2015-02-07 22:23:36 +10:00
Craig Robbins 0904884ad4 Fix warnings in CGUITTFont.cpp 2015-02-06 23:02:15 +10:00
ShadowNinja 1367e8ffff Fix gettext 2015-02-05 11:49:14 -05:00
ShadowNinja 9e2a9b55e1 Reduce gettext wide/narrow and string/char* conversions 2015-02-05 03:24:22 -05:00
ShadowNinja 84c367bb46 Fix translation memory leak 2015-02-05 03:24:13 -05:00
ShadowNinja 8bbf106379 Fix translation finding of overlay messages 2015-02-05 03:24:00 -05:00
paramat bec5d3ab22 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
2015-02-05 03:21:04 -05:00
Craig Robbins 9a0dd47057 Fix performance regression 2015-02-05 17:34:10 +10:00
SmallJoker 929e0b0ad8 Give full breath after death 2015-02-05 17:33:08 +10:00
gregorycu 5e075c3344 Fix dying of lava causes repeated death This is a bugfix for issue #81 2015-02-05 17:32:35 +10:00
ngosang 1b4aaa5f50 Suppress 4 gcc 4.9.2 warnings in CGUITTFont.cpp 2015-02-05 02:41:55 +10:00
sapier d902bd31c4 Fix getCraftRecipe returing wrong reciep due to way to unspecific output matching 2015-02-02 21:32:23 +01:00
kwolekr 0118c111e8 Fix some MSVC-specific warnings and add debug path as an MSVC directory 2015-02-02 02:01:13 -05:00
kwolekr 43f102271d Create minidump on fatal Win32 exceptions
Remove software exception translator function, simplifying exception handler
macros.  FatalSystemExceptions are left unhandled.
2015-02-02 01:39:17 -05:00
kwolekr 48fa893abd Randomly generate seed if field blank for any Settings instance 2015-02-01 02:05:39 -05:00
Kahrl 285655a878 Fix NDT_GLASSLIKE normals
Remove inventorycube() workaround for default:glass in minimal game
2015-01-31 03:06:34 +10:00
Craig Robbins 38561023b4 Fix local map saving when joining a local server from the server tab
Disables local map saving for all local server types

See: https://github.com/minetest/minetest/issues/2024
2015-01-31 00:42:08 +10:00
Kahrl 4d15d63134 Fix uninitialized variable m_database_delete in Database_SQLite3
This fixes issue #2219
2015-01-28 05:01:07 +01:00
kwolekr ad690c46b1 Write common mapgen params to map_meta.txt on world initialization 2015-01-27 22:29:28 -05:00
Loic Blot 80a7408e4d 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
2015-01-27 16:55:25 +01:00
kwolekr eeea454bff Fix missing map_meta.txt error when creating new worlds
A missing map_meta.txt should be treated simply as if there were a blank file.
2015-01-27 02:10:04 -05:00
Craig Robbins ca217d0416 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).

This reverts commit 800d192702.
2015-01-27 00:39:33 +10:00
gregorycu 5b55deb1eb Suppress MSVC warning in chat.cpp 2015-01-25 16:09:23 +10:00
gregorycu ed7c9c4cb8 Settings fixes Make the GameGlobalShaderConstantSetter use the settings callback (8% perf improvement in game loop) Ensure variable is set Ensure settings callback is threadsafe 2015-01-25 15:23:37 +10:00
Craig Robbins 2c4a5e1861 Revert "Make the GameGlobalShaderConstantSetter use the settings callback (8% perf improvement in game loop)"
This reverts commit a555e2d9b0.
2015-01-25 01:19:40 +10:00
(@U-Exp) 800d192702 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 2015-01-24 22:41:02 +10:00
Kahrl f8bd1f3563 Fix uninitialized variable Server::m_next_sound_id 2015-01-24 06:44:41 +01:00
Craig Robbins 0ea843bbdb Fix unitialised variable occassionally being used 2015-01-24 14:54:42 +10:00
gregorycu a555e2d9b0 Make the GameGlobalShaderConstantSetter use the settings callback (8% perf improvement in game loop)
Amend the settings callback to support userdata
2015-01-23 21:27:51 -05:00
paramat aafbbcd537 Mgv5: Skip calculation of filler, heat and humidity perlinmaps in underground mapchunks 2015-01-23 21:24:47 -05:00
ShadowNinja a9f81b729b Send real port to server list 2015-01-23 21:38:34 +10:00
paramat 1702c34b64 Mgv7 generateRidgeTerrain: Make river generation relative to water level
Remove widthn and make nridge zero underwater
2015-01-22 02:21:11 -05:00
paramat 70354ac20b 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
2015-01-22 02:10:07 -05:00
paramat 408d9b72f0 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
2015-01-22 02:06:33 -05:00
TriBlade9 db481e7232 Added ratio argument to colorize, removed the weird alpha-based ratio. 2015-01-20 22:56:20 +10:00
paramat 9b89f7aad7 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
2015-01-18 23:38:15 -05:00
kwolekr 38bd9e93a2 Fix all warnings and remove -Wno-unused-but-set cflag 2015-01-18 23:29:19 -05:00
kwolekr e36681101e Add SemiDebug (-O1 with debug symbols) build mode and do not optimize Debug at all
Add -Wall to Debug modes for all compilers and -Wabi for non-MSVC
Use /Ox for MSVC Release mode (potentially higher optimization than /O2)
2015-01-18 22:30:11 -05:00
kwolekr 976d0b2caa Reorganize supported video driver query mechanisms 2015-01-18 13:24:25 -05:00
kwolekr 6e9f287844 Revert "Fix bug in debug build"
This reverts commit 839c4a99cd.
2015-01-18 13:19:28 -05:00
Craig Robbins 839c4a99cd Fix bug in debug build
-O1 results in executables that are completely useless for actuall debugging
2015-01-19 00:26:59 +10:00
Kahrl e80a044818 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.
2015-01-18 13:16:01 +01:00
Craig Robbins 29514918f8 Fix particles causing unitialised data being used due to use of incorrect union member 2015-01-18 20:30:57 +10:00
gregorycu db3466dbe8 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
2015-01-18 20:30:33 +10:00
Craig Robbins 805c8e51e5 Create empty default constructor for MapNode 2015-01-18 13:39:50 +10:00
paramat 2f0a8f1c3e Mgv7: Replace small pseudorandom caves with 3D noise tunnels. Fewer large caves 2015-01-17 21:57:48 -05:00
sapier a39c136e69 Fix NodeMetadataList loosing memory on deserialize due to invalid clear map call instead of clear 2015-01-17 19:14:36 +01:00
gregorycu 2959d6b3da Fix entitiy WieldMeshSceneNode not freed due to additional grab 2015-01-17 19:13:08 +01:00
Craig Robbins 5481e38d0b Make minor style change(unescape_string()) 2015-01-16 21:05:44 +10:00
Loic Blot e5b636712c Fix missing return in Database_Dummy::deleteBlock 2015-01-16 21:00:11 +10:00
Craig Robbins 5e58a95491 Fix potential out-of-bounds array index 2015-01-16 14:35:57 +10:00
kwolekr 9736548720 Add ability to delete MapBlocks from map
Also add a Lua API and chatcommand for this
2015-01-15 16:48:56 -05:00
kwolekr 0330cec7ec Initialize noise ptr on creation (fixes crash if OreVein deleted before use) 2015-01-15 16:23:04 -05:00
ShadowNinja 77e20a0c21 Fix unescape_string removing all backslashes 2015-01-15 16:16:41 -05:00
unknown bd0d786590 Change UniqueQueue to use a queue and a set. 2015-01-15 21:08:35 +10:00
TriBlade9 e19dab2622 Added configurable ambient_occlusion_gamma. Default is 2.2 (same as previous hardcoded values). 2015-01-14 23:35:50 +10:00
Craig Robbins 57f2fa57cd Fix use of uninitialized data 2015-01-14 15:43:33 +10:00
onkrot 0fd1ee0380 Performance fixes. 2015-01-13 23:48:56 +10:00
unknown 5d08ada224 Add VoxelArea::hasEmptyExtent 2015-01-13 23:24:32 +10:00
kwolekr 714a4f8507 Attempt to fix occasional issue of uninitialized MapBlock data 2015-01-12 22:31:08 -05:00
kwolekr b0efb8f3b2 Prevent transform of noise3d result in getBlockSeed2 2015-01-12 15:46:04 -05:00
paramat c367f7301a Mapgen V5: Move cave generation from base terrain loop to optional function
This fixes biome surface in tunnels
2015-01-11 22:35:36 -05:00
sapier aed70cb0b6 Disable sound and key binding settings in "pause" menu on android 2015-01-11 13:58:49 +01:00
sapier 2d9b311e7b Fix invalid stepheight increase calculation on android 2015-01-11 13:57:26 +01:00
sapier 25235a4324 Increase stepheight on android by 0.5 to smoothen movement 2015-01-11 04:33:42 +01:00
Kahrl b7c0e4b333 Fix clipping rectangle of GUITable row highlight 2015-01-10 19:56:14 +01:00
sfan5 3b16103ca6 Change default font sizes to 14(freetype) and 10(non-freetype) 2015-01-10 18:59:43 +01:00
sfan5 8089d89a51 Set default value for ENABLE_REDIS to 0 2015-01-10 15:28:25 +01:00
sapier 30334b6b22 Revert "Switch default scaling factor to 0.75 as most ppl seem to have 96dpi screens instead of previous assumed 72"
which ain't required any longer as fonts are no longer autoadjusted
This reverts commit 7ad17a25f4.
2015-01-09 19:07:55 +01:00
sapier de3888ca09 Remove automatic consistent formspec size <-> font size (now has to be done manually)
Set builtin formspecs to autoscale in order to get consistent formspec look and feel
Uncouple label positioning from font size (May break some formspecs but is required to allow manual font adjustment)
2015-01-09 18:46:24 +01:00
Craig Robbins 3c8e372119 Removed superfluous facedir check in mapblock_mesh.cpp 2015-01-10 02:06:33 +10:00
Kahrl 2ab97a7821 Fix logic of checkbox formspec element validity checking 2015-01-09 16:57:54 +01:00
sapier 63867b1a37 Fix memory leaks due to messed up memory handling for particles as well as their spawners 2015-01-09 15:23:49 +01:00
sapier e201620ee1 Split gui_scaling to gui_scaling + hud_scaling as those elements need different handling on some devices 2015-01-09 14:31:33 +01:00
Craig Robbins d576235409 Fix facedir > 23 causes segfault in client
See issue #2017
Applied kahrl's gist
2015-01-09 15:42:03 +10:00
sapier 7ad17a25f4 Switch default scaling factor to 0.75 as most ppl seem to have 96dpi screens instead of previous assumed 72 2015-01-09 00:37:02 +01:00
ShadowNinja a3db918f78 Remove included SQLite3 2015-01-08 16:34:42 -05:00
sfan5 d8cf64a202 Add SQLite3 libraries to buildbot 2015-01-08 16:34:42 -05:00
paramat 56a89fd265 Return step smoothing value to 23 2015-01-08 15:06:28 +10:00
kwolekr 4a57ef12a1 Mapgen V6: Re-enable liquid flowing 2015-01-07 19:27:09 -05:00
rubenwardy 2504da28af Fix direction property of HUD 2015-01-07 20:51:47 +01:00
sapier ef140eb7b0 Fix emerge thread not cleaning up emerge queue on shutdown 2015-01-07 12:19:48 +01:00
sapier 42f3515c0e Fix andorid build error 2015-01-07 00:10:21 +01:00
sapier 0f1d33933d Implement X11 dpi autodetection 2015-01-06 22:41:07 +01:00
sapier 083d19b3fc Fixes for android
Copy only minetest_game to apk by default
Don't copy .git and .svn folders to apk
Fix bouncing asset copy scrollbar due to long filepaths
Reenable font scaling to fix broken menu on high dpi screens
Implement minetest loglevel to android loglevel mapping
Disable touch digging while moving around
2015-01-06 16:13:39 +01:00
Craig Robbins beb6b3e593 Prevent client crashing if an NDT_AIRLIKE node is dropped
The player dropping the node can either be themselves or another player (i.e. without this fix you can crash other people's clients)
Thanks CWz for reporting the issue
2015-01-05 22:55:02 +10:00
kwolekr 2d849b0a19 Shorten ManualMapVoxelManipulator to MMVManip 2015-01-05 02:42:27 -05:00
kwolekr 7289d61e99 Optionally specify propagateSunlight area in calcLighting
This fixes the Mapgen V5 calcLighting segfault
2015-01-05 01:20:36 -05:00
kwolekr 3bdf3df223 Exclude vertical mapblock borders when setting light 2015-01-04 23:14:16 -05:00
kwolekr 091594e26e NodeDef: Clear NodeResolver related entries too in clear() 2015-01-04 22:39:57 -05:00
kwolekr bdcf03ae36 Add minetest.generate_ores() and minetest.generate_decorations() 2015-01-04 22:38:48 -05:00
kwolekr cd4d213ae0 NodeResolver: Perform callback immediately if node registration phase finished
Also add NodeResolver callbacks on the client
2015-01-04 16:32:31 -05:00
kwolekr 6fdb32361a Remove freezemelt (the remainder of proller nonsense) 2015-01-04 03:30:10 -05:00
kwolekr 8eb9cebdd0 Add warning about using deprecated fields in Mapgen API and update docs 2015-01-04 03:24:40 -05:00
kwolekr ef8ed5d127 LuaVoxelManip: Error when given out-of-bounds area 2015-01-04 03:07:28 -05:00
kwolekr 7233a1228e Lighting: Fix nearly all issues
The cause of a single light source seemingly being lit without spread
was due to its creation in the +Y mapblock boundary layer during map
generation, which was ignored as the overtop.  This overtop explicitly
needs to be omitted during sunlight propagation, however.  To accomplish
this, Mapgen::calcLighting() was split into separate functions taking
separate parameters.
Additionally, do not diminish light too early during spread.  This fixes the
output inconsistency between Map::updateLighting and Mapgen::calcLighting.
2015-01-04 02:42:31 -05:00
Kahrl 060ae29eaf Update bundled SQLite to 3.8.7.4 2015-01-04 05:21:59 +01:00
ShadowNinja 3c3887bb19 Deduplicate code and use stdlib in string functions 2015-01-03 14:50:16 -05:00
kwolekr d91559b8f0 Fix crash if NodeResolver destroyed before pending any node resolutions 2015-01-03 11:05:31 -05:00
sapier 0db73bd83e More consistent progress bar from 0-100 on startup 2015-01-02 17:53:42 +01:00
sapier aaec558f85 Fix rounding error in font size making main menu and in game font sizes inconsistent 2015-01-02 16:52:02 +01:00
paramat 7452d5399b MgV5/6/7: Generate dungeons above water level
Use/add stone_surface_max_y to speed-optimise/guide dungeon generation
MgV7: Don't let mountain terrain chop dungeons at mapchunk borders
Make mountain terrain update stone_surface_max_y for caves in mountains
2015-01-01 15:44:26 -05:00
paramat 938a3f2976 Mgv7: Remove range limits on mountain height to enable modification through .conf 2015-01-01 12:51:49 -05:00
kwolekr a3d7203be5 Fix map parameter load order 2014-12-30 12:30:42 -05:00
Craig Robbins 3d29be24e0 Add display_gamma option for client 2014-12-31 02:44:31 +10:00
Dmitry Marakasov 2414580754 Fix endian.h include for FreeBSD 2014-12-30 23:00:01 +10:00
Craig Robbins 53bc56dc3c Cleanup updateCameraDirection and fix random input not working 2014-12-30 22:59:55 +10:00
kwolekr 9b0d77a549 Replace instances of height_min/height_max with y_min/y_max to remove ambiguity 2014-12-30 01:48:20 -05:00
kwolekr b589353d89 Decoration: Fix default parameter values 2014-12-30 00:52:40 -05:00
kwolekr c6df2bc42c Add support back for resolving group names in NodeResolver 2014-12-29 23:15:53 -05:00
kwolekr f12118c38b Fix some lingering code style issues 2014-12-29 22:04:47 -05:00
kwolekr 0974337804 Mapgen: Use getBlockSeed2() for blockseeds (much better uniformity) 2014-12-29 21:44:52 -05:00
kwolekr ca89e63b27 Add core.get_mapgen_names() to Main Menu API (and use it)
Also rewrite mapgen registration for static initialization
2014-12-29 21:23:51 -05:00
kwolekr 5e2753c712 Expose mapgen parameters on scripting init
Add minetest.get_mapgen_params()
Deprecate minetest.register_on_mapgen_init()
2014-12-29 12:59:59 -05:00