Opened 2 years ago

Closed 2 years ago

#13235 closed defect (fixed)

Beavis and Butthead Virtual Stupidity

Reported by: Gamer12141 Owned by: eriktorbjorn
Priority: high Component: Engine: BBVS
Version: Keywords:
Cc: Game: Beavis & Butthead Virtual Stupidity

Description

When the game first loads up and you get the main menu if you decide to not start a new game but instead play Hock a Loogie mini game by itself it runs until you get a game over. It then crashes abruptly to desktop with no warning message. This is on 2.5.1 version of ScummVM. The other 3 mini games by themselves will go back to main menu like they should when you lose.

Again this only applies to the standalone mini games as starting a full game run via new game is different and seems to run fine from what I see.

My OS is Win 11 64 bit
Running on a ROG Laptop with 3070 graphics.

Oddly if I don’t launch via ScummVM and choose to play mini games outside they run perfect.

Change History (3)

comment:1 by eriktorbjorn, 2 years ago

What seems to happen in bbloogie.cpp is that when _levelTimeLeft reaches 0, the game state is set to kGSScoreCountUp.

The game isn't quite done yet, so run() will keep calling update(), which eventually leads to buildDrawList() calling buildDrawList3(). This function will loop through all 256 objects, but unusually it will try to access the object's ObjAnimation data even for objects that don't have one.

Perhaps it should exclude objects where obj->kind is 0, but there seems to be such objects that still have an animation? I don't get it.

If I do exclude those objects, the game prints "GAME OVER" and "HIGH SCORE: number", as expected, but the game doesn't seem to actually end.

comment:2 by Gamer12141, 2 years ago

I think though you can still go back to main menu with escape or likewise button mapped to your controller. As long as the game over does what it should with scoring and doesn’t cut out the voices at the end, along with not affecting the same mini game in regular game, I would honestly be ok with that.

comment:3 by eriktorbjorn, 2 years ago

Owner: set to eriktorbjorn
Resolution: fixed
Status: newclosed

I've tried running the original game (in Wine, since I don't have Windows), and it seems you're correct. You have to press Escape there too. I've committed the fix since it seems to match the original behavior. It should be in the next nightly build. Could you please try that?

Note: See TracTickets for help on using tickets.