Mercurial > projects > mde
view codeDoc/jobs.txt @ 18:56a42ec95024
Changes to Init and logging.
Moved an Init function; hence events now depends on Init rather than vice-versa.
Paths and logging set up by Init's static this(). Logging location set at compile time.
committer: Diggory Hardy <diggory.hardy@gmail.com>
author | Diggory Hardy <diggory.hardy@gmail.com> |
---|---|
date | Tue, 18 Mar 2008 17:51:52 +0000 |
parents | 5f90774ea1ef |
children | 838577503598 |
line wrap: on
line source
Copyright © 2007-2008 Diggory Hardy License: GNU General Public License version 2 (see doc/License.txt) In progress: To do: Also see todo.txt. * Control logging 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): Moved an Init function; hence events now depends on Init rather than vice-versa. Paths and logging set up by Init's static this(). Logging location set at compile time.