CommonC++Lib RiscOSC++Lib ToolboxC++Lib
Toolbox Library for use with the RiscOS DDE C++/CFront compiler
Loading...
Searching...
No Matches
sprite.h
1#ifndef __sprite_h
2#define __sprite_h
3
4typedef enum
5{
6 sprite_nopalette = 0,
7 sprite_haspalette = 1
8} sprite_palflag;
9
10typedef struct
11{
14
15typedef char sprite_pixtrans;
16
17
18
19typedef struct /* Format of a sprite area control block */
20{
21 int size;
22 int number;
23 int sproff;
26
27typedef struct /* Format of a sprite header */
28{
29 int next; /* Offset to next sprite */
30 char name[12]; /* Sprite name */
31 int width; /* Width in words-1 (0..639) */
32 int height; /* Height in scanlines-1 (0..255/511) */
33 int lbit; /* First bit used (left end of row) */
34 int rbit; /* Last bit used (right end of row) */
35 int image; /* Offset to sprite image */
36 int mask; /* Offset to transparency mask */
37 int mode; /* Mode sprite was defined in */
38 /* Palette data optionally follows here */
39 /* in memory */
41
42#define sprite_mainarea ((sprite_area *) 0)
43
44typedef void * sprite_ptr;
45
46
47
48typedef enum
49{
50 sprite_id_name = 0,
51 sprite_id_addr = 0x74527053 /* 'Magic' number ("SpRt") to test against */
52} sprite_type;
53
54typedef struct
55{
56 union
57 {
58 char * name; /* Can use either name of sprite or address (faster) */
59 sprite_ptr addr;
60 } s;
61 sprite_type tag; /* User must tag the use of this structure manually */
62} sprite_id;
63
64typedef struct
65{
66 int width;
67 int height;
68 int mask;
69 int mode;
71
72typedef struct
73{
74 int colour;
75 int tint;
77
78typedef enum
79{
80 sprite_masktransparent = 0,
81 sprite_masksolid = 1
82} sprite_maskstate;
83
84typedef struct
85 { int r[4];
87
88/* Typedefs and functions for rotating sprites. */
89
90typedef struct {int p0 [2], p1 [2], p2 [2], p3 [2];} sprite_pgm;
91typedef int sprite_transmat [6];
92typedef struct {int x0, y0, x1, y1;} sprite_box;
93
94#endif
95
96/* end of sprite.h */
Definition sprite.h:20
int freeoff
Definition sprite.h:24
int number
Definition sprite.h:22
int size
Definition sprite.h:21
int sproff
Definition sprite.h:23
Definition sprite.h:92
int y1
Definition sprite.h:92
int x1
Definition sprite.h:92
int x0
Definition sprite.h:92
int y0
Definition sprite.h:92
Definition sprite.h:73
int tint
Definition sprite.h:75
int colour
Definition sprite.h:74
Definition sprite.h:11
int ydiv
Definition sprite.h:12
int xdiv
Definition sprite.h:12
int xmag
Definition sprite.h:12
int ymag
Definition sprite.h:12
Definition sprite.h:28
int next
Definition sprite.h:29
int rbit
Definition sprite.h:34
int lbit
Definition sprite.h:33
int mode
Definition sprite.h:37
int height
Definition sprite.h:32
int image
Definition sprite.h:35
int width
Definition sprite.h:31
char name[12]
Definition sprite.h:30
int mask
Definition sprite.h:36
Definition sprite.h:55
sprite_type tag
Definition sprite.h:61
char * name
Definition sprite.h:58
sprite_ptr addr
Definition sprite.h:59
Definition sprite.h:65
int height
Definition sprite.h:67
int mode
Definition sprite.h:69
int mask
Definition sprite.h:68
int width
Definition sprite.h:66
Definition sprite.h:90
int p0[2]
Definition sprite.h:90
int p2[2]
Definition sprite.h:90
int p3[2]
Definition sprite.h:90
int p1[2]
Definition sprite.h:90
Definition sprite.h:85
int r[4]
Definition sprite.h:85