]> git.mxchange.org Git - flightgear.git/commit
Andy Ross:
authorcurt <curt>
Tue, 29 Oct 2002 19:44:03 +0000 (19:44 +0000)
committercurt <curt>
Tue, 29 Oct 2002 19:44:03 +0000 (19:44 +0000)
commit72017fc671e64a8c613e792ae65232fb67f0df92
tree3f494fecbc602df4d66439b67af76f137efee86a
parent5a439826ff24ba0e408d78740aa809b2407eeb88
Andy Ross:

The biggest and coolest patch adds mouse sensitivity to the 3D
cockpits, so we can finally work the radios.  This ended up requiring
significant modifications outside of the 3D cockpit code.  Stuff folks
will want to look at:

+ The list of all "3D" cockpits is stored statically in the
   panelnode.cxx file.  This is clumsy, and won't migrate well to a
   multiple-aircraft feature.  Really, there should be a per-model list
   of 3D panels, but I couldn't find a clean place to put this.  The
   only handle you get back after parsing a model is a generic ssg
   node, to which I obviously can't add panel-specific methods.

+ The aircraft model is parsed *very* early in the initialization
   order.  Earlier, in fact, than the static list of allowable command
   bindings is built in fgInitCommands().  This is bad, as it means
   that mouse bindings on the instruments can't work yet.  I moved the
   call to fgInitCommands, but someone should look carefully to see
   that I picked the right place.  There's a lot of initialization
   code, and I got a little lost in there... :)

+ I added yet another "update" hook to the fgRenderFrame routine to
   hook the updates for the 3D panels.  This is only required for
   "mouse press delay", and it's a fairly clumsy mechanism based on
   frame rate instead of real time.  There appears to be delay handling
   already in place in the Input stuff, and there's a discussion going
   on about different mouse behavior right now.  Maybe this is a good
   time to unify these two (now three) approaches?
src/Cockpit/panel.cxx
src/Cockpit/panel.hxx
src/Input/input.cxx
src/Main/fg_init.cxx
src/Main/main.cxx
src/Model/panelnode.cxx
src/Model/panelnode.hxx
src/Scenery/tileentry.cxx