pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Import torque2d-3.3 as wip/torque2d.



Module Name:	pkgsrc-wip
Committed By:	Kamil Rytarowski <n54%gmx.com@localhost>
Pushed By:	kamil
Date:		Sat Jul 30 14:03:24 2016 +0200
Changeset:	afd571c0b1b75cc36b613d5d1b58613bf64489a9

Added Files:
	torque2d/DESCR
	torque2d/Makefile
	torque2d/PLIST
	torque2d/distinfo
	torque2d/patches/patch-engine_lib_ljpeg_jconfig.h
	torque2d/patches/patch-engine_lib_openal_NetBSD_AL_al.h
	torque2d/patches/patch-engine_lib_openal_NetBSD_AL_alc.h
	torque2d/patches/patch-engine_lib_openal_NetBSD_AL_alctypes.h
	torque2d/patches/patch-engine_lib_openal_NetBSD_AL_altypes.h
	torque2d/patches/patch-engine_lib_openal_NetBSD_AL_alu.h
	torque2d/patches/patch-engine_lib_openal_NetBSD_AL_alut.h
	torque2d/patches/patch-engine_lib_openal_NetBSD_AL_aluttypes.h
	torque2d/patches/patch-engine_lib_openal_NetBSD_AL_alutypes.h
	torque2d/patches/patch-engine_lib_openal_NetBSD_openALFn.h
	torque2d/patches/patch-engine_source_audio_audio.cc
	torque2d/patches/patch-engine_source_network_serverQuery.cc
	torque2d/patches/patch-engine_source_platformEmscripten_EmscriptenFileio.cpp
	torque2d/patches/patch-engine_source_platformX86UNIX_x86UNIXFileio.cc
	torque2d/patches/patch-engine_source_platformX86UNIX_x86UNIXNet.cc
	torque2d/patches/patch-engine_source_platformX86UNIX_x86UNIXProcessControl.cc
	torque2d/patches/patch-engine_source_platformX86UNIX_x86UNIXWindow.cc
	torque2d/patches/patch-engine_source_platform_platformAL.h
	torque2d/patches/patch-engine_source_platform_platformFileIO.h
	torque2d/patches/patch-engine_source_platform_platformGL.h
	torque2d/patches/patch-engine_source_platform_types.gcc.h
	torque2d/patches/patch-engine_source_testing_googleTest_configure

Log Message:
Import torque2d-3.3 as wip/torque2d.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=afd571c0b1b75cc36b613d5d1b58613bf64489a9

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 torque2d/DESCR                                     |   0
 torque2d/Makefile                                  |  22 +
 torque2d/PLIST                                     |   1 +
 torque2d/distinfo                                  |  28 ++
 torque2d/patches/patch-engine_lib_ljpeg_jconfig.h  |  13 +
 .../patches/patch-engine_lib_openal_NetBSD_AL_al.h | 528 +++++++++++++++++++++
 .../patch-engine_lib_openal_NetBSD_AL_alc.h        |  76 +++
 .../patch-engine_lib_openal_NetBSD_AL_alctypes.h   |  35 ++
 .../patch-engine_lib_openal_NetBSD_AL_altypes.h    | 349 ++++++++++++++
 .../patch-engine_lib_openal_NetBSD_AL_alu.h        |  42 ++
 .../patch-engine_lib_openal_NetBSD_AL_alut.h       |  58 +++
 .../patch-engine_lib_openal_NetBSD_AL_aluttypes.h  |  10 +
 .../patch-engine_lib_openal_NetBSD_AL_alutypes.h   |  10 +
 .../patch-engine_lib_openal_NetBSD_openALFn.h      | 106 +++++
 .../patches/patch-engine_source_audio_audio.cc     |  40 ++
 .../patch-engine_source_network_serverQuery.cc     |  22 +
 ..._source_platformEmscripten_EmscriptenFileio.cpp |  13 +
 ...-engine_source_platformX86UNIX_x86UNIXFileio.cc |  13 +
 ...tch-engine_source_platformX86UNIX_x86UNIXNet.cc |  20 +
 ...source_platformX86UNIX_x86UNIXProcessControl.cc |  13 +
 ...-engine_source_platformX86UNIX_x86UNIXWindow.cc |  13 +
 .../patch-engine_source_platform_platformAL.h      |  13 +
 .../patch-engine_source_platform_platformFileIO.h  |  13 +
 .../patch-engine_source_platform_platformGL.h      |  13 +
 .../patch-engine_source_platform_types.gcc.h       |  18 +
 ...atch-engine_source_testing_googleTest_configure |  18 +
 26 files changed, 1487 insertions(+)

diffs:
diff --git a/torque2d/DESCR b/torque2d/DESCR
new file mode 100644
index 0000000..e69de29
diff --git a/torque2d/Makefile b/torque2d/Makefile
new file mode 100644
index 0000000..152cc54
--- /dev/null
+++ b/torque2d/Makefile
@@ -0,0 +1,22 @@
+# $NetBSD$
+
+DISTNAME=	Torque2D-3.3
+PKGNAME=	${DISTNAME:tl}
+CATEGORIES=	devel
+MASTER_SITES=	${MASTER_SITE_GITHUB:=GarageGames/}
+
+MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=	http://torque2d.org/
+COMMENT=	Open Source version of Torque 3D from GarageGames
+LICENSE=	mit
+
+USE_LANGUAGES=	c c++
+USE_TOOLS+=	gmake
+
+BUILD_DIRS=	engine/compilers/Make
+
+.include "../../audio/openal-soft/buildlink3.mk"
+.include "../../devel/SDL/buildlink3.mk"
+.include "../../graphics/freetype2/buildlink3.mk"
+.include "../../mk/jpeg.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/torque2d/PLIST b/torque2d/PLIST
new file mode 100644
index 0000000..48d96a5
--- /dev/null
+++ b/torque2d/PLIST
@@ -0,0 +1 @@
+@comment $NetBSD$
diff --git a/torque2d/distinfo b/torque2d/distinfo
new file mode 100644
index 0000000..2874a12
--- /dev/null
+++ b/torque2d/distinfo
@@ -0,0 +1,28 @@
+$NetBSD$
+
+SHA1 (Torque2D-3.3.tar.gz) = 6448172be4cd749e51a28ba4635ed4f2142efad4
+RMD160 (Torque2D-3.3.tar.gz) = 81e1a8014398d8bb612c8066353d1a3936094d6f
+SHA512 (Torque2D-3.3.tar.gz) = 727c95cbb0b3df018e46d75f3ebd1b5d4d1d27da669a0cc410b54152fedf932b7c64b2410d963b57f63c7c0845279f520b4431e7571ea1d3a9089e71e75c77bc
+Size (Torque2D-3.3.tar.gz) = 69661432 bytes
+SHA1 (patch-engine_lib_ljpeg_jconfig.h) = 5e478af0291396c95de17537188a140b1e72a0c4
+SHA1 (patch-engine_lib_openal_NetBSD_AL_al.h) = a0d30f869b2ee835b19a884c5f63d76c99f4d07b
+SHA1 (patch-engine_lib_openal_NetBSD_AL_alc.h) = 8c1316ac3aae9697d74c260476c1d2b531564ea5
+SHA1 (patch-engine_lib_openal_NetBSD_AL_alctypes.h) = 321292fb76bf34725af0ac30367f3a6ff0056d2c
+SHA1 (patch-engine_lib_openal_NetBSD_AL_altypes.h) = 6cb5353d13ff3fa2c31787cf7c447dfc0c366c32
+SHA1 (patch-engine_lib_openal_NetBSD_AL_alu.h) = b9e830757eddad72d21a50b4762546514b628612
+SHA1 (patch-engine_lib_openal_NetBSD_AL_alut.h) = 86d61f75f551a666a39cf944e534cd98ddaa8749
+SHA1 (patch-engine_lib_openal_NetBSD_AL_aluttypes.h) = bdbc4aa8b8bf608175fe9c9e6cc7590317717c4d
+SHA1 (patch-engine_lib_openal_NetBSD_AL_alutypes.h) = e7b5b817508ba508e0d9546b841a35545333d0fb
+SHA1 (patch-engine_lib_openal_NetBSD_openALFn.h) = c223ed92b18205eb6b74486e042eef94e43fda3d
+SHA1 (patch-engine_source_audio_audio.cc) = 7bf51f9a81684ecf28eadb806e73a842d9a443b2
+SHA1 (patch-engine_source_network_serverQuery.cc) = 0a81c44d00beb390bcb134989d29205771edb765
+SHA1 (patch-engine_source_platformEmscripten_EmscriptenFileio.cpp) = b5c18445a8fe3ff87090081cc05fa0e353c485b5
+SHA1 (patch-engine_source_platformX86UNIX_x86UNIXFileio.cc) = 12077e1962df52df4bfa9428872a0fe7aa9b7e34
+SHA1 (patch-engine_source_platformX86UNIX_x86UNIXNet.cc) = fba3b6493cc7d2692ea279de5586b4534fb7c20e
+SHA1 (patch-engine_source_platformX86UNIX_x86UNIXProcessControl.cc) = c37e215d9deaa81bf7530d48179a27b12b92d218
+SHA1 (patch-engine_source_platformX86UNIX_x86UNIXWindow.cc) = 23257a8ae9eb0a84d3c4794a5f2118e76c90b72c
+SHA1 (patch-engine_source_platform_platformAL.h) = d1377f0045f34ec34b10503b9eb8924a2be268d6
+SHA1 (patch-engine_source_platform_platformFileIO.h) = 49bab59cbba7f971e57483e0b85d16261dd66993
+SHA1 (patch-engine_source_platform_platformGL.h) = 8ec024f8ac01d0bd950ac34217fa12823c1cb7b6
+SHA1 (patch-engine_source_platform_types.gcc.h) = 5997b107024b5d24372ee4232b3809ce30a36607
+SHA1 (patch-engine_source_testing_googleTest_configure) = 1a87344c720bfd6cb4a1471e35083c26c57ad87c
diff --git a/torque2d/patches/patch-engine_lib_ljpeg_jconfig.h b/torque2d/patches/patch-engine_lib_ljpeg_jconfig.h
new file mode 100644
index 0000000..57c948a
--- /dev/null
+++ b/torque2d/patches/patch-engine_lib_ljpeg_jconfig.h
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- engine/lib/ljpeg/jconfig.h.orig	2016-04-04 01:25:01.000000000 +0000
++++ engine/lib/ljpeg/jconfig.h
+@@ -24,7 +24,7 @@
+    #define JCONFIG_INCLUDED
+ #endif
+ 
+-#if (( __GNUC__ >= 2 ) && (defined (__CYGWIN32__) || defined (__linux__) || defined(EMSCRIPTEN) || defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__WIN32__)) )
++#if (( __GNUC__ >= 2 ) && (defined (__CYGWIN32__) || defined (__linux__) || defined(EMSCRIPTEN) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__WIN32__)) )
+    #include "jconfig.gcc.linux.h"
+    #define JCONFIG_INCLUDED
+ #endif
diff --git a/torque2d/patches/patch-engine_lib_openal_NetBSD_AL_al.h b/torque2d/patches/patch-engine_lib_openal_NetBSD_AL_al.h
new file mode 100644
index 0000000..2d12f4c
--- /dev/null
+++ b/torque2d/patches/patch-engine_lib_openal_NetBSD_AL_al.h
@@ -0,0 +1,528 @@
+$NetBSD$
+
+--- engine/lib/openal/NetBSD/AL/al.h.orig	2016-07-30 11:47:19.696497760 +0000
++++ engine/lib/openal/NetBSD/AL/al.h
+@@ -0,0 +1,523 @@
++#ifndef __al_h_
++#define __al_h_
++
++/**
++ * OpenAL cross platform audio library
++ * Copyright (C) 1999-2000 by authors.
++ * This library is free software; you can redistribute it and/or
++ *  modify it under the terms of the GNU Library General Public
++ *  License as published by the Free Software Foundation; either
++ *  version 2 of the License, or (at your option) any later version.
++ *
++ * This library 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
++ *  Library General Public License for more details.
++ *
++ * You should have received a copy of the GNU Library General Public
++ *  License along with this library; if not, write to the
++ *  Free Software Foundation, Inc., 59 Temple Place - Suite 330,
++ *  Boston, MA  02111-1307, USA.
++ * Or go to http://www.gnu.org/copyleft/lgpl.html
++ */
++#include <AL/altypes.h>
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++#ifdef _WIN32
++#define ALAPI       __declspec(dllexport)
++#define ALAPIENTRY  __cdecl
++#define AL_CALLBACK 
++#else /* _WIN32 */
++#define ALAPI
++#define ALAPIENTRY
++#define AL_CALLBACK 
++#endif /* _WIN32 */
++
++#ifndef AL_NO_PROTOTYPES
++
++/**
++ * OpenAL Maintenance Functions
++ * State Management and Query.
++ * Error Handling.
++ * Extension Support.
++ */
++
++
++/** Renderer State management. */
++ALAPI void ALAPIENTRY alEnable( ALenum capability );
++
++ALAPI void ALAPIENTRY alDisable( ALenum capability ); 
++
++ALAPI ALboolean ALAPIENTRY alIsEnabled( ALenum capability ); 
++
++/** Application preferences for driver performance choices. */
++ALAPI void ALAPIENTRY alHint( ALenum target, ALenum mode );
++
++/** State retrieval. */
++ALAPI ALboolean ALAPIENTRY alGetBoolean( ALenum param );
++
++/** State retrieval. */
++ALAPI ALint ALAPIENTRY alGetInteger( ALenum param );
++
++/** State retrieval. */
++ALAPI ALfloat ALAPIENTRY alGetFloat( ALenum param );
++
++/** State retrieval. */
++ALAPI ALdouble ALAPIENTRY alGetDouble( ALenum param );
++
++/** State retrieval. */
++ALAPI void ALAPIENTRY alGetBooleanv( ALenum param, ALboolean* data );
++
++/** State retrieval. */
++ALAPI void ALAPIENTRY alGetIntegerv( ALenum param, ALint* data );
++
++/** State retrieval. */
++ALAPI void ALAPIENTRY alGetFloatv( ALenum param, ALfloat* data );
++
++/** State retrieval. */
++ALAPI void ALAPIENTRY alGetDoublev( ALenum param, ALdouble* data );
++
++/** State retrieval. */
++ALAPI const ALubyte* ALAPIENTRY alGetString( ALenum param );
++
++
++/**
++ * Error support.
++ * Obtain the most recent error generated in the AL state machine.
++ */
++ALAPI ALenum ALAPIENTRY alGetError( ALvoid );
++
++/** 
++ * Extension support.
++ * Obtain the address of a function (usually an extension)
++ *  with the name fname. All addresses are context-independent. 
++ */
++ALAPI ALboolean ALAPIENTRY alIsExtensionPresent( const ALubyte* fname );
++
++
++/** 
++ * Extension support.
++ * Obtain the address of a function (usually an extension)
++ *  with the name fname. All addresses are context-independent. 
++ */
++ALAPI void* ALAPIENTRY alGetProcAddress( const ALubyte* fname );
++
++
++/**
++ * Extension support.
++ * Obtain the integer value of an enumeration (usually an extension) with the name ename. 
++ */
++ALAPI ALenum ALAPIENTRY alGetEnumValue( const ALubyte* ename );
++
++
++
++
++
++
++/**
++ * LISTENER
++ * Listener is the sample position for a given context.
++ * The multi-channel (usually stereo) output stream generated
++ *  by the mixer is parametrized by this Listener object:
++ *  its position and velocity relative to Sources, within
++ *  occluder and reflector geometry.
++ */
++
++
++
++/**
++ *
++ * Listener Gain:  default 1.0f.
++ */
++ALAPI void ALAPIENTRY alListenerf( ALenum pname, ALfloat param );
++
++/**  
++ *
++ * Listener Position.
++ * Listener Velocity.
++ */
++ALAPI void ALAPIENTRY alListener3f( ALenum pname, ALfloat param1,
++             ALfloat param2,
++             ALfloat param3 ); 
++
++/**
++ *
++ * Listener Position:        ALfloat[3]
++ * Listener Velocity:        ALfloat[3]
++ * Listener Orientation:     ALfloat[6]  (forward and up vector).
++ */
++ALAPI void ALAPIENTRY alListenerfv( ALenum pname, ALfloat* param ); 
++
++/*
++ * Retrieve listener information.
++ */
++ALAPI void ALAPIENTRY alGetListeneri( ALenum pname, ALint* value );
++ALAPI void ALAPIENTRY alGetListenerf( ALenum pname, ALfloat* values );
++ALAPI void ALAPIENTRY alGetListenerfv( ALenum pname, ALfloat* values );
++
++/**
++ * SOURCE
++ * Source objects are by default localized. Sources
++ *  take the PCM data provided in the specified Buffer,
++ *  apply Source-specific modifications, and then
++ *  submit them to be mixed according to spatial 
++ *  arrangement etc.
++ */
++
++
++
++/** Create Source objects. */
++ALAPI void ALAPIENTRY alGenSources( ALsizei n, ALuint* sources ); 
++
++/** Delete Source objects. */
++ALAPI void ALAPIENTRY alDeleteSources( ALsizei n, ALuint* sources );
++
++/** Verify a handle is a valid Source. */ 
++ALAPI ALboolean ALAPIENTRY alIsSource( ALuint sid ); 
++
++
++/** Set an integer parameter for a Source object. */
++ALAPI void ALAPIENTRY alSourcei( ALuint sid, ALenum param, ALint value ); 
++ALAPI void ALAPIENTRY alSourcef( ALuint sid, ALenum param, ALfloat value ); 
++ALAPI void ALAPIENTRY alSource3f( ALuint sid, ALenum param, ALfloat v1, ALfloat v2, ALfloat v3 );
++ALAPI void ALAPIENTRY alSourcefv( ALuint sid, ALenum param, ALfloat* values ); 
++
++/** Get an integer parameter for a Source object. */
++ALAPI void ALAPIENTRY alGetSourcei( ALuint sid,  ALenum pname, ALint* value );
++ALAPI void ALAPIENTRY alGetSourcef( ALuint sid,  ALenum pname, ALfloat* value );
++ALAPI void ALAPIENTRY alGetSourcefv( ALuint sid, ALenum pname, ALfloat* values );
++
++ALAPI void ALAPIENTRY alSourcePlayv( ALuint ns, ALuint *ids );
++ALAPI void ALAPIENTRY alSourceStopv( ALuint ns, ALuint *ids );
++
++/** Activate a source, start replay. */
++ALAPI void ALAPIENTRY alSourcePlay( ALuint sid );
++
++/**
++ * Pause a source, 
++ *  temporarily remove it from the mixer list.
++ */
++ALAPI void ALAPIENTRY alSourcePause( ALuint sid );
++
++/**
++ * Stop a source,
++ *  temporarily remove it from the mixer list,
++ *  and reset its internal state to pre-Play.
++ * To remove a Source completely, it has to be
++ *  deleted following Stop, or before Play.
++ */
++ALAPI void ALAPIENTRY alSourceStop( ALuint sid );
++
++
++
++
++/**
++ * BUFFER
++ * Buffer objects are storage space for sample data.
++ * Buffers are referred to by Sources. There can be more than
++ *  one Source using the same Buffer data. If Buffers have
++ *  to be duplicated on a per-Source basis, the driver has to
++ *  take care of allocation, copying, and deallocation as well
++ *  as propagating buffer data changes.
++ */
++
++
++
++
++/** Buffer object generation. */
++ALAPI void ALAPIENTRY alGenBuffers( ALsizei n, ALuint* samples );
++
++ALAPI void ALAPIENTRY alDeleteBuffers( ALsizei n, ALuint* samples );
++
++
++ALAPI ALboolean ALAPIENTRY alIsBuffer( ALuint buffer );
++
++/**
++ * Specify the data to be filled into a buffer.
++ */
++ALAPI void ALAPIENTRY alBufferData( ALuint   buffer,
++         ALenum   format,
++                   ALvoid*    data,
++         ALsizei  size,
++         ALsizei  freq );
++
++
++/**
++ * Specify data to be filled into a looping buffer.
++ * This takes the current position at the time of the
++ *  call, and returns the number of samples written.
++ */
++ALsizei ALAPIENTRY alBufferAppendData( ALuint   buffer,
++                            ALenum   format,
++                            ALvoid*    data,
++                  ALsizei  size,
++                            ALsizei  freq );
++
++
++
++
++ALAPI void ALAPIENTRY alGetBufferi( ALuint buffer, ALenum param, ALint*   value );
++ALAPI void ALAPIENTRY alGetBufferf( ALuint buffer, ALenum param, ALfloat* value );
++
++
++
++
++
++/**
++ * Frequency Domain Filters are band filters.
++ *  Attenuation in Media (distance based)
++ *  Reflection Material
++ *  Occlusion Material (separating surface)
++ *
++ * Temporal Domain Filters:
++ *  Early Reflections
++ *  Late Reverb 
++ *
++ */
++
++
++
++
++/**
++ * EXTENSION: IASIG Level 2 Environment.
++ * Environment object generation.
++ * This is an EXTension that describes the Environment/Reverb
++ *  properties according to IASIG Level 2 specifications.
++ */
++
++
++
++
++
++/**
++ * Allocate n environment ids and store them in the array environs.
++ * Returns the number of environments actually allocated.
++ */
++ALAPI ALsizei ALAPIENTRY alGenEnvironmentIASIG( ALsizei n, ALuint* environs );
++
++ALAPI void ALAPIENTRY alDeleteEnvironmentIASIG( ALsizei n, ALuint* environs );
++
++ALAPI ALboolean ALAPIENTRY alIsEnvironmentIASIG( ALuint environ );
++
++ALAPI void ALAPIENTRY alEnvironmentiIASIG( ALuint eid, ALenum param, ALint value );
++
++ALAPI void ALAPIENTRY alEnvironmentfIASIG( ALuint eid, ALenum param, ALfloat value );
++
++
++
++
++#else /* AL_NO_PROTOTYPES */
++//
++//
++///** OpenAL Maintenance Functions */
++//
++//      void                         (*alEnable)( ALenum capability );
++//      void                         (*alDisable)( ALenum capability ); 
++//      ALboolean                    (*alIsEnabled)( ALenum capability ); 
++//      void            (*alHint)( ALenum target, ALenum mode );
++//      ALboolean                    (*alGetBoolean)( ALenum param );
++//      ALint                        (*alGetInteger)( ALenum param );
++//      ALfloat                      (*alGetFloat)( ALenum param );
++//      ALdouble                     (*alGetDouble)( ALenum param );
++//      void                         (*alGetBooleanv)( ALenum param,
++//                      ALboolean* data );
++//      void                         (*alGetIntegerv)( ALenum param,
++//                      ALint* data );
++//      void                         (*alGetFloatv)( ALenum param,
++//                      ALfloat* data );
++//      void                         (*alGetDoublev)( ALenum param,
++//                      ALdouble* data );
++//      const ALubyte*               (*GetString)( ALenum param );
++//      ALenum                       (*alGetError)( ALvoid );
++//
++//      /** 
++//       * Extension support.
++//       * Query existance of extension
++//       */
++//      ALboolean    (*alIsExtensionPresent)(const ALubyte* fname );
++//
++//      /** 
++//       * Extension support.
++//       * Obtain the address of a function (usually an extension)
++//       *  with the name fname. All addresses are context-independent. 
++//       */
++//      void*     (*alGetProcAddress)( const ALubyte* fname );
++//      
++//
++//      /**
++//       * Extension support.
++//       * Obtain the integer value of an enumeration (usually an extension) with the name ename. 
++//       */
++//      ALenum    (*alGetEnumValue)( const ALubyte* ename );
++//
++///**
++// * LISTENER
++// * Listener is the sample position for a given context.
++// * The multi-channel (usually stereo) output stream generated
++// *  by the mixer is parametrized by this Listener object:
++// *  its position and velocity relative to Sources, within
++// *  occluder and reflector geometry.
++// */
++//      /**
++//       *
++//       * Listener Gain:  default 1.0f.
++//       */
++//      void      (*alListenerf)( ALenum pname, ALfloat param );
++//
++//      /**  
++//       *
++//       * Listener Position.
++//       * Listener Velocity.
++//       */
++//      void      (*alListener3f)( ALenum pname,
++//             ALfloat param1, ALfloat param2, ALfloat param3); 
++//
++//      /**
++//       *
++//       * Listener Position:        ALfloat[3]
++//       * Listener Velocity:        ALfloat[3]
++//       * Listener Orientation:     ALfloat[6]  (forward and up vector).
++//       */
++//      void      (*alListenerfv)( ALenum pname, ALfloat* param ); 
++//
++///**
++// * SOURCE
++// * Source objects are by default localized. Sources
++// *  take the PCM data provided in the specified Buffer,
++// *  apply Source-specific modifications, and then
++// *  submit them to be mixed according to spatial 
++// *  arrangement etc.
++// */
++//
++//      /** Create Source objects. */
++//      void      (*alGenSources)( ALsizei n, ALuint* sources ); 
++//
++//      /** Delete Source objects. */
++//      void      (*alDeleteSources)( ALsizei n, ALuint* sources );
++//
++//      /** Verify a handle is a valid Source. */ 
++//      ALboolean (*alIsSource)( ALuint sid ); 
++//
++//      /** Set an integer parameter for a Source object. */
++//      void      (*alSourcei)( ALuint sid, ALenum param, ALint value); 
++//
++//      /** Set a float parameter for a Source object. */
++//      void      (*alSourcef)( ALuint sid, ALenum param, ALfloat value); 
++//
++//      /** Set a 3-float parameter for a Source object. */
++//      void      (*alSource3f)( ALuint sid, ALenum param,
++//             ALfloat v1, ALfloat v2, ALfloat v3 );
++//
++//      /** Set a float vector parameter for a Source object. */
++//      void      (*alSourcefv)( ALuint sid, ALenum param,
++//             ALfloat* values ); 
++//
++//      /** Get an integer parameter for a Source object. */
++//      void      (*alGetSourcei)( ALuint sid,
++//             ALenum pname, ALint* value );
++//      /** Get a float parameter for a Source object. */
++//      void      (*alGetSourcef)( ALuint sid,
++//             ALenum pname, ALfloat* value );
++//      /** Get a float vector parameter for a Source object. */
++//      void      (*alGetSourcefv)( ALuint sid,
++//             ALenum pname, ALfloat* values );
++//
++//      /** Activate a source, start replay. */
++//      void      (*alSourcePlay)( ALuint sid );
++//
++//      /**
++//       * Pause a source, 
++//       *  temporarily remove it from the mixer list.
++//       */
++//      void      (*alSourcePause)( ALuint sid );
++//
++//      /**
++//       * Stop a source,
++//       *  temporarily remove it from the mixer list,
++//       *  and reset its internal state to pre-Play.
++//       * To remove a Source completely, it has to be
++//       *  deleted following Stop, or before Play.
++//       */
++//      void      (*alSourceStop)( ALuint sid );
++//
++///**
++// * BUFFER
++// * Buffer objects are storage space for sample data.
++// * Buffers are referred to by Sources. There can be more than
++// *  one Source using the same Buffer data. If Buffers have
++// *  to be duplicated on a per-Source basis, the driver has to
++// *  take care of allocation, copying, and deallocation as well
++// *  as propagating buffer data changes.
++// */
++//
++//      /** Buffer object generation. */
++//      void      (*alGenBuffers)( ALsizei n, ALuint* samples );
++//      void      (*alDeleteBuffers)( ALsizei n, ALuint* samples );
++//      ALboolean    (*alIsBuffer)( ALuint buffer );
++//
++//      /**
++//       * Specify the data to be filled into a buffer.
++//       */
++//      void      (*alBufferData)( ALuint   buffer,
++//                  ALenum   format,
++//                            ALvoid*    data,
++//                  ALsizei  size,
++//                  ALsizei  freq );
++//
++//      /**
++//       * Specify data to be filled into a looping buffer.
++//       * This takes the current position at the time of the
++//       *  call, and returns the number of samples written.
++//       */
++//      ALsizei      (*alBufferAppendData)( ALuint   buffer,
++//                                     ALenum   format,
++//                                     ALvoid*    data,
++//                           ALsizei  size,
++//                                     ALsizei  freq );
++//      void      (*alGetBufferi)( ALuint buffer,
++//                ALenum param, ALint*   value );
++//      void      (*alGetBufferf)( ALuint buffer,
++//                ALenum param, ALfloat* value );
++//
++///**
++// * EXTENSION: IASIG Level 2 Environment.
++// * Environment object generation.
++// * This is an EXTension that describes the Environment/Reverb
++// *  properties according to IASIG Level 2 specifications.
++// */
++//      /**
++//       * Allocate n environment ids and store them in the array environs.
++//       * Returns the number of environments actually allocated.
++//       */
++//      ALsizei      (*alGenEnvironmentIASIG)( ALsizei n, ALuint* environs );
++//      void      (*alDeleteEnvironmentIASIG)(ALsizei n,
++//                   ALuint* environs);
++//      ALboolean    (*alIsEnvironmentIASIG)( ALuint environ );
++//      void      (*alEnvironmentiIASIG)( ALuint eid,
++//                ALenum param, ALint value );
++//      void      (*alEnvironmentfIASIG)( ALuint eid,
++//                ALenum param, ALuint value );
++//
++///**
++// * Frequency Domain Filters are band filters.
++// *  Attenuation in Media (distance based)
++// *  Reflection Material
++// *  Occlusion Material (separating surface)
++// *
++// * Temporal Domain Filters:
++// *  Early Reflections
++// *  Late Reverb 
++// *
++// */
++//
++#endif /* AL_NO_PROTOTYPES */
++
++
++#ifdef __cplusplus
++}  /* extern "C" */
++#endif
++
++#endif /* __al_h_ */
diff --git a/torque2d/patches/patch-engine_lib_openal_NetBSD_AL_alc.h b/torque2d/patches/patch-engine_lib_openal_NetBSD_AL_alc.h
new file mode 100644
index 0000000..63af146
--- /dev/null
+++ b/torque2d/patches/patch-engine_lib_openal_NetBSD_AL_alc.h
@@ -0,0 +1,76 @@
+$NetBSD$
+
+--- engine/lib/openal/NetBSD/AL/alc.h.orig	2016-07-30 11:47:19.701489377 +0000
++++ engine/lib/openal/NetBSD/AL/alc.h
+@@ -0,0 +1,71 @@
++#ifndef ALC_CONTEXT_H_
++#define ALC_CONTEXT_H_
++
++#include <AL/alctypes.h>
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++#define ALC_VERSION_0_1         1
++
++#ifdef _WIN32
++#define ALAPI      __declspec(dllexport)
++#define ALAPIENTRY __cdecl
++#else  /* _WIN32 */
++#define ALAPI
++#define ALAPIENTRY
++#define AL_CALLBACK
++#endif /* _WIN32 */
++
++#ifndef AL_NO_PROTOTYPES
++
++ALAPI void * ALAPIENTRY alcCreateContext( ALint* attrlist );
++
++/**
++ * There is no current context, as we can mix
++ *  several active contexts. But al* calls
++ *  only affect the current context.
++ */
++ALAPI ALCenum ALAPIENTRY alcMakeContextCurrent( ALvoid *alcHandle );
++
++/** ??? */
++ALAPI void *  ALAPIENTRY alcUpdateContext( ALvoid *alcHandle );
++
++ALAPI ALCenum ALAPIENTRY alcDestroyContext( ALvoid *alcHandle );
++
++ALAPI ALCenum ALAPIENTRY alcGetError( ALvoid );
++
++ALAPI const ALubyte * ALAPIENTRY alcGetErrorString(ALenum param);
++
++ALAPI void * ALAPIENTRY alcGetCurrentContext( ALvoid );
++
++#else
++//
++//      void *	(*alcCreateContext)( ALint* attrlist );
++//
++//      /**
++//       * There is no current context, as we can mix
++//       *  several active contexts. But al* calls
++//       *  only affect the current context.
++//       */
++//      ALCenum	(*alcMakeContextCurrent)( ALvoid *alcHandle );
++//
++//      /** ??? */
++//      void *	(*alcUpdateContext)( ALvoid *alcHandle );
++//      
++//      ALCenum	(*alcDestroyContext)( ALvoid *alcHandle );
++//
++//      ALCenum	(*alcGetError) ( ALvoid );
++//
++//      const ALubyte *(*alcGetErrorString)(ALenum param);
++//
++//      void *         (*alcGetCurrentContext)( ALvoid );
++//
++#endif /* AL_NO_PROTOTYPES */
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* ALC_CONTEXT_H_ */
diff --git a/torque2d/patches/patch-engine_lib_openal_NetBSD_AL_alctypes.h b/torque2d/patches/patch-engine_lib_openal_NetBSD_AL_alctypes.h
new file mode 100644
index 0000000..76439e1
--- /dev/null
+++ b/torque2d/patches/patch-engine_lib_openal_NetBSD_AL_alctypes.h
@@ -0,0 +1,35 @@
+$NetBSD$
+
+--- engine/lib/openal/NetBSD/AL/alctypes.h.orig	2016-07-30 11:47:19.706386947 +0000
++++ engine/lib/openal/NetBSD/AL/alctypes.h
+@@ -0,0 +1,30 @@
++#ifndef _ALCTYPES_H_
++#define _ALCTYPES_H_
++
++typedef enum {
++  ALC_INVALID,
++
++  ALC_FREQUENCY,     /* followed by <int> Hz */
++  ALC_RESOLUTION,    /* followed by <int> bits   */
++
++  ALC_BUFFERSIZE,    /* followed by <int> bytes  */
++  ALC_CHANNELS,      /* followed by <int> hardware channels */
++  /* Angst: differentiate channels by categories */
++
++  ALC_REFRESH,       /* followed by <int> Hz     */
++  ALC_MIXAHEAD,      /* followed by <int> msec   */
++
++  ALC_SOURCES,	     /* followed by ### of sources */
++  ALC_BUFFERS,	     /* followed by ### of buffers */
++
++  ALC_CD,	     /* do we want to control the CD? */
++
++  ALC_SYNC,	      /* synchronous (need alcUpdateContext) */
++
++  /* errors */
++  ALC_NO_ERROR,
++  ALC_INVALID_DEVICE,     /* No device */
++  ALC_INVALID_CONTEXT     /* invalid context ID */
++} ALCenum;
++
++#endif /* _ALCTYPES_H */
diff --git a/torque2d/patches/patch-engine_lib_openal_NetBSD_AL_altypes.h b/torque2d/patches/patch-engine_lib_openal_NetBSD_AL_altypes.h
new file mode 100644
index 0000000..76cf032
--- /dev/null
+++ b/torque2d/patches/patch-engine_lib_openal_NetBSD_AL_altypes.h
@@ -0,0 +1,349 @@
+$NetBSD$
+
+--- engine/lib/openal/NetBSD/AL/altypes.h.orig	2016-07-30 11:47:19.711373472 +0000
++++ engine/lib/openal/NetBSD/AL/altypes.h
+@@ -0,0 +1,344 @@
++#ifndef _AL_TYPES_H_
++#define _AL_TYPES_H_
++
++/** OpenAL bool type. */
++typedef char ALboolean;
++
++/** OpenAL 8bit signed byte. */
++typedef signed char ALbyte;
++
++/** OpenAL 8bit unsigned byte. */
++typedef unsigned char ALubyte;
++
++/** OpenAL 16bit signed short integer type. */
++typedef short ALshort;
++
++/** OpenAL 16bit unsigned short integer type. */
++typedef unsigned short ALushort;
++
++/** OpenAL 32bit unsigned integer type. */
++typedef unsigned int ALuint;
++
++/** OpenAL 32bit signed integer type. */
++typedef int ALint;
++
++/** OpenAL 32bit floating point type. */
++typedef float ALfloat;
++
++/** OpenAL 64bit double point type. */
++typedef double ALdouble;
++
++/** OpenAL 32bit type. */
++typedef signed int ALsizei;
++
++/** OpenAL void type (for params, not returns). */
++typedef void ALvoid;
++
++/** OpenAL enumerations. */
++typedef int ALenum;
++
++/* Enumerant values begin at column 50. No tabs. */
++
++/* bad value */
++#define AL_INVALID                                -1
++
++/* Boolean False. */
++#define AL_FALSE                                  0
++
++/** Boolean True. */
++#define AL_TRUE                                   1
++
++/**
++ * Indicate the type of AL_SOURCE.
++ * Sources can be spatialized 
++ */
++#define AL_SOURCE_TYPE                            0x0200
++
++/** Indicate Source has relative coordinates. */
++#define AL_SOURCE_RELATIVE                        0x0202
++
++/**
++ * Directional source, inner cone angle, in degrees.
++ * Range:    [0-360] 
++ * Default:  360
++ */
++#define AL_CONE_INNER_ANGLE                       0x1001
++
++/**
++ * Directional source, outer cone angle, in degrees.
++ * Range:    [0-360] 
++ * Default:  360
++ */
++#define AL_CONE_OUTER_ANGLE                       0x1002
++
++/**
++ * Specify the pitch to be applied, either at source,
++ *  or on mixer results, at listener.
++ * Range:   [0.5-2.0]
++ * Default: 1.0
++ */
++#define AL_PITCH                                  0x1003
++  
++/** 
++ * Specify the current location in three dimensional space.
++ * OpenAL, like OpenGL, uses a right handed coordinate system,
++ *  where in a frontal default view X (thumb) points right, 
++ *  Y points up (index finger), and Z points towards the
++ *  viewer/camera (middle finger). 
++ * To switch from a left handed coordinate system, flip the
++ *  sign on the Z coordinate.
++ * Listener position is always in the world coordinate system.
++ */ 
++#define AL_POSITION                               0x1004
++  
++/** Specify the current direction. */
++#define AL_DIRECTION                              0x1005
++  
++/** Specify the current velocity in three dimensional space. */
++#define AL_VELOCITY                               0x1006
++
++/**
++ * Indicate whether source is looping.
++ * Type: ALboolean?
++ * Range:   [AL_TRUE, AL_FALSE]
++ * Default: FALSE.
++ */
++#define AL_SOURCE_LOOPING                         0x1007
++
++/**
++ * Indicate whether source is meant to be streaming.
++ * Type: ALboolean?
++ * Range:   [AL_TRUE, AL_FALSE]
++ * Default: FALSE.
++ */
++#define AL_STREAMING                              0x1008
++
++/**
++ * Indicate the buffer to provide sound samples. 
++ * Type: ALuint.
++ * Range: any valid Buffer id.
++ */
++#define AL_BUFFER                                 0x1009
++  
++/**
++ * Indicate the gain (volume amplification) applied. 
++ * Type:   ALfloat.
++ * Range:  ]0.0-  ]
++ * A value of 1.0 means un-attenuated/unchanged.
++ * Each division by 2 equals an attenuation of -6dB.
++ * Each multiplicaton with 2 equals an amplification of +6dB.
++ * A value of 0.0 is meaningless with respect to a logarithmic
++ *  scale; it is interpreted as zero volume - the channel
++ *  is effectively disabled.
++ */
++#define AL_GAIN                                   0x100A
++
++/**
++ * Indicate the gain (volume amplification) applied, in a 
++ * normalized linear scale.  This affects the value retrieved
++ * by AL_GAIN.
++ *
++ * Type:   ALfloat.
++ * Range:  ]0.0-  ]
++ * A value of 1.0 means un-attenuated/unchanged.
++ * A value of 0.0 is  interpreted as zero volume - the channel
++ *  is effectively disabled.
++ */
++#define AL_GAIN_LINEAR                            0x100B
++
++/* byte offset into source (in canon format).  -1 if source
++ * is not playing.  Don't set this, get this.
++ *
++ * Type:  ALint
++ * Range: -1 - +inf
++ */
++#define AL_BYTE_LOKI                              0x100C
++
++/*
++ * Indicate minimum source attenuation
++ * Type: ALfloat
++ * Range:  [0.0 - 1.0]
++ *
++ */
++#define AL_SOURCE_ATTENUATION_MIN                 0x100D
++
++/*
++ * Indicate maximum source attenuation
++ * Type: ALfloat
++ * Range:  [0.0 - 1.0]
++ *
++ */
++#define AL_SOURCE_ATTENUATION_MAX                 0x100E
++
++/*
++ * Indicate listener orientation.
++ *
++ * at/up 
++ */
++#define AL_ORIENTATION                            0x100F
++
++
++/*
++ * Source state information.
++ */
++#define AL_SOURCE_STATE                           0x1010
++#define AL_INITIAL                                0x1011
++#define AL_PLAYING                                0x1012
++#define AL_PAUSED                                 0x1013
++#define AL_STOPPED                                0x1014
++
++
++/** Sound samples: format specifier. */
++#define AL_FORMAT_MONO8                           0x1100
++#define AL_FORMAT_MONO16                          0x1101
++#define AL_FORMAT_STEREO8                         0x1102
++#define AL_FORMAT_STEREO16                        0x1103
++
++
++/** 
++ * Sound samples: frequency, in units of Hertz [Hz].
++ * This is the number of samples per second. Half of the
++ *  sample frequency marks the maximum significant
++ *  frequency component.
++ */
++#define AL_FREQUENCY                              0x2001
++#define AL_BITS                                   0x2002
++#define AL_CHANNELS                               0x2003
++#define AL_SIZE                                   0x2004
++
++
++/** Errors: No Error. */
++#define AL_NO_ERROR                               AL_FALSE
++
++/** 
++ * Invalid Name paramater passed to AL call.
++ */
++#define AL_INVALID_NAME                           0xA001
++
++/** 
++ * Invalid parameter passed to AL call.
++ */
++#define AL_ILLEGAL_ENUM                           0xA002
++
++/** 
++ * Invalid enum parameter value.
++ */
++#define AL_INVALID_VALUE                          0xA003
++
++/** 
++ * Illegal call.
++ */
++#define AL_ILLEGAL_COMMAND                        0xA004
++  
++/**
++ * No mojo.
++ */
++#define AL_OUT_OF_MEMORY                          0xA005
++
++
++/** Context strings: Vendor Name. */
++#define AL_VENDOR                                 0xB001
++#define AL_VERSION                                0xB002
++#define AL_RENDERER                               0xB003
++#define AL_EXTENSIONS                             0xB004
++
++
++/** IASIG Level 2 Environment. */
++
++/**  
++ * Parameter:  IASIG ROOM  blah
++ * Type:       intgeger
++ * Range:      [-10000, 0]
++ * Default:    -10000 
++ */
++#define AL_ENV_ROOM_IASIG                         0x3001
++
++/**
++ * Parameter:  IASIG ROOM_HIGH_FREQUENCY
++ * Type:       integer
++ * Range:      [-10000, 0]
++ * Default:    0 
++ */
++#define AL_ENV_ROOM_HIGH_FREQUENCY_IASIG          0x3002
++
++/**
++ * Parameter:  IASIG ROOM_ROLLOFF_FACTOR
++ * Type:       float
++ * Range:      [0.0, 10.0]
++ * Default:    0.0 
++ */
++#define AL_ENV_ROOM_ROLLOFF_FACTOR_IASIG          0x3003
++
++/** 
++ * Parameter:  IASIG  DECAY_TIME
++ * Type:       float
++ * Range:      [0.1, 20.0]
++ * Default:    1.0 
++ */
++#define AL_ENV_DECAY_TIME_IASIG                   0x3004
++
++/**
++ * Parameter:  IASIG DECAY_HIGH_FREQUENCY_RATIO
++ * Type:       float
++ * Range:      [0.1, 2.0]
++ * Default:    0.5
++ */
++#define AL_ENV_DECAY_HIGH_FREQUENCY_RATIO_IASIG   0x3005
++
++/**
++ * Parameter:  IASIG REFLECTIONS
++ * Type:       integer
++ * Range:      [-10000, 1000]
++ * Default:    -10000
++ */
++#define AL_ENV_REFLECTIONS_IASIG                  0x3006
++
++/**
++ * Parameter:  IASIG REFLECTIONS_DELAY
++ * Type:       float
++ * Range:      [0.0, 0.3]
++ * Default:    0.02
++ */
++#define AL_ENV_REFLECTIONS_DELAY_IASIG            0x3006
++
++/**
++ * Parameter:  IASIG REVERB
++ * Type:       integer
++ * Range:      [-10000,2000]
++ * Default:    -10000
++ */
++#define AL_ENV_REVERB_IASIG                       0x3007
++
++/**
++ * Parameter:  IASIG REVERB_DELAY
++ * Type:       float
++ * Range:      [0.0, 0.1]
++ * Default:    0.04
++ */
++#define AL_ENV_REVERB_DELAY_IASIG                 0x3008
++
++/**
++ * Parameter:  IASIG DIFFUSION
++ * Type:       float
++ * Range:      [0.0, 100.0]
++ * Default:    100.0
++ */
++#define AL_ENV_DIFFUSION_IASIG                    0x3009
++
++/**
++ * Parameter:  IASIG DENSITY
++ * Type:       float
++ * Range:      [0.0, 100.0]
++ * Default:    100.0
++ */
++#define AL_ENV_DENSITY_IASIG                      0x300A
++  
++  /**
++ * Parameter:  IASIG HIGH_FREQUENCY_REFERENCE
++ * Type:       float
++ * Range:      [20.0, 20000.0]
++ * Default:    5000.0
++ */
++#define AL_ENV_HIGH_FREQUENCY_REFERENCE_IASIG     0x300B
++
++#endif
diff --git a/torque2d/patches/patch-engine_lib_openal_NetBSD_AL_alu.h b/torque2d/patches/patch-engine_lib_openal_NetBSD_AL_alu.h
new file mode 100644
index 0000000..c8d0f09
--- /dev/null
+++ b/torque2d/patches/patch-engine_lib_openal_NetBSD_AL_alu.h
@@ -0,0 +1,42 @@
+$NetBSD$
+
+--- engine/lib/openal/NetBSD/AL/alu.h.orig	2016-07-30 11:47:19.716277314 +0000
++++ engine/lib/openal/NetBSD/AL/alu.h
+@@ -0,0 +1,37 @@
++#ifndef __alu_h_
++#define __alu_h_
++
++#ifdef _WIN32
++#define ALAPI       __declspec(dllexport)
++#define ALAPIENTRY  __cdecl
++#else  /* _WIN32 */
++#define ALAPI
++#define ALAPIENTRY
++#define AL_CALLBACK
++#endif /* _WIN32 */
++
++#include <AL/al.h>
++#include <AL/alutypes.h>
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++#ifndef AL_NO_PROTOTYPES
++
++
++
++#else
++
++
++
++
++
++#endif /* AL_NO_PROTOTYPES */
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* __alu_h_ */
++
diff --git a/torque2d/patches/patch-engine_lib_openal_NetBSD_AL_alut.h b/torque2d/patches/patch-engine_lib_openal_NetBSD_AL_alut.h
new file mode 100644
index 0000000..efdc191
--- /dev/null
+++ b/torque2d/patches/patch-engine_lib_openal_NetBSD_AL_alut.h
@@ -0,0 +1,58 @@
+$NetBSD$
+
+--- engine/lib/openal/NetBSD/AL/alut.h.orig	2016-07-30 11:47:19.721126517 +0000
++++ engine/lib/openal/NetBSD/AL/alut.h
+@@ -0,0 +1,53 @@
++#ifndef _ALUT_H_
++#define _ALUT_H_
++
++#include <AL/altypes.h>
++#include <AL/aluttypes.h>
++
++#ifdef _WIN32
++#define ALAPI         __declspec(dllexport)
++#define ALAPIENTRY    __cdecl
++#define AL_CALLBACK
++#else  /* _WIN32 */
++#define ALAPI
++#define ALAPIENTRY
++#define AL_CALLBACK
++#endif /* _WIN32 */
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++#ifndef AL_NO_PROTOTYPES
++
++ALAPI void ALAPIENTRY alutInit(int *argc, char *argv[]);
++ALAPI void ALAPIENTRY alutExit(ALvoid);
++
++ALAPI ALboolean ALAPIENTRY alutLoadWAV( const char *fname,
++                        ALvoid **wave,
++			ALsizei *format,
++			ALsizei *size,
++			ALsizei *bits,
++			ALsizei *freq );
++
++#else
++//
++//      void 	(*alutInit)(int *argc, char *argv[]);
++//      void 	(*alutExit)(ALvoid);
++//
++//      ALboolean 	(*alutLoadWAV)( const char *fname,
++//                        ALvoid **wave,
++//			ALsizei *format,
++//			ALsizei *size,
++//			ALsizei *bits,
++//			ALsizei *freq );
++//
++//
++#endif /* AL_NO_PROTOTYPES */
++
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif
diff --git a/torque2d/patches/patch-engine_lib_openal_NetBSD_AL_aluttypes.h b/torque2d/patches/patch-engine_lib_openal_NetBSD_AL_aluttypes.h
new file mode 100644
index 0000000..d742817
--- /dev/null
+++ b/torque2d/patches/patch-engine_lib_openal_NetBSD_AL_aluttypes.h
@@ -0,0 +1,10 @@
+$NetBSD$
+
+--- engine/lib/openal/NetBSD/AL/aluttypes.h.orig	2016-07-30 11:47:19.726046873 +0000
++++ engine/lib/openal/NetBSD/AL/aluttypes.h
+@@ -0,0 +1,5 @@
++#ifndef _ALUTTYPES_H_
++#define _ALUTTYPES_H_
++
++
++#endif /* _ALUTTYPES_H_ */
diff --git a/torque2d/patches/patch-engine_lib_openal_NetBSD_AL_alutypes.h b/torque2d/patches/patch-engine_lib_openal_NetBSD_AL_alutypes.h
new file mode 100644
index 0000000..10870dd
--- /dev/null
+++ b/torque2d/patches/patch-engine_lib_openal_NetBSD_AL_alutypes.h
@@ -0,0 +1,10 @@
+$NetBSD$
+
+--- engine/lib/openal/NetBSD/AL/alutypes.h.orig	2016-07-30 11:47:19.730920138 +0000
++++ engine/lib/openal/NetBSD/AL/alutypes.h
+@@ -0,0 +1,5 @@
++#ifndef _ALUTYPES_H_
++#define _ALUTYPES_H_
++
++
++#endif /* _ALUTYPES_H_ */
diff --git a/torque2d/patches/patch-engine_lib_openal_NetBSD_openALFn.h b/torque2d/patches/patch-engine_lib_openal_NetBSD_openALFn.h
new file mode 100644
index 0000000..54d07c5
--- /dev/null
+++ b/torque2d/patches/patch-engine_lib_openal_NetBSD_openALFn.h
@@ -0,0 +1,106 @@
+$NetBSD$
+
+--- engine/lib/openal/NetBSD/openALFn.h.orig	2016-07-30 11:47:19.735825363 +0000
++++ engine/lib/openal/NetBSD/openALFn.h
+@@ -0,0 +1,101 @@
++#ifndef AL_FUNCTION
++#define AL_FUNCTION(fn_return, fn_name, fn_args);
++#endif
++
++#ifndef AL_EXTENSION
++#define AL_EXTENSION(ext_name)
++#endif
++
++#ifndef AL_EXT_FUNCTION
++#define AL_EXT_FUNCTION(ext_name, fn_return, fn_name, fn_args)
++#endif
++
++// AL functions
++AL_FUNCTION(ALvoid, alEnable, ( ALenum capability ))
++AL_FUNCTION(ALvoid, alDisable, ( ALenum capability ))
++AL_FUNCTION(ALboolean, alIsEnabled, ( ALenum capability ))
++AL_FUNCTION(ALvoid, alHint, ( ALenum target, ALenum mode ))
++AL_FUNCTION(ALboolean, alGetBoolean, ( ALenum param ))
++AL_FUNCTION(ALint, alGetInteger, ( ALenum param ))
++AL_FUNCTION(ALfloat, alGetFloat, ( ALenum param ))
++AL_FUNCTION(ALdouble, alGetDouble, ( ALenum param ))
++AL_FUNCTION(ALvoid, alGetBooleanv, ( ALenum param, ALboolean* data ))
++AL_FUNCTION(ALvoid, alGetIntegerv, ( ALenum param, ALint* data ))
++AL_FUNCTION(ALvoid, alGetFloatv, ( ALenum param, ALfloat* data ))
++AL_FUNCTION(ALvoid, alGetDoublev, ( ALenum param, ALdouble* data ))
++AL_FUNCTION(const ALubyte*, alGetString, ( ALenum param ))
++AL_FUNCTION(ALenum, alGetError, ( ALvoid ))
++AL_FUNCTION(ALboolean, alIsExtensionPresent, ( const ALubyte* fname ))
++AL_FUNCTION(ALvoid*, alGetProcAddress, ( const ALubyte* fname ))
++AL_FUNCTION(ALenum, alGetEnumValue, ( const ALubyte* ename ))
++AL_FUNCTION(ALvoid, alListenerf, ( ALenum pname, ALfloat param ))
++AL_FUNCTION(ALvoid, alListener3f, ( ALenum pname, ALfloat param1, ALfloat param2, ALfloat param3 ))
++AL_FUNCTION(ALvoid, alListenerfv, ( ALenum pname, ALfloat* param ))
++AL_FUNCTION(ALvoid, alGetListeneri, ( ALenum pname, ALint* value ))
++AL_FUNCTION(ALvoid, alGetListenerf, ( ALenum pname, ALfloat* values ))
++AL_FUNCTION(ALvoid, alGetListenerfv, ( ALenum pname, ALfloat* values ))
++AL_FUNCTION(ALvoid, alGenSources, ( ALsizei n, ALuint* sources ))
++AL_FUNCTION(ALvoid, alDeleteSources, ( ALsizei n, ALuint* sources ))
++AL_FUNCTION(ALboolean, alIsSource, ( ALuint sid ))
++AL_FUNCTION(ALvoid, alSourcei, ( ALuint sid, ALenum param, ALint value ))
++AL_FUNCTION(ALvoid, alSourcef, ( ALuint sid, ALenum param, ALfloat value ))
++AL_FUNCTION(ALvoid, alSource3f, ( ALuint sid, ALenum param, ALfloat v1, ALfloat v2, ALfloat v3 ))
++AL_FUNCTION(ALvoid, alSourcefv, ( ALuint sid, ALenum param, ALfloat* values ))
++AL_FUNCTION(ALvoid, alGetSourcei, ( ALuint sid, ALenum pname, ALint* value ))
++AL_FUNCTION(ALvoid, alGetSourcef, ( ALuint sid, ALenum pname, ALfloat* value ))
++AL_FUNCTION(ALvoid, alGetSourcefv, ( ALuint sid, ALenum pname, ALfloat* values ))
++AL_FUNCTION(ALvoid, alSourcePlayv, ( ALuint ns, ALuint* ids ))
++AL_FUNCTION(ALvoid, alSourceStopv, ( ALuint ns, ALuint* ids ))
++AL_FUNCTION(ALvoid, alSourcePlay, ( ALuint sid ))
++AL_FUNCTION(ALvoid, alSourcePause, ( ALuint sid ))
++AL_FUNCTION(ALvoid, alSourceStop, ( ALuint sid ))
++AL_FUNCTION(ALvoid, alGenBuffers, ( ALsizei n, ALuint* samples ))
++AL_FUNCTION(ALvoid, alDeleteBuffers, ( ALsizei n, ALuint* samples ))
++AL_FUNCTION(ALboolean, alIsBuffer, ( ALuint buffer ))
++AL_FUNCTION(ALvoid, alBufferData, ( ALuint buffer, ALenum format, ALvoid* data, ALsizei size, ALsizei freq ))
++AL_FUNCTION(ALsizei, alBufferAppendData, ( ALuint buffer, ALenum format, ALvoid* data, ALsizei size, ALsizei freq ))
++AL_FUNCTION(ALvoid, alGetBufferi, ( ALuint buffer, ALenum param, ALint*   value ))
++AL_FUNCTION(ALvoid, alGetBufferf, ( ALuint buffer, ALenum param, ALfloat* value ))
++
++// ALC functions
++AL_FUNCTION(ALvoid*, alcCreateContext, ( ALint* attrlist ))
++AL_FUNCTION(ALCenum, alcMakeContextCurrent, ( ALvoid* context ))
++AL_FUNCTION(ALvoid*, alcUpdateContext, ( ALvoid* context ))
++AL_FUNCTION(ALCenum, alcDestroyContext, ( ALvoid* context ))
++AL_FUNCTION(ALCenum, alcGetError, ( ALvoid ))
++AL_FUNCTION(const ALubyte *, alcGetErrorString, ( ALvoid ))
++AL_FUNCTION(ALvoid*, alcGetCurrentContext, ( ALvoid ))
++
++// ALUT functions
++AL_FUNCTION(void, alutInit, ( int* argc, char** argv ))
++AL_FUNCTION(void, alutExit, ( ALvoid ))
++AL_FUNCTION(ALboolean, alutLoadWAV, ( const char* fname, ALvoid** data, ALsizei* format, ALsizei* size, ALsizei* bits, ALsizei* freq ))
++
++// Extensions
++AL_EXTENSION(AL_EXT_IASIG)
++AL_EXT_FUNCTION(AL_EXT_IASIG, ALvoid, alGenEnvironmentIASIG, ( ALsizei n, ALuint* environs ))
++AL_EXT_FUNCTION(AL_EXT_IASIG, ALvoid, alDeleteEnvironmentIASIG, ( ALsizei n, ALuint* environs ))
++AL_EXT_FUNCTION(AL_EXT_IASIG, ALboolean, alIsEnvironmentIASIG, ( ALuint environment ))
++AL_EXT_FUNCTION(AL_EXT_IASIG, ALvoid, alEnvironmentiIASIG, ( ALuint eid, ALenum param, ALint value ))
++
++AL_EXTENSION(AL_EXT_DYNAMIX)
++AL_EXT_FUNCTION(AL_EXT_DYNAMIX, ALboolean, alBufferi_EXT, ( ALuint buffer, ALenum pname, ALint value ))
++AL_EXT_FUNCTION(AL_EXT_DYNAMIX, ALboolean, alBufferSyncData_EXT, ( ALuint buffer, ALenum format, ALvoid* data, ALsizei size, ALsizei freq ))
++AL_EXT_FUNCTION(AL_EXT_DYNAMIX, ALboolean, alBufferStreamFile_EXT, ( ALuint buffer, const ALubyte* filename ))
++AL_EXT_FUNCTION(AL_EXT_DYNAMIX, ALboolean, alSourceCallback_EXT, ( ALuint source, ALvoid* callback ))
++AL_EXT_FUNCTION(AL_EXT_DYNAMIX, ALvoid, alSourceResetEnvironment_EXT, ( ALuint source ))
++AL_EXT_FUNCTION(AL_EXT_DYNAMIX, ALboolean, alContexti_EXT, ( ALenum pname, ALint value ))
++AL_EXT_FUNCTION(AL_EXT_DYNAMIX, ALboolean, alGetContexti_EXT, ( ALenum pname, ALint* value ))
++AL_EXT_FUNCTION(AL_EXT_DYNAMIX, ALboolean, alGetContextstr_EXT, ( ALenum pname, ALuint idx, ALubyte** value ))
++AL_EXT_FUNCTION(AL_EXT_DYNAMIX, ALboolean, alCaptureInit_EXT, ( ALenum format, ALuint rate, ALsizei bufferSize ))
++AL_EXT_FUNCTION(AL_EXT_DYNAMIX, ALboolean, alCaptureDestroy_EXT, ( ALvoid ))
++AL_EXT_FUNCTION(AL_EXT_DYNAMIX, ALboolean, alCaptureStart_EXT, ( ALvoid ))
++AL_EXT_FUNCTION(AL_EXT_DYNAMIX, ALboolean, alCaptureStop_EXT, ( ALvoid ))
++AL_EXT_FUNCTION(AL_EXT_DYNAMIX, ALsizei, alCaptureGetData_EXT, ( ALvoid* data, ALsizei n, ALenum format, ALuint rate ))
++AL_EXT_FUNCTION(AL_EXT_DYNAMIX, ALvoid, alEnvironmentfIASIG, ( ALuint eid, ALenum param, ALfloat value ))
++AL_EXT_FUNCTION(AL_EXT_DYNAMIX, ALvoid, alGetEnvironmentiIASIG_EXT, ( ALuint eid, ALenum param, ALint * value ))
++AL_EXT_FUNCTION(AL_EXT_DYNAMIX, ALvoid, alGetEnvironmentfIASIG_EXT, ( ALuint eid, ALenum param, ALfloat * value ))
++
++#undef AL_EXTENSION
++#undef AL_FUNCTION
++#undef AL_EXT_FUNCTION
diff --git a/torque2d/patches/patch-engine_source_audio_audio.cc b/torque2d/patches/patch-engine_source_audio_audio.cc
new file mode 100644
index 0000000..d4cf386
--- /dev/null
+++ b/torque2d/patches/patch-engine_source_audio_audio.cc
@@ -0,0 +1,40 @@
+$NetBSD$
+
+--- engine/source/audio/audio.cc.orig	2016-04-04 01:25:01.000000000 +0000
++++ engine/source/audio/audio.cc
+@@ -2499,7 +2499,7 @@ bool OpenALInit()
+       return false;
+ 
+    // Create an openAL context
+-#if defined(TORQUE_OS_LINUX) || defined(TORQUE_OS_OPENBSD)
++#if defined(TORQUE_OS_LINUX) || defined(TORQUE_OS_OPENBSD) || defined(TORQUE_OS_NETBSD)
+    int freq = Con::getIntVariable("Pref::Unix::OpenALFrequency");
+    if (freq == 0)
+       freq = 22050;
+@@ -2529,7 +2529,7 @@ bool OpenALInit()
+       return false;
+ 
+    // Make this context the active context
+-#if defined(TORQUE_OS_ANDROID) || defined(TORQUE_OS_LINUX) || defined(TORQUE_OS_EMSCRIPTEN) || defined(TORQUE_OS_OPENBSD)
++#if defined(TORQUE_OS_ANDROID) || defined(TORQUE_OS_LINUX) || defined(TORQUE_OS_EMSCRIPTEN) || defined(TORQUE_OS_OPENBSD) || defined(TORQUE_OS_NETBSD)
+    alcMakeContextCurrent((ALCcontext*)mContext);
+ #else
+    alcMakeContextCurrent(mContext);
+@@ -2629,7 +2629,7 @@ void OpenALShutdown()
+ 
+    if (mContext)
+    {
+-#if defined(TORQUE_OS_ANDROID) || defined(TORQUE_OS_LINUX) || defined(TORQUE_OS_OPENBSD)
++#if defined(TORQUE_OS_ANDROID) || defined(TORQUE_OS_LINUX) || defined(TORQUE_OS_OPENBSD) || defined(TORQUE_OS_NETBSD)
+ 	   alcDestroyContext((ALCcontext*)mContext);
+ #elif defined(TORQUE_OS_EMSCRIPTEN)
+       alcDestroyContext((ALCcontext*)mContext);
+@@ -2641,7 +2641,7 @@ void OpenALShutdown()
+    }
+    if (mDevice)
+    {
+-#if defined(TORQUE_OS_ANDROID) || defined(TORQUE_OS_LINUX) || defined(TORQUE_OS_OPENBSD)
++#if defined(TORQUE_OS_ANDROID) || defined(TORQUE_OS_LINUX) || defined(TORQUE_OS_OPENBSD) || defined(TORQUE_OS_NETBSD)
+ 	   alcCloseDevice((ALCdevice*)mDevice);
+ #elif defined(TORQUE_OS_EMSCRIPTEN)
+       alcCloseDevice((ALCdevice*)mDevice);
diff --git a/torque2d/patches/patch-engine_source_network_serverQuery.cc b/torque2d/patches/patch-engine_source_network_serverQuery.cc
new file mode 100644
index 0000000..e42893e
--- /dev/null
+++ b/torque2d/patches/patch-engine_source_network_serverQuery.cc
@@ -0,0 +1,22 @@
+$NetBSD$
+
+--- engine/source/network/serverQuery.cc.orig	2016-04-04 01:25:01.000000000 +0000
++++ engine/source/network/serverQuery.cc
+@@ -1459,7 +1459,7 @@ static void handleGameMasterInfoRequest(
+       temp32 = getVersionNumber();
+       out->write( temp32 );
+       temp8 = 0;
+-#if defined(TORQUE_OS_LINUX) || defined(TORQUE_OS_OPENBSD)
++#if defined(TORQUE_OS_LINUX) || defined(TORQUE_OS_OPENBSD) || defined(TORQUE_OS_NETBSD)
+       temp8 |= ServerInfo::Status_Linux;
+ #endif
+       if ( Con::getBoolVariable( "Server::Dedicated" ) )
+@@ -1717,7 +1717,7 @@ static void handleGameInfoRequest( const
+       }
+ 
+       U8 status = 0;
+-#if defined(TORQUE_OS_LINUX) || defined(TORQUE_OS_OPENBSD)
++#if defined(TORQUE_OS_LINUX) || defined(TORQUE_OS_OPENBSD) || defined(TORQUE_OS_NETBSD)
+       status |= ServerInfo::Status_Linux;
+ #endif
+       if ( Con::getBoolVariable( "Server::Dedicated" ) )
diff --git a/torque2d/patches/patch-engine_source_platformEmscripten_EmscriptenFileio.cpp b/torque2d/patches/patch-engine_source_platformEmscripten_EmscriptenFileio.cpp
new file mode 100644
index 0000000..35e1e92
--- /dev/null
+++ b/torque2d/patches/patch-engine_source_platformEmscripten_EmscriptenFileio.cpp
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- engine/source/platformEmscripten/EmscriptenFileio.cpp.orig	2016-04-04 01:25:01.000000000 +0000
++++ engine/source/platformEmscripten/EmscriptenFileio.cpp
+@@ -55,7 +55,7 @@
+ #include "io/resource/resourceManager.h"
+ #include "game/gameInterface.h" 
+ 
+-#if defined(__FreeBSD__)
++#if defined(__FreeBSD__) || defined(__NetBSD__)
+   #include <sys/types.h>
+ #endif
+ #include <utime.h>
diff --git a/torque2d/patches/patch-engine_source_platformX86UNIX_x86UNIXFileio.cc b/torque2d/patches/patch-engine_source_platformX86UNIX_x86UNIXFileio.cc
new file mode 100644
index 0000000..aea8c4f
--- /dev/null
+++ b/torque2d/patches/patch-engine_source_platformX86UNIX_x86UNIXFileio.cc
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- engine/source/platformX86UNIX/x86UNIXFileio.cc.orig	2016-04-04 01:25:01.000000000 +0000
++++ engine/source/platformX86UNIX/x86UNIXFileio.cc
+@@ -57,7 +57,7 @@
+  #include "io/resource/resourceManager.h"
+  #include "game/gameInterface.h" 
+ 
+- #if defined(__FreeBSD__)
++ #if defined(__FreeBSD__) || defined(__NetBSD__)
+     #include <sys/types.h>
+  #endif
+  #include <utime.h>
diff --git a/torque2d/patches/patch-engine_source_platformX86UNIX_x86UNIXNet.cc b/torque2d/patches/patch-engine_source_platformX86UNIX_x86UNIXNet.cc
new file mode 100644
index 0000000..4934f4e
--- /dev/null
+++ b/torque2d/patches/patch-engine_source_platformX86UNIX_x86UNIXNet.cc
@@ -0,0 +1,20 @@
+$NetBSD$
+
+--- engine/source/platformX86UNIX/x86UNIXNet.cc.orig	2016-04-04 01:25:01.000000000 +0000
++++ engine/source/platformX86UNIX/x86UNIXNet.cc
+@@ -39,12 +39,14 @@
+ #include <net/if_ppp.h>
+ #include <sys/ioctl.h>   /* ioctl() */
+ #include <net/ppp_defs.h>
+-#elif defined(__OpenBSD__) || defined(__FreeBSD__)
++#elif defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__)
+ #include <sys/ioctl.h>   /* ioctl() */
+ #include <net/ppp_defs.h>
+ #endif
+ 
++#if !defined(__NetBSD__)
+ #include <netipx/ipx.h>
++#endif
+ #include <stdlib.h>
+ 
+ #include "console/console.h"
diff --git a/torque2d/patches/patch-engine_source_platformX86UNIX_x86UNIXProcessControl.cc b/torque2d/patches/patch-engine_source_platformX86UNIX_x86UNIXProcessControl.cc
new file mode 100644
index 0000000..5f3095d
--- /dev/null
+++ b/torque2d/patches/patch-engine_source_platformX86UNIX_x86UNIXProcessControl.cc
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- engine/source/platformX86UNIX/x86UNIXProcessControl.cc.orig	2016-04-04 01:25:01.000000000 +0000
++++ engine/source/platformX86UNIX/x86UNIXProcessControl.cc
+@@ -145,7 +145,7 @@ void ProcessControlInit()
+ 
+    // we're not interested in the exit status of child processes, so this 
+    // prevents zombies from accumulating.
+-#if defined(__FreeBSD__) || defined(__OpenBSD__)
++#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
+    signal(SIGCHLD, SIG_IGN);
+ #else
+    signal(SIGCLD, SIG_IGN);
diff --git a/torque2d/patches/patch-engine_source_platformX86UNIX_x86UNIXWindow.cc b/torque2d/patches/patch-engine_source_platformX86UNIX_x86UNIXWindow.cc
new file mode 100644
index 0000000..130f95d
--- /dev/null
+++ b/torque2d/patches/patch-engine_source_platformX86UNIX_x86UNIXWindow.cc
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- engine/source/platformX86UNIX/x86UNIXWindow.cc.orig	2016-04-04 01:25:01.000000000 +0000
++++ engine/source/platformX86UNIX/x86UNIXWindow.cc
+@@ -675,6 +675,8 @@ void Platform::init()
+    Con::setVariable( "$platformUnixType", "Linux" );
+ #elif defined(__OpenBSD__)
+    Con::setVariable( "$platformUnixType", "OpenBSD" );
++#elif defined(__NetBSD__)
++   Con::setVariable( "$platformUnixType", "NetBSD" );
+ #else
+    Con::setVariable( "$platformUnixType", "Unknown" );
+ #endif
diff --git a/torque2d/patches/patch-engine_source_platform_platformAL.h b/torque2d/patches/patch-engine_source_platform_platformAL.h
new file mode 100644
index 0000000..d476653
--- /dev/null
+++ b/torque2d/patches/patch-engine_source_platform_platformAL.h
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- engine/source/platform/platformAL.h.orig	2016-04-04 01:25:01.000000000 +0000
++++ engine/source/platform/platformAL.h
+@@ -35,7 +35,7 @@
+ //Android uses openal soft from https://github.com/AerialX/openal-soft-android
+ #include <AL/al.h>
+ #include <AL/alc.h>
+-#elif defined(TORQUE_OS_LINUX) || defined(TORQUE_OS_OPENBSD)
++#elif defined(TORQUE_OS_LINUX) || defined(TORQUE_OS_OPENBSD) || defined(TORQUE_OS_NETBSD)
+ #include <AL/al.h>
+ #include <AL/alc.h>
+ #include "platform/eaxtypes.h"
diff --git a/torque2d/patches/patch-engine_source_platform_platformFileIO.h b/torque2d/patches/patch-engine_source_platform_platformFileIO.h
new file mode 100644
index 0000000..52ff7e8
--- /dev/null
+++ b/torque2d/patches/patch-engine_source_platform_platformFileIO.h
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- engine/source/platform/platformFileIO.h.orig	2016-04-04 01:25:01.000000000 +0000
++++ engine/source/platform/platformFileIO.h
+@@ -26,7 +26,7 @@
+ #include "platform/platform.h"
+ #endif
+ 
+-#if defined(TORQUE_OS_LINUX) || defined(TORQUE_OS_OPENBSD)
++#if defined(TORQUE_OS_LINUX) || defined(TORQUE_OS_OPENBSD) || defined(TORQUE_OS_NETBSD)
+ // Need to remove this once Xlib stops leaking
+ #undef Status
+ #endif
diff --git a/torque2d/patches/patch-engine_source_platform_platformGL.h b/torque2d/patches/patch-engine_source_platform_platformGL.h
new file mode 100644
index 0000000..b13a239
--- /dev/null
+++ b/torque2d/patches/patch-engine_source_platform_platformGL.h
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- engine/source/platform/platformGL.h.orig	2016-04-04 01:25:01.000000000 +0000
++++ engine/source/platform/platformGL.h
+@@ -26,7 +26,7 @@
+ #include "platformOSX/platformGL.h"
+ #elif defined(TORQUE_OS_WIN32)
+ #include "platformWin32/platformGL.h"
+-#elif defined(TORQUE_OS_LINUX) || defined(TORQUE_OS_OPENBSD) || defined(TORQUE_OS_FREEBSD)
++#elif defined(TORQUE_OS_LINUX) || defined(TORQUE_OS_OPENBSD) || defined(TORQUE_OS_FREEBSD) || defined(TORQUE_OS_NETBSD)
+ #include "platformX86UNIX/platformGL.h"
+ #elif defined(TORQUE_OS_IOS)
+ #include "platformiOS/platformGL.h"
diff --git a/torque2d/patches/patch-engine_source_platform_types.gcc.h b/torque2d/patches/patch-engine_source_platform_types.gcc.h
new file mode 100644
index 0000000..21b40f7
--- /dev/null
+++ b/torque2d/patches/patch-engine_source_platform_types.gcc.h
@@ -0,0 +1,18 @@
+$NetBSD$
+
+--- engine/source/platform/types.gcc.h.orig	2016-04-04 01:25:01.000000000 +0000
++++ engine/source/platform/types.gcc.h
+@@ -91,6 +91,13 @@ typedef unsigned long long  U64;
+ #  define TORQUE_SUPPORTS_GCC_INLINE_X86_ASM
+ #  include "platform/types.posix.h"
+ 
++#elif defined(__NetBSD__)
++#  define TORQUE_OS_STRING "NetBSD"
++#  define TORQUE_OS_NETBSD
++#  define TORQUE_SUPPORTS_NASM
++#  define TORQUE_SUPPORTS_GCC_INLINE_X86_ASM
++#  include "platform/types.posix.h"
++
+ #elif defined(TORQUE_OS_IOS)
+ 	#ifndef TORQUE_OS_IOS
+ 		#define TORQUE_OS_IOS
diff --git a/torque2d/patches/patch-engine_source_testing_googleTest_configure b/torque2d/patches/patch-engine_source_testing_googleTest_configure
new file mode 100644
index 0000000..5e29b0b
--- /dev/null
+++ b/torque2d/patches/patch-engine_source_testing_googleTest_configure
@@ -0,0 +1,18 @@
+$NetBSD$
+
+--- engine/source/testing/googleTest/configure.orig	2016-04-04 01:25:01.000000000 +0000
++++ engine/source/testing/googleTest/configure
+@@ -14861,7 +14861,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+ 
+        have_pthreads="$acx_pthread_ok"
+ fi
+- if test "x$have_pthreads" == "xyes"; then
++ if test "x$have_pthreads" = "xyes"; then
+   HAVE_PTHREADS_TRUE=
+   HAVE_PTHREADS_FALSE='#'
+ else
+@@ -17479,4 +17479,3 @@ if test -n "$ac_unrecognized_opts" && te
+   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+ $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+ fi
+-


Home | Main Index | Thread Index | Old Index