M_CatagorizePosition
(SubgameEntity ent, GameExportsImpl gameExports)
| 228 | * M_CatagorizePosition |
| 229 | */ |
| 230 | public static void setWaterLevel(SubgameEntity ent, GameExportsImpl gameExports) { |
| 231 | float[] point = { |
| 232 | ent.s.origin[0], |
| 233 | ent.s.origin[1], |
| 234 | ent.s.origin[2] + ent.mins[2] + 1 |
| 235 | }; |
| 236 | |
| 237 | int pointContents = gameExports.gameImports.getPointContents(point); |
| 238 | |
| 239 | if (0 == (pointContents & Defines.MASK_WATER)) { |
| 240 | ent.waterlevel = 0; |
| 241 | ent.watertype = 0; |
| 242 | return; |
| 243 | } |
| 244 | // we are in the water, let check how deep |
| 245 | ent.watertype = pointContents; |
| 246 | ent.waterlevel = 1; |
| 247 | point[2] += 26; |
| 248 | pointContents = gameExports.gameImports.getPointContents(point); |
| 249 | if (0 == (pointContents & Defines.MASK_WATER)) |
| 250 | return; |
| 251 | |
| 252 | ent.waterlevel = 2; |
| 253 | point[2] += 22; |
| 254 | pointContents = gameExports.gameImports.getPointContents(point); |
| 255 | if (0 != (pointContents & Defines.MASK_WATER)) |
| 256 | ent.waterlevel = 3; |
| 257 | } |
| 258 | |
| 259 | /** |
| 260 | * M_WorldEffects |
no test coverage detected