summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--engine/movie/trade_animation.asm2
-rw-r--r--gfx/trade/game_boy.pngbin360 -> 214 bytes
-rw-r--r--gfx/trade/link_cable.pngbin0 -> 216 bytes
-rw-r--r--tools/gfx.c8
5 files changed, 7 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index 4a674bb9..0fabdb8b 100644
--- a/Makefile
+++ b/Makefile
@@ -177,6 +177,8 @@ gfx/title/hooh_gold.2bpp: tools/gfx += --interleave --png=$<
gfx/title/lugia_silver.2bpp: tools/gfx += --interleave --png=$<
gfx/trade/ball.2bpp: tools/gfx += --remove-whitespace
+gfx/trade/game_boy.2bpp: tools/gfx += --remove-duplicates --preserve=0x23,0x27
+gfx/trade/game_boy_cable.2bpp: gfx/trade/game_boy.2bpp gfx/trade/link_cable.2bpp ; cat $^ > $@
gfx/slots/slots_1.2bpp: tools/gfx += --trim-whitespace
gfx/slots/slots_2.2bpp: tools/gfx += --interleave --png=$<
diff --git a/engine/movie/trade_animation.asm b/engine/movie/trade_animation.asm
index 94736037..3e4826ad 100644
--- a/engine/movie/trade_animation.asm
+++ b/engine/movie/trade_animation.asm
@@ -1383,6 +1383,6 @@ TradeArrowRightGFX: INCBIN "gfx/trade/arrow_right.2bpp"
TradeArrowLeftGFX: INCBIN "gfx/trade/arrow_left.2bpp"
TradeCableGFX: INCBIN "gfx/trade/cable.2bpp"
TradeBubbleGFX: INCBIN "gfx/trade/bubble.2bpp"
-TradeGameBoyLZ: INCBIN "gfx/trade/game_boy.2bpp.lz"
+TradeGameBoyLZ: INCBIN "gfx/trade/game_boy_cable.2bpp.lz"
TradeBallGFX: INCBIN "gfx/trade/ball.2bpp"
TradePoofGFX: INCBIN "gfx/trade/poof.2bpp"
diff --git a/gfx/trade/game_boy.png b/gfx/trade/game_boy.png
index 64c92260..3fcf9c22 100644
--- a/gfx/trade/game_boy.png
+++ b/gfx/trade/game_boy.png
Binary files differ
diff --git a/gfx/trade/link_cable.png b/gfx/trade/link_cable.png
new file mode 100644
index 00000000..64eafdfb
--- /dev/null
+++ b/gfx/trade/link_cable.png
Binary files differ
diff --git a/tools/gfx.c b/tools/gfx.c
index 6dad2f1a..7d6dd0ee 100644
--- a/tools/gfx.c
+++ b/tools/gfx.c
@@ -68,7 +68,7 @@ void get_args(int argc, char *argv[]) {
while (token) {
Options.num_preserved++;
Options.preserved = realloc(Options.preserved, Options.num_preserved * sizeof(int));
- Options.preserved[Options.num_preserved-1] = strtoul(optarg, NULL, 0);
+ Options.preserved[Options.num_preserved-1] = strtoul(token, NULL, 0);
token = strtok(NULL, ",");
}
break;
@@ -139,7 +139,7 @@ void remove_whitespace(struct Graphic *graphic) {
int i = 0;
for (int j = 0, d = 0; i < graphic->size && j < graphic->size; i += tile_size, j += tile_size) {
while (j < graphic->size && is_whitespace(&graphic->data[j], tile_size) && !is_preserved(j / tile_size - d)) {
- shift_preserved(j / tile_size);
+ shift_preserved(j / tile_size - d);
d++;
j += tile_size;
}
@@ -181,7 +181,7 @@ void remove_duplicates(struct Graphic *graphic) {
if ((Options.keep_whitespace && is_whitespace(&graphic->data[j], tile_size)) || is_preserved(j / tile_size - d)) {
break;
}
- shift_preserved(j / tile_size);
+ shift_preserved(j / tile_size - d);
d++;
j += tile_size;
}
@@ -235,7 +235,7 @@ void remove_flip(struct Graphic *graphic, bool xflip, bool yflip) {
if ((Options.keep_whitespace && is_whitespace(&graphic->data[j], tile_size)) || is_preserved(j / tile_size - d)) {
break;
}
- shift_preserved(j / tile_size);
+ shift_preserved(j / tile_size - d);
d++;
j += tile_size;
}