Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#12913 closed defect (fixed)

Ultima8 freezes after last dead necromancer and entering another map

Reported by: jamokoo Owned by: mduggan
Priority: normal Component: Engine: Ultima
Version: Keywords:
Cc: Game: Ultima VIII: Pagan

Description

version:
scummvm windows-x86-64-master-53b9a14c

log text:

[2021-09-08 02:32:53] WARNING: Teleport!!!!!!!!!
[2021-09-08 02:32:53] WARNING: Unloading map 62!
[2021-09-08 02:32:53] WARNING: Unloading Fixed items from map 62!
[2021-09-08 02:32:53] WARNING: Warning: value popped into a flag it doesn't fit in (196 3 2)!
[2021-09-08 02:32:53] WARNING: Warning: value popped into a flag it doesn't fit in (103 3 1)!
[2021-09-08 02:32:53] WARNING: Warning: value popped into a flag it doesn't fit in (112 3 1)!
[2021-09-08 02:32:53] WARNING: Warning: value popped into a flag it doesn't fit in (1dd 4 1)!
[2021-09-08 02:32:55] WARNING: Seem to be stuck in process loop - killing current process!
[2021-09-08 02:32:55] WARNING: Seem to be stuck in process loop - killing current process!
[2021-09-08 02:32:55] WARNING: Seem to be stuck in process loop - killing current process!
[2021-09-08 02:32:55] WARNING: Seem to be stuck in process loop - killing current process!
[2021-09-08 02:32:55] WARNING: Seem to be stuck in process loop - killing current process!
[2021-09-08 02:32:55] WARNING: Seem to be stuck in process loop - killing current process!
[2021-09-08 02:32:55] WARNING: Seem to be stuck in process loop - killing current process!
[2021-09-08 02:32:55] WARNING: Seem to be stuck in process loop - killing current process!
[2021-09-08 02:32:55] WARNING: Seem to be stuck in process loop - killing current process!
[2021-09-08 02:32:55] WARNING: Seem to be stuck in process loop - killing current process!
[2021-09-08 02:32:55] WARNING: Seem to be stuck in process loop - killing current process!
[2021-09-08 02:32:55] WARNING: Seem to be stuck in process loop - killing current process!
[2021-09-08 02:32:55] WARNING: Seem to be stuck in process loop - killing current process!
[2021-09-08 02:32:55] WARNING: Seem to be stuck in process loop - killing current process!
[2021-09-08 02:32:55] WARNING: Seem to be stuck in process loop - killing current process!
[2021-09-08 02:32:55] WARNING: Process queue is empty?! Aborting.!
[2021-09-08 02:32:55] WARNING: Process queue is empty?! Aborting.!
[2021-09-08 02:32:55] WARNING: Process queue is empty?! Aborting.!
[2021-09-08 02:32:55] WARNING: Process queue is empty?! Aborting.!
[2021-09-08 02:32:55] WARNING: Process queue is empty?! Aborting.!
[2021-09-08 02:32:55] WARNING: Process queue is empty?! Aborting.!
[2021-09-08 02:32:55] WARNING: Process queue is empty?! Aborting.!
[2021-09-08 02:32:55] WARNING: Process queue is empty?! Aborting.!
[2021-09-08 02:32:55] WARNING: Process queue is empty?! Aborting.!
[2021-09-08 02:32:55] WARNING: Process queue is empty?! Aborting.!

Attachments (1)

ultima8.001 (239.2 KB ) - added by jamokoo 3 years ago.

Download all attachments as: .zip

Change History (9)

by jamokoo, 3 years ago

Attachment: ultima8.001 added

comment:1 by mduggan, 3 years ago

Thanks for the report and attaching the savegame, that should make it easy to repro.

I'll take a look at this soon as it's almost certainly something broken by my process-loop workaround .

I may have to bump the threshold for detection really high here and settle for a really janky experience when a real process loop happens in Crusader (ie, lock up the game for 2-3 seconds), but it will still be better than stopping forever (as it did with no workaround) or breaking something else (with too low a workaround).

comment:2 by mduggan, 3 years ago

Game: Ultima VIII: Pagan
Owner: set to mduggan
Resolution: fixed
Status: newclosed

Fixed in 8552d9515d51ab0fe31807671558adb107cee5c7. I put the threshold much higher so all U8 map transitions should be fine, and Crusader won't lock up forever (just a fairly annoying amount of time..)

comment:3 by mduggan, 3 years ago

Also picked the fix over to the current release branch (branch-2-3).

comment:4 by jamokoo, 3 years ago

I haven't tested it yet but it's nice to see fast reaction :). There is lots of improvements that could be made to the game (like bigger backpack and bags area so it would be easier to drag items there, auto merge same items, store open bag etc. locations and keep them open if opened and so on.) I'm not sure what is the priority to improve things or is the plan just to fix bugs.

I am a programmer in my work and i am interested to learn game coding. Perhaps i could start to learn and help somehow with this game engine. Is there any help needed?

comment:5 by mduggan, 3 years ago

If you want to propose improvements I'm always open to taking a look at PRs, sure!

I had thought about how I could make the backpack bigger - it's a common complaint about U8. Your other ideas sound like nice quality-of-life improvements too. If you want to take a look at the code it's at https://github.com/scummvm/scummvm/tree/master/engines/ultima/ultima8

I can help out with an overview of it, ScummVM Discord is probably the easiest for that.

comment:6 by mduggan, 3 years ago

As a followup here I tweaked the fix again in 62c4cea44b19faf66efe1ffc2b2858435b9f5f91 as the increased value broke Crusader too much.

comment:7 by jamokoo, 3 years ago

just wondering why you cant use if(CRUSADER) use this value else use another value :)

comment:8 by jamokoo, 3 years ago

ok you did that already. did not check the change before commenting

Note: See TracTickets for help on using tickets.