Commit Graph

147 Commits

Author SHA1 Message Date
nerzhul eec01bc2fa Re-apply 972d17baea81ffe6d508b291ef97207a4822e1da...
but not rename the container. Approved-By est31
2015-04-22 11:47:22 +02:00
kwolekr e0eec201a1 Revert "m_active_object_messages is used like a queue. Use std::queue instead of std::list. Also rename to m_active_object_messages_queue"
This reverts commit 972d17baea.
The commit being reverted was unauthorized.  There had been no discussion,
review, or sign-off prior to submittal to upstream.
2015-04-21 18:12:01 -04:00
Loic Blot 972d17baea m_active_object_messages is used like a queue. Use std::queue instead of std::list. Also rename to m_active_object_messages_queue 2015-04-21 23:28:13 +02:00
Loic Blot 0c634a9719 Use std::vector instead of std::set for Environment::getObjectsInsideRadius
We are only iterating sequentially, we don't need a set here
Also use a vector reference instead of a copy
2015-04-16 18:37:29 +02: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 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 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 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
kwolekr 38bd9e93a2 Fix all warnings and remove -Wno-unused-but-set cflag 2015-01-18 23:29:19 -05:00
Craig Robbins 2b119e1e19 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
2014-12-07 00:51:01 +10:00
SmallJoker c40e993ce4 Replace setting unlimited_player_transfer_distance with player_transfer_distance 2014-11-08 14:56:09 +01:00
ShadowNinja 7e6db1b803 Only keep players loaded while they're connected 2014-06-23 15:45:59 -04:00
sapier f6fc39e69a Fix race condition on accessing m_time_of_day_speed causing day night race on some architectures 2014-06-23 00:26:57 +02:00
sapier 35ec3855f6 Speedup attachement handling by replacing vector search by direct array access and secondary child lookup vector 2014-06-23 00:13:41 +02:00
proller 0279f32db7 Remove liquid_finite and weather 2014-04-18 21:56:48 +04:00
Sfan5 118e2ae865 Fix all warnings reported by clang 2014-04-15 21:34:53 +02:00
Ciaran Gultnieks 0643cef09a Update ABM object counts when triggers add objects
Also fixes long-standing accuracy issue due to unknown wider
object count not being incremented.
2014-03-09 11:13:44 +01:00
Novatux 062de11b4c Fix rendering glitches when far from the center of the map 2014-03-04 20:12:10 +01:00
kwolekr 89f7dc1efd ServerEnvironment: Remove direct dependency on EmergeManager 2014-02-09 16:36:30 -05:00
Perttu Ahola 6a3fa9df12 Add player:override_day_night_ratio() for arbitrarily controlling sunlight brightness 2014-02-01 18:38:21 +01:00
Novatux 84b94eb198 Add forceloading 2014-01-11 17:54:00 +01:00
stujones11 d9ef072305 Make line_of_sight return blocking node position 2013-12-12 16:11:00 -05:00
Novatux d879a539cd Add minetest.swap_node 2013-11-30 18:37:56 +01:00
kwolekr 9bccd75e34 Weather: Clean up getHeat/getHumidity somewhat 2013-09-16 23:33:53 -04:00
Kahrl 4e1f50035e Omnicleanup: header cleanup, add ModApiUtil shared between game and mainmenu 2013-08-14 21:03:33 +02:00
Perttu Ahola 742614180c Fix anticheat 2013-08-03 23:16:37 +03:00
proller 3aedfac968 Weather support 2013-07-27 23:21:48 +04:00
RealBadAngel d19c8b815d Add set_breath and get_breath to lua API. 2013-07-20 20:34:11 +02:00
PilzAdam 53066024f6 Add drowning 2013-06-19 15:47:00 +00:00
sapier ab43377577 Move scriptapi to separate folder (by sapier)
On the lua side, notably minetest.env:<function>(<args>) should now
be replaced by minetest.<function>(<args>).
The old way is and will stay supported for a long time.

Also:
Update and clean up lua_api.txt (by celeron55)
Move EnvRef to lua and remove add_rat and add_firefly (by kahrl)
Add separate src/util/CMakeLists.txt, other minor fixes (by kahrl)
2013-05-25 00:51:02 +02:00
sapier 69367aa799 Add Dijkstra A* and A* without prefetching pathfind algorithms 2013-04-06 11:24:03 -04:00
PilzAdam b0e6806077 Fix nick completion 2013-04-05 02:31:58 +02:00
Ilya Zhuravlev 6a1670dbc3 Migrate to STL containers/algorithms. 2013-03-11 19:08:39 -04:00
kwolekr b9d8e59bbf Add emerge.cpp, initial EmergeThread changes
- Neatly placed all emerge related code into a new file, emerge.cpp
- Greatly cleaned up the code in EmergeThread::Thread()
- Reworked Emerge queue.  Now an actual std::queue of v3s16 block positions
- Removed the completely unnecessary map of peer ids requesting blocks
2013-02-25 22:56:18 -05:00
Sfan5 6d0ea26c2d Update Copyright Years 2013-02-24 20:15:24 +01:00
PilzAdam 497ff1ecd6 Change Minetest-c55 to Minetest 2013-02-24 18:49:03 +01:00
kwolekr 11afcbff69 The new mapgen, noise functions, et al. 2013-01-21 21:41:33 +02:00
Perttu Ahola 2c472a66d1 Add ServerEnvironment::setNode()/removeNode() to allow setting nodes from the C++ side with proper script-defined initialization/destruction 2013-01-02 23:18:14 +02:00
Perttu Ahola 6b927229f5 Default server step to 0.1s and sync object/player update intervals to it 2012-11-26 22:34:59 +02:00
MirceaKitsune 756db8174a A bunch of fixes
No longer hide players who are dead. With models, a death animation should be used instead

Some changes requested by celeron55

Rename a lot of things in the code, and use better lua api function names

Minor code corrections

Bump protocol version up, since the models / animations / attachments code creates new client<->server messages
2012-11-25 19:14:24 +02:00
Perttu Ahola 9cadaf824b Add dtime_s to entity activation 2012-09-09 17:12:29 +03:00
Perttu Ahola 1d44a98f2f ABM and liquid overload skip 2012-07-27 13:45:49 +03:00
Perttu Ahola 0190f9b077 Experimental-ish rollback functionality 2012-07-27 02:27:18 +03:00
Perttu Ahola 9f031a6759 Optimize headers 2012-06-17 04:03:39 +03:00
Perttu Ahola d0ea6f9920 Properly and efficiently use split utility headers 2012-06-17 02:40:36 +03:00
Perttu Ahola 037b259197 Switch the license to be LGPLv2/later, with small parts still remaining as GPLv2/later, by agreement of major contributors 2012-06-05 18:54:07 +03:00
Perttu Ahola 2e90ed07ac Dynamic sky, fog and cloud colors; sun and moon 2012-03-18 13:42:18 +02:00
Perttu Ahola 58bed83d03 Move ClientMap to clientmap.{h,cpp} 2012-03-16 00:25:18 +02:00
Kahrl 807a0d313b MapBlockMesh, mesh animation system, urgent mesh updates, athmospheric light, removed footprints 2012-03-15 21:45:44 +02:00
Perttu Ahola f9da2c9507 Immediate smoke puff when a normal entity is punched to death 2012-03-10 11:28:14 +02:00
Kahrl 6a76c226e1 The huge item definition and item namespace unification patch (itemdef), see http://c55.me/minetest/wiki/doku.php?id=changes:itemdef 2012-01-12 06:10:39 +01:00
Perttu Ahola 6286c555d4 Initialize ABM timer to random value to spread processing 2012-01-02 21:06:38 +02:00
Perttu Ahola 4630281318 Fix ABM trigger chance being often way too high 2012-01-02 20:26:33 +02:00
Perttu Ahola 1c15f53318 Add EnvRef:get_objects_inside_radius(pos, radius) 2011-12-28 18:18:08 +02:00
Perttu Ahola 7d37913ea4 Add ABM required neighbor check 2011-12-03 18:18:59 +02:00
Perttu Ahola 2dc9a0c724 Fix player double damage 2011-12-02 11:16:51 +02:00
Perttu Ahola 5344dec760 Move ServerRemotePlayer to a separate file 2011-12-02 10:44:20 +02:00
Perttu Ahola ee0d3bacbc Player-is-SAO WIP 2011-12-01 18:23:58 +02:00
Perttu Ahola fadf248892 Handle ActiveBlockModifier intervals properly, down to 1s 2011-11-29 19:13:57 +02:00
Perttu Ahola 842eb5da28 Replace old active block random node modifying things with actual ActiveBlockModifiers 2011-11-29 19:13:56 +02:00
Perttu Ahola 5c1cb01936 Make blocks to be loaded from disk when the active block area reaches them 2011-11-29 19:13:55 +02:00
Perttu Ahola 290e921920 Relatively snappy object-ground collision detection 2011-11-29 19:13:50 +02:00
Perttu Ahola c6fd2986d4 GameDef compiles 2011-11-29 19:13:42 +02:00
Perttu Ahola abceeee92f Create framework for getting rid of global definitions of node/tool/item/whatever types 2011-11-29 19:13:41 +02:00
Perttu Ahola 38944467d3 Scripting WIP 2011-11-29 19:13:39 +02:00
Perttu Ahola bfc68d3151 Scripting WIP 2011-11-29 19:13:38 +02:00
Perttu Ahola 78f4142f4f Add /clearobjects 2011-10-18 00:01:50 +03:00
Perttu Ahola 43a28f04fa mobv2 2011-10-15 02:28:57 +03:00
Kahrl c0b35fa429 Removed unused camera_position and camera_direction fields from Client. Moved ClientEnvironment::drawPostFx to ClientMap::renderPostFx -- this will make the camera management classes easier to write, as ClientMap already knows the camera position but ClientEnvironment doesn't and has to be told about it. This also eliminates the need for Client::getEnv(). Made the post effect color a content feature defined in content_mapnode.h. 2011-09-07 19:21:28 +02:00
Perttu Ahola 8f42a8be0c lava! 2011-08-15 02:04:56 +03:00
Perttu Ahola 7b290660ea made screen go slightly blue when underwater 2011-07-01 21:25:31 +03:00
Perttu Ahola 91cfbe2891 reorganized a lot of stuff and modified mapgen and objects slightly while doing it 2011-06-26 15:48:56 +03:00
Perttu Ahola 7538b4c620 New map generator added (and SQLite, messed up the commits at that time...) (import from temporary git repo) 2011-06-25 04:25:14 +03:00
Perttu Ahola 9b565b6bc4 tried to reduce unnecessary map saving disk i/o a bit 2011-06-05 18:57:36 +03:00
Perttu Ahola bbead93c1a Reduced server CPU usage on NodeMetadata step()s. Also furnace now cooks while no players are near it. 2011-05-31 20:02:55 +03:00
Perttu Ahola 63611932eb player passwords and privileges in world/auth.txt
--HG--
extra : rebase_source : 7260636295d9068fbeeddf4143c89f2b8a91446c
2011-05-29 21:11:16 +03:00
Perttu Ahola 0c5f580365 a work-in-progress map modified callback interface (committing because i want to merge the fence stuff) 2011-05-24 20:05:30 +03:00
Perttu Ahola 4a6b9a6ac1 Some work-in-progress stuff and many comment updates 2011-05-22 23:55:02 +03:00
Perttu Ahola 0af5311538 Preliminary "active block" stuff + set up test code to grow grass. 2011-05-22 17:00:09 +03:00
Perttu Ahola af7d50e910 Fixed a small memory leak in ServerEnvironment and cleaned the code a bit 2011-05-21 14:28:58 +03:00
Perttu Ahola 9c72d44fe7 random comment updates 2011-04-30 02:12:32 +03:00
Perttu Ahola c638442e78 Some work-in-progress in hp and mobs and a frightening amount of random fixes. 2011-04-21 19:35:17 +03:00
Perttu Ahola 9d5ccafbb0 changed server to do object management at longer intervals (0.5s) 2011-04-10 23:14:41 +03:00
Perttu Ahola 5a4d8ffad3 implemented rats in new system to verify that it works 2011-04-10 15:16:27 +03:00
Perttu Ahola 4b54b291ae Some progress on transitioning from MapBlockObject to ActiveObject. 2011-04-08 00:47:14 +03:00
Perttu Ahola be32adc872 updated scripting api a bit
--HG--
rename : data/luaobjects/test/client.lua => data/scripts/objects/test/client.lua
rename : data/luaobjects/test/server.lua => data/scripts/objects/test/server.lua
2011-02-23 11:10:09 +02:00
Perttu Ahola 9778347c7f mainly work on object scripting api 2011-02-23 02:49:57 +02:00
Perttu Ahola 69dbc046eb preliminary lua scripting framework for objects 2011-02-21 16:10:36 +02:00
Perttu Ahola c57637b4c3 Temporary commit; lots of test code and stuff 2011-02-21 00:45:14 +02:00
Perttu Ahola 64b5975732 Now texture handling is fast. Also now players are saved on disk. 2011-01-28 01:38:16 +02:00
Perttu Ahola b6787a2b58 fixed erroneus handling of many players with no peer existing at same time 2011-01-18 00:27:14 +02:00
Perttu Ahola 3fb0d2fb65 Players are left on server while server is running. No passwords yet. 2011-01-15 03:28:19 +02:00
Perttu Ahola ab7477c4c3 added dedicated server build without irrlicht 2010-12-19 19:11:05 +02:00
Perttu Ahola 0ca9423b8b day/night working client side 2010-12-19 16:51:45 +02:00
Perttu Ahola 240499dc2c before daynight mesh cache 2010-12-18 17:46:00 +02:00
Perttu Ahola fc26dcdb19 license stuff
--HG--
rename : src/licensecomment.txt => licensecomment.txt
2010-11-29 20:13:04 +02:00
Perttu Ahola 4e249fb3fb Initial files 2010-11-27 01:02:21 +02:00