S2B
S2B

Hidden Palace unhidden

Google
Web
www.s2beta.com

Message Board

Origin
FAQ
Downloads
Cheats
Comparisons
Prototype Zones
Music
Concept Art Sketches
Magazine Previews
Video Previews
Timeline
Lost Sprites & Tiles
Savestates
False Alarms
Summary
Links

Engineering Archive
Sonic Community Hacking Guide External Link
Sonic 2 Algorithms & Specs Patents

Hoaxes
Fonts
HK Bootleg Sonic CD
Foreign Languages

Contact
Help Needed

9.4 years
since unearthing of
prototype ROM


15.5 years
since release
of Sonic 2 on MegaDrive


1.7 years
since renaming to S2B


Affiliate

Sorry, we are no longer accepting any more affiliates. But thank you for your interest!

Page Hits: #!/usr/bin/perl ############################################################################## # # # SSI Counter Version 1.0d # # Copyright 2000 Robert DeFusco defsoft@gis.net # # Created 2/16/2000 Last Modified 9/14/2002 # # # ############################################################################## # # # COPYRIGHT NOTICE # # Copyright 2000 Robert S. DeFusco All Rights Reserved. # # # # This script may be used and modified by anyone so long as # # this copyright notice and the comments above remain intact. # # By using this this code you agree to indemnify Robert S. DeFusco from # # any liability that might arise from it's use. # # # # Selling the code for this program without prior written consent is # # expressly forbidden. In other words, please ask first before you try and # # make money off of my program. # # # # Obtain permission before redistributing this software over the Internet or # # in any other medium. In all cases copyright and header must remain intact.# # # ############################################################################## use CGI qw(:standard); ############################################################################## # Counter URL # # --------------------------------------- open(PUF,"url.path"); @upath=; close(PUF); $counturl="@upath"; # --------------------------------------- ############################################################################## ############################################################################## # System Variables # @schemes=( "bluenight", "coalfire", "custom", "default", "digitalalarm", "encounter", "futuregreen", "ghost", "gilligan", "metallica", "neonpower", "ocean3d", "purplefunk", "silver3d", "thematrix", "unionform", "winamp", "windowsxp", "woodburn", "x-files" ); @bcolors=( "black", "white", "red", "green", "blue", "yellow", "orange", "custom" ); $picked_scheme=param("scheme"); $picked_scheme=~s/ //ig; $picked_scheme=~tr/A-Z/a-z/; $pageid=param("id"); $cmode=param("type"); $cmode=~s/ //ig; $cmode=~tr/A-Z/a-z/; $border=param("border"); $border=~tr/A-Z/a-z/; $max=param("max"); ###################### ## Random Scheme Code if($picked_scheme eq 'random'){ srand(time ^ $$); $rnum = rand(@schemes); $picked_scheme=$schemes[$rnum]; } ###################### ############################################################################## ############################################################################## # Main command handler # ## Check ID List ######## open(IDL,"pageid.list"); @idfile=; close(IDL); @idlist=split(/\,/,"@idfile"); $idpassed="0"; foreach $iditem (@idlist){ chomp($iditem); if($pageid eq $iditem) { $idpassed="1"; } } if($idpassed eq '0'){ print "Content-type: text/html\n\n"; print "invalid page id!"; exit; } ######################### if(!($cmode)){ print "Content-type: text/html\n\n"; print "invalid counter type!"; exit; } if($cmode eq 'ascii' || $cmode eq 'text') { &ascii_counter; exit; } if($cmode eq 'image' || $cmode eq 'img' || !($cmode)) { &image_counter; exit; } ############################################################################## ############################################################################## # ASCII Counter # sub ascii_counter { $counter=count_log(); if($max) { if($max <= length($counter)) { } else { for($i=0;$i<($max-length($counter));$i++) { $addzero.="0"; } $addzero.=$counter; $counter=$addzero; } } print "Content-type: text/html\n\n"; print "$counter"; } ############################################################################## ############################################################################## # Image Counter # sub image_counter { ## Check scheme ######## if(!($picked_scheme)) { $picked_scheme="default"; } $passed="0"; foreach $scheme (@schemes){ if($picked_scheme eq $scheme) { $passed="1"; } } if($passed eq '0') { print "Content-type: text/html\n\n"; print "invalid scheme"; exit; } ######################## $counter=count_log(); if($max) { if($max <= length($counter)) { } else { for($i=0;$i<($max-length($counter));$i++) { $addzero.="0"; } $addzero.=$counter; $counter=$addzero; } } for($i=0;$i"; } if($border) { $bcpassed="0"; foreach $bcolor (@bcolors){ if($border eq $bcolor) { $bcpassed="1"; } } if($bcpassed eq '1'){ $borderurl=$counturl . "borders/" . "$border.gif"; $ciw=(length($counter)*8)+2; $prehtml="
"; $posthtml="
"; $fullhtml=$prehtml . $ihtml . $posthtml; chomp($fullhtml); $ihtml=$fullhtml; } } print "Content-type: text/html\n\n"; print "$ihtml"; } ############################################################################## ############################################################################## # Counter Log # sub count_log { open(CF,"+>>$pageid.count"); flock(CF,2); seek CF, 0, 0; ($countval = join '', ); truncate CF, 0; $countval++; print CF $countval; close(CF); return $countval; } ##############################################################################