<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Ryzom Core Development Site: Issues</title>
  <link rel="self" href="http://dev.ryzom.com/issues.atom?page=2&amp;sort=id"/>
  <link rel="alternate" href="http://dev.ryzom.com/issues?page=2&amp;sort=id"/>
  <id>http://dev.ryzom.com/</id>
  <updated>2009-09-03T21:47:00+02:00</updated>
  <author>
    <name>Ryzom Core Development Site</name>
  </author>
  <generator uri="http://www.redmine.org/">
Redmine  </generator>
  <entry>
    <title>Ryzom - Bug #687 (New): Determine if we can delete the old STL block allocator.</title>
    <link rel="alternate" href="http://dev.ryzom.com/issues/687"/>
    <id>http://dev.ryzom.com/issues/687</id>
    <updated>2009-09-03T21:47:00+02:00</updated>
    <author>
      <name>sfb</name>
      <email>matt.raykowski@gmail.com</email>
    </author>
    <content type="html">
&lt;p&gt;The header stl_block_allocator.h is wrapped with an #if 0 such that it is never used. The accompanying stl_block_allocator.cpp file was created as a placeholder to prevent MSVC6 warnings. If we can see no merit in retaining this file (since it is in Subversion history) we should remove both files from all build environments.&lt;/p&gt;    </content>
  </entry>
  <entry>
    <title>Ryzom - Bug #686 (New): Fix IVariable to use IVariableChangedCallback</title>
    <link rel="alternate" href="http://dev.ryzom.com/issues/686"/>
    <id>http://dev.ryzom.com/issues/686</id>
    <updated>2009-09-03T21:36:50+02:00</updated>
    <author>
      <name>sfb</name>
      <email>matt.raykowski@gmail.com</email>
    </author>
    <content type="html">
&lt;p&gt;Fix IVariable to use IVariableChangedCallback, per TODO listed in file:&lt;/p&gt;


&lt;pre&gt;
        // TODO: replace by interface (see IVariableChangedCallback)
        void (*ChangeCallback)(IVariable &amp;#38;var);
&lt;/pre&gt;    </content>
  </entry>
  <entry>
    <title>Ryzom - Feature #685 (New): Add getMsgNb method to CBufFIFO.</title>
    <link rel="alternate" href="http://dev.ryzom.com/issues/685"/>
    <id>http://dev.ryzom.com/issues/685</id>
    <updated>2009-09-03T20:56:26+02:00</updated>
    <author>
      <name>sfb</name>
      <email>matt.raykowski@gmail.com</email>
    </author>
    <content type="html">
&lt;p&gt;Per a todo note in buf_fifo.h:&lt;/p&gt;


&lt;pre&gt;
TODO: Add a method getMsgNb() that will return the number of messages in queue.
For acceptable performance, it would need to store the current number instead
of browsing the blocks.
&lt;/pre&gt;

	&lt;p&gt;If we do not need or want this then we should clear this TODO out of the file before closing the issue.&lt;/p&gt;    </content>
  </entry>
  <entry>
    <title>Ryzom - Feature #652 (New): User controlled enabling/disabling of OpenGL extensions</title>
    <link rel="alternate" href="http://dev.ryzom.com/issues/652"/>
    <id>http://dev.ryzom.com/issues/652</id>
    <updated>2009-08-18T07:51:25+02:00</updated>
    <author>
      <name>Spex</name>
    </author>
    <content type="html">
&lt;p&gt;In the wake of bug &lt;a href="http://dev.ryzom.com/issues/651" class="issue status-1 priority-2" title="NeL3D fails to run on GM45 Intel on Linux (New)"&gt;#651&lt;/a&gt; I had the idea of enabling/disabling OpenGL extensions on the user side (or at least offering the possibility to do so; it's finally up to the respective application to support this). Due to the ever-changing world of OpenGL drivers and hardware there will always be a couple combinations of hardware+driver+GL-extension which either fail to work or perform badly. Giving endusers the means to enable/disable problematic GL-extensions shifts the problem away from the OpenGL-backend to the ones who can adapt much faster than we will ever be able to.&lt;/p&gt;


	&lt;p&gt;In the end it's a means for a generic "workaround", because all the faults are upstream bugs; fixing these usually doesn't happen overnight, leaving the gamers on their own. The above idea is thought to give them some of the control back in dire cases of non-cooperating driver software.&lt;/p&gt;    </content>
  </entry>
  <entry>
    <title>Ryzom - Bug #651 (New): NeL3D fails to run on GM45 Intel on Linux</title>
    <link rel="alternate" href="http://dev.ryzom.com/issues/651"/>
    <id>http://dev.ryzom.com/issues/651</id>
    <updated>2009-08-18T07:40:40+02:00</updated>
    <author>
      <name>Spex</name>
    </author>
    <content type="html">
&lt;p&gt;xf86-video-intel 2.8.0, Linux kernel 2.6.30.*, xorg-server 1.6.3&lt;/p&gt;


	&lt;p&gt;The problem is the NVVertexProgram extension, which the driver proclaims to support (it also has NVVertexProgramEmulated). The OpenGL backend has a preference on this over lets say ARBVertexProgram. Result is the driver giving up as soon as some real world NVVertexProgram comes along. Manually disabling this extension yields a successful run of Snowballs, for example.&lt;/p&gt;


	&lt;p&gt;The bug should be pushed upstream for this specific case, however, it highlights a general problem we have been running into and will run into in the future to come: Certain OpenGL extensions don't work at all or perform worse than similar other ones on certain hardware/driver combinations.&lt;/p&gt;    </content>
  </entry>
  <entry>
    <title>Ryzom - Bug #621 (New): Login service casts pointer to uint32 and sends it over network.</title>
    <link rel="alternate" href="http://dev.ryzom.com/issues/621"/>
    <id>http://dev.ryzom.com/issues/621</id>
    <updated>2009-06-17T11:41:36+02:00</updated>
    <author>
      <name>kaetemi</name>
      <email>kaetemi@gmail.com</email>
    </author>
    <content type="html">
&lt;p&gt;At line 163 in connection_client.cpp, the login service hacks a &lt;em&gt;NLNET::TSockId&lt;/em&gt; into a login cookie. &lt;em&gt;NLNET::TSockId&lt;/em&gt; is a typedef for &lt;em&gt;NLNET::CBufSock *&lt;/em&gt; (a pointer to the socket with buffer). A similar setup occurs in connection_web.cpp at line 173.&lt;br /&gt;&lt;pre&gt;CLoginCookie c;
c.set((uint32)(uintptr_t)from, rand(), uid);&lt;/pre&gt;&lt;br /&gt;When the user chooses a shard, it sends this cookie to the welcome service of a shard, which passes it back to the login service when it responds.&lt;br /&gt;At line 408 or 412 it directly casts the &lt;em&gt;uint32&lt;/em&gt; from the cookie back into a &lt;em&gt;NLNET::TSockId&lt;/em&gt;, and passes it to the ClientsServer-&gt;send function, which uses it as a pointer.&lt;br /&gt;&lt;pre&gt;ClientsServer-&amp;gt;send (msgout, (TSockId)cookie.getUserAddr ()); ...
... void CCallbackServer::send (const CMessage &amp;#38;buffer, TSockId hostid, bool /* log */) ...
... CBufServer::send (buffer, hostid); ...
... pushBufferToHost( buffer, hostid ); ...
... if ( hostid-&amp;gt;pushBuffer( buffer ) ) // &amp;lt;- hostid is the TSockId that was cast from a uint32 received from the network&lt;/pre&gt;&lt;/p&gt;


	&lt;p&gt;Might be problematic on 64bit systems, and may result in security issues when accepting third party shards on a login service.&lt;/p&gt;    </content>
  </entry>
  <entry>
    <title>Ryzom - Bug #619 (New): Particle systems are animated every time the scene is rendered.</title>
    <link rel="alternate" href="http://dev.ryzom.com/issues/619"/>
    <id>http://dev.ryzom.com/issues/619</id>
    <updated>2009-06-17T10:57:25+02:00</updated>
    <author>
      <name>kaetemi</name>
      <email>kaetemi@gmail.com</email>
    </author>
    <content type="html">
&lt;p&gt;Particle systems are animated every time the scene is rendered, using the time value last passed to the animate function, even if animate was not called between the render calls.&lt;/p&gt;


	&lt;p&gt;This is problematic when implementing stereo view or realtime reflections.&lt;/p&gt;


	&lt;p&gt;Easy fix would be to store a bool true in the scene when animate has been called, and set it false when the particle system manager animate has been called (it's supposedly called after position updates of instances *), so that it won't be called a second time without animate being called.&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;For some reason, though, the particle systems lag one frame behind on the positioning information. If I put a mesh box instance in a particle system, and I spawn the particle system as well as a regular box shape instance, the box of the particle system will appear one frame later than the simple box shape. Similarly, if I move both of them the particle system's box will be moved one frame after the box shape.&lt;/li&gt;
	&lt;/ul&gt;    </content>
  </entry>
  <entry>
    <title>Ryzom - Feature #602 (New): Update CEGUI RendererT</title>
    <link rel="alternate" href="http://dev.ryzom.com/issues/602"/>
    <id>http://dev.ryzom.com/issues/602</id>
    <updated>2009-06-04T17:12:40+02:00</updated>
    <author>
      <name>sfb</name>
      <email>matt.raykowski@gmail.com</email>
    </author>
    <content type="html">
&lt;p&gt;The CEGUI Renderer is written for CEGUI 0.4.1 but seems to function with 0.5.0 and 0.6.0 - update to be fully compatible with 0.6.2.&lt;/p&gt;    </content>
  </entry>
  <entry>
    <title>Ryzom - Feature #573 (New): Add anti-aliasing to the  OpenGL Driver</title>
    <link rel="alternate" href="http://dev.ryzom.com/issues/573"/>
    <id>http://dev.ryzom.com/issues/573</id>
    <updated>2009-05-28T18:21:39+02:00</updated>
    <author>
      <name>compilo1407</name>
      <email>hackisbak@gmx.de</email>
    </author>
    <content type="html">
&lt;p&gt;Update the OpenGL driver to support Anti Aliasing. Provides the basis for implementing multi-sample anti-aliasing (MSAA) in the future. This also brings the Direct3D driver and OpenGL driver behaviors to be more similar.&lt;/p&gt;    </content>
  </entry>
  <entry>
    <title>Ryzom - Feature #553 (New): Additional Cubic Bezier Key Framer Implementation (Animation)</title>
    <link rel="alternate" href="http://dev.ryzom.com/issues/553"/>
    <id>http://dev.ryzom.com/issues/553</id>
    <updated>2009-05-19T14:16:37+02:00</updated>
    <author>
      <name>sfb</name>
      <email>matt.raykowski@gmail.com</email>
    </author>
    <content type="html">
&lt;p&gt;In order to write exporters for other modeling packages NeL requires a bezier curve key framer. The current implementation has been simplified so that the tangent length seems to be a third of the distance between the key frames, making it basically similar to the hermite interpolation mentioned in the COLLADA documentation. Using this technique means that artists do not have control over the tangents and any editing of tangents is lost at export. NeL requires a Cubic Bezier key framer in order to support additional modeling packages such as Blender, Maya, XSI and COLLADA. This will also fix the loss of tangent control.&lt;/p&gt;


	&lt;p&gt;For more information on cubic bezier key framers please see:&lt;br /&gt;&lt;a class="external" href="http://en.wikipedia.org/wiki/B%C3%A9zier_curve"&gt;http://en.wikipedia.org/wiki/B%C3%A9zier_curve&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;In the COLLADA specification document the math that COLLADA (and all major modeling packages) use for cubic bezier curves is listed on page 34.&lt;br /&gt;&lt;a class="external" href="http://www.khronos.org/files/collada_spec_1_5.pdf"&gt;http://www.khronos.org/files/collada_spec_1_5.pdf&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;A new keyframer will have to be a template subclass of:&lt;/p&gt;


	&lt;p&gt;&lt;code&gt;template &amp;lt;CKeyT&amp;gt; NL3D::ITrackKeyFramer&lt;/code&gt;&lt;/p&gt;


With specializations for:
	&lt;ul&gt;
	&lt;li&gt;float&lt;/li&gt;
		&lt;li&gt;int (specifically sint32)&lt;/li&gt;
		&lt;li&gt;NLMISC::CVector&lt;/li&gt;
		&lt;li&gt;NLMISC::CQuat&lt;/li&gt;
		&lt;li&gt;NLMISC::CRGBA&lt;/li&gt;
		&lt;li&gt;Any other value types which may need to be handled specially with a bezier curve.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;A corresponding unit test should be written.&lt;/p&gt;    </content>
  </entry>
  <entry>
    <title>Ryzom - Feature #546 (Validated): Update CMake to use SOURCE_GROUPS for MSVC Developers</title>
    <link rel="alternate" href="http://dev.ryzom.com/issues/546"/>
    <id>http://dev.ryzom.com/issues/546</id>
    <updated>2009-05-15T16:45:38+02:00</updated>
    <author>
      <name>sfb</name>
      <email>matt.raykowski@gmail.com</email>
    </author>
    <content type="html">
&lt;p&gt;Currently the CMake build environment uses a FILE GLOB to load all source files. This produces a very large Source and Headers group for some libraries and applications when using an IDE such as Visual Studio. We will need to remove the FILE GLOB and explicitly list each of the files and the group that they are in.&lt;/p&gt;    </content>
  </entry>
  <entry>
    <title>Ryzom - Feature #544 (Resolved): Port NeL to build via MinGW</title>
    <link rel="alternate" href="http://dev.ryzom.com/issues/544"/>
    <id>http://dev.ryzom.com/issues/544</id>
    <updated>2009-05-13T16:54:24+02:00</updated>
    <author>
      <name>sfb</name>
      <email>matt.raykowski@gmail.com</email>
    </author>
    <content type="html">
&lt;p&gt;Port NeL to build via MinGW on Windows systems.&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;CMake will need to be updated to correctly build the libraries and link.
	&lt;ul&gt;
	&lt;li&gt;The check &lt;acronym title="WIN32 AND UNIX"&gt;IF&lt;/acronym&gt; will match MinGW on Windows&lt;/li&gt;
		&lt;li&gt;Likewise &lt;acronym title="WIN32 AND NOT UNIX"&gt;IF&lt;/acronym&gt; matches Windows compilers.&lt;/li&gt;
		&lt;li&gt;If you need to match MinGW specifically in CMake use: &lt;acronym title="MINGW"&gt;IF&lt;/acronym&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
		&lt;li&gt;NeL makes overly liberal use of the NL_OS_WINDOWS and NL_OS_UNIX defines to block out platform specific code.&lt;/li&gt;
	&lt;/ul&gt;    </content>
  </entry>
  <entry>
    <title>Ryzom - Feature #543 (New): Implement Google Breakpad for Displayers</title>
    <link rel="alternate" href="http://dev.ryzom.com/issues/543"/>
    <id>http://dev.ryzom.com/issues/543</id>
    <updated>2009-05-13T14:03:43+02:00</updated>
    <author>
      <name>sfb</name>
      <email>matt.raykowski@gmail.com</email>
    </author>
    <content type="html">
&lt;p&gt;Implement an "email function" for NeL displayers that submits crash information to Google Breakpad. Currently for NeL there is only one implementation in NLNET for sending crash reports:&lt;/p&gt;


	&lt;p&gt;&lt;em&gt;email.cpp&lt;/em&gt;&lt;br /&gt;&lt;code&gt;bool sendEmail (const string &amp;#38;smtpServer, const string &amp;#38;from, const string &amp;#38;to, const string &amp;#38;subject, const string &amp;#38;body, const string &amp;#38;attachedFile, bool onlyCheck)&lt;/code&gt;&lt;/p&gt;


	&lt;p&gt;You can see how it is configured in the displayer in service.cpp:&lt;br /&gt;&lt;code&gt;setReportEmailFunction ((void*)sendEmail);&lt;/code&gt;&lt;/p&gt;


	&lt;p&gt;Information about Google Breakpad can be found here:&lt;br /&gt;&lt;a class="external" href="http://code.google.com/p/google-breakpad/wiki/ClientDesign"&gt;http://code.google.com/p/google-breakpad/wiki/ClientDesign&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;A very simple example implementationc can be found here:&lt;br /&gt;&lt;a class="external" href="http://code.google.com/p/google-breakpad/source/browse/trunk/src/processor/testdata/test_app.cc"&gt;http://code.google.com/p/google-breakpad/source/browse/trunk/src/processor/testdata/test_app.cc&lt;/a&gt;&lt;/p&gt;    </content>
  </entry>
  <entry>
    <title>Ryzom - Feature #542 (New): Implement OpenID Authentication in the Login System</title>
    <link rel="alternate" href="http://dev.ryzom.com/issues/542"/>
    <id>http://dev.ryzom.com/issues/542</id>
    <updated>2009-05-13T13:49:11+02:00</updated>
    <author>
      <name>sfb</name>
      <email>matt.raykowski@gmail.com</email>
    </author>
    <content type="html">
&lt;p&gt;Add OpenID authentication support into the Login Service and associated web applications (e.g. admin.)&lt;/p&gt;    </content>
  </entry>
  <entry>
    <title>Ryzom - Bug #298 (New): Windows keyboard settings are not used when using enableLowLevelKeyboard</title>
    <link rel="alternate" href="http://dev.ryzom.com/issues/298"/>
    <id>http://dev.ryzom.com/issues/298</id>
    <updated>2009-01-22T13:12:00+01:00</updated>
    <author>
      <name>kervala</name>
      <email>kervala@gmail.com</email>
    </author>
    <content type="html">
&lt;p&gt;Keyboard speed seems to be too high when using enableLowLevelKeyboard and doesn't seem to use Windows settings.&lt;/p&gt;    </content>
  </entry>
</feed>
