ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra-Client/bin/deliantra
Revision: 1.120
Committed: Tue Dec 27 07:23:33 2011 UTC (12 years, 4 months ago) by root
Branch: MAIN
Changes since 1.119: +8 -2874 lines
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.1 #!/opt/bin/perl
2    
3 root 1.120 our @STARTUP_DONE;
4 root 1.7
5 root 1.1 # do splash-screen thingy on win32
6     BEGIN {
7     if (%PAR::LibCache && $^O eq "MSWin32") {
8     while (my ($filename, $zip) = each %PAR::LibCache) {
9     $zip->extractMember ("SPLASH.bmp", "$ENV{PAR_TEMP}/SPLASH.bmp");
10     }
11    
12     require Win32::GUI::SplashScreen;
13    
14 root 1.113 Win32::GUI::SplashScreen::Show (
15     -file => "$ENV{PAR_TEMP}/SPLASH.bmp",
16     );
17    
18 root 1.120 push @STARTUP_DONE, sub {
19 root 1.1 Win32::GUI::SplashScreen::Done (1);
20     };
21     }
22     }
23    
24 root 1.120 # TODO: find most recent .par
25    
26 root 1.105 use common::sense;
27 root 1.1
28     use Carp 'verbose';
29    
30     # do things only needed for single-binary version (par)
31     BEGIN {
32     if (%PAR::LibCache) {
33 root 1.120 @INC = grep ref, @INC; # weed out all paths except PAR's loader refs
34 root 1.1
35     my $root = $ENV{PAR_TEMP};
36    
37     while (my ($filename, $zip) = each %PAR::LibCache) {
38     for ($zip->memberNames) {
39     next unless /^root\/(.*)/;
40     $zip->extractMember ($_, "$root/$1")
41     unless -e "$root/$1";
42     }
43     }
44    
45     if ($^O eq "MSWin32") {
46     # pango is relocatable on win32
47 root 1.60 } else {
48     # OS X
49     $ENV{PANGO_RC_FILE} = "$root/pango.rc";
50 root 1.71 $ENV{DYLD_LIBRARY_PATH} = $root;
51 root 1.60 chdir $root; # for pango modules, maybe other things
52 root 1.1 }
53    
54     unshift @INC, $root;
55     }
56     }
57    
58 root 1.94 # prepend private library directory and prepare env
59 root 1.17 BEGIN {
60     for (grep !ref, @INC) {
61 root 1.24 my $path = "$_/Deliantra/Client/private";
62 root 1.17 if (-d $path) {
63     unshift @INC, $path;
64     last;
65     }
66     }
67     }
68    
69 root 1.120 use DC::Main ();
70    
71 root 1.1 # need to do it again because that pile of garbage called PAR nukes it before main
72     unshift @INC, $ENV{PAR_TEMP}
73     if %PAR::LibCache;
74    
75 root 1.120 DC::Main::run;
76 root 1.1
77     =head1 NAME
78    
79     deliantra - A Deliantra MORPG game client
80    
81     =head1 SYNOPSIS
82    
83 root 1.104 deliantra [--profile name] [host [user [password]]]
84     deliantra --help
85 root 1.1
86     =head1 USAGE
87    
88 root 1.104 The deliantra client utilises OpenGL for all UI elements and the game. It
89     is supposed to be used in fullscreen mode and interactively.
90 root 1.1
91     =head1 DEBUGGING
92    
93 root 1.110 DELIANTRA_DEBUG - environment variable
94 root 1.1
95     1 draw borders around widgets
96     2 add low-level widget info to tooltips
97     4 show fps
98     8 suppress tooltips
99 root 1.110 16 show bandwidth downstream
100 root 1.1
101     =head1 AUTHOR
102    
103 root 1.57 Marc Lehmann <deliantra@schmorp.de>, Robin Redeker <elmex@ta-sa.org>
104 root 1.1
105    
106