diff options
| author | Magnus Auvinen <magnus.auvinen@gmail.com> | 2008-10-20 23:46:39 +0000 |
|---|---|---|
| committer | Magnus Auvinen <magnus.auvinen@gmail.com> | 2008-10-20 23:46:39 +0000 |
| commit | d15860e44f3cbe0c92add6acd24ace564442645d (patch) | |
| tree | e0763557279c211b032b18d3b2773e4a073752cd /src/game/client/render.hpp | |
| parent | ad9c1b0a22fb451f909d8f12510c560fa8889be2 (diff) | |
| download | zcatch-d15860e44f3cbe0c92add6acd24ace564442645d.tar.gz zcatch-d15860e44f3cbe0c92add6acd24ace564442645d.zip | |
renamed gc_render* to render*
Diffstat (limited to 'src/game/client/render.hpp')
| -rw-r--r-- | src/game/client/render.hpp | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/src/game/client/render.hpp b/src/game/client/render.hpp new file mode 100644 index 00000000..917641c8 --- /dev/null +++ b/src/game/client/render.hpp @@ -0,0 +1,68 @@ +/* copyright (c) 2007 magnus auvinen, see licence.txt for more info */ +#ifndef GAME_CLIENT_RENDER_H +#define GAME_CLIENT_RENDER_H + +#include <base/vmath.hpp> + +#include "../mapitems.hpp" +#include "ui.hpp" + +struct TEE_RENDER_INFO +{ + TEE_RENDER_INFO() + { + texture = -1; + color_body = vec4(1,1,1,1); + color_feet = vec4(1,1,1,1); + size = 1.0f; + got_airjump = 1; + }; + + int texture; + vec4 color_body; + vec4 color_feet; + float size; + int got_airjump; +}; + +// sprite renderings +enum +{ + SPRITE_FLAG_FLIP_Y=1, + SPRITE_FLAG_FLIP_X=2, + + LAYERRENDERFLAG_OPAQUE=1, + LAYERRENDERFLAG_TRANSPARENT=2, + + TILERENDERFLAG_EXTEND=4, +}; + +typedef struct SPRITE; + +void select_sprite(SPRITE *spr, int flags=0, int sx=0, int sy=0); +void select_sprite(int id, int flags=0, int sx=0, int sy=0); + +void draw_sprite(float x, float y, float size); + +// rects +void draw_round_rect(float x, float y, float w, float h, float r); +void draw_round_rect_ext(float x, float y, float w, float h, float r, int corners); +void ui_draw_rect(const RECT *r, vec4 color, int corners, float rounding); + +// larger rendering methods +void render_tilemap_generate_skip(); + +// object render methods (gc_render_obj.cpp) +void render_tee(class ANIMSTATE *anim, TEE_RENDER_INFO *info, int emote, vec2 dir, vec2 pos); + +// map render methods (gc_render_map.cpp) +void render_eval_envelope(ENVPOINT *points, int num_points, int channels, float time, float *result); +void render_quads(QUAD *quads, int num_quads, void (*eval)(float time_offset, int env, float *channels), int flags); +void render_tilemap(TILE *tiles, int w, int h, float scale, vec4 color, int flags); + +// helpers +void mapscreen_to_world(float center_x, float center_y, float parallax_x, float parallax_y, + float offset_x, float offset_y, float aspect, float zoom, float *points); + + +#endif |