loading tapes in supaplex while dead may freeze the game

Found a bug in R'n'D? Report it here!

Moderators: Flumminator, Zomis

Post Reply
ncrecc
Posts: 246
Joined: Thu Jul 12, 2018 12:59 am

loading tapes in supaplex while dead may freeze the game

Post by ncrecc »

method 1:
  1. in a level that uses the supaplex engine, insert a tape that solves the level (or record one yourself)
  2. start the level, then die to something
  3. while you are dead, press f2 to quick-load the tape
method 2:
  1. start a level that uses the supaplex engine (regardless of what tape is saved), then die to something
  2. while you are dead, press f4 for "replay & pause before end"
the game will freeze after reloading the level.

here is a tape for level 26 of supaplex you can try this with.
026.tape
(167 Bytes) Downloaded 48 times
4.4.0.0 pre-release 3, windows 10
BryanFRitt
Posts: 237
Joined: Mon Nov 13, 2017 4:16 pm

Re: loading tapes in supaplex while dead may freeze the game

Post by BryanFRitt »

Just tried this, It's not exactly frozen, but still processing something at like 100000 FPS using 100% CPU usage of a single core/thread (not stopping), and can still exit the level with ESC. (Using Linux)
Strike a balance between generating new things/ideas, and being good/organized. The results are between a gibberish mess and nothing said/done. -
I've completed the core R'n'D levels! except for classic_emerald_mine Level 91 which needs two R'n'D brains!
User avatar
Holger
Site Admin
Posts: 4178
Joined: Fri Jun 18, 2004 4:13 pm
Location: Germany
Contact:

Re: loading tapes in supaplex while dead may freeze the game

Post by Holger »

Thanks a lot for reporting this terrible bug!

Luckily, this bug only exists in the pre-release versions for the upcoming version 4.4.0.0, but not in the last "stable/official" version. (Not that anybody really cares about what I have tagged "official" or "pre-release", that is... :wink: But that's a good thing, so such bugs are detected early.)

In fact, this bug has even worse consequences than described, messing up quite some more things once "activated". :(

Some bug trivia: This horrible bug was introduced by a quite small, unimportant change (which only purpose was to continue animating the playfield during request door movement after the player has died, for purely graphical / aesthetical purposes). It took only a few minutes to find the commit that introduced the bug (using "git bisect"). But I needed about half a day of debugging to find out what really went wrong technically. Fixing it was then a matter of a few minutes again. Conclusion: R'n'D has grown way too complex and should cleanly be rewritten. Added that task to my todo list... :D
Post Reply