mirror of
https://github.com/Cesarus85/ringfall-mjolnir-vr.git
synced 2026-10-19 13:00:28 +02:00
77 lines
1.5 KiB
C
77 lines
1.5 KiB
C
/*
|
|
RENDER_SPRITE.H
|
|
|
|
header included in hcex build.
|
|
*/
|
|
|
|
#ifndef __RENDER_SPRITE_H
|
|
#define __RENDER_SPRITE_H
|
|
#pragma once
|
|
|
|
/* ---------- headers */
|
|
|
|
#include "math/real_math.h"
|
|
#include "shaders/shader_definitions.h"
|
|
|
|
/* ---------- constants */
|
|
|
|
enum build_sprites_flags
|
|
{
|
|
_build_sprites_screen_space_bit = 0,
|
|
_build_sprites_first_person_bit,
|
|
NUMBER_OF_BUILD_SPRITES_FLAGS,
|
|
};
|
|
|
|
enum build_sprite_flags
|
|
{
|
|
_build_sprite_viewer_space_bit = 0,
|
|
_build_sprite_u_mirror_bit,
|
|
_build_sprite_v_mirror_bit,
|
|
NUMBER_OF_BUILD_SPRITE_FLAGS,
|
|
};
|
|
|
|
/* ---------- structures */
|
|
|
|
struct build_sprite_data
|
|
{
|
|
long bitmap_group_index;
|
|
short maximum_sprite_count;
|
|
short screen_space;
|
|
struct shader_effect_definition const *shader;
|
|
short sprite_count;
|
|
word pad0E;
|
|
unsigned long flags;
|
|
real_point3d centroid;
|
|
short group_count;
|
|
word pad22;
|
|
byte unknown024[0x80];
|
|
};
|
|
|
|
typedef char build_sprite_data_size_assert[
|
|
sizeof(struct build_sprite_data) == 0xA4 ? 1 : -1];
|
|
|
|
/* ---------- prototypes/RENDER_SPRITE.C */
|
|
|
|
void build_sprites_begin(
|
|
struct build_sprite_data *data,
|
|
short maximum_sprite_count,
|
|
long bitmap_group_index,
|
|
struct shader_effect_definition const *shader,
|
|
unsigned long flags);
|
|
void build_sprite(
|
|
struct build_sprite_data *data,
|
|
short mode,
|
|
short sequence_index,
|
|
short sprite_index,
|
|
real_point3d const *untransformed_origin,
|
|
real_vector3d const *untransformed_direction,
|
|
real rotation,
|
|
real scale,
|
|
real_argb_color const *color,
|
|
real fade,
|
|
unsigned long flags);
|
|
void build_sprites_end(
|
|
struct build_sprite_data *data);
|
|
|
|
#endif // __RENDER_SPRITE_H
|