OpenGothic
Open source reimplementation of Gothic I and II
Loading...
Searching...
No Matches
DynamicWorld Class Referencefinal

#include <dynamicworld.h>

Classes

struct  BBoxBody
 
struct  BBoxCallback
 
struct  BBoxList
 
struct  BulletBody
 
struct  BulletCallback
 
struct  BulletsList
 
struct  CollisionTest
 
struct  HumShape
 
struct  Item
 
struct  NpcBody
 
struct  NpcBodyList
 
struct  NpcItem
 
struct  RayCamResult
 
struct  RayLandResult
 
struct  RayQueryResult
 
struct  RayWaterResult
 

Public Types

enum  Category {
  C_Null = 1 , C_Landscape = 2 , C_Water = 3 , C_Object = 4 ,
  C_Ghost = 5 , C_Item = 6
}
 
enum  MoveCode : uint8_t { MC_Fail , MC_OK , MC_Skip , MC_Partial }
 

Public Member Functions

 DynamicWorld (World &world, const zenkit::Mesh &mesh)
 
 DynamicWorld (const DynamicWorld &)=delete
 
 ~DynamicWorld ()
 
RayLandResult landRay (const Tempest::Vec3 &from, float maxDy=0) const
 
RayWaterResult waterRay (const Tempest::Vec3 &from) const
 
RayWaterResult waterRay (const Tempest::Vec3 &from, const Tempest::Vec3 &to) const
 
RayCamResult cameraRay (const Tempest::Vec3 &from, const Tempest::Vec3 &to) const
 
RayLandResult ray (const Tempest::Vec3 &from, const Tempest::Vec3 &to) const
 
RayQueryResult rayNpc (const Tempest::Vec3 &from, const Tempest::Vec3 &to, const Npc *except) const
 
float soundOclusion (const Tempest::Vec3 &from, const Tempest::Vec3 &to) const
 
NpcItem ghostObj (std::string_view visual)
 
Item staticObj (const PhysicMeshShape *src, const Tempest::Matrix4x4 &m)
 
Item movableObj (const PhysicMeshShape *src, const Tempest::Matrix4x4 &m)
 
Item dynamicObj (const Tempest::Matrix4x4 &pos, const Bounds &bbox, zenkit::MaterialGroup mat)
 
BulletBodybulletObj (BulletCallback *cb)
 
BBoxBody bboxObj (BBoxCallback *cb, const zenkit::AxisAlignedBoundingBox &bbox)
 
BBoxBody bboxObj (BBoxCallback *cb, const Tempest::Vec3 &pos, float R)
 
void tick (uint64_t dt)
 
void deleteObj (BulletBody *obj)
 
std::string_view validateSectorName (std::string_view name) const
 

Static Public Member Functions

static float materialFriction (zenkit::MaterialGroup mat)
 
static float materialDensity (zenkit::MaterialGroup mat)
 

Static Public Attributes

static constexpr float gravityMS = 9.8f
 
static constexpr float gravity = gravityMS*100.f/(1000.f*1000.f)
 
static constexpr float bulletSpeed = 3
 
static constexpr float spellSpeed = 1
 
static const float ghostPadding =50-22.5f
 

Detailed Description

Definition at line 28 of file dynamicworld.h.

Member Enumeration Documentation

◆ Category

Enumerator
C_Null 
C_Landscape 
C_Water 
C_Object 
C_Ghost 
C_Item 

Definition at line 47 of file dynamicworld.h.

◆ MoveCode

enum DynamicWorld::MoveCode : uint8_t
Enumerator
MC_Fail 
MC_OK 
MC_Skip 
MC_Partial 

Definition at line 56 of file dynamicworld.h.

Constructor & Destructor Documentation

◆ DynamicWorld() [1/2]

DynamicWorld::DynamicWorld ( World world,
const zenkit::Mesh &  mesh 
)

Definition at line 421 of file dynamicworld.cpp.

◆ DynamicWorld() [2/2]

DynamicWorld::DynamicWorld ( const DynamicWorld )
delete

◆ ~DynamicWorld()

DynamicWorld::~DynamicWorld ( )

Definition at line 494 of file dynamicworld.cpp.

Member Function Documentation

◆ bboxObj() [1/2]

DynamicWorld::BBoxBody DynamicWorld::bboxObj ( BBoxCallback cb,
const Tempest::Vec3 &  pos,
float  R 
)

Definition at line 760 of file dynamicworld.cpp.

◆ bboxObj() [2/2]

DynamicWorld::BBoxBody DynamicWorld::bboxObj ( BBoxCallback cb,
const zenkit::AxisAlignedBoundingBox &  bbox 
)

Definition at line 756 of file dynamicworld.cpp.

◆ bulletObj()

DynamicWorld::BulletBody * DynamicWorld::bulletObj ( BulletCallback cb)

Definition at line 752 of file dynamicworld.cpp.

◆ cameraRay()

DynamicWorld::RayCamResult DynamicWorld::cameraRay ( const Tempest::Vec3 &  from,
const Tempest::Vec3 &  to 
) const

Definition at line 558 of file dynamicworld.cpp.

◆ deleteObj()

void DynamicWorld::deleteObj ( BulletBody obj)

Definition at line 874 of file dynamicworld.cpp.

◆ dynamicObj()

DynamicWorld::Item DynamicWorld::dynamicObj ( const Tempest::Matrix4x4 &  pos,
const Bounds bbox,
zenkit::MaterialGroup  mat 
)

Definition at line 738 of file dynamicworld.cpp.

◆ ghostObj()

DynamicWorld::NpcItem DynamicWorld::ghostObj ( std::string_view  visual)

Definition at line 699 of file dynamicworld.cpp.

◆ landRay()

DynamicWorld::RayLandResult DynamicWorld::landRay ( const Tempest::Vec3 &  from,
float  maxDy = 0 
) const

Definition at line 497 of file dynamicworld.cpp.

◆ materialDensity()

float DynamicWorld::materialDensity ( zenkit::MaterialGroup  mat)
static

Definition at line 901 of file dynamicworld.cpp.

◆ materialFriction()

float DynamicWorld::materialFriction ( zenkit::MaterialGroup  mat)
static

Definition at line 878 of file dynamicworld.cpp.

◆ movableObj()

DynamicWorld::Item DynamicWorld::movableObj ( const PhysicMeshShape src,
const Tempest::Matrix4x4 &  m 
)

Definition at line 716 of file dynamicworld.cpp.

◆ ray()

DynamicWorld::RayLandResult DynamicWorld::ray ( const Tempest::Vec3 &  from,
const Tempest::Vec3 &  to 
) const

Definition at line 591 of file dynamicworld.cpp.

◆ rayNpc()

DynamicWorld::RayQueryResult DynamicWorld::rayNpc ( const Tempest::Vec3 &  from,
const Tempest::Vec3 &  to,
const Npc except 
) const

Definition at line 644 of file dynamicworld.cpp.

◆ soundOclusion()

float DynamicWorld::soundOclusion ( const Tempest::Vec3 &  from,
const Tempest::Vec3 &  to 
) const

Definition at line 654 of file dynamicworld.cpp.

◆ staticObj()

DynamicWorld::Item DynamicWorld::staticObj ( const PhysicMeshShape src,
const Tempest::Matrix4x4 &  m 
)

Definition at line 710 of file dynamicworld.cpp.

◆ tick()

void DynamicWorld::tick ( uint64_t  dt)

Definition at line 868 of file dynamicworld.cpp.

◆ validateSectorName()

std::string_view DynamicWorld::validateSectorName ( std::string_view  name) const

Definition at line 922 of file dynamicworld.cpp.

◆ waterRay() [1/2]

DynamicWorld::RayWaterResult DynamicWorld::waterRay ( const Tempest::Vec3 &  from) const

Definition at line 504 of file dynamicworld.cpp.

◆ waterRay() [2/2]

DynamicWorld::RayWaterResult DynamicWorld::waterRay ( const Tempest::Vec3 &  from,
const Tempest::Vec3 &  to 
) const

Definition at line 509 of file dynamicworld.cpp.

Member Data Documentation

◆ bulletSpeed

constexpr float DynamicWorld::bulletSpeed = 3
staticconstexpr

Definition at line 39 of file dynamicworld.h.

◆ ghostPadding

const float DynamicWorld::ghostPadding =50-22.5f
static

Definition at line 41 of file dynamicworld.h.

◆ gravity

constexpr float DynamicWorld::gravity = gravityMS*100.f/(1000.f*1000.f)
staticconstexpr

Definition at line 38 of file dynamicworld.h.

◆ gravityMS

constexpr float DynamicWorld::gravityMS = 9.8f
staticconstexpr

Definition at line 37 of file dynamicworld.h.

◆ spellSpeed

constexpr float DynamicWorld::spellSpeed = 1
staticconstexpr

Definition at line 40 of file dynamicworld.h.


The documentation for this class was generated from the following files: