summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryenatch <yenatch@gmail.com>2016-04-10 19:08:07 -0400
committeryenatch <yenatch@gmail.com>2016-04-10 19:08:07 -0400
commit050b05e5cec12d76b722c6a0fc84d80abd8dec5e (patch)
tree85225cbf66888a5292e7c1e6e1a3ddc8093b386d
parentdfe657177453423987544798d9763b2938874b42 (diff)
Accidentally moved get_pic_animation out of gfx.py.
-rw-r--r--pokemontools/dump_gfx.py39
-rw-r--r--pokemontools/gfx.py39
2 files changed, 39 insertions, 39 deletions
diff --git a/pokemontools/dump_gfx.py b/pokemontools/dump_gfx.py
index 372b8c3..88f1510 100644
--- a/pokemontools/dump_gfx.py
+++ b/pokemontools/dump_gfx.py
@@ -288,45 +288,6 @@ def rip_bulk_gfx(rom, dest='gfx', crystal=True):
rip_compressed_misc (rom, dest=os.path.join(dest, 'misc'))
-def get_pic_animation(tmap, w, h):
- """
- Generate pic animation data from a combined tilemap of each frame.
- """
- frame_text = ''
- bitmask_text = ''
-
- frames = list(split(tmap, w * h))
- base = frames.pop(0)
- bitmasks = []
-
- for i in xrange(len(frames)):
- frame_text += '\tdw .frame{}\n'.format(i + 1)
-
- for i, frame in enumerate(frames):
- bitmask = map(operator.ne, frame, base)
- if bitmask not in bitmasks:
- bitmasks.append(bitmask)
- which_bitmask = bitmasks.index(bitmask)
-
- mask = iter(bitmask)
- masked_frame = filter(lambda _: mask.next(), frame)
-
- frame_text += '.frame{}\n'.format(i + 1)
- frame_text += '\tdb ${:02x} ; bitmask\n'.format(which_bitmask)
- if masked_frame:
- frame_text += '\tdb {}\n'.format(', '.join(
- map('${:02x}'.format, masked_frame)
- ))
-
- for i, bitmask in enumerate(bitmasks):
- bitmask_text += '; {}\n'.format(i)
- for byte in split(bitmask, 8):
- byte = int(''.join(map(int.__repr__, reversed(byte))), 2)
- bitmask_text += '\tdb %{:08b}\n'.format(byte)
-
- return frame_text, bitmask_text
-
-
def dump_pic_animations(addresses={'bitmasks': 'BitmasksPointers', 'frames': 'FramesPointers'}, pokemon=pokemon_constants, rom=None):
"""
The code to dump pic animations from rom is mysteriously absent.
diff --git a/pokemontools/gfx.py b/pokemontools/gfx.py
index 3f221d6..3f90d0f 100644
--- a/pokemontools/gfx.py
+++ b/pokemontools/gfx.py
@@ -508,6 +508,45 @@ def convert_2bpp_to_png(image, **kwargs):
return width, height, palette, greyscale, bitdepth, px_map
+def get_pic_animation(tmap, w, h):
+ """
+ Generate pic animation data from a combined tilemap of each frame.
+ """
+ frame_text = ''
+ bitmask_text = ''
+
+ frames = list(split(tmap, w * h))
+ base = frames.pop(0)
+ bitmasks = []
+
+ for i in xrange(len(frames)):
+ frame_text += '\tdw .frame{}\n'.format(i + 1)
+
+ for i, frame in enumerate(frames):
+ bitmask = map(operator.ne, frame, base)
+ if bitmask not in bitmasks:
+ bitmasks.append(bitmask)
+ which_bitmask = bitmasks.index(bitmask)
+
+ mask = iter(bitmask)
+ masked_frame = filter(lambda _: mask.next(), frame)
+
+ frame_text += '.frame{}\n'.format(i + 1)
+ frame_text += '\tdb ${:02x} ; bitmask\n'.format(which_bitmask)
+ if masked_frame:
+ frame_text += '\tdb {}\n'.format(', '.join(
+ map('${:02x}'.format, masked_frame)
+ ))
+
+ for i, bitmask in enumerate(bitmasks):
+ bitmask_text += '; {}\n'.format(i)
+ for byte in split(bitmask, 8):
+ byte = int(''.join(map(int.__repr__, reversed(byte))), 2)
+ bitmask_text += '\tdb %{:08b}\n'.format(byte)
+
+ return frame_text, bitmask_text
+
+
def export_png_to_2bpp(filein, fileout=None, palout=None, **kwargs):
arguments = {