123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- #ifndef TILEMAP_H
- #define TILEMAP_H
- typedef struct Tilemap_ Tilemap;
- #include "area.h"
- #include "tile.h"
- #include "tilepane.h"
- /* Tile maps have at most 4 panes. */
- #define TILEMAP_PANES 4
- Image * image_loadtexture (const char * category , int index );
- Tilemap * tilemap_done (Tilemap * self );
- Tilemap * tilemap_init (Tilemap * self , Tileset * set , int w , int h, Area * areq );
- Tilemap * tilemap_free (Tilemap * map );
- Tilemap * tilemap_new (Tileset * set , int w , int h, Area * area );
- int tilemap_panes(Tilemap * self);
- Tilepane * tilemap_pane (Tilemap * self , int index );
- Tilepane * tilemap_pane_ (Tilemap * self , int index , Tilepane * pane );
- Tilepane * tilemap_panenew (Tilemap * self , int index , int w , int h );
- Tile * tilemap_get (Tilemap * self , int l , int x , int y );
- int tile_thingkind (Tile * tile );
- Thing * tilemap_tiletothing (Tilemap * self , int l , int x , int y , Tile * tile );
- Tile * tilemap_settile (Tilemap * self , int l , int x , int y , Tile * tile );
- Tile * tilemap_setindex (Tilemap * self , int l , int x , int y , int index );
- Tile * tilemap_rect (Tilemap * self , int l , int x , int y , int w , int h , Tile * tile );
- Tile * tilemap_fill (Tilemap * self , int l , Tile * tile );
- int tilemap_getindex (Tilemap * self , int l , int x , int y );
- Thing * tilemap_addtilething (Tilemap * self , int kind , int tx , int ty , int layer );
- void tilemap_draw (Tilemap * map , Camera * camera );
- void tilemap_update (Tilemap * map , double dt );
- Thing * tilemap_addthing(Tilemap * self , int index, int kind , int x , int y , int z , int w , int h);
- Lockin * tilepane_lockin (Tilepane * pane , Camera * camera );
- Lockin * tilemap_layer_lockin (Tilemap * map , int layer , Camera * camera );
- int tilemap_gridwide(Tilemap * self);
- int tilemap_gridhigh(Tilemap * self);
- Area * tilemap_area(Tilemap * self);
- Thing * tilemap_thing(Tilemap * self, int index);
- bool tilemap_init_blend(Tilemap * self);
- void tilemap_draw_layer(Tilemap * map, Camera * camera, int layer);
- void tilemap_draw_layer_shadows(Tilemap * map, Camera * camera, int layer);
- /* This is here in stead of in area.h to avoid cyclical dependencies. */
- ERES area_tilemap_(Area * self, Tilemap * map);
- void tilemap_draw_layer_tiles(Tilemap * map, Camera * camera, int layer);
- void tilemap_draw_layer_blends(Tilemap * map, Camera * camera, int layer);
- Tileset * tilemap_tileset(Tilemap * me);
- int tilemap_firstgid(Tilemap * me);
- int tilemap_set_flags(Tilemap * self, int l, int x, int y, int flags);
- int tilemap_get_flags(Tilemap * self, int l, int x, int y);
- #ifdef COMMENT_
- Tilepane * tilepane_savefile (Tilepane *pane , int paneid , FILE *fout );
- Tilemap * tilemap_savefile (Tilemap * map , FILE * fout );
- Tilemap * tilemap_save (Tilemap * map , int index );
- int tilemap_track (Tracker * tracker , void * data );
- #endif
- #endif
|