view codeDoc/jobs.txt @ 32:316b0230a849

Lots more work on the GUI. Also renamed lots of files. Lots of changes to the GUI. Renderer is now used exclusively for rendering and WidgetDecoration is gone. Renamed lots of files to conform to case policies. committer: Diggory Hardy <diggory.hardy@gmail.com>
author Diggory Hardy <diggory.hardy@gmail.com>
date Wed, 30 Apr 2008 18:05:56 +0100
parents baa87e68d7dc
children 6886402c1545
line wrap: on
line source

Copyright © 2007-2008 Diggory Hardy
License: GNU General Public License version 2 or later (see COPYING)


In progress:



To do (importance 0-5: 0 pointless, 1 no obvious impact now, 2 todo sometime, 3 useful, 4 important, 5 urgent):
Also see todo.txt and FIXME/NOTE comment marks.
4   OutOfMemoryException is not currently checked for − it should be at least in critical places (use high-level catching of all errors?).
3   on-event draw support (mde.events and GUI need to tell mde.mde)
3   Scheduler for drawing only windows which need redrawing.
3   Update scheduler as outlined in FIXME.
3   Windows building/compatibility (currently partial)
2   Command-line options for paths to by-pass normal path finding functionality.
2   Consider replacing byte/short types with int type
2   File loading from compressed archives
2   gdc building/compatibility (wait for tango 0.99.5 release?)
2   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;
        +/
1   Mergetag binary support


Done (for git log message):
Lots of changes to the GUI. Renderer is now used exclusively for rendering and WidgetDecoration is gone.
Renamed lots of files to conform to case policies.