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 var RSF_FILE = SOUNDPLAYER_ROOT + "SoundPlayer-TS.rsf"; 30 31 var MAKEROM = CTRSDK_TOOLS_ROOT + "/ctr_makerom32.exe"; 32 var MAKEROM_FLAGS = "-desc " + CTRSDK_SPECFILES_ROOT + "/Application.desc " + 33 "-rsf " + RSF_FILE + " -DUNIQUE_ID=0xfd840 " + 34 " -DROMFS_ROOT=" + ROMFS_ROOT + " -DTITLE=SndPlyr"; 35 var MAKEROM_CMD = MAKEROM + " " + ELF_FILE + " " + MAKEROM_FLAGS + " -o " + CCI_FILE + " -f card"; 36 37 var SHADER_BIN = NW4C_ROOT + "/shaders/nwfont_RectDrawerShader.shbin"; 38 39 /* ���C������ */ 40 var args = WScript.Arguments; 41 if ( args.length == 0 ) 42 { 43 var log = "NW4C MakeSoundPlayer\n\n"; 44 log += "Usage:\n"; 45 log += " MakeSoundPlayer.wsf bcsar-path (stream-dir-path)\n"; 46 WScript.Echo( log ); 47 } 48 else 49 { 50 /* �f�B���N�g���쐬 */ 51 var fso = WScript.CreateObject("Scripting.FileSystemObject"); 52 if ( ! fso.FolderExists( ROMFS_ROOT ) ) 53 { 54 fso.CreateFolder( ROMFS_ROOT ); 55 } 56 57 /* �T�E���h�A�[�J�C�u�̃R�s�[ */ 58 var BCSAR_FILE = args(0); 59 fso.CopyFile( BCSAR_FILE, ROMFS_ROOT + "/SoundPlayer.bcsar" ); /* ���O�ύX���ăR�s�[ */ 60 /* �X�g���[���t�@�C���̃f�B���N�g���R�s�[ */ 61 if ( args.length >= 2 ) 62 { 63 var SRC_STREAM_DIR = args(1); 64 BCSAR_FILE = slash2BackSlash( BCSAR_FILE ); 65 SRC_STREAM_DIR = slash2BackSlash( SRC_STREAM_DIR ); 66 if ( SRC_STREAM_DIR.lastIndexOf( "\\" ) == SRC_STREAM_DIR.length - 1 ) 67 { 68 SRC_STREAM_DIR = SRC_STREAM_DIR.substr( 0, SRC_STREAM_DIR.length - 1 ); 69 } 70 var STREAM_PATH = SRC_STREAM_DIR.toLowerCase(); 71 var PATH = fso.GetParentFolderName( BCSAR_FILE ); 72 PATH = PATH.toLowerCase(); 73 var DIFF_PATH = ""; 74 if ( STREAM_PATH.indexOf( PATH ) == 0) 75 { 76 var LENGTH = SRC_STREAM_DIR.length - PATH.length; 77 DIFF_PATH = SRC_STREAM_DIR.substr( PATH.length, LENGTH ); 78 } 79 PATH = slash2BackSlash( ROMFS_ROOT.concat( DIFF_PATH ) ); 80 if ( fso.FolderExists( PATH ) == false ) 81 { 82 createFolder( PATH ); 83 } 84 fso.CopyFolder( SRC_STREAM_DIR, PATH, true ); 85 } 86 87 /* �V�F�[�_�[�t�@�C���̃R�s�[ */ 88 fso.CopyFile( SHADER_BIN, ROMFS_ROOT + "/" ); 89 90 /* cci �̐��� */ 91 sh.Run( MAKEROM_CMD, 0, true ); 92 } 93 94 function createFolder( path ) 95 { 96 if ( path == "") 97 { 98 return; 99 } 100 101 var newPath = ""; 102 var fso = WScript.CreateObject("Scripting.FileSystemObject"); 103 104 createFolder( fso.GetParentFolderName( path ) ); 105 106 if ( fso.FolderExists( path ) == false ) 107 { 108 fso.CreateFolder( path ); 109 } 110 } 111 112 function slash2BackSlash( path ) 113 { 114 var newPath = path; 115 116 while ( 0 < newPath.search("/") ) 117 { 118 newPath = newPath.replace("/", "\\"); 119 } 120 121 return newPath; 122 } 123 ]]> 124 </script> 125 </job> 126</package> 127