So the first thing I'm noticing with the new build is, my in-game mouse cursor code is broken by mouse aiming changes. I have been detecting the difference between the ang and oang in the player struct to determine how much to move the cursor left and rigfht for my menus. That doesn't work at all now, my cursor is just frozen on the x axis, even though the player is able to look around normally (which is also not supposed to happen). Likewise I have been using the difference between horiz and ohoriz to determine y axis cursor movement. That's also broken most of the time, and when it does it ignores the mouseflip setting.
Here is the code I have been using, pretty much for the last 10 years, to lock the player down while setting cursor position for my in game menus:
state in_menu
setp[].knuckle_incs 0
setp[].crack_time 0
setp[].movement_lock 31
seta[].htextra -1
setp[].kickback_pic 0
setp[].jumping_counter 0
setp[].weapon_pos -9
setp[].quick_kick 0
getp[].ang temp
getp[].oang tempb
set cmode 0
getincangle angvar temp tempb
div angvar 3
sub cursorx angvar
setp[].ang player[].oang
ifl cursorx 0 set cursorx 0
ifg cursorx 320 set cursorx 320
getp[].horiz temp
getp[].ohoriz tempb
sub temp tempb
getuserdef[].mouseflip tempc
ife tempc 0
add cursory temp
else
sub cursory temp
ifl cursory 0 set cursory 0
ifg cursory 200 set cursory 200
setp[].horiz 100
ends
A quick investigation shows that the player ang and oang are always the same now. .oang is supposed to be the player's ang from the previous tic. That explains why my cursor doesn't move. Likewise .horiz and .horiz are the same. It also explains why setting the player's .ang to .oang doesn't lock the angle in place. It seems that they are now instantly both updated to the same value.