72017fc671
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? |
||
---|---|---|
.. | ||
.cvsignore | ||
acmodel.cxx | ||
acmodel.hxx | ||
loader.cxx | ||
loader.hxx | ||
Makefile.am | ||
model.cxx | ||
model.hxx | ||
modelmgr.cxx | ||
modelmgr.hxx | ||
panelnode.cxx | ||
panelnode.hxx | ||
README | ||
TODO |
Last updated $Date$ This directory contains code for loading, positioning, orienting, and animating 3D models. acmodel.cxx acmodel.hxx This module defines the FGAircraftModel subsystem, which manages the 3D model representing the aircraft the user is flying. model.cxx model.hxx This module defines the FG3DModel class, which represents any 3D model in the FlightGear world. modelmgr.cxx modelmgr.hxx This module defines the FGModelMgr subsystem, which manages all 3D models except for the aircraft.