Mercurial > projects > mde
diff codeDoc/jobs.txt @ 15:4608be19ebe2
Use OS paths (linux only for now), merging multiple paths. Init changes regarding options.
Reorganised policies.txt a little.
Implemented mde.resource.paths to read config from appropriate paths (currently linux only).
Changed Init to load options before all other delegates are run and set logging level from options.
committer: Diggory Hardy <diggory.hardy@gmail.com>
author | Diggory Hardy <diggory.hardy@gmail.com> |
---|---|
date | Fri, 14 Mar 2008 11:39:45 +0000 |
parents | |
children | 9cb7b9310168 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/codeDoc/jobs.txt Fri Mar 14 11:39:45 2008 +0000 @@ -0,0 +1,41 @@ +In progress: + +To do: +* Move init's delegates to appropriate external modules and provide addInitDlg and addCleanupDlg functions callable from other modules' static this() methods. +* Control logging level/output via options. +* Windows building/compatibility (currently partial) +* gdc building/compatibility (wait for tango 0.99.5 release?) +* Config loaded from correct places +* 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): +Reorganised policies.txt a little. +Implemented mde.resource.paths to read config from appropriate paths (currently linux only). +Changed Init to load options before all other delegates are run and set logging level from options.