From: ehofman Date: Thu, 24 Feb 2005 15:05:56 +0000 (+0000) Subject: Vivian Meazza: X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=7cc58da6a9b9016fb8d46a85975aaa53fc480a79;p=flightgear.git Vivian Meazza: I attach the long-promised improved version of the USS Nimitz. It includes an improved version of the FLOLS, which requires the attached diff to be applied to AICarrier.cxx and AICArrier.hxx. I've made lots of eye-candy in the form or the flightdeck crew. Unfortunately, it about doubles the size of the tarball. I'll send it to you later; when I've figured out some way of only loading on request (any advice would be very welcome). I could provide a \u2018bare\u2019 version to cut down on the vertex count for less capable systems however, the count isn\u2019t huge in the first place. I've cut the textures down as far as I can without losing definition. --- diff --git a/src/AIModel/AICarrier.cxx b/src/AIModel/AICarrier.cxx index 6d836d434..e6ab56147 100644 --- a/src/AIModel/AICarrier.cxx +++ b/src/AIModel/AICarrier.cxx @@ -102,15 +102,20 @@ void FGAICarrier::bind() { props->tie("controls/flols/source-lights", SGRawValuePointer(&source)); props->tie("controls/flols/distance-m", - SGRawValuePointer(&dist)); + SGRawValuePointer(&dist)); + props->tie("controls/flols/angle-degs", + SGRawValuePointer(&angle)); props->setBoolValue("controls/flols/cut-lights", false); props->setBoolValue("controls/flols/wave-off-lights", false); props->setBoolValue("controls/flols/cond-datum-lights", true); + props->setBoolValue("controls/crew", false); } void FGAICarrier::unbind() { FGAIBase::unbind(); props->untie("controls/flols/source-lights"); + props->untie("controls/flols/distance-m"); + props->untie("controls/flols/angle-degs"); } void FGAICarrier::mark_nohot(ssgEntity* e) { @@ -251,9 +256,9 @@ bool FGAICarrier::mark_cat(ssgEntity* e, const list& cat_objects, bool m if (ch) { SG_LOG(SG_GENERAL, SG_WARN, "AICarrier: Carrier hardware gets marked twice!\n" - " You have propably a whole branch marked as" - " a catapult which also includes other carrier hardware." - ); + "You have probably a whole branch marked as" + "a catapult which also includes other carrier hardware." + ); } else { SG_LOG(SG_GENERAL, SG_ALERT, "AICarrier: Found user data attached to a leaf node which " @@ -410,6 +415,10 @@ void FGAICarrier::UpdateFlols( double dt) { //calculate the ditance from eye to flols dist = sgdDistanceVec3( flolsXYZ, eyeXYZ ); + +//apply an index error + + dist -= 100; //cout << "distance " << dist << endl; @@ -419,7 +428,8 @@ void FGAICarrier::UpdateFlols( double dt) { // calculate the angle from the flols to eye // above the horizontal - double angle; + // double angle; + if ( dist != 0 ) { angle = asin( y / dist ); } else { diff --git a/src/AIModel/AICarrier.hxx b/src/AIModel/AICarrier.hxx index 29f63f73b..6c9e77013 100644 --- a/src/AIModel/AICarrier.hxx +++ b/src/AIModel/AICarrier.hxx @@ -115,8 +115,9 @@ private: double flolsXYZ[3], eyeXYZ[3]; double lat, lon, alt; - double dist; + double dist, angle; int source; + Point3D eyepos; Point3D flolspos; };