… | |
… | |
26 | |
26 | |
27 | our $FACECACHE; |
27 | our $FACECACHE; |
28 | |
28 | |
29 | our $CFG; |
29 | our $CFG; |
30 | our $CONN; |
30 | our $CONN; |
|
|
31 | our $FAST; # fast, low-quality mode |
31 | |
32 | |
32 | our @SDL_MODES; |
33 | our @SDL_MODES; |
33 | our $WIDTH; |
34 | our $WIDTH; |
34 | our $HEIGHT; |
35 | our $HEIGHT; |
35 | our $FULLSCREEN; |
36 | our $FULLSCREEN; |
… | |
… | |
85 | |
86 | |
86 | $FONTSIZE = int $HEIGHT / 40; |
87 | $FONTSIZE = int $HEIGHT / 40; |
87 | |
88 | |
88 | ############################################################################# |
89 | ############################################################################# |
89 | |
90 | |
90 | glClearColor 0.45, 0.45, 0.45, 1; |
|
|
91 | |
|
|
92 | glEnable GL_TEXTURE_2D; |
|
|
93 | glEnable GL_COLOR_MATERIAL; |
|
|
94 | glShadeModel GL_FLAT; |
|
|
95 | glDisable GL_DEPTH_TEST; |
|
|
96 | glBlendFunc GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA; |
|
|
97 | |
|
|
98 | ############################################################################# |
|
|
99 | |
|
|
100 | $DEBUG_STATUS = new CFClient::UI::Label padding => 0; |
91 | $DEBUG_STATUS = new CFClient::UI::Label padding => 0; |
101 | $CFClient::UI::TOPLEVEL->add ($DEBUG_STATUS); |
92 | $CFClient::UI::TOPLEVEL->add ($DEBUG_STATUS); |
102 | |
93 | |
103 | $STATUS_LINE = new CFClient::UI::Label |
94 | $STATUS_LINE = new CFClient::UI::Label |
104 | padding => 0, |
95 | padding => 0, |
… | |
… | |
131 | $vbox->add (my $table = new CFClient::UI::Table expand => 1, col_expand => [0, 1]); |
122 | $vbox->add (my $table = new CFClient::UI::Table expand => 1, col_expand => [0, 1]); |
132 | |
123 | |
133 | $table->add (0, 0, new CFClient::UI::Label align => 1, text => "Video Mode"); |
124 | $table->add (0, 0, new CFClient::UI::Label align => 1, text => "Video Mode"); |
134 | $table->add (1, 0, my $hbox = new CFClient::UI::HBox); |
125 | $table->add (1, 0, my $hbox = new CFClient::UI::HBox); |
135 | |
126 | |
136 | $hbox->add (my $mode_slider = new CFClient::UI::Slider req_w => 100, range => [$CFG->{sdl_mode}, 0, scalar @SDL_MODES, 1]); |
127 | $hbox->add (my $mode_slider = new CFClient::UI::Slider expand => 1, req_w => 100, range => [$CFG->{sdl_mode}, 0, scalar @SDL_MODES, 1]); |
137 | $hbox->add (my $mode_label = new CFClient::UI::Label height => $FONTSIZE * 0.8); |
128 | $hbox->add (my $mode_label = new CFClient::UI::Label height => $FONTSIZE * 0.8); |
138 | |
129 | |
139 | $mode_slider->connect (changed => sub { |
130 | $mode_slider->connect (changed => sub { |
140 | my (undef, $value) = @_; |
131 | my ($self, $value) = @_; |
141 | |
132 | |
142 | $CFG->{sdl_mode} = $value = int $value + 0.5; |
133 | $CFG->{sdl_mode} = $self->{range}[0] = $value = int $value; |
143 | $mode_label->set_text (sprintf "%dx%d", @{$SDL_MODES[$value]}); |
134 | $mode_label->set_text (sprintf "%dx%d", @{$SDL_MODES[$value]}); |
144 | }); |
135 | }); |
145 | $mode_slider->emit (changed => $mode_slider->{range}[0]); |
136 | $mode_slider->emit (changed => $mode_slider->{range}[0]); |
146 | |
137 | |
147 | $table->add (0, 1, new CFClient::UI::Label align => 1, text => "Host"); |
138 | $table->add (0, 1, new CFClient::UI::Label align => 1, text => "Host"); |
… | |
… | |
155 | |
146 | |
156 | $table->add (0, 4, new CFClient::UI::Label align => 1, text => "Password"); |
147 | $table->add (0, 4, new CFClient::UI::Label align => 1, text => "Password"); |
157 | $table->add (1, 4, my $pass = new CFClient::UI::Entry text => $CFG->{password}, hidden => 1); |
148 | $table->add (1, 4, my $pass = new CFClient::UI::Entry text => $CFG->{password}, hidden => 1); |
158 | |
149 | |
159 | $table->add (0, 5, new CFClient::UI::Label align => 1, text => "Map Size"); |
150 | $table->add (0, 5, new CFClient::UI::Label align => 1, text => "Map Size"); |
160 | $table->add (1, 5, my $mapsize_slider = new CFClient::UI::Slider req_w => 100, range => [$CFG->{mapsize}, 10, 100 + 1, 1]); |
151 | $table->add (1, 5, new CFClient::UI::Slider |
|
|
152 | req_w => 100, |
|
|
153 | range => [$CFG->{mapsize}, 10, 100 + 1, 1], |
|
|
154 | connect_changed => sub { |
|
|
155 | my ($self, $value) = @_; |
|
|
156 | |
|
|
157 | $CFG->{mapsize} = $self->{range}[0] = $value = int $value; |
|
|
158 | }, |
|
|
159 | ); |
161 | |
160 | |
162 | $vbox->add (my $hbox = new CFClient::UI::HBox); |
161 | $vbox->add (my $hbox = new CFClient::UI::HBox); |
163 | $hbox->add (new CFClient::UI::Button expand => 1, align => 0, text => "Save", connect_activate => sub { |
162 | $hbox->add (new CFClient::UI::Button expand => 1, align => 0, text => "Save", connect_activate => sub { |
164 | warn "save\n"; |
163 | warn "save\n"; |
165 | }); |
164 | }); |