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
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
gregorycu
5e075c3344
Fix dying of lava causes repeated death This is a bugfix for issue #81
2015-02-05 17:32:35 +10:00
Anton
10e0cf8b2c
Use std::string::empty() instead of size() where applicable
2014-12-12 15:16:24 -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
Craig Robbins
5b8855e83c
Remove most exceptions from getNode() (and variants)
2014-11-14 18:05:34 +10:00
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
SmallJoker
c40e993ce4
Replace setting unlimited_player_transfer_distance with player_transfer_distance
2014-11-08 14:56:09 +01: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
ShadowNinja
e9c9b66ae9
Make players check inventory modification properly
2014-10-01 18:44:36 -04:00
ShadowNinja
cd0df0d5e7
Simplify player modification checks
2014-10-01 18:44: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
kwolekr
9e4e7072da
Update Mapgen VoxelManipulator on buffer invalidation
2014-09-01 15:12:22 -04:00
SmallJoker
3c5df42a17
Make player files saving again
2014-06-29 00:45:04 +02:00
ShadowNinja
089fc010ab
Store the maximum player file tries in a constant
2014-06-23 15:55:47 -04:00
ShadowNinja
e491f8cd48
Only try to load from possible player files
2014-06-23 15:45:59 -04: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
564e11fc2f
Fix merge mistake when rebasing for PR #1169
2014-03-24 19:56:36 +01:00
Selat
2bc2ce3bd1
Remove goto from Environment::removePlayer
2014-03-12 17:02:52 -04: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
Ciaran Gultnieks
db98ef6b45
Stop wasting time in abm - performance improvement
...
Unless I'm mistaken, the chunk of code I'm moving there is potentially
executed hundreds of times inside the loop to get the exact same result
every time
2014-03-06 19:18:36 +01:00
Ciaran Gultnieks
baee91bf78
Fix for unloaded but active block problem
2014-03-02 20:39:28 +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
Ilya Zhuravlev
a4c5f10ecf
Fix some errors reported by clang static analyzer.
2014-01-13 03:29:12 +04: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
Perttu Ahola
21789ccc5f
Revert patch 58f036ad1
that causes object duplication (which tried to fix objects getting hidden from client) and fix the original problem correctly. This fixes the second distinct object duplication bug.
2013-11-17 14:46:01 -05:00
kwolekr
e396fb2984
Actually fix weather
...
The real problem was that MapBlocks were not activated before getting sent to the client
2013-11-17 01:59:04 -05:00
Perttu Ahola
b3591019ad
Fix object duplication bug (at least in the most reproducible UFO case)
2013-10-17 00:10:16 +03: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
PilzAdam
d718b0b34e
Dont write directly to files but rather write and copy a tmp file
2013-08-13 22:05:45 +02:00
kwolekr
c06caa14c3
Decoration: Fix schematic probability mess with new MTS file version
2013-08-11 15:34:49 -04:00
BlockMen
7b13d119ed
Add support for different drowning damage and allow drowning in other nodetypes
2013-08-06 17:49:39 +02:00
Novatux
fe1fe1b1e4
Change large amount of objects to be configurable via a setting in minetest.conf (max_objects_per_block).
2013-08-04 15:28:01 +03:00
Perttu Ahola
742614180c
Fix anticheat
2013-08-03 23:16:37 +03:00
RealBadAngel
d19c8b815d
Add set_breath and get_breath to lua API.
2013-07-20 20:34:11 +02:00
sapier
88d43af276
Fix many formspec menu bugs
2013-07-07 19:49:52 -04:00
PilzAdam
280946ba83
Dont write player files all the time
2013-06-28 14:15:48 +00:00
PilzAdam
130464c268
Print playername when failing to read playerfile and ignore files starting with .
2013-06-22 21:39:47 +00:00
PilzAdam
53066024f6
Add drowning
2013-06-19 15:47:00 +00:00
Kahrl
261f559339
Show number of objects in client environment in profiler (F6)
2013-06-18 01:49:06 +02:00
PilzAdam
2cdf0ff4ab
Play player_damage.ogg when recieving damage and additionally play player_falling_damage.ogg when recieving falling damage
2013-06-12 20:27:06 +00:00
Kahrl
e988df0fbd
Add and implement setting max_clearobjects_extra_loaded_blocks.
...
Now Environment::clearAllObjects() unloads unused blocks in an interval
defined by max_clearobjects_extra_loaded_blocks (default 4096).
2013-06-03 20:09:32 +02: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
kwolekr
981c6c9bf2
Fix lava damage on player's upper body
2013-05-19 21:29:49 -04:00
kwolekr
d00e8bd31a
Fix nearly all warnings
2013-05-19 21:26:56 -04:00
sapier
58f036ad1d
fix static data not beeing stored correctly on deactivation
2013-05-06 19:05:44 +02:00
sapier
e9a4e98cb9
Improve getFree*ActiveObjectId to reduce common case cpu usage drasticaly
2013-04-24 21:59:09 -04:00
sapier
69367aa799
Add Dijkstra A* and A* without prefetching pathfind algorithms
2013-04-06 11:24:03 -04:00
MirceaKitsune
c5a8448c41
Allow modifying movement speed, jump height and gravity per-player via the Lua API.
2013-04-05 02:00:59 +02:00
sapier
8800896824
Closed add object <-> object collision handling
2013-03-28 00:09:24 +01:00
Ilya Zhuravlev
6a1670dbc3
Migrate to STL containers/algorithms.
2013-03-11 19:08:39 -04: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
MirceaKitsune
df3c925b3c
Improved Player Physics
2013-02-14 06:21:30 +10:00
kwolekr
11afcbff69
The new mapgen, noise functions, et al.
2013-01-21 21:41:33 +02:00
Jürgen Doser
076f13cc01
fixes node timer bug ( fixes #407 ).
...
Previously, when a block was activated, on_timer callbacks where
called with the relative position of the node inside the block,
instead of the absolute position of the node.
2013-01-11 18:59:27 +01: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
804a7875a2
Smooth day-night transitions
2012-12-02 18:02:45 +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
Perttu Ahola
eca1c96412
Move util/serialize.h out from staticobject.h for smaller header dependencies
2012-11-26 11:18:34 +02:00
Perttu Ahola
4fa4340b95
Proper versioning of new network-serialized stuff
2012-11-26 09:49:31 +02:00
MirceaKitsune
52fcb0b4b9
Send animations, bone overrides and attachments in entity initialization. Clients no longer have to be near an object when an animation or attachment is set to see the changes, and newly connected clients (or a client that simply renders the object for the first time) will get all of those settings. Therefore, the lua script no longer needs to run every X seconds either, just once per entity.
...
Finish fixing the material color code. But it won't work until MineTest has dynamic lighting... another day another feature.
Extra checks for the bone positioning / rotation code
Many checks and consistency improvements to the client attachment code
Make a separate function for checking if a client object is attached. A more in-depth change will be needed here to fix reading of invalid pointers
Use a different method of fetching the parent. Fixes the mass segmentation faults when rendering an attachment (some still happen though)
Major change to how attachments are handled. Fix the last segmentaton fault, which was due to the parent becoming invalid while being refreshed / removed which would bause the child to remain attached to nothing. Parents remove their children when being deleted themselves and add them back when re-added. Attachments are stored inside a 2D a vector which easily allows both a child to find their parent and a parent to find its children.
Remove attachment list entry when an object is being permanently removed. Also avoid duplicate entries in this list when re-attaching the same object
The "big code comments" can now go away. Client attachments almost work properly, and I know what else needs to be done
2012-11-25 19:14:23 +02:00
Perttu Ahola
9cadaf824b
Add dtime_s to entity activation
2012-09-09 17:12:29 +03:00
Perttu Ahola
1cc1b93e65
Fix ServerActiveObject stuff
2012-09-09 16:11:05 +03:00
Perttu Ahola
c4f400acd0
Fix wielditem entity drawtype brightness control
2012-09-09 13:26:52 +03:00
Perttu Ahola
c129b3852b
Fix the bouncy node related stuff a bit
2012-09-01 13:21:52 +03:00
Perttu Ahola
3b43c69df4
Add bouncy node group
2012-09-01 12:58:37 +03:00
Perttu Ahola
b17d3e7ad7
Add disable_jump and fall_damage_add_percent node groups
2012-09-01 12:07:27 +03:00
darkrose
d05e3adbc7
fix node timers so on_timer gets the correct position
2012-08-12 15:28:31 +03:00
Perttu Ahola
1d44a98f2f
ABM and liquid overload skip
2012-07-27 13:45:49 +03:00
Perttu Ahola
98ff4eb4ee
Fix server build (a missing header)
2012-07-27 13:43:25 +03:00
Perttu Ahola
0190f9b077
Experimental-ish rollback functionality
2012-07-27 02:27:18 +03:00
darkrose
cd6becd442
Implement node timers
2012-07-23 08:18:37 +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
Kahrl
704782c95b
WIP node metadata, node timers
2012-06-03 22:31:00 +03:00
Perttu Ahola
a35e4bdbda
Add a hack to get rid of the rare "ERROR: StaticObjectList::insert(): id already exists" failure
2012-04-15 14:37:35 +03:00
Perttu Ahola
8ed74a3429
Fix ABM handling on block activation
2012-04-09 23:06:24 +03:00
Perttu Ahola
52122c342d
Add 'fly' and 'fast' privileges and the underlying privileges-to-client system
2012-03-31 16:25:02 +03:00
Perttu Ahola
280e1a2512
Allow group:groupname in ABM definition and implement minetest.hash_node_position()
2012-03-31 12:30:11 +03:00
Perttu Ahola
9d456ca87a
Raise the player fall damage threshold to a much more fun level
2012-03-29 23:32:56 +03:00
Kahrl
f8c3743991
added PlayerSAO and RemotePlayer, removed ServerRemotePlayer
2012-03-29 14:05:45 +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
f1d9880006
Clean up log messages everywhere
2012-03-11 04:15:45 +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
88cdd3a363
Players stay in environment even when dead, damage flash and fall damage fixes
...
Don't set m_removed on dead players (dead players are indicated by hp == 0). Local
damage flash is shown whatever the cause was (even from Lua set_hp). PlayerCAO
damage flash matches duration of local damage flash. Fall damage is dealt much more consistently (this is done by disallowing jumping when speed.Y is very negative, up to now jumping could sometimes negate fall damage)
2012-02-05 12:06:55 +02:00
Kahrl
157a4cf18c
Node placement / mineral / serialization / iron freq / node_dig callback
...
- Node placement code moved to Lua
- Mineral system removed (added default:stone_with_coal and default:stone_with_iron).
- MapBlock and MapNode serialization updated.
- Mapgen: Frequency of iron increased.
- node_dig callback and related changes.
2012-01-22 17:24:50 +02:00
Perttu Ahola
f9d7e399b2
Limit range of ABM timer initial value randomization
2012-01-03 13:49:47 +02:00
Perttu Ahola
6286c555d4
Initialize ABM timer to random value to spread processing
2012-01-02 21:06:38 +02:00