Anyway its crashing here:
VOID WaterAdjust(short florhit, LONGp loz)
{
switch (TEST(florhit, HIT_MASK))
{
case HIT_SECTOR:
{
int norm_sector = NORM_SECTOR(florhit);
SECT_USERp sectu = SectUser[norm_sector];
if (sectu && sectu->depth)
*loz += Z(sectu->depth);
}
break;
case HIT_SPRITE:
break;
}
}where at norm_sector = NORM_SECTOR(florhit), the return is ALWAYS the same as florhit, which is causing a crash at the IF statement cause sectu has a invalid memory address.
My question is what does this macro do: #define NORM_SECTOR(val) ((val) & (SIZ(sector) - 1)), and do you guys know if any of the new polymer changes would effect this part of the code.

Help
Duke4.net
DNF #1
Duke 3D #1


