diff doc/jobs @ 10:4c3575400769

DefaultData largely rewritten with unittest, SDL input event handling completed with unittest, changes to Init threading. Init threads now catch own exceptions. Doc: assigned some inputID devisions. Added support for remaining SDL events. Input axes' output is now stored with a short instead of a real. Input unittest written (for SDL event handling). Rewrote most of mde.mergetag.defaultdata using generic programming to generate read & write rules for all types. As a direct result, defaultdata can now write properly. DefaultData unittest written (also provides testing for mergetag read/write). Moved mde.text.parse/format to tango.scrapple.text.convert.parseTo/parseFrom with many changes. committer: Diggory Hardy <diggory.hardy@gmail.com>
author Diggory Hardy <diggory.hardy@gmail.com>
date Mon, 18 Feb 2008 11:54:56 +0000
parents 1885a9080f2a
children b940f267419e
line wrap: on
line diff
--- a/doc/jobs	Wed Jan 30 11:33:56 2008 +0000
+++ b/doc/jobs	Mon Feb 18 11:54:56 2008 +0000
@@ -1,9 +1,44 @@
 In progress:
-*	Why doesn't input.config filtering via headers "Configs" work?
 
 To do:
-*	change init threads (should catch own exceptions)
-*	finish event callback support
-*	add remaining SDL event support
+*	Write Input unittests; remove untested notes
+*	Why doesn't input.config filtering via headers "Configs" work?
 *	add options support; in particular for whether or not to use threads (and adjust Init to use this).
 *	OutOfMemoryException is not currently checked for − it should be at least in critical places (use high-level catching of all errors?).
+*	Sensitivity adjustments. From es_a_out:
+        /+ FIXME: revise.
+        + I can't see any point using HALF_RANGE here, since it should really be used dependant on
+        + the device attached, not the axis. Also what about adjusted range like X3's throttle?
+        +
+        + Sensitivity: is this the right place to adjust it? For things like throttle where the
+        + ends of the interval must remain fixed, multiplying cannot be used to adjust and adjusting
+        + the curve via a power function doesn't seem to be what we want. For things where the
+        + end points needn't remain fixed, multiplying seems the right thing to do, but cannot be
+        + done here since we don't know the end points can be changed.
+        
+        real y = x;
+        uint conf = s.pop();
+        enum : uint {
+            HALF_RANGE	= 0x8000_0000u,
+            SENSITIVITY	= 0x0080_0000u,
+        }
+        // Convert ranges into standard intervals (with or without reverse values)
+        if (conf & HALF_RANGE) y = (y + 32767.0) * 1.5259254737998596e-05;	// range  0.0 - 1.0
+        else y *= 3.0518509475997192e-05;					// range -1.0 - 1.0
+        real a;
+        if (conf & SENSITIVITY) a = s.pop();
+        /+ When a global sensitivity is available (possibly only use if it's enabled)...
+        else a = axis.sensitivity;
+        y = sign(y) * pow(abs(y), a);		// sensitivity adjustment by a +/
+        myThis.axis[cast(inputID) s.pop()] = y;
+        +/
+
+Done (for git log message):
+*	Init threads now catch own exceptions.
+*	Assigned some inputID devisions.
+*	add remaining SDL event support
+*	Rewrote most of mde.mergetag.defaultdata using generic programming to generate read & write rules for all types. As a result, defaultdata can now write properly.
+*	Axis output now stored with short instead of real.
+*	Input unittest
+*       Moved mde/text to scrapple
+*	DefaultData unittest. Then commit.