You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.5 KiB
59 lines
1.5 KiB
|
|
import os |
|
import sys |
|
import stat |
|
|
|
|
|
g_NumSoundsAdded = 0 |
|
|
|
|
|
def ScanSounds_R( baseDir, relativeDir, outFile ): |
|
files = os.listdir( baseDir ) |
|
for filename in files: |
|
fullFilename = baseDir + "\\" + filename |
|
if len( relativeDir ) > 0: |
|
newRelativeDir = relativeDir + "/" + filename |
|
else: |
|
newRelativeDir = filename |
|
|
|
mode = os.stat( fullFilename )[stat.ST_MODE] |
|
|
|
if stat.S_ISREG( mode ): |
|
if filename[-4:].upper() == ".WAV": |
|
outFile.write( "\"%s\"\n" % ( newRelativeDir[0:-4] ) ) |
|
outFile.write( "{\n" ) |
|
outFile.write( "\t\"channel\"\t\t\"CHAN_ITEM\"\n" ) |
|
outFile.write( "\t\"volume\"\t\t\"VOL_NORM\"\n" ) |
|
outFile.write( "\t\"soundlevel\"\t\"SNDLVL_NONE\"\n" ) |
|
outFile.write( "\t\"pitch\"\t\t\t\"PITCH_NORM\"\n" ) |
|
outFile.write( "\t\"wave\"\t\t\t\"%s\"\n" % ( newRelativeDir ) ) |
|
outFile.write( "}\n\n" ) |
|
|
|
global g_NumSoundsAdded |
|
g_NumSoundsAdded += 1 |
|
|
|
if stat.S_ISDIR( mode ): |
|
ScanSounds_R( fullFilename, newRelativeDir, outFile ) |
|
|
|
|
|
# Make sure we've got a valid base directory. |
|
if len( sys.argv ) < 2: |
|
print "Error: Must specify the root sound directory." |
|
sys.exit( 1 ) |
|
|
|
baseDir = sys.argv[1] |
|
if os.access( baseDir, os.R_OK ) != 1: |
|
print "Error: Can't access %s." % ( baseDir ) |
|
sys.exit( 1 ) |
|
|
|
|
|
# Now scan all the .cpp files for sound function calls. |
|
outFile = open( "game_sounds.txt", "wt" ) |
|
|
|
ScanSounds_R( baseDir, "", outFile ) |
|
|
|
outFile.close() |
|
|
|
|
|
print "Added %d sounds to game_sounds.txt" % ( g_NumSoundsAdded ) |
|
|
|
|