Action with out of bounds offset causes ungraceful crash
An action with a tile offset beyond MAXTILES will cause the engine to hard crash. No messages are displayed in the log file, the error only appears using the debug engine version.
From game.cpp:
t->picnum += frameOffset + apScript[scrofs_action + ACTION_STARTFRAME] + viewtype*curframe;
// XXX: t->picnum can be out-of-bounds by bad user code.
Bassert((unsigned)t->picnum < MAXTILES);
This was identified here, playing the 2011 mod "A.Dream trilogy" (conversation continues on to next page):
The modder is using an action with an offset to a tile ID with no art in order to make the actor appear invisible. While this is a valid (if non-typical) way to achieve that result, they did so by using an offset of 32768, putting the new picnum way beyond MAXTILES. Apparently this worked without issue upon release and all the way up until recently. Another user reports version r9651 is where the crash began, but I have not verified this myself.
Possible solution: Clamp t->picnum to MAXTILES and throw a log error, and/or write the error to log before crashing?