gfx: Add mirrored tile check when generating tilemap

This commit is contained in:
Quint Guvernator
2019-05-19 20:16:47 +02:00
parent b2c1f6122e
commit 21aea281bd
7 changed files with 298 additions and 60 deletions

View File

@@ -12,14 +12,24 @@
#include <stdint.h>
#include "gfx/main.h"
#define XFLIP 0x40
#define YFLIP 0x20
void raw_to_gb(const struct RawIndexedImage *raw_image, struct GBImage *gb);
void output_file(const struct Options *opts, const struct GBImage *gb);
int get_tile_index(uint8_t *tile, uint8_t **tiles, int num_tiles,
int tile_size);
void create_tilemap(const struct Options *opts, struct GBImage *gb,
struct Tilemap *tilemap);
uint8_t reverse_bits(uint8_t b);
void xflip(uint8_t *tile, uint8_t *tile_xflip, int tile_size);
void yflip(uint8_t *tile, uint8_t *tile_yflip, int tile_size);
int get_mirrored_tile_index(uint8_t *tile, uint8_t **tiles, int num_tiles,
int tile_size, int *flags);
void create_mapfiles(const struct Options *opts, struct GBImage *gb,
struct Mapfile *tilemap, struct Mapfile *attrmap);
void output_tilemap_file(const struct Options *opts,
const struct Tilemap *tilemap);
const struct Mapfile *tilemap);
void output_attrmap_file(const struct Options *opts,
const struct Mapfile *attrmap);
void output_palette_file(const struct Options *opts,
const struct RawIndexedImage *raw_image);

View File

@@ -21,10 +21,13 @@ struct Options {
bool hardfix;
bool fix;
bool horizontal;
bool mirror;
bool unique;
int trim;
char *mapfile;
bool mapout;
char *tilemapfile;
bool tilemapout;
char *attrmapfile;
bool attrmapout;
char *palfile;
bool palout;
char *outfile;
@@ -40,8 +43,10 @@ struct RGBColor {
struct ImageOptions {
bool horizontal;
int trim;
char *mapfile;
bool mapout;
char *tilemapfile;
bool tilemapout;
char *attrmapfile;
bool attrmapout;
char *palfile;
bool palout;
};
@@ -71,7 +76,7 @@ struct GBImage {
int trim;
};
struct Tilemap {
struct Mapfile {
uint8_t *data;
int size;
};