The hitscan function seems to be giving different results recently. I noticed it a few days ago. It came to my attention because of this code that I use in my Hypercore mod:
getplayer[THISACTOR].ang angvar
getplayer[THISACTOR].horiz z
subvar z 100
mulvar z -2048
cos mycos angvar
sin mysin angvar
// horiz at 0 z angle is 100; pos for up, neg for down
hitscan player[THISACTOR].posx player[THISACTOR].posy player[THISACTOR].posz player[THISACTOR].cursectnum mycos mysin z hitsector hitwall hitsprite hitx hity hitz clipmask
ifvare player[THISACTOR].curr_weapon 1
ifvare player[THISACTOR].weapon_pos 0
ifvare player[THISACTOR].transporter_hold 0
{
espawn LASERSITE
setvarvar xydist sprite[THISACTOR].x
subvarvar xydist hitx
mulvarvar xydist xydist
setvarvar tempb sprite[THISACTOR].y
subvarvar tempb hity
mulvarvar tempb tempb
addvarvar xydist tempb
sqrt xydist xydist
ifvarg xydist 512
{
setvarvar temp hitx
addvar temp 128
addvar angvar 1024
rotatepoint hitx hity temp hity angvar tempb tempc
setsprite RETURN tempb tempc hitz
}
else
setsprite RETURN hitx hity hitz
}
What happens now is that the LASERSITE gets spawned on sector boundaries that are not blocking walls, whereas before it did not. And I did not change my code. For example, if there is a shading sector that is not raised out of the ground at all, the hitscan will hit the walls of that sector like they were solid raised walls blocking the player's view. This only started happening very recently; it can't have been more than a week since the revision that started it.
Given the general nature of the hitscan function, this is potentially a very serious problem. However, I would have expected to find other evidence of a general problem by now, like monsters being unable to see the player.
EDIT: The clipmask I use is 4294901808. I have been using that value all along, and have not changed any of the code. The hitscan goes to where the player is looking. The inaccurate hitscans don't happen on every sector boundary, but it happens a lot. A good example is the shadow of the vent shaft that you come down in E1L1. Hitscan gets blocked by the shading sector.