1
0
mirror of https://github.com/moparisthebest/minetest synced 2024-12-23 16:08:51 -05:00
Commit Graph

275 Commits

Author SHA1 Message Date
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
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
e4daa4c065 Make players be again visible from a long distance 2011-12-02 01:08:14 +02:00
Perttu Ahola
af32240545 Players are more like objects + related stuff 2011-12-01 23:33:48 +02:00
Perttu Ahola
ee0d3bacbc Player-is-SAO WIP 2011-12-01 18:23:58 +02:00
Perttu Ahola
e6e3eef0ef Add ServerActiveObject::removingFromEnvironment() 2011-12-01 13:22:33 +02:00
Perttu Ahola
49e4f55b09 Fix player getting reset to 0,0 at connect if being far from 0,0 2011-11-30 00:39:36 +02:00
Perttu Ahola
1c19f959db Fix active_object_count and active_object_count_wider not getting updated between ABM calls causing huge amounts of DMs and rats and stuff 2011-11-29 19:13:58 +02:00
Perttu Ahola
fe64f2b673 Silly MSVC doesn't know how to handle type conversions for parameters of pow(). Help it. 2011-11-29 19:13:57 +02:00
Perttu Ahola
7bb4b7911b Comment out debug output in ServerEnvironment::activateBlock 2011-11-29 19:13:57 +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
41c473cf5e Fix player getting thrown underground after connecting 2011-11-29 19:13:54 +02:00
Perttu Ahola
65b2a2cb02 Make lighting update occur immediately after ClientActiveObject addition to make objects show up much more responsively 2011-11-29 19:13:53 +02:00
Perttu Ahola
1ce749c86a Optimize active block modifier stuff (was left horribly unoptimized after making content ids dynamic) 2011-11-29 19:13:53 +02:00
Kahrl
c1479a2732 Add node definitions in Lua and do not use content_mapnode_init anymore (except in test.cpp) 2011-11-29 19:13:52 +02:00
Perttu Ahola
1b765b9740 Add reason parameter to setModified and print it out to verbosestream when saving block 2011-11-29 19:13:49 +02:00
Perttu Ahola
df8346ef4d Do not expose CONTENT_* stuff in content_mapnode.h and use a name converter wrapper in old code 2011-11-29 19:13:47 +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
3b77a63d5d Allocate MapBlock::m_node_metadata on heap to allow less header bloat 2011-11-29 19:13:41 +02:00
Perttu Ahola
64996422c0 Move ContentFeatures to mapnode_contentfeatures.{h,cpp} and clean stuff 2011-11-29 19:13:40 +02:00
Perttu Ahola
73bb3bc595 Scripting WIP: Add global environment step function on_step 2011-11-29 19:13:40 +02:00
Perttu Ahola
75a0ca6bd6 Scripting WIP 2011-11-29 19:13:40 +02:00
Perttu Ahola
38944467d3 Scripting WIP 2011-11-29 19:13:39 +02:00
Perttu Ahola
f145d498a6 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
22b07bdb30 Fix object duplication bug 2011-10-18 02:58:15 +03:00
Perttu Ahola
78f4142f4f Add /clearobjects 2011-10-18 00:01:50 +03:00
Perttu Ahola
ea1fda5ebc Made a scheme to get rid of the objects in the worst object flooded blocks 2011-10-17 20:57:58 +03:00
Perttu Ahola
6661d9be1a Attempt to fix objects getting multiplicated by objects getting deactivated in a different block than where they were loaded and then the original block, from where the static object was removed, not getting saved at unload 2011-10-17 20:19:37 +03:00
Perttu Ahola
9a62a909bc Add a log message to SEnv and make it load objects if there are < 51 of them, to load blocks that were limited to 50 2011-10-17 19:44:28 +03:00
Perttu Ahola
e9888c8e25 Workaround for blocks having a huge amount of active objects; add log messages related to active objects for investigation 2011-10-17 11:52:38 +03:00
celeron55
d39f98aeb0 Improve active object handling log output 2011-10-17 10:47:06 +03:00
Perttu Ahola
2419d0029a Some more profiler stuff to get the hang on what really uses CPU 2011-10-16 22:39:35 +03:00
Perttu Ahola
b8f2dcea4d Improve debug profiler usage for investigating CPU usage of server 2011-10-16 21:16:44 +03:00
Perttu Ahola
6470743e51 Make dungeon masters not shoot the walls with no reason 2011-10-16 19:39:20 +03:00
Perttu Ahola
369177aa80 Better player damage prevention when falling on unloaded blocks, not involving getting stuck in there. 2011-10-16 18:45:17 +03:00
Perttu Ahola
b65a5aceb0 Use the logger; also, default to not showing much crap in console. Use --info-on-stderr to enable crap. 2011-10-16 14:57:53 +03:00
Perttu Ahola
414c614893 Add peaceful / not peaceful distinction in mobs and the only_peaceful_mobs setting 2011-10-16 11:52:33 +03:00
Perttu Ahola
3f58028d31 Make dungeon masters though and make oerkkis disappear when they get to you (because hitting them doesn't work for some unknown reason) 2011-10-15 16:04:25 +03:00
Perttu Ahola
5341bf59c2 Improve mobv2 2011-10-15 12:17:21 +03:00
Perttu Ahola
43a28f04fa mobv2 2011-10-15 02:28:57 +03:00
Perttu Ahola
9e46cbf7ea Header file tweaking; mainly for speed 2011-10-12 13:53:38 +03:00
Perttu Ahola
a7833cca22 Merge remote-tracking branch 'marktraceur/master' 2011-09-26 22:41:06 +03:00
Perttu Ahola
061d4b4202 Merge branch 'view_bobbing_and_vielded_tool' 2011-09-26 15:10:02 +03:00
Joshua Beck
ae561d705f Fixed null pointer dereference errors found by cppcheck 2011-09-24 02:11:43 -05:00
Mark Holmquist
319f43e6d2 Fixed saplings growing into trees (thanks so much, Kahrl!)
Put the random interval back to 1 in 50 chance. It's not as rare as rats, but rarer than grass.
2011-09-23 18:14:35 -07:00
Mark Holmquist
85f119e1e6 Adding (most) of the sapling functionality. It has yet to work, since MEET_OTHER was not implemented at the time of this commit. Hopefully it will work when merged with celeron's latest. 2011-09-23 18:13:53 -07:00
Kahrl
3e012122d1 Simplistic wielded tool lighting, added setMeshVerticesColor to utility.h and refactored some other code into calls of that 2011-09-21 18:37:29 +02: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
JacobF
bd72091150 Pause in unloaded territory instead of collide 2011-09-06 20:07:43 +03:00
Perttu Ahola
472585a7e8 tuned lava/universal damage code 2011-08-15 11:49:39 +03:00
Perttu Ahola
8f42a8be0c lava! 2011-08-15 02:04:56 +03:00
Giuseppe Bilotta
dfdc817db3 Typo fix 2011-08-11 19:45:44 +02:00
Giuseppe Bilotta
98fa00db12 Introduce Player::getLightPosition
This is currently only used in the lighting update for remote
players in client.
2011-08-11 15:22:35 +02:00
Mark Holmquist
267744a568 Fixing ladders again 2011-08-01 09:22:44 +02:00
Perttu Ahola
4556c212db Made rats cookable and made them spawn near trees 2011-07-30 17:51:21 +03:00
Perttu Ahola
26582e0e66 Fixed #21 Earth under torches oscillates between mud and grass 2011-07-23 20:22:22 +03:00
Perttu Ahola
2587bb361c merged the content type extension and delta 2011-07-23 19:04:37 +03:00
Perttu Ahola
90d793f8f3 extended content-type range 2011-07-23 16:55:26 +03:00
Nils Dagsson Moskopp
8129d16dd3 + fireflies 2011-07-20 22:05:57 +02:00
Nils Dagsson Moskopp
5086bd5664 * fix automerge regression 2011-07-15 20:16:02 +02:00
Nils Dagsson Moskopp
3560f0de08 Merge branch 'upstream/master'
Conflicts:
	data/oerkki1.png
	src/client.cpp
2011-07-14 22:43:28 +02:00
Perttu Ahola
7b290660ea made screen go slightly blue when underwater 2011-07-01 21:25:31 +03:00
Perttu Ahola
71f5d4b344 Fixed objects being sometimes not able to be stored statically in a block when block has been unloaded 2011-07-01 21:04:40 +03:00
Perttu Ahola
dd22ea051a map unloading is now a whole lot better 2011-06-27 00:27:17 +03:00
Perttu Ahola
3fccc67eb7 fixed block unloading from memory (a better fix coming next) 2011-06-26 21:53:11 +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
Sebastian Rühl
9d09103e48 Merge branch 'master' of https://github.com/erlehmann/minetest-delta.git into upstream_merge
Conflicts:
	.gitignore
	CMakeLists.txt
	data/heart.png
	src/CMakeLists.txt
	src/game.cpp
	src/guiMainMenu.cpp
	src/inventory.cpp
	src/map.cpp
	src/mapblock.cpp
	src/mapnode.cpp
	src/mapnode.h
	src/materials.cpp
	src/server.cpp

Signed-off-by: Sebastian Rühl <bahamada_basti@yahoo.de>
2011-06-26 12:24:32 +02:00
Perttu Ahola
bb940a946d even more code refactoring 2011-06-26 02:34:36 +03:00
Perttu Ahola
aed9e809a1 mapgen stuff 2011-06-25 16:32:09 +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
dc5319b6c9 Moved some mapnode content stuff from mapnode.{h,cpp} and digging property stuff from material.cpp to content_mapnode.{h,cpp} 2011-06-17 22:20:15 +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
b3d242ae38 tuned grass growth rate
--HG--
extra : rebase_source : 8ad4d13fc7ab1088ebd18cf968d912949aab8eae
2011-05-29 21:16:15 +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
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
1995b59320 Code refactoring; split half of main.cpp to game.cpp. 2011-04-23 18:31:31 +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
bb39795ab2 fixed the object update interval thingy 2011-04-10 23:29:36 +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
26eb607a11 Made environment to not consider disconnected players when dealing with ActiveObjects 2011-04-10 23:05:21 +03:00
Perttu Ahola
10eedbc1d2 Map generation is now properly threaded and doesn't block block placement and other stuff. 2011-04-10 20:18:34 +03:00
Perttu Ahola
6fa85c8502 a commit before starting to reorganize the map loading/generation logic 2011-04-10 19:12:56 +03:00
Perttu Ahola
7aa2d4d109 new-style rats are now generated in the map 2011-04-10 16:20:31 +03:00
Perttu Ahola
1a32e5585f fixed a bit 2011-04-10 15:23:36 +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
fd7a0735c9 new object system 2011-04-10 04:15:10 +03:00
Perttu Ahola
4b54b291ae Some progress on transitioning from MapBlockObject to ActiveObject. 2011-04-08 00:47:14 +03:00
Perttu Ahola
e0f7bd4d57 Modified block mesh generation to have clearer input and output. Instead of being a messy object oriented cludge, it now is a messy cludge with separate parameters. 2011-04-03 19:50:54 +03:00
Perttu Ahola
e4f7f97e6c Removed lua stuff 2011-04-03 12:28:55 +03:00
Perttu Ahola
ec3cb2d1d7 fixed a possible infinite loop in ClientEnvironment (dtime counter getting so small that it doesn't increment the value) 2011-02-24 18:25:19 +02:00