Anyone with experience in PS:T troubleshooting? (SPOILERS)

March 29th, 2013, 04:31

Planescape: Torment has been on my backlog for as long as I can remember being into RPGs. The final push came by realizing that I could play it on my Linux laptop under wine without any work whatsoever and the whole fuss around PS:T generated by the Torment Kickstarter.

I got the game, installed the needed mods/fixpacks according the link provided on the GoG PS:T page and dived into the game. It's safe to say it has been my most novel gaming experience and that I've been more focused on it than any game in the past 3 years.

(Spoilers below)
A bit of background: My experience with the game was completely smooth until I ran into a portal issue in Ravel's maze that didn't allow me to teleport out of it. Thankfully this post/thread suggested removing the "subtitles in cutscenes" mod which solved the problem.

Now for the actual problem: A bit later in the game I ran into another portal issue. After defeating and sparing Trias in the Crust Administration building a portal is created in the room that the fight took place that is supposed to take me back to the Hive. The problem is that upon activating the portal the only thing that happens is that my party members all move to where the portal is but no loadscreen or anything that would indicate actual use of the the portal is initiated.

I found two reports of a problem with that portal on the Spellhold studios forum and on the GoG forum but short of reinstalling the resolution related mods (which didn't work) there is no answer. I posted on the GOG forum but given how old the threads are and the seemingly low activity of the community I'm afraid I won't get an answer.

I wonder if there is any savegame editor or console command that I could use to either move my party to the Hive (and/or trigger any needed event that would put me back on track). I would appreciate any help on the matter or redirections to forums/threads that may be able to help me.

I think there's no need to describe how much I would hate having to restart the game. Oh and before anyone mentions reloading a previous save, my only two current (=usable) saves are the quicksave and the autosave, both present the problem at hand. However given what happened in the Ravel case I suspect it is not a matter of a corrupted savegame.

Apologies for the wall of text.

--

I'd just like to interject here and point out that I'm not going to say anything to spoil the mood, Chief. I'll just float here and watch. Don't mind me, just sitting here, floating and watching, that's me.

Your problem is very specific and I've not played in ages. You sound fairly tech savvy (given linux/wine) so my first recommendation would be to download the Infinity Explorer and Near Infinity and inspect that part of the map and look for anything odd. It may be possible to edit the area and put the changes in the override folder if you can uncover an issue. It may also be possible to hack in a trigger to move to new area though that is probably even harder.

Of course this is easier said than done but if you are dedicated enough it may yield useful results. Your search sounds fairly thorough so having someone know the answer for a 13 year old game is probably unlikely but not impossible.

Edit: Quick check seems to say that you want area AR0901.ARE. Not sure if the Psuedo-Portal Trigger is it but sounds promising. Basically if you do not have any hostiles and the global variable AR0901 is 1 then run a movie "creturn" and teleport to map AR0200. Looks like it may require Fhjull to be alive and Trias to be dead if I read it correctly. Anyway editing 0901PORT.BCS and putting in override could solve your problem. Near Infinity should be able to make any changes that you need if you go this route.

First of all, thanks a lot for posting to help. These tools look exactly like the sort of thing that could save me.

I was just browsing through AR0901 with Infinity Explorer when you made your edit. It seems there is a "Pseudo-Portal Trigger" and a "2nd Pseudo-Portal Trigger". The first one points to 0901 PORT which according to Near Infinity seems mostly only related to Nordom's portal detection:

Code:

IF
HarmlessEntered("Nordom")
THEN
RESPONSE #100
VerbalConstant("Nordom",NORDOM_PORTAL)
Continue()
END

while the 2nd one points to a non-existing (link doesn't do anything in InfExp, and not on the list of NearInf) script by the name of 0901PRTL. I would guess I'm missing that script or the teleporting chunk of the other script (But if so how does the portal perform its party gathering function)?

--

I'd just like to interject here and point out that I'm not going to say anything to spoil the mood, Chief. I'll just float here and watch. Don't mind me, just sitting here, floating and watching, that's me.

While I was looking for examples to understand how to write the needed script I stumbled on 0901PRTL.BCS under Override with Near Infinity. The script looks like what you described but there's an extra IF-THEN bit regarding the Lady and a location I doubt I should have visited by now. It looks out of place but I just need confirmation before deleting it since it seems to change some variable regarding "Lady".

Here's the script:

Code:

IF
HarmlessEntered([PC])
Global("Portal_Active","AR0901",1)
THEN
RESPONSE #100
SetGlobal("Doll_Switch","GLOBAL",0)
Continue()
END
IF
HarmlessEntered([PC])
Global("Portal_Active","AR0901",1)
Global("AR1900_Visited","GLOBAL",1)
GlobalGT("Lady","GLOBAL",49)
THEN
RESPONSE #100
SetGlobal("Lady","GLOBAL",49)
Continue()
END
IF
HarmlessEntered([PC])
Global("Portal_Active","AR0901",1)
!Dead("Fhjull")
Dead("Trias")
THEN
RESPONSE #100
StartCutSceneMode()
StartCutScene("0901cut1")
END
IF
HarmlessEntered([PC])
Global("Portal_Active","AR0901",1)
THEN
RESPONSE #100
StartMovie("CReturn")
TeleportParty("AR0200",[1034.1756],0)
END

Edit:
I'm surprised by how many features are available in these tools. I found the exact same lines regarding "Lady" in AR610 which is even further back in the game (Ravel's Area) and thus makes even less sense.
Anyway, it seems I overestimated the power/necessity of the arguments contained in the scripts. Do they function as necessary preconditions or simple variable switches? Deleting the yellow lines had no effect and I'm back to having no ideas.

Syntax error? Missing component? Or a non scripting bug?

--

I'd just like to interject here and point out that I'm not going to say anything to spoil the mood, Chief. I'll just float here and watch. Don't mind me, just sitting here, floating and watching, that's me.

I think I found a workaround! I had read initially in this post from the thread linked earlier that the original behaviour was an automatic activation of the portal rather than needing the user to manually activate it.

For that reason I assume some lines were moved by the fixpack from 0901 PORT to a new 0901PRTL and a new trigger called "2nd Pseudo-Portal Trigger" was created. For whatever reason that trigger didn't work for me and the only thing I needed to do was move the lines back in the script triggered automatically ("Pseudo-Portal Trigger"). Upon loading almost immediately the most impressive PS:T cut-scene so far was shown and I was promptly teleported back to Sigil.

figment, I can't thank you enough. I assume you know how important even such a massively delayed 1st playthrough of Torment is.

--

I'd just like to interject here and point out that I'm not going to say anything to spoil the mood, Chief. I'll just float here and watch. Don't mind me, just sitting here, floating and watching, that's me.

This is interesting, a four year old bug that you fixed only today, and now I have the exact same problem. Could you possibly upload the fix (that would really be useful) or at least describe it in more detail? I didn't understand exactly what code segment to move from exactly where to exactly where.

Both "portals" you've described should work automatically when you approach them. For whatever reason it sometimes didn't work even on old machines and is Infinity Engine problem. The solution was to save the game, restart, load and approach the area where the portal is again.

There is also a third such place (hint: shard/desert) that is not a portal but will trigger some lines of text.

I've never used 3rd party fixes for PST as practically the only thing seriously bugged was the spell that applied on you an effect permanently till you or your party member die and is revived/resurrected.

Messing with scripts if you're not 100% certain what you're doing is not advisable. Infinity engine executes a script from top to bottom. If there is an error at some point in the middle of the script, instead of game crash or something, the game will ignore completely the rest of the script but will continue to behave like nothing seriously happened!

What does this mean? If the area script is returning an error somewhere, it's highly possible that the part that should trigger the portal is not executing at all!
How to fix this? Simply by moving potal lines in front of everything else. That way you're 100% certain the portal will trigger.

Since years have passed and I don't have tools to do it any more I can't help you here, but I did exactly that when I've made a fix in the script for "Bodhi not appearing" bug in SoA. She didn't appear because the previous lines sometimes returned an error (if a certain cutscene already played) which prevented the rest of the script from executing, in fact the spawning of Bodhi. The solution was to move the part that sometimes gives an error to the end of the script.

Originally Posted by trias
This is interesting, a four year old bug that you fixed only today, and now I have the exact same problem. Could you possibly upload the fix (that would really be useful) or at least describe it in more detail? I didn't understand exactly what code segment to move from exactly where to exactly where.

Thanks!

It's fairly simple, I'm not sure if I can upload the files themselves so I'll give you instructions and if you run into a problem I'll upload the file.

Download & Run Near Infinity. Link provided by figment in post #2, otherwise head to Sourceforge.

Browse to your installation folder and select the .key file to run the program. In my case it was CHITIN.KEY

Navigate through the interface and locate "0901PORT.BCS"

In the text editor part of the program simply paste the lines embedded as code in post #4 of this thread below the already existing code (starting from line 9 in my case)

Ensure there are no errors

Press Compile

Then Save

And finally Overwrite.

It's obviously a mere workaround. That shouldn't make a difference if you've already looted whatever there is to loot and are ready to depart but since all it really does is reverse the (broken) behaviour intended by the people behind the fixpack it couldn't be used by them and whatever error caused the problem is just sidestepped.

Edit: Heh, That took a while to write. Started before joxer.

--

I'd just like to interject here and point out that I'm not going to say anything to spoil the mood, Chief. I'll just float here and watch. Don't mind me, just sitting here, floating and watching, that's me.

Yea, sorry I couldn't really help, while I was dealing with SoA problems and making a fixpack, the one who did the job for PST back then was Platter. When BiS forum got shut down, I lost the contact with him, but if you can find Platter's fixpack somewhere, it's possible it contains the solution of the issue already.

Originally Posted by joxer
Yea, sorry I couldn't really help, while I was dealing with SoA problems and making a fixpack, the one who did the job for PST back then was Platter. When BiS forum got shut down, I lost the contact with him, but if you can find Platter's fixpack somewhere, it's possible it contains the solution of the issue already.

I'd just like to interject here and point out that I'm not going to say anything to spoil the mood, Chief. I'll just float here and watch. Don't mind me, just sitting here, floating and watching, that's me.

Thanks, I managed to figure it out and complete the game with your info even before you posted the detailed guide. Very cool - but I think the "ultimate" fixpack is not that ultimate - I had some other bugs before too including Morte not getting abducted after the Alley of Lingering Sighs. I think a lot of people will replay the game in the coming months because of Torment: Tides of Numenera

Glad I was able to help. You finished the game already? I have to get back to the main quest then. Been bothering with Sigil's merchants for too long.

--

I'd just like to interject here and point out that I'm not going to say anything to spoil the mood, Chief. I'll just float here and watch. Don't mind me, just sitting here, floating and watching, that's me.

Originally Posted by Kostaz
I think I found a workaround!
…
figment, I can't thank you enough. I assume you know how important even such a massively delayed 1st playthrough of Torment is.

Wow that was quick. Glad I could assist in pointing you in the right direction in any case. I absolutely understand the importance of the first playthrough of Torment and sad to hear yours is not perfect but can be continued never the less.

PS:T is my favorite game of all time (well near tossup with BG2) so hope you enjoy the rest as much as many of us have. Ravel was great but my favorite part is still yet to come.

Additional note : if you're on GNU/Linux, NearInfinity will be confused by the case-sensitivity, you may have to copy/symlink/rename files to uppercase so it'll work. I had to do it for : CS_0901.BIF, Override folder, ACTION.IDS and IDSFILES.BIF