mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-30 16:58:40 -04:00
Partially apply typo fix patch I found somewhere on the web, by someone named Christoph Korn
This commit is contained in:
parent
d7624e62c6
commit
804a72b716
@ -562,7 +562,7 @@ class Actor(DirectObject, NodePath):
|
||||
return bundles
|
||||
|
||||
def __updateSortedLODNames(self):
|
||||
# Cache the sorted LOD names so we dont have to grab them
|
||||
# Cache the sorted LOD names so we don't have to grab them
|
||||
# and sort them every time somebody asks for the list
|
||||
self.__sortedLODNames = self.__partBundleDict.keys()
|
||||
# Reverse sort the doing a string->int
|
||||
|
@ -3239,7 +3239,7 @@ does not include blank lines, comments, or continuation lines."
|
||||
t)))
|
||||
|
||||
(defun py-go-up-tree-to-keyword (key)
|
||||
"Go to begining of statement starting with KEY, at or preceding point.
|
||||
"Go to beginning of statement starting with KEY, at or preceding point.
|
||||
|
||||
KEY is a regular expression describing a Python keyword. Skip blank
|
||||
lines and non-indenting comments. If the statement found starts with
|
||||
|
@ -198,7 +198,7 @@ def subclass(type1, type2):
|
||||
elif inheritsFrom(type2, type1):
|
||||
return 1
|
||||
else:
|
||||
# This is the dont care case. We must specify a sorting
|
||||
# This is the don't care case. We must specify a sorting
|
||||
# rule just so it is not arbitrary
|
||||
if (type1.foreignTypeName > type2.foreignTypeName):
|
||||
return -1
|
||||
|
@ -173,7 +173,7 @@ class State(DirectObject):
|
||||
if fsm.getCurrentState():
|
||||
# made this 'conditional_request()' instead of 'request()' to avoid warning when
|
||||
# loading minigames where rules->frameworkInit transition doesnt exist and you
|
||||
# dont want to add it since it results in hanging the game
|
||||
# don't want to add it since it results in hanging the game
|
||||
fsm.conditional_request((fsm.getInitialState()).getName())
|
||||
|
||||
# If it has no current state, I assume this means it
|
||||
|
@ -132,7 +132,7 @@ class OnscreenGeom(DirectObject, NodePath):
|
||||
|
||||
def cget(self, option):
|
||||
# Get current configuration setting.
|
||||
# This is for compatability with DirectGui functions
|
||||
# This is for compatibility with DirectGui functions
|
||||
getter = eval('self.get' + string.upper(option[0]) + option[1:])
|
||||
return getter()
|
||||
|
||||
|
@ -149,7 +149,7 @@ class OnscreenImage(DirectObject, NodePath):
|
||||
|
||||
def cget(self, option):
|
||||
# Get current configuration setting.
|
||||
# This is for compatability with DirectGui functions
|
||||
# This is for compatibility with DirectGui functions
|
||||
getter = eval('self.get' + string.upper(option[0]) + option[1:])
|
||||
return getter()
|
||||
|
||||
|
@ -374,7 +374,7 @@ class OnscreenText(DirectObject, NodePath):
|
||||
self.textNode.clearFrame()
|
||||
|
||||
def configure(self, option=None, **kw):
|
||||
# These is for compatability with DirectGui functions
|
||||
# These is for compatibility with DirectGui functions
|
||||
if not self.mayChange:
|
||||
print 'OnscreenText.configure: mayChange == 0'
|
||||
return
|
||||
@ -396,7 +396,7 @@ class OnscreenText(DirectObject, NodePath):
|
||||
|
||||
def cget(self, option):
|
||||
# Get current configuration setting.
|
||||
# This is for compatability with DirectGui functions
|
||||
# This is for compatibility with DirectGui functions
|
||||
getter = eval('self.get' + string.upper(option[0]) + option[1:])
|
||||
return getter()
|
||||
|
||||
|
@ -28,7 +28,7 @@ class SoundInterval(Interval.Interval):
|
||||
# the sound is caused by the delay between the end of the sound
|
||||
# and the next taskMgr cycle). There still seems to be a skip
|
||||
# in Miles when looping MP3s. =(
|
||||
# RAU 03/01/07 add listenerNode in case we dont want to
|
||||
# RAU 03/01/07 add listenerNode in case we don't want to
|
||||
# use base.camera as the listener, node must not be None
|
||||
def __init__(self, sound, loop = 0, duration = 0.0, name = None,
|
||||
volume = 1.0, startTime = 0.0, node=None,
|
||||
|
@ -2441,7 +2441,7 @@ handle_notify_request(const string &message) {
|
||||
_main_object->set_string_property("status", "starting");
|
||||
|
||||
} else if (message == "onwindowopen") {
|
||||
// The process told us that it just succesfully opened its
|
||||
// The process told us that it just successfully opened its
|
||||
// window, for the first time. Hide the splash window.
|
||||
_instance_window_opened = true;
|
||||
if (_splash_window != NULL) {
|
||||
|
@ -75,7 +75,7 @@ class SfxPlayer:
|
||||
|
||||
self.setFinalVolume(sfx, node, volume, listenerNode, cutoff)
|
||||
|
||||
# dont start over if it's already playing, unless
|
||||
# don't start over if it's already playing, unless
|
||||
# "interrupt" was specified
|
||||
if interrupt or (sfx.status() != AudioSound.PLAYING):
|
||||
sfx.setTime(time)
|
||||
|
@ -1564,7 +1564,7 @@ class ShowBase(DirectObject.DirectObject):
|
||||
# to a user request so sfxActive/musicActive represent how things
|
||||
# *should* be, regardless of App/OS/HW state
|
||||
def enableMusic(self, bEnableMusic):
|
||||
# dont setActive(1) if no audiofocus
|
||||
# don't setActive(1) if no audiofocus
|
||||
if self.AppHasAudioFocus and self.musicManagerIsValid:
|
||||
self.musicManager.setActive(bEnableMusic)
|
||||
self.musicActive = bEnableMusic
|
||||
@ -1582,7 +1582,7 @@ class ShowBase(DirectObject.DirectObject):
|
||||
self.sfxManagerList[i].setActive(bEnabled)
|
||||
|
||||
def enableSoundEffects(self, bEnableSoundEffects):
|
||||
# dont setActive(1) if no audiofocus
|
||||
# don't setActive(1) if no audiofocus
|
||||
if self.AppHasAudioFocus or (bEnableSoundEffects==0):
|
||||
self.SetAllSfxEnables(bEnableSoundEffects)
|
||||
self.sfxActive=bEnableSoundEffects
|
||||
|
@ -563,7 +563,7 @@ class ActorControl(Pmw.MegaWidget):
|
||||
|
||||
def setPlayRate(self, rate):
|
||||
# set play rate on the actor, although for the AnimPanel
|
||||
# purpose we dont use the actor's play rate, but rather
|
||||
# purpose we don't use the actor's play rate, but rather
|
||||
# the self.playRate value since we drive the animation
|
||||
# playback ourselves
|
||||
self['actor'].setPlayRate(eval(rate), self['active'])
|
||||
|
@ -586,7 +586,7 @@ $[ODIR]/$[IDL_BASENAME].h : $[idl_to_gen]
|
||||
#define idl $[idl_to_gen]
|
||||
$[TAB] $[MIDL_COMMAND]
|
||||
|
||||
// this is a complete hack. I dont know how add a generated .h to the dependency list of $[IDL_BASENAME].cpp.
|
||||
// this is a complete hack. I don't know how add a generated .h to the dependency list of $[IDL_BASENAME].cpp.
|
||||
// it is already there, but in the wrong directory. should really add this to official dependency list
|
||||
#foreach file $[GENERATED_IDL_H_DEPENDENTS]
|
||||
$[file] : $[ODIR]/$[IDL_BASENAME].h
|
||||
|
@ -615,7 +615,7 @@ $[osfilename $[ODIR]/$[IDL_BASENAME].h] : $[osfilename $[idl_to_gen]]
|
||||
#define idl $[idl_to_gen]
|
||||
$[TAB] $[MIDL_COMMAND]
|
||||
|
||||
// this is a complete hack. I dont know how add a generated .h to the dependency list of $[IDL_BASENAME].cpp.
|
||||
// this is a complete hack. I don't know how add a generated .h to the dependency list of $[IDL_BASENAME].cpp.
|
||||
// it is already there, but in the wrong directory. should really add this to official dependency list
|
||||
#foreach file $[GENERATED_IDL_H_DEPENDENTS]
|
||||
$[osfilename $[file]] : $[osfilename $[ODIR]/$[IDL_BASENAME].h]
|
||||
|
@ -70,7 +70,7 @@ round_up_to_page_size(size_t size) const {
|
||||
// Function: MemoryHook::inflate_size
|
||||
// Access: Private, Static
|
||||
// Description: Increments the amount of requested size as necessary
|
||||
// to accomodate the extra data we might piggyback on
|
||||
// to accommodate the extra data we might piggyback on
|
||||
// each allocated block.
|
||||
////////////////////////////////////////////////////////////////////
|
||||
INLINE size_t MemoryHook::
|
||||
|
@ -120,7 +120,7 @@ PUBLISHED:
|
||||
// stop.
|
||||
// If you activate the manager while looping sounds are playing
|
||||
// (those that have a loop_count of zero),
|
||||
// they will start playing from the begining of their loop.
|
||||
// they will start playing from the beginning of their loop.
|
||||
// inits to true.
|
||||
virtual void set_active(bool flag) = 0;
|
||||
virtual bool get_active() const = 0;
|
||||
|
@ -27,7 +27,7 @@ class EXPCL_PANDA_AUDIO AudioSound : public TypedReferenceCount {
|
||||
PUBLISHED:
|
||||
virtual ~AudioSound();
|
||||
|
||||
// For best compatability, set the loop_count,
|
||||
// For best compatibility, set the loop_count,
|
||||
// volume, and balance, prior to calling play(). You may
|
||||
// set them while they're playing, but it's implementation
|
||||
// specific whether you get the results.
|
||||
|
@ -19,50 +19,50 @@
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
//[FIRST READ FmodAudioManager for an Introduction if you haven't
|
||||
//already].
|
||||
// [FIRST READ FmodAudioManager for an Introduction if you haven't
|
||||
// already].
|
||||
//
|
||||
//Hello, all future Panda audio code people! This is my errata
|
||||
//documentation to Help any future programmer maintain FMOD and PANDA.
|
||||
// Hello, all future Panda audio code people! This is my errata
|
||||
// documentation to Help any future programmer maintain FMOD and PANDA.
|
||||
//
|
||||
//Well, if you reading this you probably want to know how PANDA deals
|
||||
//with sounds directly using FMOD-EX. Well I am going to tell you.
|
||||
// Well, if you reading this you probably want to know how PANDA deals
|
||||
// with sounds directly using FMOD-EX. Well I am going to tell you.
|
||||
//
|
||||
//The first thing, you as the programmer have to understand,
|
||||
//especially if you never have done sound programming before, is how
|
||||
//the FMOD-EX API works.
|
||||
// The first thing, you as the programmer have to understand,
|
||||
// especially if you never have done sound programming before, is how
|
||||
// the FMOD-EX API works.
|
||||
//
|
||||
//With FMOD-EX the guys at Firelight, adopted a model of managing
|
||||
//sounds with FMOD similar to how a Sound Designer creates sound in a
|
||||
//sound studio using SOUNDS and CHANNELS. Although this may seem
|
||||
//strange at first, if you are not familiar with sound programming,
|
||||
//there is a very good metaphor you are probably already familiar with
|
||||
//to explain how FMOD-EX works.
|
||||
// With FMOD-EX the guys at Firelight, adopted a model of managing
|
||||
// sounds with FMOD similar to how a Sound Designer creates sound in a
|
||||
// sound studio using SOUNDS and CHANNELS. Although this may seem
|
||||
// strange at first, if you are not familiar with sound programming,
|
||||
// there is a very good metaphor you are probably already familiar with
|
||||
// to explain how FMOD-EX works.
|
||||
//
|
||||
//Think of you standard GUI API. Usually a GUI API is made up of two
|
||||
//things: Windows and Widgets. These correspond to CHANNELS and
|
||||
//SOUNDS, where a Channel is a Window and a Sound is Widget. Sounds
|
||||
//are played within channels, and channels don't exist unless they
|
||||
//have something to display.
|
||||
// Think of you standard GUI API. Usually a GUI API is made up of two
|
||||
// things: Windows and Widgets. These correspond to CHANNELS and
|
||||
// SOUNDS, where a Channel is a Window and a Sound is Widget. Sounds
|
||||
// are played within channels, and channels don't exist unless they
|
||||
// have something to display.
|
||||
//
|
||||
//Now why am I explaining all of this? When PANDA was created they set
|
||||
//up the basic audio classes to handle only the idea of a SOUND. The
|
||||
//idea of a Channel really wasn't prevalent as in more modern Audio
|
||||
//APIs. With this rewrite of PANDA to use the FMOD-EX API, the PANDA
|
||||
//FmodAudioSound Class, now has to handle two different parts of the
|
||||
//FMOD-EX API in order to play a sound.
|
||||
// Now why am I explaining all of this? When PANDA was created they set
|
||||
// up the basic audio classes to handle only the idea of a SOUND. The
|
||||
// idea of a Channel really wasn't prevalent as in more modern Audio
|
||||
// APIs. With this rewrite of PANDA to use the FMOD-EX API, the PANDA
|
||||
// FmodAudioSound Class, now has to handle two different parts of the
|
||||
// FMOD-EX API in order to play a sound.
|
||||
//
|
||||
//SOUND: The object the handles the audio data in form of WAV, AIF,
|
||||
//OGG, MID, IT, MP3, etc... And CHANNEL: The object that actually
|
||||
//plays the sound and manipulates it in real time.
|
||||
// SOUND: The object the handles the audio data in form of WAV, AIF,
|
||||
// OGG, MID, IT, MP3, etc... And CHANNEL: The object that actually
|
||||
// plays the sound and manipulates it in real time.
|
||||
//
|
||||
//Ultimately this isn't a problem expect for a couple situations when
|
||||
//you go to play a sound, which I will explain in more detail in that
|
||||
//part of the code. All that you have to know right now is that
|
||||
//Channels in FMOD do not exist unless they are playing a sound. And
|
||||
//in the PANDA FmodAudioSound API class there is only ONE dedicated
|
||||
//channel per sound. Otherwise there is really nothing to worry
|
||||
//about.
|
||||
// Ultimately this isn't a problem expect for a couple situations when
|
||||
// you go to play a sound, which I will explain in more detail in that
|
||||
// part of the code. All that you have to know right now is that
|
||||
// Channels in FMOD do not exist unless they are playing a sound. And
|
||||
// in the PANDA FmodAudioSound API class there is only ONE dedicated
|
||||
// channel per sound. Otherwise there is really nothing to worry
|
||||
// about.
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
@ -86,7 +86,7 @@ class EXPCL_FMOD_AUDIO FmodAudioSound : public AudioSound {
|
||||
FmodAudioSound(AudioManager *manager, Filename fn, bool positional );
|
||||
~FmodAudioSound();
|
||||
|
||||
// For best compatability, set the loop_count, start_time,
|
||||
// For best compatibility, set the loop_count, start_time,
|
||||
// volume, and balance, prior to calling play(). You may
|
||||
// set them while they're playing, but it's implementation
|
||||
// specific whether you get the results.
|
||||
@ -103,7 +103,7 @@ class EXPCL_FMOD_AUDIO FmodAudioSound : public AudioSound {
|
||||
void set_loop_count(unsigned long loop_count=1);
|
||||
unsigned long get_loop_count() const;
|
||||
|
||||
// 0 = begining; length() = end.
|
||||
// 0 = beginning; length() = end.
|
||||
// inits to 0.0.
|
||||
void set_time(float start_time=0.0);
|
||||
float get_time() const;
|
||||
|
@ -42,7 +42,7 @@ public:
|
||||
|
||||
~OpenALAudioSound();
|
||||
|
||||
// For best compatability, set the loop_count, start_time,
|
||||
// For best compatibility, set the loop_count, start_time,
|
||||
// volume, and balance, prior to calling play(). You may
|
||||
// set them while they're playing, but it's implementation
|
||||
// specific whether you get the results.
|
||||
@ -59,7 +59,7 @@ public:
|
||||
void set_loop_count(unsigned long loop_count=1);
|
||||
unsigned long get_loop_count() const;
|
||||
|
||||
// 0 = begining; length() = end.
|
||||
// 0 = beginning; length() = end.
|
||||
// inits to 0.0.
|
||||
void set_time(float time=0.0);
|
||||
float get_time() const;
|
||||
@ -234,8 +234,3 @@ private:
|
||||
#endif //]
|
||||
|
||||
#endif /* __OPENAL_AUDIO_SOUND_H__ */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -162,7 +162,7 @@ get_proxy_realm() const {
|
||||
// series), this will generally contain the new URL the
|
||||
// server wants us to try. In many cases, the client
|
||||
// will automatically follow redirects; if these are
|
||||
// succesful the client will return a successful code
|
||||
// successful the client will return a successful code
|
||||
// and get_redirect() will return empty, but get_url()
|
||||
// will return the new, redirected URL.
|
||||
////////////////////////////////////////////////////////////////////
|
||||
@ -1007,7 +1007,7 @@ get_bytes_requested() const {
|
||||
// transmission.
|
||||
//
|
||||
// Note that simply testing is_download_complete() does
|
||||
// not prove that the requested document was succesfully
|
||||
// not prove that the requested document was successfully
|
||||
// retrieved--you might have just downloaded the "404
|
||||
// not found" stub (for instance) that a server would
|
||||
// provide in response to some error condition. You
|
||||
|
@ -261,7 +261,7 @@ HTTPClient::
|
||||
// Description: This may be called once, presumably at the beginning
|
||||
// of an application, to initialize OpenSSL's random
|
||||
// seed. On Windows, it is particularly important to
|
||||
// call this at startup if you are going to be perfoming
|
||||
// call this at startup if you are going to be performing
|
||||
// any https operations or otherwise use encryption,
|
||||
// since the Windows algorithm for getting a random seed
|
||||
// takes 2-3 seconds at startup, but can take 30 seconds
|
||||
|
@ -26,7 +26,7 @@ Colorf_to_D3DCOLOR(const Colorf &cColorf) {
|
||||
DWORD d3dcolor, tempcolorval=255;
|
||||
|
||||
// note the default FPU rounding mode will give 255*0.5f=0x80, not 0x7F as VC would force it to by resetting rounding mode
|
||||
// dont think this makes much difference
|
||||
// don't think this makes much difference
|
||||
|
||||
__asm {
|
||||
push ebx ; want to save this in case this fn is inlined
|
||||
|
@ -3276,7 +3276,7 @@ free_nondx_resources() {
|
||||
////////////////////////////////////////////////////////////////////
|
||||
void DXGraphicsStateGuardian8::
|
||||
free_d3d_device() {
|
||||
// dont want a full reset of gsg, just a state clear
|
||||
// don't want a full reset of gsg, just a state clear
|
||||
_state_rs = RenderState::make_empty();
|
||||
_state_mask.clear();
|
||||
|
||||
@ -3295,7 +3295,7 @@ free_d3d_device() {
|
||||
|
||||
free_nondx_resources();
|
||||
|
||||
// obviously we dont release ID3D8, just ID3DDevice8
|
||||
// obviously we don't release ID3D8, just ID3DDevice8
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
@ -59,7 +59,7 @@ bool DInput8Info::InitDirectInput() {
|
||||
HRESULT hr;
|
||||
|
||||
// assumes dx8 exists
|
||||
// use dynamic load so non-dinput programs dont have to load dinput
|
||||
// use dynamic load so non-dinput programs don't have to load dinput
|
||||
#define DLLNAME "dinput8.dll"
|
||||
#define DINPUTCREATE "DirectInput8Create"
|
||||
|
||||
|
@ -478,7 +478,7 @@ create_texture(DXScreenData &scrn) {
|
||||
} else {
|
||||
nassertr((num_color_channels == 3)||(num_color_channels == 4), false);
|
||||
// look for compatible 16bit fmts, if none then give up
|
||||
// (dont worry about other bitdepths for 16 bit)
|
||||
// (don't worry about other bitdepths for 16 bit)
|
||||
switch(num_alpha_bits) {
|
||||
case 0:
|
||||
if (num_color_channels == 3) {
|
||||
@ -511,7 +511,7 @@ create_texture(DXScreenData &scrn) {
|
||||
}
|
||||
case 8:
|
||||
if (needs_luminance) {
|
||||
// dont bother handling those other 8bit lum fmts like 4-4,
|
||||
// don't bother handling those other 8bit lum fmts like 4-4,
|
||||
// since 16 8-8 is usually supported too
|
||||
nassertr(num_color_channels == 1, false);
|
||||
|
||||
@ -663,7 +663,7 @@ create_texture(DXScreenData &scrn) {
|
||||
break;
|
||||
|
||||
case Texture::FT_nearest_mipmap_linear:
|
||||
// if we dont have bilinear, do nearest_nearest
|
||||
// if we don't have bilinear, do nearest_nearest
|
||||
if (!((filter_caps & D3DPTFILTERCAPS_MIPFPOINT) &&
|
||||
(filter_caps & D3DPTFILTERCAPS_MINFLINEAR))) {
|
||||
ft = Texture::FT_nearest_mipmap_nearest;
|
||||
@ -671,7 +671,7 @@ create_texture(DXScreenData &scrn) {
|
||||
break;
|
||||
|
||||
case Texture::FT_linear_mipmap_nearest:
|
||||
// if we dont have mip linear, do nearest_nearest
|
||||
// if we don't have mip linear, do nearest_nearest
|
||||
if (!(filter_caps & D3DPTFILTERCAPS_MIPFLINEAR)) {
|
||||
ft = Texture::FT_nearest_mipmap_nearest;
|
||||
}
|
||||
@ -905,7 +905,7 @@ create_simple_texture(DXScreenData &scrn) {
|
||||
void DXTextureContext8::
|
||||
delete_texture() {
|
||||
if (_d3d_texture == NULL) {
|
||||
// dont bother printing the msg below, since we already released it.
|
||||
// don't bother printing the msg below, since we already released it.
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -180,7 +180,7 @@ struct DXScreenData {
|
||||
DWORD _max_available_video_memory;
|
||||
ushort _card_id; // adapter ID
|
||||
ushort _depth_buffer_bitdepth; //GetSurfaceDesc is not reliable so must store this explicitly
|
||||
bool _can_direct_disable_color_writes; // if true, dont need blending for this
|
||||
bool _can_direct_disable_color_writes; // if true, don't need blending for this
|
||||
bool _is_low_memory_card;
|
||||
bool _is_tnl_device;
|
||||
bool _can_use_hw_vertex_shaders;
|
||||
|
@ -303,7 +303,7 @@ find_all_card_memavails() {
|
||||
|
||||
// Get Current VidMem avail. Note this is only an estimate, when
|
||||
// we switch to fullscreen mode from desktop, more vidmem will be
|
||||
// available (typically 1.2 meg). I dont want to switch to
|
||||
// available (typically 1.2 meg). I don't want to switch to
|
||||
// fullscreen more than once due to the annoying monitor flicker,
|
||||
// so try to figure out optimal mode using this estimate
|
||||
DDSCAPS2 ddsGAVMCaps;
|
||||
@ -593,7 +593,7 @@ search_for_valid_displaymode(DXScreenData &scrn,
|
||||
}
|
||||
|
||||
// ignore memory based checks for min res 640x480. some cards just
|
||||
// dont give accurate memavails. (should I do the check anyway for
|
||||
// don't give accurate memavails. (should I do the check anyway for
|
||||
// 640x480 32bpp?)
|
||||
bool bDoMemBasedChecks =
|
||||
((!((RequestedX_Size == 640)&&(RequestedY_Size == 480))) &&
|
||||
@ -630,7 +630,7 @@ search_for_valid_displaymode(DXScreenData &scrn,
|
||||
// refresh rates less than 60
|
||||
if (0) {
|
||||
if ((dispmode.RefreshRate<60) && (dispmode.RefreshRate>1)) {
|
||||
// dont want refresh rates under 60Hz, but 0 or 1 might indicate
|
||||
// don't want refresh rates under 60Hz, but 0 or 1 might indicate
|
||||
// a default refresh rate, which is usually > = 60
|
||||
if (bVerboseMode) {
|
||||
wdxdisplay8_cat.info()
|
||||
|
@ -44,7 +44,7 @@ wdxGraphicsWindow8(GraphicsEngine *engine, GraphicsPipe *pipe,
|
||||
GraphicsOutput *host):
|
||||
WinGraphicsWindow(engine, pipe, name, fb_prop, win_prop, flags, gsg, host)
|
||||
{
|
||||
// dont actually create the window in the constructor. reason:
|
||||
// don't actually create the window in the constructor. reason:
|
||||
// multi-threading requires panda C++ window object to exist in
|
||||
// separate thread from actual API window
|
||||
|
||||
@ -553,7 +553,7 @@ create_screen_buffers_and_device(DXScreenData &display, bool force_16bpp_zbuffer
|
||||
nassertr(_d3d8 != NULL, false);
|
||||
nassertr(pD3DCaps->DevCaps & D3DDEVCAPS_HWRASTERIZATION, false);
|
||||
|
||||
presentation_params->BackBufferFormat = display._display_mode.Format; // dont need dest alpha, so just use adapter format
|
||||
presentation_params->BackBufferFormat = display._display_mode.Format; // don't need dest alpha, so just use adapter format
|
||||
cerr << "attempting " << D3DFormatStr(presentation_params->BackBufferFormat) << "\n";
|
||||
|
||||
bool do_sync = sync_video;
|
||||
@ -650,7 +650,7 @@ create_screen_buffers_and_device(DXScreenData &display, bool force_16bpp_zbuffer
|
||||
if (is_fullscreen()) {
|
||||
// CREATE FULLSCREEN BUFFERS
|
||||
|
||||
presentation_params->SwapEffect = D3DSWAPEFFECT_DISCARD; // we dont care about preserving contents of old frame
|
||||
presentation_params->SwapEffect = D3DSWAPEFFECT_DISCARD; // we don't care about preserving contents of old frame
|
||||
presentation_params->FullScreen_PresentationInterval = (do_sync ? D3DPRESENT_INTERVAL_ONE : D3DPRESENT_INTERVAL_IMMEDIATE);
|
||||
presentation_params->FullScreen_RefreshRateInHz = display._display_mode.RefreshRate;
|
||||
|
||||
@ -1236,7 +1236,7 @@ D3DFMT_to_DepthBits(D3DFORMAT fmt) {
|
||||
////////////////////////////////////////////////////////////////////
|
||||
bool wdxGraphicsWindow8::
|
||||
is_badvidmem_card(D3DADAPTER_IDENTIFIER8 *pDevID) {
|
||||
// dont trust Intel cards since they often use regular memory as vidmem
|
||||
// don't trust Intel cards since they often use regular memory as vidmem
|
||||
if (pDevID->VendorId == 0x00008086) {
|
||||
return true;
|
||||
}
|
||||
|
@ -26,7 +26,7 @@ Colorf_to_D3DCOLOR(const Colorf &cColorf) {
|
||||
DWORD d3dcolor, tempcolorval=255;
|
||||
|
||||
// note the default FPU rounding mode will give 255*0.5f=0x80, not 0x7F as VC would force it to by resetting rounding mode
|
||||
// dont think this makes much difference
|
||||
// don't think this makes much difference
|
||||
|
||||
__asm {
|
||||
push ebx ; want to save this in case this fn is inlined
|
||||
|
@ -4211,7 +4211,7 @@ free_nondx_resources() {
|
||||
////////////////////////////////////////////////////////////////////
|
||||
void DXGraphicsStateGuardian9::
|
||||
free_d3d_device() {
|
||||
// dont want a full reset of gsg, just a state clear
|
||||
// don't want a full reset of gsg, just a state clear
|
||||
_state_rs = RenderState::make_empty();
|
||||
_state_mask.clear();
|
||||
|
||||
@ -4234,7 +4234,7 @@ free_d3d_device() {
|
||||
|
||||
free_nondx_resources();
|
||||
|
||||
// obviously we dont release ID3D9, just ID3DDevice9
|
||||
// obviously we don't release ID3D9, just ID3DDevice9
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
@ -59,7 +59,7 @@ bool DInput9Info::InitDirectInput() {
|
||||
HRESULT hr;
|
||||
|
||||
// assumes dx9 exists
|
||||
// use dynamic load so non-dinput programs dont have to load dinput
|
||||
// use dynamic load so non-dinput programs don't have to load dinput
|
||||
#define DLLNAME "dinput9.dll"
|
||||
#define DINPUTCREATE "DirectInput9Create"
|
||||
|
||||
|
@ -527,7 +527,7 @@ create_texture(DXScreenData &scrn) {
|
||||
} else {
|
||||
nassertr((num_color_channels == 3)||(num_color_channels == 4), false);
|
||||
// look for compatible 16bit fmts, if none then give up
|
||||
// (dont worry about other bitdepths for 16 bit)
|
||||
// (don't worry about other bitdepths for 16 bit)
|
||||
switch(num_alpha_bits) {
|
||||
case 0:
|
||||
if (num_color_channels == 3) {
|
||||
@ -560,7 +560,7 @@ create_texture(DXScreenData &scrn) {
|
||||
}
|
||||
case 8:
|
||||
if (needs_luminance) {
|
||||
// dont bother handling those other 8bit lum fmts like 4-4,
|
||||
// don't bother handling those other 8bit lum fmts like 4-4,
|
||||
// since 16 8-8 is usually supported too
|
||||
nassertr(num_color_channels == 1, false);
|
||||
|
||||
@ -715,7 +715,7 @@ create_texture(DXScreenData &scrn) {
|
||||
break;
|
||||
|
||||
case Texture::FT_nearest_mipmap_linear:
|
||||
// if we dont have bilinear, do nearest_nearest
|
||||
// if we don't have bilinear, do nearest_nearest
|
||||
if (!((filter_caps & D3DPTFILTERCAPS_MIPFPOINT) &&
|
||||
(filter_caps & D3DPTFILTERCAPS_MINFLINEAR))) {
|
||||
ft = Texture::FT_nearest_mipmap_nearest;
|
||||
@ -723,7 +723,7 @@ create_texture(DXScreenData &scrn) {
|
||||
break;
|
||||
|
||||
case Texture::FT_linear_mipmap_nearest:
|
||||
// if we dont have mip linear, do nearest_nearest
|
||||
// if we don't have mip linear, do nearest_nearest
|
||||
if (!(filter_caps & D3DPTFILTERCAPS_MIPFLINEAR)) {
|
||||
ft = Texture::FT_nearest_mipmap_nearest;
|
||||
}
|
||||
@ -1060,7 +1060,7 @@ void DXTextureContext9::
|
||||
delete_texture() {
|
||||
|
||||
if (_d3d_texture == NULL) {
|
||||
// dont bother printing the msg below, since we already released it.
|
||||
// don't bother printing the msg below, since we already released it.
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -200,7 +200,7 @@ struct DXScreenData {
|
||||
DWORD _max_available_video_memory;
|
||||
ushort _card_id; // adapter ID
|
||||
ushort _depth_buffer_bitdepth; //GetSurfaceDesc is not reliable so must store this explicitly
|
||||
bool _can_direct_disable_color_writes; // if true, dont need blending for this
|
||||
bool _can_direct_disable_color_writes; // if true, don't need blending for this
|
||||
bool _is_low_memory_card;
|
||||
bool _is_tnl_device;
|
||||
bool _can_use_hw_vertex_shaders;
|
||||
|
@ -305,7 +305,7 @@ find_all_card_memavails() {
|
||||
|
||||
// Get Current VidMem avail. Note this is only an estimate, when
|
||||
// we switch to fullscreen mode from desktop, more vidmem will be
|
||||
// available (typically 1.2 meg). I dont want to switch to
|
||||
// available (typically 1.2 meg). I don't want to switch to
|
||||
// fullscreen more than once due to the annoying monitor flicker,
|
||||
// so try to figure out optimal mode using this estimate
|
||||
DDSCAPS2 ddsGAVMCaps;
|
||||
@ -618,7 +618,7 @@ search_for_valid_displaymode(DXScreenData &scrn,
|
||||
}
|
||||
|
||||
// ignore memory based checks for min res 640x480. some cards just
|
||||
// dont give accurate memavails. (should I do the check anyway for
|
||||
// don't give accurate memavails. (should I do the check anyway for
|
||||
// 640x480 32bpp?)
|
||||
bool bDoMemBasedChecks =
|
||||
((!((RequestedX_Size == 640)&&(RequestedY_Size == 480))) &&
|
||||
@ -655,7 +655,7 @@ search_for_valid_displaymode(DXScreenData &scrn,
|
||||
// refresh rates less than 60
|
||||
if (0) {
|
||||
if ((dispmode.RefreshRate<60) && (dispmode.RefreshRate>1)) {
|
||||
// dont want refresh rates under 60Hz, but 0 or 1 might indicate
|
||||
// don't want refresh rates under 60Hz, but 0 or 1 might indicate
|
||||
// a default refresh rate, which is usually > = 60
|
||||
if (bVerboseMode) {
|
||||
wdxdisplay9_cat.info()
|
||||
|
@ -44,7 +44,7 @@ wdxGraphicsWindow9(GraphicsEngine *engine, GraphicsPipe *pipe,
|
||||
GraphicsOutput *host):
|
||||
WinGraphicsWindow(engine, pipe, name, fb_prop, win_prop, flags, gsg, host)
|
||||
{
|
||||
// dont actually create the window in the constructor. reason:
|
||||
// don't actually create the window in the constructor. reason:
|
||||
// multi-threading requires panda C++ window object to exist in
|
||||
// separate thread from actual API window
|
||||
|
||||
@ -709,7 +709,7 @@ create_screen_buffers_and_device(DXScreenData &display, bool force_16bpp_zbuffer
|
||||
if (is_fullscreen()) {
|
||||
// CREATE FULLSCREEN BUFFERS
|
||||
|
||||
presentation_params->SwapEffect = D3DSWAPEFFECT_DISCARD; // we dont care about preserving contents of old frame
|
||||
presentation_params->SwapEffect = D3DSWAPEFFECT_DISCARD; // we don't care about preserving contents of old frame
|
||||
presentation_params->PresentationInterval = (do_sync ? D3DPRESENT_INTERVAL_ONE : D3DPRESENT_INTERVAL_IMMEDIATE);
|
||||
presentation_params->FullScreen_RefreshRateInHz = display._display_mode.RefreshRate;
|
||||
|
||||
@ -1332,7 +1332,7 @@ D3DFMT_to_DepthBits(D3DFORMAT fmt) {
|
||||
////////////////////////////////////////////////////////////////////
|
||||
bool wdxGraphicsWindow9::
|
||||
is_badvidmem_card(D3DADAPTER_IDENTIFIER9 *pDevID) {
|
||||
// dont trust Intel cards since they often use regular memory as vidmem
|
||||
// don't trust Intel cards since they often use regular memory as vidmem
|
||||
if (pDevID->VendorId == 0x00008086) {
|
||||
return true;
|
||||
}
|
||||
|
@ -79,7 +79,7 @@ get_manager() const {
|
||||
// added will not affect the task's wake time; it will
|
||||
// only affect the task if it is re-added to the queue
|
||||
// in the future, for instance if the task returns
|
||||
// DS_again. Howver, see recalc_wake_time() if you wish
|
||||
// DS_again. However, see recalc_wake_time() if you wish
|
||||
// to apply the delay effect immediately.
|
||||
////////////////////////////////////////////////////////////////////
|
||||
INLINE void AsyncTask::
|
||||
|
@ -60,7 +60,7 @@ operator = (const DatagramIterator ©) {
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: DatagramIterator::assign
|
||||
// Access: Public
|
||||
// Description: direct Assigment to a Datagram
|
||||
// Description: direct Assignment to a Datagram
|
||||
////////////////////////////////////////////////////////////////////
|
||||
INLINE void DatagramIterator::assign(Datagram &datagram, size_t offset)
|
||||
{
|
||||
|
@ -44,7 +44,7 @@ Entry(const Entry ©) :
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: MemoryUsagePointers::Entry::Copy Assigment Operator
|
||||
// Function: MemoryUsagePointers::Entry::Copy Assignment Operator
|
||||
// Access: Public
|
||||
// Description:
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
@ -137,7 +137,7 @@ void MeshDrawer::end() {
|
||||
_vertex->add_data3f(0,0,0);
|
||||
_vertex->add_data3f(0,0,0);
|
||||
}
|
||||
// dont clear more then you have too
|
||||
// don't clear more then you have too
|
||||
_last_clear_index = _clear_index;
|
||||
|
||||
// delete the re writers
|
||||
|
@ -88,7 +88,7 @@ void MeshDrawer2D::generator(int budget) {
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: MeshDrawer2D::begin
|
||||
// Access: Published
|
||||
// Description: Opens up the geom for drawing, dont forget to call
|
||||
// Description: Opens up the geom for drawing, don't forget to call
|
||||
// MeshDrawer2D::end()
|
||||
////////////////////////////////////////////////////////////////////
|
||||
void MeshDrawer2D::begin() {
|
||||
@ -125,7 +125,7 @@ void MeshDrawer2D::end() {
|
||||
_vertex->add_data3f(0,0,0);
|
||||
_vertex->add_data3f(0,0,0);
|
||||
}
|
||||
// dont clear more then you have too
|
||||
// don't clear more then you have too
|
||||
_last_clear_index = _clear_index;
|
||||
|
||||
// delete the re writers
|
||||
|
@ -43,7 +43,7 @@
|
||||
// Class : MeshDrawer2D
|
||||
// Description : This class allows the drawing of 2d objects -
|
||||
// mainly based on quads and rectangles.
|
||||
// Alows clipping and serverl high level UI theme
|
||||
// Allows clipping and serverl high level UI theme
|
||||
// functions.
|
||||
////////////////////////////////////////////////////////////////////
|
||||
class EXPCL_PANDA_GRUTIL MeshDrawer2D : public TypedObject {
|
||||
|
@ -889,7 +889,7 @@ transpose_in_place() {
|
||||
|
||||
// Matrix inversion code from Numerical Recipes in C.
|
||||
|
||||
// dont trust compilers to inline these
|
||||
// don't trust compilers to inline these
|
||||
#define DET2(E00,E01,E10,E11) ((E00)*(E11) - (E10)*(E01))
|
||||
#define MATRIX3_DETERMINANT(mat) \
|
||||
( (mat)._00 * DET2((mat)._11,(mat)._12,(mat)._21,(mat)._22) \
|
||||
|
@ -587,7 +587,7 @@ get_standardized_rotation(FLOATTYPE angle_in_degrees) {
|
||||
// Access: Published
|
||||
// Description: Try to un-spin the hpr to a standard form. Like
|
||||
// all standards, someone decides between many
|
||||
// arbitrary posible standards. This function assumes
|
||||
// arbitrary possible standards. This function assumes
|
||||
// that 0 and 360 are the same, as is 720 and
|
||||
// -360. Also 180 and -180 are the same. Another
|
||||
// example is -90 and 270.
|
||||
@ -828,7 +828,7 @@ fmin(const FLOATNAME(LVecBase3) &other) {
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: LVecBase3::cross product (with assigment)
|
||||
// Function: LVecBase3::cross product (with assignment)
|
||||
// Access: Published
|
||||
// Description:
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
@ -1048,7 +1048,7 @@ os_open_window(WindowProperties &req_properties) {
|
||||
|
||||
if (_current_icon != NULL && _pending_icon == NULL) {
|
||||
// If we already have an icon specified, we'll need to reapply it
|
||||
// when the window is succesfully created.
|
||||
// when the window is successfully created.
|
||||
_pending_icon = _current_icon;
|
||||
_current_icon = NULL;
|
||||
}
|
||||
|
@ -70,7 +70,7 @@ CycleDataStageWriter(const CycleDataStageWriter<CycleDataType> ©) :
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: CycleDataStageWriter::Copy Assigment (full)
|
||||
// Function: CycleDataStageWriter::Copy Assignment (full)
|
||||
// Access: Public
|
||||
// Description:
|
||||
////////////////////////////////////////////////////////////////////
|
||||
@ -229,7 +229,7 @@ CycleDataStageWriter(const CycleDataStageWriter<CycleDataType> ©) :
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: CycleDataStageWriter::Copy Assigment (trivial)
|
||||
// Function: CycleDataStageWriter::Copy Assignment (trivial)
|
||||
// Access: Public
|
||||
// Description:
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
@ -72,7 +72,7 @@ CycleDataWriter(const CycleDataWriter<CycleDataType> ©) :
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: CycleDataWriter::Copy Assigment (full)
|
||||
// Function: CycleDataWriter::Copy Assignment (full)
|
||||
// Access: Public
|
||||
// Description:
|
||||
////////////////////////////////////////////////////////////////////
|
||||
@ -229,7 +229,7 @@ CycleDataWriter(const CycleDataWriter<CycleDataType> ©) :
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: CycleDataWriter::Copy Assigment (trivial)
|
||||
// Function: CycleDataWriter::Copy Assignment (trivial)
|
||||
// Access: Public
|
||||
// Description:
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
@ -55,7 +55,7 @@ PNMImage(const PNMImage ©) {
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Function: PNMImage::Copy Assigment Operator
|
||||
// Function: PNMImage::Copy Assignment Operator
|
||||
// Access: Published
|
||||
// Description:
|
||||
////////////////////////////////////////////////////////////////////
|
||||
@ -238,7 +238,7 @@ is_valid() const {
|
||||
// image. The new number of channels must be an integer
|
||||
// in the range 1 through 4, inclusive. This will
|
||||
// allocate and/or deallocate memory as necessary to
|
||||
// accomodate; see set_color_type().
|
||||
// accommodate; see set_color_type().
|
||||
////////////////////////////////////////////////////////////////////
|
||||
INLINE void PNMImage::
|
||||
set_num_channels(int num_channels) {
|
||||
|
@ -301,7 +301,7 @@ read(istream &data, const string &filename, PNMFileType *type,
|
||||
// reading the entire image.
|
||||
//
|
||||
// The PNMReader is always deleted upon completion,
|
||||
// whether succesful or not.
|
||||
// whether successful or not.
|
||||
////////////////////////////////////////////////////////////////////
|
||||
bool PNMImage::
|
||||
read(PNMReader *reader) {
|
||||
@ -406,7 +406,7 @@ write(ostream &data, const string &filename, PNMFileType *type) const {
|
||||
// writer via the PNMImageHeader::make_writer() methods.
|
||||
//
|
||||
// The PNMWriter is always deleted upon completion,
|
||||
// whether succesful or not.
|
||||
// whether successful or not.
|
||||
////////////////////////////////////////////////////////////////////
|
||||
bool PNMImage::
|
||||
write(PNMWriter *writer) const {
|
||||
|
@ -85,7 +85,7 @@ move_gridded_stuff(GriddedMotionType gridmotiontype,
|
||||
{if(VAL > MAXVAL) {int idivresult = (int)(VAL / (float)MAXVAL); VAL=VAL-idivresult*MAXVAL;} else \
|
||||
if(VAL < -MAXVAL) {int idivresult = (int)(VAL / (float)MAXVAL); VAL=VAL+idivresult*MAXVAL;}}
|
||||
|
||||
// probably should use panda lerps for this stuff, but I dont understand how
|
||||
// probably should use panda lerps for this stuff, but I don't understand how
|
||||
|
||||
if(gridmotiontype==Rotation) {
|
||||
|
||||
|
@ -88,7 +88,7 @@ texture objects.
|
||||
features from TinyGL.
|
||||
|
||||
- C sources for GCC on 32/64 bit architectures. It has been tested
|
||||
succesfully on x86-Linux and MS Windows.
|
||||
successfully on x86-Linux and MS Windows.
|
||||
|
||||
Examples:
|
||||
---------
|
||||
|
@ -820,7 +820,7 @@ bool TinyOsxGraphicsWindow::OSOpenWindow(WindowProperties &req_properties) {
|
||||
|
||||
if (_current_icon != NULL && _pending_icon == NULL) {
|
||||
// If we already have an icon specified, we'll need to reapply it
|
||||
// when the window is succesfully created.
|
||||
// when the window is successfully created.
|
||||
_pending_icon = _current_icon;
|
||||
_current_icon = NULL;
|
||||
}
|
||||
|
@ -41,7 +41,7 @@ is_valid() const {
|
||||
// Function: VrpnClient::is_connected
|
||||
// Access: Public
|
||||
// Description: Returns true if the connection is established
|
||||
// succesfully, false otherwise.
|
||||
// successfully, false otherwise.
|
||||
////////////////////////////////////////////////////////////////////
|
||||
INLINE bool VrpnClient::
|
||||
is_connected() const {
|
||||
|
@ -1759,7 +1759,7 @@ window_proc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) {
|
||||
if (wparam == SC_KEYMENU) {
|
||||
// if Alt is released (alone w/o other keys), defwindproc will
|
||||
// send this command, which will 'activate' the title bar menu
|
||||
// (we have none) and give focus to it. we dont want this to
|
||||
// (we have none) and give focus to it. we don't want this to
|
||||
// happen, so kill this msg.
|
||||
|
||||
// Note that the WM_SYSKEYUP message for Alt has already
|
||||
@ -2314,7 +2314,7 @@ hide_or_show_cursor(bool hide_cursor) {
|
||||
}
|
||||
}
|
||||
|
||||
// dont pick any video modes < MIN_REFRESH_RATE Hz
|
||||
// don't pick any video modes < MIN_REFRESH_RATE Hz
|
||||
#define MIN_REFRESH_RATE 60
|
||||
// EnumDisplaySettings may indicate 0 or 1 for refresh rate, which means use driver default rate (assume its >min_refresh_rate)
|
||||
#define ACCEPTABLE_REFRESH_RATE(RATE) ((RATE >= MIN_REFRESH_RATE) || (RATE==0) || (RATE==1))
|
||||
|
@ -84,7 +84,7 @@ endif
|
||||
|
||||
|
||||
if (! $?TCSH_NO_PANDA_ATTACH ) then
|
||||
# builder scripts dont attach (attach scripts too buggy on cygwin 1.0)
|
||||
# builder scripts don't attach (attach scripts too buggy on cygwin 1.0)
|
||||
# they set paths manually
|
||||
# setenv TOOL /install/tool
|
||||
setenv MYTOOL ~/player/dtool
|
||||
|
@ -377,7 +377,7 @@ sub archivetree() {
|
||||
&myexecstr("( for /R ".$archdirname."\\".$dir1."\\src\\testbed %i in (*.pdb *.map) do copy %i ".$archdirname."\\".$dir1."\\bin )","nomsg","DO_LOG","NT cmd");
|
||||
}
|
||||
|
||||
# NT cmd 'for' always returns 144 for some reason, impossible to detect error cond, so just dont check retval
|
||||
# NT cmd 'for' always returns 144 for some reason, impossible to detect error cond, so just don't check retval
|
||||
# delete old objs/pdbs/etc out of archived trees (just blow away the Opt[Win32] dir)
|
||||
# &myexecstr("( for /D /R ".$archdirname."\\".$dir1."\\src %i in (Opt*Win32) do rd /s /q %i )","nomsg","DO_LOG","NT cmd");
|
||||
|
||||
@ -517,7 +517,7 @@ sub buildall() {
|
||||
}
|
||||
|
||||
if($DONT_ARCHIVE_OLD_BUILDS) {
|
||||
&myexecstr("rd /s /q ".$inst_dirs[$treenum],"DO_LOG","NT cmd"); # dont bother checking errors here, probably just some shell has the dir cd'd to
|
||||
&myexecstr("rd /s /q ".$inst_dirs[$treenum],"DO_LOG","NT cmd"); # don't bother checking errors here, probably just some shell has the dir cd'd to
|
||||
} else {
|
||||
&archivetree($treenum);
|
||||
}
|
||||
@ -540,7 +540,7 @@ sub buildall() {
|
||||
# hopefully there are no extra dirs underneath
|
||||
|
||||
# add wintools to dir copy list
|
||||
# dont want to add wintools to global dirstodo, treat it separately
|
||||
# don't want to add wintools to global dirstodo, treat it separately
|
||||
unshift(dirstodolist,"wintools");
|
||||
|
||||
foreach my $dir1 (@dirstodolist) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user