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.