… | |
… | |
849 | $table->add_at (0, $row, new DC::UI::Label align => 1, text => "Video Mode"); |
849 | $table->add_at (0, $row, new DC::UI::Label align => 1, text => "Video Mode"); |
850 | $table->add_at (1, $row++, my $hbox = new DC::UI::HBox); |
850 | $table->add_at (1, $row++, my $hbox = new DC::UI::HBox); |
851 | |
851 | |
852 | $hbox->add ($MODE_SLIDER = new DC::UI::Slider |
852 | $hbox->add ($MODE_SLIDER = new DC::UI::Slider |
853 | force_w => $WIDTH * 0.1, expand => 1, |
853 | force_w => $WIDTH * 0.1, expand => 1, |
|
|
854 | range => [ ($CFG->{sdl_mode}) x 3 ], |
854 | tooltip => $vidmode_tooltip); |
855 | tooltip => $vidmode_tooltip); |
855 | $hbox->add (my $mode_label = new DC::UI::Label |
856 | $hbox->add (my $mode_label = new DC::UI::Label |
856 | height => 0.8, template => "9999x9999@9+9", |
857 | height => 0.8, template => "9999x9999@9+9", |
857 | can_events => 1, tooltip => $vidmode_tooltip); |
858 | can_events => 1, tooltip => $vidmode_tooltip); |
858 | |
859 | |
… | |
… | |
930 | on_activate => sub { |
931 | on_activate => sub { |
931 | video_shutdown (); |
932 | video_shutdown (); |
932 | video_init (); |
933 | video_init (); |
933 | 0 |
934 | 0 |
934 | } |
935 | } |
|
|
936 | ); |
|
|
937 | |
|
|
938 | $table->add_at (0, $row, new DC::UI::Label align => 1, text => "Smooth Movement"); |
|
|
939 | $table->add_at (1, $row++, new DC::UI::CheckBox |
|
|
940 | state => $CFG->{smooth_movement}, |
|
|
941 | tooltip => "<b>Smooth Movement</b> tries to make movement, well, smoother, but also increases the framerate. " |
|
|
942 | . "If you have a very slow system, non-accelerated drivers or plain dislike smooth scrolling, " |
|
|
943 | . "then disable this option. Changes take effect immdiately.", |
|
|
944 | on_changed => sub { my ($self, $value) = @_; $CFG->{smooth_movement} = $value; 0 } |
935 | ); |
945 | ); |
936 | |
946 | |
937 | $table->add_at (0, $row, new DC::UI::Label align => 1, text => "Map Scale"); |
947 | $table->add_at (0, $row, new DC::UI::Label align => 1, text => "Map Scale"); |
938 | $table->add_at (1, $row++, new DC::UI::Slider |
948 | $table->add_at (1, $row++, new DC::UI::Slider |
939 | range => [(log $CFG->{map_scale}) / (log 2), -3, 1, 0, 1], |
949 | range => [(log $CFG->{map_scale}) / (log 2), -3, 1, 0, 1], |
… | |
… | |
2191 | @SDL_MODES = DC::SDL_ListModes 5, 0 unless @SDL_MODES; |
2201 | @SDL_MODES = DC::SDL_ListModes 5, 0 unless @SDL_MODES; |
2192 | @SDL_MODES or DC::fatal "Unable to find a usable video mode\n(hardware accelerated opengl fullscreen)"; |
2202 | @SDL_MODES or DC::fatal "Unable to find a usable video mode\n(hardware accelerated opengl fullscreen)"; |
2193 | |
2203 | |
2194 | @SDL_MODES = sort { $a->[0] * $a->[1] <=> $b->[0] * $b->[1] } @SDL_MODES; |
2204 | @SDL_MODES = sort { $a->[0] * $a->[1] <=> $b->[0] * $b->[1] } @SDL_MODES; |
2195 | |
2205 | |
2196 | if (!exists $CFG->{sdl_mode} or $CFG->{sdl_mode} >= @SDL_MODES) { |
2206 | if (!exists $CFG->{sdl_mode} or $CFG->{sdl_mode} > $#SDL_MODES) { |
2197 | $CFG->{sdl_mode} = 0; |
2207 | $CFG->{sdl_mode} = 0; |
2198 | for (reverse 0 .. $#SDL_MODES) { |
2208 | for (reverse 0 .. $#SDL_MODES) { |
2199 | $CFG->{sdl_mode} = $_ if $SDL_MODES[$_][0] * $SDL_MODES[$_][1] >= 800 * 600; |
2209 | $CFG->{sdl_mode} = $_ if $SDL_MODES[$_][0] * $SDL_MODES[$_][1] >= 800 * 600; |
2200 | } |
2210 | } |
2201 | } |
2211 | } |
… | |
… | |
2534 | sdl_mode => 0, |
2544 | sdl_mode => 0, |
2535 | fullscreen => 1, |
2545 | fullscreen => 1, |
2536 | fast => 0, |
2546 | fast => 0, |
2537 | force_opengl11 => undef, |
2547 | force_opengl11 => undef, |
2538 | disable_alpha => 0, |
2548 | disable_alpha => 0, |
|
|
2549 | smooth_movement => 1, |
2539 | texture_compression => 1, |
2550 | texture_compression => 1, |
2540 | map_scale => 1, |
2551 | map_scale => 1, |
2541 | fow_enable => 1, |
2552 | fow_enable => 1, |
2542 | fow_intensity => 0, |
2553 | fow_intensity => 0, |
2543 | map_smoothing => 1, |
2554 | map_smoothing => 1, |