Skip to content
Snippets Groups Projects
  1. Nov 27, 2012
  2. Nov 26, 2012
  3. Nov 25, 2012
    • Perttu Ahola's avatar
    • Perttu Ahola's avatar
    • MirceaKitsune's avatar
      RealBadAngel's patch which allows the lua api to read pressed player keys.... · 3d1c481f
      MirceaKitsune authored
      RealBadAngel's patch which allows the lua api to read pressed player keys. This should make it possible to change the player's animation based on what he is doing
      
      Correct lua api version number
      
      Always update animations and attachments after the entity is added to scene client side. Fixes animations not being applied in client initialization for some reason. Attachments should be re-tested now just to be safe.
      
      Fix a segmentation fault caused by reaching materials that didn't exist in a loop for setting texture
      3d1c481f
    • MirceaKitsune's avatar
      A bunch of fixes · 756db817
      MirceaKitsune authored
      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
      756db817
    • MirceaKitsune's avatar
      Allow Vanessa's texture filtering / mipmap patch to work on models, as well as all other node types · fa67b46c
      MirceaKitsune authored
      Initialize m_bone_posrot too
      
      Update pos_translator for attached players, which should fix a bug noticed with carts where a detached player would travel from the detachment spot to where it was detached
      
      Don't make attachments possible to right-click either
      
      Properly apply object and text visibility for local attachments, and fix them showing when they shouldn't
      fa67b46c
    • MirceaKitsune's avatar
      Fix more things I forgot for attached players. Such players will now properly... · 4d656963
      MirceaKitsune authored
      Fix more things I forgot for attached players. Such players will now properly see themselves moving when attached, and the server will read their position accordingly
      
      Fix attached players being able to bob their view and generate foostep sounds by pressing a movement key (running in place)
      4d656963
    • MirceaKitsune's avatar
      Update attachments at the ending of the addToScene function for parents. And... · 9259d028
      MirceaKitsune authored
      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
      9259d028
    • MirceaKitsune's avatar
      Send animations, bone overrides and attachments in entity initialization.... · 52fcb0b4
      MirceaKitsune authored
      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
      52fcb0b4
    • MirceaKitsune's avatar
      d7d759b4
    • MirceaKitsune's avatar
      Fix some remaining issues with attachments, now they work. Tested with... · ba3fd63e
      MirceaKitsune authored
      Fix some remaining issues with attachments, now they work. Tested with object->player and player->player attachments
      ba3fd63e
    • MirceaKitsune's avatar
      Complete the attachment framework. · 948b5a8b
      MirceaKitsune authored
      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.
      948b5a8b
    • MirceaKitsune's avatar
      Framework for the attachment system, new object property which allows changing... · e42eeec8
      MirceaKitsune authored
      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
      e42eeec8
    • MirceaKitsune's avatar
      Get the new animation framework properly working · 118285e6
      MirceaKitsune authored
      Store start and end frames as v2f
      
      Also move bone animations to their own function instead of object properties
      118285e6
    • MirceaKitsune's avatar
      Joint positioning and rotation code, and fix a problem related to their lua API · ba4d9302
      MirceaKitsune authored
      Attempt to move the animation system to a more correct implementation, rather than using object properties. Incomplete and breaks functionality
      ba4d9302
    • MirceaKitsune's avatar
      Allow the LUA API to set animations to meshes as well as the animation speed.... · fb0c4318
      MirceaKitsune authored
      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
      fb0c4318
    • MirceaKitsune's avatar
      Get the mesh working through the memory cache properly. Most credit goes to... · 9c8ba427
      MirceaKitsune authored
      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
      9c8ba427
    • MirceaKitsune's avatar
      Add a subfolder for models and transfer models from server to client · f9675bd2
      MirceaKitsune authored
      (obj, md2 and md3 are currently allowed)
      
      Get rid of the texture string and use the existing textures array. Segmented meshes have multiple materials, and this will allow us to texture each. Do not switch to this commit yet!
      
      If a texture string is left empty in LUA, don't modify that material. Useful so a script can change specific textures without affecting others
      f9675bd2
    • MirceaKitsune's avatar
      Fix material properties and allow lighting. Models should now be affected by... · cb40b351
      MirceaKitsune authored
      Fix material properties and allow lighting. Models should now be affected by light instead of being black
      cb40b351
    • MirceaKitsune's avatar
      Properly read the mesh from LUA. · 0a020dbc
      MirceaKitsune authored
      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)
      0a020dbc
    • MirceaKitsune's avatar
      3D model support for players using Irrlicht. Also ready the basis for mesh... · ac97a7f7
      MirceaKitsune authored
      3D model support for players using Irrlicht. Also ready the basis for mesh support on nodes / items via LUA (to be done). Supports any mesh format compatible with Irrlicht, but animations are not set up yet.
      ac97a7f7
    • Perttu Ahola's avatar
      Revert "Don't leak textures all over the place" · e02b9574
      Perttu Ahola authored
      This causes textures to be deleted before they are no longer accessed,
      resulting in a segmentation fault. This needs to be rewritten in such a way
      that textures are deleted when the client disconnects from a server.
      
      This reverts commit 41c00e87.
      e02b9574
  4. Nov 22, 2012
  5. Nov 20, 2012
    • Anthony's avatar
      Fix server crash on /clearpassword · 3ba9b263
      Anthony authored
      According to #253, using `/clearpassword` without an argument causes the server to crash from an assertion failure. I've resubmitted matttpt's patch as a pull request to aid in merging.
      3ba9b263
  6. Nov 12, 2012
  7. Nov 10, 2012
  8. Nov 09, 2012
Loading