• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

Updaters

Isatis

If specified, this will repl[0x00000000]ce the
Premium
BRoomer
Joined
Dec 18, 2008
Messages
10,253
Location
San Francisco, CA
NNID
reverite
I'm going to have lots of free time the next week or two and I want to try and get some stuff WBR-wide done for everyone, this includes updaters for all of the projects, either public or private (password-protected for backroom use only). Currently, PC updaters have SDHC checkers, so people who insert SDHC cards will get the notifications that the stuff they're downloading will not work.

If you want one for your project made, post here with:
- if you want it for PC, Homebrew* or both,
- Options (pre-made pack, Gecko OS, Snapshot method, Without Homebrew),
- File host (either can be your own website, or even Dropbox if you don't have one)
- Team textures or extras (yes/no) (PC one only)
- Anything custom you'd like (PC one only)

* I don't have any Photoshop or image editing skills, so if you opt for the homebrew one, you're gonna have to do the images yourself :p

<hr noshade />

Brawl+ [done]

PC and Homebrew.

Current Options:
-- Pre-made pack
-- Gecko OS method
-- Snapshot method
-- Without Homebrew
-- GCT & PAC only
-- Team Textures (Yes)

Download hub: http://brawlplus.net/dl.php
Downloads from: http://brawlplus.net/downloads/

Brawl- [in progress]

PC updater. Requested by Budget Player Cadet.
Progress: 40%; still need to re-code server-side hub, downloads up

Current Options:
-- Gecko OS method
-- Snapshot method
-- Option for NTSC/PAL

Download hub: http://brawlminus.com/sdcard/index.php [isn't up yet]
Downloads from: http://brawlminus.com/sdcard/

Balanced Brawl

Waiting on Amazing Ampharos if he wants one.

Project: M

Waiting on shanus if he wants one.

<hr noshade />

Source Code (PHP)

updater.php [Updater Program]

PHP:
<?php 
//Prerequisites so it doesn't crash on me
@set_time_limit(0); 
@error_reporting(0); 
$unix = false; if(!isset($_SERVER["windir"])) $unix = true; 

//read(): Read STDIN (input) from user
function read($l=255) { 
 if(!isset($GLOBALS['StdinPointer'])) { 
  $GLOBALS['StdinPointer'] = fopen("php://stdin","r"); 
 } 
 $line = fgets($GLOBALS['StdinPointer'], $l); 
 return trim($line); 
} 

//di(): Directory conversion to Windows if needed
function di($text) { 
 global $_SERVER; 
 if(isset($_SERVER["windir"])) { 
  return str_replace("/", "\\", $text); 
 } else { 
  return $text; 
 } 
} 

//sdcard(): Download files directly to SD & exit
function sdcard($sd, $dl, $f=0) { 
  if($f == 1) {
    if(!is_dir(di($sd."/apps"))) @mkdir(di($sd."/apps")); 
    if(!is_dir(di($sd."/apps/Gecko191"))) @mkdir(di($sd."/apps/Gecko191")); 
    if(!is_dir(di($sd."/apps/homebrew_browser"))) @mkdir(di($sd."/apps/homebrew_browser")); 
    if(!is_dir(di($sd."/apps/updatifier"))) @mkdir(di($sd."/apps/updatifier")); 
  }
  echo "\nDownloading latest list and hashchecks... "; 
  $list = @file($dl);
  if(trim($list[0]) != "+") { 
   spaceit(); echo "\rError: You need to be connected to the internet to install this.\n";
   echo "Close or disable any firewalls you may have and try again.\n";
   echo "Press enter to close."; 
   $a = read(); 
   exit; 
  } 
  echo "Done!\n\n"; 
  for($i=1; $i < count($list); $i++) { 
   $dl = explode(":", trim($list[$i])); 
   $lol = explode("/", $dl[0]); 
   $c = count($lol) - 1; 
   $name = $lol[$c]; 
   $directory = str_replace($name, "", trim($dl[1])); 
   $directory = str_replace("RSBE01.gct", "", $directory); 
   if(file_exists($sd."/".$dl[1])) { 
    $hash = md5(@file_get_contents($sd."/".$dl[1])); 
    if($hash == trim($dl[2])) { 
     continue; 
    } 
   }
   echo $name.": Downloading... "; 
   $fp = @fopen("http://brawlplus.net/downloads/".$dl[0], "r"); 
   if(!$fp) { 
    @fclose($fp); 
    echo "Error!\n\nPlease check that you're connected to to the internet.\n\n"; 
    echo "Press enter to close."; 
    $a = read(); 
    exit; 
   }
   $fq = @fopen(di($sd."/".trim($dl[1])), "w"); 
   if(!$fq) { 
    echo "Error!\n\nCould not open ".di($sd."/".trim($dl[1]))." for writing.\n\n"; 
    echo "Press enter to close."; 
    $a = read(); 
    exit; 
   } 
   if($fp) { 
    while(!feof($fp)) { 
     fwrite($fq, fread($fp, 8192)); 
    } 
   } 
   fclose($fq); 
   fclose($fp); 
   echo "Done!\n"; 
  }  
} 

//spaceit(): clear current line
function spaceit() { echo "\r                                                                            "; } 

//clearit(): Linux/Mac-only command to clear the console and continue
function clearit(){ 
 global $_SERVER; 
 if(!isset($_SERVER["windir"])){ 
  system("clear"); 
  echo "======================== Brawl+ Installer and Updater ========================\n"; 
  echo "\n";  
 }
} 

clearit(); 
echo "======================== Brawl+ Installer and Updater  ========================\n"; 
echo "\n";  
echo "What do you want to do?\n\n"; 
echo "1: Download the pre-made pack for Brawl+ [recommended for first-time users]\n";
echo "2: Download the Brawl+ files for Gecko OS [if you don't want the pre-made pack]\n";
echo "3: Download Snapshots for Brawl+ [for those using a DVD/USB backup launcher]\n";
echo "4: Download Brawl+ without Homebrew [Homebrew Channel is not needed at all]\n";
echo "5: Download Fighter PAC & B+ GCT only [Advanced Users only]\n\n\n";
echo "Please enter a number: "; $opt = read(); 

if(!is_numeric($opt)) { 
echo "\nPlease enter a valid number option. If you don't know, type 1.\n\nPress enter to close."; $a=read(); exit; 
} 

clearit(); 

echo ($unix) ? "Path to SD card? " : "SD card drive letter (E, F, G, etc)? "; 
$sd = read(); 
if(!$unix) $sd = str_replace("/", "", $sd); 
if(!$unix) $sd = str_replace("\\", "", $sd); 
if(strlen($sd) == 1) $sd=strtoupper($sd.":"); 
if(disk_total_space($sd) > 2160960640 && !$unix) {
 echo "\nWe have detected your SD card may be an SDHC. SDHC cards (over 3GB) will\n";
 echo "NOT work with Brawl+, but 2GB or lower SD cards will. Continue Anyway? (Y/N) ";
 $yn = read();
 if(strtolower($yn) == "n") {
  echo "\nPress enter to close.";
  $a = read(); exit;
 } else {
  echo "\n";
 }
}
if(file_exists(di($sd."/codes/RSBE01.gct"))) { 
 echo "Overwrite your current codes file? (Y/N) "; $yn = read(); 
 if($yn != "Y" && $yn != "y") { 
  @unlink(di($sd."/codes/vbrawl.gct")); 
  @rename(di($sd."/codes/RSBE01.gct"), di($sd."/codes/vbrawl.gct")); 
 } 
}
if($opt == "2" || $opt == "3" || $opt == "4") {
echo "Download team textures, portraits and extras? (Y/N) "; $teams = read();
if(strtolower($teams) == "y" || strtolower($teams) == "yes") {
 $team = "team=1";
} else {
 $team = "";
}
}
 if(!is_dir(di($sd."/codes"))) @mkdir(di($sd."/codes")); 
 if(!is_dir(di($sd."/private"))) @mkdir(di($sd."/private")); 
 if(!is_dir(di($sd."/private/wii"))) @mkdir(di($sd."/private/wii")); 
 if(!is_dir(di($sd."/private/wii/app"))) @mkdir(di($sd."/private/wii/app")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE"))) @mkdir(di($sd."/private/wii/app/RSBE")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/al"))) @mkdir(di($sd."/private/wii/app/RSBE/al")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/st"))) @mkdir(di($sd."/private/wii/app/RSBE/st")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf"))) @mkdir(di($sd."/private/wii/app/RSBE/pf")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/rp"))) @mkdir(di($sd."/private/wii/app/RSBE/rp")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/captain"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/captain")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/dedede"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/dedede")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/diddy"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/diddy")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/donkey"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/donkey")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/falco"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/falco")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/fox"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/fox")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/gamewatch"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/gamewatch")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/ganon"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/ganon")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/ike"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/ike")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/kirby"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/kirby")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/koopa"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/koopa")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/link"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/link")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/lucario"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/lucario")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/lucas"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/lucas")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/luigi"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/luigi")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/mario"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/mario")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/marth"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/marth")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/metaknight"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/metaknight")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/ness"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/ness")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/peach"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/peach")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/pikachu"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/pikachu")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/pikmin"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/pikmin")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/pit"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/pit")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/pokefushigisou"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/pokefushigisou")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/pokelizardon"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/pokelizardon")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/pokezenigame"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/pokezenigame")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/poketrainer"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/poketrainer"));
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/popo"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/popo")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/purin"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/purin")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/robot"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/robot")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/samus"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/samus")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/sheik"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/sheik")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/snake"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/snake")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/sonic"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/sonic")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/szerosuit"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/szerosuit")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/toonlink"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/toonlink")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/wario"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/wario")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/wolf"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/wolf")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/yoshi"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/yoshi")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/fighter/zelda"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/fighter/zelda")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/menu"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/menu")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/menu/common"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/menu/common"));
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/menu/common/char_bust_tex"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/menu/common/char_bust_tex"));
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/menu/controller"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/menu/controller")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/menu/strap"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/menu/strap")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/menu2"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/menu2"));
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/info"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/info")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/info/portrite"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/info/portrite"));
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/info2"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/info2")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/sound"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/sound")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/sound/strm"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/sound/strm")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/stage"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/stage")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/stage/melee"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/stage/melee")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/system"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/system")); 
 if(!is_dir(di($sd."/private/wii/app/RSBE/pfmenu2"))) @mkdir(di($sd."/private/wii/app/RSBE/pfmenu2"));
 if(!is_dir(di($sd."/private/wii/app/RSBE/pf/module"))) @mkdir(di($sd."/private/wii/app/RSBE/pf/module"));

clearit(); 

if($opt == "1") { 
  sdcard($sd, "http://brawlplus.net/dl.php?premade=1", 1); 
  echo "\nAll of the files to play Brawl+ are now downloaded onto your SD.\n"; 
  echo "Insert your SD card into your Wii, load Gecko OS, and play!\n"; 
  echo "Press enter to close."; $a=read(); exit;
} elseif($opt == "2") {
  sdcard($sd, "http://brawlplus.net/dl.php?".$team); 
  echo "\nAll of the files to play Brawl+ are now downloaded onto your SD.\n"; 
  echo "Insert your SD card into your Wii, load Gecko OS, and play!\n"; 
  echo "Press enter to close."; $a=read(); exit;
} elseif($opt == "3") { 
  sdcard($sd, "http://brawlplus.net/dl.php?s=1&".$team); 
  echo "\nAll of the files to play Brawl+ are now downloaded onto your SD.\n"; 
  echo "Insert your SD card into your Wii, load a backup launcher, and play!\n"; 
  echo "Press enter to close."; $a=read(); exit; 
} elseif($opt == "4") {
  sdcard($sd, "http://brawlplus.net/dl.php?com=1&".$team);
  echo "\nAll of the files to play Brawl+ are now downloaded onto your SD.\n";
  echo "Delete all of your custom stages off of the Wii, hit \"Reset\" on the\n";
  echo "Wii, insert your SD card, go to \"Stage Builder\" and enjoy Brawl!\n";
  echo "Press enter to close."; $a=read(); exit;
} elseif($opt == "5") {
  sdcard($sd, "http://brawlplus.net/dl.php?fighteronly=1");
  echo "\nDone. Press enter to close."; $a=read(); exit;
} else { 
 echo "\nInvalid option specified! If you don't know what to enter, type 1.\n\nPress enter to close."; $a=read(); exit; 
} 
?>
dl.php [Download Hub]

PHP:
<?php
function getFiles($directory) {
    if($dir = opendir($directory)) {
        $tmp = array();
        while($file = readdir($dir)) {
            if($file != "." && $file != ".." && $file[0] != '.') {
                if(is_dir($directory . "/" . $file)) {
                    $tmp2 = getFiles($directory . "/" . $file);
                    if(is_array($tmp2)) {
                        $tmp = array_merge($tmp, $tmp2);
                    }
                } else {
                    array_push($tmp, $directory . "/" . $file);
                }
            }
        }
        closedir($dir);
        return $tmp;
    }
}
if($_REQUEST["maclinux"] == "1") {
 $out = @file_get_contents("./downloads/updater.phps");
 header("Pragma: public");
 header("Expires: 0");
 header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
 header("Cache-Control: private", false);
 header("Content-Type: application/force-download");
 header("Content-Disposition: attachment; filename=\"updater.php\";");
 header("Content-Transfer-Encoding: binary");
 header("Content-Length: ".strlen($out));
 die($out);
}
$pf = (isset($_REQUEST["altdir"])) ? $_REQUEST["altdir"] : "pf";
header("Content-Type: text/plain");
echo "+\r\n"; //beacon

if(!isset($_GET["s"])) {
 echo "gameconfig.txt:gameconfig.txt:".md5(@file_get_contents("./downloads/gameconfig.txt"));
 echo "\r\nRSBE01.gct:codes/RSBE01.gct:".md5(@file_get_contents("./downloads/RSBE01.gct"));
} else {
 echo "SnapshotLoaderRSBE01.gct:codes/RSBE01.gct:".md5(@file_get_contents("./downloads/SnapshotLoaderRSBE01.gct"));
 echo "\r\n"."al_5-0.bin:private/wii/app/RSBE/al/al_5-0.bin:".md5(@file_get_contents("./downloads/al_5-0.bin"));
}
if(isset($_GET["com"])) {
 echo "\r\nboot.elf:boot.elf:".md5(@file_get_contents("./downloads/boot.elf"));
 echo "\r\nst_exploit.bin:private/wii/app/RSBE/st/st_exploit.bin:".md5(@file_get_contents("./downloads/st_exploit.bin"));
}
if(!isset($_GET["fighteronly"])) {
 echo "\r\nStrapEn.pac:private/wii/app/RSBE/".$pf."/menu/strap/StrapEn.pac:".md5(@file_get_contents("./downloads/StrapEn.pac"));
 echo "\r\nsc_title.pac:private/wii/app/RSBE/".$pf."menu2/sc_title.pac:".md5(@file_get_contents("./downloads/sc_title.pac"));
}
if(isset($_GET["premade"])) {
 echo "\r\nbackground.png:background.png:".md5(@file_get_contents("./downloads/background.png"));
 $apps = getFiles("./downloads/apps");
 for($i=0; $i < count($apps); $i++) {
  $name = explode("/", $apps[$i]);
  $dirname = $name[3];
  $filename = $name[4];
  echo "\r\n";
  echo "apps/".$dirname."/".$filename.":apps/".$dirname."/".$filename.":";
  echo md5(@file_get_contents("./downloads/apps/".$dirname."/".$filename));
 }
}

$fighter = getFiles("./downloads/fighter");
for($i=0; $i < count($fighter); $i++) {
 $name = explode("/", $fighter[$i]);
 $dirname = $name[3];
 $filename = $name[4];
 echo "\r\n";
 echo "fighter/".$dirname."/".$filename.":";
 echo "private/wii/app/RSBE/".$pf."/fighter/".$dirname."/".$filename.":";
 echo md5(@file_get_contents("./downloads/fighter/".$dirname."/".$filename));
}

$stage = getFiles("./downloads/stage");
for($i=0; $i < count($stage); $i++) {
 $name = explode("/", $stage[$i]);
 $filename = $name[4];
 echo "\r\n";
 echo "stage/melee/".$filename.":";
 echo "private/wii/app/RSBE/".$pf."/stage/melee/".$filename.":";
 echo md5(@file_get_contents("./downloads/stage/melee/".$filename));
}
$system = getFiles("./downloads/system");
for($i=0; $i < count($system); $i++) {
 $name = explode("/", $system[$i]);
 $filename = $name[3];
 if($_GET["team"] != "1" && $filename == "common5.pac") continue;
 echo "\r\n";
 echo "system/".$filename.":";
 echo "private/wii/app/RSBE/".$pf."/system/".$filename.":";
 echo md5(@file_get_contents("./downloads/system/".$filename));
}

if(isset($_GET["team"])) {
 $fighter = getFiles("./downloads/textures/fighter");
 for($i=0; $i < count($fighter); $i++) {
  $name = explode("/", $fighter[$i]);
  $dirname = $name[4];
  $filename = $name[5];
  echo "\r\n";
  echo "textures/fighter/".$dirname."/".$filename.":";
  echo "private/wii/app/RSBE/".$pf."/fighter/".$dirname."/".$filename.":";
  echo md5(@file_get_contents("./downloads/textures/".$dirname."/".$filename));
 }
 $info = getFiles("./downloads/textures/info/portrite");
 for($i=0; $i < count($info); $i++) {
  $name = explode("/", $info[$i]);
  $file = $name[5];
  echo "\r\n";
  echo "textures/info/portrite/".$file.":";
  echo "private/wii/app/RSBE/".$pf."/info/portrite/".$file.":";
  echo md5(@file_get_contents("./downloads/textures/info/portrite/".$file));
 }
 $menu = getFiles("./downloads/textures/menu/common/char_bust_tex");
 for($i=0; $i < count($menu); $i++) {
  $name = explode("/", $menu[$i]);
  $file = $name[6];
  echo "\r\n";
  echo "textures/menu/common/char_bust_tex/".$file.":";
  echo "private/wii/app/RSBE/".$pf."/menu/common/char_bust_tex/".$file.":";
  echo md5(@file_get_contents("./downloads/textures/menu/common/char_bust_tex/".$file));
 }
}
?>
 

shanus

Smash Hero
Joined
Nov 17, 2005
Messages
6,055
I myself would like an updater at some point in time, but its really way too far in the future to bother asking for now. It'd be similar to all the others, anyway.
 

goodoldganon

Smash Champion
Joined
Mar 17, 2008
Messages
2,946
Location
Cleveland, Ohio
Neko or I can probably help you out with a simple, effective banner BPC. Won't be for another week on my end, but feel free to PM me with what you were hoping it to look like. I should get time sooner or later
 

Dantarion

Smash Champion
Joined
May 21, 2007
Messages
2,492
Location
Santa Barbara, CA
BionicSonic, would you be interested in making a unified updater for these projects?
i.e. one that could rename files/folders properly to swtich between mods?
 

Isatis

If specified, this will repl[0x00000000]ce the
Premium
BRoomer
Joined
Dec 18, 2008
Messages
10,253
Location
San Francisco, CA
NNID
reverite
Yeah, I can definitely code stuff in for that
 
Top Bottom