Skip to content

Commit f0304bc

Browse files
committed
Merge remote-tracking branch 'origin/host_log'
2 parents ee6e5cf + eb8b9a5 commit f0304bc

24 files changed

+125
-22
lines changed

Diff for: build/osx/FFGLPlugins.xcodeproj/project.pbxproj

+14
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,11 @@
195195
65D4D1F023193F7A00D12558 /* FFGLThumbnailInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 65D4D1BF23193C9200D12558 /* FFGLThumbnailInfo.cpp */; };
196196
D69416C91B904EA200D30319 /* AddSubtract.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D69416A11B90436100D30319 /* AddSubtract.cpp */; };
197197
DB4B641D1FF84E910069DA80 /* Add.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DB4B63E11FF8453A0069DA80 /* Add.cpp */; };
198+
F442E33A253DE80B008313C0 /* FFGLLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F442E338253DE801008313C0 /* FFGLLog.cpp */; };
199+
F442E33B253DE80B008313C0 /* FFGLLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F442E338253DE801008313C0 /* FFGLLog.cpp */; };
200+
F442E33C253DE80C008313C0 /* FFGLLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F442E338253DE801008313C0 /* FFGLLog.cpp */; };
201+
F442E33D253DE80D008313C0 /* FFGLLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F442E338253DE801008313C0 /* FFGLLog.cpp */; };
202+
F442E33E253DE80E008313C0 /* FFGLLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F442E338253DE801008313C0 /* FFGLLog.cpp */; };
198203
/* End PBXBuildFile section */
199204

200205
/* Begin PBXContainerItemProxy section */
@@ -352,6 +357,8 @@
352357
DB4B64161FF845920069DA80 /* Gradients.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Gradients.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
353358
E89249CF19AD2CE80019503B /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
354359
F40602D32535A54800CCDD40 /* FFGLPlatform.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FFGLPlatform.h; sourceTree = "<group>"; };
360+
F442E338253DE801008313C0 /* FFGLLog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FFGLLog.cpp; sourceTree = "<group>"; };
361+
F442E339253DE801008313C0 /* FFGLLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FFGLLog.h; sourceTree = "<group>"; };
355362
/* End PBXFileReference section */
356363

357364
/* Begin PBXFrameworksBuildPhase section */
@@ -607,6 +614,8 @@
607614
D6DB1A291B9054A9007E6883 /* ffgl */ = {
608615
isa = PBXGroup;
609616
children = (
617+
F442E338253DE801008313C0 /* FFGLLog.cpp */,
618+
F442E339253DE801008313C0 /* FFGLLog.h */,
610619
65D4D1BF23193C9200D12558 /* FFGLThumbnailInfo.cpp */,
611620
65D4D1BE23193C9200D12558 /* FFGLThumbnailInfo.h */,
612621
1B2708B321635F6D002B8B05 /* FFGL.cpp */,
@@ -857,6 +866,7 @@
857866
652480A02306FD14007257C5 /* FFGLPlugin.cpp in Sources */,
858867
1B2708C621635F6E002B8B05 /* FFGLPluginInfo.cpp in Sources */,
859868
1B2708CA21635F6E002B8B05 /* FFGLPluginInfoData.cpp in Sources */,
869+
F442E33B253DE80B008313C0 /* FFGLLog.cpp in Sources */,
860870
1B2708BE21635F6E002B8B05 /* FFGL.cpp in Sources */,
861871
652480B42306FD14007257C5 /* FFGLParamEvent.cpp in Sources */,
862872
65BE5BE0231D65FA00CDDFA7 /* FFGLScopedRenderBufferBinding.cpp in Sources */,
@@ -899,6 +909,7 @@
899909
65BE5BDA231D65F900CDDFA7 /* FFGLScopedRenderBufferBinding.cpp in Sources */,
900910
65D4D1EA23193D7500D12558 /* CustomThumbnail.cpp in Sources */,
901911
65D4D1CD23193D0000D12558 /* FFGLPluginInfo.cpp in Sources */,
912+
F442E33E253DE80E008313C0 /* FFGLLog.cpp in Sources */,
902913
65D4D1CE23193D0000D12558 /* FFGLPluginInfoData.cpp in Sources */,
903914
65D4D1CF23193D0000D12558 /* FFGL.cpp in Sources */,
904915
65D4D1D023193D0000D12558 /* FFGLParamEvent.cpp in Sources */,
@@ -930,6 +941,7 @@
930941
buildActionMask = 2147483647;
931942
files = (
932943
1B2708C821635F6E002B8B05 /* FFGLPluginInfo.cpp in Sources */,
944+
F442E33D253DE80D008313C0 /* FFGLLog.cpp in Sources */,
933945
652480A22306FD14007257C5 /* FFGLPlugin.cpp in Sources */,
934946
652480822306FD14007257C5 /* FFGLSource.cpp in Sources */,
935947
1B27090321635F83002B8B05 /* FFGLScopedShaderBinding.cpp in Sources */,
@@ -980,6 +992,7 @@
980992
652480A12306FD14007257C5 /* FFGLPlugin.cpp in Sources */,
981993
1B2708C721635F6E002B8B05 /* FFGLPluginInfo.cpp in Sources */,
982994
1B2708CB21635F6E002B8B05 /* FFGLPluginInfoData.cpp in Sources */,
995+
F442E33C253DE80C008313C0 /* FFGLLog.cpp in Sources */,
983996
1B2708BF21635F6E002B8B05 /* FFGL.cpp in Sources */,
984997
652480B52306FD14007257C5 /* FFGLParamEvent.cpp in Sources */,
985998
65BE5BDE231D65FA00CDDFA7 /* FFGLScopedRenderBufferBinding.cpp in Sources */,
@@ -1020,6 +1033,7 @@
10201033
1B27090021635F83002B8B05 /* FFGLScopedShaderBinding.cpp in Sources */,
10211034
6524809F2306FD14007257C5 /* FFGLPlugin.cpp in Sources */,
10221035
1B2708C521635F6E002B8B05 /* FFGLPluginInfo.cpp in Sources */,
1036+
F442E33A253DE80B008313C0 /* FFGLLog.cpp in Sources */,
10231037
1B2708C921635F6E002B8B05 /* FFGLPluginInfoData.cpp in Sources */,
10241038
1B2708BD21635F6E002B8B05 /* FFGL.cpp in Sources */,
10251039
65BE5BE2231D65FA00CDDFA7 /* FFGLScopedRenderBufferBinding.cpp in Sources */,
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>IDEDidComputeMac32BitWarning</key>
6+
<true/>
7+
</dict>
8+
</plist>

Diff for: build/windows/Add.vcxproj

+2
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
<ClCompile Include="..\..\source\lib\ffglquickstart\FFGLSmoothValue.cpp" />
3939
<ClCompile Include="..\..\source\lib\ffglquickstart\FFGLSource.cpp" />
4040
<ClCompile Include="..\..\source\lib\ffgl\FFGL.cpp" />
41+
<ClCompile Include="..\..\source\lib\ffgl\FFGLLog.cpp" />
4142
<ClCompile Include="..\..\source\lib\ffgl\FFGLPluginInfo.cpp" />
4243
<ClCompile Include="..\..\source\lib\ffgl\FFGLPluginInfoData.cpp" />
4344
<ClCompile Include="..\..\source\lib\ffgl\FFGLPluginManager.cpp" />
@@ -77,6 +78,7 @@
7778
<ClInclude Include="..\..\source\lib\FFGLSDK.h" />
7879
<ClInclude Include="..\..\source\lib\ffgl\FFGL.h" />
7980
<ClInclude Include="..\..\source\lib\ffgl\FFGLLib.h" />
81+
<ClInclude Include="..\..\source\lib\ffgl\FFGLLog.h" />
8082
<ClInclude Include="..\..\source\lib\ffgl\FFGLPluginInfo.h" />
8183
<ClInclude Include="..\..\source\lib\ffgl\FFGLPluginManager.h" />
8284
<ClInclude Include="..\..\source\lib\ffgl\FFGLPluginSDK.h" />

Diff for: build/windows/Add.vcxproj.filters

+6
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,9 @@
101101
<ClCompile Include="..\..\source\lib\ffglquickstart\FFGLSource.cpp">
102102
<Filter>lib\ffglquickstart</Filter>
103103
</ClCompile>
104+
<ClCompile Include="..\..\source\lib\ffgl\FFGLLog.cpp">
105+
<Filter>lib\ffgl</Filter>
106+
</ClCompile>
104107
</ItemGroup>
105108
<ItemGroup>
106109
<ClInclude Include="..\..\source\plugins\Add\Add.h" />
@@ -206,6 +209,9 @@
206209
<ClInclude Include="..\..\source\lib\ffglquickstart\FFGLUtils.h">
207210
<Filter>lib\ffglquickstart</Filter>
208211
</ClInclude>
212+
<ClInclude Include="..\..\source\lib\ffgl\FFGLLog.h">
213+
<Filter>lib\ffgl</Filter>
214+
</ClInclude>
209215
</ItemGroup>
210216
<ItemGroup>
211217
<Filter Include="lib">

Diff for: build/windows/AddSubtract.vcxproj

+2
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
<ClCompile Include="..\..\source\lib\ffglquickstart\FFGLSmoothValue.cpp" />
3939
<ClCompile Include="..\..\source\lib\ffglquickstart\FFGLSource.cpp" />
4040
<ClCompile Include="..\..\source\lib\ffgl\FFGL.cpp" />
41+
<ClCompile Include="..\..\source\lib\ffgl\FFGLLog.cpp" />
4142
<ClCompile Include="..\..\source\lib\ffgl\FFGLPluginInfo.cpp" />
4243
<ClCompile Include="..\..\source\lib\ffgl\FFGLPluginInfoData.cpp" />
4344
<ClCompile Include="..\..\source\lib\ffgl\FFGLPluginManager.cpp" />
@@ -77,6 +78,7 @@
7778
<ClInclude Include="..\..\source\lib\FFGLSDK.h" />
7879
<ClInclude Include="..\..\source\lib\ffgl\FFGL.h" />
7980
<ClInclude Include="..\..\source\lib\ffgl\FFGLLib.h" />
81+
<ClInclude Include="..\..\source\lib\ffgl\FFGLLog.h" />
8082
<ClInclude Include="..\..\source\lib\ffgl\FFGLPluginInfo.h" />
8183
<ClInclude Include="..\..\source\lib\ffgl\FFGLPluginManager.h" />
8284
<ClInclude Include="..\..\source\lib\ffgl\FFGLPluginSDK.h" />

Diff for: build/windows/AddSubtract.vcxproj.filters

+6
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,9 @@
104104
<ClInclude Include="..\..\source\lib\ffglex\FFGLScopedRenderBufferBinding.h">
105105
<Filter>lib\ffglex</Filter>
106106
</ClInclude>
107+
<ClInclude Include="..\..\source\lib\ffgl\FFGLLog.h">
108+
<Filter>lib\ffgl</Filter>
109+
</ClInclude>
107110
</ItemGroup>
108111
<ItemGroup>
109112
<ClCompile Include="..\..\source\plugins\AddSubtract\AddSubtract.cpp" />
@@ -206,6 +209,9 @@
206209
<ClCompile Include="..\..\source\lib\ffglex\FFGLScopedRenderBufferBinding.cpp">
207210
<Filter>lib\ffglex</Filter>
208211
</ClCompile>
212+
<ClCompile Include="..\..\source\lib\ffgl\FFGLLog.cpp">
213+
<Filter>lib\ffgl</Filter>
214+
</ClCompile>
209215
</ItemGroup>
210216
<ItemGroup>
211217
<Filter Include="lib">

Diff for: build/windows/CustomThumbnail.vcxproj

+2
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
<ClCompile Include="..\..\source\lib\ffglquickstart\FFGLSmoothValue.cpp" />
3939
<ClCompile Include="..\..\source\lib\ffglquickstart\FFGLSource.cpp" />
4040
<ClCompile Include="..\..\source\lib\ffgl\FFGL.cpp" />
41+
<ClCompile Include="..\..\source\lib\ffgl\FFGLLog.cpp" />
4142
<ClCompile Include="..\..\source\lib\ffgl\FFGLPluginInfo.cpp" />
4243
<ClCompile Include="..\..\source\lib\ffgl\FFGLPluginInfoData.cpp" />
4344
<ClCompile Include="..\..\source\lib\ffgl\FFGLPluginManager.cpp" />
@@ -78,6 +79,7 @@
7879
<ClInclude Include="..\..\source\lib\FFGLSDK.h" />
7980
<ClInclude Include="..\..\source\lib\ffgl\FFGL.h" />
8081
<ClInclude Include="..\..\source\lib\ffgl\FFGLLib.h" />
82+
<ClInclude Include="..\..\source\lib\ffgl\FFGLLog.h" />
8183
<ClInclude Include="..\..\source\lib\ffgl\FFGLPluginInfo.h" />
8284
<ClInclude Include="..\..\source\lib\ffgl\FFGLPluginManager.h" />
8385
<ClInclude Include="..\..\source\lib\ffgl\FFGLPluginSDK.h" />

Diff for: build/windows/CustomThumbnail.vcxproj.filters

+6
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,9 @@
125125
<Filter>lib\ffgl</Filter>
126126
</ClCompile>
127127
<ClCompile Include="..\..\source\plugins\CustomThumbnail\PNGLoader.cpp" />
128+
<ClCompile Include="..\..\source\lib\ffgl\FFGLLog.cpp">
129+
<Filter>lib\ffgl</Filter>
130+
</ClCompile>
128131
</ItemGroup>
129132
<ItemGroup>
130133
<ClInclude Include="..\..\source\plugins\CustomThumbnail\CustomThumbnail.h" />
@@ -287,5 +290,8 @@
287290
</ClInclude>
288291
<ClInclude Include="..\..\source\plugins\CustomThumbnail\Thumb.h" />
289292
<ClInclude Include="..\..\source\plugins\CustomThumbnail\PNGLoader.h" />
293+
<ClInclude Include="..\..\source\lib\ffgl\FFGLLog.h">
294+
<Filter>lib\ffgl</Filter>
295+
</ClInclude>
290296
</ItemGroup>
291297
</Project>

Diff for: build/windows/Gradient.vcxproj

+2
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
<ClCompile Include="..\..\source\lib\ffglquickstart\FFGLSmoothValue.cpp" />
3939
<ClCompile Include="..\..\source\lib\ffglquickstart\FFGLSource.cpp" />
4040
<ClCompile Include="..\..\source\lib\ffgl\FFGL.cpp" />
41+
<ClCompile Include="..\..\source\lib\ffgl\FFGLLog.cpp" />
4142
<ClCompile Include="..\..\source\lib\ffgl\FFGLPluginInfo.cpp" />
4243
<ClCompile Include="..\..\source\lib\ffgl\FFGLPluginInfoData.cpp" />
4344
<ClCompile Include="..\..\source\lib\ffgl\FFGLPluginManager.cpp" />
@@ -77,6 +78,7 @@
7778
<ClInclude Include="..\..\source\lib\FFGLSDK.h" />
7879
<ClInclude Include="..\..\source\lib\ffgl\FFGL.h" />
7980
<ClInclude Include="..\..\source\lib\ffgl\FFGLLib.h" />
81+
<ClInclude Include="..\..\source\lib\ffgl\FFGLLog.h" />
8082
<ClInclude Include="..\..\source\lib\ffgl\FFGLPluginInfo.h" />
8183
<ClInclude Include="..\..\source\lib\ffgl\FFGLPluginManager.h" />
8284
<ClInclude Include="..\..\source\lib\ffgl\FFGLPluginSDK.h" />

Diff for: build/windows/Gradient.vcxproj.filters

+6
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,9 @@
101101
<ClCompile Include="..\..\source\lib\ffglquickstart\FFGLSource.cpp">
102102
<Filter>lib\ffglquickstart</Filter>
103103
</ClCompile>
104+
<ClCompile Include="..\..\source\lib\ffgl\FFGLLog.cpp">
105+
<Filter>lib\ffgl</Filter>
106+
</ClCompile>
104107
</ItemGroup>
105108
<ItemGroup>
106109
<ClInclude Include="..\..\source\plugins\Gradients\FFGLGradients.h" />
@@ -206,6 +209,9 @@
206209
<ClInclude Include="..\..\source\lib\ffglquickstart\FFGLUtils.h">
207210
<Filter>lib\ffglquickstart</Filter>
208211
</ClInclude>
212+
<ClInclude Include="..\..\source\lib\ffgl\FFGLLog.h">
213+
<Filter>lib\ffgl</Filter>
214+
</ClInclude>
209215
</ItemGroup>
210216
<ItemGroup>
211217
<Filter Include="lib">

Diff for: build/windows/Particles.vcxproj

+2
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
<ClCompile Include="..\..\source\lib\ffglquickstart\FFGLSmoothValue.cpp" />
3939
<ClCompile Include="..\..\source\lib\ffglquickstart\FFGLSource.cpp" />
4040
<ClCompile Include="..\..\source\lib\ffgl\FFGL.cpp" />
41+
<ClCompile Include="..\..\source\lib\ffgl\FFGLLog.cpp" />
4142
<ClCompile Include="..\..\source\lib\ffgl\FFGLPluginInfo.cpp" />
4243
<ClCompile Include="..\..\source\lib\ffgl\FFGLPluginInfoData.cpp" />
4344
<ClCompile Include="..\..\source\lib\ffgl\FFGLPluginManager.cpp" />
@@ -79,6 +80,7 @@
7980
<ClInclude Include="..\..\source\lib\FFGLSDK.h" />
8081
<ClInclude Include="..\..\source\lib\ffgl\FFGL.h" />
8182
<ClInclude Include="..\..\source\lib\ffgl\FFGLLib.h" />
83+
<ClInclude Include="..\..\source\lib\ffgl\FFGLLog.h" />
8284
<ClInclude Include="..\..\source\lib\ffgl\FFGLPluginInfo.h" />
8385
<ClInclude Include="..\..\source\lib\ffgl\FFGLPluginManager.h" />
8486
<ClInclude Include="..\..\source\lib\ffgl\FFGLPluginSDK.h" />

Diff for: build/windows/Particles.vcxproj.filters

+6
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,9 @@
120120
<ClCompile Include="..\..\source\lib\ffglquickstart\FFGLSource.cpp">
121121
<Filter>lib\ffglquickstart</Filter>
122122
</ClCompile>
123+
<ClCompile Include="..\..\source\lib\ffgl\FFGLLog.cpp">
124+
<Filter>lib\ffgl</Filter>
125+
</ClCompile>
123126
</ItemGroup>
124127
<ItemGroup>
125128
<ClInclude Include="..\..\source\plugins\Particles\Particles.h" />
@@ -239,5 +242,8 @@
239242
<ClInclude Include="..\..\source\lib\ffglquickstart\FFGLUtils.h">
240243
<Filter>lib\ffglquickstart</Filter>
241244
</ClInclude>
245+
<ClInclude Include="..\..\source\lib\ffgl\FFGLLog.h">
246+
<Filter>lib\ffgl</Filter>
247+
</ClInclude>
242248
</ItemGroup>
243249
</Project>

Diff for: source/lib/FFGLSDK.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#include "ffgl/FFGLPluginManager.cpp"
77
#include "ffgl/FFGLPluginSDK.cpp"
88
#include "ffgl/FFGLThumbnailInfo.cpp"
9+
#include "ffgl/FFGLLog.cpp"
910

1011
#include "ffglex/FFGLFBO.cpp"
1112
#include "ffglex/FFGLScopedBufferBinding.cpp"

Diff for: source/lib/FFGLSDK.h

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
#include "ffgl/FFGLLib.h"
44
#include "ffgl/FFGLPluginSDK.h"
55
#include "ffgl/FFGLThumbnailInfo.h"
6+
#include "ffgl/FFGLLog.h"
67

78
#include "ffglex/FFGLFBO.h"
89
#include "ffglex/FFGLScopedBufferBinding.h"

Diff for: source/lib/ffgl/FFGL.cpp

+12-11
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@
7979
#include <algorithm>
8080
#include "FFGLPluginSDK.h"
8181
#include "FFGLThumbnailInfo.h"
82+
#include "FFGLLog.h"
8283
#include "../glsdk_0_5_2/glload/include/gl_load.h"
8384

8485
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -87,7 +88,7 @@
8788

8889
extern CFFGLPluginInfo* g_CurrPluginInfo;
8990

90-
static CFFGLPlugin* s_pPrototype = NULL;
91+
static CFFGLPlugin* s_pPrototype = nullptr;
9192

9293
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
9394
// FreeFrame SDK default implementation of the FreeFrame global functions.
@@ -573,19 +574,10 @@ FFUInt32 getDefaultParameterVisibility( unsigned int index )
573574
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
574575

575576
#if defined( FFGL_WINDOWS )
576-
577577
extern "C" __declspec( dllexport ) FFMixed __stdcall plugMain( FFUInt32 functionCode, FFMixed inputValue, FFInstanceID instanceID )
578-
579-
#elif defined( FFGL_MACOS )
580-
578+
#elif defined( FFGL_MACOS ) || defined( FFGL_LINUX )
581579
FFMixed plugMain( FFUInt32 functionCode, FFMixed inputValue, FFInstanceID instanceID )
582-
583-
#elif defined( FFGL_LINUX )
584-
585-
FFMixed plugMain( FFUInt32 functionCode, FFMixed inputValue, FFInstanceID instanceID )
586-
587580
#endif
588-
589581
{
590582
FFMixed retval;
591583
retval.UIntValue = FF_FAIL;
@@ -920,6 +912,15 @@ FFMixed plugMain( FFUInt32 functionCode, FFMixed inputValue, FFInstanceID instan
920912
return retval;
921913
}
922914

915+
#if defined( FFGL_WINDOWS )
916+
extern "C" __declspec( dllexport ) void __stdcall SetLogCallback( PFNLog logCallback )
917+
#elif defined( FFGL_MACOS ) || defined( FFGL_LINUX )
918+
void SetLogCallback( PFNLog logCallback )
919+
#endif
920+
{
921+
FFGLLog::SetLogCallback( logCallback );
922+
}
923+
923924
/**
924925
* The FFGL host provides us with a context in the default state. We have to return a context in the default
925926
* state back to the host. In previous FFGL versions this was also the convention, but it was never actually checked.

Diff for: source/lib/ffgl/FFGL.h

+17-10
Original file line numberDiff line numberDiff line change
@@ -277,13 +277,13 @@ typedef unsigned __int16 FFUInt16;
277277
typedef unsigned __int32 FFUInt32;
278278
typedef unsigned __int64 FFUInt64;
279279
#else
280-
# if defined( FFGL_MACOS )
281-
# include <OpenGL/gl3.h>
282-
# elif defined( FFGL_LINUX )
283-
# include <GL/gl.h>
284-
# else
285-
# error define this for your OS
286-
# endif
280+
#if defined( FFGL_MACOS )
281+
#include <OpenGL/gl3.h>
282+
#elif defined( FFGL_LINUX )
283+
#include <GL/gl.h>
284+
#else
285+
#error define this for your OS
286+
#endif
287287

288288
extern "C" {
289289
#include <string.h>
@@ -606,16 +606,23 @@ typedef struct GetParamEventsStructTag
606606
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
607607

608608
#if defined( FFGL_WINDOWS )
609+
typedef void( __stdcall* PFNLog )( char* cStr );
609610

610-
extern "C" __declspec( dllexport ) FFMixed __stdcall plugMain( FFUInt32 functionCode, FFMixed inputValue, FFInstanceID instanceID );
611611
typedef __declspec( dllimport ) FFMixed( __stdcall* FF_Main_FuncPtr )( FFUInt32, FFMixed, FFInstanceID );
612+
typedef __declspec( dllimport ) void( __stdcall* FF_SetLogCallback_FuncPtr )( PFNLog );
612613

614+
extern "C" __declspec( dllexport ) FFMixed __stdcall plugMain( FFUInt32 functionCode, FFMixed inputValue, FFInstanceID instanceID );
615+
extern "C" __declspec( dllexport ) void __stdcall SetLogCallback( PFNLog logCallback );
613616
#else
614617

615618
//linux and Mac OSX share these
616-
FFMixed plugMain( FFUInt32 functionCode, FFMixed inputValue, FFInstanceID instanceID );
617-
typedef FFMixed ( *FF_Main_FuncPtr )( FFUInt32 funcCode, FFMixed inputVal, FFInstanceID instanceID );
619+
typedef void ( *PFNLog )( char* cStr );
620+
621+
typedef FFMixed ( *FF_Main_FuncPtr )( FFUInt32, FFMixed, FFInstanceID );
622+
typedef void ( *FF_SetLogCallback_FuncPtr )( PFNLog );
618623

624+
FFMixed plugMain( FFUInt32 functionCode, FFMixed inputValue, FFInstanceID instanceID );
625+
void SetLogCallback( PFNLog logCallback );
619626
#endif
620627

621628
#if !defined( FFGL_WINDOWS )

Diff for: source/lib/ffgl/FFGLLog.cpp

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#include "FFGLLog.h"
2+
3+
static PFNLog s_logCallback = nullptr;
4+
5+
void FFGLLog::SetLogCallback( PFNLog logCallback )
6+
{
7+
s_logCallback = logCallback;
8+
}
9+
void FFGLLog::LogToHost( const char* cStr )
10+
{
11+
if( s_logCallback != nullptr && cStr != nullptr )
12+
s_logCallback( const_cast< char* >( cStr ) );
13+
}

0 commit comments

Comments
 (0)