Planescape : Torment Logo


The Mortuary
The Mortuary
Navigation Bar

10/28/99 - SS Simon and Jude's Feast Day (Patrons of Hopeless Causes)
"Just because it's purple doesn't mean it's grape."
Dan Spitzley

"That's it. Cancel Christmas."

Aaaron Meyers

Faithful Readers,

We have a tradition here at Black Isle, at least in the corner office that I and my cronies call the Love Nest. Whenever someone does something annoying or stupid, we have a tendency to cancel one of their Christmases. Just about everyone that comes around here has lost at least one Christmas in the past few months. I lost one at some point for making a dumb joke about Strom Thurmond. Scottie "The Eyes" Everts has lost more than his share, once for telling a really bad joke about his car, and another for Preaching to the Choir. Don't ask. There is every reason to believe that there may be some more canceled holidays before this game is finished. Well, on to the bugs:

  • I finally tracked down that problem we were having with playing off of CDs (or off of JAZ discs in this case. Thanks, Gus!). Upon starting the game we were getting an error regarding one of our movie resources not being available, leading to a nasty error screen. Luckily, the call that was being made to play the movie was just passing FALSE instead of TRUE in the parameter telling the engine to display the "nice" CD swap screen. The rest seems to be going smoothly.

  • There was an odd bug regarding the Continue() scripting function. Here is a sample script:

    IF

    <Condition1>
    THEN
    RESPONSE #100
    <Do Something1>
    Continue()
    END

    IF
    <Condition2>
    THEN
    RESPONSE #100
    <Do Something2>
    END

    IF
    <Condition3>
    THEN
    RESPONSE #100
    <Do Something3>
    END

    Notice the Continue() at the end of the first block. The purpose of this command is to tell the game to evaluate the next block in the script in addition to the one it had just done. This is useful for situations in which we want to do something simple at the beginning of the script without forcing the character to go through another AI cycle to reach the rest of the script blocks. The problem was that the Continue() command was not being removed from the list of actions after it was found. This caused not only the next block to be evaluated, but EVERY block in the rest of the script to be evaluated. Obviously, this could cause problems if more than one block evaluated to TRUE and the actions in the response contradicted each other in some way. Master scriptor Jake ran across this problem in a cutscene script. It looked like two different cutscenes were begin run at the same time, which in fact they were because of this bug. Strangely, we hadn't run across this problem before, and it appears that is because only fairly complex scripts were likely to have this problem. It's now fixed, however. We just had to remove the Continue() from the action list so it didn't show up over and over again. Thanks, Jake!

    Dan Spitzley
    Lead Programmer