Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#6504 closed defect (fixed)

RINGWORLD2: Crash after scanning for ARM

Reported by: eriktorbjorn Owned by: Strangerke
Priority: normal Component: Engine: TsAGE
Keywords: Cc:
Game: Return to Ringworld

Description

English CD version of the game.

After leaving the village and scanning for the location of ARM, I suggested a frontal assault as the most prudent course of action. The game disagreed, and crashed with the following backtrace:

#0 0x090831be in TsAGE::StripManager::signal (this=0x9e84d74)
at engines/tsage/converse.cpp:844
#1 0x08e72739 in TsAGE::Action::attached (this=0x9e84d74, newOwner=0x9e84d48,
endHandler=0x9e84d48, va=0xbffb90fc "\a") at engines/tsage/core.cpp:239
#2 0x08e723f7 in TsAGE::EventHandler::setAction (this=0x9e84d48,
action=0x9e84d74, endHandler=0x9e84d48) at engines/tsage/core.cpp:164
#3 0x09082643 in TsAGE::StripManager::start (this=0x9e84d74, stripNum=409,
owner=0x9e84d48, callback=0x0) at engines/tsage/converse.cpp:638
#4 0x09082fe0 in TsAGE::StripManager::signal (this=0x9e84d74)
at engines/tsage/converse.cpp:793
#5 0x08e726da in TsAGE::Action::dispatch (this=0x9e84d74)
at engines/tsage/core.cpp:226
#6 0x09082f3f in TsAGE::StripManager::dispatch (this=0x9e84d74)
at engines/tsage/converse.cpp:777
#7 0x08fe1990 in TsAGE::Scene::dispatch (this=0x9e84d48)
at engines/tsage/scenes.cpp:327
#8 0x08f1b1bb in TsAGE::Ringworld2::SceneExt::dispatch (this=0x9e84d48)
at engines/tsage/ringworld2/ringworld2_logic.cpp:416
#9 0x08e80540 in TsAGE::SceneHandler::dispatch (this=0x9eeb8f0)
at engines/tsage/core.cpp:4459
#10 0x08e7fb31 in TsAGE::GameHandler::execute (this=0x9eeb8f0)
at engines/tsage/core.cpp:4263
#11 0x08fe2da2 in TsAGE::Game::execute (this=0x9eeb8e0)
at engines/tsage/scenes.cpp:616
#12 0x08e6eb4d in TsAGE::TSageEngine::run (this=0x9cfae20)
at engines/tsage/tsage.cpp:134
#13 0x08051dbc in runGame (plugin=0x9d10ca0, system=..., edebuglevels=...)
at base/main.cpp:242
#14 0x08052cfc in scummvm_main (argc=4, argv=0xbffff2f4) at base/main.cpp:487
#15 0x08050a43 in main (argc=4, argv=0xbffff2f4)
at backends/platform/sdl/posix/posix-main.cpp:45

The line it crashes on tries to access _lookupList[], like so:

int f16Index = _lookupList[obj44._field16[0] - 1];

Unfortunately, _lookupList is 0.

Ticket imported from: bugs/6504.

Attachments (1)

ringworld2-cd.012 (18.0 KB ) - added by eriktorbjorn 6 years ago.

Download all attachments as: .zip

Change History (7)

by eriktorbjorn, 6 years ago

Attachment: ringworld2-cd.012 added

comment:1 by Strangerke, 6 years ago

Owner: set to Strangerke
Resolution: fixed

comment:2 by Strangerke, 6 years ago

Fixed in 6c2ce625d86e81af3b351c59d1b8ea5c7cede625

comment:3 by eriktorbjorn, 6 years ago

It seems the responses are swapped, or maybe the random number generator is playing tricks on me. In ScummVM, I get this reply first:

"I vote we go attack the ARM headquarters. Frontal assault!"
"Are you star-dusted?! For one thing, the Lance of Truth isn't armed!"
"For another thing, the ARM would detect us before we got within a thousand miles of the Base!"
"And for another thing..."

In DOSBox, I only get this reply if I suggest it a second time.

comment:4 by Strangerke, 6 years ago

Fixed in 4d16b4ef193ba1e0137f166893ddb07b59bd96fb

comment:5 by eriktorbjorn, 6 years ago

Status: newclosed

comment:6 by eriktorbjorn, 6 years ago

Seems to be working now.

Note: See TracTickets for help on using tickets.