Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#2782 closed defect

FOA: No mouse cursor in combats

Reported by: SF/cap_gemo Owned by:
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game: Indiana Jones 4

Description

I used ScummVM 0.8 under Ubuntu Linux (downloaded
from a package repository) and ScummVM 0.9 under
Windows XP Home. In both cases I found the following
bug, playing "Indiana Jones and the Fate of
Atlantis" (english CD version):

Everytime, when there is some action (the panels
with commands and inventory dissapear), for example in
combats the mouse cursor becomes invisible. And in
combats it is very bad, because I can't win any
combat, without seeing the mouse.

I don't attach any save, because the first combat
can happen at the very beginning of the game: You go
the back door, the doorman comes out, you insult him
and then fight him.

If you could correct this bug, this would be very
nice.

cap_gemo

Ticket imported from: #1539552. Ticket imported from: bugs/2782.

Change History (22)

comment:1 by SF/cap_gemo, 13 years ago

By the way, I discovered the same problem today also by
Monkey Island. Sometimes the mouse cursor simply
disappears. However, it is no problem in this game. But as
I said, in "Indy" I can't win any combat... :(

comment:2 by eriktorbjorn, 13 years ago

Fate of Atlantis defaults to keyboard-controlled combat.
Consult your manual for information on how to switch between
keyboard and mouse control.

About Monkey Island, it would be useful if you would provide
information about which of the games you mean, and when it
happens. (The cursor is hidden during non-interactive
scenes, but I assume that's not what you meant.)

comment:3 by SF/cap_gemo, 13 years ago

Hm... I played this game (I mean, "Fate Of Atlantis")
several years ago in DOS-Mode (without ScummVM) and I never
found there option to switch to keyboard control.

Now, when I run it with ScummVM, pressing F5 displays me
the main ScummVM-menu, where I can configure sound-options,
save or load games. All other keys don't do anything. I
have really no idea, how to switch this thing in keyboard
mode. I don't have the manual, and I have found nothing in
Internet :(

By the way, you were right about Monkey Island. The
cursor is hidden during non-interactive scenes - that's
what I meant. OK, it doesn't matter.

Coming back to Indy, I think, that if even there is a
possibility to combat in keybard mode, I still think it's a
bug, that you can't do it with the mouse.

Well, actually you can. I mean, when you for example play
in window-mode, you can bring the mouse outside the ScummVM-
Window, then move it a little bit, to coordinate the moving
of the mouse with the moving of the hand, and then move it
back again to the window. If you have luck, the cursor
lands somewhere near Indy's enemy and pressing the mouse-
buttons will do it. But you don't see the cursor. And if
luck is not with you, you land somewhere else, and pressing
the buttons doesn't do anything. Indy is beaten :(

I don't understand anything in programming, so my idea is
probably ridicilous, but I think, it could be the same
problem, that happens with Monkey Island. Maybe somehow
ScummVM "thinks" of combat scenes as non-interactive scenes?

Thanks anyway. I hope, I will find somewhere the way, to
switch it into keyboard-mode.

comment:4 by eriktorbjorn, 13 years ago

> I don't have the manual,

You mean you lost it, or you bought a second-hand copy where
the manual was missing? Since the latter has happened to me
a couple of times when buying second-hand games, I hope I'm
not saying too much if I say the "f" key switches keyboard
fighting on/off.

comment:5 by eriktorbjorn, 13 years ago

> I don't have the manual,

You mean you lost it, or you bought a second-hand copy where
the manual was missing? Since the latter has happened to me
a couple of times when buying second-hand games, I hope I'm
not saying too much if I say the "f" key switches keyboard
fighting on/off.

comment:6 by SF/cap_gemo, 13 years ago

Yes you are right, thank you very much. The "f" key
really does it. It switches the keyboard combat mode on and
off. I still need to find out, which keys do I have to use
to fight, but I'll try to find it somewhere in Internet.

P.S. But still I think, it is a bug, that the mouse
cursor disappears. Ok, doesn't matter.

comment:7 by eriktorbjorn, 13 years ago

No, that the mouse is hidden in keyboard fighting mode is a
design decision made by LucasArts. It's the game scripts,
not ScummVM, that does that. This is what it looks like in
one of the scripts, that's presumably used during fights:

[01E5] (A8) if (Bit[107]) {
[01EA] (14) print(252,[Color(8),Text("Keyboard
Fighting On")]);
[0204] (1A) Bit[107] = 0;
[0209] (2C) CursorHide()
[020B] (18) } else {
[020E] (14) print(252,[Color(8),Text("Keyboard
Fighting Off")]);
[0229] (1A) Bit[107] = 1;
[022E] (2C) CursorShow()
[0230] (**) }

Now, what *could* be a ScummVM bug is that the game defaults
to keyboard fighting, even though you almost certainly have
a mouse. The game's boot script sets keyboard fighting mode
if the MOUSE_PRESENT variable is less than 2. ScummVM sets
it to 1.

comment:8 by SF/cap_gemo, 13 years ago

Oh no, you're not quite right, I suppose. I have just run
Fate Of Atlantis WITHOUT ScummVM under my WinXP, and the
mouse cursor was really invisible in non-interactive
scenes, BUT it was VISIBLE during the combat!

P.S. But the sound didn't work - it works only with
ScummVM.

comment:9 by eriktorbjorn, 13 years ago

And you're quite sure keyboard fighting mode was on when
running it in Windows XP? As I pointed out, it's possible
that ScummVM is wrong in defaulting to this mode, and as you
already observed yourself, you can use the mouse in both modes.

comment:10 by SF/cap_gemo, 13 years ago

No, I haven't said that. The mouse mode was activated. Or
maybe the keyboard mode, if you're right abou that one can
also use mouse to fight in keyboard mode.

What I'm talking about, is:

If you run the game WITHOUT ScummVM you SEE the mouse
cursor during combats and you are ABLE to fight in mouse
mode.

If you run it WITH ScummVM you DON'T SEE the mouse cursor
during combats and you CAN'T fight in mouse mode (well, you
can, if somehow you have good luck, and the mouse is in
right position, as i described earlier).

And THAT is the bug of ScummVM, I think. Maybe I'm not
right, but it seems, ScummVM considers combats as non-
interactive scenes. Everytime the inventory panel
dissapears, the mouse cursor does it too. And during
combats this also happens - the inventory panel is not
visible. But the mouse cursor should be visible.

comment:11 by sev-, 13 years ago

It seems that you just didn't read eriktorbjorn's comment
very well.

When you run in WinXP, engine detects your mouse, and turns
on mouse-driven combat, cursor is visible.

Under ScummVM keyboard-driven combat is turned on by
default, hence no mouse cursor.

Eriktorbjorn, is there any regression when that variable is
set to 2? May be it is number of mouse buttons?

comment:12 by SF/cap_gemo, 13 years ago

2 sev:

eriktorbjorn wrote: the "f" key switches keyboard fighting
on/off.

eriktorbjorn wrote: you can use the mouse in both modes.

Under ScummVM I switched modes with the "f"-key, and it did
work, but the mouse cursor was INVISIBLE during the combat in
BOTH modes.

Without ScummVM the mouse cursor was VISIBLE during the combat
also in BOTH modes.

Under ScummVM mouse is also well detected and mouse cursor is
visible, in all interactive scenes. In combat scenes mouse also
WORKS, but the cursor is INVISIBLE.

I don't know, if it is a bug in Fate Of Atlantis or in
ScummVM, but it is 100% a bug.

comment:13 by eriktorbjorn, 13 years ago

cap_gemo wrote:

> Under ScummVM mouse is also well detected and mouse cursor is
> visible, in all interactive scenes.

Well, ScummVM knows that you have a mouse, of course.
(Actually, I haven't tried what happens if you don't, but
never mind.) The MOUSE_PRESENT variable is so that the
*game* can know whether or not you have a mouse, and act
differently depending on it.

It seems that the early games used to check your hardware
more carefully than the later ones, and degrade gracefully
if it's not good enough. E.g. there are scripts in Monkey
Island 2 that checks if your computer can play digitized
sounds, and Zak McKraken plays a different intro if it
thinks your computer is too slow.

> Under ScummVM I switched modes with the "f"-key, and
it did
> work, but the mouse cursor was INVISIBLE during the combat in
> BOTH modes.

Strange. I can say for certain that this is *not* the case
with the version I have (English talkie). At least not when
fighting the doorman at the beginning of the game. So for me:

Keyboard Fighting On: Mouse cursor is visible during fights.
Keyboard Fighting Off: Mouse cursor is invisible during fights.

Both mouse and keyboard controls work in either mode, so the
only difference I can see is whether or not the mouse cursor
is visible.

> Maybe I'm not right, but it seems, ScummVM considers combats
> as non-interactive scenes. Everytime the inventory panel
dissapears,
> the mouse cursor does it too.

Except for the very early games, the look-and-feel of a
SCUMM game is almost entirely scripted. I don't think
ScummVM has any good way of knowing what's an interactive
scene and what isn't, and I'm fairly sure the cursor is
shown/hidden only at the request of the game scripts.

sev wrote:

> Eriktorbjorn, is there any regression when that variable is
> set to 2? May be it is number of mouse buttons?

I don't know. I didn't notice any, but I only played it very
briefly. My FoA manual is still packed away since the move,
but I don't recall it using more than one mouse button for
fighting. (Unless there's a way of doing the "sucker punch"
with the mouse that I don't remember.)

comment:14 by Kirben, 13 years ago

I just checked disasm. of original game:

VAR(VAR_MOUSEPRESENT) is set to a default of 1.
If mouse is usable:
VAR(VAR_MOUSEPRESENT) is set to 3
Otherwise, if joystick is usable:
VAR(VAR_MOUSEPRESENT) is set to 2

So the original game would use mouse fighting by default,
if a mouse or joystick was usable.

comment:15 by eriktorbjorn, 13 years ago

Sounds like the variable is inappropriately named, then.
Perhaps it should be called VAR_INPUTMODE instead, to
correspond with VAR_VIDEOMODE.

Do you know if this behaviour is specific to Fate of
Atlantis, or if it holds true for all version >= 5 games?

comment:16 by fingolfin, 13 years ago

Summary: No mouse cursor in combatsFOA: No mouse cursor in combats

comment:17 by Kirben, 13 years ago

VAR_MOUSEPRESENT is specific to SCUMM 5 - 6 games, but only
used by script 1 of FOA.

I renamed VAR_MOUSEPRESENT to VAR_INPUTMODE as suggested
and set the default input type to mouse mode.

comment:18 by eriktorbjorn, 13 years ago

So what is the status of this? I know nothing at all has
changed in whether or not the cursor is shown, but it should
default to mouse fighting mode now.

comment:19 by eriktorbjorn, 13 years ago

It's been more than a week now. Marking as Pending, unless
someone has a better suggestion.

comment:20 by eriktorbjorn, 13 years ago

Status: newpending

comment:21 by SF/sf-robot, 13 years ago

This Tracker item was closed automatically by the system. It was
previously set to a Pending status, and the original submitter
did not respond within 14 days (the time period specified by
the administrator of this Tracker).

comment:22 by SF/sf-robot, 13 years ago

Status: pendingclosed
Note: See TracTickets for help on using tickets.