Opened 7 years ago

Closed 7 years ago

#9984 closed defect (fixed)

TITANIC: Doorbot doesn't show up on his own

Reported by: dafioram Owned by: dreammaster
Priority: low Component: Engine: Titanic
Version: Keywords:
Cc: Game: Starship Titanic


OS: Win7-64
Game: Titanic GOG version c
ScummVM: 1.10.0git-4012-g7b61e71

In the original engine if you wait around for about 3 mins the doorbot shows up offering advice. This doesn't happen in scummvm. I think he will show just about anywhere, but I tested in the lobby and in the top of the well.

If you just leave both games running and come back after a few minutes he should be in-front of you for the original engine, but not scummvm.

Change History (10)

comment:1 by dreammaster, 7 years ago

Owner: set to dreammaster
Resolution: fixed
Status: newclosed

Thanks for realising it was happening. I've applied a fix, but it will only take effect if you go right back to when you first enter the Top of the Well after checking in.. that's when the "idle summoner" is first started, and the corrected code takes effect.

comment:2 by dafioram, 7 years ago

Resolution: fixed
Status: closednew


They show up now, but way to fast, about 15 secs. I timed the original game and the bellbot/doorbot shows up after 2mins.

If I grab a drink, consult my notes, or use the rest room they will always show up with the timer set this low. This is for both the doorbot and bellbot.

If you made this short on purpose so that people would know that this assistance is available maybe only make it this short for the first time they visits?

comment:3 by dreammaster, 7 years ago

Resolution: fixed
Status: newclosed

Ah, sorry. You're right. I had the constant set for their appearance at 12 seconds rather than 120

comment:4 by dafioram, 7 years ago

Resolution: fixed
Status: closednew

Okay so your code is:

engines/titanic/game/idle_summoner.cpp #83
uint delay = region == 1 ? 15000 : 120000;

So if I am in the areas connected to the top of the world (region == 1) then the bellbot/doorbot appear every 15 secs. I don't think thats what you want and it happens if I am moving or not. Can we have the delay only count up if I am not moving and be something larger?

comment:5 by dreammaster, 7 years ago

Resolution: fixed
Status: newpending

Actually, the "region" in this case doesn't correspond to the in-game area, but to what area one of the NPC's dials are pointed to. In this case, '1' refers to the upper-half area which corresponds to happy/positive/etc. I double-checked the logic against the original and it seems to match. First of all, the bots will only appear in the Embarkation Lobby or the Top of the Well.

Secondly, if the BellBot's middle dial is in the upper half, then it will always be the one that appears, and about 15-20 seconds.. though there can be a minor delay of a few seconds due to starting up the animations, and likely delays due to renderings whilst the timer was active. The counter is reset if the player moves to a new node. Basically, the game is subdivided into "rooms", then "nodes", then "views". A room is an overall area, such as the Embarkatioon Lobby, or the Top of the Well. Nodes are the different positions you can stand within a room. And finally, views are the different directions you can face in whilst still be standing on the same node, like N, S, E, and W.

The BellBot is one of the bots you can control using the Cell Point Settings room. If you use the first device going clockwise from the entrance, and pull the lever, that'll put the BellBot's middle dial to a low setting. After that, it takes a little over 2 minutes staying on the same node for them to make an appearance, and either one can appear then.

I did some testing, and so long as you changed "nodes", the bots wouldn't appear. Such as walking in a big circle around the top of the well. If, however, you simply spin in place, then you're not actually leaving a node, and the BellBot will appear in 15 seconds or so, just like the original. Can you confirm that you're seeing the same behaviour?

comment:6 by dafioram, 7 years ago

I observed everything exactly as you have said except the timer does not reset between nodes.

E.x., If I walk in a circle around top of the well with all the cell points high for the bellbot then he will appear after 15 sec and 2mins if his middle setting is low.

When the bellbot's middle setting is low either the doorbot or the bellbot will appear every 2 mins in the lobby or the top of the well. The cell point settings for the doorbot middle and top and high.

Should the bellbot also being showing every 15secs if his middle/top cell settings are high?

comment:7 by dafioram, 7 years ago

Could you also have the doorbot/bellbot not show up at certain views/nodes? I was thinking particularly of the lobby facing the Succ-U-Bus. Its quite annoying to be sending items and have the bellbot step in front. The original doesnt do this.

comment:8 by dafioram, 7 years ago

and when talking to the deskbot

comment:9 by dafioram, 7 years ago

and when in the gondola

comment:10 by dreammaster, 7 years ago

Status: pendingclosed

I agree with your suggestions. I figured out the timer problem, and added in the special cases you suggested.

Note: See TracTickets for help on using tickets.