Merge branch 'release/1.10.x'

This commit is contained in:
rdb 2019-02-12 01:13:56 +01:00
commit 80bb5c09fe
18 changed files with 2169 additions and 2563 deletions

View File

@ -157,7 +157,7 @@ install the requisite packages using the system package manager. To install
the recommended set of dependencies, you can use this command:
```bash
pkg install pkgconf png jpeg-turbo tiff freetype2 eigen squish openal opusfile libvorbis libX11 libGL ode bullet assimp openexr
pkg install pkgconf bison png jpeg-turbo tiff freetype2 harfbuzz eigen squish openal opusfile libvorbis libX11 mesa-libs ode bullet assimp openexr
```
You will also need to choose which version of Python you want to use.

View File

@ -2507,7 +2507,7 @@ class Actor(DirectObject, NodePath):
else:
animNames = [animName]
for animName in animNames:
if animName is 'nothing':
if animName == 'nothing':
continue
thisAnim = ''
totalEffect = 0.

View File

@ -56,9 +56,9 @@ import os, sys, parser, symbol, token, re
#
########################################################################
SECHEADER = re.compile("^[A-Z][a-z]+\s*:")
JUNKHEADER = re.compile("^((Function)|(Access))\s*:")
IMPORTSTAR = re.compile("^from\s+([a-zA-Z0-9_.]+)\s+import\s+[*]\s*$")
SECHEADER = re.compile("^[A-Z][a-z]+\\s*:")
JUNKHEADER = re.compile("^((Function)|(Access))\\s*:")
IMPORTSTAR = re.compile("^from\\s+([a-zA-Z0-9_.]+)\\s+import\\s+[*]\\s*$")
IDENTIFIER = re.compile("[a-zA-Z0-9_]+")
FILEHEADER = re.compile(
r"""^// Filename: [a-zA-Z.]+

View File

@ -210,15 +210,15 @@ class CompilationEnvironment:
if ('MAKEPANDA' in os.environ):
self.compileObjExe = 'cl /wd4996 /Fo%(basename)s.obj /nologo /c %(MD)s /Zi /O2 /Ob2 /EHsc /Zm300 /W3 /I"%(pythonIPath)s" %(filename)s'
self.compileObjDll = self.compileObjExe
self.linkExe = 'link /nologo /MAP:NUL /FIXED:NO /OPT:REF /STACK:4194304 /INCREMENTAL:NO /LIBPATH:"%(python)s\libs" /out:%(basename)s.exe %(basename)s.obj'
self.linkDll = 'link /nologo /DLL /MAP:NUL /FIXED:NO /OPT:REF /INCREMENTAL:NO /LIBPATH:"%(python)s\libs" /out:%(basename)s%(dllext)s.pyd %(basename)s.obj'
self.linkExe = 'link /nologo /MAP:NUL /FIXED:NO /OPT:REF /STACK:4194304 /INCREMENTAL:NO /LIBPATH:"%(python)s\\libs" /out:%(basename)s.exe %(basename)s.obj'
self.linkDll = 'link /nologo /DLL /MAP:NUL /FIXED:NO /OPT:REF /INCREMENTAL:NO /LIBPATH:"%(python)s\\libs" /out:%(basename)s%(dllext)s.pyd %(basename)s.obj'
else:
os.environ['PATH'] += ';' + self.MSVC + '\\bin' + self.suffix64 + ';' + self.MSVC + '\\Common7\\IDE;' + self.PSDK + '\\bin'
self.compileObjExe = 'cl /wd4996 /Fo%(basename)s.obj /nologo /c %(MD)s /Zi /O2 /Ob2 /EHsc /Zm300 /W3 /I"%(pythonIPath)s" /I"%(PSDK)s\include" /I"%(MSVC)s\include" %(filename)s'
self.compileObjExe = 'cl /wd4996 /Fo%(basename)s.obj /nologo /c %(MD)s /Zi /O2 /Ob2 /EHsc /Zm300 /W3 /I"%(pythonIPath)s" /I"%(PSDK)s\\include" /I"%(MSVC)s\\include" %(filename)s'
self.compileObjDll = self.compileObjExe
self.linkExe = 'link /nologo /MAP:NUL /FIXED:NO /OPT:REF /STACK:4194304 /INCREMENTAL:NO /LIBPATH:"%(PSDK)s\lib" /LIBPATH:"%(MSVC)s\\lib%(suffix64)s" /LIBPATH:"%(python)s\libs" /out:%(basename)s.exe %(basename)s.obj'
self.linkDll = 'link /nologo /DLL /MAP:NUL /FIXED:NO /OPT:REF /INCREMENTAL:NO /LIBPATH:"%(PSDK)s\lib" /LIBPATH:"%(MSVC)s\\lib%(suffix64)s" /LIBPATH:"%(python)s\libs" /out:%(basename)s%(dllext)s.pyd %(basename)s.obj'
self.linkExe = 'link /nologo /MAP:NUL /FIXED:NO /OPT:REF /STACK:4194304 /INCREMENTAL:NO /LIBPATH:"%(PSDK)s\\lib" /LIBPATH:"%(MSVC)s\\lib%(suffix64)s" /LIBPATH:"%(python)s\\libs" /out:%(basename)s.exe %(basename)s.obj'
self.linkDll = 'link /nologo /DLL /MAP:NUL /FIXED:NO /OPT:REF /INCREMENTAL:NO /LIBPATH:"%(PSDK)s\\lib" /LIBPATH:"%(MSVC)s\\lib%(suffix64)s" /LIBPATH:"%(python)s\\libs" /out:%(basename)s%(dllext)s.pyd %(basename)s.obj'
elif self.platform.startswith('osx_'):
# OSX

View File

@ -163,44 +163,41 @@ class ParticleEffect(NodePath):
def saveConfig(self, filename):
filename = Filename(filename)
f = open(filename.toOsSpecific(), 'wb')
# Add a blank line
f.write('\n')
with open(filename.toOsSpecific(), 'w') as f:
# Add a blank line
f.write('\n')
# Make sure we start with a clean slate
f.write('self.reset()\n')
# Make sure we start with a clean slate
f.write('self.reset()\n')
pos = self.getPos()
hpr = self.getHpr()
scale = self.getScale()
f.write('self.setPos(%0.3f, %0.3f, %0.3f)\n' %
(pos[0], pos[1], pos[2]))
f.write('self.setHpr(%0.3f, %0.3f, %0.3f)\n' %
(hpr[0], hpr[1], hpr[2]))
f.write('self.setScale(%0.3f, %0.3f, %0.3f)\n' %
(scale[0], scale[1], scale[2]))
pos = self.getPos()
hpr = self.getHpr()
scale = self.getScale()
f.write('self.setPos(%0.3f, %0.3f, %0.3f)\n' %
(pos[0], pos[1], pos[2]))
f.write('self.setHpr(%0.3f, %0.3f, %0.3f)\n' %
(hpr[0], hpr[1], hpr[2]))
f.write('self.setScale(%0.3f, %0.3f, %0.3f)\n' %
(scale[0], scale[1], scale[2]))
# Save all the particles to file
num = 0
for p in list(self.particlesDict.values()):
target = 'p%d' % num
num = num + 1
f.write(target + ' = Particles.Particles(\'%s\')\n' % p.getName())
p.printParams(f, target)
f.write('self.addParticles(%s)\n' % target)
# Save all the particles to file
num = 0
for p in list(self.particlesDict.values()):
target = 'p%d' % num
num = num + 1
f.write(target + ' = Particles.Particles(\'%s\')\n' % p.getName())
p.printParams(f, target)
f.write('self.addParticles(%s)\n' % target)
# Save all the forces to file
num = 0
for fg in list(self.forceGroupDict.values()):
target = 'f%d' % num
num = num + 1
f.write(target + ' = ForceGroup.ForceGroup(\'%s\')\n' % \
fg.getName())
fg.printParams(f, target)
f.write('self.addForceGroup(%s)\n' % target)
# Close the file
f.close()
# Save all the forces to file
num = 0
for fg in list(self.forceGroupDict.values()):
target = 'f%d' % num
num = num + 1
f.write(target + ' = ForceGroup.ForceGroup(\'%s\')\n' % \
fg.getName())
fg.printParams(f, target)
f.write('self.addForceGroup(%s)\n' % target)
def loadConfig(self, filename):
data = vfs.readFile(filename, 1)

View File

@ -21,7 +21,7 @@ def deCygwinify(path):
dirs = path.split('/')
if len(dirs) > 2 and len(dirs[1]) == 1:
path = '%s:\%s' % (dirs[1], '\\'.join(dirs[2:]))
path = '%s:\\%s' % (dirs[1], '\\'.join(dirs[2:]))
else:
# Otherwise, prepend $PANDA_ROOT and flip the slashes.

View File

@ -2513,7 +2513,7 @@ class AlphabetCounter:
index = -1
while True:
curChar = self._curCounter[index]
if curChar is 'Z':
if curChar == 'Z':
nextChar = 'A'
carry = True
else:

View File

@ -1,7 +1,33 @@
------------------------ RELEASE 1.10.1 -----------------------
This is a bugfix release intended to fix several issues in 1.10.0.
* Fix crashes when gamepad is plugged in on 32-bit Windows
* Fix deploy-ng error regarding 'exist_ok' on Python 2
* Fix compatibility issues with upcoming Python 3.8
* Fix regression with Audio3DManager.setSoundVelocityAuto()
* Fix issues when awaiting loader.loadModel in Python 3.7
* Audio3DManager accepts tuple in setSoundVelocity/setListenerVelocity
* Fix lighting being disabled when only an AmbientLight is active
* Fix an error saving from Particle Panel in Python 3
* Depth buffer now defaults to 24-bit on macOS (fixes flickering)
* Fix no devices being detected on Windows with threading-model
* Implement collision tests from Capsule and Box into InvSphere
* Fix SpriteAnim error in particle system
* Fix ShaderGenerator error when using too many shadowing lights
* Fix interrogate crash in Python 3 with optional wstring args
* Fix compilation errors for x86 Android platform
* Fix permissions of directories created by installpanda
* Improvements to API reference documentation
* Fix incorrect features printed out when printing an InputDevice
* Support cross-compiling for Android platforms in makepanda
* Work around various bugs when compiling with OS X 10.7's libc++
* Fix wrong error sometimes being reported when loading plug-in
* Allow getting NodePath from CullTraverserData object
* Add config options to Assimp loader for generating normals
* Fix multisampling in floating-point framebuffers on OpenGL
* Parse egg files with 4-component tangents (must be 1 or -1)
* StencilAttrib.make() write_mask argument is now optional
------------------------ RELEASE 1.10.0 -----------------------

View File

@ -1091,7 +1091,11 @@ static PyObject *Dtool_GeneratorWrapper_iternext(PyObject *self) {
*/
static void
Dtool_StaticProperty_dealloc(PyDescrObject *descr) {
#if PY_VERSION_HEX >= 0x03080000
PyObject_GC_UnTrack(descr);
#else
_PyObject_GC_UNTRACK(descr);
#endif
Py_XDECREF(descr->d_type);
Py_XDECREF(descr->d_name);
//#if PY_MAJOR_VERSION >= 3

View File

@ -62,7 +62,7 @@ def WriteMimeXMLFile(fname, info):
fhandle.write("\t<mime-type type=\"%s\">\n" % (mime))
fhandle.write("\t\t<comment xml:lang=\"en\">%s</comment>\n" % (desc))
fhandle.write("\t\t<glob pattern=\"*.%s\"/>\n" % (ext))
fhandle.write("\t</mime-type>\s")
fhandle.write("\t</mime-type>\n")
fhandle.write("</mime-info>\n")
fhandle.close()

View File

@ -213,11 +213,11 @@ def makeCHM(outputfile, dirname, title, special = None):
# Now, execute the command to compile the files.
if "PROGRAMFILES" in os.environ and os.path.isdir("%s\\HTML Help Workshop" % os.environ["PROGRAMFILES"]):
cmd = "\"%s\\HTML Help Workshop\\hhc.exe\" %s.hhp" % (os.environ["PROGRAMFILES"], base)
elif os.path.isdir("C:\Program Files\HTML Help Workshop"):
elif os.path.isdir("C:\\Program Files\\HTML Help Workshop"):
cmd = "\"C:\\Program Files\\HTML Help Workshop\\hhc.exe\" %s.hhp" % base
else:
cmd = "hhc \"%s.hhp\"" % base
print cmd
print(cmd)
os.system(cmd)
if not KEEPTEMP:
if os.path.isfile("%s.hhp" % base): os.remove("%s.hhp" % base)
@ -225,7 +225,7 @@ def makeCHM(outputfile, dirname, title, special = None):
if os.path.isfile("%s.hhk" % base): os.remove("%s.hhk" % base)
if os.path.isfile("%s.chw" % base): os.remove("%s.chw" % base)
if not os.path.isfile(base + ".chm"):
print "An error has occurred!"
print("An error has occurred!")
if __name__ == "__main__":
exit(1)
else:
@ -246,7 +246,7 @@ if __name__ == "__main__":
VERSION = None
try:
f = file("built/include/pandaVersion.h","r")
pattern = re.compile('^\s*[#]\s*define\s+PANDA_VERSION_STR\s+["]([0-9.]+)["]')
pattern = re.compile('^\\s*[#]\\s*define\\s+PANDA_VERSION_STR\\s+["]([0-9.]+)["]')
for line in f:
match = pattern.match(line,0)
if (match):
@ -260,22 +260,22 @@ if __name__ == "__main__":
# Now, make CHM's for both the manual and reference, if we have them.
for lang in ["python", "cxx"]:
if not os.path.isdir("manual-" + lang):
print "No directory named 'manual-%s' found" % lang
print("No directory named 'manual-%s' found" % lang)
else:
print "Making CHM file for manual-%s..." % lang
print("Making CHM file for manual-%s..." % lang)
if VERSION == None:
makeManualCHM("manual-%s.chm" % lang, "manual-" + lang, "Panda3D Manual")
else:
makeManualCHM("manual-%s-%s.chm" % (VERSION, lang), "manual-" + lang, "Panda3D %s Manual" % VERSION)
if not os.path.isdir("reference-" + lang):
print "No directory named 'reference-%s' found" % lang
print("No directory named 'reference-%s' found" % lang)
else:
print "Making CHM file for reference-%s..." % lang
print("Making CHM file for reference-%s..." % lang)
if VERSION == None:
makeReferenceCHM("reference-%s.chm" % lang, "reference-" + lang, "Panda3D Reference")
else:
makeReferenceCHM("reference-%s-%s.chm" % (VERSION, lang), "reference-" + lang, "Panda3D %s Reference" % VERSION)
print "Done!"
print("Done!")

View File

@ -1529,7 +1529,7 @@ def CompileIgate(woutd,wsrc,opts):
# NOTE: this 1600 value is the version number for VC2010.
cmd += ' -D_MSC_VER=1600 -D"__declspec(param)=" -D__cdecl -D_near -D_far -D__near -D__far -D__stdcall'
if (COMPILER=="GCC"):
cmd += ' -D__attribute__\(x\)='
cmd += ' -D__attribute__\\(x\\)='
target_arch = GetTargetArch()
if target_arch in ("x86_64", "amd64"):
cmd += ' -D_LP64'
@ -1634,9 +1634,9 @@ def CompileLib(lib, obj, opts):
cmd += " /MACHINE:" + GetTargetArch().upper()
cmd += ' /OUT:' + BracketNameWithQuotes(lib)
for x in obj: cmd += ' ' + BracketNameWithQuotes(x)
cmd += ' /LIBPATH:"C:\Program Files (x86)\Intel\Composer XE 2011 SP1\ipp\lib\ia32"'
cmd += ' /LIBPATH:"C:\Program Files (x86)\Intel\Composer XE 2011 SP1\TBB\Lib\ia32\vc10"'
cmd += ' /LIBPATH:"C:\Program Files (x86)\Intel\Composer XE 2011 SP1\compiler\lib\ia32"'
cmd += ' /LIBPATH:"C:\\Program Files (x86)\\Intel\\Composer XE 2011 SP1\\ipp\\lib\\ia32"'
cmd += ' /LIBPATH:"C:\\Program Files (x86)\\Intel\\Composer XE 2011 SP1\\TBB\\Lib\\ia32\\vc10"'
cmd += ' /LIBPATH:"C:\\Program Files (x86)\\Intel\\Composer XE 2011 SP1\\compiler\\lib\\ia32"'
oscmd(cmd)
if (COMPILER=="GCC"):
@ -1742,9 +1742,9 @@ def CompileLink(dll, obj, opts):
cmd += " /NOD:MFC90.LIB /NOD:MFC80.LIB /NOD:LIBCMT"
cmd += " /NOD:LIBCI.LIB /DEBUG"
cmd += " /nod:libc /nod:libcmtd /nod:atlthunk /nod:atls"
cmd += ' /LIBPATH:"C:\Program Files (x86)\Intel\Composer XE 2011 SP1\ipp\lib\ia32"'
cmd += ' /LIBPATH:"C:\Program Files (x86)\Intel\Composer XE 2011 SP1\TBB\Lib\ia32\vc10"'
cmd += ' /LIBPATH:"C:\Program Files (x86)\Intel\Composer XE 2011 SP1\compiler\lib\ia32"'
cmd += ' /LIBPATH:"C:\\Program Files (x86)\\Intel\\Composer XE 2011 SP1\\ipp\\lib\\ia32"'
cmd += ' /LIBPATH:"C:\\Program Files (x86)\\Intel\\Composer XE 2011 SP1\\TBB\\Lib\\ia32\\vc10"'
cmd += ' /LIBPATH:"C:\\Program Files (x86)\\Intel\\Composer XE 2011 SP1\\compiler\\lib\\ia32"'
if (GetOrigExt(dll) != ".exe"): cmd += " /DLL"
optlevel = GetOptimizeOption(opts)
if (optlevel==1): cmd += " /MAP /MAPINFO:EXPORTS /NOD:MSVCRT.LIB /NOD:MSVCPRT.LIB /NOD:MSVCIRT.LIB"
@ -6542,7 +6542,7 @@ if PkgSkip("PYTHON") == 0:
if GetTarget() == 'linux' or GetTarget() == 'freebsd':
# Setup rpath so libs can be found in the same directory as the deployed game
LibName('DEPLOYSTUB', "-Wl,-rpath,\$ORIGIN")
LibName('DEPLOYSTUB', "-Wl,-rpath,\\$ORIGIN")
LibName('DEPLOYSTUB', "-Wl,-z,origin")
LibName('DEPLOYSTUB', "-rdynamic")
PyTargetAdd('deploy-stub.exe', input='deploy-stub.obj')

View File

@ -248,8 +248,17 @@ choose_pixel_format(const FrameBufferProperties &properties,
attribs.push_back(aux_buffers);
attribs.push_back(NSOpenGLPFAColorSize);
attribs.push_back(properties.get_color_bits());
// Set the depth buffer bits to 24 manually when 1 is requested.
// This prevents getting a depth buffer of only 16 bits when requesting 1.
attribs.push_back(NSOpenGLPFADepthSize);
attribs.push_back(properties.get_depth_bits());
if (properties.get_depth_bits() == 1) {
attribs.push_back(24);
}
else {
attribs.push_back(properties.get_depth_bits());
}
attribs.push_back(NSOpenGLPFAStencilSize);
attribs.push_back(properties.get_stencil_bits());

View File

@ -84,6 +84,8 @@ static const struct DeviceMapping {
{0x0f30, 0x0111, InputDevice::DeviceClass::gamepad, 0},
// SPEED Link SL-6535-SBK-01
{0x0079, 0x0006, InputDevice::DeviceClass::gamepad, 0},
// 8bitdo N30 Pro Controller
{0x2dc8, 0x9001, InputDevice::DeviceClass::gamepad, QB_rstick_from_z},
// 3Dconnexion Space Traveller 3D Mouse
{0x046d, 0xc623, InputDevice::DeviceClass::spatial_mouse, 0},
// 3Dconnexion Space Pilot 3D Mouse
@ -521,10 +523,7 @@ init_device() {
}
break;
case ABS_THROTTLE:
if (_device_class == DeviceClass::gamepad) {
// Apparently needed for 8bitdo N30 Pro controller
axis = InputDevice::Axis::right_x;
} else if (quirks & QB_rudder_from_throttle) {
if (quirks & QB_rudder_from_throttle) {
axis = InputDevice::Axis::rudder;
} else {
axis = InputDevice::Axis::throttle;

View File

@ -2823,6 +2823,12 @@ do_issue_light() {
}
} else {
// Don't forget to still enable lighting if we have only an ambient light.
if (!_lighting_enabled) {
enable_lighting(true);
_lighting_enabled = true;
}
set_ambient_light(target_light->get_ambient_contribution());
}

File diff suppressed because it is too large Load Diff

View File

@ -1,20 +1,19 @@
/* A Bison parser, made by GNU Bison 2.4.2. */
/* A Bison parser, made by GNU Bison 3.2.2. */
/* Bison interface for Yacc-like parsers in C
Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc.
/* Skeleton interface for Bison's Yacc-like parsers in C
Copyright (C) 1984, 1989-1990, 2000-2006, 2009-2010 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
@ -27,107 +26,118 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
/* Undocumented macros, especially those whose name start with YY_,
are private implementation details. Do not rely on them. */
/* Tokens. */
#ifndef YY_EGGYY_BUILT_TMP_PARSER_YXX_H_INCLUDED
# define YY_EGGYY_BUILT_TMP_PARSER_YXX_H_INCLUDED
/* Debug traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
#endif
#if YYDEBUG
extern int eggyydebug;
#endif
/* Token type. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
/* Put the tokens into the symbol table, so that GDB and other debuggers
know about them. */
enum yytokentype {
EGG_NUMBER = 258,
EGG_ULONG = 259,
EGG_STRING = 260,
ANIMPRELOAD = 261,
BEZIERCURVE = 262,
BFACE = 263,
BILLBOARD = 264,
BILLBOARDCENTER = 265,
BINORMAL = 266,
BUNDLE = 267,
CLOSED = 268,
COLLIDE = 269,
COMMENT = 270,
COMPONENT = 271,
COORDSYSTEM = 272,
CV = 273,
DART = 274,
DNORMAL = 275,
DRGBA = 276,
DUV = 277,
DXYZ = 278,
DCS = 279,
DISTANCE = 280,
DTREF = 281,
DYNAMICVERTEXPOOL = 282,
EXTERNAL_FILE = 283,
GROUP = 284,
DEFAULTPOSE = 285,
JOINT = 286,
KNOTS = 287,
INCLUDE = 288,
INSTANCE = 289,
LINE = 290,
LOOP = 291,
MATERIAL = 292,
MATRIX3 = 293,
MATRIX4 = 294,
MODEL = 295,
MREF = 296,
NORMAL = 297,
NURBSCURVE = 298,
NURBSSURFACE = 299,
OBJECTTYPE = 300,
ORDER = 301,
OUTTANGENT = 302,
PATCH = 303,
POINTLIGHT = 304,
POLYGON = 305,
REF = 306,
RGBA = 307,
ROTATE = 308,
ROTX = 309,
ROTY = 310,
ROTZ = 311,
SANIM = 312,
SCALAR = 313,
SCALE = 314,
SEQUENCE = 315,
SHADING = 316,
SWITCH = 317,
SWITCHCONDITION = 318,
TABLE = 319,
TABLE_V = 320,
TAG = 321,
TANGENT = 322,
TEXLIST = 323,
TEXTURE = 324,
TLENGTHS = 325,
TRANSFORM = 326,
TRANSLATE = 327,
TREF = 328,
TRIANGLEFAN = 329,
TRIANGLESTRIP = 330,
TRIM = 331,
TXT = 332,
UKNOTS = 333,
UV = 334,
AUX = 335,
VKNOTS = 336,
VERTEX = 337,
VERTEXANIM = 338,
VERTEXPOOL = 339,
VERTEXREF = 340,
XFMANIM = 341,
XFMSANIM = 342,
START_EGG = 343,
START_GROUP_BODY = 344,
START_TEXTURE_BODY = 345,
START_PRIMITIVE_BODY = 346
};
enum yytokentype
{
EGG_NUMBER = 258,
EGG_ULONG = 259,
EGG_STRING = 260,
ANIMPRELOAD = 261,
BEZIERCURVE = 262,
BFACE = 263,
BILLBOARD = 264,
BILLBOARDCENTER = 265,
BINORMAL = 266,
BUNDLE = 267,
CLOSED = 268,
COLLIDE = 269,
COMMENT = 270,
COMPONENT = 271,
COORDSYSTEM = 272,
CV = 273,
DART = 274,
DNORMAL = 275,
DRGBA = 276,
DUV = 277,
DXYZ = 278,
DCS = 279,
DISTANCE = 280,
DTREF = 281,
DYNAMICVERTEXPOOL = 282,
EXTERNAL_FILE = 283,
GROUP = 284,
DEFAULTPOSE = 285,
JOINT = 286,
KNOTS = 287,
INCLUDE = 288,
INSTANCE = 289,
LINE = 290,
LOOP = 291,
MATERIAL = 292,
MATRIX3 = 293,
MATRIX4 = 294,
MODEL = 295,
MREF = 296,
NORMAL = 297,
NURBSCURVE = 298,
NURBSSURFACE = 299,
OBJECTTYPE = 300,
ORDER = 301,
OUTTANGENT = 302,
PATCH = 303,
POINTLIGHT = 304,
POLYGON = 305,
REF = 306,
RGBA = 307,
ROTATE = 308,
ROTX = 309,
ROTY = 310,
ROTZ = 311,
SANIM = 312,
SCALAR = 313,
SCALE = 314,
SEQUENCE = 315,
SHADING = 316,
SWITCH = 317,
SWITCHCONDITION = 318,
TABLE = 319,
TABLE_V = 320,
TAG = 321,
TANGENT = 322,
TEXLIST = 323,
TEXTURE = 324,
TLENGTHS = 325,
TRANSFORM = 326,
TRANSLATE = 327,
TREF = 328,
TRIANGLEFAN = 329,
TRIANGLESTRIP = 330,
TRIM = 331,
TXT = 332,
UKNOTS = 333,
UV = 334,
AUX = 335,
VKNOTS = 336,
VERTEX = 337,
VERTEXANIM = 338,
VERTEXPOOL = 339,
VERTEXREF = 340,
XFMANIM = 341,
XFMSANIM = 342,
START_EGG = 343,
START_GROUP_BODY = 344,
START_TEXTURE_BODY = 345,
START_PRIMITIVE_BODY = 346
};
#endif
/* Tokens. */
#define EGG_NUMBER 258
@ -220,15 +230,11 @@
#define START_TEXTURE_BODY 345
#define START_PRIMITIVE_BODY 346
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
#endif
extern YYSTYPE eggyylval;
int eggyyparse (void);
#endif /* !YY_EGGYY_BUILT_TMP_PARSER_YXX_H_INCLUDED */

View File

@ -88,7 +88,7 @@ PUBLISHED:
StencilOperation front_stencil_pass_z_pass_operation,
unsigned int reference,
unsigned int read_mask,
unsigned int write_mask);
unsigned int write_mask=~(unsigned int)0);
static CPT(RenderAttrib) make_2_sided(
bool front_enable,