On Week 20
<i>This post was originally made by <b>skyjake</b> on the dengDevs blog. It was posted under the category: Blog.</i>
<strong>skyjake:</strong>
<ul>
<li>I was mostly focusing on the animation of remote players. I sorted out the handling of clients' forward and side move values (which used to be part of the ticcmd struct) by including those in the PKT_COORD packet. The packet includes everything the server needs to know about the players' movement state, including position, momentum, angles, and now also the forward and side move values. Ultimately, the position and momentum values should be used for spline-based movement paths, so that the movement of remote players will look smooth for the client. At the moment momentum is applied linearly, which will cause skipping when the momentum is changing (acceleration, deceleration and curving paths).</li>
<li>Also, I applied a couple of patches related to shared library linking on Linux, and 64-bit memory zone alignment. Thanks <a href="http://sourceforge.net/tracker/?func=detail&atid=542101&aid=3303159&group_id=74815">atupone</a> and <a href="http://sourceforge.net/tracker/?func=detail&atid=542101&aid=2995576&group_id=74815">makovick</a>!</li>
<li>Before I can move onto Hexen there are a couple of glitches in Heretic that need to be addressed. The Morph Ovum is broken because the chicken player state is not transmitted to the client, and the player shooting animation is not always shown -- either because the server doesn't play it, or because a delta about the state change won't get transmitted for some reason.</li>
</ul>
<strong>danij:</strong>
<ul>
<li>This week my focus continues to be on the game-side UI systems. Ever wish you hadn't meddled with something? Seriously though, this was in dire need of a cleanup and its good to be sorting it once and for all. The game HUDs of all supported games have now been re-implemented as UI widgets/objects (although some displays (such as the Heretic/Hexen inventories) are implemented as widget-wrapped objects rather than native ones). Work has begun on breaking up the game menu into a UI library plus game menu implementation. The underlying UI system is close enough to that used by the engine's control panel that merging it into an engine-side library should be a relatively trivial task upon completion. Ultimately, all UI widget interaction will be done using a combination of <a href="http://dengine.net/dew/index.php?title=Doomsday_Script">Doomsday script</a> and a console-command-based UI construction language.</li>
<li>Over the coming week I intend to continue working on the UI systems. The next big job is to replace the static UI object/page allocation with dynamic UI construction. However before that can begin I need to resolve some of the outstanding issues; patch replacement strings do not presently work and the various supposedly menu-specific effects such as the text type-in and glitter effects are not currently limited to just the menu.</li>
</ul>
<strong>skyjake:</strong>
<ul>
<li>I was mostly focusing on the animation of remote players. I sorted out the handling of clients' forward and side move values (which used to be part of the ticcmd struct) by including those in the PKT_COORD packet. The packet includes everything the server needs to know about the players' movement state, including position, momentum, angles, and now also the forward and side move values. Ultimately, the position and momentum values should be used for spline-based movement paths, so that the movement of remote players will look smooth for the client. At the moment momentum is applied linearly, which will cause skipping when the momentum is changing (acceleration, deceleration and curving paths).</li>
<li>Also, I applied a couple of patches related to shared library linking on Linux, and 64-bit memory zone alignment. Thanks <a href="http://sourceforge.net/tracker/?func=detail&atid=542101&aid=3303159&group_id=74815">atupone</a> and <a href="http://sourceforge.net/tracker/?func=detail&atid=542101&aid=2995576&group_id=74815">makovick</a>!</li>
<li>Before I can move onto Hexen there are a couple of glitches in Heretic that need to be addressed. The Morph Ovum is broken because the chicken player state is not transmitted to the client, and the player shooting animation is not always shown -- either because the server doesn't play it, or because a delta about the state change won't get transmitted for some reason.</li>
</ul>
<strong>danij:</strong>
<ul>
<li>This week my focus continues to be on the game-side UI systems. Ever wish you hadn't meddled with something? Seriously though, this was in dire need of a cleanup and its good to be sorting it once and for all. The game HUDs of all supported games have now been re-implemented as UI widgets/objects (although some displays (such as the Heretic/Hexen inventories) are implemented as widget-wrapped objects rather than native ones). Work has begun on breaking up the game menu into a UI library plus game menu implementation. The underlying UI system is close enough to that used by the engine's control panel that merging it into an engine-side library should be a relatively trivial task upon completion. Ultimately, all UI widget interaction will be done using a combination of <a href="http://dengine.net/dew/index.php?title=Doomsday_Script">Doomsday script</a> and a console-command-based UI construction language.</li>
<li>Over the coming week I intend to continue working on the UI systems. The next big job is to replace the static UI object/page allocation with dynamic UI construction. However before that can begin I need to resolve some of the outstanding issues; patch replacement strings do not presently work and the various supposedly menu-specific effects such as the text type-in and glitter effects are not currently limited to just the menu.</li>
</ul>