| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
Due to commit ec3142a , UnitSAO's getArmorGroups() did not match
ServerActiveObject's, notably resulting in the lua get_armor_groups() call
returning nothing.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
What happened:
1) Object data is received. Client begins to read the data
2) Client initializes all its children (gob_cmd_update_infant)
3) Children try to attach to parent (yet not added)
4) Parent initializes, is added to the environment
And somewhere in between, Irrlicht wrecks up the attachments due to the missing matrix node.
The solution here is to:
1) Use the same structure as ServerActiveObject
2) Attach all children after the parent is really initialized
|
|
|
|
|
| |
Remove deprecated HUDs and chat message handling.
Remove unused m_damage variable (compat break).
HP: s32 for setter/calculations, u16 for getter.
|
| |
|
|
|
|
|
| |
Also, use a better distance calculation for 'collide with objects'.
Fixes the issue of a vehicle occasionally colliding with its own driver,
causing one of the velocity components to be set to zero.
|
|
|
| |
* Allow right-clicking on attached LuaEntities
|
| |
|
|
|
|
| |
* ServerEnv: Clean up object lifecycle handling
|
|
|
|
|
| |
* Fix animation frame_speed and blend loosing precision due to incorrect data type
Add lua function set_animation_frame_speed to update the frame speed without resetting the animation to start
|
|
|
|
|
|
|
|
|
|
|
| |
* Code modernization: src/p*, src/q*, src/r*, src/s* (partial)
* empty function
* default constructor/destructor
* for range-based loops
* use emplace_back instead of push_back
* C++ STL header style
* Spelling: vertice -> vertex
|
|
|
|
| |
* Migrate cpp headers to pragma once
|
|
|
|
|
|
| |
Use various ranged-based for loops in ServerEnvironment::step
Also set ServerObject::getBasePosition const to be compliant
ServerEnvironment::deleteParticleSpawner: use a const iterator
|
|
|
|
|
|
| |
* Cpp11 initializers: last src root changeset
Finish to migrate all src root folder files to C++11 constructor initializers
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This fixes #5033
Signed-off-by: Loic Blot <loic.blot@unix-experience.fr>
|
|
|
|
| |
Signed-off-by: Loic Blot <loic.blot@unix-experience.fr>
|
|
|
|
|
|
|
|
|
|
| |
Original credits goes to @Rogier-5
* Merge common attributes between LuaEntitySAO & PlayerSAO to UnitSAO
* Make some functions const
* Improve some lists performance by returning const ref
Signed-off-by: Loic Blot <loic.blot@unix-experience.fr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Create UnitSAO, a common part between PlayerSAO & LuaEntitySAO
* Move breath to PlayerSAO & LocalPlayer
* Migrate m_yaw from (Remote)Player & LuaEntitySAO to UnitSAO
* Migrate m_yaw from Player to LocalPlayer for client
* Move some functions outside of player class to PlayerSAO/RemotePlayer or LocalPlayer depending on which class needs it
* Move pitch to LocalPlayer & PlayerSAO
* Move m_position from Player to LocalPlayer
* Move camera_barely_in_ceiling to LocalPlayer as it's used only there
* use PlayerSAO::m_base_position for Server side positions
* remove a unused variable
* ServerActiveObject::setPos now uses const ref
* use ServerEnv::loadPlayer unconditionnaly as it creates RemotePlayer only if it's not already loaded
* Move hp from Player to LocalPlayer
* Move m_hp from LuaEntitySAO to UnitSAO
* Use m_hp from PlayerSAO/UnitSAO instead of RemotePlayer
|
| |
|
|
|
|
|
|
|
| |
* Server/Client Environments now have an helper to cast Player object in the right type to use it
* Server: use RemotePlayer everywhere and remove previous added casts
* Client: use LocalPlayer where needed
* Environment: remove unused functions (getPlayers(), getRandomConnectedPlayer(), getNearestConnectedPlayer())
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ObjectRef:
get_properties
get_armor_groups
get_animation
get_attach
get_bone_position
Players:
get_physics_override
hud_get_hotbar_itemcount
hud_get_hotbar_image
hud_get_hotbar_selected_image
get_sky
get_day_night_ratio
get_local_animation
get_eye_offset
Global:
minetest.get_gen_notify
minetest.get_noiseparams
|
|
|
|
|
| |
Parent commit broke behaviour.
Thanks @TeTpaAka for testing the fix.
|
| |
|
| |
|
|
|
|
| |
ActiveObjectType. * Merge content_object.h into activeobject.h * Remove DummyLoadSAO, it's now unused. * Remove ItemSAO, it's also unused
|
| |
|
|
|
|
|
|
| |
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`.
|
|
|
|
| |
Lua API.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Store start and end frames as v2f
Also move bone animations to their own function instead of object properties
|
| |
|
| |
|
| |
|
|
|
|
| |
GPLv2/later, by agreement of major contributors
|
|
|
|
| |
players too!
|
| |
|
| |
|
| |
|