User Tools

Site Tools


Current version: 0.8.5
iOS: 0.8.1+
Android: 0.8.4 (Play/Market version is obsolete!)

Github Coding has become social! Fork us!


Latest commit

# ideally, but does not work on sourceforge (does elsewhere); even http proxies don't help rss> 1 author 30m sidebar for frequently accessed stuff


See also:

Torment General Bugs

Planescape: Torment

This page is to list bugs that relate to the game implementation in general, rather than quest issues or broken spells, as the other two fields are large and need to be tackled seperately. The quest page in particular offers a frank description of how 'ready' the actual quest path is.


  • RESEARCH level up is only partially implemented; find which bits are wrong or missing
    • hp gain is much too big, especially with conbon
      • the one displayed in levelup summary looks ok, but we apply something else
      • we probably lack the special level 7 / 12 class bonuses and combinations
        • As a route to take for fully implementing level up, is it ok to refer to the systems from the other games which are probably much more mature? Of course
  • Saving the game with hp granting items, eg tattoo of endurance, subtracts hit points each time you save and reload, even killing the pc
    • this sounds to me like it is not a PST specific bug, is there something deeper here being unhandled in the effects?


  • Player animations and probably others run very slightly too slow, causing ice skating
    • since this is not hardcoded, perhaps the animation starting times are no synced properly
    • After some side by side comparison, the game felt a lot more natural with ANI_DEFAULT_FRAMERATE 18
  • Idle 'bored/stretching etc' animations don't seem to be handled,even though they seem to be in CharAnimations.cpp
  • Invalid stance IDs everywhere, the mime stances, etc are not supported, they are normal stances, without sound
    • Animations C2S, S2C, CF1, TK1, TK2, SP1, SP2 used for combat, talking and spellcasting do not seem to be used in CharAnimations.cpp, and there is no IE_ANI_…. stance id reserved for most of them
    • we ignore the data from individual animation ini files good explanations
  • Ebb Creakness, curst guards, Fall from Grace and many others seem to have a corrupt palette while standing idle
    • here is a list of sprites with a broken palette in their idle stance in case it helps find a pattern (possibly incomplete, some are hard to tell):
    • From all I can tell, this seems to be because PST can have a different palette for every stance, while bg/iwd was neater and had only one for each creature?
  • Blood and other effects appear at actors feet
  • Running animations never change direction with the actor
  • Spellcasting school animations are just partially impemented, but roughly known (see here )


  • For items with dialogue, this is probably what should happen
    • items with the conversable bit should display string 48888 (use item)
    • items without the bit should display 4254 (talk to item)
  • There are some random vocal challenges in item_use.2da that don't seem to be used, only the first sound it played
  • Nordom's default weapon is broken The range calculation is off, meaning you need to close almost to melee range to attack. It is also impossible to select different bolts from the default, possibly something to do with the fact that nordom does NOT actually possess the weapon, it is in fistweap.2da
  • TNO can put eyes in both ear ring slots, it should be restricted to only one of them


  • The game is only playable in 640×480 by default. Not really a bug, but it is 2015… Workaround: install weidu widescreen mod
  • (minor) in the original game, the gui is disabled but not hidden during cutscenes
  • (minor) shift+click to run doesn't work. workaround = double click or toggle “always run”
  • display of race is broken on the record sheet Please review
    • the comment in there is bad; Morte is perhaps human (by lore/data), but the original reported Morte as his race
    • but it is broken for saves from the original game, so a hybrid solution is needed (compare all npcs)


  • The whole floating-text system for Planescape: Torment needs writing. Here is a rough guess at how it works:
    • each actor on the game screen has a message queue
    • when an actor takes damage, casts a spell, etc, a message is added to the queue
    • the queue is printed to the screen at roughly a rate of 3 per second
    • the messages float up and dissolve, leaving space for the next message
    • no special care seems to have been taken to avoid overlapping messages, apart from the fact that actors occupy a different physical location on the screen
  • 'click to close' dialog button should not appear at all. it is only there if you review the message window from the gui button
  • (minor) there is no smooth auto-scrolling in text box during dialogs (actually less painful this way though)
  • bitmap font borders are displayed black instead of being transparent
  • (minor) Some string colours are different from the original
    • Dialog text color #8CA27B (currently #70FF70)
    • Response option color #FF2C21 (currently #FF0000)
    • Response number color #84C7D6 (currently #FF0000, and wrong format)
    • Dialog creature name color #B59E73 (currently #B9B63F)
    • Dialog PC name color #84C7D6 (currently #A2A0A4)
    • Dialog chosen response text #9CC7D6 (currently #8080FF)
    • gained item/xp color #C6FFC6 (currently #BCEFBC)
  • TNO should always be the speaker, not random party members
    • RESEARCH: check what happens in the original, we already handle starting dialog from a player point-of-view. Do all [PC] targets get hacked to Protagonist?
      • I believe this is the case - even if eg morte talks to an item in his inventory, TNO will go as far as to move closer to him for the actual dialogue interaction
  • no strref (de)composition - many strings come not in the format of “X” like in other games, but just in “NPCNAME: X” variants. Add another column in strings.2da to denote them and then strip “^[^:]*: ” from them on load + fill in where the current entries are now blank (eg. modals) THEN autogenerate the originals if needed


  • Actor random hit sounds are not working
    • FIXME this is implemented, but only used on verbal constants / display message; so we're either not also calling the right VB somewhere or feedback level was set too low
  • Because the StartSong only queues a song instead of changing it, most of the music cues do not work as intended
    • In fact the music is faded out gracefully and then changed, and at least in the case of Dieonerra returns to the previous music after playing once.
    • RESEARCH: figure out how the original handled songflag.ids - there were clearly different fading speeds besides the two we have now
  • ambient sounds sometimes appear to be doubled up, giving an echo or reverb effect
pst_bugs.txt · Last modified: 2016/10/30 15:02 by lynxlynxlynx