R-Type
Distributed multiplayer game engine in C++
Loading...
Searching...
No Matches
EntityRenderer::RenderableEntity Struct Reference

Cached entity state for rendering. More...

#include <EntityRenderer.hpp>

Collaboration diagram for EntityRenderer::RenderableEntity:
Collaboration graph

Classes

struct  Snapshot
 A single state snapshot with timestamp for time-based interpolation. More...
 

Public Attributes

uint32_t entityId
 Unique entity identifier.
 
RType::Messages::Shared::EntityType type
 Entity type (Player, Enemy, Bullet, etc.)
 
float x
 Current rendered position X.
 
float y
 Current rendered position Y.
 
int health
 Current health (-1 for entities without health)
 
std::deque< Snapshotsnapshots
 Recent snapshots (max 3)
 
uint64_t interpolationDelay
 Time to look back for interpolation (ms)
 
bool extrapolationEnabled
 Allow extrapolation beyond last snapshot.
 
float prevX
 Previous position X (DEPRECATED)
 
float prevY
 Previous position Y (DEPRECATED)
 
float targetX
 Target position X (DEPRECATED)
 
float targetY
 Target position Y (DEPRECATED)
 
float interpolationFactor
 Progress from 0.0 (prev) to 1.0 (target) (DEPRECATED)
 
int startPixelX
 Sprite sheet start pixel X.
 
int startPixelY
 Sprite sheet start pixel Y.
 
int spriteSizeX
 Sprite sheet size X.
 
int spriteSizeY
 Sprite sheet size Y.
 
int offsetX
 Sprite offset X for rendering.
 
int offsetY
 Sprite offset Y for rendering.
 
float scale
 Sprite scale multiplier.
 
std::string currentAnimation
 Current animation name from server.
 
std::vector< int > animationFrameIndices
 Animation frame sequence (sprite indices to allow freedom of picking frames manually)
 
int currentFrame
 Current animation frame.
 

Detailed Description

Cached entity state for rendering.

This structure holds the minimal information needed to render an entity. It's updated whenever a network packet arrives with new entity state information.

Definition at line 49 of file EntityRenderer.hpp.

Member Data Documentation

◆ animationFrameIndices

std::vector<int> EntityRenderer::RenderableEntity::animationFrameIndices

Animation frame sequence (sprite indices to allow freedom of picking frames manually)

Definition at line 90 of file EntityRenderer.hpp.

◆ currentAnimation

std::string EntityRenderer::RenderableEntity::currentAnimation

Current animation name from server.

Definition at line 88 of file EntityRenderer.hpp.

Referenced by EntityRenderer::renderProjectile(), and EntityRenderer::updateEntity().

◆ currentFrame

int EntityRenderer::RenderableEntity::currentFrame

Current animation frame.

Definition at line 91 of file EntityRenderer.hpp.

Referenced by EntityRenderer::updateEntity().

◆ entityId

uint32_t EntityRenderer::RenderableEntity::entityId

Unique entity identifier.

Definition at line 63 of file EntityRenderer.hpp.

Referenced by EntityRenderer::renderDebugInfo(), EntityRenderer::renderProjectile(), and EntityRenderer::updateEntity().

◆ extrapolationEnabled

bool EntityRenderer::RenderableEntity::extrapolationEnabled

Allow extrapolation beyond last snapshot.

Definition at line 72 of file EntityRenderer.hpp.

Referenced by EntityRenderer::updateEntity().

◆ health

int EntityRenderer::RenderableEntity::health

◆ interpolationDelay

uint64_t EntityRenderer::RenderableEntity::interpolationDelay

Time to look back for interpolation (ms)

Definition at line 71 of file EntityRenderer.hpp.

Referenced by EntityRenderer::updateEntity().

◆ interpolationFactor

float EntityRenderer::RenderableEntity::interpolationFactor

Progress from 0.0 (prev) to 1.0 (target) (DEPRECATED)

Definition at line 79 of file EntityRenderer.hpp.

Referenced by EntityRenderer::updateEntity().

◆ offsetX

int EntityRenderer::RenderableEntity::offsetX

Sprite offset X for rendering.

Definition at line 85 of file EntityRenderer.hpp.

Referenced by EntityRenderer::updateEntity().

◆ offsetY

int EntityRenderer::RenderableEntity::offsetY

Sprite offset Y for rendering.

Definition at line 86 of file EntityRenderer.hpp.

Referenced by EntityRenderer::updateEntity().

◆ prevX

float EntityRenderer::RenderableEntity::prevX

Previous position X (DEPRECATED)

Definition at line 75 of file EntityRenderer.hpp.

Referenced by EntityRenderer::updateEntity().

◆ prevY

float EntityRenderer::RenderableEntity::prevY

Previous position Y (DEPRECATED)

Definition at line 76 of file EntityRenderer.hpp.

Referenced by EntityRenderer::updateEntity().

◆ scale

float EntityRenderer::RenderableEntity::scale

◆ snapshots

std::deque<Snapshot> EntityRenderer::RenderableEntity::snapshots

Recent snapshots (max 3)

Definition at line 70 of file EntityRenderer.hpp.

Referenced by EntityRenderer::updateEntity().

◆ spriteSizeX

int EntityRenderer::RenderableEntity::spriteSizeX

◆ spriteSizeY

int EntityRenderer::RenderableEntity::spriteSizeY

◆ startPixelX

int EntityRenderer::RenderableEntity::startPixelX

◆ startPixelY

int EntityRenderer::RenderableEntity::startPixelY

◆ targetX

float EntityRenderer::RenderableEntity::targetX

Target position X (DEPRECATED)

Definition at line 77 of file EntityRenderer.hpp.

Referenced by EntityRenderer::updateEntity().

◆ targetY

float EntityRenderer::RenderableEntity::targetY

Target position Y (DEPRECATED)

Definition at line 78 of file EntityRenderer.hpp.

Referenced by EntityRenderer::updateEntity().

◆ type

RType::Messages::Shared::EntityType EntityRenderer::RenderableEntity::type

Entity type (Player, Enemy, Bullet, etc.)

Definition at line 64 of file EntityRenderer.hpp.

Referenced by EntityRenderer::renderDebugInfo(), EntityRenderer::renderProjectile(), and EntityRenderer::updateEntity().

◆ x

◆ y


The documentation for this struct was generated from the following file: