Sign in to follow this  
wsieffert

Is Rod cheating us out of part of a lesson?

Recommended Posts

If you have taken student lesson 2 (all about turns), you might have noticed that it ends rather abruptly. Well, after studying the ABL file for the lesson, I found out why -- half of the lesson isn't executed!If you'd like to see for yourself, open up the lesson2.abl file in the FS2002/Lessons/Student directory in your favorite text editor. Basically, the script is called about once a second by the sim, and a variable, nState, is maintained across calls to keep track of where we are in the lesson. The bulk of the script is a giant set of case statements, and depending upon the value in nState, the appropriate case for where we are in the lesson will be executed. As each part is completed, it sets nState to the next part of the lesson to be flown.Okay, scroll down to about line 784. This is the end of CaseTalk4, where Ron is talking about the heading bug. Notice that just above there's a commented out section that would have played wav file S2-32, and the comment suggests that this would end the lesson. Note also that there is no S2-32.wav file in the FS2002/Sounds/lessons directory.Now, you'd think that if this were intended to be the end of the lesson, there wouldn't be much code below this point. However, we're barely halfway through the file! The key line of code is:nState = CaseEnd;This has the effect of terminating the lesson early, and the second half of the lesson seems to be where you get to do some turns while trying to maintain altitude, and perhaps some climbing and descending turns. None of the wav files referenced in this code are included in the sounds directory.Can anybody who has done this lesson in FS2000 report as to whether the lesson was longer in that version? What reason could MS have had for taking a knife to it?Curious,Warren Madden, aka svurg

Share this post


Link to post
Share on other sites
Help AVSIM continue to serve you!
Please donate today!

Well spotted!I can't answer your question, but I'd be interested if someone else can. Maybe it is just a bit of junk DNA that is no longer used in the finally evolved product :)

Share this post


Link to post
Share on other sites

You should also note that the section above it seems to point to the wrong sound file also, as there is no S2-30 file. It should be S2-27: endif; if (nCurrentSpiel == 5) then fnPlayNoWait ("S2-30",15); // As you do this, you will probably notice nCurrentSpiel = 6; return; endif; if (nCurrentSpiel == 6) then nCurrentSpiel = 8;// fnPlayNoWait ("S2-31",10); // In the first lesson, I handled the roll// nCurrentSpiel = 7;// return; endif;/* if (nCurrentSpiel == 7) then fnPlayNoWait ("S2-32",22); // That's all the time I have for this lesson. nCurrentSpiel = 8; return; endif;*/ if (nCurrentSpiel == 8) then bCurrentSpiel = TRUE; nState = CaseEnd; bCurrentSpiel = FALSE; nCurrentSpiel = 99; endif; endif; EndCase; // CaseTalk4

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this