Mercurial > projects > mde
view codeDoc/jobs.txt @ 20:838577503598
Reworked much of Init.
Moved mde.Init to mde.scheduler.Init and largely cleaned up the code.
Implemented mde.scheduler.InitStage to reduce dependancies of modules running Init functions.
committer: Diggory Hardy <diggory.hardy@gmail.com>
author | Diggory Hardy <diggory.hardy@gmail.com> |
---|---|
date | Sat, 22 Mar 2008 16:22:59 +0000 |
parents | 56a42ec95024 |
children | a60cbb7359dd |
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: * SDL window settings from options. Design to be resetable. Also see todo.txt. * Windows building/compatibility (currently partial) * gdc building/compatibility (wait for tango 0.99.5 release?) * 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):