Guest User


a guest
Nov 25th, 2012
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.71 KB | None | 0 0
  1. pick 0fd4508 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.
  2. s 12331c5 Properly set texture on meshes. Also revert the player back to "upright_sprite" because LUA will be used to set meshes (via obj:set_properties)
  3. pick 8b1347f Properly read the mesh from LUA. Players can now be set to meshes using the following test script:
  4. s f85339b Fix segmentation fault and prevent server from crashing if the mesh is not found
  5. pick dba9c03 Fix material properties and allow lighting. Models should now be affected by light instead of being black
  6. pick 8e94f8c Add a subfolder called models in the folders loaded from /mods, and filter by extention (obj md2 and md3 are currently allowed). The model path must however be changed and not use a direct location, but MineTest's media database
  7. s c9490fd 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!
  8. s 8efeba1 Properly check and apply the texture array. Insividual mesh segments can now be textured independently.
  9. s 112894c 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
  10. s 7321b56 Fix a bug in the texture loop and add error handling for missing textures
  11. s d9bf020 Add mesh to get_properties too in LUA, which should make it easier or possible to read the mesh of an object
  12. s ae8ab36 My attempts with celeron55 to get the mesh working through the server stream, which is a very complicated issue and required for b3d models to work
  13. pick 46e456e Get the mesh working through the memory cache properly. Most credit goes to celeron55 for the help on this code
  14. s d2dc342 Get the texture from memory as well
  15. s ed7f0fc Add .x to the list of supported formats
  16. s 09ac8f8 Update LUA API documentation
  17. s 2578ebf Attempt to implement an animation framework in parallel to ObjectProperties (called AnimationProperties). It's not fully used yet and I'm not sure if this is the correct way!
  18. s 7ff8495 Revert previous commit, I think it was a bad idea. Instead add a function in CAO which runs each step, that will check if animation properties have changed and update them if so. Currently just adds the base function to do that, no correct yet
  19. pick e4b45af Allow the LUA API to set animations to meshes as well as the animation speed. Also update animations only when needed
  20. s 2630d02 Support for animation blending, though for some reason it doesn't work
  21. s e05ced8 Don't enable animation transitions by default for many reaosons
  22. s 43a43bc 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
  23. s 09c126b Same system for bone rotation, plus a few other things I missed
  24. pick 129ccc6 Joint positioning and rotation code, and fix a problem related to their lua API
  25. s 12117dd Attempt to move the animation system to a more correct implementation, rather than using object properties. Incomplete and breaks functionality
  26. pick 5d94829 Get the new animation framework properly working
  27. s 636bddd Store start and end frames as v2f
  28. s f387886 Also move bone animations to their own function instead of object properties
  29. pick 85a9233 New object property which allows changing the color and alpha of mesh materials. Due to the currentl lighting systems it doesn't work yet, but the full implementation is there
  30. s d438c9a Framework for the attachment system, with no actual functionality yet
  31. s 35350fc 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
  32. s 826bbd1 I will also want position and rotation offsets to be possible to apply to attachments
  33. s af97a24 Network object ID from server to client. This will be used to identify the parent client-side and know what to attach to
  34. pick 640af51 Complete the attachment framework. 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
  35. s 2434502 Partial implementation of attaching, currently broken and non-functional. Attachments will need to be split better between the server and client
  36. s de89a3e Divide attachment system between server attachments and client attachments, neither coded right now. As explained in the code comment:
  37. s 78330ee Attempt to create attachment code for server objects, not working however
  38. s 89d113c Make the attachment code more consistent. It seems to partly work now with LUA objects attached to players
  39. s 9b0cf0d Add many code comments to help other developers find the remaining propblems and understand the architecture of the attachment system. For all key points, grep the code for: // REMAINING ATTACHMENT ISSUES:
  40. s 993dc78 More general work on attachments, and remove warning comments where I'm sure I did things right
  41. s 3dadc8b Don't allow attachments to be punched... better for many reasons
  42. s 2c82e9c Allow detaching attachments by giving a NULL parent from lua. Untested but it should work
  43. s b12d6b7 Make sure parent gets set to NULL in the content_cao if the ID is 0
  44. s 9d2413c Don't send object position from the server to clients if the object is attached, as client-side attachments will override that. Also update comments and make them much more clear
  45. s 3091174 Make sure m_parent and m_attachment_parent are initialized as NULL and fix other issues
  46. s 3b4452e Correct a code comment pointing out a big issue
  47. pick 803e823 Fix remaining issues with the server-side attachments, now they work. Tested with object->player and player->player attachments
  48. s 10baf1b Fix some code that got mixed up and update a comment
  49. s 6811ed2 Remove test changes I committed by mistake and improve on object attachment handling
  50. s 04ffcbe Put another useful link in the comment for client attachments, to help developers who wish to aid in figuring out its implementation
  51. s da9be59 Code comments to clarify something with server-side attachments
  52. s c2eda40 Add an important piece to the client attachment code. It doesn't work because apparently we don't get the proper ClientActiveObject during our search. Thanks go to thexyz for pointing out this implementation.
  53. s 457a344 Remove forgotten test code and re-comment a misinterpreted error (the reason why getting the parent's mesh fails is unknown)
  54. s 0bcf029 Something I didn't commit because my text editor didn't save the file properly
  55. s f659ba7 Got it! Reason for the segmentation fault was that we were also attaching to the lical player on his client, but local player has his own mesh hidden. Therefore, we were getting a null mesh for a correct ClientActiveObject. This needs to be further fixed so attachments are completely hidden or removed client-side when attached to local player.
  56. s 96a1e2d If the attached object is attached to local player, hide it locally apart from no longer attempting to attach it. Other clients were tested and read the mesh fine
  57. s 2e25114 Add code to set the parent of our object. Client-side attachments still don't show yet so we have to figure out why
  58. s 142f4f6 Move falling to builtin
  59. s 1aef204 Remove a useless comment
  60. s ac9bd1f Add falling_node to special groups in lua-api.txt
  61. s 55db13b Add functions to the default mod of minimal game to support old code
  62. s 495dce3 Replace pow() with multiplikation to improve speed
  63. s a77fe91 Fix flowing liquid animation direction calculation
  64. s 4eda8e8 Don't leak textures all over the place
  65. s c85b36d Make air and ignore drop nothing
  66. s b0ee85b Add liquid_renewable property.
  67. s fac8912 Attempt to complete the client attachment code, which should work now (according to the Irrlicht people). However, it doesn't yet.
  68. s 019d210 Move closer to getting attachments working and fix some issues. A debug print confirms attachment position is set correctly, but the object still displays at origin 0,0,0 for an unknown reason
  69. s ec72fca Get attachment position to be copied properly at least at attachment time, and update attachments when visuals are also updated (what was causing the 0,0,0 origin)
  70. pick eef630e Enable client-side attachments. Yep... for the first time, they now work :)
  71. s 878f743 Attempt to attach at the proper origin, and account the position and rotation offsets specified by lua. Although the object is attached the origin is somehow bad, and we still don't get to see it working
  72. s cf04765 Properly apply position and rotation offset, and update code comments to reflect the last known issues
  73. s e85df38 Don't call some functions two times for no reason
  74. s efc198f Add detachment code. Is also triggered for all client objects which are not attached when they are spawned, but does not change their functionality
  75. s 3d107cb A better and more correct system for sending animation and attachment data from the server to clients
  76. pick ec8a8fe 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.
  77. s a7f3b61 Finish fixing the material color code. But it won't work until MineTest has dynamic lighting... another day another feature.
  78. s 7935476 Extra checks for the bone positioning / rotation code
  79. s 3fc2e93 Many checks and consistency improvements to the client attachment code
  80. s 47c4c73 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
  81. s cb85326 Use a different method of fetching the parent. Fixes the mass segmentation faults when rendering an attachment (some still happen though)
  82. s 3aec7be 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.
  83. s 8df05e6 Remove attachment list entry when an object is being permanently removed. Also avoid duplicate entries in this list when re-attaching the same object
  84. s 5dcda44 The "big code comments" can now go away. Client attachments almost work properly, and I know what else needs to be done
  85. pick 1c65e43 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.
  86. s 7aae524 Organize today's code a bit better
  87. s 41d3d12 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)
  88. s 5ac76c8 Fix a bug in falling code where entities get stuck
  89. s 33cab50 Formspec: Draw images before inventories. Allows to use image as background.
  90. s 6738c3a 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.
  91. s 3c966ec Improve on the last commit
  92. s 2b96436 Unset all attachment properties when permanently detaching (on both the client and server). Also store less data we don't need
  93. s 1385678 Revert something stupid I did in the last commit
  94. s 7ac13fd Create a separate function for detaching, and also update lua api documentation
  95. s 0454b3b 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
  96. s 6df3c05 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)
  97. s 4c120ab 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
  98. s 4609f98 Add some code I foolishly forgot to the last commit. Attached players are almost working well... with the exception that they go to origin 0,0,0 when detached, for an unknown reason so far
  99. pick dfd7498 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
  100. s 86ce67e Fix attached players being able to bob their view and generate foostep sounds by pressing a movement key (running in place)
  101. s 559800b Fix unnecessary network protocol incompatibility in ContentFeatures
  102. s b1fa387 Added video settings filter options via config file - second try :-)
  103. s 200983b added GUI checkboxes in Settings tab for the aforementioned video settings.
  104. s c76f266 Swap out pixel-perfect nyan cat by request of Chris Torres
  105. pick eee2f93 Allow Vanessa's texture filtering / mipmap patch to work on models, as well as all other node types
  106. s 8ed703b Initialize m_bone_posrot too
  107. s 3a59257 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
  108. s d3bbb6e Remove an unneeded check
  109. s f1952ea An addition to my previous fix
  110. s 62d73a2 Don't make attachments possible to right-click either
  111. s fcabe9c Properly apply object and text visibility for local attachments, and fix them showing when they shouldn't
  112. pick 39815c5 No longer hide players who are dead. With models, a death animation should be used instead
  113. s e52f190 Some changes requested by celeron55
  114. s a40e9e2 Rename a lot of things in the code, and use better lua api function names
  115. s 015690b Minor code corrections
  116. s 2d5584d Add jordan4ibanez' better digging animation
  117. s 2a3a84e Adding background to Formspec
  118. s 0762653 Bump protocol version up, since the models / animations / attachments code creates new client<->server messages
  119. s ada2282 Fix server crash on /clearpassword
  120. pick f0d374d 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
  121. s a1f9c9c Correct lua api version number
  122. s ad7ae89 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.
  123. s 0fea4c1 Fix a segmentation fault caused by reaching materials that didn't exist in a loop for setting texture
  124. s 79ad66d A correction to my last change
  125. s 48fd66b Allow transparent image_buttons
  126. s 8d4877e Fix trees growing into any type of node
  127. pick d06ea10 Revert "Don't leak textures all over the place"
  129. # Rebase 25cf375..d06ea10 onto 25cf375
  130. #
  131. # Commands:
  132. # p, pick = use commit
  133. # r, reword = use commit, but edit the commit message
  134. # e, edit = use commit, but stop for amending
  135. # s, squash = use commit, but meld into previous commit
  136. # f, fixup = like "squash", but discard this commit's log message
  137. # x, exec = run command (the rest of the line) using shell
  138. #
  139. # These lines can be re-ordered; they are executed from top to bottom.
  140. #
  141. # If you remove a line here THAT COMMIT WILL BE LOST.
  142. # However, if you remove everything, the rebase will be aborted.
  143. #
  144. # Note that empty commits are commented out
Add Comment
Please, Sign In to add comment