spaceaceiigs/assets/prebuild.py
Rebecca Heineman 7fd252644d Added video assets
Added all video assets encoded as GIF files and included the packvideo
tool that will compress the art into the IIgs native format. Binaries
for Mac and PC are supplied
2015-07-30 01:01:53 -07:00

90 lines
2.0 KiB
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import sys
import subprocess
import burger
#
# Copy movies and audio from a folder
# Convert .wav files to 4 bit audio
#
def convertdata(soundexename,videoexename,srcfolder,destfolder):
filelist = os.listdir(srcfolder)
error = 0
for item in filelist:
#
# If a sound file, convert to 4 bits per sample
if item.lower().endswith('.wav'):
src = os.path.join(srcfolder,item)
dest = os.path.join(destfolder,item[:-4])
# Only if newer
if burger.isthesourcenewer(src,dest)==True:
cmd = soundexename + ' -s "' + src + '" "' + dest + '"'
error = subprocess.call(cmd,cwd=srcfolder,shell=True)
elif item.lower().endswith('.gif'):
# Copy any other file as is
src = os.path.join(srcfolder,item)
dest = os.path.join(destfolder,item[:-4])
# Only if newer
if burger.isthesourcenewer(src,dest)==True:
cmd = videoexename + ' -v "' + src + '" "' + dest + '"'
error = subprocess.call(cmd,cwd=srcfolder,shell=True)
# Abort on error
if error!=0:
break
return error
#
# Copy the data files for Space Ace for the Apple IIgs
#
def main(workingDir):
#
# Make sure the tool is built
#
toolfolder = os.path.dirname(workingDir)
destfolder = os.path.join(toolfolder,'bin')
toolfolder = os.path.join(toolfolder,'tools','bin')
soundexename = burger.gettoolpath(toolfolder,'packsound',True)
videoexename = burger.gettoolpath(toolfolder,'packvideo',True)
#
# Prepare for the output
#
burger.createfolderifneeded(destfolder)
#
# Copy the data files
#
srcfolder = os.path.join(workingDir,'movie')
error = convertdata(soundexename,videoexename,srcfolder,destfolder)
if error!=0:
return error
srcfolder = os.path.join(workingDir,'death')
error = convertdata(soundexename,videoexename,srcfolder,destfolder)
return error
#
# If called as a function and not a class,
# call my main
#
if __name__ == "__main__":
sys.exit(main(os.path.dirname(os.path.abspath(__file__))))