--- deliantra/Deliantra-Client/DC.pm 2006/05/17 16:17:01 1.53 +++ deliantra/Deliantra-Client/DC.pm 2006/05/23 00:26:17 1.58 @@ -43,6 +43,7 @@ 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 +53,7 @@ return unless $GL_DEBUG; if (my $error = glGetError) { - Carp::cluck sprintf "opengl error %x while %s", $error, sprintf @_; + Carp::cluck sprintf "opengl error %x while %s", $error, &sprintf(@_); } } @@ -107,7 +108,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($) { @@ -357,7 +358,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 +374,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 +387,10 @@ if $self->{name}; } -sub restore_state{ +sub restore_state { $_->upload for values %TEXTURES; -}; +} 1;