299 Commits

Author SHA1 Message Date
MirceaKitsune
348ceb211f 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
MirceaKitsune
987a4e06dc Update attachments at the ending of the addToScene function for parents. And with this... *drum roll* Client-side attachments are at last functional and stick visibly.
Fix the last segmentation fault (apparently). So far attachments seem to be fully functional, although removing the parent causes children to go to origin 0,0,0 and possibly still cause such a fault (though this should already be addressed)

Fix a bug in falling code where entities get stuck

Also check if the parent has been removed server-side, and detach the child if so. Fixes children going to origin 0,0,0 when their parent is removed.

Unset all attachment properties when permanently detaching (on both the client and server). Also store less data we don't need

Create a separate function for detaching, and also update lua api documentation

When a child is detached, update its position from the server to clients. This WILL cause it to get positioned slightly differently client side, as the server attachment system only copies parent origin and knows not about mesh / bone transformation. This prevents different clients seeing the object detached in different spots which is most correct

Update the position of attached players to clients. An attached player will see himself move, but this is currently VERY ugly and laggy as it is done by the server (it probably must stay this way too)

Use a different approach for locally attached players. This allows for smooth positio transitions to work, as well at the player turning around freely. Still buggy however
2012-11-25 19:14:24 +02:00
MirceaKitsune
3eaa0a2ace Framework for the attachment system, new object property which allows changing the color and alpha of mesh materials
New object property which allows changing the color and alpha of mesh materials. Due to the current lighting systems it doesn't work yet, but the full implementation is there

Framework for the attachment system, with no actual functionality yet

Send bone and player object to the setAttachment function in content_sao.cpp, but we need a way to translate it there and send it to the client

I will also want position and rotation offsets to be possible to apply to attachments

Network object ID from server to client. This will be used to identify the parent client-side and know what to attach to
2012-11-25 18:14:15 +02:00
MirceaKitsune
8548860fec Get the new animation framework properly working
Store start and end frames as v2f

Also move bone animations to their own function instead of object properties
2012-11-25 18:14:15 +02:00
MirceaKitsune
664c7ff455 Joint positioning and rotation code, and fix a problem related to their lua API
Attempt to move the animation system to a more correct implementation, rather than using object properties. Incomplete and breaks functionality
2012-11-25 18:14:15 +02:00
MirceaKitsune
4e83886061 Allow the LUA API to set animations to meshes as well as the animation speed. Also update animations only when needed.
Support for animation blending, though for some reason it doesn't work.

Don't enable animation transitions by default for many reaosons

Object property to store individual bone positions. LUA can specify a bone name followed by a bone position. No functionality yet. Bone rotation to be added in the following commit

Same system for bone rotation, plus a few other things I missed
2012-11-25 18:14:15 +02:00
MirceaKitsune
2c87133e8c Get the mesh working through the memory cache properly. Most credit goes to celeron55 for the help on this code
Get the texture from memory as well

Add .x to the list of supported formats

Update LUA API documentation
2012-11-25 18:14:15 +02:00
RealBadAngel
4bafba37ac Adding background to Formspec 2012-11-08 19:22:37 +01:00
PilzAdam
b7200968fb Merge pull request #243 from xyzz/liquid_renewable
Add liquid_renewable property, allow non-renewable liquids.
2012-11-03 12:34:44 -07:00
PilzAdam
08fbb52591 Add falling_node to special groups in lua-api.txt 2012-11-01 12:33:24 +01:00
Perttu Ahola
f4b8c46756 Add nodedef.on_blast() to lua_api.txt in order to support chained explosions of any explosives 2012-09-09 23:24:48 +03:00
Perttu Ahola
06850bceac Add dtime_s to entity activation 2012-09-09 17:12:29 +03:00
Perttu Ahola
61ea35ecb9 Fix ObjectRef:punch() 2012-09-09 12:05:38 +03:00
Ilya Zhuravlev
0933c02893 Add liquid_renewable property. 2012-09-07 20:48:12 +04:00
Perttu Ahola
debbe86ac9 Add overridable function for handling dropped items from nodes 2012-09-02 19:38:44 +03:00
Perttu Ahola
07526467af Add bouncy node group 2012-09-01 12:58:37 +03:00
Perttu Ahola
c0ad363af7 Add disable_jump and fall_damage_add_percent node groups 2012-09-01 12:07:27 +03:00
Ilya Zhuravlev
d7cc000a0c Add InventoryList width property & allow custom crafting grids. 2012-09-01 10:01:41 +03:00
Matthew I
72434bfb6a Add ban management routines to Lua API
Those functions are:
 * minetest.get_ban_list()
 * minetest.get_ban_description(ip_or_name)
 * minetest.ban_player(name)
 * minetest.unban_player_or_ip(ip_or_name)
2012-08-12 16:45:58 +03:00
Matthew I
cf6e79e220 Extend Lua API in order to implement chat commands
minetest.get_server_status()
minetest.request_shutdown()
EnvRef:clear_objects()
2012-08-12 16:44:55 +03:00
Perttu Ahola
3303470fbc Experimental-ish rollback functionality 2012-07-27 02:27:18 +03:00
Perttu Ahola
1608d1439a Working group-shapeless and multigroup recipes 2012-07-26 13:49:13 +03:00
Perttu Ahola
4548b1cef5 Add special return value -1 to inventry callbacks 2012-07-25 16:52:00 +03:00
Perttu Ahola
a1d678f021 Improve inventory callbacks a bit 2012-07-25 15:39:39 +03:00
Perttu Ahola
1b2ae34ed4 Detached inventory callbacks and reworked node metadata callbacks 2012-07-25 02:36:54 +03:00
Perttu Ahola
c2cb98c1a6 Detached inventories 2012-07-24 20:57:17 +03:00
Perttu Ahola
f7b06f5427 Add oldnode parameter to minetest.register_on_placenode callback 2012-07-23 20:44:56 +03:00
Perttu Ahola
c43c24b166 Describe node definition fields better in lua_api.txt 2012-07-23 20:17:44 +03:00
Perttu Ahola
2f0d7106d4 Update lua_api.txt a bit 2012-07-23 08:48:55 +03:00
darkrose
e5bebe42e9 Implement node timers 2012-07-23 08:18:37 +03:00
Perttu Ahola
f1e67f44ca Formspec button_exit[] and image_button_exit[] 2012-07-22 17:40:48 +03:00
darkrose
ef29865c79 Doc updates for formspec 2012-07-22 17:40:48 +03:00
Perttu Ahola
243d9fb7d6 minetest.register_on_player_receive_fields() 2012-07-22 17:40:48 +03:00
Matthew I
5f44ca0c1b Update Lua API documentation to include minetest.get_modnames() 2012-07-22 13:36:17 +03:00
Perttu Ahola
6a9bc69da6 BITCH, THIS IS 0.4.0. 2012-07-21 03:37:07 +03:00
darkrose
b556ef87cb Add minetest.get_craft_recipe() 2012-07-21 02:33:22 +03:00
Perttu Ahola
7564aae27e Allow defining player's inventory form in Lua 2012-07-19 14:09:16 +03:00
Perttu Ahola
3d4030d247 Add pointed_thing to lua_api.txt 2012-06-17 19:47:55 +03:00
Perttu Ahola
c4b766a434 Explain node boxes in lua_api.txt 2012-06-17 17:23:58 +03:00
Perttu Ahola
339eaa680f Mention node drawtypes in lua_api.txt 2012-06-16 23:42:04 +03:00
Perttu Ahola
92b131d6d1 Node texture animation 2012-06-16 16:47:28 +03:00
Perttu Ahola
63f8d48b45 Add some missing object properties to doc/lua_api.txt 2012-06-10 15:04:24 +03:00
Perttu Ahola
3946557a18 Node placement client-side prediction 2012-06-10 12:46:48 +03:00
Perttu Ahola
a1304d4c88 Add minetest.serialize() and minetest.deserialize() 2012-06-07 00:05:00 +03:00
Perttu Ahola
29bef2a8ab Allow groups in crafting recipes 2012-06-06 23:39:17 +03:00
Perttu Ahola
7cc6a8a0dc Fix small errors in lua_api.txt 2012-06-06 00:15:33 +03:00
Perttu Ahola
2068ff4505 Add after_destruct and cache the existence of on_construct, on_destruct and after_destruct for quick skipping when a node does not have them 2012-06-05 23:51:37 +03:00
Perttu Ahola
d27ed7becb place_node, dig_node and punch_node; an in-game tester tool; remove old code 2012-06-05 23:10:07 +03:00
darkrose
6272bf0521 Add InvRef:is_empty(listname) and make chests/furnaces not diggable if not empty in minimal game 2012-06-03 22:31:02 +03:00
darkrose
c68300df20 Add can_dig callback 2012-06-03 22:31:02 +03:00