diff --git a/segtypes/n64/palette.py b/segtypes/n64/palette.py index 7629eadf..ea5a928a 100644 --- a/segtypes/n64/palette.py +++ b/segtypes/n64/palette.py @@ -61,6 +61,9 @@ def __init__(self, *args, **kwargs): ) def split(self, rom_bytes): + path = self.out_path() + path.parent.mkdir(parents=True, exist_ok=True) + if self.raster is None: # TODO: output with no raster log.error(f"orphaned palette segment: {self.name} lacks ci4/ci8 sibling") @@ -68,7 +71,7 @@ def split(self, rom_bytes): assert self.raster is not None self.raster.n64img.palette = self.parse_palette(rom_bytes) # type: ignore - self.raster.n64img.write(self.out_path()) + self.raster.n64img.write(path) self.raster.extract = False def parse_palette(self, rom_bytes) -> List[Tuple[int, int, int, int]]: