#ifndef SURFACE_COLLISION_H #define SURFACE_COLLISION_H #include "../include/PR/ultratypes.h" #include "../../libsm64.h" #include "../include/types.h" #define LEVEL_BOUNDARY_MAX 0x2000 #define CELL_SIZE 0x400 #define CELL_HEIGHT_LIMIT 20000.f #define FLOOR_LOWER_LIMIT -11000.f s32 f32_find_wall_collision(f32 *xPtr, f32 *yPtr, f32 *zPtr, f32 offsetY, f32 radius); s32 find_wall_collisions(struct SM64WallCollisionData *colData); f32 find_ceil(f32 posX, f32 posY, f32 posZ, struct SM64SurfaceCollisionData **pceil); f32 find_floor_height_and_data(f32 xPos, f32 yPos, f32 zPos, struct SM64FloorCollisionData **floorGeo); f32 find_floor_height(f32 x, f32 y, f32 z); f32 find_floor(f32 xPos, f32 yPos, f32 zPos, struct SM64SurfaceCollisionData **pfloor); f32 find_water_level(f32 x, f32 z); f32 find_poison_gas_level(f32 x, f32 z); #endif // SURFACE_COLLISION_H