mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-16 09:04:38 +00:00
Source changes needed for Linux build.
This commit is contained in:
parent
109a766748
commit
d2700f881c
16 changed files with 73 additions and 27 deletions
|
|
@ -67,6 +67,9 @@ NvRemoveTjunctions.cpp : A code snippet to remove tjunctions from a triangle mes
|
||||||
#include "NvHashMap.h"
|
#include "NvHashMap.h"
|
||||||
#include "NvRemoveTjunctions.h"
|
#include "NvRemoveTjunctions.h"
|
||||||
#include "NvFloatMath.h"
|
#include "NvFloatMath.h"
|
||||||
|
#ifdef LINUX
|
||||||
|
#include <climits>
|
||||||
|
#endif
|
||||||
|
|
||||||
#pragma warning(disable:4189)
|
#pragma warning(disable:4189)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,11 @@
|
||||||
#include "console/consoleTypes.h"
|
#include "console/consoleTypes.h"
|
||||||
#include "scene/sceneRenderState.h"
|
#include "scene/sceneRenderState.h"
|
||||||
#include "T3D/gameBase/gameProcess.h"
|
#include "T3D/gameBase/gameProcess.h"
|
||||||
|
#ifdef _WIN32
|
||||||
|
#include "BulletMultiThreaded/Win32ThreadSupport.h"
|
||||||
|
#elif defined (USE_PTHREADS)
|
||||||
|
#include "BulletMultiThreaded/PosixThreadSupport.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
BtWorld::BtWorld() :
|
BtWorld::BtWorld() :
|
||||||
mProcessList( NULL ),
|
mProcessList( NULL ),
|
||||||
|
|
|
||||||
|
|
@ -252,7 +252,7 @@ const EngineTypeInfo* _MAPTYPE() { return TYPE< T >(); }
|
||||||
extern S32 type; \
|
extern S32 type; \
|
||||||
extern const char* castConsoleTypeToString( _ConsoleConstType< nativeType >::ConstType &arg ); \
|
extern const char* castConsoleTypeToString( _ConsoleConstType< nativeType >::ConstType &arg ); \
|
||||||
extern bool castConsoleTypeFromString( nativeType &arg, const char *str ); \
|
extern bool castConsoleTypeFromString( nativeType &arg, const char *str ); \
|
||||||
template<> extern S32 TYPEID< nativeType >();
|
template<> S32 TYPEID< nativeType >();
|
||||||
|
|
||||||
#define DefineUnmappedConsoleType( type, nativeType ) \
|
#define DefineUnmappedConsoleType( type, nativeType ) \
|
||||||
DefineConsoleType( type, nativeType ) \
|
DefineConsoleType( type, nativeType ) \
|
||||||
|
|
|
||||||
|
|
@ -416,7 +416,7 @@ namespace _Private {
|
||||||
|
|
||||||
|
|
||||||
#define _DECLARE_TYPE( type ) \
|
#define _DECLARE_TYPE( type ) \
|
||||||
template<> extern const EngineTypeInfo* TYPE< type >(); \
|
template<> const EngineTypeInfo* TYPE< type >(); \
|
||||||
template<> struct _SCOPE< type > { \
|
template<> struct _SCOPE< type > { \
|
||||||
EngineExportScope& operator()() const { \
|
EngineExportScope& operator()() const { \
|
||||||
return *reinterpret_cast< EngineExportScope* >( \
|
return *reinterpret_cast< EngineExportScope* >( \
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,9 @@
|
||||||
#include "platform/event.h"
|
#include "platform/event.h"
|
||||||
#include "gfx/gfxDrawUtil.h"
|
#include "gfx/gfxDrawUtil.h"
|
||||||
#include "gui/controls/guiTextEditCtrl.h"
|
#include "gui/controls/guiTextEditCtrl.h"
|
||||||
#include "gui/editor/editorFunctions.h"
|
#ifdef TORQUE_TOOLS
|
||||||
|
#include "gui/editor/editorFunctions.h"
|
||||||
|
#endif
|
||||||
#include "console/engineAPI.h"
|
#include "console/engineAPI.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -4042,7 +4044,10 @@ void GuiTreeViewCtrl::onRenderCell(Point2I offset, Point2I cell, bool, bool )
|
||||||
// If this item is a VirtualParent we can use the generic SimGroup123 icons.
|
// If this item is a VirtualParent we can use the generic SimGroup123 icons.
|
||||||
// However if there is already an icon in the EditorIconRegistry for this
|
// However if there is already an icon in the EditorIconRegistry for this
|
||||||
// exact class (not counting parent class icons) we want to use that instead.
|
// exact class (not counting parent class icons) we want to use that instead.
|
||||||
bool hasClassIcon = gEditorIcons.hasIconNoRecurse( pObject );
|
bool hasClassIcon = false;
|
||||||
|
#ifdef TORQUE_TOOLS
|
||||||
|
hasClassIcon = gEditorIcons.hasIconNoRecurse( pObject );
|
||||||
|
#endif
|
||||||
|
|
||||||
// draw the icon associated with the item
|
// draw the icon associated with the item
|
||||||
if ( !hasClassIcon && item->mState.test(Item::VirtualParent))
|
if ( !hasClassIcon && item->mState.test(Item::VirtualParent))
|
||||||
|
|
@ -5280,7 +5285,10 @@ void GuiTreeViewCtrl::onRenameValidate()
|
||||||
|
|
||||||
if ( mRenameInternal )
|
if ( mRenameInternal )
|
||||||
obj->setInternalName( data );
|
obj->setInternalName( data );
|
||||||
else if ( validateObjectName( data, obj ) )
|
else
|
||||||
|
#ifdef TORQUE_TOOLS
|
||||||
|
if ( validateObjectName( data, obj ) )
|
||||||
|
#endif
|
||||||
obj->assignName( data );
|
obj->assignName( data );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@
|
||||||
#include "gfx/gfxDevice.h"
|
#include "gfx/gfxDevice.h"
|
||||||
#include "core/util/safeDelete.h"
|
#include "core/util/safeDelete.h"
|
||||||
|
|
||||||
#ifndef TORQUE_OS_MAC
|
#if !defined( TORQUE_OS_MAC ) && !defined( TORQUE_OS_LINUX )
|
||||||
# include "lighting/advanced/hlsl/gBufferConditionerHLSL.h"
|
# include "lighting/advanced/hlsl/gBufferConditionerHLSL.h"
|
||||||
# include "lighting/advanced/hlsl/advancedLightingFeaturesHLSL.h"
|
# include "lighting/advanced/hlsl/advancedLightingFeaturesHLSL.h"
|
||||||
#else
|
#else
|
||||||
|
|
@ -54,7 +54,7 @@ void AdvancedLightingFeatures::registerFeatures( const GFXFormat &prepassTargetF
|
||||||
|
|
||||||
if(GFX->getAdapterType() == OpenGL)
|
if(GFX->getAdapterType() == OpenGL)
|
||||||
{
|
{
|
||||||
#ifdef TORQUE_OS_MAC
|
#if defined( TORQUE_OS_MAC ) || defined( TORQUE_OS_LINUX )
|
||||||
cond = new GBufferConditionerGLSL( prepassTargetFormat );
|
cond = new GBufferConditionerGLSL( prepassTargetFormat );
|
||||||
FEATUREMGR->registerFeature(MFT_PrePassConditioner, cond);
|
FEATUREMGR->registerFeature(MFT_PrePassConditioner, cond);
|
||||||
FEATUREMGR->registerFeature(MFT_RTLighting, new DeferredRTLightingFeatGLSL());
|
FEATUREMGR->registerFeature(MFT_RTLighting, new DeferredRTLightingFeatGLSL());
|
||||||
|
|
@ -66,7 +66,7 @@ void AdvancedLightingFeatures::registerFeatures( const GFXFormat &prepassTargetF
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
#ifndef TORQUE_OS_MAC
|
#if !defined( TORQUE_OS_MAC ) && !defined( TORQUE_OS_LINUX )
|
||||||
cond = new GBufferConditionerHLSL( prepassTargetFormat, GBufferConditionerHLSL::ViewSpace );
|
cond = new GBufferConditionerHLSL( prepassTargetFormat, GBufferConditionerHLSL::ViewSpace );
|
||||||
FEATUREMGR->registerFeature(MFT_PrePassConditioner, cond);
|
FEATUREMGR->registerFeature(MFT_PrePassConditioner, cond);
|
||||||
FEATUREMGR->registerFeature(MFT_RTLighting, new DeferredRTLightingFeatHLSL());
|
FEATUREMGR->registerFeature(MFT_RTLighting, new DeferredRTLightingFeatHLSL());
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@
|
||||||
#include "lighting/common/projectedShadow.h"
|
#include "lighting/common/projectedShadow.h"
|
||||||
|
|
||||||
|
|
||||||
#ifdef TORQUE_OS_MAC
|
#if defined( TORQUE_OS_MAC ) || defined( TORQUE_OS_LINUX )
|
||||||
#include "shaderGen/GLSL/shaderFeatureGLSL.h"
|
#include "shaderGen/GLSL/shaderFeatureGLSL.h"
|
||||||
#include "shaderGen/GLSL/bumpGLSL.h"
|
#include "shaderGen/GLSL/bumpGLSL.h"
|
||||||
#include "shaderGen/GLSL/pixSpecularGLSL.h"
|
#include "shaderGen/GLSL/pixSpecularGLSL.h"
|
||||||
|
|
@ -167,7 +167,7 @@ void BasicLightManager::activate( SceneManager *sceneManager )
|
||||||
|
|
||||||
if( GFX->getAdapterType() == OpenGL )
|
if( GFX->getAdapterType() == OpenGL )
|
||||||
{
|
{
|
||||||
#ifdef TORQUE_OS_MAC
|
#if defined( TORQUE_OS_MAC ) || defined( TORQUE_OS_LINUX )
|
||||||
FEATUREMGR->registerFeature( MFT_LightMap, new LightmapFeatGLSL );
|
FEATUREMGR->registerFeature( MFT_LightMap, new LightmapFeatGLSL );
|
||||||
FEATUREMGR->registerFeature( MFT_ToneMap, new TonemapFeatGLSL );
|
FEATUREMGR->registerFeature( MFT_ToneMap, new TonemapFeatGLSL );
|
||||||
FEATUREMGR->registerFeature( MFT_NormalMap, new BumpFeatGLSL );
|
FEATUREMGR->registerFeature( MFT_NormalMap, new BumpFeatGLSL );
|
||||||
|
|
@ -177,7 +177,7 @@ void BasicLightManager::activate( SceneManager *sceneManager )
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
#ifndef TORQUE_OS_MAC
|
#if !defined( TORQUE_OS_MAC ) && !defined( TORQUE_OS_LINUX )
|
||||||
FEATUREMGR->registerFeature( MFT_LightMap, new LightmapFeatHLSL );
|
FEATUREMGR->registerFeature( MFT_LightMap, new LightmapFeatHLSL );
|
||||||
FEATUREMGR->registerFeature( MFT_ToneMap, new TonemapFeatHLSL );
|
FEATUREMGR->registerFeature( MFT_ToneMap, new TonemapFeatHLSL );
|
||||||
FEATUREMGR->registerFeature( MFT_NormalMap, new BumpFeatHLSL );
|
FEATUREMGR->registerFeature( MFT_NormalMap, new BumpFeatHLSL );
|
||||||
|
|
|
||||||
|
|
@ -22,8 +22,17 @@
|
||||||
|
|
||||||
#include "lighting/common/lightMapParams.h"
|
#include "lighting/common/lightMapParams.h"
|
||||||
#include "core/stream/bitStream.h"
|
#include "core/stream/bitStream.h"
|
||||||
|
#include "core/module.h"
|
||||||
|
|
||||||
const LightInfoExType LightMapParams::Type( "LightMapParams" );
|
MODULE_BEGIN( LightMapParams )
|
||||||
|
MODULE_INIT_AFTER( ShadowMapParams )
|
||||||
|
MODULE_INIT
|
||||||
|
{
|
||||||
|
LightMapParams::Type = "LightMapParams";
|
||||||
|
}
|
||||||
|
MODULE_END;
|
||||||
|
|
||||||
|
LightInfoExType LightMapParams::Type( "" );
|
||||||
|
|
||||||
LightMapParams::LightMapParams( LightInfo *light ) :
|
LightMapParams::LightMapParams( LightInfo *light ) :
|
||||||
representedInLightmap(false),
|
representedInLightmap(false),
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ public:
|
||||||
virtual ~LightMapParams();
|
virtual ~LightMapParams();
|
||||||
|
|
||||||
/// The LightInfoEx hook type.
|
/// The LightInfoEx hook type.
|
||||||
static const LightInfoExType Type;
|
static LightInfoExType Type;
|
||||||
|
|
||||||
// LightInfoEx
|
// LightInfoEx
|
||||||
virtual void set( const LightInfoEx *ex );
|
virtual void set( const LightInfoEx *ex );
|
||||||
|
|
|
||||||
|
|
@ -314,7 +314,7 @@ void LightManager::_update4LightConsts( const SceneData &sgData,
|
||||||
|
|
||||||
// NOTE: We haven't ported the lighting shaders on OSX
|
// NOTE: We haven't ported the lighting shaders on OSX
|
||||||
// to the optimized HLSL versions.
|
// to the optimized HLSL versions.
|
||||||
#ifdef TORQUE_OS_MAC
|
#if defined( TORQUE_OS_MAC ) || defined( TORQUE_OS_LINUX )
|
||||||
static AlignedArray<Point3F> lightPositions( 4, sizeof( Point4F ) );
|
static AlignedArray<Point3F> lightPositions( 4, sizeof( Point4F ) );
|
||||||
#else
|
#else
|
||||||
static AlignedArray<Point4F> lightPositions( 3, sizeof( Point4F ) );
|
static AlignedArray<Point4F> lightPositions( 3, sizeof( Point4F ) );
|
||||||
|
|
@ -342,7 +342,7 @@ void LightManager::_update4LightConsts( const SceneData &sgData,
|
||||||
if ( !light )
|
if ( !light )
|
||||||
break;
|
break;
|
||||||
|
|
||||||
#ifdef TORQUE_OS_MAC
|
#if defined( TORQUE_OS_MAC ) || defined( TORQUE_OS_LINUX )
|
||||||
|
|
||||||
lightPositions[i] = light->getPosition();
|
lightPositions[i] = light->getPosition();
|
||||||
|
|
||||||
|
|
@ -381,7 +381,7 @@ void LightManager::_update4LightConsts( const SceneData &sgData,
|
||||||
shaderConsts->setSafe( lightDiffuseSC, lightColors );
|
shaderConsts->setSafe( lightDiffuseSC, lightColors );
|
||||||
shaderConsts->setSafe( lightInvRadiusSqSC, lightInvRadiusSq );
|
shaderConsts->setSafe( lightInvRadiusSqSC, lightInvRadiusSq );
|
||||||
|
|
||||||
#ifndef TORQUE_OS_MAC
|
#if !defined( TORQUE_OS_MAC ) && !defined( TORQUE_OS_LINUX )
|
||||||
|
|
||||||
shaderConsts->setSafe( lightSpotDirSC, lightSpotDirs );
|
shaderConsts->setSafe( lightSpotDirSC, lightSpotDirs );
|
||||||
shaderConsts->setSafe( lightSpotAngleSC, lightSpotAngle );
|
shaderConsts->setSafe( lightSpotAngleSC, lightSpotAngle );
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@
|
||||||
#include "materials/baseMatInstance.h"
|
#include "materials/baseMatInstance.h"
|
||||||
#include "scene/sceneManager.h"
|
#include "scene/sceneManager.h"
|
||||||
#include "scene/sceneRenderState.h"
|
#include "scene/sceneRenderState.h"
|
||||||
#include "scene/zones/SceneZoneSpace.h"
|
#include "scene/zones/sceneZoneSpace.h"
|
||||||
#include "lighting/lightManager.h"
|
#include "lighting/lightManager.h"
|
||||||
#include "math/mathUtils.h"
|
#include "math/mathUtils.h"
|
||||||
#include "shaderGen/shaderGenVars.h"
|
#include "shaderGen/shaderGenVars.h"
|
||||||
|
|
@ -42,6 +42,7 @@
|
||||||
#include "core/stream/bitStream.h"
|
#include "core/stream/bitStream.h"
|
||||||
#include "math/mathIO.h"
|
#include "math/mathIO.h"
|
||||||
#include "materials/shaderData.h"
|
#include "materials/shaderData.h"
|
||||||
|
#include "core/module.h"
|
||||||
|
|
||||||
// Used for creation in ShadowMapParams::getOrCreateShadowMap()
|
// Used for creation in ShadowMapParams::getOrCreateShadowMap()
|
||||||
#include "lighting/shadowMap/singleLightShadowMap.h"
|
#include "lighting/shadowMap/singleLightShadowMap.h"
|
||||||
|
|
@ -545,8 +546,15 @@ void LightingShaderConstants::_onShaderReload()
|
||||||
init( mShader );
|
init( mShader );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MODULE_BEGIN( ShadowMapParams )
|
||||||
|
MODULE_INIT_BEFORE( LightMapParams )
|
||||||
|
MODULE_INIT
|
||||||
|
{
|
||||||
|
ShadowMapParams::Type = "ShadowMapParams" ;
|
||||||
|
}
|
||||||
|
MODULE_END;
|
||||||
|
|
||||||
const LightInfoExType ShadowMapParams::Type( "ShadowMapParams" );
|
LightInfoExType ShadowMapParams::Type( "" );
|
||||||
|
|
||||||
ShadowMapParams::ShadowMapParams( LightInfo *light )
|
ShadowMapParams::ShadowMapParams( LightInfo *light )
|
||||||
: mLight( light ),
|
: mLight( light ),
|
||||||
|
|
|
||||||
|
|
@ -287,7 +287,7 @@ public:
|
||||||
virtual ~ShadowMapParams();
|
virtual ~ShadowMapParams();
|
||||||
|
|
||||||
/// The LightInfoEx hook type.
|
/// The LightInfoEx hook type.
|
||||||
static const LightInfoExType Type;
|
static LightInfoExType Type;
|
||||||
|
|
||||||
// LightInfoEx
|
// LightInfoEx
|
||||||
virtual void set( const LightInfoEx *ex );
|
virtual void set( const LightInfoEx *ex );
|
||||||
|
|
|
||||||
|
|
@ -92,14 +92,14 @@ struct SilhouetteExtractorBasePerspective : public SilhouetteExtractorBase< Poly
|
||||||
|
|
||||||
// Determine orientation of each of the polygons.
|
// Determine orientation of each of the polygons.
|
||||||
|
|
||||||
const U32 numPolygons = mPolyhedron->getNumPlanes();
|
const U32 numPolygons = this->mPolyhedron->getNumPlanes();
|
||||||
mPolygonOrientations = ( Orientation* ) FrameAllocator::alloc( sizeof( Orientation ) * numPolygons );
|
mPolygonOrientations = ( Orientation* ) FrameAllocator::alloc( sizeof( Orientation ) * numPolygons );
|
||||||
|
|
||||||
Point3F camPos = camView.getPosition();
|
Point3F camPos = camView.getPosition();
|
||||||
|
|
||||||
for( U32 i = 0; i < numPolygons; ++ i )
|
for( U32 i = 0; i < numPolygons; ++ i )
|
||||||
{
|
{
|
||||||
if (mPolyhedron->getPlanes()[i].whichSide( camPos ) == PlaneF::Front)
|
if (this->mPolyhedron->getPlanes()[i].whichSide( camPos ) == PlaneF::Front)
|
||||||
mPolygonOrientations[i] = FrontFacing;
|
mPolygonOrientations[i] = FrontFacing;
|
||||||
else
|
else
|
||||||
mPolygonOrientations[i] = BackFacing;
|
mPolygonOrientations[i] = BackFacing;
|
||||||
|
|
|
||||||
|
|
@ -55,13 +55,25 @@ Semaphore::~Semaphore()
|
||||||
delete mData;
|
delete mData;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Semaphore::acquire(bool block)
|
bool Semaphore::acquire(bool block, S32 timeoutMS)
|
||||||
{
|
{
|
||||||
AssertFatal(mData, "Semaphore::acquire - Invalid semaphore.");
|
AssertFatal(mData && mData->semaphore, "Semaphore::acquire - Invalid semaphore.");
|
||||||
if (block)
|
if (block)
|
||||||
{
|
{
|
||||||
if (SDL_SemWait(mData->semaphore) < 0)
|
// Semaphore acquiring is different from the MacOS/Win realization because SDL_SemWaitTimeout() with "infinite" timeout can be too heavy on some platforms.
|
||||||
AssertFatal(false, "Semaphore::acquie - Wait failed.");
|
// (see "man SDL_SemWaitTimeout(3)" for more info)
|
||||||
|
// "man" states to avoid the use of SDL_SemWaitTimeout at all, but at current stage this looks like a valid and working solution, so keeping it this way.
|
||||||
|
// [bank / Feb-2010]
|
||||||
|
if (timeoutMS == -1)
|
||||||
|
{
|
||||||
|
if (SDL_SemWait(mData->semaphore) < 0)
|
||||||
|
AssertFatal(false, "Semaphore::acquie - Wait failed.");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (SDL_SemWaitTimeout(mData->semaphore, timeoutMS) < 0)
|
||||||
|
AssertFatal(false, "Semaphore::acquie - Wait with timeout failed.");
|
||||||
|
}
|
||||||
return (true);
|
return (true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -81,6 +81,8 @@ void OpenALDLLShutdown() {}
|
||||||
|
|
||||||
// Platform Stubs
|
// Platform Stubs
|
||||||
|
|
||||||
|
bool Platform::excludeOtherInstances(const char*) { return true; }
|
||||||
|
|
||||||
// clipboard
|
// clipboard
|
||||||
const char* Platform::getClipboard() { return ""; }
|
const char* Platform::getClipboard() { return ""; }
|
||||||
bool Platform::setClipboard(const char *text) { return false; }
|
bool Platform::setClipboard(const char *text) { return false; }
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@
|
||||||
#include "console/engineAPI.h"
|
#include "console/engineAPI.h"
|
||||||
|
|
||||||
|
|
||||||
const RenderInstType RenderInstType::Invalid( String::EmptyString );
|
const RenderInstType RenderInstType::Invalid( "" );
|
||||||
|
|
||||||
const RenderInstType RenderPassManager::RIT_Interior("Interior");
|
const RenderInstType RenderPassManager::RIT_Interior("Interior");
|
||||||
const RenderInstType RenderPassManager::RIT_Mesh("Mesh");
|
const RenderInstType RenderPassManager::RIT_Mesh("Mesh");
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue