Sound stopping was done in the wrong place - this killed the sound before they could be serialized for hub travel.
The sound may only be stopped *after* calling G_DoCompleted.
(for some reason it was unable to figure out the overrides for 'lumpname' in the function g_level.cpp/CalcMapName, even though this is a very old function)
It's not obvious where we can reset blocking line in a more generic way, and whether it's possible at all, because this member is exposed to scripting
https://forum.zdoom.org/viewtopic.php?t=69747
Inventory items had dangling floor and ceiling sector pointers after transition to a new level
This could cause random issues with serialization
https://forum.zdoom.org/viewtopic.php?t=67494
* 0: previous behavior (completely MAPINFO controlled)
* 1: always show level tally at the end of an episode
* 2: always show level tally even when changing levels within a hub
This is now being managed by the main file system class. The single lumps should only concern themselves with the actual data they manage, not with how the file system presents them to the outside.
The IWAD detection code was also switched to use a file system wrapper instead of looking at the single files directly.
These were creating dangerous interdependencies. It is better to do explicit conversions when needed.
As an added plus, this means that zstring.h no longer depends on name.h which was very annoying.
Most importantly, specifying a patch may optionally disallow showing the autor's name - this is for cases where a styled patch gets used for English but text-based translations of the map name should still be possible.
Exit_Normal and Exit_Secret specials imply addition conditions to make a decision about proceeding to the next map
A few scriptified actors require a bypass of these conditions in order to work properly
Now it's no longer possible to manipulate TID hash from arbitrary location
For example, this prevents linking of destroyed object into the hash
TID member is still public but writing to it is limited to a few very specific cases like serialization and player traveling between levels
https://forum.zdoom.org/viewtopic.php?t=64476
* consolidated C_MidPrint and C_MidPrintBold.
* removed some unused code from the console buffer.
* handle console output of centered messages to ensure they get written to the log file and to stdout.
* replaced the non-standard bar strings with simple '-'s. These were making things needlessly complicated when redirecting console output and the new font does not have the characters anyway.
* removed some old code from a time when during console drawing new network events could come and have more text printed. This can not happen anymore with how 2D elements are being handled now so all this code was redundant.