NSUNI/NSLAR Library a250670
Loading...
Searching...
No Matches
collision.hpp File Reference

Contains structures and functions for working with static collisions. More...

Go to the source code of this file.

Classes

struct  nnl::collision::Triangle
 Struct defining a single triangle used in collision detection. More...
struct  nnl::collision::Edge
 Struct defining a wall edge used in collision detection. More...
struct  nnl::collision::CollisionTest
 Struct representing a set of geometric shapes for collision testing. More...
struct  nnl::collision::Collision
 Struct that contains all necessary information for collision detection. More...
struct  nnl::collision::ConvertParam
 Parameters for converting a simplified mesh to the in-game collision format. More...

Namespaces

namespace  nnl
namespace  nnl::collision
 Contains structures and functions for working with static collisions.

Enumerations

enum class  nnl::collision::SurfaceFeatures : u16 {
  nnl::collision::SurfaceFeatures::kNone = 0 , nnl::collision::SurfaceFeatures::kDirt = 0b0000'0001 , nnl::collision::SurfaceFeatures::kDirt2 = 0b0000'0010 , nnl::collision::SurfaceFeatures::kSand = 0b0000'0011 ,
  nnl::collision::SurfaceFeatures::kStone = 0b0000'0100 , nnl::collision::SurfaceFeatures::kGrass = 0b0000'0101 , nnl::collision::SurfaceFeatures::kWater = 0b0000'0110 , nnl::collision::SurfaceFeatures::kWood = 0b0000'0111 ,
  nnl::collision::SurfaceFeatures::kStone2 = 0b0000'1000 , nnl::collision::SurfaceFeatures::kMetal = 0b0000'1001 , nnl::collision::SurfaceFeatures::kShadow = 0b0001'0000 , nnl::collision::SurfaceFeatures::kPassThrowables = 0b010'0000'0000 ,
  nnl::collision::SurfaceFeatures::kPassCamera = 0b100'0000'0000
}
 Enum representing different settings for surfaces. More...
enum class  nnl::collision::PushFeatures : u16 { nnl::collision::PushFeatures::kNone = 0 , nnl::collision::PushFeatures::kPushBack = 0b01 , nnl::collision::PushFeatures::kPushIfStuck = 0b10 }
 Enum representing different push behaviors for entities. More...

Functions

SModel nnl::collision::Convert (const Collision &collision)
 Converts collision data from the in-game format to a simplified model representation.
Collision nnl::collision::Convert (SModel &&smodel, const std::vector< ConvertParam > &mesh_params, bool auto_wall=true, u32 shift=5)
 Converts a simplified representation of a model to the in-game collision format.
bool nnl::collision::IsOfType (BufferView buffer)
 Tests if the provided file is a collision config.
Collision nnl::collision::Import (BufferView buffer)
 Parses a binary file and converts it to a structured collision.
Buffer nnl::collision::Export (const Collision &collision)
 Converts a collision config to a binary file representation.
std::vector< ConvertParamnnl::collision::GenerateConvertParam (const Collision &collision)
 Generates conversion parameters for SMesh objects to achieve a similar in-game collision config when converting back to it.

Detailed Description

Contains structures and functions for working with static collisions.

See also
nnl::collision::Collision
nnl::collision::IsOfType
nnl::collision::Import
nnl::collision::Export
nnl::collision::Convert