All pastes #754730 Raw Edit

Unnamed

public text v1 · immutable
#754730 ·published 2007-10-30 05:26 UTC
rendered paste body
<?php

error_reporting(0);

define("MALE", 1);
define("FEMALE", 2);

if (!function_exists('array_combine')){
function array_combine($keys,$values) {
    $result = array();
    while(($k=each($keys)) && ($v=each($values)))
		$result[$k[1]] = $v[1];
    return $result;
}
}

function tab_parse($file,$first_key=false){
	$a = array();
	$b = explode("\n",file_get_contents($file));
	$first = array_shift($b);
	$keys = explode("\t",$first);
	foreach ($b as $c){
		$d = explode("\t",$c);
		if (count($keys) != count($d)) continue;
		if ($first_key)
			$a[$d[0]] = array_combine($keys,$d);
		else
			$a[] = array_combine($keys,$d);
	}
	return $a;
}

if (!isset($_SERVER['QUERY_STRING']))
	$_SERVER['QUERY_STRING'] = '';

header('Content-type: image/gif');

$items = explode(',',urldecode($_SERVER['QUERY_STRING']));

if (array_search('F',$items) !== false){
	$gender = FEMALE;
} else {
	$gender = MALE;
}

$img = imagecreatefrompng("images/_Base.png");
imagecolortransparent($img,0);
$layers = tab_parse('tf.txt',true);

if ($gender == FEMALE)
	$layer['Skin'] = imagecreatefrompng("images/female/Skin.png");
else 
	$layer['Skin'] = imagecreatefrompng("images/Skin.png");

foreach ($items as $item){
	if ($gender == FEMALE){
		if (isset($layers[$item]))
			if ($layers[$item]['type'] == 'Extra')
				if (file_exists("images/female/$item.png"))
					$layer['Extra'][] = @imagecreatefrompng("images/female/$item.png");		
				else
					$layer['Extra'][] = @imagecreatefrompng("images/$item.png");		
			elseif ($layers[$item]['type'] == 'PreExtra')
				if (file_exists("images/female/$item.png"))
					$layer['PreExtra'][] = @imagecreatefrompng("images/female/$item.png");		
				else
					$layer['PreExtra'][] = @imagecreatefrompng("images/$item.png");		
			elseif ($layers[$item]['type'] == 'Transform')
				if (file_exists("images/$item.png"))
					$transform = @imagecreatefrompng("images/$item.png");
				else
					$transform = null;
			else
				if (file_exists("images/female/$item.png"))
					$layer[$layers[$item]['type']] = @imagecreatefrompng("images/female/$item.png");		
				else
					$layer[$layers[$item]['type']] = @imagecreatefrompng("images/$item.png");		
		elseif (strlen($item) == 5 && $item[0] == 'H' && file_exists("images/female/hair/$item.png"))
			$layer['Hair'] = @imagecreatefrompng("images/female/hair/$item.png");
	} else {
		if (isset($layers[$item]))
			if ($layers[$item]['type'] == 'Extra')
				if (file_exists("images/$item.png"))
					$layer['Extra'][] = @imagecreatefrompng("images/$item.png");		
				else
					$layer['Extra'][] = @imagecreatefrompng("images/female/$item.png");		
			elseif ($layers[$item]['type'] == 'PreExtra')
				if (file_exists("images/$item.png"))
					$layer['PreExtra'][] = @imagecreatefrompng("images/$item.png");		
				else
					$layer['PreExtra'][] = @imagecreatefrompng("images/female/$item.png");		
			elseif ($layers[$item]['type'] == 'Transform')
				if (file_exists("images/$item.png"))
					$transform = @imagecreatefrompng("images/$item.png");
				else
					$transform = null;
			else
				if (file_exists("images/$item.png"))
					$layer[$layers[$item]['type']] = @imagecreatefrompng("images/$item.png");		
				else
					$layer[$layers[$item]['type']] = @imagecreatefrompng("images/female/$item.png");		
		elseif (strlen($item) == 5 && $item[0] == 'H' && file_exists("images/hair/$item.png"))
			$layer['Hair'] = @imagecreatefrompng("images/hair/$item.png");
	}
}

if (isset($transform))
	$layer = array();

define('A',18);

if (isset($layer['PreExtra']) && is_array($layer['PreExtra']))
foreach($layer['PreExtra'] as $lay){
	@imagecopymerge($img,$lay,0,0,0,0,68,100,100);
}

if (isset($layer['Wings']))
	imagecopymerge($img,$layer['Wings'],0+A,0,0,0,50,63,100);

if (isset($layer['Weapon']))
	imagecopymerge($img,$layer['Weapon'],A-18,-4,0,0,68,84,100);

if (isset($layer['Skin']))
	imagecopymerge($img,$layer['Skin'],17+A,16,0,0,18,58,100);

if (isset($layer['Shoes']))
	imagecopymerge($img,$layer['Shoes'],9+A,52,0,0,34,27,100);

if (isset($layer['Armor']))
	imagecopymerge($img,$layer['Armor'],9+A,3,0,0,34,77,100);

if (isset($layer['Bandana']))
	imagecopymerge($img,$layer['Bandana'],11+A,0,0,0,30,34,100);

if (isset($layer['Mask']))
	imagecopymerge($img,$layer['Mask'],11+A,0,0,0,30,34,100);

if (isset($layer['Hair']))
	imagecopymerge($img,$layer['Hair'],11+A,3,0,0,28,54,100);

if (isset($layer['Hat']))
	imagecopymerge($img,$layer['Hat'],11+A,0,0,0,30,34,100);

if (isset($layer['Shield']))
	imagecopymerge($img,$layer['Shield'],2+A,29,0,0,38,38,100);

if (isset($layer['Pet'])){
	$petw = imagesx($layer['Pet']);
	$peth = imagesy($layer['Pet']);
	imagecopymerge($img,$layer['Pet'],0,94-$peth,0,0,$petw,$peth,100);
}

if (isset($layer['Pet2'])){
	$petw = imagesx($layer['Pet2']);
	$peth = imagesy($layer['Pet2']);
	imagecopymerge($img,$layer['Pet2'],0,94-$peth,0,0,$petw,$peth,100);
}

if (isset($layer['Extra']) && is_array($layer['Extra']))
foreach($layer['Extra'] as $lay){
	@imagecopymerge($img,$lay,0,0,0,0,68,84,100);
}

if (isset($transform))
	@imagecopymerge($img,$transform,0,0,0,0,68,84,100);

imagegif($img);