Skip to content

Map_0x370

get_block_4DFE10

Definition: gmp_block_info* Map_0x370::get_block_4DFE10(s32 x, s32 y, s32 z)

Get the block at (x,y,z).

FindHighestBlockForCoord_4E4C30

Definition: gmp_block_info* Map_0x370::FindHighestBlockForCoord_4E4C30(s32 x, s32 y, s32* found_z)

Get the highest non-air block at (x,y). It also computes the z coordinate of that block.

FindGroundZForCoord_4E5B60

Definition: Fix16 Map_0x370::FindGroundZForCoord_4E5B60(Fix16 x_pos, Fix16 y_pos)

Get the z float coordinate of the highest solid point (i.e. on a non-air block) at float coordinates (x_pos, y_pos). It takes into account the level change at gradient slopes.

UpdateZFromSlopeAtCoord_4E5BF0

Definition: u8 Map_0x370::UpdateZFromSlopeAtCoord_4E5BF0(Fix16 x_pos, Fix16 y_pos, Fix16& z_pos)

Update the given z_pos float coordinate taking into account the gradient slope at the point (x_pos, y_pos). It also returns the gradient slope direction, if there is any.

GetEffectiveBlock_4DFE60

Definition: gmp_block_info* Map_0x370::GetEffectiveBlock_4DFE60(s32 x, s32 y, s32 z)

Very similar to get_block_4DFE10, but in this case it returns the collision-effective block at (x,y,z).

For coordinates of slopes that have no collision (such as partial blocks), this function will return a empty block.

For coordinates of tridiagonal slopes (such as car-shop roof corners), this function will return a solid flat block.

For flat blocks, gradient slopes, and diagonal walls, the function behaviour is the same of get_block_4DFE10, returning the block at its coordinates.