*** empty log message ***

This commit is contained in:
David Rose 2001-03-08 00:26:32 +00:00
parent 6d3ab7ba2d
commit 942e5da169
4 changed files with 31 additions and 2 deletions

View File

@ -63,6 +63,12 @@ bool textures_down_square = false;
BamTextureMode bam_texture_mode; BamTextureMode bam_texture_mode;
// Set this to enable a speedy-load mode where you don't care what the
// world looks like, you just want it to load in minimal time. This
// causes all texture loads via the TexturePool to load the same
// texture file, which will presumably only be loaded once.
const string fake_texture_image = config_gobj.GetString("fake-texture-image", "");
static BamTextureMode static BamTextureMode
parse_texture_mode(const string &mode) { parse_texture_mode(const string &mode) {
@ -93,7 +99,7 @@ ConfigureFn(config_gobj) {
} else { } else {
textures_up_power_2 = false; textures_up_power_2 = false;
textures_down_power_2 = config_gobj.GetBool("textures-power-2", false); textures_down_power_2 = config_gobj.GetBool("textures-power-2", true);
} }
string textures_square = config_gobj.GetString("textures-square", ""); string textures_square = config_gobj.GetString("textures-square", "");

View File

@ -24,6 +24,7 @@ enum BamTextureMode {
BTM_basename BTM_basename
}; };
extern EXPCL_PANDA BamTextureMode bam_texture_mode; extern EXPCL_PANDA BamTextureMode bam_texture_mode;
extern EXPCL_PANDA const string fake_texture_image;
#endif #endif

View File

@ -435,6 +435,7 @@ write_datagram(BamWriter *manager, Datagram &me)
me.add_bool(has_pbuffer); me.add_bool(has_pbuffer);
if (has_pbuffer) { if (has_pbuffer) {
me.add_uint8(_pbuffer->get_format()); me.add_uint8(_pbuffer->get_format());
me.add_uint8(_pbuffer->get_num_components());
} }
} }
@ -469,12 +470,21 @@ fillin(DatagramIterator &scan, BamReader *manager) {
bool has_pbuffer = scan.get_bool(); bool has_pbuffer = scan.get_bool();
if (has_pbuffer) { if (has_pbuffer) {
PixelBuffer::Format format = (PixelBuffer::Format)scan.get_uint8(); PixelBuffer::Format format = (PixelBuffer::Format)scan.get_uint8();
int num_components = -1;
if (scan.get_remaining_size() > 0) {
num_components = scan.get_uint8();
}
if (_pbuffer != (PixelBuffer *)NULL) { if (_pbuffer != (PixelBuffer *)NULL) {
if (num_components == _pbuffer->get_num_components()) {
// Only reset the format if the number of components hasn't
// changed.
_pbuffer->set_format(format); _pbuffer->set_format(format);
} }
} }
} }
} }
}
//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////
// Function: Texture::make_Texture // Function: Texture::make_Texture

View File

@ -18,6 +18,10 @@ TexturePool *TexturePool::_global_ptr = (TexturePool *)NULL;
//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////
bool TexturePool:: bool TexturePool::
ns_has_texture(Filename filename) { ns_has_texture(Filename filename) {
if (!fake_texture_image.empty()) {
filename = fake_texture_image;
}
filename.resolve_filename(get_texture_path()); filename.resolve_filename(get_texture_path());
filename.resolve_filename(get_model_path()); filename.resolve_filename(get_model_path());
@ -38,6 +42,10 @@ ns_has_texture(Filename filename) {
//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////
Texture *TexturePool:: Texture *TexturePool::
ns_load_texture(Filename filename) { ns_load_texture(Filename filename) {
if (!fake_texture_image.empty()) {
filename = fake_texture_image;
}
filename.resolve_filename(get_texture_path()); filename.resolve_filename(get_texture_path());
filename.resolve_filename(get_model_path()); filename.resolve_filename(get_model_path());
@ -68,6 +76,10 @@ ns_load_texture(Filename filename) {
//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////
Texture *TexturePool:: Texture *TexturePool::
ns_load_texture(Filename filename, Filename grayfilename) { ns_load_texture(Filename filename, Filename grayfilename) {
if (!fake_texture_image.empty()) {
return ns_load_texture(fake_texture_image);
}
filename.resolve_filename(get_texture_path()); filename.resolve_filename(get_texture_path());
filename.resolve_filename(get_model_path()); filename.resolve_filename(get_model_path());