FS2_Open
Open source remastering of the Freespace 2 engine
generic.h
Go to the documentation of this file.
1 
2 
3 #ifndef _GENERIC_H_
4 #define _GENERIC_H_
5 
6 #include "anim/animplay.h"
7 #include "bmpman/bmpman.h"
8 #include "cfile/cfile.h"
9 #include "globalincs/pstypes.h"
10 
11 #define GENERIC_ANIM_DIRECTION_FORWARDS 0
12 #define GENERIC_ANIM_DIRECTION_BACKWARDS 1
13 #define GENERIC_ANIM_DIRECTION_NOLOOP 2
14 #define GENERIC_ANIM_DIRECTION_PAUSED 4
15 
16 // Goober5000
17 typedef struct generic_anim {
21  int keyframe;
22  int keyoffset;
25  unsigned char direction;
26  unsigned char done_playing;
27  float total_time; // in seconds
28  float anim_time; // current animation time
29 
30  //we only care about the stuff below if we're streaming
31  union {
32  struct {
35  BM_TYPE bg_type; //to store background type to avoid messed up colours
36  } ani;
37  struct {
39  } eff;
40  };
42  unsigned char streaming;
44  int height;
45  int width;
46  int bitmap_id;
48 } generic_anim;
49 
50 // Goober5000
51 typedef struct generic_bitmap {
53  int bitmap_id;
55 
56 bool generic_bitmap_exists(const char *filename);
57 bool generic_anim_exists(const char *filename);
58 int generic_anim_init_and_stream(generic_anim *ga, const char *anim_filename, BM_TYPE bg_type, bool attempt_hi_res);
60 void generic_anim_init(generic_anim *ga, const char *filename);
62 void generic_bitmap_init(generic_bitmap *gb, const char *filename = NULL);
67 void generic_anim_render(generic_anim *ga, float frametime, int x, int y, bool menu = false);
68 
69 #endif
int generic_anim_load(generic_anim *ga)
Definition: generic.cpp:138
#define MAX_FILENAME_LEN
Definition: pstypes.h:324
int bitmap_id
Definition: generic.h:46
bool generic_bitmap_exists(const char *filename)
Definition: generic.cpp:21
int previous_frame
Definition: generic.h:24
int current_frame
Definition: generic.h:23
unsigned char done_playing
Definition: generic.h:26
float total_time
Definition: generic.h:27
int bitmap_id
Definition: generic.h:53
int width
Definition: generic.h:45
std::basic_string< char, std::char_traits< char >, std::allocator< char > > SCP_string
Definition: vmallocator.h:21
int height
Definition: generic.h:44
void generic_anim_render(generic_anim *ga, float frametime, int x, int y, bool menu=false)
Definition: generic.cpp:437
int keyoffset
Definition: generic.h:22
int num_frames
Definition: generic.h:20
bool generic_anim_exists(const char *filename)
Definition: generic.cpp:26
int first_frame
Definition: generic.h:19
char * filename
bool use_hud_color
Definition: generic.h:47
int generic_anim_init_and_stream(generic_anim *ga, const char *anim_filename, BM_TYPE bg_type, bool attempt_hi_res)
Definition: generic.cpp:32
BM_TYPE
Definition: bmpman.h:71
void generic_anim_unload(generic_anim *ga)
Definition: generic.cpp:291
void generic_anim_init(generic_anim *ga)
Definition: generic.cpp:80
BM_TYPE bg_type
Definition: generic.h:35
GLint GLint GLint GLint GLint x
Definition: Glext.h:5182
int generic_anim_stream(generic_anim *ga)
Definition: generic.cpp:159
unsigned char ubyte
Definition: pstypes.h:62
struct generic_anim generic_anim
void generic_bitmap_init(generic_bitmap *gb, const char *filename=NULL)
Definition: generic.cpp:124
struct generic_anim::@239::@241 ani
int next_frame
Definition: generic.h:38
unsigned char streaming
Definition: generic.h:42
float anim_time
Definition: generic.h:28
int keyframe
Definition: generic.h:21
unsigned char direction
Definition: generic.h:25
ubyte * buffer
Definition: generic.h:43
struct generic_anim::@239::@242 eff
anim * animation
Definition: generic.h:33
char filename[MAX_FILENAME_LEN]
Definition: generic.h:52
char filename[MAX_FILENAME_LEN]
Definition: generic.h:18
int generic_bitmap_load(generic_bitmap *gb)
Definition: generic.cpp:278
ubyte type
Definition: generic.h:41
anim_instance * instance
Definition: generic.h:34
GLint y
Definition: Gl.h:1505
struct generic_bitmap generic_bitmap