| maug
    Quick and dirty C mini-augmentation library. | 
Tools for procedurally generating tilemaps. More...

| Typedefs | |
| typedef MERROR_RETVAL(* | retrotile_ani_cb) (void *animation_cb_data, int16_t iter) | 
| typedef MERROR_RETVAL(* | retrotile_gen_cb) (struct RETROTILE *t, retroflat_tile_t min_z, retroflat_tile_t max_z, uint32_t tuning, size_t layer_idx, uint8_t flags, void *data, retrotile_ani_cb animation_cb, void *animation_cb_data) | 
| Functions | |
| MERROR_RETVAL | retrotile_gen_diamond_square_iter (struct RETROTILE *t, retroflat_tile_t min_z, retroflat_tile_t max_z, uint32_t tuning, size_t layer_idx, uint8_t flags, void *data, retrotile_ani_cb animation_cb, void *animation_cb_data) | 
| Generate tilemap terrain using diamond square algorithm.  More... | |
| MERROR_RETVAL | retrotile_gen_voronoi_iter (struct RETROTILE *t, retroflat_tile_t min_z, retroflat_tile_t max_z, uint32_t tuning, size_t layer_idx, uint8_t flags, void *data, retrotile_ani_cb animation_cb, void *animation_cb_data) | 
| Generate tilemap terrain using voronoi graph.  More... | |
| MERROR_RETVAL | retrotile_gen_smooth_iter (struct RETROTILE *t, retroflat_tile_t min_z, retroflat_tile_t max_z, uint32_t tuning, size_t layer_idx, uint8_t flags, void *data, retrotile_ani_cb animation_cb, void *animation_cb_data) | 
| Average the values in adjacent tiles over an already-generated tilemap.  More... | |
| MERROR_RETVAL | retrotile_gen_borders_iter (struct RETROTILE *t, retroflat_tile_t min_z, retroflat_tile_t max_z, uint32_t tuning, size_t layer_idx, uint8_t flags, void *data, retrotile_ani_cb animation_cb, void *animation_cb_data) | 
| Given a list of RETROTILE_DATA_BORDER structs, this will search for occurrences of RETROTILE_DATA_BORDER::center next to RETROTILE_DATA_BORDER::outside and replace with the appropriate border between the two! | |
Tools for procedurally generating tilemaps.
| MERROR_RETVAL retrotile_gen_diamond_square_iter | ( | struct RETROTILE * | t, | 
| retroflat_tile_t | min_z, | ||
| retroflat_tile_t | max_z, | ||
| uint32_t | tuning, | ||
| size_t | layer_idx, | ||
| uint8_t | flags, | ||
| void * | data, | ||
| retrotile_ani_cb | animation_cb, | ||
| void * | animation_cb_data | ||
| ) | 
Generate tilemap terrain using diamond square algorithm.
See retrotile_gen_cb() for details.
| MERROR_RETVAL retrotile_gen_smooth_iter | ( | struct RETROTILE * | t, | 
| retroflat_tile_t | min_z, | ||
| retroflat_tile_t | max_z, | ||
| uint32_t | tuning, | ||
| size_t | layer_idx, | ||
| uint8_t | flags, | ||
| void * | data, | ||
| retrotile_ani_cb | animation_cb, | ||
| void * | animation_cb_data | ||
| ) | 
Average the values in adjacent tiles over an already-generated tilemap.
This is designed to be used with tilemaps that use their tile indexes as Z values rather than indexes in a table of tile definitions.
| MERROR_RETVAL retrotile_gen_voronoi_iter | ( | struct RETROTILE * | t, | 
| retroflat_tile_t | min_z, | ||
| retroflat_tile_t | max_z, | ||
| uint32_t | tuning, | ||
| size_t | layer_idx, | ||
| uint8_t | flags, | ||
| void * | data, | ||
| retrotile_ani_cb | animation_cb, | ||
| void * | animation_cb_data | ||
| ) | 
Generate tilemap terrain using voronoi graph.
See retrotile_gen_cb() for details.
This is more suitable for purely 2D tilesets, as the changes between indexes are very abrupt!