Client crash after pressing switch in Valiant.wad
Created attachment 562 [details]
Git build: e307cc1a. Hard crash after pressing the first switch in valiant.wad MAP01. You can noclip right through the first door and up to the platform on the right to activate the switch, which results in a hard crash. Happens reliably. Crash dump is attached.
Created attachment 565 [details]
Error seen in GZDoomBuilder
After debugging it, the problem has been reported in
bool P_SetMobjState(AActor *mobj, statenum_t state, bool cl_update).
After checking Valiant MAP01 in Doom Builder, I noticed this happened because of a voodoo doll.
This happens because of the custom pinky in the closet. It looks like it's a dehacked parsing issue because the state it's attempting to set is an invalid number (1074) which overflows the state buffer which is size 1005.
This is actually happening because the DeHackEd is referring to a state frames in the global state table that does not exist in Odamex.
MBF has a number of extra frames in this table that handle states for things like the Helper Dog and the Beta BFG. Odamex simply does not have as many states in this table, despite having some ZDoom items and the CTF flags.