1<?xml version="1.0" encoding="Shift_JIS" standalone="yes" ?> 2<package> 3 <job id="environment"> 4 <?job error="true" debug="false" ?> 5 <script language="JScript"> 6 <![CDATA[ 7 var sh = WScript.CreateObject("WScript.Shell"); 8 var envUser = sh.Environment("User"); 9 var envSystem = sh.Environment("System"); 10 var NW4C_ROOT = envUser.Item('NW4C_ROOT'); 11 if ( NW4C_ROOT == "" ) 12 { 13 NW4C_ROOT = envSystem.Item('NW4C_ROOT'); 14 } 15 var CTRSDK_ROOT = envUser.Item('CTRSDK_ROOT'); 16 if ( CTRSDK_ROOT == "" ) 17 { 18 CTRSDK_ROOT = envSystem.Item('CTRSDK_ROOT'); 19 } 20 var CTRSDK_TOOLS_ROOT = CTRSDK_ROOT + "/tools/CommandLineTools"; 21 var CTRSDK_SPECFILES_ROOT = CTRSDK_ROOT + "/resources/specfiles"; 22 var SOUNDPLAYER_ROOT = NW4C_ROOT + "/tools/SoundPlayer/" 23 24 var ELF_FILE = SOUNDPLAYER_ROOT + "SoundPlayer-TS.axf"; 25 26 var ROMFS_ROOT = SOUNDPLAYER_ROOT + "romfiles"; 27 28 var CCI_FILE = SOUNDPLAYER_ROOT + "SoundPlayer-TS.cci"; 29 30 var MAKEROM = CTRSDK_TOOLS_ROOT + "/ctr_makerom32.exe"; 31 var MAKEROM_FLAGS = "-desc " + CTRSDK_SPECFILES_ROOT + "/Application.desc " + 32 "-rsf " + CTRSDK_SPECFILES_ROOT + "/Application.rsf " + 33 "-DROMFS_ROOT=" + ROMFS_ROOT + " -DTITLE=NW4C_SoundPlayer" 34 var MAKEROM_CMD = MAKEROM + " " + ELF_FILE + " " + MAKEROM_FLAGS + " -o " + CCI_FILE + " -f card"; 35 36 var SHADER_BIN = NW4C_ROOT + "/shaders/nwfont_RectDrawerShader.shbin"; 37 38 /* ���C������ */ 39 var args = WScript.Arguments; 40 if ( args.length == 0 ) 41 { 42 var log = "NW4C MakeSoundPlayer\n\n"; 43 log += "Usage:\n"; 44 log += " MakeSoundPlayer.wsf bcsar-path (stream-dir-path)\n"; 45 WScript.Echo( log ); 46 } 47 else 48 { 49 /* �f�B���N�g���쐬 */ 50 var fso = WScript.CreateObject("Scripting.FileSystemObject"); 51 if ( ! fso.FolderExists( ROMFS_ROOT ) ) 52 { 53 fso.CreateFolder( ROMFS_ROOT ); 54 } 55 56 /* �T�E���h�A�[�J�C�u�̃R�s�[ */ 57 var BCSAR_FILE = args(0); 58 fso.CopyFile( BCSAR_FILE, ROMFS_ROOT + "/SoundPlayer.bcsar" ); /* ���O�ύX���ăR�s�[ */ 59 /* �X�g���[���t�@�C���̃f�B���N�g���R�s�[ */ 60 if ( args.length >= 2 ) 61 { 62 var SRC_STREAM_DIR = args(1); 63 BCSAR_FILE = slash2BackSlash( BCSAR_FILE ); 64 SRC_STREAM_DIR = slash2BackSlash( SRC_STREAM_DIR ); 65 if ( SRC_STREAM_DIR.lastIndexOf( "\\" ) == SRC_STREAM_DIR.length - 1 ) 66 { 67 SRC_STREAM_DIR = SRC_STREAM_DIR.substr( 0, SRC_STREAM_DIR.length - 1 ); 68 } 69 var STREAM_PATH = SRC_STREAM_DIR.toLowerCase(); 70 var PATH = fso.GetParentFolderName( BCSAR_FILE ); 71 PATH = PATH.toLowerCase(); 72 var DIFF_PATH = ""; 73 if ( STREAM_PATH.indexOf( PATH ) == 0) 74 { 75 var LENGTH = SRC_STREAM_DIR.length - PATH.length; 76 DIFF_PATH = SRC_STREAM_DIR.substr( PATH.length, LENGTH ); 77 } 78 PATH = slash2BackSlash( ROMFS_ROOT.concat( DIFF_PATH ) ); 79 if ( fso.FolderExists( PATH ) == false ) 80 { 81 createFolder( PATH ); 82 } 83 fso.CopyFolder( SRC_STREAM_DIR, PATH, true ); 84 } 85 86 /* �V�F�[�_�[�t�@�C���̃R�s�[ */ 87 fso.CopyFile( SHADER_BIN, ROMFS_ROOT + "/" ); 88 89 /* cci �̐��� */ 90 sh.Run( MAKEROM_CMD, 0, true ); 91 } 92 93 function createFolder( path ) 94 { 95 if ( path == "") 96 { 97 return; 98 } 99 100 var newPath = ""; 101 var fso = WScript.CreateObject("Scripting.FileSystemObject"); 102 103 createFolder( fso.GetParentFolderName( path ) ); 104 105 if ( fso.FolderExists( path ) == false ) 106 { 107 fso.CreateFolder( path ); 108 } 109 } 110 111 function slash2BackSlash( path ) 112 { 113 var newPath = path; 114 115 while ( 0 < newPath.search("/") ) 116 { 117 newPath = newPath.replace("/", "\\"); 118 } 119 120 return newPath; 121 } 122 ]]> 123 </script> 124 </job> 125</package> 126