Browse Source

added StrickmanWorldOnline to build files

Kolja Strohm 5 years ago
parent
commit
4d9ca9c3c8
85 changed files with 2797 additions and 2802 deletions
  1. 0 3
      .vs/ProjectSettings.json
  2. 0 6
      .vs/VSWorkspaceState.json
  3. BIN
      .vs/slnx.sqlite
  4. 1 1
      Allgemein/Framework
  5. 1 1
      Allgemein/GSL
  6. 1 1
      Allgemein/Network
  7. 1 1
      Allgemein/ksgScript
  8. 1 1
      Allgemein/sql
  9. 1 1
      Apps/AppServer
  10. 2 2
      Apps/build.bat
  11. 232 232
      OpenSSL/x32/Release/bin/c_rehash.pl
  12. 188 188
      OpenSSL/x32/Release/include/openssl/opensslconf.h
  13. 232 232
      OpenSSL/x64/Debug/bin/c_rehash.pl
  14. 188 188
      OpenSSL/x64/Debug/include/openssl/opensslconf.h
  15. 232 232
      OpenSSL/x64/Release/bin/c_rehash.pl
  16. 188 188
      OpenSSL/x64/Release/include/openssl/opensslconf.h
  17. BIN
      Projektvorlagen/Framework Program.zip
  18. 6 6
      README.txt
  19. 2 2
      Spiele Platform/Klient/Fertig/Debug/Minigames/x64/Asteroids/mg.ini
  20. 2 2
      Spiele Platform/Klient/Fertig/Debug/Minigames/x64/Blöcke/mg.ini
  21. 2 2
      Spiele Platform/Klient/Fertig/Debug/Minigames/x64/Fangen/mg.ini
  22. 2 2
      Spiele Platform/Klient/Fertig/Debug/Minigames/x64/Snake/mg.ini
  23. 2 2
      Spiele Platform/Klient/Fertig/Debug/Minigames/x64/Tetris/mg.ini
  24. 87 87
      Spiele Platform/Klient/Fertig/Debug/Spiele/x64/Stickman World Online/data/beschreibung.ksgs
  25. 19 19
      Spiele Platform/Klient/Fertig/Debug/copyToDebug.bat
  26. 2 2
      Spiele Platform/Klient/Fertig/Debug/x64/data/optionen.ini
  27. 89 89
      Spiele Platform/Klient/Fertig/Debug/x64/data/script/SpielNichtAktuell.ksgs
  28. BIN
      Spiele Platform/Klient/Fertig/Debug/x64/data/version
  29. 2 2
      Spiele Platform/Klient/Fertig/Minigames/x32/Asteroids/mg.ini
  30. 2 2
      Spiele Platform/Klient/Fertig/Minigames/x32/Blöcke/mg.ini
  31. 2 2
      Spiele Platform/Klient/Fertig/Minigames/x32/Fangen/mg.ini
  32. 2 2
      Spiele Platform/Klient/Fertig/Minigames/x32/Snake/mg.ini
  33. 2 2
      Spiele Platform/Klient/Fertig/Minigames/x32/Tetris/mg.ini
  34. 2 2
      Spiele Platform/Klient/Fertig/Minigames/x64/Asteroids/mg.ini
  35. 2 2
      Spiele Platform/Klient/Fertig/Minigames/x64/Blöcke/mg.ini
  36. 2 2
      Spiele Platform/Klient/Fertig/Minigames/x64/Fangen/mg.ini
  37. 2 2
      Spiele Platform/Klient/Fertig/Minigames/x64/Snake/mg.ini
  38. 2 2
      Spiele Platform/Klient/Fertig/Minigames/x64/Tetris/mg.ini
  39. 87 87
      Spiele Platform/Klient/Fertig/Spiele/x32/Asteroids/data/beschreibung.ksgs
  40. 87 87
      Spiele Platform/Klient/Fertig/Spiele/x32/Linie/data/beschreibung.ksgs
  41. 87 87
      Spiele Platform/Klient/Fertig/Spiele/x32/Stickman World Online/data/beschreibung.ksgs
  42. 87 87
      Spiele Platform/Klient/Fertig/Spiele/x64/Asteroids/data/beschreibung.ksgs
  43. 87 87
      Spiele Platform/Klient/Fertig/Spiele/x64/Linie/data/beschreibung.ksgs
  44. 87 87
      Spiele Platform/Klient/Fertig/Spiele/x64/Stickman World Online/data/beschreibung.ksgs
  45. 1 1
      Spiele Platform/Klient/Fertig/x32/data/optionen.ini
  46. 89 89
      Spiele Platform/Klient/Fertig/x32/data/script/SpielNichtAktuell.ksgs
  47. BIN
      Spiele Platform/Klient/Fertig/x32/data/version
  48. 2 2
      Spiele Platform/Klient/Fertig/x64/data/optionen.ini
  49. 89 89
      Spiele Platform/Klient/Fertig/x64/data/script/SpielNichtAktuell.ksgs
  50. BIN
      Spiele Platform/Klient/Fertig/x64/data/version
  51. 21 21
      Spiele Platform/Klient/Include/StrukturenV.h
  52. 28 28
      Spiele Platform/Klient/Include/Update.h
  53. 1 1
      Spiele Platform/Klient/Minigames/DungeonGame
  54. 1 1
      Spiele Platform/Klient/Minigames/Snake
  55. 13 13
      Spiele Platform/Klient/Minigames/build.bat
  56. 16 16
      Spiele Platform/Klient/build.bat
  57. 1 1
      Spiele Platform/SMP
  58. 1 1
      Spiele Platform/Server/Anmeldung Server
  59. 1 1
      Spiele Platform/Server/Chat Server
  60. 1 1
      Spiele Platform/Server/Editor Server
  61. 1 1
      Spiele Platform/Server/Erhaltung Server
  62. 1 1
      Spiele Platform/Server/Historie Server
  63. 1 1
      Spiele Platform/Server/Information Server
  64. 1 1
      Spiele Platform/Server/Karten Server
  65. 1 1
      Spiele Platform/Server/Login Server
  66. 1 1
      Spiele Platform/Server/Main Server
  67. 1 1
      Spiele Platform/Server/Minigame Server
  68. 1 1
      Spiele Platform/Server/News Server
  69. 1 1
      Spiele Platform/Server/Patch Server
  70. 1 1
      Spiele Platform/Server/Register Server
  71. 1 1
      Spiele Platform/Server/ServerSystemStarter
  72. 1 1
      Spiele Platform/Server/Shop Server
  73. 1 1
      Spiele Platform/Server/Spiel Server
  74. 32 32
      Spiele Platform/Server/build.bat
  75. 6 4
      Spiele Platform/Spiele/Klient/build.bat
  76. 1 1
      Spiele Platform/Spiele/Server/Asteroids
  77. 1 1
      Spiele Platform/Spiele/Server/Linie
  78. 1 1
      Spiele Platform/Spiele/Server/Stickman-World
  79. 6 4
      Spiele Platform/Spiele/Server/build.bat
  80. 4 4
      Spiele Platform/Spiele/build.bat
  81. 8 8
      Spiele Platform/build.bat
  82. 9 9
      buildDungeonGame.bat
  83. 9 9
      buildDungeonGameRelease.bat
  84. 413 413
      ns.txt
  85. 6 6
      pull_and_rebuild.bat

+ 0 - 3
.vs/ProjectSettings.json

@@ -1,3 +0,0 @@
-{
-  "CurrentProjectSetting": null
-}

+ 0 - 6
.vs/VSWorkspaceState.json

@@ -1,6 +0,0 @@
-{
-  "ExpandedNodes": [
-    ""
-  ],
-  "PreviewInSolutionExplorer": false
-}

BIN
.vs/slnx.sqlite


+ 1 - 1
Allgemein/Framework

@@ -1 +1 @@
-Subproject commit b2ee1cdf451989dd861691bf6517bac748a59fb7
+Subproject commit f29d33dc894c8f46e1ee98a663e632d49aa0d0d2

+ 1 - 1
Allgemein/GSL

@@ -1 +1 @@
-Subproject commit 5f4f3ab3657096efb01173ad1c8bf0100ed3fb3d
+Subproject commit 79369c7ae8ad7dd55d96406b9456674292db7234

+ 1 - 1
Allgemein/Network

@@ -1 +1 @@
-Subproject commit be3b0f90e52692bfad54ad9e2e6578b7874303b9
+Subproject commit 40c63c9ee9ef0e4a6f9f52bb3ff6784b9fe919e3

+ 1 - 1
Allgemein/ksgScript

@@ -1 +1 @@
-Subproject commit 2e7e4a18825a795ae88f426412337921bbb91340
+Subproject commit e478b34e2d91a2a3d56471d9cc53bbcb48ea850e

+ 1 - 1
Allgemein/sql

@@ -1 +1 @@
-Subproject commit bef43b8462bf1dfa1203fe9094bf589ed0b7d760
+Subproject commit ed667e488b4b559b052a7b64cec7d858a10df9ec

+ 1 - 1
Apps/AppServer

@@ -1 +1 @@
-Subproject commit 55a33dad89187018a5c5fd8995c7da79ac46496f
+Subproject commit ad37348d8fbfca5ce099a1bcadb8378bd4416a69

+ 2 - 2
Apps/build.bat

@@ -1,3 +1,3 @@
-cd "AppServer"
-call build.bat
+cd "AppServer"
+call build.bat
 cd ".."

+ 232 - 232
OpenSSL/x32/Release/bin/c_rehash.pl

@@ -1,232 +1,232 @@
-#!/usr/bin/env perl
-
-# WARNING: do not edit!
-# Generated by makefile from tools\c_rehash.in
-# Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved.
-#
-# Licensed under the OpenSSL license (the "License").  You may not use
-# this file except in compliance with the License.  You can obtain a copy
-# in the file LICENSE in the source distribution or at
-# https://www.openssl.org/source/license.html
-
-# Perl c_rehash script, scan all files in a directory
-# and add symbolic links to their hash values.
-
-my $dir = "";
-my $prefix = "D:\\Tests\\KoljaStrohm-Games\\OpenSSL\\x32\\Release";
-
-my $errorcount = 0;
-my $openssl = $ENV{OPENSSL} || "openssl";
-my $pwd;
-my $x509hash = "-subject_hash";
-my $crlhash = "-hash";
-my $verbose = 0;
-my $symlink_exists=eval {symlink("",""); 1};
-my $removelinks = 1;
-
-##  Parse flags.
-while ( $ARGV[0] =~ /^-/ ) {
-    my $flag = shift @ARGV;
-    last if ( $flag eq '--');
-    if ( $flag eq '-old') {
-	    $x509hash = "-subject_hash_old";
-	    $crlhash = "-hash_old";
-    } elsif ( $flag eq '-h' || $flag eq '-help' ) {
-	    help();
-    } elsif ( $flag eq '-n' ) {
-	    $removelinks = 0;
-    } elsif ( $flag eq '-v' ) {
-	    $verbose++;
-    }
-    else {
-	    print STDERR "Usage error; try -h.\n";
-	    exit 1;
-    }
-}
-
-sub help {
-	print "Usage: c_rehash [-old] [-h] [-help] [-v] [dirs...]\n";
-	print "   -old use old-style digest\n";
-	print "   -h or -help print this help text\n";
-	print "   -v print files removed and linked\n";
-	exit 0;
-}
-
-eval "require Cwd";
-if (defined(&Cwd::getcwd)) {
-	$pwd=Cwd::getcwd();
-} else {
-	$pwd=`pwd`;
-	chomp($pwd);
-}
-
-# DOS/Win32 or Unix delimiter?  Prefix our installdir, then search.
-my $path_delim = ($pwd =~ /^[a-z]\:/i) ? ';' : ':';
-$ENV{PATH} = "$prefix/bin" . ($ENV{PATH} ? $path_delim . $ENV{PATH} : "");
-
-if (! -x $openssl) {
-	my $found = 0;
-	foreach (split /$path_delim/, $ENV{PATH}) {
-		if (-x "$_/$openssl") {
-			$found = 1;
-			$openssl = "$_/$openssl";
-			last;
-		}	
-	}
-	if ($found == 0) {
-		print STDERR "c_rehash: rehashing skipped ('openssl' program not available)\n";
-		exit 0;
-	}
-}
-
-if (@ARGV) {
-	@dirlist = @ARGV;
-} elsif ($ENV{SSL_CERT_DIR}) {
-	@dirlist = split /$path_delim/, $ENV{SSL_CERT_DIR};
-} else {
-	$dirlist[0] = "$dir/certs";
-}
-
-if (-d $dirlist[0]) {
-	chdir $dirlist[0];
-	$openssl="$pwd/$openssl" if (!-x $openssl);
-	chdir $pwd;
-}
-
-foreach (@dirlist) {
-	if (-d $_ ) {
-            if ( -w $_) {
-		hash_dir($_);
-            } else {
-                print "Skipping $_, can't write\n";
-                $errorcount++;
-            }
-	}
-}
-exit($errorcount);
-
-sub hash_dir {
-	my %hashlist;
-	print "Doing $_[0]\n";
-	chdir $_[0];
-	opendir(DIR, ".");
-	my @flist = sort readdir(DIR);
-	closedir DIR;
-	if ( $removelinks ) {
-		# Delete any existing symbolic links
-		foreach (grep {/^[\da-f]+\.r{0,1}\d+$/} @flist) {
-			if (-l $_) {
-				print "unlink $_" if $verbose;
-				unlink $_ || warn "Can't unlink $_, $!\n";
-			}
-		}
-	}
-	FILE: foreach $fname (grep {/\.(pem)|(crt)|(cer)|(crl)$/} @flist) {
-		# Check to see if certificates and/or CRLs present.
-		my ($cert, $crl) = check_file($fname);
-		if (!$cert && !$crl) {
-			print STDERR "WARNING: $fname does not contain a certificate or CRL: skipping\n";
-			next;
-		}
-		link_hash_cert($fname) if ($cert);
-		link_hash_crl($fname) if ($crl);
-	}
-}
-
-sub check_file {
-	my ($is_cert, $is_crl) = (0,0);
-	my $fname = $_[0];
-	open IN, $fname;
-	while(<IN>) {
-		if (/^-----BEGIN (.*)-----/) {
-			my $hdr = $1;
-			if ($hdr =~ /^(X509 |TRUSTED |)CERTIFICATE$/) {
-				$is_cert = 1;
-				last if ($is_crl);
-			} elsif ($hdr eq "X509 CRL") {
-				$is_crl = 1;
-				last if ($is_cert);
-			}
-		}
-	}
-	close IN;
-	return ($is_cert, $is_crl);
-}
-
-
-# Link a certificate to its subject name hash value, each hash is of
-# the form <hash>.<n> where n is an integer. If the hash value already exists
-# then we need to up the value of n, unless its a duplicate in which
-# case we skip the link. We check for duplicates by comparing the
-# certificate fingerprints
-
-sub link_hash_cert {
-		my $fname = $_[0];
-		$fname =~ s/'/'\\''/g;
-		my ($hash, $fprint) = `"$openssl" x509 $x509hash -fingerprint -noout -in "$fname"`;
-		chomp $hash;
-		chomp $fprint;
-		$fprint =~ s/^.*=//;
-		$fprint =~ tr/://d;
-		my $suffix = 0;
-		# Search for an unused hash filename
-		while(exists $hashlist{"$hash.$suffix"}) {
-			# Hash matches: if fingerprint matches its a duplicate cert
-			if ($hashlist{"$hash.$suffix"} eq $fprint) {
-				print STDERR "WARNING: Skipping duplicate certificate $fname\n";
-				return;
-			}
-			$suffix++;
-		}
-		$hash .= ".$suffix";
-		if ($symlink_exists) {
-			print "link $fname -> $hash\n" if $verbose;
-			symlink $fname, $hash || warn "Can't symlink, $!";
-		} else {
-			print "copy $fname -> $hash\n" if $verbose;
-                        if (open($in, "<", $fname)) {
-                            if (open($out,">", $hash)) {
-                                print $out $_ while (<$in>);
-                                close $out;
-                            } else {
-                                warn "can't open $hash for write, $!";
-                            }
-                            close $in;
-                        } else {
-                            warn "can't open $fname for read, $!";
-                        }
-		}
-		$hashlist{$hash} = $fprint;
-}
-
-# Same as above except for a CRL. CRL links are of the form <hash>.r<n>
-
-sub link_hash_crl {
-		my $fname = $_[0];
-		$fname =~ s/'/'\\''/g;
-		my ($hash, $fprint) = `"$openssl" crl $crlhash -fingerprint -noout -in '$fname'`;
-		chomp $hash;
-		chomp $fprint;
-		$fprint =~ s/^.*=//;
-		$fprint =~ tr/://d;
-		my $suffix = 0;
-		# Search for an unused hash filename
-		while(exists $hashlist{"$hash.r$suffix"}) {
-			# Hash matches: if fingerprint matches its a duplicate cert
-			if ($hashlist{"$hash.r$suffix"} eq $fprint) {
-				print STDERR "WARNING: Skipping duplicate CRL $fname\n";
-				return;
-			}
-			$suffix++;
-		}
-		$hash .= ".r$suffix";
-		if ($symlink_exists) {
-			print "link $fname -> $hash\n" if $verbose;
-			symlink $fname, $hash || warn "Can't symlink, $!";
-		} else {
-			print "cp $fname -> $hash\n" if $verbose;
-			system ("cp", $fname, $hash);
-                        warn "Can't copy, $!" if ($? >> 8) != 0;
-		}
-		$hashlist{$hash} = $fprint;
-}
+#!/usr/bin/env perl
+
+# WARNING: do not edit!
+# Generated by makefile from tools\c_rehash.in
+# Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved.
+#
+# Licensed under the OpenSSL license (the "License").  You may not use
+# this file except in compliance with the License.  You can obtain a copy
+# in the file LICENSE in the source distribution or at
+# https://www.openssl.org/source/license.html
+
+# Perl c_rehash script, scan all files in a directory
+# and add symbolic links to their hash values.
+
+my $dir = "";
+my $prefix = "D:\\Tests\\KoljaStrohm-Games\\OpenSSL\\x32\\Release";
+
+my $errorcount = 0;
+my $openssl = $ENV{OPENSSL} || "openssl";
+my $pwd;
+my $x509hash = "-subject_hash";
+my $crlhash = "-hash";
+my $verbose = 0;
+my $symlink_exists=eval {symlink("",""); 1};
+my $removelinks = 1;
+
+##  Parse flags.
+while ( $ARGV[0] =~ /^-/ ) {
+    my $flag = shift @ARGV;
+    last if ( $flag eq '--');
+    if ( $flag eq '-old') {
+	    $x509hash = "-subject_hash_old";
+	    $crlhash = "-hash_old";
+    } elsif ( $flag eq '-h' || $flag eq '-help' ) {
+	    help();
+    } elsif ( $flag eq '-n' ) {
+	    $removelinks = 0;
+    } elsif ( $flag eq '-v' ) {
+	    $verbose++;
+    }
+    else {
+	    print STDERR "Usage error; try -h.\n";
+	    exit 1;
+    }
+}
+
+sub help {
+	print "Usage: c_rehash [-old] [-h] [-help] [-v] [dirs...]\n";
+	print "   -old use old-style digest\n";
+	print "   -h or -help print this help text\n";
+	print "   -v print files removed and linked\n";
+	exit 0;
+}
+
+eval "require Cwd";
+if (defined(&Cwd::getcwd)) {
+	$pwd=Cwd::getcwd();
+} else {
+	$pwd=`pwd`;
+	chomp($pwd);
+}
+
+# DOS/Win32 or Unix delimiter?  Prefix our installdir, then search.
+my $path_delim = ($pwd =~ /^[a-z]\:/i) ? ';' : ':';
+$ENV{PATH} = "$prefix/bin" . ($ENV{PATH} ? $path_delim . $ENV{PATH} : "");
+
+if (! -x $openssl) {
+	my $found = 0;
+	foreach (split /$path_delim/, $ENV{PATH}) {
+		if (-x "$_/$openssl") {
+			$found = 1;
+			$openssl = "$_/$openssl";
+			last;
+		}	
+	}
+	if ($found == 0) {
+		print STDERR "c_rehash: rehashing skipped ('openssl' program not available)\n";
+		exit 0;
+	}
+}
+
+if (@ARGV) {
+	@dirlist = @ARGV;
+} elsif ($ENV{SSL_CERT_DIR}) {
+	@dirlist = split /$path_delim/, $ENV{SSL_CERT_DIR};
+} else {
+	$dirlist[0] = "$dir/certs";
+}
+
+if (-d $dirlist[0]) {
+	chdir $dirlist[0];
+	$openssl="$pwd/$openssl" if (!-x $openssl);
+	chdir $pwd;
+}
+
+foreach (@dirlist) {
+	if (-d $_ ) {
+            if ( -w $_) {
+		hash_dir($_);
+            } else {
+                print "Skipping $_, can't write\n";
+                $errorcount++;
+            }
+	}
+}
+exit($errorcount);
+
+sub hash_dir {
+	my %hashlist;
+	print "Doing $_[0]\n";
+	chdir $_[0];
+	opendir(DIR, ".");
+	my @flist = sort readdir(DIR);
+	closedir DIR;
+	if ( $removelinks ) {
+		# Delete any existing symbolic links
+		foreach (grep {/^[\da-f]+\.r{0,1}\d+$/} @flist) {
+			if (-l $_) {
+				print "unlink $_" if $verbose;
+				unlink $_ || warn "Can't unlink $_, $!\n";
+			}
+		}
+	}
+	FILE: foreach $fname (grep {/\.(pem)|(crt)|(cer)|(crl)$/} @flist) {
+		# Check to see if certificates and/or CRLs present.
+		my ($cert, $crl) = check_file($fname);
+		if (!$cert && !$crl) {
+			print STDERR "WARNING: $fname does not contain a certificate or CRL: skipping\n";
+			next;
+		}
+		link_hash_cert($fname) if ($cert);
+		link_hash_crl($fname) if ($crl);
+	}
+}
+
+sub check_file {
+	my ($is_cert, $is_crl) = (0,0);
+	my $fname = $_[0];
+	open IN, $fname;
+	while(<IN>) {
+		if (/^-----BEGIN (.*)-----/) {
+			my $hdr = $1;
+			if ($hdr =~ /^(X509 |TRUSTED |)CERTIFICATE$/) {
+				$is_cert = 1;
+				last if ($is_crl);
+			} elsif ($hdr eq "X509 CRL") {
+				$is_crl = 1;
+				last if ($is_cert);
+			}
+		}
+	}
+	close IN;
+	return ($is_cert, $is_crl);
+}
+
+
+# Link a certificate to its subject name hash value, each hash is of
+# the form <hash>.<n> where n is an integer. If the hash value already exists
+# then we need to up the value of n, unless its a duplicate in which
+# case we skip the link. We check for duplicates by comparing the
+# certificate fingerprints
+
+sub link_hash_cert {
+		my $fname = $_[0];
+		$fname =~ s/'/'\\''/g;
+		my ($hash, $fprint) = `"$openssl" x509 $x509hash -fingerprint -noout -in "$fname"`;
+		chomp $hash;
+		chomp $fprint;
+		$fprint =~ s/^.*=//;
+		$fprint =~ tr/://d;
+		my $suffix = 0;
+		# Search for an unused hash filename
+		while(exists $hashlist{"$hash.$suffix"}) {
+			# Hash matches: if fingerprint matches its a duplicate cert
+			if ($hashlist{"$hash.$suffix"} eq $fprint) {
+				print STDERR "WARNING: Skipping duplicate certificate $fname\n";
+				return;
+			}
+			$suffix++;
+		}
+		$hash .= ".$suffix";
+		if ($symlink_exists) {
+			print "link $fname -> $hash\n" if $verbose;
+			symlink $fname, $hash || warn "Can't symlink, $!";
+		} else {
+			print "copy $fname -> $hash\n" if $verbose;
+                        if (open($in, "<", $fname)) {
+                            if (open($out,">", $hash)) {
+                                print $out $_ while (<$in>);
+                                close $out;
+                            } else {
+                                warn "can't open $hash for write, $!";
+                            }
+                            close $in;
+                        } else {
+                            warn "can't open $fname for read, $!";
+                        }
+		}
+		$hashlist{$hash} = $fprint;
+}
+
+# Same as above except for a CRL. CRL links are of the form <hash>.r<n>
+
+sub link_hash_crl {
+		my $fname = $_[0];
+		$fname =~ s/'/'\\''/g;
+		my ($hash, $fprint) = `"$openssl" crl $crlhash -fingerprint -noout -in '$fname'`;
+		chomp $hash;
+		chomp $fprint;
+		$fprint =~ s/^.*=//;
+		$fprint =~ tr/://d;
+		my $suffix = 0;
+		# Search for an unused hash filename
+		while(exists $hashlist{"$hash.r$suffix"}) {
+			# Hash matches: if fingerprint matches its a duplicate cert
+			if ($hashlist{"$hash.r$suffix"} eq $fprint) {
+				print STDERR "WARNING: Skipping duplicate CRL $fname\n";
+				return;
+			}
+			$suffix++;
+		}
+		$hash .= ".r$suffix";
+		if ($symlink_exists) {
+			print "link $fname -> $hash\n" if $verbose;
+			symlink $fname, $hash || warn "Can't symlink, $!";
+		} else {
+			print "cp $fname -> $hash\n" if $verbose;
+			system ("cp", $fname, $hash);
+                        warn "Can't copy, $!" if ($? >> 8) != 0;
+		}
+		$hashlist{$hash} = $fprint;
+}

+ 188 - 188
OpenSSL/x32/Release/include/openssl/opensslconf.h

@@ -1,188 +1,188 @@
-/*
- * WARNING: do not edit!
- * Generated by makefile from include\openssl\opensslconf.h.in
- *
- * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
- *
- * Licensed under the OpenSSL license (the "License").  You may not use
- * this file except in compliance with the License.  You can obtain a copy
- * in the file LICENSE in the source distribution or at
- * https://www.openssl.org/source/license.html
- */
-
-#ifdef  __cplusplus
-extern "C" {
-#endif
-
-#ifdef OPENSSL_ALGORITHM_DEFINES
-# error OPENSSL_ALGORITHM_DEFINES no longer supported
-#endif
-
-/*
- * OpenSSL was configured with the following options:
- */
-
-#ifndef OPENSSL_SYS_WIN32
-# define OPENSSL_SYS_WIN32 1
-#endif
-#ifndef OPENSSL_NO_MD2
-# define OPENSSL_NO_MD2
-#endif
-#ifndef OPENSSL_NO_RC5
-# define OPENSSL_NO_RC5
-#endif
-#ifndef OPENSSL_THREADS
-# define OPENSSL_THREADS
-#endif
-#ifndef OPENSSL_RAND_SEED_OS
-# define OPENSSL_RAND_SEED_OS
-#endif
-#ifndef OPENSSL_NO_ASAN
-# define OPENSSL_NO_ASAN
-#endif
-#ifndef OPENSSL_NO_CRYPTO_MDEBUG
-# define OPENSSL_NO_CRYPTO_MDEBUG
-#endif
-#ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
-# define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
-#endif
-#ifndef OPENSSL_NO_DEVCRYPTOENG
-# define OPENSSL_NO_DEVCRYPTOENG
-#endif
-#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128
-# define OPENSSL_NO_EC_NISTP_64_GCC_128
-#endif
-#ifndef OPENSSL_NO_EGD
-# define OPENSSL_NO_EGD
-#endif
-#ifndef OPENSSL_NO_EXTERNAL_TESTS
-# define OPENSSL_NO_EXTERNAL_TESTS
-#endif
-#ifndef OPENSSL_NO_FUZZ_AFL
-# define OPENSSL_NO_FUZZ_AFL
-#endif
-#ifndef OPENSSL_NO_FUZZ_LIBFUZZER
-# define OPENSSL_NO_FUZZ_LIBFUZZER
-#endif
-#ifndef OPENSSL_NO_HEARTBEATS
-# define OPENSSL_NO_HEARTBEATS
-#endif
-#ifndef OPENSSL_NO_MSAN
-# define OPENSSL_NO_MSAN
-#endif
-#ifndef OPENSSL_NO_SCTP
-# define OPENSSL_NO_SCTP
-#endif
-#ifndef OPENSSL_NO_SSL_TRACE
-# define OPENSSL_NO_SSL_TRACE
-#endif
-#ifndef OPENSSL_NO_SSL3
-# define OPENSSL_NO_SSL3
-#endif
-#ifndef OPENSSL_NO_SSL3_METHOD
-# define OPENSSL_NO_SSL3_METHOD
-#endif
-#ifndef OPENSSL_NO_TLS13DOWNGRADE
-# define OPENSSL_NO_TLS13DOWNGRADE
-#endif
-#ifndef OPENSSL_NO_UBSAN
-# define OPENSSL_NO_UBSAN
-#endif
-#ifndef OPENSSL_NO_UNIT_TEST
-# define OPENSSL_NO_UNIT_TEST
-#endif
-#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
-# define OPENSSL_NO_WEAK_SSL_CIPHERS
-#endif
-#ifndef OPENSSL_NO_AFALGENG
-# define OPENSSL_NO_AFALGENG
-#endif
-
-
-/*
- * Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers
- * don't like that.  This will hopefully silence them.
- */
-#define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy;
-
-/*
- * Applications should use -DOPENSSL_API_COMPAT=<version> to suppress the
- * declarations of functions deprecated in or before <version>. Otherwise, they
- * still won't see them if the library has been built to disable deprecated
- * functions.
- */
-#if defined(OPENSSL_NO_DEPRECATED)
-# define DECLARE_DEPRECATED(f)
-#elif __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0)
-# define DECLARE_DEPRECATED(f)    f __attribute__ ((deprecated));
-#else
-# define DECLARE_DEPRECATED(f)   f;
-#endif
-
-#ifndef OPENSSL_FILE
-# ifdef OPENSSL_NO_FILENAMES
-#  define OPENSSL_FILE ""
-#  define OPENSSL_LINE 0
-# else
-#  define OPENSSL_FILE __FILE__
-#  define OPENSSL_LINE __LINE__
-# endif
-#endif
-
-#ifndef OPENSSL_MIN_API
-# define OPENSSL_MIN_API 0
-#endif
-
-#if !defined(OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API
-# undef OPENSSL_API_COMPAT
-# define OPENSSL_API_COMPAT OPENSSL_MIN_API
-#endif
-
-#if OPENSSL_API_COMPAT < 0x10200000L
-# define DEPRECATEDIN_1_2_0(f)   DECLARE_DEPRECATED(f)
-#else
-# define DEPRECATEDIN_1_2_0(f)
-#endif
-
-#if OPENSSL_API_COMPAT < 0x10100000L
-# define DEPRECATEDIN_1_1_0(f)   DECLARE_DEPRECATED(f)
-#else
-# define DEPRECATEDIN_1_1_0(f)
-#endif
-
-#if OPENSSL_API_COMPAT < 0x10000000L
-# define DEPRECATEDIN_1_0_0(f)   DECLARE_DEPRECATED(f)
-#else
-# define DEPRECATEDIN_1_0_0(f)
-#endif
-
-#if OPENSSL_API_COMPAT < 0x00908000L
-# define DEPRECATEDIN_0_9_8(f)   DECLARE_DEPRECATED(f)
-#else
-# define DEPRECATEDIN_0_9_8(f)
-#endif
-
-/* Generate 80386 code? */
-#undef I386_ONLY
-
-#undef OPENSSL_UNISTD
-#define OPENSSL_UNISTD <unistd.h>
-
-#define OPENSSL_EXPORT_VAR_AS_FUNCTION
-
-/*
- * The following are cipher-specific, but are part of the public API.
- */
-#if !defined(OPENSSL_SYS_UEFI)
-# define BN_LLONG
-/* Only one for the following should be defined */
-# undef SIXTY_FOUR_BIT_LONG
-# undef SIXTY_FOUR_BIT
-# define THIRTY_TWO_BIT
-#endif
-
-#define RC4_INT unsigned int
-
-#ifdef  __cplusplus
-}
-#endif
+/*
+ * WARNING: do not edit!
+ * Generated by makefile from include\openssl\opensslconf.h.in
+ *
+ * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
+ *
+ * Licensed under the OpenSSL license (the "License").  You may not use
+ * this file except in compliance with the License.  You can obtain a copy
+ * in the file LICENSE in the source distribution or at
+ * https://www.openssl.org/source/license.html
+ */
+
+#ifdef  __cplusplus
+extern "C" {
+#endif
+
+#ifdef OPENSSL_ALGORITHM_DEFINES
+# error OPENSSL_ALGORITHM_DEFINES no longer supported
+#endif
+
+/*
+ * OpenSSL was configured with the following options:
+ */
+
+#ifndef OPENSSL_SYS_WIN32
+# define OPENSSL_SYS_WIN32 1
+#endif
+#ifndef OPENSSL_NO_MD2
+# define OPENSSL_NO_MD2
+#endif
+#ifndef OPENSSL_NO_RC5
+# define OPENSSL_NO_RC5
+#endif
+#ifndef OPENSSL_THREADS
+# define OPENSSL_THREADS
+#endif
+#ifndef OPENSSL_RAND_SEED_OS
+# define OPENSSL_RAND_SEED_OS
+#endif
+#ifndef OPENSSL_NO_ASAN
+# define OPENSSL_NO_ASAN
+#endif
+#ifndef OPENSSL_NO_CRYPTO_MDEBUG
+# define OPENSSL_NO_CRYPTO_MDEBUG
+#endif
+#ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
+# define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
+#endif
+#ifndef OPENSSL_NO_DEVCRYPTOENG
+# define OPENSSL_NO_DEVCRYPTOENG
+#endif
+#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128
+# define OPENSSL_NO_EC_NISTP_64_GCC_128
+#endif
+#ifndef OPENSSL_NO_EGD
+# define OPENSSL_NO_EGD
+#endif
+#ifndef OPENSSL_NO_EXTERNAL_TESTS
+# define OPENSSL_NO_EXTERNAL_TESTS
+#endif
+#ifndef OPENSSL_NO_FUZZ_AFL
+# define OPENSSL_NO_FUZZ_AFL
+#endif
+#ifndef OPENSSL_NO_FUZZ_LIBFUZZER
+# define OPENSSL_NO_FUZZ_LIBFUZZER
+#endif
+#ifndef OPENSSL_NO_HEARTBEATS
+# define OPENSSL_NO_HEARTBEATS
+#endif
+#ifndef OPENSSL_NO_MSAN
+# define OPENSSL_NO_MSAN
+#endif
+#ifndef OPENSSL_NO_SCTP
+# define OPENSSL_NO_SCTP
+#endif
+#ifndef OPENSSL_NO_SSL_TRACE
+# define OPENSSL_NO_SSL_TRACE
+#endif
+#ifndef OPENSSL_NO_SSL3
+# define OPENSSL_NO_SSL3
+#endif
+#ifndef OPENSSL_NO_SSL3_METHOD
+# define OPENSSL_NO_SSL3_METHOD
+#endif
+#ifndef OPENSSL_NO_TLS13DOWNGRADE
+# define OPENSSL_NO_TLS13DOWNGRADE
+#endif
+#ifndef OPENSSL_NO_UBSAN
+# define OPENSSL_NO_UBSAN
+#endif
+#ifndef OPENSSL_NO_UNIT_TEST
+# define OPENSSL_NO_UNIT_TEST
+#endif
+#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
+# define OPENSSL_NO_WEAK_SSL_CIPHERS
+#endif
+#ifndef OPENSSL_NO_AFALGENG
+# define OPENSSL_NO_AFALGENG
+#endif
+
+
+/*
+ * Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers
+ * don't like that.  This will hopefully silence them.
+ */
+#define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy;
+
+/*
+ * Applications should use -DOPENSSL_API_COMPAT=<version> to suppress the
+ * declarations of functions deprecated in or before <version>. Otherwise, they
+ * still won't see them if the library has been built to disable deprecated
+ * functions.
+ */
+#if defined(OPENSSL_NO_DEPRECATED)
+# define DECLARE_DEPRECATED(f)
+#elif __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0)
+# define DECLARE_DEPRECATED(f)    f __attribute__ ((deprecated));
+#else
+# define DECLARE_DEPRECATED(f)   f;
+#endif
+
+#ifndef OPENSSL_FILE
+# ifdef OPENSSL_NO_FILENAMES
+#  define OPENSSL_FILE ""
+#  define OPENSSL_LINE 0
+# else
+#  define OPENSSL_FILE __FILE__
+#  define OPENSSL_LINE __LINE__
+# endif
+#endif
+
+#ifndef OPENSSL_MIN_API
+# define OPENSSL_MIN_API 0
+#endif
+
+#if !defined(OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API
+# undef OPENSSL_API_COMPAT
+# define OPENSSL_API_COMPAT OPENSSL_MIN_API
+#endif
+
+#if OPENSSL_API_COMPAT < 0x10200000L
+# define DEPRECATEDIN_1_2_0(f)   DECLARE_DEPRECATED(f)
+#else
+# define DEPRECATEDIN_1_2_0(f)
+#endif
+
+#if OPENSSL_API_COMPAT < 0x10100000L
+# define DEPRECATEDIN_1_1_0(f)   DECLARE_DEPRECATED(f)
+#else
+# define DEPRECATEDIN_1_1_0(f)
+#endif
+
+#if OPENSSL_API_COMPAT < 0x10000000L
+# define DEPRECATEDIN_1_0_0(f)   DECLARE_DEPRECATED(f)
+#else
+# define DEPRECATEDIN_1_0_0(f)
+#endif
+
+#if OPENSSL_API_COMPAT < 0x00908000L
+# define DEPRECATEDIN_0_9_8(f)   DECLARE_DEPRECATED(f)
+#else
+# define DEPRECATEDIN_0_9_8(f)
+#endif
+
+/* Generate 80386 code? */
+#undef I386_ONLY
+
+#undef OPENSSL_UNISTD
+#define OPENSSL_UNISTD <unistd.h>
+
+#define OPENSSL_EXPORT_VAR_AS_FUNCTION
+
+/*
+ * The following are cipher-specific, but are part of the public API.
+ */
+#if !defined(OPENSSL_SYS_UEFI)
+# define BN_LLONG
+/* Only one for the following should be defined */
+# undef SIXTY_FOUR_BIT_LONG
+# undef SIXTY_FOUR_BIT
+# define THIRTY_TWO_BIT
+#endif
+
+#define RC4_INT unsigned int
+
+#ifdef  __cplusplus
+}
+#endif

+ 232 - 232
OpenSSL/x64/Debug/bin/c_rehash.pl

@@ -1,232 +1,232 @@
-#!/usr/bin/env perl
-
-# WARNING: do not edit!
-# Generated by makefile from tools\c_rehash.in
-# Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved.
-#
-# Licensed under the OpenSSL license (the "License").  You may not use
-# this file except in compliance with the License.  You can obtain a copy
-# in the file LICENSE in the source distribution or at
-# https://www.openssl.org/source/license.html
-
-# Perl c_rehash script, scan all files in a directory
-# and add symbolic links to their hash values.
-
-my $dir = "";
-my $prefix = "D:\\Tests\\KoljaStrohm-Games\\OpenSSL\\x64\\Debug";
-
-my $errorcount = 0;
-my $openssl = $ENV{OPENSSL} || "openssl";
-my $pwd;
-my $x509hash = "-subject_hash";
-my $crlhash = "-hash";
-my $verbose = 0;
-my $symlink_exists=eval {symlink("",""); 1};
-my $removelinks = 1;
-
-##  Parse flags.
-while ( $ARGV[0] =~ /^-/ ) {
-    my $flag = shift @ARGV;
-    last if ( $flag eq '--');
-    if ( $flag eq '-old') {
-	    $x509hash = "-subject_hash_old";
-	    $crlhash = "-hash_old";
-    } elsif ( $flag eq '-h' || $flag eq '-help' ) {
-	    help();
-    } elsif ( $flag eq '-n' ) {
-	    $removelinks = 0;
-    } elsif ( $flag eq '-v' ) {
-	    $verbose++;
-    }
-    else {
-	    print STDERR "Usage error; try -h.\n";
-	    exit 1;
-    }
-}
-
-sub help {
-	print "Usage: c_rehash [-old] [-h] [-help] [-v] [dirs...]\n";
-	print "   -old use old-style digest\n";
-	print "   -h or -help print this help text\n";
-	print "   -v print files removed and linked\n";
-	exit 0;
-}
-
-eval "require Cwd";
-if (defined(&Cwd::getcwd)) {
-	$pwd=Cwd::getcwd();
-} else {
-	$pwd=`pwd`;
-	chomp($pwd);
-}
-
-# DOS/Win32 or Unix delimiter?  Prefix our installdir, then search.
-my $path_delim = ($pwd =~ /^[a-z]\:/i) ? ';' : ':';
-$ENV{PATH} = "$prefix/bin" . ($ENV{PATH} ? $path_delim . $ENV{PATH} : "");
-
-if (! -x $openssl) {
-	my $found = 0;
-	foreach (split /$path_delim/, $ENV{PATH}) {
-		if (-x "$_/$openssl") {
-			$found = 1;
-			$openssl = "$_/$openssl";
-			last;
-		}	
-	}
-	if ($found == 0) {
-		print STDERR "c_rehash: rehashing skipped ('openssl' program not available)\n";
-		exit 0;
-	}
-}
-
-if (@ARGV) {
-	@dirlist = @ARGV;
-} elsif ($ENV{SSL_CERT_DIR}) {
-	@dirlist = split /$path_delim/, $ENV{SSL_CERT_DIR};
-} else {
-	$dirlist[0] = "$dir/certs";
-}
-
-if (-d $dirlist[0]) {
-	chdir $dirlist[0];
-	$openssl="$pwd/$openssl" if (!-x $openssl);
-	chdir $pwd;
-}
-
-foreach (@dirlist) {
-	if (-d $_ ) {
-            if ( -w $_) {
-		hash_dir($_);
-            } else {
-                print "Skipping $_, can't write\n";
-                $errorcount++;
-            }
-	}
-}
-exit($errorcount);
-
-sub hash_dir {
-	my %hashlist;
-	print "Doing $_[0]\n";
-	chdir $_[0];
-	opendir(DIR, ".");
-	my @flist = sort readdir(DIR);
-	closedir DIR;
-	if ( $removelinks ) {
-		# Delete any existing symbolic links
-		foreach (grep {/^[\da-f]+\.r{0,1}\d+$/} @flist) {
-			if (-l $_) {
-				print "unlink $_" if $verbose;
-				unlink $_ || warn "Can't unlink $_, $!\n";
-			}
-		}
-	}
-	FILE: foreach $fname (grep {/\.(pem)|(crt)|(cer)|(crl)$/} @flist) {
-		# Check to see if certificates and/or CRLs present.
-		my ($cert, $crl) = check_file($fname);
-		if (!$cert && !$crl) {
-			print STDERR "WARNING: $fname does not contain a certificate or CRL: skipping\n";
-			next;
-		}
-		link_hash_cert($fname) if ($cert);
-		link_hash_crl($fname) if ($crl);
-	}
-}
-
-sub check_file {
-	my ($is_cert, $is_crl) = (0,0);
-	my $fname = $_[0];
-	open IN, $fname;
-	while(<IN>) {
-		if (/^-----BEGIN (.*)-----/) {
-			my $hdr = $1;
-			if ($hdr =~ /^(X509 |TRUSTED |)CERTIFICATE$/) {
-				$is_cert = 1;
-				last if ($is_crl);
-			} elsif ($hdr eq "X509 CRL") {
-				$is_crl = 1;
-				last if ($is_cert);
-			}
-		}
-	}
-	close IN;
-	return ($is_cert, $is_crl);
-}
-
-
-# Link a certificate to its subject name hash value, each hash is of
-# the form <hash>.<n> where n is an integer. If the hash value already exists
-# then we need to up the value of n, unless its a duplicate in which
-# case we skip the link. We check for duplicates by comparing the
-# certificate fingerprints
-
-sub link_hash_cert {
-		my $fname = $_[0];
-		$fname =~ s/'/'\\''/g;
-		my ($hash, $fprint) = `"$openssl" x509 $x509hash -fingerprint -noout -in "$fname"`;
-		chomp $hash;
-		chomp $fprint;
-		$fprint =~ s/^.*=//;
-		$fprint =~ tr/://d;
-		my $suffix = 0;
-		# Search for an unused hash filename
-		while(exists $hashlist{"$hash.$suffix"}) {
-			# Hash matches: if fingerprint matches its a duplicate cert
-			if ($hashlist{"$hash.$suffix"} eq $fprint) {
-				print STDERR "WARNING: Skipping duplicate certificate $fname\n";
-				return;
-			}
-			$suffix++;
-		}
-		$hash .= ".$suffix";
-		if ($symlink_exists) {
-			print "link $fname -> $hash\n" if $verbose;
-			symlink $fname, $hash || warn "Can't symlink, $!";
-		} else {
-			print "copy $fname -> $hash\n" if $verbose;
-                        if (open($in, "<", $fname)) {
-                            if (open($out,">", $hash)) {
-                                print $out $_ while (<$in>);
-                                close $out;
-                            } else {
-                                warn "can't open $hash for write, $!";
-                            }
-                            close $in;
-                        } else {
-                            warn "can't open $fname for read, $!";
-                        }
-		}
-		$hashlist{$hash} = $fprint;
-}
-
-# Same as above except for a CRL. CRL links are of the form <hash>.r<n>
-
-sub link_hash_crl {
-		my $fname = $_[0];
-		$fname =~ s/'/'\\''/g;
-		my ($hash, $fprint) = `"$openssl" crl $crlhash -fingerprint -noout -in '$fname'`;
-		chomp $hash;
-		chomp $fprint;
-		$fprint =~ s/^.*=//;
-		$fprint =~ tr/://d;
-		my $suffix = 0;
-		# Search for an unused hash filename
-		while(exists $hashlist{"$hash.r$suffix"}) {
-			# Hash matches: if fingerprint matches its a duplicate cert
-			if ($hashlist{"$hash.r$suffix"} eq $fprint) {
-				print STDERR "WARNING: Skipping duplicate CRL $fname\n";
-				return;
-			}
-			$suffix++;
-		}
-		$hash .= ".r$suffix";
-		if ($symlink_exists) {
-			print "link $fname -> $hash\n" if $verbose;
-			symlink $fname, $hash || warn "Can't symlink, $!";
-		} else {
-			print "cp $fname -> $hash\n" if $verbose;
-			system ("cp", $fname, $hash);
-                        warn "Can't copy, $!" if ($? >> 8) != 0;
-		}
-		$hashlist{$hash} = $fprint;
-}
+#!/usr/bin/env perl
+
+# WARNING: do not edit!
+# Generated by makefile from tools\c_rehash.in
+# Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved.
+#
+# Licensed under the OpenSSL license (the "License").  You may not use
+# this file except in compliance with the License.  You can obtain a copy
+# in the file LICENSE in the source distribution or at
+# https://www.openssl.org/source/license.html
+
+# Perl c_rehash script, scan all files in a directory
+# and add symbolic links to their hash values.
+
+my $dir = "";
+my $prefix = "D:\\Tests\\KoljaStrohm-Games\\OpenSSL\\x64\\Debug";
+
+my $errorcount = 0;
+my $openssl = $ENV{OPENSSL} || "openssl";
+my $pwd;
+my $x509hash = "-subject_hash";
+my $crlhash = "-hash";
+my $verbose = 0;
+my $symlink_exists=eval {symlink("",""); 1};
+my $removelinks = 1;
+
+##  Parse flags.
+while ( $ARGV[0] =~ /^-/ ) {
+    my $flag = shift @ARGV;
+    last if ( $flag eq '--');
+    if ( $flag eq '-old') {
+	    $x509hash = "-subject_hash_old";
+	    $crlhash = "-hash_old";
+    } elsif ( $flag eq '-h' || $flag eq '-help' ) {
+	    help();
+    } elsif ( $flag eq '-n' ) {
+	    $removelinks = 0;
+    } elsif ( $flag eq '-v' ) {
+	    $verbose++;
+    }
+    else {
+	    print STDERR "Usage error; try -h.\n";
+	    exit 1;
+    }
+}
+
+sub help {
+	print "Usage: c_rehash [-old] [-h] [-help] [-v] [dirs...]\n";
+	print "   -old use old-style digest\n";
+	print "   -h or -help print this help text\n";
+	print "   -v print files removed and linked\n";
+	exit 0;
+}
+
+eval "require Cwd";
+if (defined(&Cwd::getcwd)) {
+	$pwd=Cwd::getcwd();
+} else {
+	$pwd=`pwd`;
+	chomp($pwd);
+}
+
+# DOS/Win32 or Unix delimiter?  Prefix our installdir, then search.
+my $path_delim = ($pwd =~ /^[a-z]\:/i) ? ';' : ':';
+$ENV{PATH} = "$prefix/bin" . ($ENV{PATH} ? $path_delim . $ENV{PATH} : "");
+
+if (! -x $openssl) {
+	my $found = 0;
+	foreach (split /$path_delim/, $ENV{PATH}) {
+		if (-x "$_/$openssl") {
+			$found = 1;
+			$openssl = "$_/$openssl";
+			last;
+		}	
+	}
+	if ($found == 0) {
+		print STDERR "c_rehash: rehashing skipped ('openssl' program not available)\n";
+		exit 0;
+	}
+}
+
+if (@ARGV) {
+	@dirlist = @ARGV;
+} elsif ($ENV{SSL_CERT_DIR}) {
+	@dirlist = split /$path_delim/, $ENV{SSL_CERT_DIR};
+} else {
+	$dirlist[0] = "$dir/certs";
+}
+
+if (-d $dirlist[0]) {
+	chdir $dirlist[0];
+	$openssl="$pwd/$openssl" if (!-x $openssl);
+	chdir $pwd;
+}
+
+foreach (@dirlist) {
+	if (-d $_ ) {
+            if ( -w $_) {
+		hash_dir($_);
+            } else {
+                print "Skipping $_, can't write\n";
+                $errorcount++;
+            }
+	}
+}
+exit($errorcount);
+
+sub hash_dir {
+	my %hashlist;
+	print "Doing $_[0]\n";
+	chdir $_[0];
+	opendir(DIR, ".");
+	my @flist = sort readdir(DIR);
+	closedir DIR;
+	if ( $removelinks ) {
+		# Delete any existing symbolic links
+		foreach (grep {/^[\da-f]+\.r{0,1}\d+$/} @flist) {
+			if (-l $_) {
+				print "unlink $_" if $verbose;
+				unlink $_ || warn "Can't unlink $_, $!\n";
+			}
+		}
+	}
+	FILE: foreach $fname (grep {/\.(pem)|(crt)|(cer)|(crl)$/} @flist) {
+		# Check to see if certificates and/or CRLs present.
+		my ($cert, $crl) = check_file($fname);
+		if (!$cert && !$crl) {
+			print STDERR "WARNING: $fname does not contain a certificate or CRL: skipping\n";
+			next;
+		}
+		link_hash_cert($fname) if ($cert);
+		link_hash_crl($fname) if ($crl);
+	}
+}
+
+sub check_file {
+	my ($is_cert, $is_crl) = (0,0);
+	my $fname = $_[0];
+	open IN, $fname;
+	while(<IN>) {
+		if (/^-----BEGIN (.*)-----/) {
+			my $hdr = $1;
+			if ($hdr =~ /^(X509 |TRUSTED |)CERTIFICATE$/) {
+				$is_cert = 1;
+				last if ($is_crl);
+			} elsif ($hdr eq "X509 CRL") {
+				$is_crl = 1;
+				last if ($is_cert);
+			}
+		}
+	}
+	close IN;
+	return ($is_cert, $is_crl);
+}
+
+
+# Link a certificate to its subject name hash value, each hash is of
+# the form <hash>.<n> where n is an integer. If the hash value already exists
+# then we need to up the value of n, unless its a duplicate in which
+# case we skip the link. We check for duplicates by comparing the
+# certificate fingerprints
+
+sub link_hash_cert {
+		my $fname = $_[0];
+		$fname =~ s/'/'\\''/g;
+		my ($hash, $fprint) = `"$openssl" x509 $x509hash -fingerprint -noout -in "$fname"`;
+		chomp $hash;
+		chomp $fprint;
+		$fprint =~ s/^.*=//;
+		$fprint =~ tr/://d;
+		my $suffix = 0;
+		# Search for an unused hash filename
+		while(exists $hashlist{"$hash.$suffix"}) {
+			# Hash matches: if fingerprint matches its a duplicate cert
+			if ($hashlist{"$hash.$suffix"} eq $fprint) {
+				print STDERR "WARNING: Skipping duplicate certificate $fname\n";
+				return;
+			}
+			$suffix++;
+		}
+		$hash .= ".$suffix";
+		if ($symlink_exists) {
+			print "link $fname -> $hash\n" if $verbose;
+			symlink $fname, $hash || warn "Can't symlink, $!";
+		} else {
+			print "copy $fname -> $hash\n" if $verbose;
+                        if (open($in, "<", $fname)) {
+                            if (open($out,">", $hash)) {
+                                print $out $_ while (<$in>);
+                                close $out;
+                            } else {
+                                warn "can't open $hash for write, $!";
+                            }
+                            close $in;
+                        } else {
+                            warn "can't open $fname for read, $!";
+                        }
+		}
+		$hashlist{$hash} = $fprint;
+}
+
+# Same as above except for a CRL. CRL links are of the form <hash>.r<n>
+
+sub link_hash_crl {
+		my $fname = $_[0];
+		$fname =~ s/'/'\\''/g;
+		my ($hash, $fprint) = `"$openssl" crl $crlhash -fingerprint -noout -in '$fname'`;
+		chomp $hash;
+		chomp $fprint;
+		$fprint =~ s/^.*=//;
+		$fprint =~ tr/://d;
+		my $suffix = 0;
+		# Search for an unused hash filename
+		while(exists $hashlist{"$hash.r$suffix"}) {
+			# Hash matches: if fingerprint matches its a duplicate cert
+			if ($hashlist{"$hash.r$suffix"} eq $fprint) {
+				print STDERR "WARNING: Skipping duplicate CRL $fname\n";
+				return;
+			}
+			$suffix++;
+		}
+		$hash .= ".r$suffix";
+		if ($symlink_exists) {
+			print "link $fname -> $hash\n" if $verbose;
+			symlink $fname, $hash || warn "Can't symlink, $!";
+		} else {
+			print "cp $fname -> $hash\n" if $verbose;
+			system ("cp", $fname, $hash);
+                        warn "Can't copy, $!" if ($? >> 8) != 0;
+		}
+		$hashlist{$hash} = $fprint;
+}

+ 188 - 188
OpenSSL/x64/Debug/include/openssl/opensslconf.h

@@ -1,188 +1,188 @@
-/*
- * WARNING: do not edit!
- * Generated by makefile from include\openssl\opensslconf.h.in
- *
- * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
- *
- * Licensed under the OpenSSL license (the "License").  You may not use
- * this file except in compliance with the License.  You can obtain a copy
- * in the file LICENSE in the source distribution or at
- * https://www.openssl.org/source/license.html
- */
-
-#ifdef  __cplusplus
-extern "C" {
-#endif
-
-#ifdef OPENSSL_ALGORITHM_DEFINES
-# error OPENSSL_ALGORITHM_DEFINES no longer supported
-#endif
-
-/*
- * OpenSSL was configured with the following options:
- */
-
-#ifndef OPENSSL_SYS_WIN64A
-# define OPENSSL_SYS_WIN64A 1
-#endif
-#ifndef OPENSSL_NO_MD2
-# define OPENSSL_NO_MD2
-#endif
-#ifndef OPENSSL_NO_RC5
-# define OPENSSL_NO_RC5
-#endif
-#ifndef OPENSSL_THREADS
-# define OPENSSL_THREADS
-#endif
-#ifndef OPENSSL_RAND_SEED_OS
-# define OPENSSL_RAND_SEED_OS
-#endif
-#ifndef OPENSSL_NO_ASAN
-# define OPENSSL_NO_ASAN
-#endif
-#ifndef OPENSSL_NO_CRYPTO_MDEBUG
-# define OPENSSL_NO_CRYPTO_MDEBUG
-#endif
-#ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
-# define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
-#endif
-#ifndef OPENSSL_NO_DEVCRYPTOENG
-# define OPENSSL_NO_DEVCRYPTOENG
-#endif
-#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128
-# define OPENSSL_NO_EC_NISTP_64_GCC_128
-#endif
-#ifndef OPENSSL_NO_EGD
-# define OPENSSL_NO_EGD
-#endif
-#ifndef OPENSSL_NO_EXTERNAL_TESTS
-# define OPENSSL_NO_EXTERNAL_TESTS
-#endif
-#ifndef OPENSSL_NO_FUZZ_AFL
-# define OPENSSL_NO_FUZZ_AFL
-#endif
-#ifndef OPENSSL_NO_FUZZ_LIBFUZZER
-# define OPENSSL_NO_FUZZ_LIBFUZZER
-#endif
-#ifndef OPENSSL_NO_HEARTBEATS
-# define OPENSSL_NO_HEARTBEATS
-#endif
-#ifndef OPENSSL_NO_MSAN
-# define OPENSSL_NO_MSAN
-#endif
-#ifndef OPENSSL_NO_SCTP
-# define OPENSSL_NO_SCTP
-#endif
-#ifndef OPENSSL_NO_SSL_TRACE
-# define OPENSSL_NO_SSL_TRACE
-#endif
-#ifndef OPENSSL_NO_SSL3
-# define OPENSSL_NO_SSL3
-#endif
-#ifndef OPENSSL_NO_SSL3_METHOD
-# define OPENSSL_NO_SSL3_METHOD
-#endif
-#ifndef OPENSSL_NO_TLS13DOWNGRADE
-# define OPENSSL_NO_TLS13DOWNGRADE
-#endif
-#ifndef OPENSSL_NO_UBSAN
-# define OPENSSL_NO_UBSAN
-#endif
-#ifndef OPENSSL_NO_UNIT_TEST
-# define OPENSSL_NO_UNIT_TEST
-#endif
-#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
-# define OPENSSL_NO_WEAK_SSL_CIPHERS
-#endif
-#ifndef OPENSSL_NO_AFALGENG
-# define OPENSSL_NO_AFALGENG
-#endif
-
-
-/*
- * Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers
- * don't like that.  This will hopefully silence them.
- */
-#define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy;
-
-/*
- * Applications should use -DOPENSSL_API_COMPAT=<version> to suppress the
- * declarations of functions deprecated in or before <version>. Otherwise, they
- * still won't see them if the library has been built to disable deprecated
- * functions.
- */
-#if defined(OPENSSL_NO_DEPRECATED)
-# define DECLARE_DEPRECATED(f)
-#elif __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0)
-# define DECLARE_DEPRECATED(f)    f __attribute__ ((deprecated));
-#else
-# define DECLARE_DEPRECATED(f)   f;
-#endif
-
-#ifndef OPENSSL_FILE
-# ifdef OPENSSL_NO_FILENAMES
-#  define OPENSSL_FILE ""
-#  define OPENSSL_LINE 0
-# else
-#  define OPENSSL_FILE __FILE__
-#  define OPENSSL_LINE __LINE__
-# endif
-#endif
-
-#ifndef OPENSSL_MIN_API
-# define OPENSSL_MIN_API 0
-#endif
-
-#if !defined(OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API
-# undef OPENSSL_API_COMPAT
-# define OPENSSL_API_COMPAT OPENSSL_MIN_API
-#endif
-
-#if OPENSSL_API_COMPAT < 0x10200000L
-# define DEPRECATEDIN_1_2_0(f)   DECLARE_DEPRECATED(f)
-#else
-# define DEPRECATEDIN_1_2_0(f)
-#endif
-
-#if OPENSSL_API_COMPAT < 0x10100000L
-# define DEPRECATEDIN_1_1_0(f)   DECLARE_DEPRECATED(f)
-#else
-# define DEPRECATEDIN_1_1_0(f)
-#endif
-
-#if OPENSSL_API_COMPAT < 0x10000000L
-# define DEPRECATEDIN_1_0_0(f)   DECLARE_DEPRECATED(f)
-#else
-# define DEPRECATEDIN_1_0_0(f)
-#endif
-
-#if OPENSSL_API_COMPAT < 0x00908000L
-# define DEPRECATEDIN_0_9_8(f)   DECLARE_DEPRECATED(f)
-#else
-# define DEPRECATEDIN_0_9_8(f)
-#endif
-
-/* Generate 80386 code? */
-#undef I386_ONLY
-
-#undef OPENSSL_UNISTD
-#define OPENSSL_UNISTD <unistd.h>
-
-#define OPENSSL_EXPORT_VAR_AS_FUNCTION
-
-/*
- * The following are cipher-specific, but are part of the public API.
- */
-#if !defined(OPENSSL_SYS_UEFI)
-# undef BN_LLONG
-/* Only one for the following should be defined */
-# undef SIXTY_FOUR_BIT_LONG
-# define SIXTY_FOUR_BIT
-# undef THIRTY_TWO_BIT
-#endif
-
-#define RC4_INT unsigned int
-
-#ifdef  __cplusplus
-}
-#endif
+/*
+ * WARNING: do not edit!
+ * Generated by makefile from include\openssl\opensslconf.h.in
+ *
+ * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
+ *
+ * Licensed under the OpenSSL license (the "License").  You may not use
+ * this file except in compliance with the License.  You can obtain a copy
+ * in the file LICENSE in the source distribution or at
+ * https://www.openssl.org/source/license.html
+ */
+
+#ifdef  __cplusplus
+extern "C" {
+#endif
+
+#ifdef OPENSSL_ALGORITHM_DEFINES
+# error OPENSSL_ALGORITHM_DEFINES no longer supported
+#endif
+
+/*
+ * OpenSSL was configured with the following options:
+ */
+
+#ifndef OPENSSL_SYS_WIN64A
+# define OPENSSL_SYS_WIN64A 1
+#endif
+#ifndef OPENSSL_NO_MD2
+# define OPENSSL_NO_MD2
+#endif
+#ifndef OPENSSL_NO_RC5
+# define OPENSSL_NO_RC5
+#endif
+#ifndef OPENSSL_THREADS
+# define OPENSSL_THREADS
+#endif
+#ifndef OPENSSL_RAND_SEED_OS
+# define OPENSSL_RAND_SEED_OS
+#endif
+#ifndef OPENSSL_NO_ASAN
+# define OPENSSL_NO_ASAN
+#endif
+#ifndef OPENSSL_NO_CRYPTO_MDEBUG
+# define OPENSSL_NO_CRYPTO_MDEBUG
+#endif
+#ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
+# define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
+#endif
+#ifndef OPENSSL_NO_DEVCRYPTOENG
+# define OPENSSL_NO_DEVCRYPTOENG
+#endif
+#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128
+# define OPENSSL_NO_EC_NISTP_64_GCC_128
+#endif
+#ifndef OPENSSL_NO_EGD
+# define OPENSSL_NO_EGD
+#endif
+#ifndef OPENSSL_NO_EXTERNAL_TESTS
+# define OPENSSL_NO_EXTERNAL_TESTS
+#endif
+#ifndef OPENSSL_NO_FUZZ_AFL
+# define OPENSSL_NO_FUZZ_AFL
+#endif
+#ifndef OPENSSL_NO_FUZZ_LIBFUZZER
+# define OPENSSL_NO_FUZZ_LIBFUZZER
+#endif
+#ifndef OPENSSL_NO_HEARTBEATS
+# define OPENSSL_NO_HEARTBEATS
+#endif
+#ifndef OPENSSL_NO_MSAN
+# define OPENSSL_NO_MSAN
+#endif
+#ifndef OPENSSL_NO_SCTP
+# define OPENSSL_NO_SCTP
+#endif
+#ifndef OPENSSL_NO_SSL_TRACE
+# define OPENSSL_NO_SSL_TRACE
+#endif
+#ifndef OPENSSL_NO_SSL3
+# define OPENSSL_NO_SSL3
+#endif
+#ifndef OPENSSL_NO_SSL3_METHOD
+# define OPENSSL_NO_SSL3_METHOD
+#endif
+#ifndef OPENSSL_NO_TLS13DOWNGRADE
+# define OPENSSL_NO_TLS13DOWNGRADE
+#endif
+#ifndef OPENSSL_NO_UBSAN
+# define OPENSSL_NO_UBSAN
+#endif
+#ifndef OPENSSL_NO_UNIT_TEST
+# define OPENSSL_NO_UNIT_TEST
+#endif
+#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
+# define OPENSSL_NO_WEAK_SSL_CIPHERS
+#endif
+#ifndef OPENSSL_NO_AFALGENG
+# define OPENSSL_NO_AFALGENG
+#endif
+
+
+/*
+ * Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers
+ * don't like that.  This will hopefully silence them.
+ */
+#define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy;
+
+/*
+ * Applications should use -DOPENSSL_API_COMPAT=<version> to suppress the
+ * declarations of functions deprecated in or before <version>. Otherwise, they
+ * still won't see them if the library has been built to disable deprecated
+ * functions.
+ */
+#if defined(OPENSSL_NO_DEPRECATED)
+# define DECLARE_DEPRECATED(f)
+#elif __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0)
+# define DECLARE_DEPRECATED(f)    f __attribute__ ((deprecated));
+#else
+# define DECLARE_DEPRECATED(f)   f;
+#endif
+
+#ifndef OPENSSL_FILE
+# ifdef OPENSSL_NO_FILENAMES
+#  define OPENSSL_FILE ""
+#  define OPENSSL_LINE 0
+# else
+#  define OPENSSL_FILE __FILE__
+#  define OPENSSL_LINE __LINE__
+# endif
+#endif
+
+#ifndef OPENSSL_MIN_API
+# define OPENSSL_MIN_API 0
+#endif
+
+#if !defined(OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API
+# undef OPENSSL_API_COMPAT
+# define OPENSSL_API_COMPAT OPENSSL_MIN_API
+#endif
+
+#if OPENSSL_API_COMPAT < 0x10200000L
+# define DEPRECATEDIN_1_2_0(f)   DECLARE_DEPRECATED(f)
+#else
+# define DEPRECATEDIN_1_2_0(f)
+#endif
+
+#if OPENSSL_API_COMPAT < 0x10100000L
+# define DEPRECATEDIN_1_1_0(f)   DECLARE_DEPRECATED(f)
+#else
+# define DEPRECATEDIN_1_1_0(f)
+#endif
+
+#if OPENSSL_API_COMPAT < 0x10000000L
+# define DEPRECATEDIN_1_0_0(f)   DECLARE_DEPRECATED(f)
+#else
+# define DEPRECATEDIN_1_0_0(f)
+#endif
+
+#if OPENSSL_API_COMPAT < 0x00908000L
+# define DEPRECATEDIN_0_9_8(f)   DECLARE_DEPRECATED(f)
+#else
+# define DEPRECATEDIN_0_9_8(f)
+#endif
+
+/* Generate 80386 code? */
+#undef I386_ONLY
+
+#undef OPENSSL_UNISTD
+#define OPENSSL_UNISTD <unistd.h>
+
+#define OPENSSL_EXPORT_VAR_AS_FUNCTION
+
+/*
+ * The following are cipher-specific, but are part of the public API.
+ */
+#if !defined(OPENSSL_SYS_UEFI)
+# undef BN_LLONG
+/* Only one for the following should be defined */
+# undef SIXTY_FOUR_BIT_LONG
+# define SIXTY_FOUR_BIT
+# undef THIRTY_TWO_BIT
+#endif
+
+#define RC4_INT unsigned int
+
+#ifdef  __cplusplus
+}
+#endif

+ 232 - 232
OpenSSL/x64/Release/bin/c_rehash.pl

@@ -1,232 +1,232 @@
-#!/usr/bin/env perl
-
-# WARNING: do not edit!
-# Generated by makefile from tools\c_rehash.in
-# Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved.
-#
-# Licensed under the OpenSSL license (the "License").  You may not use
-# this file except in compliance with the License.  You can obtain a copy
-# in the file LICENSE in the source distribution or at
-# https://www.openssl.org/source/license.html
-
-# Perl c_rehash script, scan all files in a directory
-# and add symbolic links to their hash values.
-
-my $dir = "";
-my $prefix = "D:\\Tests\\KoljaStrohm-Games\\OpenSSL\\x64\\Release";
-
-my $errorcount = 0;
-my $openssl = $ENV{OPENSSL} || "openssl";
-my $pwd;
-my $x509hash = "-subject_hash";
-my $crlhash = "-hash";
-my $verbose = 0;
-my $symlink_exists=eval {symlink("",""); 1};
-my $removelinks = 1;
-
-##  Parse flags.
-while ( $ARGV[0] =~ /^-/ ) {
-    my $flag = shift @ARGV;
-    last if ( $flag eq '--');
-    if ( $flag eq '-old') {
-	    $x509hash = "-subject_hash_old";
-	    $crlhash = "-hash_old";
-    } elsif ( $flag eq '-h' || $flag eq '-help' ) {
-	    help();
-    } elsif ( $flag eq '-n' ) {
-	    $removelinks = 0;
-    } elsif ( $flag eq '-v' ) {
-	    $verbose++;
-    }
-    else {
-	    print STDERR "Usage error; try -h.\n";
-	    exit 1;
-    }
-}
-
-sub help {
-	print "Usage: c_rehash [-old] [-h] [-help] [-v] [dirs...]\n";
-	print "   -old use old-style digest\n";
-	print "   -h or -help print this help text\n";
-	print "   -v print files removed and linked\n";
-	exit 0;
-}
-
-eval "require Cwd";
-if (defined(&Cwd::getcwd)) {
-	$pwd=Cwd::getcwd();
-} else {
-	$pwd=`pwd`;
-	chomp($pwd);
-}
-
-# DOS/Win32 or Unix delimiter?  Prefix our installdir, then search.
-my $path_delim = ($pwd =~ /^[a-z]\:/i) ? ';' : ':';
-$ENV{PATH} = "$prefix/bin" . ($ENV{PATH} ? $path_delim . $ENV{PATH} : "");
-
-if (! -x $openssl) {
-	my $found = 0;
-	foreach (split /$path_delim/, $ENV{PATH}) {
-		if (-x "$_/$openssl") {
-			$found = 1;
-			$openssl = "$_/$openssl";
-			last;
-		}	
-	}
-	if ($found == 0) {
-		print STDERR "c_rehash: rehashing skipped ('openssl' program not available)\n";
-		exit 0;
-	}
-}
-
-if (@ARGV) {
-	@dirlist = @ARGV;
-} elsif ($ENV{SSL_CERT_DIR}) {
-	@dirlist = split /$path_delim/, $ENV{SSL_CERT_DIR};
-} else {
-	$dirlist[0] = "$dir/certs";
-}
-
-if (-d $dirlist[0]) {
-	chdir $dirlist[0];
-	$openssl="$pwd/$openssl" if (!-x $openssl);
-	chdir $pwd;
-}
-
-foreach (@dirlist) {
-	if (-d $_ ) {
-            if ( -w $_) {
-		hash_dir($_);
-            } else {
-                print "Skipping $_, can't write\n";
-                $errorcount++;
-            }
-	}
-}
-exit($errorcount);
-
-sub hash_dir {
-	my %hashlist;
-	print "Doing $_[0]\n";
-	chdir $_[0];
-	opendir(DIR, ".");
-	my @flist = sort readdir(DIR);
-	closedir DIR;
-	if ( $removelinks ) {
-		# Delete any existing symbolic links
-		foreach (grep {/^[\da-f]+\.r{0,1}\d+$/} @flist) {
-			if (-l $_) {
-				print "unlink $_" if $verbose;
-				unlink $_ || warn "Can't unlink $_, $!\n";
-			}
-		}
-	}
-	FILE: foreach $fname (grep {/\.(pem)|(crt)|(cer)|(crl)$/} @flist) {
-		# Check to see if certificates and/or CRLs present.
-		my ($cert, $crl) = check_file($fname);
-		if (!$cert && !$crl) {
-			print STDERR "WARNING: $fname does not contain a certificate or CRL: skipping\n";
-			next;
-		}
-		link_hash_cert($fname) if ($cert);
-		link_hash_crl($fname) if ($crl);
-	}
-}
-
-sub check_file {
-	my ($is_cert, $is_crl) = (0,0);
-	my $fname = $_[0];
-	open IN, $fname;
-	while(<IN>) {
-		if (/^-----BEGIN (.*)-----/) {
-			my $hdr = $1;
-			if ($hdr =~ /^(X509 |TRUSTED |)CERTIFICATE$/) {
-				$is_cert = 1;
-				last if ($is_crl);
-			} elsif ($hdr eq "X509 CRL") {
-				$is_crl = 1;
-				last if ($is_cert);
-			}
-		}
-	}
-	close IN;
-	return ($is_cert, $is_crl);
-}
-
-
-# Link a certificate to its subject name hash value, each hash is of
-# the form <hash>.<n> where n is an integer. If the hash value already exists
-# then we need to up the value of n, unless its a duplicate in which
-# case we skip the link. We check for duplicates by comparing the
-# certificate fingerprints
-
-sub link_hash_cert {
-		my $fname = $_[0];
-		$fname =~ s/'/'\\''/g;
-		my ($hash, $fprint) = `"$openssl" x509 $x509hash -fingerprint -noout -in "$fname"`;
-		chomp $hash;
-		chomp $fprint;
-		$fprint =~ s/^.*=//;
-		$fprint =~ tr/://d;
-		my $suffix = 0;
-		# Search for an unused hash filename
-		while(exists $hashlist{"$hash.$suffix"}) {
-			# Hash matches: if fingerprint matches its a duplicate cert
-			if ($hashlist{"$hash.$suffix"} eq $fprint) {
-				print STDERR "WARNING: Skipping duplicate certificate $fname\n";
-				return;
-			}
-			$suffix++;
-		}
-		$hash .= ".$suffix";
-		if ($symlink_exists) {
-			print "link $fname -> $hash\n" if $verbose;
-			symlink $fname, $hash || warn "Can't symlink, $!";
-		} else {
-			print "copy $fname -> $hash\n" if $verbose;
-                        if (open($in, "<", $fname)) {
-                            if (open($out,">", $hash)) {
-                                print $out $_ while (<$in>);
-                                close $out;
-                            } else {
-                                warn "can't open $hash for write, $!";
-                            }
-                            close $in;
-                        } else {
-                            warn "can't open $fname for read, $!";
-                        }
-		}
-		$hashlist{$hash} = $fprint;
-}
-
-# Same as above except for a CRL. CRL links are of the form <hash>.r<n>
-
-sub link_hash_crl {
-		my $fname = $_[0];
-		$fname =~ s/'/'\\''/g;
-		my ($hash, $fprint) = `"$openssl" crl $crlhash -fingerprint -noout -in '$fname'`;
-		chomp $hash;
-		chomp $fprint;
-		$fprint =~ s/^.*=//;
-		$fprint =~ tr/://d;
-		my $suffix = 0;
-		# Search for an unused hash filename
-		while(exists $hashlist{"$hash.r$suffix"}) {
-			# Hash matches: if fingerprint matches its a duplicate cert
-			if ($hashlist{"$hash.r$suffix"} eq $fprint) {
-				print STDERR "WARNING: Skipping duplicate CRL $fname\n";
-				return;
-			}
-			$suffix++;
-		}
-		$hash .= ".r$suffix";
-		if ($symlink_exists) {
-			print "link $fname -> $hash\n" if $verbose;
-			symlink $fname, $hash || warn "Can't symlink, $!";
-		} else {
-			print "cp $fname -> $hash\n" if $verbose;
-			system ("cp", $fname, $hash);
-                        warn "Can't copy, $!" if ($? >> 8) != 0;
-		}
-		$hashlist{$hash} = $fprint;
-}
+#!/usr/bin/env perl
+
+# WARNING: do not edit!
+# Generated by makefile from tools\c_rehash.in
+# Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved.
+#
+# Licensed under the OpenSSL license (the "License").  You may not use
+# this file except in compliance with the License.  You can obtain a copy
+# in the file LICENSE in the source distribution or at
+# https://www.openssl.org/source/license.html
+
+# Perl c_rehash script, scan all files in a directory
+# and add symbolic links to their hash values.
+
+my $dir = "";
+my $prefix = "D:\\Tests\\KoljaStrohm-Games\\OpenSSL\\x64\\Release";
+
+my $errorcount = 0;
+my $openssl = $ENV{OPENSSL} || "openssl";
+my $pwd;
+my $x509hash = "-subject_hash";
+my $crlhash = "-hash";
+my $verbose = 0;
+my $symlink_exists=eval {symlink("",""); 1};
+my $removelinks = 1;
+
+##  Parse flags.
+while ( $ARGV[0] =~ /^-/ ) {
+    my $flag = shift @ARGV;
+    last if ( $flag eq '--');
+    if ( $flag eq '-old') {
+	    $x509hash = "-subject_hash_old";
+	    $crlhash = "-hash_old";
+    } elsif ( $flag eq '-h' || $flag eq '-help' ) {
+	    help();
+    } elsif ( $flag eq '-n' ) {
+	    $removelinks = 0;
+    } elsif ( $flag eq '-v' ) {
+	    $verbose++;
+    }
+    else {
+	    print STDERR "Usage error; try -h.\n";
+	    exit 1;
+    }
+}
+
+sub help {
+	print "Usage: c_rehash [-old] [-h] [-help] [-v] [dirs...]\n";
+	print "   -old use old-style digest\n";
+	print "   -h or -help print this help text\n";
+	print "   -v print files removed and linked\n";
+	exit 0;
+}
+
+eval "require Cwd";
+if (defined(&Cwd::getcwd)) {
+	$pwd=Cwd::getcwd();
+} else {
+	$pwd=`pwd`;
+	chomp($pwd);
+}
+
+# DOS/Win32 or Unix delimiter?  Prefix our installdir, then search.
+my $path_delim = ($pwd =~ /^[a-z]\:/i) ? ';' : ':';
+$ENV{PATH} = "$prefix/bin" . ($ENV{PATH} ? $path_delim . $ENV{PATH} : "");
+
+if (! -x $openssl) {
+	my $found = 0;
+	foreach (split /$path_delim/, $ENV{PATH}) {
+		if (-x "$_/$openssl") {
+			$found = 1;
+			$openssl = "$_/$openssl";
+			last;
+		}	
+	}
+	if ($found == 0) {
+		print STDERR "c_rehash: rehashing skipped ('openssl' program not available)\n";
+		exit 0;
+	}
+}
+
+if (@ARGV) {
+	@dirlist = @ARGV;
+} elsif ($ENV{SSL_CERT_DIR}) {
+	@dirlist = split /$path_delim/, $ENV{SSL_CERT_DIR};
+} else {
+	$dirlist[0] = "$dir/certs";
+}
+
+if (-d $dirlist[0]) {
+	chdir $dirlist[0];
+	$openssl="$pwd/$openssl" if (!-x $openssl);
+	chdir $pwd;
+}
+
+foreach (@dirlist) {
+	if (-d $_ ) {
+            if ( -w $_) {
+		hash_dir($_);
+            } else {
+                print "Skipping $_, can't write\n";
+                $errorcount++;
+            }
+	}
+}
+exit($errorcount);
+
+sub hash_dir {
+	my %hashlist;
+	print "Doing $_[0]\n";
+	chdir $_[0];
+	opendir(DIR, ".");
+	my @flist = sort readdir(DIR);
+	closedir DIR;
+	if ( $removelinks ) {
+		# Delete any existing symbolic links
+		foreach (grep {/^[\da-f]+\.r{0,1}\d+$/} @flist) {
+			if (-l $_) {
+				print "unlink $_" if $verbose;
+				unlink $_ || warn "Can't unlink $_, $!\n";
+			}
+		}
+	}
+	FILE: foreach $fname (grep {/\.(pem)|(crt)|(cer)|(crl)$/} @flist) {
+		# Check to see if certificates and/or CRLs present.
+		my ($cert, $crl) = check_file($fname);
+		if (!$cert && !$crl) {
+			print STDERR "WARNING: $fname does not contain a certificate or CRL: skipping\n";
+			next;
+		}
+		link_hash_cert($fname) if ($cert);
+		link_hash_crl($fname) if ($crl);
+	}
+}
+
+sub check_file {
+	my ($is_cert, $is_crl) = (0,0);
+	my $fname = $_[0];
+	open IN, $fname;
+	while(<IN>) {
+		if (/^-----BEGIN (.*)-----/) {
+			my $hdr = $1;
+			if ($hdr =~ /^(X509 |TRUSTED |)CERTIFICATE$/) {
+				$is_cert = 1;
+				last if ($is_crl);
+			} elsif ($hdr eq "X509 CRL") {
+				$is_crl = 1;
+				last if ($is_cert);
+			}
+		}
+	}
+	close IN;
+	return ($is_cert, $is_crl);
+}
+
+
+# Link a certificate to its subject name hash value, each hash is of
+# the form <hash>.<n> where n is an integer. If the hash value already exists
+# then we need to up the value of n, unless its a duplicate in which
+# case we skip the link. We check for duplicates by comparing the
+# certificate fingerprints
+
+sub link_hash_cert {
+		my $fname = $_[0];
+		$fname =~ s/'/'\\''/g;
+		my ($hash, $fprint) = `"$openssl" x509 $x509hash -fingerprint -noout -in "$fname"`;
+		chomp $hash;
+		chomp $fprint;
+		$fprint =~ s/^.*=//;
+		$fprint =~ tr/://d;
+		my $suffix = 0;
+		# Search for an unused hash filename
+		while(exists $hashlist{"$hash.$suffix"}) {
+			# Hash matches: if fingerprint matches its a duplicate cert
+			if ($hashlist{"$hash.$suffix"} eq $fprint) {
+				print STDERR "WARNING: Skipping duplicate certificate $fname\n";
+				return;
+			}
+			$suffix++;
+		}
+		$hash .= ".$suffix";
+		if ($symlink_exists) {
+			print "link $fname -> $hash\n" if $verbose;
+			symlink $fname, $hash || warn "Can't symlink, $!";
+		} else {
+			print "copy $fname -> $hash\n" if $verbose;
+                        if (open($in, "<", $fname)) {
+                            if (open($out,">", $hash)) {
+                                print $out $_ while (<$in>);
+                                close $out;
+                            } else {
+                                warn "can't open $hash for write, $!";
+                            }
+                            close $in;
+                        } else {
+                            warn "can't open $fname for read, $!";
+                        }
+		}
+		$hashlist{$hash} = $fprint;
+}
+
+# Same as above except for a CRL. CRL links are of the form <hash>.r<n>
+
+sub link_hash_crl {
+		my $fname = $_[0];
+		$fname =~ s/'/'\\''/g;
+		my ($hash, $fprint) = `"$openssl" crl $crlhash -fingerprint -noout -in '$fname'`;
+		chomp $hash;
+		chomp $fprint;
+		$fprint =~ s/^.*=//;
+		$fprint =~ tr/://d;
+		my $suffix = 0;
+		# Search for an unused hash filename
+		while(exists $hashlist{"$hash.r$suffix"}) {
+			# Hash matches: if fingerprint matches its a duplicate cert
+			if ($hashlist{"$hash.r$suffix"} eq $fprint) {
+				print STDERR "WARNING: Skipping duplicate CRL $fname\n";
+				return;
+			}
+			$suffix++;
+		}
+		$hash .= ".r$suffix";
+		if ($symlink_exists) {
+			print "link $fname -> $hash\n" if $verbose;
+			symlink $fname, $hash || warn "Can't symlink, $!";
+		} else {
+			print "cp $fname -> $hash\n" if $verbose;
+			system ("cp", $fname, $hash);
+                        warn "Can't copy, $!" if ($? >> 8) != 0;
+		}
+		$hashlist{$hash} = $fprint;
+}

+ 188 - 188
OpenSSL/x64/Release/include/openssl/opensslconf.h

@@ -1,188 +1,188 @@
-/*
- * WARNING: do not edit!
- * Generated by makefile from include\openssl\opensslconf.h.in
- *
- * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
- *
- * Licensed under the OpenSSL license (the "License").  You may not use
- * this file except in compliance with the License.  You can obtain a copy
- * in the file LICENSE in the source distribution or at
- * https://www.openssl.org/source/license.html
- */
-
-#ifdef  __cplusplus
-extern "C" {
-#endif
-
-#ifdef OPENSSL_ALGORITHM_DEFINES
-# error OPENSSL_ALGORITHM_DEFINES no longer supported
-#endif
-
-/*
- * OpenSSL was configured with the following options:
- */
-
-#ifndef OPENSSL_SYS_WIN64A
-# define OPENSSL_SYS_WIN64A 1
-#endif
-#ifndef OPENSSL_NO_MD2
-# define OPENSSL_NO_MD2
-#endif
-#ifndef OPENSSL_NO_RC5
-# define OPENSSL_NO_RC5
-#endif
-#ifndef OPENSSL_THREADS
-# define OPENSSL_THREADS
-#endif
-#ifndef OPENSSL_RAND_SEED_OS
-# define OPENSSL_RAND_SEED_OS
-#endif
-#ifndef OPENSSL_NO_ASAN
-# define OPENSSL_NO_ASAN
-#endif
-#ifndef OPENSSL_NO_CRYPTO_MDEBUG
-# define OPENSSL_NO_CRYPTO_MDEBUG
-#endif
-#ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
-# define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
-#endif
-#ifndef OPENSSL_NO_DEVCRYPTOENG
-# define OPENSSL_NO_DEVCRYPTOENG
-#endif
-#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128
-# define OPENSSL_NO_EC_NISTP_64_GCC_128
-#endif
-#ifndef OPENSSL_NO_EGD
-# define OPENSSL_NO_EGD
-#endif
-#ifndef OPENSSL_NO_EXTERNAL_TESTS
-# define OPENSSL_NO_EXTERNAL_TESTS
-#endif
-#ifndef OPENSSL_NO_FUZZ_AFL
-# define OPENSSL_NO_FUZZ_AFL
-#endif
-#ifndef OPENSSL_NO_FUZZ_LIBFUZZER
-# define OPENSSL_NO_FUZZ_LIBFUZZER
-#endif
-#ifndef OPENSSL_NO_HEARTBEATS
-# define OPENSSL_NO_HEARTBEATS
-#endif
-#ifndef OPENSSL_NO_MSAN
-# define OPENSSL_NO_MSAN
-#endif
-#ifndef OPENSSL_NO_SCTP
-# define OPENSSL_NO_SCTP
-#endif
-#ifndef OPENSSL_NO_SSL_TRACE
-# define OPENSSL_NO_SSL_TRACE
-#endif
-#ifndef OPENSSL_NO_SSL3
-# define OPENSSL_NO_SSL3
-#endif
-#ifndef OPENSSL_NO_SSL3_METHOD
-# define OPENSSL_NO_SSL3_METHOD
-#endif
-#ifndef OPENSSL_NO_TLS13DOWNGRADE
-# define OPENSSL_NO_TLS13DOWNGRADE
-#endif
-#ifndef OPENSSL_NO_UBSAN
-# define OPENSSL_NO_UBSAN
-#endif
-#ifndef OPENSSL_NO_UNIT_TEST
-# define OPENSSL_NO_UNIT_TEST
-#endif
-#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
-# define OPENSSL_NO_WEAK_SSL_CIPHERS
-#endif
-#ifndef OPENSSL_NO_AFALGENG
-# define OPENSSL_NO_AFALGENG
-#endif
-
-
-/*
- * Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers
- * don't like that.  This will hopefully silence them.
- */
-#define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy;
-
-/*
- * Applications should use -DOPENSSL_API_COMPAT=<version> to suppress the
- * declarations of functions deprecated in or before <version>. Otherwise, they
- * still won't see them if the library has been built to disable deprecated
- * functions.
- */
-#if defined(OPENSSL_NO_DEPRECATED)
-# define DECLARE_DEPRECATED(f)
-#elif __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0)
-# define DECLARE_DEPRECATED(f)    f __attribute__ ((deprecated));
-#else
-# define DECLARE_DEPRECATED(f)   f;
-#endif
-
-#ifndef OPENSSL_FILE
-# ifdef OPENSSL_NO_FILENAMES
-#  define OPENSSL_FILE ""
-#  define OPENSSL_LINE 0
-# else
-#  define OPENSSL_FILE __FILE__
-#  define OPENSSL_LINE __LINE__
-# endif
-#endif
-
-#ifndef OPENSSL_MIN_API
-# define OPENSSL_MIN_API 0
-#endif
-
-#if !defined(OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API
-# undef OPENSSL_API_COMPAT
-# define OPENSSL_API_COMPAT OPENSSL_MIN_API
-#endif
-
-#if OPENSSL_API_COMPAT < 0x10200000L
-# define DEPRECATEDIN_1_2_0(f)   DECLARE_DEPRECATED(f)
-#else
-# define DEPRECATEDIN_1_2_0(f)
-#endif
-
-#if OPENSSL_API_COMPAT < 0x10100000L
-# define DEPRECATEDIN_1_1_0(f)   DECLARE_DEPRECATED(f)
-#else
-# define DEPRECATEDIN_1_1_0(f)
-#endif
-
-#if OPENSSL_API_COMPAT < 0x10000000L
-# define DEPRECATEDIN_1_0_0(f)   DECLARE_DEPRECATED(f)
-#else
-# define DEPRECATEDIN_1_0_0(f)
-#endif
-
-#if OPENSSL_API_COMPAT < 0x00908000L
-# define DEPRECATEDIN_0_9_8(f)   DECLARE_DEPRECATED(f)
-#else
-# define DEPRECATEDIN_0_9_8(f)
-#endif
-
-/* Generate 80386 code? */
-#undef I386_ONLY
-
-#undef OPENSSL_UNISTD
-#define OPENSSL_UNISTD <unistd.h>
-
-#define OPENSSL_EXPORT_VAR_AS_FUNCTION
-
-/*
- * The following are cipher-specific, but are part of the public API.
- */
-#if !defined(OPENSSL_SYS_UEFI)
-# undef BN_LLONG
-/* Only one for the following should be defined */
-# undef SIXTY_FOUR_BIT_LONG
-# define SIXTY_FOUR_BIT
-# undef THIRTY_TWO_BIT
-#endif
-
-#define RC4_INT unsigned int
-
-#ifdef  __cplusplus
-}
-#endif
+/*
+ * WARNING: do not edit!
+ * Generated by makefile from include\openssl\opensslconf.h.in
+ *
+ * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
+ *
+ * Licensed under the OpenSSL license (the "License").  You may not use
+ * this file except in compliance with the License.  You can obtain a copy
+ * in the file LICENSE in the source distribution or at
+ * https://www.openssl.org/source/license.html
+ */
+
+#ifdef  __cplusplus
+extern "C" {
+#endif
+
+#ifdef OPENSSL_ALGORITHM_DEFINES
+# error OPENSSL_ALGORITHM_DEFINES no longer supported
+#endif
+
+/*
+ * OpenSSL was configured with the following options:
+ */
+
+#ifndef OPENSSL_SYS_WIN64A
+# define OPENSSL_SYS_WIN64A 1
+#endif
+#ifndef OPENSSL_NO_MD2
+# define OPENSSL_NO_MD2
+#endif
+#ifndef OPENSSL_NO_RC5
+# define OPENSSL_NO_RC5
+#endif
+#ifndef OPENSSL_THREADS
+# define OPENSSL_THREADS
+#endif
+#ifndef OPENSSL_RAND_SEED_OS
+# define OPENSSL_RAND_SEED_OS
+#endif
+#ifndef OPENSSL_NO_ASAN
+# define OPENSSL_NO_ASAN
+#endif
+#ifndef OPENSSL_NO_CRYPTO_MDEBUG
+# define OPENSSL_NO_CRYPTO_MDEBUG
+#endif
+#ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
+# define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
+#endif
+#ifndef OPENSSL_NO_DEVCRYPTOENG
+# define OPENSSL_NO_DEVCRYPTOENG
+#endif
+#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128
+# define OPENSSL_NO_EC_NISTP_64_GCC_128
+#endif
+#ifndef OPENSSL_NO_EGD
+# define OPENSSL_NO_EGD
+#endif
+#ifndef OPENSSL_NO_EXTERNAL_TESTS
+# define OPENSSL_NO_EXTERNAL_TESTS
+#endif
+#ifndef OPENSSL_NO_FUZZ_AFL
+# define OPENSSL_NO_FUZZ_AFL
+#endif
+#ifndef OPENSSL_NO_FUZZ_LIBFUZZER
+# define OPENSSL_NO_FUZZ_LIBFUZZER
+#endif
+#ifndef OPENSSL_NO_HEARTBEATS
+# define OPENSSL_NO_HEARTBEATS
+#endif
+#ifndef OPENSSL_NO_MSAN
+# define OPENSSL_NO_MSAN
+#endif
+#ifndef OPENSSL_NO_SCTP
+# define OPENSSL_NO_SCTP
+#endif
+#ifndef OPENSSL_NO_SSL_TRACE
+# define OPENSSL_NO_SSL_TRACE
+#endif
+#ifndef OPENSSL_NO_SSL3
+# define OPENSSL_NO_SSL3
+#endif
+#ifndef OPENSSL_NO_SSL3_METHOD
+# define OPENSSL_NO_SSL3_METHOD
+#endif
+#ifndef OPENSSL_NO_TLS13DOWNGRADE
+# define OPENSSL_NO_TLS13DOWNGRADE
+#endif
+#ifndef OPENSSL_NO_UBSAN
+# define OPENSSL_NO_UBSAN
+#endif
+#ifndef OPENSSL_NO_UNIT_TEST
+# define OPENSSL_NO_UNIT_TEST
+#endif
+#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
+# define OPENSSL_NO_WEAK_SSL_CIPHERS
+#endif
+#ifndef OPENSSL_NO_AFALGENG
+# define OPENSSL_NO_AFALGENG
+#endif
+
+
+/*
+ * Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers
+ * don't like that.  This will hopefully silence them.
+ */
+#define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy;
+
+/*
+ * Applications should use -DOPENSSL_API_COMPAT=<version> to suppress the
+ * declarations of functions deprecated in or before <version>. Otherwise, they
+ * still won't see them if the library has been built to disable deprecated
+ * functions.
+ */
+#if defined(OPENSSL_NO_DEPRECATED)
+# define DECLARE_DEPRECATED(f)
+#elif __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0)
+# define DECLARE_DEPRECATED(f)    f __attribute__ ((deprecated));
+#else
+# define DECLARE_DEPRECATED(f)   f;
+#endif
+
+#ifndef OPENSSL_FILE
+# ifdef OPENSSL_NO_FILENAMES
+#  define OPENSSL_FILE ""
+#  define OPENSSL_LINE 0
+# else
+#  define OPENSSL_FILE __FILE__
+#  define OPENSSL_LINE __LINE__
+# endif
+#endif
+
+#ifndef OPENSSL_MIN_API
+# define OPENSSL_MIN_API 0
+#endif
+
+#if !defined(OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API
+# undef OPENSSL_API_COMPAT
+# define OPENSSL_API_COMPAT OPENSSL_MIN_API
+#endif
+
+#if OPENSSL_API_COMPAT < 0x10200000L
+# define DEPRECATEDIN_1_2_0(f)   DECLARE_DEPRECATED(f)
+#else
+# define DEPRECATEDIN_1_2_0(f)
+#endif
+
+#if OPENSSL_API_COMPAT < 0x10100000L
+# define DEPRECATEDIN_1_1_0(f)   DECLARE_DEPRECATED(f)
+#else
+# define DEPRECATEDIN_1_1_0(f)
+#endif
+
+#if OPENSSL_API_COMPAT < 0x10000000L
+# define DEPRECATEDIN_1_0_0(f)   DECLARE_DEPRECATED(f)
+#else
+# define DEPRECATEDIN_1_0_0(f)
+#endif
+
+#if OPENSSL_API_COMPAT < 0x00908000L
+# define DEPRECATEDIN_0_9_8(f)   DECLARE_DEPRECATED(f)
+#else
+# define DEPRECATEDIN_0_9_8(f)
+#endif
+
+/* Generate 80386 code? */
+#undef I386_ONLY
+
+#undef OPENSSL_UNISTD
+#define OPENSSL_UNISTD <unistd.h>
+
+#define OPENSSL_EXPORT_VAR_AS_FUNCTION
+
+/*
+ * The following are cipher-specific, but are part of the public API.
+ */
+#if !defined(OPENSSL_SYS_UEFI)
+# undef BN_LLONG
+/* Only one for the following should be defined */
+# undef SIXTY_FOUR_BIT_LONG
+# define SIXTY_FOUR_BIT
+# undef THIRTY_TWO_BIT
+#endif
+
+#define RC4_INT unsigned int
+
+#ifdef  __cplusplus
+}
+#endif

BIN
Projektvorlagen/Framework Program.zip


+ 6 - 6
README.txt

@@ -1,7 +1,7 @@
-Anleitung zum Klonen und erstellen:
-
-git clone https://koljastrohm-games.com:3000/kolja/Kolja-Strohm-Games.git
-cd .\Kolja-Strohm-Games\
-git submodule init
-git submodule update --recursive --remote
+Anleitung zum Klonen und erstellen:
+
+git clone https://koljastrohm-games.com:3000/kolja/Kolja-Strohm-Games.git
+cd .\Kolja-Strohm-Games\
+git submodule init
+git submodule update --recursive --remote
 .\build.bat

+ 2 - 2
Spiele Platform/Klient/Fertig/Debug/Minigames/x64/Asteroids/mg.ini

@@ -1,3 +1,3 @@
-TitelBild=titel.jpg
-TitelBildPfad=bilder/titel.ltdb
+TitelBild=titel.jpg
+TitelBildPfad=bilder/titel.ltdb
 DllPfad=bin/game.dll

+ 2 - 2
Spiele Platform/Klient/Fertig/Debug/Minigames/x64/Blöcke/mg.ini

@@ -1,3 +1,3 @@
-TitelBild=titel.jpg
-TitelBildPfad=bilder/titel.ltdb
+TitelBild=titel.jpg
+TitelBildPfad=bilder/titel.ltdb
 DllPfad=bin/game.dll

+ 2 - 2
Spiele Platform/Klient/Fertig/Debug/Minigames/x64/Fangen/mg.ini

@@ -1,3 +1,3 @@
-TitelBild=titel.jpg
-TitelBildPfad=bilder/titel.ltdb
+TitelBild=titel.jpg
+TitelBildPfad=bilder/titel.ltdb
 DllPfad=bin/game.dll

+ 2 - 2
Spiele Platform/Klient/Fertig/Debug/Minigames/x64/Snake/mg.ini

@@ -1,3 +1,3 @@
-TitelBild=titel.jpg
-TitelBildPfad=bilder/titel.ltdb
+TitelBild=titel.jpg
+TitelBildPfad=bilder/titel.ltdb
 DllPfad=bin/game.dll

+ 2 - 2
Spiele Platform/Klient/Fertig/Debug/Minigames/x64/Tetris/mg.ini

@@ -1,3 +1,3 @@
-TitelBild=titel.jpg
-TitelBildPfad=bilder/titel.ltdb
+TitelBild=titel.jpg
+TitelBildPfad=bilder/titel.ltdb
 DllPfad=bin/game.dll

+ 87 - 87
Spiele Platform/Klient/Fertig/Debug/Spiele/x64/Stickman World Online/data/beschreibung.ksgs

@@ -1,88 +1,88 @@
-#include <KSGSStandart.h>
-
-class TextErscheinen
-{
-private:
-    var TextFeld beschreibung;
-    var Text txt;
-    var int num;
-    var int län;
-    var double z;
-public:
-    func void init()
-    {
-        initTextFeld( beschreibung, 5, 5, 568, 418, "", 0x1001 );
-        txt = "Stickman World online ist eines der Ersten Spiele von Kolja-Strohm Games. Es gibt verschiedene Karten mit jeweils anderen Spielsystemen. Kolja-Strohm Games wünscht ihnen viel Spaß beim Spielen.";
-        län = txt.getLänge();
-        num = 0;
-        z = 0;
-    }
-    func bool next( double zeit )
-    {
-        z += zeit;
-        if( ( z > 0.03 ) && ( num < län ) )
-        {
-            var Text t;
-            t = beschreibung.getText();
-            while( z > 0.03 )
-            {
-                z -= 0.03;
-                t.anhängen( txt.getTeilText( num, num + 1 ) );
-                num += 1;
-                if( num >= län )
-                {
-                    break;
-                }
-            }
-            beschreibung.setText( t );
-            beschreibung.setTextNachGröße();
-            return true;
-        }
-        return false;
-    }
-    func void render( Bild b )
-    {
-        beschreibung.render( b );
-    }
-};
-
-var TextErscheinen beschreibung;
-
-func void start()
-{
-    beschreibung.init();
-}
-
-func void initTextFeld( TextFeld tf, int x, int y, int br, int hö, Text t, int style )
-{
-    tf.setPosition( x, y );
-    tf.setGröße( br, hö );
-    tf.setStyle( style );
-    tf.setSchriftFarbe( 0xFFFFFFFF );
-    tf.setText( t );
-}
-
-func void initKnopf( Knopf k, int x, int y, int br, int hö, Text t )
-{
-    k.setPosition( x, y );
-    k.setGröße( br, hö );
-    k.setText( t );
-    k.addStyle( 0x1 );
-}
-
-func bool maus( MausEreignis me )
-{
-    return me.verarbeitet;
-}
-
-func bool tick( double z )
-{
-    var bool ret;
-    ret = beschreibung.next( z );
-    return ret;
-}
-
-func void render( Bild rObj )
-{
-    beschreibung.render( rObj );
+#include <KSGSStandart.h>
+
+class TextErscheinen
+{
+private:
+    var TextFeld beschreibung;
+    var Text txt;
+    var int num;
+    var int län;
+    var double z;
+public:
+    func void init()
+    {
+        initTextFeld( beschreibung, 5, 5, 568, 418, "", 0x1001 );
+        txt = "Stickman World online ist eines der Ersten Spiele von Kolja-Strohm Games. Es gibt verschiedene Karten mit jeweils anderen Spielsystemen. Kolja-Strohm Games wünscht ihnen viel Spaß beim Spielen.";
+        län = txt.getLänge();
+        num = 0;
+        z = 0;
+    }
+    func bool next( double zeit )
+    {
+        z += zeit;
+        if( ( z > 0.03 ) && ( num < län ) )
+        {
+            var Text t;
+            t = beschreibung.getText();
+            while( z > 0.03 )
+            {
+                z -= 0.03;
+                t.anhängen( txt.getTeilText( num, num + 1 ) );
+                num += 1;
+                if( num >= län )
+                {
+                    break;
+                }
+            }
+            beschreibung.setText( t );
+            beschreibung.setTextNachGröße();
+            return true;
+        }
+        return false;
+    }
+    func void render( Bild b )
+    {
+        beschreibung.render( b );
+    }
+};
+
+var TextErscheinen beschreibung;
+
+func void start()
+{
+    beschreibung.init();
+}
+
+func void initTextFeld( TextFeld tf, int x, int y, int br, int hö, Text t, int style )
+{
+    tf.setPosition( x, y );
+    tf.setGröße( br, hö );
+    tf.setStyle( style );
+    tf.setSchriftFarbe( 0xFFFFFFFF );
+    tf.setText( t );
+}
+
+func void initKnopf( Knopf k, int x, int y, int br, int hö, Text t )
+{
+    k.setPosition( x, y );
+    k.setGröße( br, hö );
+    k.setText( t );
+    k.addStyle( 0x1 );
+}
+
+func bool maus( MausEreignis me )
+{
+    return me.verarbeitet;
+}
+
+func bool tick( double z )
+{
+    var bool ret;
+    ret = beschreibung.next( z );
+    return ret;
+}
+
+func void render( Bild rObj )
+{
+    beschreibung.render( rObj );
 }

+ 19 - 19
Spiele Platform/Klient/Fertig/Debug/copyToDebug.bat

@@ -1,20 +1,20 @@
-chcp 1252
-
-copy "..\..\..\..\Allgemein\Framework\x64\Debug\Framework.dll" "x64\framework.dll"
-copy "..\..\..\..\Allgemein\Network\x64\Debug\Network.dll" "x64\network.dll"
-copy "..\..\Start\x64\Debug\Start.exe" "x64\start.exe"
-copy "..\..\..\..\Allgemein\GSL\x64\Debug\gsl.dll" "x64\data\bin\GSL.dll"
-copy "..\..\..\..\Allgemein\KSGScript\x64\Debug\KSGScript.dll" "x64\data\bin\KSGScript.dll"
-copy "..\..\Update\x64\Debug\Update.dll" "x64\data\bin\Update.dll"
-copy "..\..\Client\x64\Debug\Client.exe" "x64\data\client\bin\game client.exe"
-copy "..\..\Patcher\x64\Debug\patcher.exe" "x64\data\patch\bin\patcher.exe"
-copy "..\..\Icon\x64\Debug\Icon.exe" "x64\data\start\icon.exe"
-
-copy "..\..\Minigames\Asteroids\x64\Debug\Asteroids.dll" "Minigames\x64\Asteroids\bin\game.dll"
-copy "..\..\Minigames\Blöcke\x64\Debug\Bloecke.dll" "Minigames\x64\Blöcke\bin\game.dll"
-copy "..\..\Minigames\Fangen\x64\Debug\Fangen.dll" "Minigames\x64\Fangen\bin\game.dll"
-copy "..\..\Minigames\Snake\x64\Debug\Snake.dll" "Minigames\x64\Snake\bin\game.dll"
-copy "..\..\Minigames\Tetris\x64\Debug\Tetris.dll" "Minigames\x64\Tetris\bin\game.dll"
-
-copy "..\..\..\Spiele\Klient\Asteroids\x64\Debug\Asteroids.dll" "Spiele\x64\Asteroids\bin\Asteroids.dll"
+chcp 1252
+
+copy "..\..\..\..\Allgemein\Framework\x64\Debug\Framework.dll" "x64\framework.dll"
+copy "..\..\..\..\Allgemein\Network\x64\Debug\Network.dll" "x64\network.dll"
+copy "..\..\Start\x64\Debug\Start.exe" "x64\start.exe"
+copy "..\..\..\..\Allgemein\GSL\x64\Debug\gsl.dll" "x64\data\bin\GSL.dll"
+copy "..\..\..\..\Allgemein\KSGScript\x64\Debug\KSGScript.dll" "x64\data\bin\KSGScript.dll"
+copy "..\..\Update\x64\Debug\Update.dll" "x64\data\bin\Update.dll"
+copy "..\..\Client\x64\Debug\Client.exe" "x64\data\client\bin\game client.exe"
+copy "..\..\Patcher\x64\Debug\patcher.exe" "x64\data\patch\bin\patcher.exe"
+copy "..\..\Icon\x64\Debug\Icon.exe" "x64\data\start\icon.exe"
+
+copy "..\..\Minigames\Asteroids\x64\Debug\Asteroids.dll" "Minigames\x64\Asteroids\bin\game.dll"
+copy "..\..\Minigames\Blöcke\x64\Debug\Bloecke.dll" "Minigames\x64\Blöcke\bin\game.dll"
+copy "..\..\Minigames\Fangen\x64\Debug\Fangen.dll" "Minigames\x64\Fangen\bin\game.dll"
+copy "..\..\Minigames\Snake\x64\Debug\Snake.dll" "Minigames\x64\Snake\bin\game.dll"
+copy "..\..\Minigames\Tetris\x64\Debug\Tetris.dll" "Minigames\x64\Tetris\bin\game.dll"
+
+copy "..\..\..\Spiele\Klient\Asteroids\x64\Debug\Asteroids.dll" "Spiele\x64\Asteroids\bin\Asteroids.dll"
 copy "..\..\..\Spiele\Klient\Linie\x64\Debug\Linie.dll" "Spiele\x64\Linie\bin\Linie.dll"

+ 2 - 2
Spiele Platform/Klient/Fertig/Debug/x64/data/optionen.ini

@@ -1,2 +1,2 @@
-ServerIP=94.130.27.12
-ServerPort=5225
+ServerIP=94.130.27.12
+ServerPort=5225

+ 89 - 89
Spiele Platform/Klient/Fertig/Debug/x64/data/script/SpielNichtAktuell.ksgs

@@ -1,90 +1,90 @@
-#include <KSGSStandart.h>
-
-class TextErscheinen
-{
-private:
-    var TextFeld beschreibung;
-    var Text txt;
-    var int num;
-    var int län;
-    var double z;
-public:
-    func void init()
-    {
-        initTextFeld( beschreibung, 5, 5, 568, 418, "", 0x1001 );
-        txt = "Das Ausgewählte Spiel ist nicht aktuell.";
-        län = txt.getLänge();
-        num = 0;
-        z = 0;
-    }
-    func bool next( double zeit )
-    {
-        z += zeit;
-        if( ( z > 0.03 ) && ( num < län ) )
-        {
-            var Text t;
-            t = beschreibung.getText();
-            while( z > 0.03 )
-            {
-                z -= 0.03;
-                t.anhängen( txt.getTeilText( num, num + 1 ) );
-                num += 1;
-                if( num >= län )
-                {
-                    break;
-                }
-            }
-            beschreibung.setText( t );
-            return true;
-        }
-        return false;
-    }
-    func void render( Bild b )
-    {
-        beschreibung.render( b );
-    }
-};
-
-var TextErscheinen beschreibung;
-
-func void start()
-{
-    beschreibung.init();
-}
-
-func void initTextFeld( TextFeld tf, int x, int y, int br, int hö, Text t, int style )
-{
-    tf.setPosition( x, y );
-    tf.setGröße( br, hö );
-    tf.setStyle( style );
-    tf.setSchriftFarbe( 0xFFFFFFFF );
-    tf.setText( t );
-}
-
-func void initKnopf( Knopf k, int x, int y, int br, int hö, Text t )
-{
-    k.setPosition( x, y );
-    k.setGröße( br, hö );
-    k.setText( t );
-    k.addStyle( 0x1 );
-}
-
-func bool maus( MausEreignis me )
-{
-    return me.verarbeitet;
-}
-
-func bool tick( double z )
-{
-    var bool ret;
-    ret = beschreibung.next( z );
-    return ret;
-}
-
-func void render( Bild rObj )
-{
-    if( begin == true )
-    {
-        beschreibung.render( rObj );
-    }
+#include <KSGSStandart.h>
+
+class TextErscheinen
+{
+private:
+    var TextFeld beschreibung;
+    var Text txt;
+    var int num;
+    var int län;
+    var double z;
+public:
+    func void init()
+    {
+        initTextFeld( beschreibung, 5, 5, 568, 418, "", 0x1001 );
+        txt = "Das Ausgewählte Spiel ist nicht aktuell.";
+        län = txt.getLänge();
+        num = 0;
+        z = 0;
+    }
+    func bool next( double zeit )
+    {
+        z += zeit;
+        if( ( z > 0.03 ) && ( num < län ) )
+        {
+            var Text t;
+            t = beschreibung.getText();
+            while( z > 0.03 )
+            {
+                z -= 0.03;
+                t.anhängen( txt.getTeilText( num, num + 1 ) );
+                num += 1;
+                if( num >= län )
+                {
+                    break;
+                }
+            }
+            beschreibung.setText( t );
+            return true;
+        }
+        return false;
+    }
+    func void render( Bild b )
+    {
+        beschreibung.render( b );
+    }
+};
+
+var TextErscheinen beschreibung;
+
+func void start()
+{
+    beschreibung.init();
+}
+
+func void initTextFeld( TextFeld tf, int x, int y, int br, int hö, Text t, int style )
+{
+    tf.setPosition( x, y );
+    tf.setGröße( br, hö );
+    tf.setStyle( style );
+    tf.setSchriftFarbe( 0xFFFFFFFF );
+    tf.setText( t );
+}
+
+func void initKnopf( Knopf k, int x, int y, int br, int hö, Text t )
+{
+    k.setPosition( x, y );
+    k.setGröße( br, hö );
+    k.setText( t );
+    k.addStyle( 0x1 );
+}
+
+func bool maus( MausEreignis me )
+{
+    return me.verarbeitet;
+}
+
+func bool tick( double z )
+{
+    var bool ret;
+    ret = beschreibung.next( z );
+    return ret;
+}
+
+func void render( Bild rObj )
+{
+    if( begin == true )
+    {
+        beschreibung.render( rObj );
+    }
 }

BIN
Spiele Platform/Klient/Fertig/Debug/x64/data/version


+ 2 - 2
Spiele Platform/Klient/Fertig/Minigames/x32/Asteroids/mg.ini

@@ -1,3 +1,3 @@
-TitelBild=titel.jpg
-TitelBildPfad=bilder/titel.ltdb
+TitelBild=titel.jpg
+TitelBildPfad=bilder/titel.ltdb
 DllPfad=bin/game.dll

+ 2 - 2
Spiele Platform/Klient/Fertig/Minigames/x32/Blöcke/mg.ini

@@ -1,3 +1,3 @@
-TitelBild=titel.jpg
-TitelBildPfad=bilder/titel.ltdb
+TitelBild=titel.jpg
+TitelBildPfad=bilder/titel.ltdb
 DllPfad=bin/game.dll

+ 2 - 2
Spiele Platform/Klient/Fertig/Minigames/x32/Fangen/mg.ini

@@ -1,3 +1,3 @@
-TitelBild=titel.jpg
-TitelBildPfad=bilder/titel.ltdb
+TitelBild=titel.jpg
+TitelBildPfad=bilder/titel.ltdb
 DllPfad=bin/game.dll

+ 2 - 2
Spiele Platform/Klient/Fertig/Minigames/x32/Snake/mg.ini

@@ -1,3 +1,3 @@
-TitelBild=titel.jpg
-TitelBildPfad=bilder/titel.ltdb
+TitelBild=titel.jpg
+TitelBildPfad=bilder/titel.ltdb
 DllPfad=bin/game.dll

+ 2 - 2
Spiele Platform/Klient/Fertig/Minigames/x32/Tetris/mg.ini

@@ -1,3 +1,3 @@
-TitelBild=titel.jpg
-TitelBildPfad=bilder/titel.ltdb
+TitelBild=titel.jpg
+TitelBildPfad=bilder/titel.ltdb
 DllPfad=bin/game.dll

+ 2 - 2
Spiele Platform/Klient/Fertig/Minigames/x64/Asteroids/mg.ini

@@ -1,3 +1,3 @@
-TitelBild=titel.jpg
-TitelBildPfad=bilder/titel.ltdb
+TitelBild=titel.jpg
+TitelBildPfad=bilder/titel.ltdb
 DllPfad=bin/game.dll

+ 2 - 2
Spiele Platform/Klient/Fertig/Minigames/x64/Blöcke/mg.ini

@@ -1,3 +1,3 @@
-TitelBild=titel.jpg
-TitelBildPfad=bilder/titel.ltdb
+TitelBild=titel.jpg
+TitelBildPfad=bilder/titel.ltdb
 DllPfad=bin/game.dll

+ 2 - 2
Spiele Platform/Klient/Fertig/Minigames/x64/Fangen/mg.ini

@@ -1,3 +1,3 @@
-TitelBild=titel.jpg
-TitelBildPfad=bilder/titel.ltdb
+TitelBild=titel.jpg
+TitelBildPfad=bilder/titel.ltdb
 DllPfad=bin/game.dll

+ 2 - 2
Spiele Platform/Klient/Fertig/Minigames/x64/Snake/mg.ini

@@ -1,3 +1,3 @@
-TitelBild=titel.jpg
-TitelBildPfad=bilder/titel.ltdb
+TitelBild=titel.jpg
+TitelBildPfad=bilder/titel.ltdb
 DllPfad=bin/game.dll

+ 2 - 2
Spiele Platform/Klient/Fertig/Minigames/x64/Tetris/mg.ini

@@ -1,3 +1,3 @@
-TitelBild=titel.jpg
-TitelBildPfad=bilder/titel.ltdb
+TitelBild=titel.jpg
+TitelBildPfad=bilder/titel.ltdb
 DllPfad=bin/game.dll

+ 87 - 87
Spiele Platform/Klient/Fertig/Spiele/x32/Asteroids/data/beschreibung.ksgs

@@ -1,88 +1,88 @@
-#include <KSGSStandart.h>
-
-class TextErscheinen
-{
-private:
-    var TextFeld beschreibung;
-    var Text txt;
-    var int num;
-    var int län;
-    var double z;
-public:
-    func void init()
-    {
-        initTextFeld( beschreibung, 5, 5, 568, 418, "", 0x1001 );
-        txt = "Messe dich in einem Asteroidenfeld mit gegnerischen Raumschiffen.";
-        län = txt.getLänge();
-        num = 0;
-        z = 0;
-    }
-    func bool next( double zeit )
-    {
-        z += zeit;
-        if( ( z > 0.03 ) && ( num < län ) )
-        {
-            var Text t;
-            t = beschreibung.getText();
-            while( z > 0.03 )
-            {
-                z -= 0.03;
-                t.anhängen( txt.getTeilText( num, num + 1 ) );
-                num += 1;
-                if( num >= län )
-                {
-                    break;
-                }
-            }
-            beschreibung.setText( t );
-            beschreibung.setTextNachGröße();
-            return true;
-        }
-        return false;
-    }
-    func void render( Bild b )
-    {
-        beschreibung.render( b );
-    }
-};
-
-var TextErscheinen beschreibung;
-
-func void start()
-{
-    beschreibung.init();
-}
-
-func void initTextFeld( TextFeld tf, int x, int y, int br, int hö, Text t, int style )
-{
-    tf.setPosition( x, y );
-    tf.setGröße( br, hö );
-    tf.setStyle( style );
-    tf.setSchriftFarbe( 0xFFFFFFFF );
-    tf.setText( t );
-}
-
-func void initKnopf( Knopf k, int x, int y, int br, int hö, Text t )
-{
-    k.setPosition( x, y );
-    k.setGröße( br, hö );
-    k.setText( t );
-    k.addStyle( 0x1 );
-}
-
-func bool maus( MausEreignis me )
-{
-    return me.verarbeitet;
-}
-
-func bool tick( double z )
-{
-    var bool ret;
-    ret = beschreibung.next( z );
-    return ret;
-}
-
-func void render( Bild rObj )
-{
-    beschreibung.render( rObj );
+#include <KSGSStandart.h>
+
+class TextErscheinen
+{
+private:
+    var TextFeld beschreibung;
+    var Text txt;
+    var int num;
+    var int län;
+    var double z;
+public:
+    func void init()
+    {
+        initTextFeld( beschreibung, 5, 5, 568, 418, "", 0x1001 );
+        txt = "Messe dich in einem Asteroidenfeld mit gegnerischen Raumschiffen.";
+        län = txt.getLänge();
+        num = 0;
+        z = 0;
+    }
+    func bool next( double zeit )
+    {
+        z += zeit;
+        if( ( z > 0.03 ) && ( num < län ) )
+        {
+            var Text t;
+            t = beschreibung.getText();
+            while( z > 0.03 )
+            {
+                z -= 0.03;
+                t.anhängen( txt.getTeilText( num, num + 1 ) );
+                num += 1;
+                if( num >= län )
+                {
+                    break;
+                }
+            }
+            beschreibung.setText( t );
+            beschreibung.setTextNachGröße();
+            return true;
+        }
+        return false;
+    }
+    func void render( Bild b )
+    {
+        beschreibung.render( b );
+    }
+};
+
+var TextErscheinen beschreibung;
+
+func void start()
+{
+    beschreibung.init();
+}
+
+func void initTextFeld( TextFeld tf, int x, int y, int br, int hö, Text t, int style )
+{
+    tf.setPosition( x, y );
+    tf.setGröße( br, hö );
+    tf.setStyle( style );
+    tf.setSchriftFarbe( 0xFFFFFFFF );
+    tf.setText( t );
+}
+
+func void initKnopf( Knopf k, int x, int y, int br, int hö, Text t )
+{
+    k.setPosition( x, y );
+    k.setGröße( br, hö );
+    k.setText( t );
+    k.addStyle( 0x1 );
+}
+
+func bool maus( MausEreignis me )
+{
+    return me.verarbeitet;
+}
+
+func bool tick( double z )
+{
+    var bool ret;
+    ret = beschreibung.next( z );
+    return ret;
+}
+
+func void render( Bild rObj )
+{
+    beschreibung.render( rObj );
 }

+ 87 - 87
Spiele Platform/Klient/Fertig/Spiele/x32/Linie/data/beschreibung.ksgs

@@ -1,88 +1,88 @@
-#include <KSGSStandart.h>
-
-class TextErscheinen
-{
-private:
-    var TextFeld beschreibung;
-    var Text txt;
-    var int num;
-    var int län;
-    var double z;
-public:
-    func void init()
-    {
-        initTextFeld( beschreibung, 5, 5, 568, 418, "", 0x1001 );
-        txt = "Bei dem spiel Linie bewegen sich die Spieler duch ein Spielfeld und können nur ihre Richtung beeinflussen. Dabei hinterlässt Jeder Spieler eine Linie die nicht berührt werden darf. Viel spaß wünscht ihnen Kolja-Strohm Games.";
-        län = txt.getLänge();
-        num = 0;
-        z = 0;
-    }
-    func bool next( double zeit )
-    {
-        z += zeit;
-        if( ( z > 0.03 ) && ( num < län ) )
-        {
-            var Text t;
-            t = beschreibung.getText();
-            while( z > 0.03 )
-            {
-                z -= 0.03;
-                t.anhängen( txt.getTeilText( num, num + 1 ) );
-                num += 1;
-                if( num >= län )
-                {
-                    break;
-                }
-            }
-            beschreibung.setText( t );
-            beschreibung.setTextNachGröße();
-            return true;
-        }
-        return false;
-    }
-    func void render( Bild b )
-    {
-        beschreibung.render( b );
-    }
-};
-
-var TextErscheinen beschreibung;
-
-func void start()
-{
-    beschreibung.init();
-}
-
-func void initTextFeld( TextFeld tf, int x, int y, int br, int hö, Text t, int style )
-{
-    tf.setPosition( x, y );
-    tf.setGröße( br, hö );
-    tf.setStyle( style );
-    tf.setSchriftFarbe( 0xFFFFFFFF );
-    tf.setText( t );
-}
-
-func void initKnopf( Knopf k, int x, int y, int br, int hö, Text t )
-{
-    k.setPosition( x, y );
-    k.setGröße( br, hö );
-    k.setText( t );
-    k.addStyle( 0x1 );
-}
-
-func bool maus( MausEreignis me )
-{
-    return me.verarbeitet;
-}
-
-func bool tick( double z )
-{
-    var bool ret;
-    ret = beschreibung.next( z );
-    return ret;
-}
-
-func void render( Bild rObj )
-{
-    beschreibung.render( rObj );
+#include <KSGSStandart.h>
+
+class TextErscheinen
+{
+private:
+    var TextFeld beschreibung;
+    var Text txt;
+    var int num;
+    var int län;
+    var double z;
+public:
+    func void init()
+    {
+        initTextFeld( beschreibung, 5, 5, 568, 418, "", 0x1001 );
+        txt = "Bei dem spiel Linie bewegen sich die Spieler duch ein Spielfeld und können nur ihre Richtung beeinflussen. Dabei hinterlässt Jeder Spieler eine Linie die nicht berührt werden darf. Viel spaß wünscht ihnen Kolja-Strohm Games.";
+        län = txt.getLänge();
+        num = 0;
+        z = 0;
+    }
+    func bool next( double zeit )
+    {
+        z += zeit;
+        if( ( z > 0.03 ) && ( num < län ) )
+        {
+            var Text t;
+            t = beschreibung.getText();
+            while( z > 0.03 )
+            {
+                z -= 0.03;
+                t.anhängen( txt.getTeilText( num, num + 1 ) );
+                num += 1;
+                if( num >= län )
+                {
+                    break;
+                }
+            }
+            beschreibung.setText( t );
+            beschreibung.setTextNachGröße();
+            return true;
+        }
+        return false;
+    }
+    func void render( Bild b )
+    {
+        beschreibung.render( b );
+    }
+};
+
+var TextErscheinen beschreibung;
+
+func void start()
+{
+    beschreibung.init();
+}
+
+func void initTextFeld( TextFeld tf, int x, int y, int br, int hö, Text t, int style )
+{
+    tf.setPosition( x, y );
+    tf.setGröße( br, hö );
+    tf.setStyle( style );
+    tf.setSchriftFarbe( 0xFFFFFFFF );
+    tf.setText( t );
+}
+
+func void initKnopf( Knopf k, int x, int y, int br, int hö, Text t )
+{
+    k.setPosition( x, y );
+    k.setGröße( br, hö );
+    k.setText( t );
+    k.addStyle( 0x1 );
+}
+
+func bool maus( MausEreignis me )
+{
+    return me.verarbeitet;
+}
+
+func bool tick( double z )
+{
+    var bool ret;
+    ret = beschreibung.next( z );
+    return ret;
+}
+
+func void render( Bild rObj )
+{
+    beschreibung.render( rObj );
 }

+ 87 - 87
Spiele Platform/Klient/Fertig/Spiele/x32/Stickman World Online/data/beschreibung.ksgs

@@ -1,88 +1,88 @@
-#include <KSGSStandart.h>
-
-class TextErscheinen
-{
-private:
-    var TextFeld beschreibung;
-    var Text txt;
-    var int num;
-    var int län;
-    var double z;
-public:
-    func void init()
-    {
-        initTextFeld( beschreibung, 5, 5, 568, 418, "", 0x1001 );
-        txt = "Stickman World online ist eines der Ersten Spiele von Kolja-Strohm Games. Es gibt verschiedene Karten mit jeweils anderen Spielsystemen. Kolja-Strohm Games wünscht ihnen viel Spaß beim Spielen.";
-        län = txt.getLänge();
-        num = 0;
-        z = 0;
-    }
-    func bool next( double zeit )
-    {
-        z += zeit;
-        if( ( z > 0.03 ) && ( num < län ) )
-        {
-            var Text t;
-            t = beschreibung.getText();
-            while( z > 0.03 )
-            {
-                z -= 0.03;
-                t.anhängen( txt.getTeilText( num, num + 1 ) );
-                num += 1;
-                if( num >= län )
-                {
-                    break;
-                }
-            }
-            beschreibung.setText( t );
-            beschreibung.setTextNachGröße();
-            return true;
-        }
-        return false;
-    }
-    func void render( Bild b )
-    {
-        beschreibung.render( b );
-    }
-};
-
-var TextErscheinen beschreibung;
-
-func void start()
-{
-    beschreibung.init();
-}
-
-func void initTextFeld( TextFeld tf, int x, int y, int br, int hö, Text t, int style )
-{
-    tf.setPosition( x, y );
-    tf.setGröße( br, hö );
-    tf.setStyle( style );
-    tf.setSchriftFarbe( 0xFFFFFFFF );
-    tf.setText( t );
-}
-
-func void initKnopf( Knopf k, int x, int y, int br, int hö, Text t )
-{
-    k.setPosition( x, y );
-    k.setGröße( br, hö );
-    k.setText( t );
-    k.addStyle( 0x1 );
-}
-
-func bool maus( MausEreignis me )
-{
-    return me.verarbeitet;
-}
-
-func bool tick( double z )
-{
-    var bool ret;
-    ret = beschreibung.next( z );
-    return ret;
-}
-
-func void render( Bild rObj )
-{
-    beschreibung.render( rObj );
+#include <KSGSStandart.h>
+
+class TextErscheinen
+{
+private:
+    var TextFeld beschreibung;
+    var Text txt;
+    var int num;
+    var int län;
+    var double z;
+public:
+    func void init()
+    {
+        initTextFeld( beschreibung, 5, 5, 568, 418, "", 0x1001 );
+        txt = "Stickman World online ist eines der Ersten Spiele von Kolja-Strohm Games. Es gibt verschiedene Karten mit jeweils anderen Spielsystemen. Kolja-Strohm Games wünscht ihnen viel Spaß beim Spielen.";
+        län = txt.getLänge();
+        num = 0;
+        z = 0;
+    }
+    func bool next( double zeit )
+    {
+        z += zeit;
+        if( ( z > 0.03 ) && ( num < län ) )
+        {
+            var Text t;
+            t = beschreibung.getText();
+            while( z > 0.03 )
+            {
+                z -= 0.03;
+                t.anhängen( txt.getTeilText( num, num + 1 ) );
+                num += 1;
+                if( num >= län )
+                {
+                    break;
+                }
+            }
+            beschreibung.setText( t );
+            beschreibung.setTextNachGröße();
+            return true;
+        }
+        return false;
+    }
+    func void render( Bild b )
+    {
+        beschreibung.render( b );
+    }
+};
+
+var TextErscheinen beschreibung;
+
+func void start()
+{
+    beschreibung.init();
+}
+
+func void initTextFeld( TextFeld tf, int x, int y, int br, int hö, Text t, int style )
+{
+    tf.setPosition( x, y );
+    tf.setGröße( br, hö );
+    tf.setStyle( style );
+    tf.setSchriftFarbe( 0xFFFFFFFF );
+    tf.setText( t );
+}
+
+func void initKnopf( Knopf k, int x, int y, int br, int hö, Text t )
+{
+    k.setPosition( x, y );
+    k.setGröße( br, hö );
+    k.setText( t );
+    k.addStyle( 0x1 );
+}
+
+func bool maus( MausEreignis me )
+{
+    return me.verarbeitet;
+}
+
+func bool tick( double z )
+{
+    var bool ret;
+    ret = beschreibung.next( z );
+    return ret;
+}
+
+func void render( Bild rObj )
+{
+    beschreibung.render( rObj );
 }

+ 87 - 87
Spiele Platform/Klient/Fertig/Spiele/x64/Asteroids/data/beschreibung.ksgs

@@ -1,88 +1,88 @@
-#include <KSGSStandart.h>
-
-class TextErscheinen
-{
-private:
-    var TextFeld beschreibung;
-    var Text txt;
-    var int num;
-    var int län;
-    var double z;
-public:
-    func void init()
-    {
-        initTextFeld( beschreibung, 5, 5, 568, 418, "", 0x1001 );
-        txt = "Messe dich in einem Asteroidenfeld mit gegnerischen Raumschiffen.";
-        län = txt.getLänge();
-        num = 0;
-        z = 0;
-    }
-    func bool next( double zeit )
-    {
-        z += zeit;
-        if( ( z > 0.03 ) && ( num < län ) )
-        {
-            var Text t;
-            t = beschreibung.getText();
-            while( z > 0.03 )
-            {
-                z -= 0.03;
-                t.anhängen( txt.getTeilText( num, num + 1 ) );
-                num += 1;
-                if( num >= län )
-                {
-                    break;
-                }
-            }
-            beschreibung.setText( t );
-            beschreibung.setTextNachGröße();
-            return true;
-        }
-        return false;
-    }
-    func void render( Bild b )
-    {
-        beschreibung.render( b );
-    }
-};
-
-var TextErscheinen beschreibung;
-
-func void start()
-{
-    beschreibung.init();
-}
-
-func void initTextFeld( TextFeld tf, int x, int y, int br, int hö, Text t, int style )
-{
-    tf.setPosition( x, y );
-    tf.setGröße( br, hö );
-    tf.setStyle( style );
-    tf.setSchriftFarbe( 0xFFFFFFFF );
-    tf.setText( t );
-}
-
-func void initKnopf( Knopf k, int x, int y, int br, int hö, Text t )
-{
-    k.setPosition( x, y );
-    k.setGröße( br, hö );
-    k.setText( t );
-    k.addStyle( 0x1 );
-}
-
-func bool maus( MausEreignis me )
-{
-    return me.verarbeitet;
-}
-
-func bool tick( double z )
-{
-    var bool ret;
-    ret = beschreibung.next( z );
-    return ret;
-}
-
-func void render( Bild rObj )
-{
-    beschreibung.render( rObj );
+#include <KSGSStandart.h>
+
+class TextErscheinen
+{
+private:
+    var TextFeld beschreibung;
+    var Text txt;
+    var int num;
+    var int län;
+    var double z;
+public:
+    func void init()
+    {
+        initTextFeld( beschreibung, 5, 5, 568, 418, "", 0x1001 );
+        txt = "Messe dich in einem Asteroidenfeld mit gegnerischen Raumschiffen.";
+        län = txt.getLänge();
+        num = 0;
+        z = 0;
+    }
+    func bool next( double zeit )
+    {
+        z += zeit;
+        if( ( z > 0.03 ) && ( num < län ) )
+        {
+            var Text t;
+            t = beschreibung.getText();
+            while( z > 0.03 )
+            {
+                z -= 0.03;
+                t.anhängen( txt.getTeilText( num, num + 1 ) );
+                num += 1;
+                if( num >= län )
+                {
+                    break;
+                }
+            }
+            beschreibung.setText( t );
+            beschreibung.setTextNachGröße();
+            return true;
+        }
+        return false;
+    }
+    func void render( Bild b )
+    {
+        beschreibung.render( b );
+    }
+};
+
+var TextErscheinen beschreibung;
+
+func void start()
+{
+    beschreibung.init();
+}
+
+func void initTextFeld( TextFeld tf, int x, int y, int br, int hö, Text t, int style )
+{
+    tf.setPosition( x, y );
+    tf.setGröße( br, hö );
+    tf.setStyle( style );
+    tf.setSchriftFarbe( 0xFFFFFFFF );
+    tf.setText( t );
+}
+
+func void initKnopf( Knopf k, int x, int y, int br, int hö, Text t )
+{
+    k.setPosition( x, y );
+    k.setGröße( br, hö );
+    k.setText( t );
+    k.addStyle( 0x1 );
+}
+
+func bool maus( MausEreignis me )
+{
+    return me.verarbeitet;
+}
+
+func bool tick( double z )
+{
+    var bool ret;
+    ret = beschreibung.next( z );
+    return ret;
+}
+
+func void render( Bild rObj )
+{
+    beschreibung.render( rObj );
 }

+ 87 - 87
Spiele Platform/Klient/Fertig/Spiele/x64/Linie/data/beschreibung.ksgs

@@ -1,88 +1,88 @@
-#include <KSGSStandart.h>
-
-class TextErscheinen
-{
-private:
-    var TextFeld beschreibung;
-    var Text txt;
-    var int num;
-    var int län;
-    var double z;
-public:
-    func void init()
-    {
-        initTextFeld( beschreibung, 5, 5, 568, 418, "", 0x1001 );
-        txt = "Bei dem spiel Linie bewegen sich die Spieler duch ein Spielfeld und können nur ihre Richtung beeinflussen. Dabei hinterlässt Jeder Spieler eine Linie die nicht berührt werden darf. Viel spaß wünscht ihnen Kolja-Strohm Games.";
-        län = txt.getLänge();
-        num = 0;
-        z = 0;
-    }
-    func bool next( double zeit )
-    {
-        z += zeit;
-        if( ( z > 0.03 ) && ( num < län ) )
-        {
-            var Text t;
-            t = beschreibung.getText();
-            while( z > 0.03 )
-            {
-                z -= 0.03;
-                t.anhängen( txt.getTeilText( num, num + 1 ) );
-                num += 1;
-                if( num >= län )
-                {
-                    break;
-                }
-            }
-            beschreibung.setText( t );
-            beschreibung.setTextNachGröße();
-            return true;
-        }
-        return false;
-    }
-    func void render( Bild b )
-    {
-        beschreibung.render( b );
-    }
-};
-
-var TextErscheinen beschreibung;
-
-func void start()
-{
-    beschreibung.init();
-}
-
-func void initTextFeld( TextFeld tf, int x, int y, int br, int hö, Text t, int style )
-{
-    tf.setPosition( x, y );
-    tf.setGröße( br, hö );
-    tf.setStyle( style );
-    tf.setSchriftFarbe( 0xFFFFFFFF );
-    tf.setText( t );
-}
-
-func void initKnopf( Knopf k, int x, int y, int br, int hö, Text t )
-{
-    k.setPosition( x, y );
-    k.setGröße( br, hö );
-    k.setText( t );
-    k.addStyle( 0x1 );
-}
-
-func bool maus( MausEreignis me )
-{
-    return me.verarbeitet;
-}
-
-func bool tick( double z )
-{
-    var bool ret;
-    ret = beschreibung.next( z );
-    return ret;
-}
-
-func void render( Bild rObj )
-{
-    beschreibung.render( rObj );
+#include <KSGSStandart.h>
+
+class TextErscheinen
+{
+private:
+    var TextFeld beschreibung;
+    var Text txt;
+    var int num;
+    var int län;
+    var double z;
+public:
+    func void init()
+    {
+        initTextFeld( beschreibung, 5, 5, 568, 418, "", 0x1001 );
+        txt = "Bei dem spiel Linie bewegen sich die Spieler duch ein Spielfeld und können nur ihre Richtung beeinflussen. Dabei hinterlässt Jeder Spieler eine Linie die nicht berührt werden darf. Viel spaß wünscht ihnen Kolja-Strohm Games.";
+        län = txt.getLänge();
+        num = 0;
+        z = 0;
+    }
+    func bool next( double zeit )
+    {
+        z += zeit;
+        if( ( z > 0.03 ) && ( num < län ) )
+        {
+            var Text t;
+            t = beschreibung.getText();
+            while( z > 0.03 )
+            {
+                z -= 0.03;
+                t.anhängen( txt.getTeilText( num, num + 1 ) );
+                num += 1;
+                if( num >= län )
+                {
+                    break;
+                }
+            }
+            beschreibung.setText( t );
+            beschreibung.setTextNachGröße();
+            return true;
+        }
+        return false;
+    }
+    func void render( Bild b )
+    {
+        beschreibung.render( b );
+    }
+};
+
+var TextErscheinen beschreibung;
+
+func void start()
+{
+    beschreibung.init();
+}
+
+func void initTextFeld( TextFeld tf, int x, int y, int br, int hö, Text t, int style )
+{
+    tf.setPosition( x, y );
+    tf.setGröße( br, hö );
+    tf.setStyle( style );
+    tf.setSchriftFarbe( 0xFFFFFFFF );
+    tf.setText( t );
+}
+
+func void initKnopf( Knopf k, int x, int y, int br, int hö, Text t )
+{
+    k.setPosition( x, y );
+    k.setGröße( br, hö );
+    k.setText( t );
+    k.addStyle( 0x1 );
+}
+
+func bool maus( MausEreignis me )
+{
+    return me.verarbeitet;
+}
+
+func bool tick( double z )
+{
+    var bool ret;
+    ret = beschreibung.next( z );
+    return ret;
+}
+
+func void render( Bild rObj )
+{
+    beschreibung.render( rObj );
 }

+ 87 - 87
Spiele Platform/Klient/Fertig/Spiele/x64/Stickman World Online/data/beschreibung.ksgs

@@ -1,88 +1,88 @@
-#include <KSGSStandart.h>
-
-class TextErscheinen
-{
-private:
-    var TextFeld beschreibung;
-    var Text txt;
-    var int num;
-    var int län;
-    var double z;
-public:
-    func void init()
-    {
-        initTextFeld( beschreibung, 5, 5, 568, 418, "", 0x1001 );
-        txt = "Stickman World online ist eines der Ersten Spiele von Kolja-Strohm Games. Es gibt verschiedene Karten mit jeweils anderen Spielsystemen. Kolja-Strohm Games wünscht ihnen viel Spaß beim Spielen.";
-        län = txt.getLänge();
-        num = 0;
-        z = 0;
-    }
-    func bool next( double zeit )
-    {
-        z += zeit;
-        if( ( z > 0.03 ) && ( num < län ) )
-        {
-            var Text t;
-            t = beschreibung.getText();
-            while( z > 0.03 )
-            {
-                z -= 0.03;
-                t.anhängen( txt.getTeilText( num, num + 1 ) );
-                num += 1;
-                if( num >= län )
-                {
-                    break;
-                }
-            }
-            beschreibung.setText( t );
-            beschreibung.setTextNachGröße();
-            return true;
-        }
-        return false;
-    }
-    func void render( Bild b )
-    {
-        beschreibung.render( b );
-    }
-};
-
-var TextErscheinen beschreibung;
-
-func void start()
-{
-    beschreibung.init();
-}
-
-func void initTextFeld( TextFeld tf, int x, int y, int br, int hö, Text t, int style )
-{
-    tf.setPosition( x, y );
-    tf.setGröße( br, hö );
-    tf.setStyle( style );
-    tf.setSchriftFarbe( 0xFFFFFFFF );
-    tf.setText( t );
-}
-
-func void initKnopf( Knopf k, int x, int y, int br, int hö, Text t )
-{
-    k.setPosition( x, y );
-    k.setGröße( br, hö );
-    k.setText( t );
-    k.addStyle( 0x1 );
-}
-
-func bool maus( MausEreignis me )
-{
-    return me.verarbeitet;
-}
-
-func bool tick( double z )
-{
-    var bool ret;
-    ret = beschreibung.next( z );
-    return ret;
-}
-
-func void render( Bild rObj )
-{
-    beschreibung.render( rObj );
+#include <KSGSStandart.h>
+
+class TextErscheinen
+{
+private:
+    var TextFeld beschreibung;
+    var Text txt;
+    var int num;
+    var int län;
+    var double z;
+public:
+    func void init()
+    {
+        initTextFeld( beschreibung, 5, 5, 568, 418, "", 0x1001 );
+        txt = "Stickman World online ist eines der Ersten Spiele von Kolja-Strohm Games. Es gibt verschiedene Karten mit jeweils anderen Spielsystemen. Kolja-Strohm Games wünscht ihnen viel Spaß beim Spielen.";
+        län = txt.getLänge();
+        num = 0;
+        z = 0;
+    }
+    func bool next( double zeit )
+    {
+        z += zeit;
+        if( ( z > 0.03 ) && ( num < län ) )
+        {
+            var Text t;
+            t = beschreibung.getText();
+            while( z > 0.03 )
+            {
+                z -= 0.03;
+                t.anhängen( txt.getTeilText( num, num + 1 ) );
+                num += 1;
+                if( num >= län )
+                {
+                    break;
+                }
+            }
+            beschreibung.setText( t );
+            beschreibung.setTextNachGröße();
+            return true;
+        }
+        return false;
+    }
+    func void render( Bild b )
+    {
+        beschreibung.render( b );
+    }
+};
+
+var TextErscheinen beschreibung;
+
+func void start()
+{
+    beschreibung.init();
+}
+
+func void initTextFeld( TextFeld tf, int x, int y, int br, int hö, Text t, int style )
+{
+    tf.setPosition( x, y );
+    tf.setGröße( br, hö );
+    tf.setStyle( style );
+    tf.setSchriftFarbe( 0xFFFFFFFF );
+    tf.setText( t );
+}
+
+func void initKnopf( Knopf k, int x, int y, int br, int hö, Text t )
+{
+    k.setPosition( x, y );
+    k.setGröße( br, hö );
+    k.setText( t );
+    k.addStyle( 0x1 );
+}
+
+func bool maus( MausEreignis me )
+{
+    return me.verarbeitet;
+}
+
+func bool tick( double z )
+{
+    var bool ret;
+    ret = beschreibung.next( z );
+    return ret;
+}
+
+func void render( Bild rObj )
+{
+    beschreibung.render( rObj );
 }

+ 1 - 1
Spiele Platform/Klient/Fertig/x32/data/optionen.ini

@@ -1,2 +1,2 @@
-ServerIP=94.130.27.12
+ServerIP=94.130.27.12
 ServerPort=4225

+ 89 - 89
Spiele Platform/Klient/Fertig/x32/data/script/SpielNichtAktuell.ksgs

@@ -1,90 +1,90 @@
-#include <KSGSStandart.h>
-
-class TextErscheinen
-{
-private:
-    var TextFeld beschreibung;
-    var Text txt;
-    var int num;
-    var int län;
-    var double z;
-public:
-    func void init()
-    {
-        initTextFeld( beschreibung, 5, 5, 568, 418, "", 0x1001 );
-        txt = "Das Ausgewählte Spiel ist nicht aktuell.";
-        län = txt.getLänge();
-        num = 0;
-        z = 0;
-    }
-    func bool next( double zeit )
-    {
-        z += zeit;
-        if( ( z > 0.03 ) && ( num < län ) )
-        {
-            var Text t;
-            t = beschreibung.getText();
-            while( z > 0.03 )
-            {
-                z -= 0.03;
-                t.anhängen( txt.getTeilText( num, num + 1 ) );
-                num += 1;
-                if( num >= län )
-                {
-                    break;
-                }
-            }
-            beschreibung.setText( t );
-            return true;
-        }
-        return false;
-    }
-    func void render( Bild b )
-    {
-        beschreibung.render( b );
-    }
-};
-
-var TextErscheinen beschreibung;
-
-func void start()
-{
-    beschreibung.init();
-}
-
-func void initTextFeld( TextFeld tf, int x, int y, int br, int hö, Text t, int style )
-{
-    tf.setPosition( x, y );
-    tf.setGröße( br, hö );
-    tf.setStyle( style );
-    tf.setSchriftFarbe( 0xFFFFFFFF );
-    tf.setText( t );
-}
-
-func void initKnopf( Knopf k, int x, int y, int br, int hö, Text t )
-{
-    k.setPosition( x, y );
-    k.setGröße( br, hö );
-    k.setText( t );
-    k.addStyle( 0x1 );
-}
-
-func bool maus( MausEreignis me )
-{
-    return me.verarbeitet;
-}
-
-func bool tick( double z )
-{
-    var bool ret;
-    ret = beschreibung.next( z );
-    return ret;
-}
-
-func void render( Bild rObj )
-{
-    if( begin == true )
-    {
-        beschreibung.render( rObj );
-    }
+#include <KSGSStandart.h>
+
+class TextErscheinen
+{
+private:
+    var TextFeld beschreibung;
+    var Text txt;
+    var int num;
+    var int län;
+    var double z;
+public:
+    func void init()
+    {
+        initTextFeld( beschreibung, 5, 5, 568, 418, "", 0x1001 );
+        txt = "Das Ausgewählte Spiel ist nicht aktuell.";
+        län = txt.getLänge();
+        num = 0;
+        z = 0;
+    }
+    func bool next( double zeit )
+    {
+        z += zeit;
+        if( ( z > 0.03 ) && ( num < län ) )
+        {
+            var Text t;
+            t = beschreibung.getText();
+            while( z > 0.03 )
+            {
+                z -= 0.03;
+                t.anhängen( txt.getTeilText( num, num + 1 ) );
+                num += 1;
+                if( num >= län )
+                {
+                    break;
+                }
+            }
+            beschreibung.setText( t );
+            return true;
+        }
+        return false;
+    }
+    func void render( Bild b )
+    {
+        beschreibung.render( b );
+    }
+};
+
+var TextErscheinen beschreibung;
+
+func void start()
+{
+    beschreibung.init();
+}
+
+func void initTextFeld( TextFeld tf, int x, int y, int br, int hö, Text t, int style )
+{
+    tf.setPosition( x, y );
+    tf.setGröße( br, hö );
+    tf.setStyle( style );
+    tf.setSchriftFarbe( 0xFFFFFFFF );
+    tf.setText( t );
+}
+
+func void initKnopf( Knopf k, int x, int y, int br, int hö, Text t )
+{
+    k.setPosition( x, y );
+    k.setGröße( br, hö );
+    k.setText( t );
+    k.addStyle( 0x1 );
+}
+
+func bool maus( MausEreignis me )
+{
+    return me.verarbeitet;
+}
+
+func bool tick( double z )
+{
+    var bool ret;
+    ret = beschreibung.next( z );
+    return ret;
+}
+
+func void render( Bild rObj )
+{
+    if( begin == true )
+    {
+        beschreibung.render( rObj );
+    }
 }

BIN
Spiele Platform/Klient/Fertig/x32/data/version


+ 2 - 2
Spiele Platform/Klient/Fertig/x64/data/optionen.ini

@@ -1,2 +1,2 @@
-ServerIP=94.130.27.12
-ServerPort=4225
+ServerIP=94.130.27.12
+ServerPort=4225

+ 89 - 89
Spiele Platform/Klient/Fertig/x64/data/script/SpielNichtAktuell.ksgs

@@ -1,90 +1,90 @@
-#include <KSGSStandart.h>
-
-class TextErscheinen
-{
-private:
-    var TextFeld beschreibung;
-    var Text txt;
-    var int num;
-    var int län;
-    var double z;
-public:
-    func void init()
-    {
-        initTextFeld( beschreibung, 5, 5, 568, 418, "", 0x1001 );
-        txt = "Das Ausgewählte Spiel ist nicht aktuell.";
-        län = txt.getLänge();
-        num = 0;
-        z = 0;
-    }
-    func bool next( double zeit )
-    {
-        z += zeit;
-        if( ( z > 0.03 ) && ( num < län ) )
-        {
-            var Text t;
-            t = beschreibung.getText();
-            while( z > 0.03 )
-            {
-                z -= 0.03;
-                t.anhängen( txt.getTeilText( num, num + 1 ) );
-                num += 1;
-                if( num >= län )
-                {
-                    break;
-                }
-            }
-            beschreibung.setText( t );
-            return true;
-        }
-        return false;
-    }
-    func void render( Bild b )
-    {
-        beschreibung.render( b );
-    }
-};
-
-var TextErscheinen beschreibung;
-
-func void start()
-{
-    beschreibung.init();
-}
-
-func void initTextFeld( TextFeld tf, int x, int y, int br, int hö, Text t, int style )
-{
-    tf.setPosition( x, y );
-    tf.setGröße( br, hö );
-    tf.setStyle( style );
-    tf.setSchriftFarbe( 0xFFFFFFFF );
-    tf.setText( t );
-}
-
-func void initKnopf( Knopf k, int x, int y, int br, int hö, Text t )
-{
-    k.setPosition( x, y );
-    k.setGröße( br, hö );
-    k.setText( t );
-    k.addStyle( 0x1 );
-}
-
-func bool maus( MausEreignis me )
-{
-    return me.verarbeitet;
-}
-
-func bool tick( double z )
-{
-    var bool ret;
-    ret = beschreibung.next( z );
-    return ret;
-}
-
-func void render( Bild rObj )
-{
-    if( begin == true )
-    {
-        beschreibung.render( rObj );
-    }
+#include <KSGSStandart.h>
+
+class TextErscheinen
+{
+private:
+    var TextFeld beschreibung;
+    var Text txt;
+    var int num;
+    var int län;
+    var double z;
+public:
+    func void init()
+    {
+        initTextFeld( beschreibung, 5, 5, 568, 418, "", 0x1001 );
+        txt = "Das Ausgewählte Spiel ist nicht aktuell.";
+        län = txt.getLänge();
+        num = 0;
+        z = 0;
+    }
+    func bool next( double zeit )
+    {
+        z += zeit;
+        if( ( z > 0.03 ) && ( num < län ) )
+        {
+            var Text t;
+            t = beschreibung.getText();
+            while( z > 0.03 )
+            {
+                z -= 0.03;
+                t.anhängen( txt.getTeilText( num, num + 1 ) );
+                num += 1;
+                if( num >= län )
+                {
+                    break;
+                }
+            }
+            beschreibung.setText( t );
+            return true;
+        }
+        return false;
+    }
+    func void render( Bild b )
+    {
+        beschreibung.render( b );
+    }
+};
+
+var TextErscheinen beschreibung;
+
+func void start()
+{
+    beschreibung.init();
+}
+
+func void initTextFeld( TextFeld tf, int x, int y, int br, int hö, Text t, int style )
+{
+    tf.setPosition( x, y );
+    tf.setGröße( br, hö );
+    tf.setStyle( style );
+    tf.setSchriftFarbe( 0xFFFFFFFF );
+    tf.setText( t );
+}
+
+func void initKnopf( Knopf k, int x, int y, int br, int hö, Text t )
+{
+    k.setPosition( x, y );
+    k.setGröße( br, hö );
+    k.setText( t );
+    k.addStyle( 0x1 );
+}
+
+func bool maus( MausEreignis me )
+{
+    return me.verarbeitet;
+}
+
+func bool tick( double z )
+{
+    var bool ret;
+    ret = beschreibung.next( z );
+    return ret;
+}
+
+func void render( Bild rObj )
+{
+    if( begin == true )
+    {
+        beschreibung.render( rObj );
+    }
 }

BIN
Spiele Platform/Klient/Fertig/x64/data/version


+ 21 - 21
Spiele Platform/Klient/Include/StrukturenV.h

@@ -1,22 +1,22 @@
-#pragma once
-
-#include <Array.h>
-#include <Text.h>
-
-using namespace Framework;
-
-class SpielerTeamStrukturV
-{
-public:
-    // variablen
-    int spielerAnzahl;
-    int teamAnzahl;
-    Array< int > *spielerFarbe;
-    Array< int > *teamFarbe;
-    RCArray< Text > *teamName;
-    Array< int > *teamSize;
-    int ref;
-    // Reference Counting
-    virtual SpielerTeamStrukturV *getThis() = 0;
-    virtual SpielerTeamStrukturV *release() = 0;
+#pragma once
+
+#include <Array.h>
+#include <Text.h>
+
+using namespace Framework;
+
+class SpielerTeamStrukturV
+{
+public:
+    // variablen
+    int spielerAnzahl;
+    int teamAnzahl;
+    Array< int > *spielerFarbe;
+    Array< int > *teamFarbe;
+    RCArray< Text > *teamName;
+    Array< int > *teamSize;
+    int ref;
+    // Reference Counting
+    virtual SpielerTeamStrukturV *getThis() = 0;
+    virtual SpielerTeamStrukturV *release() = 0;
 };

+ 28 - 28
Spiele Platform/Klient/Include/Update.h

@@ -1,29 +1,29 @@
-#ifndef Update_H
-#define Update_H
-
-#include <Fortschritt.h>
-#include <TextFeld.h>
-
-struct UpdateParams
-{
-	int dateiGruppe;
-	bool *abbruch;
-	Framework::TextFeld *zStatus;
-	Framework::FBalken *zFortschritt;
-};
-
-class UpdaterV
-{
-public:
-	// nicht constant
-	virtual int getNextDateiGruppe( Framework::Text *zDgPfad ) = 0;
-	virtual int update( UpdateParams *zParams ) = 0;
-	// constant
-	virtual char *getError() const = 0;
-	virtual int getDownload() const = 0;
-	// Reference Counting
-	virtual UpdaterV *getThis() = 0;
-	virtual UpdaterV *release() = 0;
-};
-
+#ifndef Update_H
+#define Update_H
+
+#include <Fortschritt.h>
+#include <TextFeld.h>
+
+struct UpdateParams
+{
+	int dateiGruppe;
+	bool *abbruch;
+	Framework::TextFeld *zStatus;
+	Framework::FBalken *zFortschritt;
+};
+
+class UpdaterV
+{
+public:
+	// nicht constant
+	virtual int getNextDateiGruppe( Framework::Text *zDgPfad ) = 0;
+	virtual int update( UpdateParams *zParams ) = 0;
+	// constant
+	virtual char *getError() const = 0;
+	virtual int getDownload() const = 0;
+	// Reference Counting
+	virtual UpdaterV *getThis() = 0;
+	virtual UpdaterV *release() = 0;
+};
+
 #endif

+ 1 - 1
Spiele Platform/Klient/Minigames/DungeonGame

@@ -1 +1 @@
-Subproject commit b87f5b1ce5254c539f1f756f4f27a9edf5b0cd88
+Subproject commit a8805fb172248a064bbf73740a8171da50dc5df6

+ 1 - 1
Spiele Platform/Klient/Minigames/Snake

@@ -1 +1 @@
-Subproject commit fc0a3db766823c178a8fb939aa0929ea66e374df
+Subproject commit b38a09cd706236ece884115d6d9691c6e22b9ffb

+ 13 - 13
Spiele Platform/Klient/Minigames/build.bat

@@ -1,14 +1,14 @@
-chcp 1252
-cd "Asteroids"
-call build.bat
-cd "../Blöcke"
-call build.bat
-cd "../DungeonGame/Client"
-call build.bat
-cd "../../Snake"
-call build.bat
-cd "../Fangen"
-call build.bat
-cd "../Tetris"
-call build.bat
+chcp 1252
+cd "Asteroids"
+call build.bat
+cd "../Blöcke"
+call build.bat
+cd "../DungeonGame/Client"
+call build.bat
+cd "../../Snake"
+call build.bat
+cd "../Fangen"
+call build.bat
+cd "../Tetris"
+call build.bat
 cd ".."

+ 16 - 16
Spiele Platform/Klient/build.bat

@@ -1,17 +1,17 @@
-cd "KSGNetwork"
-call build.bat
-cd "../KSGClient"
-call build.bat
-cd "../Icon"
-call build.bat
-cd "../Minigames"
-call build.bat
-cd ../patcher"
-call build.bat
-cd "../Start"
-call build.bat
-cd "../übernehmen"
-call build.bat
-cd "../Update"
-call build.bat
+cd "KSGNetwork"
+call build.bat
+cd "../KSGClient"
+call build.bat
+cd "../Icon"
+call build.bat
+cd "../Minigames"
+call build.bat
+cd ../patcher"
+call build.bat
+cd "../Start"
+call build.bat
+cd "../übernehmen"
+call build.bat
+cd "../Update"
+call build.bat
 cd ".."

+ 1 - 1
Spiele Platform/SMP

@@ -1 +1 @@
-Subproject commit 14fba5fd8d99dac3dc42c6d76ef083aa841e88bf
+Subproject commit 2f630584b0377d235c4a38481d6301884148b7f5

+ 1 - 1
Spiele Platform/Server/Anmeldung Server

@@ -1 +1 @@
-Subproject commit 162384cd47623c6f288e7944432d9ecafa4d7cfb
+Subproject commit 22a9119b293fe8cd453e8c4b1b1d581dfb6242a2

+ 1 - 1
Spiele Platform/Server/Chat Server

@@ -1 +1 @@
-Subproject commit 404b7c0b8ff4f9d6d26213325de81ce3ecb98ed1
+Subproject commit 5a60ef2a141009c425cc2fd56136efa1f44ffd05

+ 1 - 1
Spiele Platform/Server/Editor Server

@@ -1 +1 @@
-Subproject commit 32f46525487696cceadf03eaadbfa7bcb984427e
+Subproject commit 8b9ea5b5aaa74d9b97528f0575304d9193528747

+ 1 - 1
Spiele Platform/Server/Erhaltung Server

@@ -1 +1 @@
-Subproject commit bf1d473c38dd5c8cc99752391a65801a631efcc9
+Subproject commit dfbea75c93ca3b3b19694184ff44262cef022935

+ 1 - 1
Spiele Platform/Server/Historie Server

@@ -1 +1 @@
-Subproject commit c01ab797b346d3b56175843323205803206c67b8
+Subproject commit 6acab33b117ecd685a51bff79f91624a0811ac7b

+ 1 - 1
Spiele Platform/Server/Information Server

@@ -1 +1 @@
-Subproject commit 7128d5b2054ec3ad6397da7fb5de921f4f132ea7
+Subproject commit 36ae09827d0624329d4a8dc096307e3fd597cd71

+ 1 - 1
Spiele Platform/Server/Karten Server

@@ -1 +1 @@
-Subproject commit 61c1d8c219608a44f2075e2f4b2b0526c48abe8f
+Subproject commit 1e38cad4fe91371e06a4edd39c77b935c7ea1e5a

+ 1 - 1
Spiele Platform/Server/Login Server

@@ -1 +1 @@
-Subproject commit ec4aec101f395fb333599a7bb61b153837c9c2d8
+Subproject commit 95e99a1b074bc9ce0d05b28b3a73597d805edc3e

+ 1 - 1
Spiele Platform/Server/Main Server

@@ -1 +1 @@
-Subproject commit 4fe8191358a2002dfad36e30594df79e8050195a
+Subproject commit 0ec298b95cb6befb39be6ceae36f238bb3603b8d

+ 1 - 1
Spiele Platform/Server/Minigame Server

@@ -1 +1 @@
-Subproject commit 7fe5c9e8019ab81e6e7953b994063c1125765676
+Subproject commit 1734110e262f1e38f38d58acbb96b0ad3b3df442

+ 1 - 1
Spiele Platform/Server/News Server

@@ -1 +1 @@
-Subproject commit 5a631e7caca6aafeaead8b692100174b3e4f6820
+Subproject commit 92b5af5ccfe5d8d7468bd3fd2fbf2d72ecae840f

+ 1 - 1
Spiele Platform/Server/Patch Server

@@ -1 +1 @@
-Subproject commit 4f0999a6217c22fb4b18565b653f319477430587
+Subproject commit deb9e12410d07ce37208e761abe17dcb063f65d3

+ 1 - 1
Spiele Platform/Server/Register Server

@@ -1 +1 @@
-Subproject commit 8057acf3090284229fcc2fe2a3f19b134ade710f
+Subproject commit 82e9e1cd35831906ab594d2b17d8d85e35bb6a9d

+ 1 - 1
Spiele Platform/Server/ServerSystemStarter

@@ -1 +1 @@
-Subproject commit 47373e63571bb27230f099e64a8c5aa5a8ce32cc
+Subproject commit da310ecf3a254a5e19c23ac477bad3b45cd7e8f5

+ 1 - 1
Spiele Platform/Server/Shop Server

@@ -1 +1 @@
-Subproject commit 8221fef89cd25b94f588a97e61a33800c71491ae
+Subproject commit 640603c22055423a8d9e3331100584d1e9431e33

+ 1 - 1
Spiele Platform/Server/Spiel Server

@@ -1 +1 @@
-Subproject commit 0feb42436e8541776c2ae7ca6d0c13085c418a86
+Subproject commit 2706470e80891d5ad46395c130f97801e806f6b5

+ 32 - 32
Spiele Platform/Server/build.bat

@@ -1,33 +1,33 @@
-cd "Anmeldung Server"
-call build.bat
-cd "../Chat Server"
-call build.bat
-cd "../Editor Server"
-call build.bat
-cd "../Erhaltung Server"
-call build.bat
-cd "../Historie Server"
-call build.bat
-cd "../Information Server"
-call build.bat
-cd "../Karten Server"
-call build.bat
-cd "../Login Server"
-call build.bat
-cd "../Main Server"
-call build.bat
-cd "../Minigame Server"
-call build.bat
-cd "../News Server"
-call build.bat
-cd "../Patch Server"
-call build.bat
-cd "../Register Server"
-call build.bat
-cd "../ServerSystemStarter"
-call build.bat
-cd "../Shop Server"
-call build.bat
-cd "../Spiel Server"
-call build.bat
+cd "Anmeldung Server"
+call build.bat
+cd "../Chat Server"
+call build.bat
+cd "../Editor Server"
+call build.bat
+cd "../Erhaltung Server"
+call build.bat
+cd "../Historie Server"
+call build.bat
+cd "../Information Server"
+call build.bat
+cd "../Karten Server"
+call build.bat
+cd "../Login Server"
+call build.bat
+cd "../Main Server"
+call build.bat
+cd "../Minigame Server"
+call build.bat
+cd "../News Server"
+call build.bat
+cd "../Patch Server"
+call build.bat
+cd "../Register Server"
+call build.bat
+cd "../ServerSystemStarter"
+call build.bat
+cd "../Shop Server"
+call build.bat
+cd "../Spiel Server"
+call build.bat
 cd ".."

+ 6 - 4
Spiele Platform/Spiele/Klient/build.bat

@@ -1,5 +1,7 @@
-cd "Linie"
-call build.bat
-cd "../Asteroids"
-call build.bat
+cd "Linie"
+call build.bat
+cd "../Asteroids"
+call build.bat
+cd "../Stickman-World"
+call build.bat
 cd ".."

+ 1 - 1
Spiele Platform/Spiele/Server/Asteroids

@@ -1 +1 @@
-Subproject commit 50b0902d5df36655628bec84923b5447d9d22f3a
+Subproject commit 34704c08ebdd287241c1f84a148b6014c6930354

+ 1 - 1
Spiele Platform/Spiele/Server/Linie

@@ -1 +1 @@
-Subproject commit 8f43bb0902187ff08d12b8b158cb368700224eef
+Subproject commit 91b499ef3e825738bf801dfbe7f5fb8236369d27

+ 1 - 1
Spiele Platform/Spiele/Server/Stickman-World

@@ -1 +1 @@
-Subproject commit 44440afed26b35732441d66a72bab83820f3c4c6
+Subproject commit c0f88d10b371af336999cdd355da08f53b7b66dd

+ 6 - 4
Spiele Platform/Spiele/Server/build.bat

@@ -1,5 +1,7 @@
-cd "Linie"
-call build.bat
-cd "../Asteroids"
-call build.bat
+cd "Linie"
+call build.bat
+cd "../Asteroids"
+call build.bat
+cd "../Stickman-World"
+call build.bat
 cd ".."

+ 4 - 4
Spiele Platform/Spiele/build.bat

@@ -1,5 +1,5 @@
-cd "Klient"
-call build.bat
-cd "../Server"
-call build.bat
+cd "Klient"
+call build.bat
+cd "../Server"
+call build.bat
 cd ".."

+ 8 - 8
Spiele Platform/build.bat

@@ -1,9 +1,9 @@
-cd Spiele"
-call build.bat
-cd "../Klient"
-call build.bat
-cd "../Server"
-call build.bat
-cd "../SMP"
-call build.bat
+cd Spiele"
+call build.bat
+cd "../Klient"
+call build.bat
+cd "../Server"
+call build.bat
+cd "../SMP"
+call build.bat
 cd "../.."

+ 9 - 9
buildDungeonGame.bat

@@ -1,10 +1,10 @@
-@echo off
-
-call init.bat
-cd Allgemein/Framework
-"%InstallDir%\%MSBuildExe%" Framework.vcxproj /p:configuration=debug /p:platform=x64
-cd ../Network
-"%InstallDir%\%MSBuildExe%" "Network/Network.vcxproj" /p:configuration=debug /p:platform=x64 /p:SolutionDir=../
-cd "../../Spiele Platform/Klient/Minigames/DungeonGame/Client"
-"%InstallDir%\%MSBuildExe%" "DungeonGame.sln" /p:configuration=debug /p:platform=x64
+@echo off
+
+call init.bat
+cd Allgemein/Framework
+"%InstallDir%\%MSBuildExe%" Framework.vcxproj /p:configuration=debug /p:platform=x64
+cd ../Network
+"%InstallDir%\%MSBuildExe%" "Network/Network.vcxproj" /p:configuration=debug /p:platform=x64 /p:SolutionDir=../
+cd "../../Spiele Platform/Klient/Minigames/DungeonGame/Client"
+"%InstallDir%\%MSBuildExe%" "DungeonGame.sln" /p:configuration=debug /p:platform=x64
 cd ../../../../../

+ 9 - 9
buildDungeonGameRelease.bat

@@ -1,10 +1,10 @@
-@echo off
-
-call init.bat
-cd Allgemein/Framework
-"%InstallDir%\%MSBuildExe%" Framework.vcxproj /p:configuration=release /p:platform=x64
-cd ../Network
-"%InstallDir%\%MSBuildExe%" "Network/Network.vcxproj" /p:configuration=release /p:platform=x64 /p:SolutionDir=../
-cd "../../Spiele Platform/Klient/Minigames/DungeonGame/Client"
-"%InstallDir%\%MSBuildExe%" "DungeonGame.sln" /p:configuration=release /p:platform=x64
+@echo off
+
+call init.bat
+cd Allgemein/Framework
+"%InstallDir%\%MSBuildExe%" Framework.vcxproj /p:configuration=release /p:platform=x64
+cd ../Network
+"%InstallDir%\%MSBuildExe%" "Network/Network.vcxproj" /p:configuration=release /p:platform=x64 /p:SolutionDir=../
+cd "../../Spiele Platform/Klient/Minigames/DungeonGame/Client"
+"%InstallDir%\%MSBuildExe%" "DungeonGame.sln" /p:configuration=release /p:platform=x64
 cd ../../../../../

+ 413 - 413
ns.txt

@@ -1,413 +1,413 @@
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n

+ 6 - 6
pull_and_rebuild.bat

@@ -1,6 +1,6 @@
-call git pull
-call git submodule foreach git reset --hard
-call git submodule foreach git checkout master
-call git submodule foreach git pull
-
-call build.bat < ns.txt
+call git pull
+call git submodule foreach git reset --hard
+call git submodule foreach git checkout master
+call git submodule foreach git pull
+
+call build.bat < ns.txt