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: the recommended set of dependencies, you can use this command:
```bash ```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. 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: else:
animNames = [animName] animNames = [animName]
for animName in animNames: for animName in animNames:
if animName is 'nothing': if animName == 'nothing':
continue continue
thisAnim = '' thisAnim = ''
totalEffect = 0. totalEffect = 0.

View File

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

View File

@ -210,15 +210,15 @@ class CompilationEnvironment:
if ('MAKEPANDA' in os.environ): 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.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.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.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.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: else:
os.environ['PATH'] += ';' + self.MSVC + '\\bin' + self.suffix64 + ';' + self.MSVC + '\\Common7\\IDE;' + self.PSDK + '\\bin' 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.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.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.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_'): elif self.platform.startswith('osx_'):
# OSX # OSX

View File

@ -163,7 +163,7 @@ class ParticleEffect(NodePath):
def saveConfig(self, filename): def saveConfig(self, filename):
filename = Filename(filename) filename = Filename(filename)
f = open(filename.toOsSpecific(), 'wb') with open(filename.toOsSpecific(), 'w') as f:
# Add a blank line # Add a blank line
f.write('\n') f.write('\n')
@ -199,9 +199,6 @@ class ParticleEffect(NodePath):
fg.printParams(f, target) fg.printParams(f, target)
f.write('self.addForceGroup(%s)\n' % target) f.write('self.addForceGroup(%s)\n' % target)
# Close the file
f.close()
def loadConfig(self, filename): def loadConfig(self, filename):
data = vfs.readFile(filename, 1) data = vfs.readFile(filename, 1)
data = data.replace(b'\r', b'') data = data.replace(b'\r', b'')

View File

@ -21,7 +21,7 @@ def deCygwinify(path):
dirs = path.split('/') dirs = path.split('/')
if len(dirs) > 2 and len(dirs[1]) == 1: 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: else:
# Otherwise, prepend $PANDA_ROOT and flip the slashes. # Otherwise, prepend $PANDA_ROOT and flip the slashes.

View File

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

View File

@ -1,7 +1,33 @@
------------------------ RELEASE 1.10.1 ----------------------- ------------------------ 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 regression with Audio3DManager.setSoundVelocityAuto()
* Fix issues when awaiting loader.loadModel in Python 3.7
* Audio3DManager accepts tuple in setSoundVelocity/setListenerVelocity * 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 ----------------------- ------------------------ RELEASE 1.10.0 -----------------------

View File

@ -1091,7 +1091,11 @@ static PyObject *Dtool_GeneratorWrapper_iternext(PyObject *self) {
*/ */
static void static void
Dtool_StaticProperty_dealloc(PyDescrObject *descr) { Dtool_StaticProperty_dealloc(PyDescrObject *descr) {
#if PY_VERSION_HEX >= 0x03080000
PyObject_GC_UnTrack(descr);
#else
_PyObject_GC_UNTRACK(descr); _PyObject_GC_UNTRACK(descr);
#endif
Py_XDECREF(descr->d_type); Py_XDECREF(descr->d_type);
Py_XDECREF(descr->d_name); Py_XDECREF(descr->d_name);
//#if PY_MAJOR_VERSION >= 3 //#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<mime-type type=\"%s\">\n" % (mime))
fhandle.write("\t\t<comment xml:lang=\"en\">%s</comment>\n" % (desc)) fhandle.write("\t\t<comment xml:lang=\"en\">%s</comment>\n" % (desc))
fhandle.write("\t\t<glob pattern=\"*.%s\"/>\n" % (ext)) 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.write("</mime-info>\n")
fhandle.close() fhandle.close()

View File

@ -213,11 +213,11 @@ def makeCHM(outputfile, dirname, title, special = None):
# Now, execute the command to compile the files. # Now, execute the command to compile the files.
if "PROGRAMFILES" in os.environ and os.path.isdir("%s\\HTML Help Workshop" % os.environ["PROGRAMFILES"]): 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) 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 cmd = "\"C:\\Program Files\\HTML Help Workshop\\hhc.exe\" %s.hhp" % base
else: else:
cmd = "hhc \"%s.hhp\"" % base cmd = "hhc \"%s.hhp\"" % base
print cmd print(cmd)
os.system(cmd) os.system(cmd)
if not KEEPTEMP: if not KEEPTEMP:
if os.path.isfile("%s.hhp" % base): os.remove("%s.hhp" % base) 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.hhk" % base): os.remove("%s.hhk" % base)
if os.path.isfile("%s.chw" % base): os.remove("%s.chw" % base) if os.path.isfile("%s.chw" % base): os.remove("%s.chw" % base)
if not os.path.isfile(base + ".chm"): if not os.path.isfile(base + ".chm"):
print "An error has occurred!" print("An error has occurred!")
if __name__ == "__main__": if __name__ == "__main__":
exit(1) exit(1)
else: else:
@ -246,7 +246,7 @@ if __name__ == "__main__":
VERSION = None VERSION = None
try: try:
f = file("built/include/pandaVersion.h","r") 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: for line in f:
match = pattern.match(line,0) match = pattern.match(line,0)
if (match): if (match):
@ -260,22 +260,22 @@ if __name__ == "__main__":
# Now, make CHM's for both the manual and reference, if we have them. # Now, make CHM's for both the manual and reference, if we have them.
for lang in ["python", "cxx"]: for lang in ["python", "cxx"]:
if not os.path.isdir("manual-" + lang): if not os.path.isdir("manual-" + lang):
print "No directory named 'manual-%s' found" % lang print("No directory named 'manual-%s' found" % lang)
else: else:
print "Making CHM file for manual-%s..." % lang print("Making CHM file for manual-%s..." % lang)
if VERSION == None: if VERSION == None:
makeManualCHM("manual-%s.chm" % lang, "manual-" + lang, "Panda3D Manual") makeManualCHM("manual-%s.chm" % lang, "manual-" + lang, "Panda3D Manual")
else: else:
makeManualCHM("manual-%s-%s.chm" % (VERSION, lang), "manual-" + lang, "Panda3D %s Manual" % VERSION) makeManualCHM("manual-%s-%s.chm" % (VERSION, lang), "manual-" + lang, "Panda3D %s Manual" % VERSION)
if not os.path.isdir("reference-" + lang): if not os.path.isdir("reference-" + lang):
print "No directory named 'reference-%s' found" % lang print("No directory named 'reference-%s' found" % lang)
else: else:
print "Making CHM file for reference-%s..." % lang print("Making CHM file for reference-%s..." % lang)
if VERSION == None: if VERSION == None:
makeReferenceCHM("reference-%s.chm" % lang, "reference-" + lang, "Panda3D Reference") makeReferenceCHM("reference-%s.chm" % lang, "reference-" + lang, "Panda3D Reference")
else: else:
makeReferenceCHM("reference-%s-%s.chm" % (VERSION, lang), "reference-" + lang, "Panda3D %s Reference" % VERSION) 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. # 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' cmd += ' -D_MSC_VER=1600 -D"__declspec(param)=" -D__cdecl -D_near -D_far -D__near -D__far -D__stdcall'
if (COMPILER=="GCC"): if (COMPILER=="GCC"):
cmd += ' -D__attribute__\(x\)=' cmd += ' -D__attribute__\\(x\\)='
target_arch = GetTargetArch() target_arch = GetTargetArch()
if target_arch in ("x86_64", "amd64"): if target_arch in ("x86_64", "amd64"):
cmd += ' -D_LP64' cmd += ' -D_LP64'
@ -1634,9 +1634,9 @@ def CompileLib(lib, obj, opts):
cmd += " /MACHINE:" + GetTargetArch().upper() cmd += " /MACHINE:" + GetTargetArch().upper()
cmd += ' /OUT:' + BracketNameWithQuotes(lib) cmd += ' /OUT:' + BracketNameWithQuotes(lib)
for x in obj: cmd += ' ' + BracketNameWithQuotes(x) 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\\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\\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\\compiler\\lib\\ia32"'
oscmd(cmd) oscmd(cmd)
if (COMPILER=="GCC"): if (COMPILER=="GCC"):
@ -1742,9 +1742,9 @@ def CompileLink(dll, obj, opts):
cmd += " /NOD:MFC90.LIB /NOD:MFC80.LIB /NOD:LIBCMT" cmd += " /NOD:MFC90.LIB /NOD:MFC80.LIB /NOD:LIBCMT"
cmd += " /NOD:LIBCI.LIB /DEBUG" cmd += " /NOD:LIBCI.LIB /DEBUG"
cmd += " /nod:libc /nod:libcmtd /nod:atlthunk /nod:atls" 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\\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\\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\\compiler\\lib\\ia32"'
if (GetOrigExt(dll) != ".exe"): cmd += " /DLL" if (GetOrigExt(dll) != ".exe"): cmd += " /DLL"
optlevel = GetOptimizeOption(opts) optlevel = GetOptimizeOption(opts)
if (optlevel==1): cmd += " /MAP /MAPINFO:EXPORTS /NOD:MSVCRT.LIB /NOD:MSVCPRT.LIB /NOD:MSVCIRT.LIB" 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': if GetTarget() == 'linux' or GetTarget() == 'freebsd':
# Setup rpath so libs can be found in the same directory as the deployed game # 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', "-Wl,-z,origin")
LibName('DEPLOYSTUB', "-rdynamic") LibName('DEPLOYSTUB', "-rdynamic")
PyTargetAdd('deploy-stub.exe', input='deploy-stub.obj') 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(aux_buffers);
attribs.push_back(NSOpenGLPFAColorSize); attribs.push_back(NSOpenGLPFAColorSize);
attribs.push_back(properties.get_color_bits()); 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(NSOpenGLPFADepthSize);
if (properties.get_depth_bits() == 1) {
attribs.push_back(24);
}
else {
attribs.push_back(properties.get_depth_bits()); attribs.push_back(properties.get_depth_bits());
}
attribs.push_back(NSOpenGLPFAStencilSize); attribs.push_back(NSOpenGLPFAStencilSize);
attribs.push_back(properties.get_stencil_bits()); attribs.push_back(properties.get_stencil_bits());

View File

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

View File

@ -2823,6 +2823,12 @@ do_issue_light() {
} }
} else { } 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()); set_ambient_light(target_light->get_ambient_contribution());
} }

File diff suppressed because it is too large Load Diff

View File

@ -1,9 +1,8 @@
/* A Bison parser, made by GNU Bison 2.4.2. */ /* A Bison parser, made by GNU Bison 3.2.2. */
/* Skeleton interface for Bison's Yacc-like parsers in C /* Bison interface for Yacc-like parsers in C
Copyright (C) 1984, 1989-1990, 2000-2006, 2009-2010 Free Software Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc.
Foundation, Inc.
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
@ -31,13 +30,24 @@
This special exception was added by the Free Software Foundation in This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */ 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 #ifndef YYTOKENTYPE
# define YYTOKENTYPE # define YYTOKENTYPE
/* Put the tokens into the symbol table, so that GDB and other debuggers enum yytokentype
know about them. */ {
enum yytokentype {
EGG_NUMBER = 258, EGG_NUMBER = 258,
EGG_ULONG = 259, EGG_ULONG = 259,
EGG_STRING = 260, EGG_STRING = 260,
@ -220,15 +230,11 @@
#define START_TEXTURE_BODY 345 #define START_TEXTURE_BODY 345
#define START_PRIMITIVE_BODY 346 #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; 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, StencilOperation front_stencil_pass_z_pass_operation,
unsigned int reference, unsigned int reference,
unsigned int read_mask, unsigned int read_mask,
unsigned int write_mask); unsigned int write_mask=~(unsigned int)0);
static CPT(RenderAttrib) make_2_sided( static CPT(RenderAttrib) make_2_sided(
bool front_enable, bool front_enable,