Opened 3 weeks ago

Closed 3 weeks ago

#15454 closed defect (fixed)

DGDS: Crash when clicking on a box in the shelf

Reported by: windlepoons Owned by: mduggan
Priority: normal Component: Engine: DGDS
Version: Keywords:
Cc: Game: Rise of the Dragon

Description

If you click with the loupe on the second shelf in the left cupboard in the apartment at the beginning, and then right-click on one of the two right-hand boxes (Fisto Oatmeal, Fisto Powdered H2O) in the close-up, the game crashes and opens the ScummVM debugger console.

The following message appears in the external console with scummvm -d11:

WARNING: getGlobal: requested non-existing global 106!
Cond: SceneCondition<flg 0x0f(global|lessequal-not(abs)) num 106 val 1> -> false
WARNING: getGlobal: requested non-existing global 106!
Cond: SceneCondition<flg 0x0b(global|lessequal(abs)) num 106 val 1> -> true
Exec SceneOp<op: showdlg args: [41]
  conditionList=
    SceneCondition<flg 0x0b(global|lessequal(abs)) num 106 val 1>
>
Exec SceneOp<op: global args: [1 106 9 1]>

Tested with English GOG and German PC version.

ScummVM 2.9.0git10435-gcea5b29fb5d (Nov 3 2024 04:10:17)
OS: Siduction (Debian/sid)

Attachments (1)

scummvm-rise.png (23.3 KB ) - added by windlepoons 3 weeks ago.

Download all attachments as: .zip

Change History (3)

by windlepoons, 3 weeks ago

Attachment: scummvm-rise.png added

comment:1 by mduggan, 3 weeks ago

Thanks - I hadn't found any set operations on non-existent globals so I'd left it as error, but you found one so I guess it can be dropped to warning! I'll do that.

Digging through the scene code, the purpose of global 106 was to alternate this dialog - clicking on the box a second time would show dialog 40, which is the message:
---
Fisto Inc. is a multinational organization which produces products as varied as field flux generators and breakfast pellets.'
---

I double-checked that this doesn't happen in dosbox either, so this message was deliberately or accidentally cut from the game when global 106 was disabled (globals 105 and 107 exist). Cool.

comment:2 by mduggan, 3 weeks ago

Owner: set to mduggan
Resolution: fixed
Status: newclosed

In 0880fd91:

DGDS: Drop non-existent global set to warning.

This happens when you right-click on the Fisto box in RotD.

This fixes #15454.

Note: See TracTickets for help on using tickets.