--- deliantra/Deliantra-Client/DC.pm 2006/05/17 16:17:01 1.53 +++ deliantra/Deliantra-Client/DC.pm 2006/05/24 21:49:58 1.61 @@ -38,11 +38,13 @@ %GL_EXT = map +($_ => 1), split /\s+/, gl_extensions; $GL_NPOT = $GL_EXT{GL_ARB_texture_non_power_of_two} || $GL_VERSION >= 2; + $GL_NPOT = 0 if gl_vendor =~ /ATI Technologies/; # ATI doesn't get it right... glDisable GL_COLOR_MATERIAL; glShadeModel GL_FLAT; glDisable GL_DITHER; glDisable GL_DEPTH_TEST; + glDepthMask 0; glHint GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST; CFClient::Texture::restore_state (); @@ -52,7 +54,8 @@ return unless $GL_DEBUG; if (my $error = glGetError) { - Carp::cluck sprintf "opengl error %x while %s", $error, sprintf @_; + my ($format, @args) = @_; + Carp::cluck sprintf "opengl error %x while $format", $error, @args; } } @@ -107,7 +110,7 @@ -ErrFile => "$Crossfire::VARDIR/pclient/errorlog.txt", # -ErrPrefix => "DATABASE", -Verbose => 1, - -Flags => DB_CREATE | DB_RECOVER_FATAL | DB_INIT_MPOOL | DB_INIT_LOCK | DB_INIT_TXN, + -Flags => DB_CREATE | DB_RECOVER | DB_INIT_MPOOL | DB_INIT_LOCK | DB_INIT_TXN, or die "unable to create/open database home $Crossfire::VARDIR/pclient: $BerkeleyDB::Error"; sub db_table($) { @@ -131,6 +134,15 @@ $pom->present ("CFClient::PodToPango") } +sub pod_to_pango_list($) { + my ($pom) = @_; + + [ + map s/^(\s*)// && [40 * length $1, length $_ ? $_ : " "], + split /\n/, $pom->present ("CFClient::PodToPango") + ] +} + package CFClient::PodToPango; use base Pod::POM::View::Text; @@ -168,8 +180,13 @@ ("\t" x ($indent / 2)) . "$_[1]\n\n" } +sub view_head1 { + "" . $_[1]->title->present ($_[0]) . "\n\n" + . $_[1]->content->present ($_[0]) +}; + sub view_head2 { - "" . $_[1]->title->present ($_[0]) . "\n\n" + "" . $_[1]->title->present ($_[0]) . "\n\n" . $_[1]->content->present ($_[0]) }; @@ -357,7 +374,7 @@ if (defined $data) { glTexImage2D GL_TEXTURE_2D, 0, $self->{internalformat}, - $tw, $th, # need to pad texture first + $tw, $th, 0, $self->{format}, $self->{type}, @@ -373,6 +390,8 @@ CFClient::gl_check "copying to texture %dx%d if=%x", $tw, $th, $self->{internalformat}; } + + glBindTexture GL_TEXTURE_2D, 0; # just to be on the safe side } sub DESTROY { @@ -384,10 +403,10 @@ if $self->{name}; } -sub restore_state{ +sub restore_state { $_->upload for values %TEXTURES; -}; +} 1;