Battle backgrounds finally all working. TODO: animated backgrounds.
This commit is contained in:
parent
b8f2e0e2df
commit
bbf00b78c9
11
ff5reader.py
11
ff5reader.py
|
@ -284,7 +284,7 @@ class FF5Reader(QMainWindow):
|
||||||
sprites_tab.addTab(make_pixmap_table(world_tiles_pixmaps[2], cols=16, scale=4), 'Underwater Tiles')
|
sprites_tab.addTab(make_pixmap_table(world_tiles_pixmaps[2], cols=16, scale=4), 'Underwater Tiles')
|
||||||
sprites_tab.addTab(make_pixmap_table(worldpixmaps, cols=1, scale=1, large=True), 'Worldmaps')
|
sprites_tab.addTab(make_pixmap_table(worldpixmaps, cols=1, scale=1, large=True), 'Worldmaps')
|
||||||
sprites_tab.addTab(make_pixmap_table(fieldmap_tiles, cols=8, scale=2), 'Fieldmap Tiles')
|
sprites_tab.addTab(make_pixmap_table(fieldmap_tiles, cols=8, scale=2), 'Fieldmap Tiles')
|
||||||
sprites_tab.addTab(make_pixmap_table(battle_bgs, cols=8, scale=2), 'Battle BGs')
|
sprites_tab.addTab(make_pixmap_table(battle_bgs, cols=8, scale=1), 'Battle BGs')
|
||||||
sprites_tab.addTab(make_pixmap_table(self.battle_strips, cols=22, scale=2), 'Character Battle Sprites')
|
sprites_tab.addTab(make_pixmap_table(self.battle_strips, cols=22, scale=2), 'Character Battle Sprites')
|
||||||
sprites_tab.addTab(make_pixmap_table(status_strips, cols=22, scale=2), 'Status Sprites')
|
sprites_tab.addTab(make_pixmap_table(status_strips, cols=22, scale=2), 'Status Sprites')
|
||||||
sprites_tab.addTab(make_pixmap_table(enemy_sprites_named, cols=32, scale=1), 'Enemy Sprites')
|
sprites_tab.addTab(make_pixmap_table(enemy_sprites_named, cols=32, scale=1), 'Enemy Sprites')
|
||||||
|
@ -562,13 +562,12 @@ def decompress_battle_terrain(rom, address):
|
||||||
a, b = rom[ptr:ptr+2]
|
a, b = rom[ptr:ptr+2]
|
||||||
ptr += 2
|
ptr += 2
|
||||||
o1 += [a, b]*repeat
|
o1 += [a, b]*repeat
|
||||||
else:
|
|
||||||
if repeat & 0x40:
|
|
||||||
pass # TODO: trace this out
|
|
||||||
else: # Incremental repeat
|
else: # Incremental repeat
|
||||||
repeat &= 0x3F
|
a, inc = rom[ptr:ptr+2]
|
||||||
a,inc = rom[ptr:ptr+2]
|
|
||||||
ptr += 2
|
ptr += 2
|
||||||
|
if repeat & 0x40: # Negative increment
|
||||||
|
inc = -inc
|
||||||
|
repeat &= 0x3F
|
||||||
o1 += [a+(i*inc) for i in range(repeat)]
|
o1 += [a+(i*inc) for i in range(repeat)]
|
||||||
o2 = [4*(1+(i>>7)) for i in o1]
|
o2 = [4*(1+(i>>7)) for i in o1]
|
||||||
output[::2] = [i|0x80 for i in o1[:length//2]]
|
output[::2] = [i|0x80 for i in o1[:length//2]]
|
||||||
|
|
Loading…
Reference in New Issue