aboutsummaryrefslogtreecommitdiff
path: root/src/content_sao.cpp
Commit message (Collapse)AuthorAge
* Update attachments at the ending of the addToScene function for parents. And ↵MirceaKitsune2012-11-25
| | | | | | | | | | | | | | | | | | | | 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
* Send animations, bone overrides and attachments in entity initialization. ↵MirceaKitsune2012-11-25
| | | | | | | | | | | | | | | | | | | | 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
* Enable client-side attachments, add detachment codeMirceaKitsune2012-11-25
|
* Fix some remaining issues with attachments, now they work. Tested with ↵MirceaKitsune2012-11-25
| | | | object->player and player->player attachments
* Complete the attachment framework.MirceaKitsune2012-11-25
| | | | | | | | | | | | The child ID can now be checked against the parent ID in content_cao.cpp so the parent can be detected. Actual attachment code to come Divide attachment system between server attachments and client attachments, neither coded right now. As explained in the code comment: // Attachments need to be handled on both the server and client. // If we attach only on the server, models (which are client-side) // can't be read so we don't know the origin and orientation of bones. // If we attach only on the client, the real position of attachments is // not updated and you can't click them for example.
* Framework for the attachment system, new object property which allows ↵MirceaKitsune2012-11-25
| | | | | | | | | | | | | | 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
* Get the new animation framework properly workingMirceaKitsune2012-11-25
| | | | | | Store start and end frames as v2f Also move bone animations to their own function instead of object properties
* Joint positioning and rotation code, and fix a problem related to their lua APIMirceaKitsune2012-11-25
| | | | Attempt to move the animation system to a more correct implementation, rather than using object properties. Incomplete and breaks functionality
* Properly read the mesh from LUA.MirceaKitsune2012-11-25
| | | | | | | | | | | | | | | | | Players can now be set to meshes using the following test script: function switch_player_visual() prop = { mesh="player.obj", texture="player.png", visual="mesh", } for _, obj in pairs(minetest.get_connected_players()) do obj:set_properties(prop) end minetest.after(1.0, switch_player_visual) end minetest.after(1.0, switch_player_visual)
* 3D model support for players using Irrlicht. Also ready the basis for mesh ↵MirceaKitsune2012-11-25
| | | | support on nodes / items via LUA (to be done). Supports any mesh format compatible with Irrlicht, but animations are not set up yet.
* Add dtime_s to entity activationPerttu Ahola2012-09-09
|
* Remove special handling of creative modePerttu Ahola2012-07-25
|
* Server-side checking of digging; disable_anticheat settingPerttu Ahola2012-07-21
|
* Custom boxy nodes (stairs, slabs) and collision changesKahrl2012-06-17
|
* Properly and efficiently use split utility headersPerttu Ahola2012-06-17
|
* Add comment about ItemSAO being deprecatedPerttu Ahola2012-06-11
|
* Switch the license to be LGPLv2/later, with small parts still remaining as ↵Perttu Ahola2012-06-05
| | | | GPLv2/later, by agreement of major contributors
* Fix crash after 'LuaEntity name "particles:smoke" not defined' and similar ↵Perttu Ahola2012-04-08
| | | | errors
* Fix disabling of player movement cheat detection in singleplayerPerttu Ahola2012-04-01
|
* Don't apply player movement cheat detection in singleplayerPerttu Ahola2012-04-01
|
* Add server-side enforcement of the 'fast' privilege; also fix client ↵Perttu Ahola2012-03-31
| | | | checking 'fly' instead of 'fast'
* Fix the position of LuaEntityCAOs not getting updated at allPerttu Ahola2012-03-30
|
* ObjectRef:set_armor_groups() and ObjectRef:set_properties() - works on ↵Perttu Ahola2012-03-30
| | | | players too!
* ObjectPropertiesPerttu Ahola2012-03-30
|
* Use GenericCAO in place of LuaEntityCAO and PlayerCAOPerttu Ahola2012-03-29
|
* Add GenericCAO and player armor groups, but don't use them yetPerttu Ahola2012-03-29
|
* added PlayerSAO and RemotePlayer, removed ServerRemotePlayerKahrl2012-03-29
|
* Clean up log messages everywherePerttu Ahola2012-03-11
|
* Immediate smoke puff when a normal entity is punched to deathPerttu Ahola2012-03-10
|
* Fix and tune things, add tool "recharge" animation, add dummyballPerttu Ahola2012-03-10
|
* LuaEntity armor groupsPerttu Ahola2012-03-10
|
* Damage groups WIPPerttu Ahola2012-03-10
|
* Entity damage system WIP; Remove C++ mobsPerttu Ahola2012-03-10
|
* itemgroup.h and ItemGroupList typedefPerttu Ahola2012-03-10
|
* Digging time groups WIPPerttu Ahola2012-03-10
|
* The huge item definition and item namespace unification patch (itemdef), see ↵Kahrl2012-01-12
| | | | http://c55.me/minetest/wiki/doku.php?id=changes:itemdef
* Add ObjectRef:getvelocity(), ObjectRef:setyaw() and ObjectRef:getyaw()Perttu Ahola2012-01-02
|
* ObjectRef:get_entity_name() and fixing of comments in default/init.luaPerttu Ahola2012-01-02
|
* Delete unknown LuaEntities when punchedPerttu Ahola2011-12-04
|
* Remove obsolete createPickedUpItem()Perttu Ahola2011-12-02
|
* Add time_from_last_punch to Lua APIPerttu Ahola2011-12-02
|
* Players are more like objects + related stuffPerttu Ahola2011-12-01
|
* Player-is-SAO WIPPerttu Ahola2011-12-01
|
* CraftItem rework and Lua interfaceKahrl2011-11-29
|
* Improve luaentity sprite functionality (and add some random stuff)Perttu Ahola2011-11-29
|
* Reshape LuaEntityCAO implementation a bit and make TNT to blinkPerttu Ahola2011-11-29
|
* Relatively snappy object-ground collision detectionPerttu Ahola2011-11-29
|
* Improve LuaEntity velocity/acceleration handling (by kahrl); implement ↵Perttu Ahola2011-11-29
| | | | staticdata interface to Lua
* Clean mapnode.h and fix other files accordinglyPerttu Ahola2011-11-29
|
* GameDef compilesPerttu Ahola2011-11-29
|