Fixed image load bug. Added to stage.
[cantaveria.git] / graphics.h
blob9dc7aa02221dd83f42b6459da4b81137932ad271
1 /*
2 Cantaveria - action adventure platform game
3 Copyright (C) 2009 2010 Evan Rinehart
5 This program is free software; you can redistribute it and/or
6 modify it under the terms of the GNU General Public License
7 as published by the Free Software Foundation; either version 2
8 of the License, or (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to
18 The Free Software Foundation, Inc.
19 51 Franklin Street, Fifth Floor
20 Boston, MA 02110-1301, USA
22 #define MAX_SPRITES 256
23 #define MAX_ANIMATIONS 256
25 struct frame{
26 int x, y;
27 double x0, y0, x1, y1;
30 typedef struct sprite sprite;
31 struct sprite {
32 int number;
33 int frame_counter;
34 int current_frame;
35 struct frame frame;
36 int gfxid;
37 int anim;
38 int x, y, w, h;
41 typedef struct {
42 int w, h;
43 int loop_mode;/*0 stopped, 1 once, 2 repeat, 3 pingpong, 4 evaporate*/
44 int gfxid;
45 int frame_count;
46 short* frame_lens;
47 struct frame* frames;
48 } animation;
51 void draw_final();
52 void draw_sprites();
55 int load_sprite(char* filename, int id);
56 int load_font(char* filename);
58 int load_bitmap(char* filename);
59 void draw_bitmap(int id, int x, int y);
61 sprite* enable_sprite(int sprnum);
62 void disable_sprite(sprite* spr);
63 sprite* copy_sprite(sprite* spr);
65 void draw_small_text(char* str, int x, int y);
66 void printf_small(int x, int y, char* format, ...);
69 void set_message(char* str);
70 void advance_message();
71 void clear_message();
72 void complete_message();
74 void reposition_message(int x, int y);
75 void resize_message(int w, int h);
77 void animate_sprites();
80 void enable_stage(int yn);