mirror of
https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git
synced 2025-07-15 10:54:18 +00:00
Compare commits
198 Commits
build918ch
...
mdeforest/
Author | SHA1 | Date | |
---|---|---|---|
7aec3d5b13 | |||
8418dd54a5 | |||
4ab5fe5fed | |||
148e81b6e9 | |||
06a696c725 | |||
a49cb6eb1f | |||
0d518e3465 | |||
92e95d5a99 | |||
8960d0b406 | |||
c888e43c73 | |||
947a64c05f | |||
627825dab2 | |||
207bf3d62e | |||
791886bdab | |||
b74e9f47bb | |||
1ab6781402 | |||
d8a5f03e9c | |||
2abd744ba6 | |||
2e73c3667a | |||
4eb7810d81 | |||
0b9bcc3e91 | |||
343c6ffbda | |||
c68640f76c | |||
ce5719c83f | |||
c71e8fbee0 | |||
21e2a6de7b | |||
8b62863419 | |||
9c609b9fd8 | |||
d1c86267b3 | |||
6b2dedf547 | |||
192e4a252c | |||
c0b63e4237 | |||
020f8a1ba0 | |||
39ff487ca8 | |||
a0bbef1819 | |||
5f5dd2745f | |||
6ebf8ae3a3 | |||
9ea22b7f65 | |||
015acf9c7f | |||
5a10e2095a | |||
8096f8b77d | |||
68f59ef839 | |||
b0b8ed6306 | |||
189c9b0221 | |||
9743c73a44 | |||
f50eaba306 | |||
3825317e5e | |||
3b89e66d2d | |||
f44eea59b9 | |||
499432b4f0 | |||
bb044d2932 | |||
96ae8a88ed | |||
2d38c34b3c | |||
f03a837642 | |||
30d140b8a0 | |||
c6016223f2 | |||
7a47e52ac6 | |||
2c06d3b2d3 | |||
79377e2b95 | |||
3d14321f26 | |||
d638355955 | |||
03ecfe00b4 | |||
860b071bb2 | |||
d02cde1703 | |||
32ba4e06e2 | |||
a617803fd0 | |||
ae8d1d39bb | |||
b5296d614f | |||
87b8dfae09 | |||
025fb1fb02 | |||
431bb5ff90 | |||
1d309e3ce5 | |||
78bfdad9c4 | |||
368d757bf8 | |||
ca58d0e701 | |||
a3592d9a0a | |||
3cf35d0bc0 | |||
76ee9975b7 | |||
264bc3355a | |||
7f3d416290 | |||
ec29c270e4 | |||
357d4aa7d1 | |||
23f4d22b9b | |||
c3589e3fc4 | |||
91a4f8ab3e | |||
48ded426a9 | |||
eba0968808 | |||
e92dc59db2 | |||
383346c1aa | |||
97b9503cb1 | |||
367c3df020 | |||
5cdd8f90fd | |||
baa7ea7ca0 | |||
0aa7c392a9 | |||
8146e7fe24 | |||
8b8e39685a | |||
8ba666ee6c | |||
2ac64918c6 | |||
35775dd701 | |||
17284220bc | |||
b0cbd18f2c | |||
445a837d27 | |||
743419d9e5 | |||
5951a11e86 | |||
46810aa990 | |||
4cfe5adf70 | |||
f15bf324a7 | |||
02dda70b44 | |||
b2f8d8c0f0 | |||
f5d00acdc5 | |||
33a242faa4 | |||
615b1017bd | |||
bf6d2a4459 | |||
0e154ffb4b | |||
82857fb0bb | |||
770df9939e | |||
73d0471d28 | |||
8bdf479bdc | |||
5a1b5bf055 | |||
7a501c1b1f | |||
f8c3f7ac31 | |||
bc74371c57 | |||
626da5ae70 | |||
fba99c4cb1 | |||
8e43df15b1 | |||
9db1361535 | |||
e583bf6d74 | |||
350295425a | |||
aaabc9c333 | |||
ccefcfdb13 | |||
66dc3dde92 | |||
a9cb4723d0 | |||
59b04b546f | |||
423e0c2142 | |||
fdc8e28c2f | |||
e4458717c9 | |||
a99ed37f23 | |||
568b05fe70 | |||
9bd019fbf3 | |||
348858aef1 | |||
1cac4f85da | |||
102f63502a | |||
7c058fa898 | |||
c0b428b342 | |||
b343e389ab | |||
487f63f60b | |||
a35a942ab2 | |||
5032529fa1 | |||
dd55856ea2 | |||
a7271982d5 | |||
1d23f50bf6 | |||
f67e52eeb2 | |||
0b57fd1339 | |||
e02141055a | |||
1f0277e3e0 | |||
db5e451622 | |||
d5f6827419 | |||
970b8e3af4 | |||
38747f3f1b | |||
e798bc4694 | |||
f4b3a43026 | |||
1530af77f7 | |||
487d7b4923 | |||
9553ecd05b | |||
3c552912fa | |||
603bc51cfd | |||
ae5f410eee | |||
f892871a33 | |||
ff9aa4ac84 | |||
40611119c0 | |||
d0e842aec2 | |||
d751f371b5 | |||
5da91faed0 | |||
043adb2d7c | |||
508e431a99 | |||
197e24a746 | |||
f3344fc544 | |||
6538d78d9f | |||
7998b3bcc4 | |||
86251807fc | |||
da4003b7fc | |||
7af3a02c66 | |||
7523f6fa1f | |||
c3657d20a4 | |||
8cee080878 | |||
3e34e30308 | |||
503012c700 | |||
ced3c03fed | |||
19cd10abd7 | |||
eecdd8f847 | |||
868ce660d9 | |||
ff435650b8 | |||
259f07462f | |||
a87b691e33 | |||
407243f2e0 | |||
656b466ad7 | |||
d22b190895 | |||
6571272813 |
18
.hgignore
Normal file
18
.hgignore
Normal file
@ -0,0 +1,18 @@
|
||||
syntax: glob
|
||||
*.ncb
|
||||
*.suo
|
||||
*.aps
|
||||
*.user
|
||||
*.sdf
|
||||
*.opensdf
|
||||
*.pyc
|
||||
Release*/
|
||||
Debug*/
|
||||
ipch/
|
||||
syntax: regexp
|
||||
^MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/Apps/plClient/external/render/
|
||||
^MOULOpenSourceClientPlugin/Plasma20/test/
|
||||
^MOULOpenSourceClientPlugin/Plasma20/tools/
|
||||
^MOULOpenSourceClientPlugin/Plasma20/Doxy/
|
||||
^MOULOpenSourceClientPlugin/StaticSDKs/
|
||||
^patch/
|
@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug_Internal|Win32">
|
||||
@ -106,7 +106,7 @@
|
||||
<StringPooling>true</StringPooling>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>winhttp.lib;ws2_32.lib;strmiids.lib;vfw32.lib;version.lib;Rpcrt4.lib;d3dx9.lib;dinput8.lib;dxerr9.lib;dxguid.lib;dsound.lib;OpenAL32.lib;libeay32.lib;NxCharacter.lib;PhysXLoader.lib;libogg_static.lib;libvorbis_static.lib;libvorbisfile_static.lib;libspeex.lib;libjpeg.lib;zlibd.lib;libpngd.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalDependencies>winhttp.lib;ws2_32.lib;strmiids.lib;vfw32.lib;version.lib;Rpcrt4.lib;d3dx9.lib;dinput8.lib;dxerr9.lib;dxguid.lib;dsound.lib;OpenAL32.lib;libeay32.lib;NxCharacter.lib;PhysXLoader.lib;libogg_static.lib;libvorbis_static.lib;libvorbisfile_static.lib;libspeex.lib;libjpeg.lib;zlibd.lib;libpngd.lib;NxCooking.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib\x86;..\..\..\..\..\StaticSDKs\Win32\OpenAL 1.1 with EFX SDK\libs\Win32;..\..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;..\..\..\..\..\StaticSDKs\Win32\PhysX\lib\win32;..\..\..\..\..\StaticSDKs\Win32\xiph\lib\Debug;..\..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs\Win32;..\..\..\..\..\StaticSDKs\XPlatform\jpeg-8c-rgba;..\..\..\..\..\StaticSDKs\XPlatform\zlib\lib;..\..\..\..\..\StaticSDKs\XPlatform\png\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
@ -158,7 +158,7 @@
|
||||
<StringPooling>true</StringPooling>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>winhttp.lib;ws2_32.lib;strmiids.lib;vfw32.lib;version.lib;Rpcrt4.lib;d3dx9.lib;dinput8.lib;dxerr9.lib;dxguid.lib;dsound.lib;OpenAL32.lib;libeay32.lib;NxCharacter.lib;PhysXLoader.lib;libogg_static.lib;libvorbis_static.lib;libvorbisfile_static.lib;libspeex.lib;libjpeg.lib;zlibd.lib;libpngd.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalDependencies>winhttp.lib;ws2_32.lib;strmiids.lib;vfw32.lib;version.lib;Rpcrt4.lib;d3dx9.lib;dinput8.lib;dxerr9.lib;dxguid.lib;dsound.lib;OpenAL32.lib;libeay32.lib;NxCharacter.lib;PhysXLoader.lib;libogg_static.lib;libvorbis_static.lib;libvorbisfile_static.lib;libspeex.lib;libjpeg.lib;zlibd.lib;libpngd.lib;NxCooking.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib\x86;..\..\..\..\..\StaticSDKs\Win32\OpenAL 1.1 with EFX SDK\libs\Win32;..\..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;..\..\..\..\..\StaticSDKs\Win32\PhysX\lib\win32;..\..\..\..\..\StaticSDKs\Win32\xiph\lib\Debug;..\..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs\Win32;..\..\..\..\..\StaticSDKs\XPlatform\jpeg-8c-rgba;..\..\..\..\..\StaticSDKs\XPlatform\zlib\lib;..\..\..\..\..\StaticSDKs\XPlatform\png\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
@ -214,7 +214,7 @@
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>winhttp.lib;ws2_32.lib;strmiids.lib;vfw32.lib;version.lib;Rpcrt4.lib;d3dx9.lib;dinput8.lib;dxerr9.lib;dxguid.lib;dsound.lib;OpenAL32.lib;libeay32.lib;NxCharacter.lib;PhysXLoader.lib;libogg_static.lib;libvorbis_static.lib;libvorbisfile_static.lib;libspeex.lib;libjpeg.lib;zlib.lib;libpng.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalDependencies>winhttp.lib;ws2_32.lib;strmiids.lib;vfw32.lib;version.lib;Rpcrt4.lib;d3dx9.lib;dinput8.lib;dxerr9.lib;dxguid.lib;dsound.lib;OpenAL32.lib;libeay32.lib;NxCharacter.lib;PhysXLoader.lib;libogg_static.lib;libvorbis_static.lib;libvorbisfile_static.lib;libspeex.lib;libjpeg.lib;zlib.lib;libpng.lib;NxCooking.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib\x86;..\..\..\..\..\StaticSDKs\Win32\OpenAL 1.1 with EFX SDK\libs\Win32;..\..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;..\..\..\..\..\StaticSDKs\Win32\PhysX\lib\win32;..\..\..\..\..\StaticSDKs\Win32\xiph\lib\Release;..\..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs\Win32;..\..\..\..\..\StaticSDKs\XPlatform\jpeg-8c-rgba;..\..\..\..\..\StaticSDKs\XPlatform\zlib\lib;..\..\..\..\..\StaticSDKs\XPlatform\png\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
@ -274,7 +274,7 @@
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>winhttp.lib;ws2_32.lib;strmiids.lib;vfw32.lib;version.lib;Rpcrt4.lib;d3dx9.lib;dinput8.lib;dxerr9.lib;dxguid.lib;dsound.lib;OpenAL32.lib;libeay32.lib;NxCharacter.lib;PhysXLoader.lib;libogg_static.lib;libvorbis_static.lib;libvorbisfile_static.lib;libspeex.lib;libjpeg.lib;zlib.lib;libpng.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalDependencies>winhttp.lib;ws2_32.lib;strmiids.lib;vfw32.lib;version.lib;Rpcrt4.lib;d3dx9.lib;dinput8.lib;dxerr9.lib;dxguid.lib;dsound.lib;OpenAL32.lib;libeay32.lib;NxCharacter.lib;PhysXLoader.lib;libogg_static.lib;libvorbis_static.lib;libvorbisfile_static.lib;libspeex.lib;libjpeg.lib;zlib.lib;libpng.lib;NxCooking.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib\x86;..\..\..\..\..\StaticSDKs\Win32\OpenAL 1.1 with EFX SDK\libs\Win32;..\..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;..\..\..\..\..\StaticSDKs\Win32\PhysX\lib\win32;..\..\..\..\..\StaticSDKs\Win32\xiph\lib\Release;..\..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs\Win32;..\..\..\..\..\StaticSDKs\XPlatform\jpeg-8c-rgba;..\..\..\..\..\StaticSDKs\XPlatform\zlib\lib;..\..\..\..\..\StaticSDKs\XPlatform\png\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
@ -403,6 +403,7 @@
|
||||
<ClInclude Include="..\..\..\..\Sources\Plasma\Apps\PlClient\plClient.h" />
|
||||
<ClInclude Include="..\..\..\..\Sources\Plasma\Apps\plClient\plClientCreatable.h" />
|
||||
<ClInclude Include="..\..\..\..\Sources\Plasma\Apps\plClient\res\resource.h" />
|
||||
<ClInclude Include="..\..\..\..\Sources\Plasma\Apps\plClient\loginfix.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\..\..\Sources\Plasma\Apps\plClient\res\banner.bmp" />
|
||||
|
@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
@ -45,6 +45,9 @@
|
||||
<ClInclude Include="..\..\..\..\Sources\Plasma\Apps\plClient\res\resource.h">
|
||||
<Filter>Resource Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\..\Sources\Plasma\Apps\plClient\loginfix.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\..\..\Sources\Plasma\Apps\plClient\res\banner.bmp">
|
||||
|
@ -61,7 +61,7 @@
|
||||
<StringPooling>true</StringPooling>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>CoreLib.lib;CoreLibExe.lib;pfAnimation.lib;pfAudio.lib;pfCamera.lib;pfCharacter.lib;pfConditional.lib;pfGameGUIMgr.lib;pfGameMgr.lib;pfGameScoreMgr.lib;pfJournalBook.lib;pfLocalizationMgr.lib;pfMessage.lib;pfPython.lib;pfSurface.lib;pnAddrInfo.lib;pnAsyncCore.lib;pnAsyncCoreExe.lib;pnDispatch.lib;pnFactory.lib;pnGameMgr.lib;pnIni.lib;pnIniExe.lib;pnInputCore.lib;pnKeyedObject.lib;pnMessage.lib;pnModifier.lib;pnNetBase.lib;pnNetCli.lib;pnNetCommon.lib;pnNetProtocol.lib;pnNucleusInc.lib;pnProduct.lib;pnSceneObject.lib;pnTimer.lib;pnUtils.lib;pnUtilsExe.lib;plAgeDescription.lib;plAgeLoader.lib;plAudible.lib;plAudio.lib;plAudioCore.lib;plAvatar.lib;plClientResMgr.lib;plCompression.lib;plContainer.lib;plDrawable.lib;plEncryption.lib;plFile.lib;plGImage.lib;plGLight.lib;plInputCore.lib;plInterp.lib;plIntersect.lib;plJPEG.lib;plMath.lib;plMessage.lib;plModifier.lib;plNetClient.lib;plNetClientComm.lib;plNetClientRecorder.lib;plNetCommon.lib;plNetGameLib.lib;plNetMessage.lib;plNetTransport.lib;plParticleSystem.lib;plPhysical.lib;plPhysX.lib;plPipeline.lib;plProgressMgr.lib;plResMgr.lib;plScene.lib;plSDL.lib;plStatusLog.lib;plSurface.lib;plTransform.lib;plUnifiedTime.lib;plUUID.lib;plVault.lib;winhttp.lib;ws2_32.lib;strmiids.lib;vfw32.lib;Rpcrt4.lib;pythoncore_static.lib;d3dx9.lib;dinput8.lib;dxerr9.lib;dxguid.lib;dsound.lib;OpenAL32.lib;libeay32.lib;NxCharacter.lib;PhysXLoader.lib;libogg_static.lib;libvorbis_static.lib;libvorbisfile_static.lib;libspeex.lib;libjpeg.lib;libpngd.lib;zlibd.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalDependencies>CoreLib.lib;CoreLibExe.lib;pfAnimation.lib;pfAudio.lib;pfCamera.lib;pfCharacter.lib;pfConditional.lib;pfGameGUIMgr.lib;pfGameMgr.lib;pfGameScoreMgr.lib;pfJournalBook.lib;pfLocalizationMgr.lib;pfMessage.lib;pfPython.lib;pfSurface.lib;pnAddrInfo.lib;pnAsyncCore.lib;pnAsyncCoreExe.lib;pnDispatch.lib;pnFactory.lib;pnGameMgr.lib;pnIni.lib;pnIniExe.lib;pnInputCore.lib;pnKeyedObject.lib;pnMessage.lib;pnModifier.lib;pnNetBase.lib;pnNetCli.lib;pnNetCommon.lib;pnNetProtocol.lib;pnNucleusInc.lib;pnProduct.lib;pnSceneObject.lib;pnTimer.lib;pnUtils.lib;pnUtilsExe.lib;plAgeDescription.lib;plAgeLoader.lib;plAudible.lib;plAudio.lib;plAudioCore.lib;plAvatar.lib;plClientResMgr.lib;plCompression.lib;plContainer.lib;plDrawable.lib;plEncryption.lib;plFile.lib;plGImage.lib;plGLight.lib;plInputCore.lib;plInterp.lib;plIntersect.lib;plJPEG.lib;plMath.lib;plMessage.lib;plModifier.lib;plNetClient.lib;plNetClientComm.lib;plNetClientRecorder.lib;plNetCommon.lib;plNetGameLib.lib;plNetMessage.lib;plNetTransport.lib;plParticleSystem.lib;plPhysical.lib;plPhysX.lib;plPipeline.lib;plProgressMgr.lib;plResMgr.lib;plScene.lib;plSDL.lib;plStatusLog.lib;plSurface.lib;plTransform.lib;plUnifiedTime.lib;plUUID.lib;plVault.lib;winhttp.lib;ws2_32.lib;strmiids.lib;vfw32.lib;Rpcrt4.lib;pythoncore_static.lib;d3dx9.lib;dinput8.lib;dxerr9.lib;dxguid.lib;dsound.lib;OpenAL32.lib;libeay32.lib;NxCharacter.lib;PhysXLoader.lib;libogg_static.lib;libvorbis_static.lib;libvorbisfile_static.lib;libspeex.lib;libjpeg.lib;libpngd.lib;zlibd.lib;NxCooking.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\CoreLib\Debug;..\..\CoreLibExe\Debug;..\..\FeatureLib\pfAnimation\Debug;..\..\FeatureLib\pfAudio\Debug;..\..\FeatureLib\pfCamera\Debug;..\..\FeatureLib\pfCharacter\Debug;..\..\FeatureLib\pfConditional\Debug;..\..\FeatureLib\pfGameGUIMgr\Debug;..\..\FeatureLib\pfGameMgr\Debug;..\..\FeatureLib\pfGameScoreMgr\Debug;..\..\FeatureLib\pfJournalBook\Debug;..\..\FeatureLib\pfLocalizationMgr\Debug;..\..\FeatureLib\pfMessage\Debug;..\..\FeatureLib\pfPython\Debug;..\..\FeatureLib\pfSurface\Debug;..\..\NucleusLib\pnAddrInfo\Debug;..\..\NucleusLib\pnAsyncCore\Debug;..\..\NucleusLib\pnAsyncCoreExe\Debug;..\..\NucleusLib\pnDispatch\Debug;..\..\NucleusLib\pnFactory\Debug;..\..\NucleusLib\pnGameMgr\Debug;..\..\NucleusLib\pnIni\Debug;..\..\NucleusLib\pnIniExe\Debug;..\..\NucleusLib\pnInputCore\Debug;..\..\NucleusLib\pnKeyedObject\Debug;..\..\NucleusLib\pnMessage\Debug;..\..\NucleusLib\pnModifier\Debug;..\..\NucleusLib\pnNetBase\Debug;..\..\NucleusLib\pnNetCli\Debug;..\..\NucleusLib\pnNetCommon\Debug;..\..\NucleusLib\pnNetProtocol\Debug;..\..\NucleusLib\pnNucleusInc\Debug;..\..\NucleusLib\pnProduct\Debug;..\..\NucleusLib\pnSceneObject\Debug;..\..\NucleusLib\pnTimer\Debug;..\..\NucleusLib\pnUtils\Debug;..\..\NucleusLib\pnUtilsExe\Debug;..\..\PubUtilLib\plAgeDescription\Debug;..\..\PubUtilLib\plAgeLoader\Debug;..\..\PubUtilLib\plAudible\Debug;..\..\PubUtilLib\plAudio\Debug;..\..\PubUtilLib\plAudioCore\Debug;..\..\PubUtilLib\plAvatar\Debug;..\..\PubUtilLib\plClientResMgr\Debug;..\..\PubUtilLib\plCompression\Debug;..\..\PubUtilLib\plContainer\Debug;..\..\PubUtilLib\plDrawable\Debug;..\..\PubUtilLib\plEncryption\Debug;..\..\PubUtilLib\plFile\Debug;..\..\PubUtilLib\plGImage\Debug;..\..\PubUtilLib\plGLight\Debug;..\..\PubUtilLib\plInputCore\Debug;..\..\PubUtilLib\plInterp\Debug;..\..\PubUtilLib\plIntersect\Debug;..\..\PubUtilLib\plJPEG\Debug;..\..\PubUtilLib\plMath\Debug;..\..\PubUtilLib\plMessage\Debug;..\..\PubUtilLib\plModifier\Debug;..\..\PubUtilLib\plNetClient\Debug;..\..\PubUtilLib\plNetClientComm\Debug;..\..\PubUtilLib\plNetClientRecorder\Debug;..\..\PubUtilLib\plNetCommon\Debug;..\..\PubUtilLib\plNetGameLib\Debug;..\..\PubUtilLib\plNetMessage\Debug;..\..\PubUtilLib\plNetTransport\Debug;..\..\PubUtilLib\plParticleSystem\Debug;..\..\PubUtilLib\plPhysical\Debug;..\..\PubUtilLib\plPhysX\Debug;..\..\PubUtilLib\plPipeline\Debug;..\..\PubUtilLib\plProgressMgr\Debug;..\..\PubUtilLib\plResMgr\Debug;..\..\PubUtilLib\plScene\Debug;..\..\PubUtilLib\plSDL\Debug;..\..\PubUtilLib\plStatusLog\Debug;..\..\PubUtilLib\plSurface\Debug;..\..\PubUtilLib\plTransform\Debug;..\..\PubUtilLib\plUnifiedTime\Debug;..\..\PubUtilLib\plUUID\Debug;..\..\PubUtilLib\plVault\Debug;..\..\..\..\SDKs\XPlatform\Cypython-2.3.3\PCbuild\Debug;..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib\x86;..\..\..\..\..\StaticSDKs\Win32\OpenAL 1.1 with EFX SDK\libs\Win32;..\..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;..\..\..\..\..\StaticSDKs\Win32\PhysX\lib\win32;..\..\..\..\..\StaticSDKs\Win32\xiph\lib\Debug;..\..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs\Win32;..\..\..\..\..\StaticSDKs\XPlatform\jpeg-8c-rgba;..\..\..\..\..\StaticSDKs\XPlatform\png\lib;..\..\..\..\..\StaticSDKs\XPlatform\zlib\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<IgnoreSpecificDefaultLibraries>libc.lib;libcd.lib;libci.lib;libcid.lib;libcmt.lib;libcmtd.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
@ -95,7 +95,7 @@
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>CoreLib.lib;CoreLibExe.lib;pfAnimation.lib;pfAudio.lib;pfCamera.lib;pfCharacter.lib;pfConditional.lib;pfGameGUIMgr.lib;pfGameMgr.lib;pfGameScoreMgr.lib;pfJournalBook.lib;pfLocalizationMgr.lib;pfMessage.lib;pfPython.lib;pfSurface.lib;pnAddrInfo.lib;pnAsyncCore.lib;pnAsyncCoreExe.lib;pnDispatch.lib;pnFactory.lib;pnGameMgr.lib;pnIni.lib;pnIniExe.lib;pnInputCore.lib;pnKeyedObject.lib;pnMessage.lib;pnModifier.lib;pnNetBase.lib;pnNetCli.lib;pnNetCommon.lib;pnNetProtocol.lib;pnNucleusInc.lib;pnProduct.lib;pnSceneObject.lib;pnTimer.lib;pnUtils.lib;pnUtilsExe.lib;plAgeDescription.lib;plAgeLoader.lib;plAudible.lib;plAudio.lib;plAudioCore.lib;plAvatar.lib;plClientResMgr.lib;plCompression.lib;plContainer.lib;plDrawable.lib;plEncryption.lib;plFile.lib;plGImage.lib;plGLight.lib;plInputCore.lib;plInterp.lib;plIntersect.lib;plJPEG.lib;plMath.lib;plMessage.lib;plModifier.lib;plNetClient.lib;plNetClientComm.lib;plNetClientRecorder.lib;plNetCommon.lib;plNetGameLib.lib;plNetMessage.lib;plNetTransport.lib;plParticleSystem.lib;plPhysical.lib;plPhysX.lib;plPipeline.lib;plProgressMgr.lib;plResMgr.lib;plScene.lib;plSDL.lib;plStatusLog.lib;plSurface.lib;plTransform.lib;plUnifiedTime.lib;plUUID.lib;plVault.lib;winhttp.lib;ws2_32.lib;strmiids.lib;vfw32.lib;Rpcrt4.lib;pythoncore_static.lib;d3dx9.lib;dinput8.lib;dxerr9.lib;dxguid.lib;dsound.lib;OpenAL32.lib;libeay32.lib;NxCharacter.lib;PhysXLoader.lib;libogg_static.lib;libvorbis_static.lib;libvorbisfile_static.lib;libspeex.lib;libjpeg.lib;libpng.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalDependencies>CoreLib.lib;CoreLibExe.lib;pfAnimation.lib;pfAudio.lib;pfCamera.lib;pfCharacter.lib;pfConditional.lib;pfGameGUIMgr.lib;pfGameMgr.lib;pfGameScoreMgr.lib;pfJournalBook.lib;pfLocalizationMgr.lib;pfMessage.lib;pfPython.lib;pfSurface.lib;pnAddrInfo.lib;pnAsyncCore.lib;pnAsyncCoreExe.lib;pnDispatch.lib;pnFactory.lib;pnGameMgr.lib;pnIni.lib;pnIniExe.lib;pnInputCore.lib;pnKeyedObject.lib;pnMessage.lib;pnModifier.lib;pnNetBase.lib;pnNetCli.lib;pnNetCommon.lib;pnNetProtocol.lib;pnNucleusInc.lib;pnProduct.lib;pnSceneObject.lib;pnTimer.lib;pnUtils.lib;pnUtilsExe.lib;plAgeDescription.lib;plAgeLoader.lib;plAudible.lib;plAudio.lib;plAudioCore.lib;plAvatar.lib;plClientResMgr.lib;plCompression.lib;plContainer.lib;plDrawable.lib;plEncryption.lib;plFile.lib;plGImage.lib;plGLight.lib;plInputCore.lib;plInterp.lib;plIntersect.lib;plJPEG.lib;plMath.lib;plMessage.lib;plModifier.lib;plNetClient.lib;plNetClientComm.lib;plNetClientRecorder.lib;plNetCommon.lib;plNetGameLib.lib;plNetMessage.lib;plNetTransport.lib;plParticleSystem.lib;plPhysical.lib;plPhysX.lib;plPipeline.lib;plProgressMgr.lib;plResMgr.lib;plScene.lib;plSDL.lib;plStatusLog.lib;plSurface.lib;plTransform.lib;plUnifiedTime.lib;plUUID.lib;plVault.lib;winhttp.lib;ws2_32.lib;strmiids.lib;vfw32.lib;Rpcrt4.lib;pythoncore_static.lib;d3dx9.lib;dinput8.lib;dxerr9.lib;dxguid.lib;dsound.lib;OpenAL32.lib;libeay32.lib;NxCharacter.lib;PhysXLoader.lib;libogg_static.lib;libvorbis_static.lib;libvorbisfile_static.lib;libspeex.lib;libjpeg.lib;libpng.lib;zlib.lib;NxCooking.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\..\CoreLib\Release;..\..\CoreLibExe\Release;..\..\FeatureLib\pfAnimation\Release;..\..\FeatureLib\pfAudio\Release;..\..\FeatureLib\pfCamera\Release;..\..\FeatureLib\pfCharacter\Release;..\..\FeatureLib\pfConditional\Release;..\..\FeatureLib\pfGameGUIMgr\Release;..\..\FeatureLib\pfGameMgr\Release;..\..\FeatureLib\pfGameScoreMgr\Release;..\..\FeatureLib\pfJournalBook\Release;..\..\FeatureLib\pfLocalizationMgr\Release;..\..\FeatureLib\pfMessage\Release;..\..\FeatureLib\pfPython\Release;..\..\FeatureLib\pfSurface\Release;..\..\NucleusLib\pnAddrInfo\Release;..\..\NucleusLib\pnAsyncCore\Release;..\..\NucleusLib\pnAsyncCoreExe\Release;..\..\NucleusLib\pnDispatch\Release;..\..\NucleusLib\pnFactory\Release;..\..\NucleusLib\pnGameMgr\Release;..\..\NucleusLib\pnIni\Release;..\..\NucleusLib\pnIniExe\Release;..\..\NucleusLib\pnInputCore\Release;..\..\NucleusLib\pnKeyedObject\Release;..\..\NucleusLib\pnMessage\Release;..\..\NucleusLib\pnModifier\Release;..\..\NucleusLib\pnNetBase\Release;..\..\NucleusLib\pnNetCli\Release;..\..\NucleusLib\pnNetCommon\Release;..\..\NucleusLib\pnNetProtocol\Release;..\..\NucleusLib\pnNucleusInc\Release;..\..\NucleusLib\pnProduct\Release;..\..\NucleusLib\pnSceneObject\Release;..\..\NucleusLib\pnTimer\Release;..\..\NucleusLib\pnUtils\Release;..\..\NucleusLib\pnUtilsExe\Release;..\..\PubUtilLib\plAgeDescription\Release;..\..\PubUtilLib\plAgeLoader\Release;..\..\PubUtilLib\plAudible\Release;..\..\PubUtilLib\plAudio\Release;..\..\PubUtilLib\plAudioCore\Release;..\..\PubUtilLib\plAvatar\Release;..\..\PubUtilLib\plClientResMgr\Release;..\..\PubUtilLib\plCompression\Release;..\..\PubUtilLib\plContainer\Release;..\..\PubUtilLib\plDrawable\Release;..\..\PubUtilLib\plEncryption\Release;..\..\PubUtilLib\plFile\Release;..\..\PubUtilLib\plGImage\Release;..\..\PubUtilLib\plGLight\Release;..\..\PubUtilLib\plInputCore\Release;..\..\PubUtilLib\plInterp\Release;..\..\PubUtilLib\plIntersect\Release;..\..\PubUtilLib\plJPEG\Release;..\..\PubUtilLib\plMath\Release;..\..\PubUtilLib\plMessage\Release;..\..\PubUtilLib\plModifier\Release;..\..\PubUtilLib\plNetClient\Release;..\..\PubUtilLib\plNetClientComm\Release;..\..\PubUtilLib\plNetClientRecorder\Release;..\..\PubUtilLib\plNetCommon\Release;..\..\PubUtilLib\plNetGameLib\Release;..\..\PubUtilLib\plNetMessage\Release;..\..\PubUtilLib\plNetTransport\Release;..\..\PubUtilLib\plParticleSystem\Release;..\..\PubUtilLib\plPhysical\Release;..\..\PubUtilLib\plPhysX\Release;..\..\PubUtilLib\plPipeline\Release;..\..\PubUtilLib\plProgressMgr\Release;..\..\PubUtilLib\plResMgr\Release;..\..\PubUtilLib\plScene\Release;..\..\PubUtilLib\plSDL\Release;..\..\PubUtilLib\plStatusLog\Release;..\..\PubUtilLib\plSurface\Release;..\..\PubUtilLib\plTransform\Release;..\..\PubUtilLib\plUnifiedTime\Release;..\..\PubUtilLib\plUUID\Release;..\..\PubUtilLib\plVault\Release;..\..\..\..\SDKs\XPlatform\Cypython-2.3.3\PCbuild\Release;..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib\x86;..\..\..\..\..\StaticSDKs\Win32\OpenAL 1.1 with EFX SDK\libs\Win32;..\..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;..\..\..\..\..\StaticSDKs\Win32\PhysX\lib\win32;..\..\..\..\..\StaticSDKs\Win32\xiph\lib\Release;..\..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs\Win32;..\..\..\..\..\StaticSDKs\XPlatform\jpeg-8c-rgba;..\..\..\..\..\StaticSDKs\XPlatform\png\lib;..\..\..\..\..\StaticSDKs\XPlatform\zlib\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<IgnoreSpecificDefaultLibraries>libc.lib;libci.lib;libcmt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -22,7 +22,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""../../../../SDKs/XPlatform/Cypython-2.3.3/Include";"../../../../SDKs/XPlatform/Cypython-2.3.3/PC";../../../../../StaticSDKs/Win32/HawkVoice/src;../../../../../StaticSDKs/Win32/HawkVoice/Release;../../../../../StaticSDKs/Win32/dx9.0c/include;../../../../Sources/Plasma/CoreLib;../../../../Sources/Plasma/NucleusLib;../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/FeatureLib;../../../../Sources/Plasma/FeatureLib/inc;"../../../../SDKs/XPlatform/Cypython-2.3.3/pyconfig_static";../../../../../StaticSDKs/Win32/PlatformSDK/Include;../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;EAX_SDK_AVAILABLE"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
BufferSecurityCheck="TRUE"
|
||||
@ -39,11 +39,11 @@
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="winhttp.lib ogg_static_d.lib vorbis_static_d.lib vorbisfile_static_d.lib ksproxy.lib strmiids.lib eax.lib wininet.lib vfw32.lib winmm.lib libjpeg.lib libeay32.lib ws2_32.lib version.lib odbc32.lib odbccp32.lib eaxguid.lib libspeex.lib Rpcrt4.lib largeint.lib Iphlpapi.lib OpenAL32.lib libpngd.lib"
|
||||
AdditionalDependencies="winhttp.lib ogg_static_d.lib vorbis_static_d.lib vorbisfile_static_d.lib ksproxy.lib strmiids.lib wininet.lib vfw32.lib winmm.lib libjpeg.lib libeay32.lib ws2_32.lib version.lib odbc32.lib odbccp32.lib d3dx9.lib dinput8.lib dplayx.lib dsound.lib DxErr9.lib dxguid.lib libspeex.lib Rpcrt4.lib largeint.lib Iphlpapi.lib OpenAL32.lib libpngd.lib"
|
||||
OutputFile="Debug/plClient_dbg.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories=""..\..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs\Win32";"..\..\..\..\..\StaticSDKs\Win32\speex-1.0.1\win32\libspeex\Release";..\..\..\..\..\StaticSDKs\Win32\eax\lib;..\..\..\..\..\StaticSDKs\Win32\oggvorbis\lib;..\..\..\..\..\STATICSDKS\XPLATFORM\STLPORT\lib;"..\..\..\..\..\StaticSDKs\XPlatform\jpeg-8c-rgba";..\..\..\..\..\StaticSDKs\Win32\WMSDK\lib;..\..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;..\..\..\..\..\StaticSDKs\Win32\dx9.0csdk\lib;..\..\..\..\..\StaticSDKs\Win32\PhysX\lib\win32;"..\..\..\..\..\StaticSDKs\Win32\OpenAL 1.1 with EFX SDK\libs\Win32";..\..\..\..\..\StaticSDKs\Win32\PlatformSDK\Lib;..\..\..\..\..\StaticSDKs\XPlatform\png\lib"
|
||||
AdditionalLibraryDirectories=""..\..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs\Win32";"..\..\..\..\..\StaticSDKs\Win32\speex-1.0.1\win32\libspeex\Release";..\..\..\..\..\StaticSDKs\Win32\eax\lib;..\..\..\..\..\StaticSDKs\Win32\oggvorbis\lib;..\..\..\..\..\STATICSDKS\XPLATFORM\STLPORT\lib;"..\..\..\..\..\StaticSDKs\XPlatform\jpeg-8c-rgba";..\..\..\..\..\StaticSDKs\Win32\WMSDK\lib;..\..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib;..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib\x86;..\..\..\..\..\StaticSDKs\Win32\PhysX\lib\win32;"..\..\..\..\..\StaticSDKs\Win32\OpenAL 1.1 with EFX SDK\libs\Win32";..\..\..\..\..\StaticSDKs\Win32\PlatformSDK\Lib;..\..\..\..\..\StaticSDKs\XPlatform\png\lib"
|
||||
IgnoreDefaultLibraryNames="libc.lib,libcd.lib,libci.lib,libcid.lib,libcmtd.lib,libcmt.lib"
|
||||
GenerateDebugInformation="TRUE"
|
||||
AssemblyDebug="1"
|
||||
@ -105,8 +105,8 @@ xcopy /Y ..\..\..\..\Sources\Plasma\Apps\plClient\external\resource.dat ..\..\..
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories=""../../../../SDKs/XPlatform/Cypython-2.3.3/Include";"../../../../SDKs/XPlatform/Cypython-2.3.3/PC";../../../../../StaticSDKs/Win32/HawkVoice/src;../../../../../StaticSDKs/Win32/HawkVoice/Release;../../../../../StaticSDKs/Win32/dx9.0c/include;../../../../Sources/Plasma/CoreLib;../../../../Sources/Plasma/NucleusLib;../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/FeatureLib;../../../../Sources/Plasma/FeatureLib/inc;"../../../../SDKs/XPlatform/Cypython-2.3.3/pyconfig_static";../../../../../StaticSDKs/Win32/PlatformSDK/Include;../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;EAX_SDK_AVAILABLE"
|
||||
AdditionalIncludeDirectories=""../../../../SDKs/XPlatform/Cypython-2.3.3/Include";"../../../../SDKs/XPlatform/Cypython-2.3.3/PC";../../../../../StaticSDKs/Win32/HawkVoice/src;../../../../../StaticSDKs/Win32/HawkVoice/Release;../../../../../StaticSDKs/Win32/dx9.0c/include;../../../../Sources/Plasma/CoreLib;../../../../Sources/Plasma/NucleusLib;../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/FeatureLib;../../../../Sources/Plasma/FeatureLib/inc;"../../../../SDKs/XPlatform/Cypython-2.3.3/pyconfig_static";../../../../../StaticSDKs/Win32/PlatformSDK/Include;"../../../../../StaticSDKs/Win32/OpenAL 1.1 with EFX SDK/include";../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
@ -124,11 +124,11 @@ xcopy /Y ..\..\..\..\Sources\Plasma\Apps\plClient\external\resource.dat ..\..\..
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="winhttp.lib ogg_static.lib vorbis_static.lib vorbisfile_static.lib strmiids.lib eax.lib wininet.lib vfw32.lib winmm.lib libjpeg.lib libeay32.lib ws2_32.lib version.lib odbc32.lib odbccp32.lib eaxguid.lib libspeex.lib Rpcrt4.lib largeint.lib Iphlpapi.lib OpenAL32.lib libpng.lib"
|
||||
AdditionalDependencies="winhttp.lib ogg_static.lib vorbis_static.lib vorbisfile_static.lib strmiids.lib wininet.lib vfw32.lib winmm.lib libjpeg.lib libeay32.lib ws2_32.lib version.lib odbc32.lib odbccp32.lib d3dx9.lib dinput8.lib dplayx.lib dsound.lib DxErr9.lib dxguid.lib libspeex.lib Rpcrt4.lib largeint.lib Iphlpapi.lib OpenAL32.lib libpng.lib"
|
||||
OutputFile=".\Release/plClient.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories=""..\..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs\Win32";"..\..\..\..\..\StaticSDKs\Win32\speex-1.0.1\Win32\libspeex\Release";..\..\..\..\..\StaticSDKs\Win32\oggvorbis\lib;..\..\..\..\..\STATICSDKS\XPLATFORM\STLPORT\lib;..\..\..\..\..\StaticSDKs\Win32\WMSDK\lib;..\..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib\x86;..\..\..\..\..\StaticSDKs\Win32\PhysX\lib\win32;"..\..\..\..\..\StaticSDKs\Win32\OpenAL 1.1 with EFX SDK\libs\Win32";..\..\..\..\..\StaticSDKs\Win32\PlatformSDK\Lib;"..\..\..\..\..\StaticSDKs\XPlatform\jpeg-8c-rgba";..\..\..\..\..\StaticSDKs\XPlatform\png\lib;..\..\..\..\..\StaticSDKs\Win32\EAX\lib"
|
||||
AdditionalLibraryDirectories=""..\..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs\Win32";"..\..\..\..\..\StaticSDKs\Win32\speex-1.0.1\Win32\libspeex\Release";..\..\..\..\..\StaticSDKs\Win32\oggvorbis\lib;..\..\..\..\..\STATICSDKS\XPLATFORM\STLPORT\lib;..\..\..\..\..\StaticSDKs\Win32\WMSDK\lib;..\..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib;..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib\x86;..\..\..\..\..\StaticSDKs\Win32\PhysX\lib\win32;"..\..\..\..\..\StaticSDKs\Win32\OpenAL 1.1 with EFX SDK\libs\Win32";..\..\..\..\..\StaticSDKs\Win32\PlatformSDK\Lib;"..\..\..\..\..\StaticSDKs\XPlatform\jpeg-8c-rgba";..\..\..\..\..\StaticSDKs\XPlatform\png\lib;..\..\..\..\..\StaticSDKs\Win32\EAX\lib"
|
||||
IgnoreDefaultLibraryNames="libc.lib,libci.lib,libcmt.lib"
|
||||
GenerateDebugInformation="TRUE"
|
||||
AssemblyDebug="1"
|
||||
@ -353,6 +353,9 @@ xcopy /Y ..\..\..\..\Sources\Plasma\Apps\plClient\external\resource.dat ..\..\..
|
||||
<File
|
||||
RelativePath="..\..\..\..\Sources\Plasma\Apps\plClient\plClientUpdateFormat.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\Sources\Plasma\Apps\PlClient\loginfix.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\Sources\Tools\MaxSceneViewer\plPluginClient.h">
|
||||
</File>
|
||||
@ -415,34 +418,15 @@ xcopy /Y ..\..\..\..\Sources\Plasma\Apps\plClient\external\resource.dat ..\..\..
|
||||
Name="VCCustomBuildTool"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<Filter
|
||||
Name="DX9"
|
||||
Filter="">
|
||||
<File
|
||||
RelativePath="..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib\d3dx9.lib">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib\dinput8.lib">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib\dplayx.lib">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib\dsound.lib">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib\DxErr9.lib">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib\dxguid.lib">
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="PhysX"
|
||||
Filter="">
|
||||
<File
|
||||
RelativePath="..\..\..\..\..\StaticSDKs\Win32\PhysX\lib\win32\NxCharacter.lib">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\..\StaticSDKs\Win32\PhysX\lib\win32\NxCooking.lib">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\..\StaticSDKs\Win32\PhysX\lib\win32\PhysXLoader.lib">
|
||||
</File>
|
||||
|
@ -3,6 +3,7 @@
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="plFileEncrypt"
|
||||
ProjectGUID="{728CE37F-B032-45D1-B3B5-EF94D4B8A919}"
|
||||
SccProjectName=""
|
||||
SccLocalPath="">
|
||||
<Platforms>
|
||||
@ -51,7 +52,9 @@
|
||||
TypeLibraryName=".\Debug/plFileEncrypt.tlb"
|
||||
HeaderFileName=""/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
Name="VCPostBuildEventTool"
|
||||
Description="Copy to Tools directory"
|
||||
CommandLine="xcopy /Y "$(TargetPath)" ..\..\..\..\tools\"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
@ -112,7 +115,9 @@
|
||||
TypeLibraryName=".\Release/plFileEncrypt.tlb"
|
||||
HeaderFileName=""/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
Name="VCPostBuildEventTool"
|
||||
Description="Copy to Tools directory"
|
||||
CommandLine="xcopy /Y "$(TargetPath)" ..\..\..\..\tools\"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
|
@ -52,7 +52,9 @@
|
||||
TypeLibraryName=".\Debug/plFileSecure.tlb"
|
||||
HeaderFileName=""/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
Name="VCPostBuildEventTool"
|
||||
Description="Copy to Tools directory"
|
||||
CommandLine="xcopy /Y "$(TargetPath)" ..\..\..\..\tools\"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
@ -113,7 +115,9 @@
|
||||
TypeLibraryName=".\Release/plFileSecure.tlb"
|
||||
HeaderFileName=""/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
Name="VCPostBuildEventTool"
|
||||
Description="Copy to Tools directory"
|
||||
CommandLine="xcopy /Y "$(TargetPath)" ..\..\..\..\tools\"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
|
@ -20,7 +20,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/CoreLib;../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/FeatureLib/inc;"../../../../SDKs/XPlatform/Cypython-2.3.3/Include";"../../../../SDKs/XPlatform/Cypython-2.3.3/pyconfig_static";../../../../../StaticSDKs/Win32/dx9.0c/include;../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;EAX_SDK_AVAILABLE"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
||||
MinimalRebuild="TRUE"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
@ -33,10 +33,10 @@
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="ogg_static.lib vorbis_static.lib vorbisfile_static.lib ksproxy.lib strmiids.lib eax.lib wininet.lib vfw32.lib winmm.lib libeay32.lib ws2_32.lib version.lib odbc32.lib odbccp32.lib eaxguid.lib d3dx9.lib dinput8.lib dplayx.lib dsound.lib dxerr9.lib dxguid.lib libpngd.lib zlibd.lib Rpcrt4.lib NxCharacter.lib PhysXLoader.lib libspeex.lib OpenAL32.lib libjpeg.lib"
|
||||
AdditionalDependencies="ogg_static.lib vorbis_static.lib vorbisfile_static.lib ksproxy.lib strmiids.lib wininet.lib vfw32.lib winmm.lib libeay32.lib ws2_32.lib version.lib odbc32.lib odbccp32.lib d3dx9.lib dinput8.lib dplayx.lib dsound.lib dxerr9.lib dxguid.lib libpngd.lib zlibd.lib Rpcrt4.lib NxCharacter.lib PhysXLoader.lib libspeex.lib OpenAL32.lib libjpeg.lib NxCooking.lib"
|
||||
OutputFile="$(OutDir)/plPageOptimizer.exe"
|
||||
LinkIncremental="2"
|
||||
AdditionalLibraryDirectories="..\..\..\..\..\StaticSDKs\Win32\eax\lib;..\..\..\..\..\StaticSDKs\Win32\oggvorbis\lib;..\..\..\..\..\StaticSDKs\Win32\WMSDK\lib;..\..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;..\..\..\..\..\StaticSDKs\Win32\dx8.1sdk\lib;..\..\..\..\SDKs\XPlatform\ODE\lib\win32;"..\..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs";..\..\..\..\..\StaticSDKs\XPlatform\png\lib;..\..\..\..\..\StaticSDKs\XPlatform\zlib\lib;..\..\..\..\..\StaticSDKs\Win32\PhysX\lib\win32;"..\..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs\Win32";"..\..\..\..\..\StaticSDKs\Win32\speex-1.0.1\Win32\libspeex\Debug";"..\..\..\..\..\StaticSDKs\Win32\OpenAL 1.1 with EFX SDK\libs\Win32";..\..\..\..\..\StaticSDKs\Win32\dx9.0c\lib;"../../../../../StaticSDKs/XPlatform/jpeg-8c-rgba""
|
||||
AdditionalLibraryDirectories="..\..\..\..\..\StaticSDKs\Win32\eax\lib;..\..\..\..\..\StaticSDKs\Win32\oggvorbis\lib;..\..\..\..\..\StaticSDKs\Win32\WMSDK\lib;..\..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;..\..\..\..\..\StaticSDKs\Win32\dx8.1sdk\lib;..\..\..\..\SDKs\XPlatform\ODE\lib\win32;"..\..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs";..\..\..\..\..\StaticSDKs\XPlatform\png\lib;..\..\..\..\..\StaticSDKs\XPlatform\zlib\lib;..\..\..\..\..\StaticSDKs\Win32\PhysX\lib\win32;"..\..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs\Win32";"..\..\..\..\..\StaticSDKs\Win32\speex-1.0.1\Win32\libspeex\Debug";"..\..\..\..\..\StaticSDKs\Win32\OpenAL 1.1 with EFX SDK\libs\Win32";..\..\..\..\..\StaticSDKs\Win32\dx9.0c\lib;..\..\..\..\..\StaticSDKs\Win32\dx9.0c\lib\x86;"../../../../../StaticSDKs/XPlatform/jpeg-8c-rgba""
|
||||
IgnoreDefaultLibraryNames="libc.lib,libcd.lib,libci.lib"
|
||||
GenerateDebugInformation="TRUE"
|
||||
ProgramDatabaseFile="$(OutDir)/plPageOptimizer.pdb"
|
||||
@ -71,8 +71,8 @@
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/CoreLib;../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/FeatureLib/inc;"../../../../SDKs/XPlatform/Cypython-2.3.3/Include";"../../../../SDKs/XPlatform/Cypython-2.3.3/pyconfig_static";../../../../../StaticSDKs/Win32/dx9.0c/include;../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;EAX_SDK_AVAILABLE"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/CoreLib;../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/FeatureLib/inc;"../../../../SDKs/XPlatform/Cypython-2.3.3/Include";"../../../../SDKs/XPlatform/Cypython-2.3.3/pyconfig_static";../../../../../StaticSDKs/Win32/dx9.0c/include;"../../../../../StaticSDKs/Win32/OpenAL 1.1 with EFX SDK/include";../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
||||
RuntimeLibrary="2"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
@ -83,10 +83,10 @@
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="ogg_static.lib vorbis_static.lib vorbisfile_static.lib strmiids.lib eax.lib wininet.lib vfw32.lib winmm.lib libeay32.lib ws2_32.lib version.lib odbc32.lib odbccp32.lib eaxguid.lib d3dx9.lib dinput8.lib dplayx.lib dsound.lib dxerr9.lib dxguid.lib libpng.lib zlib.lib libspeex.lib OpenAL32.lib Rpcrt4.lib NxCharacter.lib PhysXLoader.lib libjpeg.lib"
|
||||
AdditionalDependencies="ogg_static.lib vorbis_static.lib vorbisfile_static.lib strmiids.lib wininet.lib vfw32.lib winmm.lib libeay32.lib ws2_32.lib version.lib odbc32.lib odbccp32.lib d3dx9.lib dinput8.lib dplayx.lib dsound.lib dxerr9.lib dxguid.lib libpng.lib zlib.lib libspeex.lib OpenAL32.lib Rpcrt4.lib NxCharacter.lib PhysXLoader.lib libjpeg.lib NxCooking.lib"
|
||||
OutputFile="$(OutDir)/plPageOptimizer.exe"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="..\..\..\..\..\StaticSDKs\Win32\eax\lib;..\..\..\..\..\StaticSDKs\Win32\oggvorbis\lib;..\..\..\..\..\StaticSDKs\Win32\WMSDK\lib;..\..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;..\..\..\..\..\StaticSDKs\Win32\dx9.0c\lib;..\..\..\..\SDKs\XPlatform\ODE\lib\win32;"..\..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs";..\..\..\..\..\StaticSDKs\XPlatform\png\lib;..\..\..\..\..\StaticSDKs\XPlatform\zlib\lib;"..\..\..\..\..\StaticSDKs\Win32\speex-1.0.1\Win32\libspeex\Release";"..\..\..\..\..\StaticSDKs\Win32\OpenAL 1.1 with EFX SDK\libs\Win32";"..\..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs\Win32";..\..\..\..\..\StaticSDKs\Win32\PhysX\lib\win32;"../../../../../StaticSDKs/XPlatform/jpeg-8c-rgba""
|
||||
AdditionalLibraryDirectories="..\..\..\..\..\StaticSDKs\Win32\eax\lib;..\..\..\..\..\StaticSDKs\Win32\oggvorbis\lib;..\..\..\..\..\StaticSDKs\Win32\WMSDK\lib;..\..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;..\..\..\..\..\StaticSDKs\Win32\dx9.0c\lib;..\..\..\..\..\StaticSDKs\Win32\dx9.0c\lib\x86;..\..\..\..\SDKs\XPlatform\ODE\lib\win32;"..\..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs";..\..\..\..\..\StaticSDKs\XPlatform\png\lib;..\..\..\..\..\StaticSDKs\XPlatform\zlib\lib;"..\..\..\..\..\StaticSDKs\Win32\speex-1.0.1\Win32\libspeex\Release";"..\..\..\..\..\StaticSDKs\Win32\OpenAL 1.1 with EFX SDK\libs\Win32";"..\..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs\Win32";..\..\..\..\..\StaticSDKs\Win32\PhysX\lib\win32;"../../../../../StaticSDKs/XPlatform/jpeg-8c-rgba""
|
||||
IgnoreDefaultLibraryNames="libc.lib,libci.lib,libcmt.lib"
|
||||
GenerateDebugInformation="TRUE"
|
||||
SubSystem="1"
|
||||
|
@ -3,6 +3,7 @@
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="plPythonPack"
|
||||
ProjectGUID="{84868043-5563-435A-A176-76A059653D5C}"
|
||||
SccProjectName=""
|
||||
SccLocalPath="">
|
||||
<Platforms>
|
||||
@ -22,7 +23,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/CoreLib;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/FeatureLib/inc;"../../../../SDKs/XPlatform/Cypython-2.3.3/Include";"../../../../SDKs/XPlatform/Cypython-2.3.3/PC";../../../../SDKs/XPlatform/Cypython-2.3.3/pyconfig_static"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/CoreLib;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/FeatureLib/inc;"../../../../SDKs/XPlatform/Cypython-2.3.3/Include";"../../../../SDKs/XPlatform/Cypython-2.3.3/PC";"../../../../SDKs/XPlatform/Cypython-2.3.3/pyconfig_static""
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;MS_NO_COREDLL"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="2"
|
||||
@ -40,11 +41,11 @@
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="largeint.lib"
|
||||
AdditionalDependencies="largeint.lib CoreLib.lib CoreLibExe.lib plFile.lib pfPython.lib pythoncore_static.lib plUnifiedTime.lib"
|
||||
OutputFile=".\Release/plPythonPack.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories="../../../../../StaticSDKs/Win32/Python-2.1/PCbuild"
|
||||
AdditionalLibraryDirectories="../../CoreLibExe/Release;../../PubUtilLib/plUnifiedTime/Release;"../../../../SDKs/XPlatform/Cypython-2.3.3/PCbuild/Release";../../PubUtilLib/plFile/Release;../../FeatureLib/pfPython/Release;../../CoreLib/Release"
|
||||
ProgramDatabaseFile=".\Release/plPythonPack.pdb"
|
||||
SubSystem="1"
|
||||
TargetMachine="1"/>
|
||||
|
@ -20,7 +20,7 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib;../../../../Sources/Plasma/PubUtilLib;../../../../Sources/Plasma/CoreLib;../../../../Sources/Plasma/NucleusLib/inc;../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib;../../../../Sources/Plasma/PubUtilLib;../../../../Sources/Plasma/CoreLib;../../../../Sources/Plasma/NucleusLib/inc;../../../../../StaticSDKs/Win32/PlatformSDK/Include;../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
|
||||
StringPooling="TRUE"
|
||||
MinimalRebuild="FALSE"
|
||||
@ -35,7 +35,7 @@
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="Iphlpapi.lib rpcrt4.lib ws2_32.lib zlibd.lib winmm.lib libeay32.lib comctl32.lib"
|
||||
AdditionalDependencies="winhttp.lib Iphlpapi.lib rpcrt4.lib ws2_32.lib zlibd.lib winmm.lib libeay32.lib comctl32.lib ogg_static_d.lib vorbis_static_d.lib vorbisfile_static_d.lib"
|
||||
OutputFile="$(OutDir)/UruLauncher.exe"
|
||||
LinkIncremental="2"
|
||||
AdditionalLibraryDirectories="..\..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;;..\..\..\..\..\StaticSDKs\XPlatform\zlib\lib"
|
||||
@ -72,7 +72,7 @@
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib;../../../../Sources/Plasma/PubUtilLib;../../../../Sources/Plasma/CoreLib;../../../../Sources/Plasma/NucleusLib/inc;../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib;../../../../Sources/Plasma/PubUtilLib;../../../../Sources/Plasma/CoreLib;../../../../Sources/Plasma/NucleusLib/inc;../../../../../StaticSDKs/Win32/PlatformSDK/Include;../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="2"
|
||||
@ -86,10 +86,11 @@
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="Iphlpapi.lib rpcrt4.lib ws2_32.lib zlib.lib winmm.lib libeay32.lib comctl32.lib"
|
||||
AdditionalDependencies="winhttp.lib Iphlpapi.lib rpcrt4.lib ws2_32.lib zlib.lib winmm.lib libeay32.lib comctl32.lib ogg_static.lib vorbis_static.lib vorbisfile_static.lib"
|
||||
OutputFile="$(OutDir)/UruLauncher.exe"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="..\..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;;..\..\..\..\..\StaticSDKs\XPlatform\zlib\lib"
|
||||
AdditionalLibraryDirectories="..\..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;..\..\..\..\..\StaticSDKs\XPlatform\zlib\lib;..\..\..\..\..\StaticSDKs\Win32\PlatformSDK\Lib;..\..\..\..\..\StaticSDKs\Win32\oggvorbis\lib"
|
||||
IgnoreDefaultLibraryNames="libc.lib,libci.lib,libcmt.lib"
|
||||
GenerateDebugInformation="TRUE"
|
||||
SubSystem="2"
|
||||
OptimizeReferences="2"
|
||||
@ -98,7 +99,9 @@
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
Name="VCPostBuildEventTool"
|
||||
Description="Running plUruLauncher Post-Build Step"
|
||||
CommandLine="xcopy /Y "$(TargetPath)" ..\..\..\..\test\"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
|
@ -22,8 +22,8 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/PubUtilLib;../../../../Sources/Plasma/FeatureLib;../../../../Sources/Plasma/NucleusLib;../../../../Sources/Plasma/NucleusLib/inc;../../../../../StaticSDKs/XPlatform/STLport/stlport;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;EAX_SDK_AVAILABLE"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/PubUtilLib;../../../../Sources/Plasma/FeatureLib;../../../../Sources/Plasma/NucleusLib;../../../../Sources/Plasma/NucleusLib/inc;../../../../../StaticSDKs/XPlatform/STLport/stlport;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;"../../../../../StaticSDKs/Win32/OpenAL 1.1 with EFX SDK/include";../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
@ -75,7 +75,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/PubUtilLib;../../../../Sources/Plasma/FeatureLib;../../../../Sources/Plasma/NucleusLib;../../../../Sources/Plasma/NucleusLib/inc;../../../../../StaticSDKs/XPlatform/STLport/stlport;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;EAX_SDK_AVAILABLE"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
ForceConformanceInForLoopScope="TRUE"
|
||||
|
@ -22,8 +22,8 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/FeatureLib/inc;../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;"../../../../SDKs/XPlatform/Cypython-2.3.3/Include";"../../../../SDKs/XPlatform/Cypython-2.3.3/PC";"../../../../SDKs/XPlatform/Cypython-2.3.3/pyconfig_static";../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;EAX_SDK_AVAILABLE"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/FeatureLib/inc;../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;"../../../../SDKs/XPlatform/Cypython-2.3.3/Include";"../../../../SDKs/XPlatform/Cypython-2.3.3/PC";"../../../../SDKs/XPlatform/Cypython-2.3.3/pyconfig_static";"../../../../../StaticSDKs/Win32/OpenAL 1.1 with EFX SDK/include";../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="FALSE"
|
||||
@ -75,7 +75,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/FeatureLib/inc;../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;"../../../../SDKs/XPlatform/Cypython-2.3.3/Include";"../../../../SDKs/XPlatform/Cypython-2.3.3/PC";"../../../../SDKs/XPlatform/Cypython-2.3.3/pyconfig_static";../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;EAX_SDK_AVAILABLE"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
ForceConformanceInForLoopScope="TRUE"
|
||||
|
@ -25,7 +25,7 @@
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/FeatureLib/inc;../../../../Sources/Plasma/Apps/plClient;"../../../../SDKs/XPlatform/Cypython-2.3.3/Include";"../../../../SDKs/XPlatform/Cypython-2.3.3/PC";../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/dx8.1sdk/include;../../../../../StaticSDKs/Win32/Bink/inc;"../../../../SDKs/XPlatform/Cypython-2.3.3/pyconfig_static";"../../../../../StaticSDKs/Win32/OpenAL 1.1 with EFX SDK/include";../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;MS_NO_COREDLL;EAX_SDK_AVAILABLE"
|
||||
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;MS_NO_COREDLL"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
@ -79,7 +79,7 @@
|
||||
AdditionalOptions="/Zm1000 "
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/FeatureLib/inc;../../../../Sources/Plasma/Apps/plClient;"../../../../SDKs/XPlatform/Cypython-2.3.3/Include";"../../../../SDKs/XPlatform/Cypython-2.3.3/PC";../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/dx8.1sdk/include;../../../../../StaticSDKs/Win32/Bink/inc;"../../../../SDKs/XPlatform/Cypython-2.3.3/pyconfig_static";"../../../../../StaticSDKs/Win32/OpenAL 1.1 with EFX SDK/include";../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="_DEBUG;WIN32;_LIB;MS_NO_COREDLL;EAX_SDK_AVAILABLE"
|
||||
PreprocessorDefinitions="_DEBUG;WIN32;_LIB;MS_NO_COREDLL"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
ForceConformanceInForLoopScope="TRUE"
|
||||
|
@ -22,7 +22,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;EAX_SDK_AVAILABLE"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
ForceConformanceInForLoopScope="TRUE"
|
||||
@ -73,8 +73,8 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;EAX_SDK_AVAILABLE"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;"../../../../../StaticSDKs/Win32/OpenAL 1.1 with EFX SDK/include";../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
|
@ -23,7 +23,7 @@
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../../StaticSDKs/Win32/dx9.0c/include;../../../../SDKs/Win32/HawkVoice/src;../../../../SDKs/Win32/HawkVoice/Release;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/WMSDK/include;../../../../../StaticSDKs/Win32/EAX/include;../../../../../StaticSDKs/Win32/oggvorbis/include;"../../../../../StaticSDKs/Win32/speex-1.0.1/libspeex";"../../../../../StaticSDKs/Win32/OpenAL 1.1 with EFX SDK/include""
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;EAX_SDK_AVAILABLE"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
@ -75,7 +75,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../../StaticSDKs/Win32/dx9.0c/include;../../../../SDKs/Win32/HawkVoice/src;../../../../SDKs/Win32/HawkVoice/Release;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/WMSDK/include;../../../../../StaticSDKs/Win32/EAX/include;../../../../../StaticSDKs/Win32/oggvorbis/include;"../../../../../StaticSDKs/Win32/speex-1.0.1/libspeex";"../../../../../StaticSDKs/Win32/OpenAL 1.1 with EFX SDK/include""
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;EAX_SDK_AVAILABLE"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
ForceConformanceInForLoopScope="TRUE"
|
||||
@ -121,26 +121,6 @@
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
|
||||
<File
|
||||
RelativePath="..\..\..\..\..\StaticSDKs\Win32\EAX\include\eax-util.cpp">
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
BasicRuntimeChecks="3"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\Sources\Plasma\PubUtilLib\plAudio\plAudioCaps.cpp">
|
||||
<FileConfiguration
|
||||
|
@ -23,7 +23,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/FeatureLib/inc;../../../../sdks/win32/havok/include;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="_DEBUG;WIN32;_LIB;EAX_SDK_AVAILABLE"
|
||||
PreprocessorDefinitions="_DEBUG;WIN32;_LIB"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
ForceConformanceInForLoopScope="TRUE"
|
||||
@ -74,8 +74,8 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/FeatureLib/inc;../../../../sdks/win32/havok/include;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;EAX_SDK_AVAILABLE"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/FeatureLib/inc;../../../../sdks/win32/havok/include;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;"../../../../../StaticSDKs/Win32/OpenAL 1.1 with EFX SDK/include";../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="NDEBUG;WIN32;_LIB"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
|
@ -22,7 +22,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../../StaticSDKs/Win32/dx8.1sdk/include;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;EAX_SDK_AVAILABLE"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
ForceConformanceInForLoopScope="TRUE"
|
||||
@ -73,8 +73,8 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../../StaticSDKs/Win32/dx8.1sdk/include;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;EAX_SDK_AVAILABLE"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../../StaticSDKs/Win32/dx8.1sdk/include;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;"../../../../../StaticSDKs/Win32/OpenAL 1.1 with EFX SDK/include";../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
|
@ -22,7 +22,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/PhysX/Foundation/include;../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;EAX_SDK_AVAILABLE"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
ForceConformanceInForLoopScope="TRUE"
|
||||
@ -73,8 +73,8 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/PhysX/Foundation/include;../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;EAX_SDK_AVAILABLE"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/PhysX/Foundation/include;"../../../../../StaticSDKs/Win32/OpenAL 1.1 with EFX SDK/include";../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
|
@ -22,7 +22,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../sdks/win32/havok/include;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="_DEBUG;WIN32;_LIB;EAX_SDK_AVAILABLE"
|
||||
PreprocessorDefinitions="_DEBUG;WIN32;_LIB"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
ForceConformanceInForLoopScope="TRUE"
|
||||
@ -73,8 +73,8 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../sdks/win32/havok/include;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;EAX_SDK_AVAILABLE"
|
||||
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../sdks/win32/havok/include;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;"../../../../../StaticSDKs/Win32/OpenAL 1.1 with EFX SDK/include";../../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="NDEBUG;WIN32;_LIB"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
|
@ -22,7 +22,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""../../../SDKs/XPlatform/Cypython-2.3.3/pyconfig_static";"../../../SDKs/XPlatform/Cypython-2.3.3/Include";"../../../SDKs/XPlatform/Cypython-2.3.3/PC";..\..\..\..\StaticSDKs\Win32\Max7SDK\include;..\..\..\Sources\Plasma\CoreLib;../../../Sources/Plasma/NucleusLib/inc;..\..\..\Sources\Plasma\PubUtilLib\inc;..\..\..\Sources\Plasma\FeatureLib\inc;..\..\..\Sources\Tools\SimpleExport;../../../Sources/Tools/MaxAss;..\..\..\SDKs\Win32\Havok\include\;../../../../StaticSDKs/Win32/EAX/include"
|
||||
PreprocessorDefinitions="_DEBUG;WIN32;_LIB;MAXPLUGINCODE;MS_NO_COREDLL;EAX_SDK_AVAILABLE"
|
||||
PreprocessorDefinitions="_DEBUG;WIN32;_LIB;MAXPLUGINCODE;MS_NO_COREDLL"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
ForceConformanceInForLoopScope="FALSE"
|
||||
@ -74,7 +74,7 @@
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories=""../../../SDKs/XPlatform/Cypython-2.3.3/pyconfig_static";"../../../SDKs/XPlatform/Cypython-2.3.3/Include";"../../../SDKs/XPlatform/Cypython-2.3.3/PC";..\..\..\..\StaticSDKs\Win32\Max7SDK\include;..\..\..\Sources\Plasma\CoreLib;../../../Sources/Plasma/NucleusLib/inc;..\..\..\Sources\Plasma\PubUtilLib\inc;..\..\..\Sources\Plasma\FeatureLib\inc;..\..\..\Sources\Tools\SimpleExport;../../../Sources/Tools/MaxAss;..\..\..\SDKs\Win32\Havok\include\;../../../../StaticSDKs/Win32/EAX/include"
|
||||
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;MAXPLUGINCODE;MS_NO_COREDLL;EAX_SDK_AVAILABLE"
|
||||
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;MAXPLUGINCODE;MS_NO_COREDLL"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
|
@ -22,7 +22,7 @@
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories=""../../../SDKs/XPlatform/Cypython-2.3.3/pyconfig_static";"../../../SDKs/XPlatform/Cypython-2.3.3/Include";"../../../SDKs/XPlatform/Cypython-2.3.3/PC";..\..\..\sdks\win32\hawkvoice\lib;..\..\..\..\StaticSDKs\win32\max7sdk\include;../../../Sources/Plasma/NucleusLib/inc;..\..\..\Sources\Plasma\FeatureLib\inc;..\..\..\Sources\Plasma\PubUtilLib\inc;..\..\..\Sources\Plasma\CoreLib;../../../Sources/Tools/MaxAss;../../../../StaticSDKs/XPlatform/STLport/stlport;../../../../StaticSDKs/Win32/dx9.0c/include;../../../../StaticSDKs/Win32/PhysX/Physics/include;../../../../StaticSDKs/Win32/PhysX/PhysXLoader/include;../../../../StaticSDKs/Win32/PhysX/Cooking/include;../../../../StaticSDKs/Win32/PhysX/Foundation/include;../../../../StaticSDKs/Win32/PhysX/NxCharacter/include;../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;MAXPLUGINCODE;MS_NO_COREDLL;EAX_SDK_AVAILABLE"
|
||||
PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;MAXPLUGINCODE;MS_NO_COREDLL"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
@ -39,11 +39,11 @@
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="Iphlpapi.lib oldnames.lib ogg_static.lib vorbis_static.lib vorbisfile_static.lib strmiids.lib libeay32.lib comsupp.lib comctl32.lib winmm.lib vfw32.lib ws2_32.lib wininet.lib shlwapi.lib odbc32.lib odbccp32.lib wmstub.lib wmvcore.lib ijl15l.lib eaxguid.lib bmm.lib core.lib geom.lib gfx.lib mesh.lib maxutil.lib maxscrpt.lib manipsys.lib paramblk2.lib gup.lib libspeex.lib eax.lib Rpcrt4.lib largeint.lib OpenAL32.lib libpngd.lib binkw32.lib"
|
||||
AdditionalDependencies="Iphlpapi.lib oldnames.lib ogg_static.lib vorbis_static.lib vorbisfile_static.lib strmiids.lib libeay32.lib comsupp.lib comctl32.lib winmm.lib vfw32.lib ws2_32.lib wininet.lib shlwapi.lib odbc32.lib odbccp32.lib d3dx9.lib dinput8.lib dsound.lib DxErr9.lib dxguid.lib wmstub.lib wmvcore.lib ijl15l.lib bmm.lib core.lib geom.lib gfx.lib mesh.lib maxutil.lib maxscrpt.lib manipsys.lib paramblk2.lib gup.lib libspeex.lib Rpcrt4.lib largeint.lib OpenAL32.lib libpngd.lib binkw32.lib"
|
||||
OutputFile="Release/PlasmaMax.gup"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories=""..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs\Win32";..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;..\..\..\..\STATICSDKS\XPLATFORM\STLPORT\lib;..\..\..\..\StaticSDKs\Win32\WMSDK\lib;"..\..\..\..\StaticSDKs\XPlatform\jpeg-8c-rgba";..\..\..\..\StaticSDKs\Win32\eax\lib;..\..\..\..\StaticSDKs\win32\max7sdk\lib;..\..\..\..\StaticSDKs\Win32\oggvorbis\lib;"..\..\..\..\StaticSDKs\Win32\speex-1.0.1\Win32\libspeex\Release";..\..\..\..\StaticSDKs\Win32\Bink\lib;..\..\..\..\StaticSDKs\Win32\dx8.1sdk\lib;"..\..\..\..\StaticSDKs\Win32\OpenAL 1.1 with EFX SDK\libs\Win32";..\..\..\..\StaticSDKs\XPlatform\png\lib;..\..\..\..\StaticSDKs\Win32\IJL\lib"
|
||||
AdditionalLibraryDirectories=""..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs\Win32";..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;..\..\..\..\STATICSDKS\XPLATFORM\STLPORT\lib;..\..\..\..\StaticSDKs\Win32\WMSDK\lib;"..\..\..\..\StaticSDKs\XPlatform\jpeg-8c-rgba";..\..\..\..\StaticSDKs\Win32\eax\lib;..\..\..\..\StaticSDKs\win32\max7sdk\lib;..\..\..\..\StaticSDKs\Win32\oggvorbis\lib;"..\..\..\..\StaticSDKs\Win32\speex-1.0.1\Win32\libspeex\Release";..\..\..\..\StaticSDKs\Win32\Bink\lib;..\..\..\..\StaticSDKs\Win32\dx8.1sdk\lib;..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib;..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib\x86;"..\..\..\..\StaticSDKs\Win32\OpenAL 1.1 with EFX SDK\libs\Win32";..\..\..\..\StaticSDKs\XPlatform\png\lib;..\..\..\..\StaticSDKs\Win32\IJL\lib"
|
||||
IgnoreDefaultLibraryNames="libc.lib,libci.lib,libcmt.lib"
|
||||
ModuleDefinitionFile="..\..\..\Sources\Tools\MaxMain\main.def"
|
||||
GenerateDebugInformation="FALSE"
|
||||
@ -94,7 +94,7 @@ copy "$(TargetPath)" "$(maxr7dir)"\plugins
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""../../../SDKs/XPlatform/Cypython-2.3.3/pyconfig_static";"../../../SDKs/XPlatform/Cypython-2.3.3/Include";"../../../SDKs/XPlatform/Cypython-2.3.3/PC";..\..\..\sdks\win32\hawkvoice\lib;..\..\..\..\StaticSDKs\win32\max7sdk\include;../../../Sources/Plasma/NucleusLib/inc;..\..\..\Sources\Plasma\FeatureLib\inc;..\..\..\Sources\Plasma\PubUtilLib\inc;..\..\..\Sources\Plasma\CoreLib;../../../Sources/Tools/MaxAss;../../../../StaticSDKs/XPlatform/STLport/stlport;../../../../StaticSDKs/Win32/dx9.0c/include;../../../../StaticSDKs/Win32/PhysX/Physics/include;../../../../StaticSDKs/Win32/PhysX/PhysXLoader/include;../../../../StaticSDKs/Win32/PhysX/Cooking/include;../../../../StaticSDKs/Win32/PhysX/Foundation/include;../../../../StaticSDKs/Win32/PhysX/NxCharacter/include;../../../../StaticSDKs/Win32/OpenSSL/include"
|
||||
PreprocessorDefinitions="_DEBUG;WIN32;_WINDOWS;MAXPLUGINCODE;MS_NO_COREDLL;EAX_SDK_AVAILABLE"
|
||||
PreprocessorDefinitions="_DEBUG;WIN32;_WINDOWS;MAXPLUGINCODE;MS_NO_COREDLL"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
ForceConformanceInForLoopScope="FALSE"
|
||||
@ -110,11 +110,11 @@ copy "$(TargetPath)" "$(maxr7dir)"\plugins
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="Iphlpapi.lib oldnames.lib ogg_static_d.lib vorbis_static_d.lib vorbisfile_static_d.lib strmiids.lib libeay32.lib comsupp.lib comctl32.lib winmm.lib vfw32.lib ws2_32.lib wininet.lib shlwapi.lib odbc32.lib odbccp32.lib wmstub.lib wmvcore.lib ijl15l.lib eaxguid.lib bmm.lib core.lib geom.lib gfx.lib mesh.lib maxutil.lib maxscrpt.lib manipsys.lib paramblk2.lib gup.lib libspeex.lib eax.lib Rpcrt4.lib largeint.lib OpenAL32.lib PhysXLoader.lib NxExtensions.lib libpngd.lib binkw32.lib"
|
||||
AdditionalDependencies="Iphlpapi.lib oldnames.lib ogg_static_d.lib vorbis_static_d.lib vorbisfile_static_d.lib strmiids.lib libeay32.lib comsupp.lib comctl32.lib winmm.lib vfw32.lib ws2_32.lib wininet.lib shlwapi.lib odbc32.lib odbccp32.lib d3dx9.lib dinput8.lib dsound.lib DxErr9.lib dxguid.lib wmstub.lib wmvcore.lib ijl15l.lib bmm.lib core.lib geom.lib gfx.lib mesh.lib maxutil.lib maxscrpt.lib manipsys.lib paramblk2.lib gup.lib libspeex.lib Rpcrt4.lib largeint.lib OpenAL32.lib PhysXLoader.lib NxExtensions.lib libpngd.lib binkw32.lib"
|
||||
OutputFile="Debug/PlasmaMax_dbg.gup"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories=""..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs\Win32";..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;..\..\..\..\STATICSDKS\XPLATFORM\STLPORT\lib;..\..\..\..\StaticSDKs\Win32\WMSDK\lib;"..\..\..\..\StaticSDKs\XPlatform\jpeg-8c-rgba";..\..\..\..\StaticSDKs\Win32\eax\lib;..\..\..\..\StaticSDKs\win32\max7sdk\lib;..\..\..\..\StaticSDKs\Win32\oggvorbis\lib;"..\..\..\..\StaticSDKs\Win32\speex-1.0.1\Win32\libspeex\Release";..\..\..\..\StaticSDKs\Win32\Bink\lib;..\..\..\..\StaticSDKs\Win32\dx8.1sdk\lib;"..\..\..\..\StaticSDKs\Win32\OpenAL 1.1 with EFX SDK\libs\Win32";..\..\..\..\StaticSDKs\Win32\PhysX\lib\Win32;..\..\..\..\StaticSDKs\XPlatform\png\lib;..\..\..\..\StaticSDKs\Win32\IJL\lib"
|
||||
AdditionalLibraryDirectories=""..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs\Win32";..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;..\..\..\..\STATICSDKS\XPLATFORM\STLPORT\lib;..\..\..\..\StaticSDKs\Win32\WMSDK\lib;"..\..\..\..\StaticSDKs\XPlatform\jpeg-8c-rgba";..\..\..\..\StaticSDKs\Win32\eax\lib;..\..\..\..\StaticSDKs\win32\max7sdk\lib;..\..\..\..\StaticSDKs\Win32\oggvorbis\lib;"..\..\..\..\StaticSDKs\Win32\speex-1.0.1\Win32\libspeex\Release";..\..\..\..\StaticSDKs\Win32\Bink\lib;..\..\..\..\StaticSDKs\Win32\dx8.1sdk\lib;..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib;..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib\x86;"..\..\..\..\StaticSDKs\Win32\OpenAL 1.1 with EFX SDK\libs\Win32";..\..\..\..\StaticSDKs\Win32\PhysX\lib\Win32;..\..\..\..\StaticSDKs\XPlatform\png\lib;..\..\..\..\StaticSDKs\Win32\IJL\lib"
|
||||
IgnoreDefaultLibraryNames="libcd.lib,libc.lib,libci.lib,libcid.lib,libcmt.lib,libcmtd.lib"
|
||||
ModuleDefinitionFile="..\..\..\Sources\Tools\MaxMain\main.def"
|
||||
GenerateDebugInformation="TRUE"
|
||||
@ -211,7 +211,7 @@ copy "$(TargetPath)" "$(maxr7dir)"\plugins
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;MAXPLUGINCODE;$(NoInherit);EAX_SDK_AVAILABLE"/>
|
||||
PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;MAXPLUGINCODE;$(NoInherit)"/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
@ -219,7 +219,7 @@ copy "$(TargetPath)" "$(maxr7dir)"\plugins
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="_DEBUG;WIN32;_WINDOWS;MAXPLUGINCODE;$(NoInherit);EAX_SDK_AVAILABLE"
|
||||
PreprocessorDefinitions="_DEBUG;WIN32;_WINDOWS;MAXPLUGINCODE;$(NoInherit)"
|
||||
BasicRuntimeChecks="3"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
@ -899,25 +899,6 @@ copy "$(TargetPath)" "$(maxr7dir)"\plugins
|
||||
RelativePath="..\..\..\..\StaticSDKs\Win32\Max7sdk\lib\Paramblk2.lib">
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="DX9"
|
||||
Filter="">
|
||||
<File
|
||||
RelativePath="..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib\d3dx9.lib">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib\dinput8.lib">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib\dsound.lib">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib\DxErr9.lib">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib\dxguid.lib">
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="PhysX"
|
||||
Filter="">
|
||||
|
@ -0,0 +1,91 @@
|
||||
/*==LICENSE==*
|
||||
|
||||
CyanWorlds.com Engine - MMOG client, server and tools
|
||||
Copyright (C) 2011 Cyan Worlds, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Additional permissions under GNU GPL version 3 section 7
|
||||
|
||||
If you modify this Program, or any covered work, by linking or
|
||||
combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK,
|
||||
NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent
|
||||
JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK
|
||||
(or a modified version of those libraries),
|
||||
containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA,
|
||||
PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG
|
||||
JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the
|
||||
licensors of this Program grant you additional
|
||||
permission to convey the resulting work. Corresponding Source for a
|
||||
non-source form of such a combination shall include the source code for
|
||||
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered
|
||||
work.
|
||||
|
||||
You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
or by snail mail at:
|
||||
Cyan Worlds, Inc.
|
||||
14617 N Newport Hwy
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// The stuff below seems to be missing fron WinIoCtl.h in MSVC2003 but is
|
||||
// probably present in later versions. This was robbed from MSDN to fill
|
||||
// the gap.
|
||||
|
||||
#if (_MSC_VER < 1500) // For VS2005 and earlier only (might need to make it VS2003 only (1310))
|
||||
|
||||
#define IOCTL_STORAGE_QUERY_PROPERTY CTL_CODE(IOCTL_STORAGE_BASE, 0x0500, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
|
||||
// retrieve the storage device descriptor data for a device.
|
||||
typedef struct _STORAGE_DEVICE_DESCRIPTOR {
|
||||
ULONG Version;
|
||||
ULONG Size;
|
||||
UCHAR DeviceType;
|
||||
UCHAR DeviceTypeModifier;
|
||||
BOOLEAN RemovableMedia;
|
||||
BOOLEAN CommandQueueing;
|
||||
ULONG VendorIdOffset;
|
||||
ULONG ProductIdOffset;
|
||||
ULONG ProductRevisionOffset;
|
||||
ULONG SerialNumberOffset;
|
||||
STORAGE_BUS_TYPE BusType;
|
||||
ULONG RawPropertiesLength;
|
||||
UCHAR RawDeviceProperties[1];
|
||||
} STORAGE_DEVICE_DESCRIPTOR, *PSTORAGE_DEVICE_DESCRIPTOR;
|
||||
|
||||
// retrieve the properties of a storage device or adapter.
|
||||
typedef enum _STORAGE_QUERY_TYPE {
|
||||
PropertyStandardQuery = 0,
|
||||
PropertyExistsQuery,
|
||||
PropertyMaskQuery,
|
||||
PropertyQueryMaxDefined
|
||||
} STORAGE_QUERY_TYPE, *PSTORAGE_QUERY_TYPE;
|
||||
|
||||
// retrieve the properties of a storage device or adapter.
|
||||
typedef enum _STORAGE_PROPERTY_ID {
|
||||
StorageDeviceProperty = 0,
|
||||
StorageAdapterProperty,
|
||||
StorageDeviceIdProperty
|
||||
} STORAGE_PROPERTY_ID, *PSTORAGE_PROPERTY_ID;
|
||||
|
||||
// retrieve the properties of a storage device or adapter.
|
||||
typedef struct _STORAGE_PROPERTY_QUERY {
|
||||
STORAGE_PROPERTY_ID PropertyId;
|
||||
STORAGE_QUERY_TYPE QueryType;
|
||||
UCHAR AdditionalParameters[1];
|
||||
} STORAGE_PROPERTY_QUERY, *PSTORAGE_PROPERTY_QUERY;
|
||||
#endif
|
||||
// End of stuff taken from MSDN
|
@ -114,9 +114,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
#include "../plStatusLog/plStatusLog.h"
|
||||
#include "../plProgressMgr/plProgressMgr.h"
|
||||
#include "../plPipeline/plDTProgressMgr.h"
|
||||
#ifdef USE_BINK_SDK
|
||||
#include "../plPipeline/plBinkPlayer.h"
|
||||
#endif
|
||||
#include "../plMessage/plMovieMsg.h"
|
||||
|
||||
#include "../plSDL/plSDL.h"
|
||||
@ -271,10 +269,8 @@ hsBool plClient::Shutdown()
|
||||
// Let the resmanager know we're going to be shutting down.
|
||||
hsgResMgr::ResMgr()->BeginShutdown();
|
||||
|
||||
#ifdef USE_BINK_SDK
|
||||
// Must kill off all movies before shutting down audio.
|
||||
IKillMovies();
|
||||
#endif
|
||||
|
||||
plgAudioSys::Activate(false);
|
||||
#ifdef USE_BINK_SDK
|
||||
@ -822,13 +818,11 @@ hsBool plClient::MsgReceive(plMessage* msg)
|
||||
}
|
||||
return true;
|
||||
}
|
||||
#ifdef USE_BINK_SDK
|
||||
plMovieMsg* mov = plMovieMsg::ConvertNoRef(msg);
|
||||
if( mov )
|
||||
{
|
||||
return IHandleMovieMsg(mov);
|
||||
}
|
||||
#endif // USE_BINK_SDK
|
||||
|
||||
plLinkEffectsTriggerMsg* linkFX = plLinkEffectsTriggerMsg::ConvertNoRef(msg);
|
||||
if (linkFX)
|
||||
@ -875,7 +869,6 @@ hsBool plClient::MsgReceive(plMessage* msg)
|
||||
return hsKeyedObject::MsgReceive(msg);
|
||||
}
|
||||
|
||||
#ifdef USE_BINK_SDK
|
||||
//============================================================================
|
||||
hsBool plClient::IHandleMovieMsg(plMovieMsg* mov)
|
||||
{
|
||||
@ -956,7 +949,6 @@ hsBool plClient::IHandleMovieMsg(plMovieMsg* mov)
|
||||
|
||||
return true;
|
||||
}
|
||||
#endif // USE_BINK_SDK
|
||||
|
||||
int plClient::IFindRoomByLoc(const plLocation& loc)
|
||||
{
|
||||
@ -1529,8 +1521,8 @@ hsBool plClient::StartInit()
|
||||
//if( GetDone() ) return false;
|
||||
IPlayIntroBink("avi/intro1.bik", 0.f, 0.f, 0.f, 1.f, 1.f, 0.75);
|
||||
if( GetDone() ) return false;
|
||||
plgDispatch::Dispatch()->RegisterForExactType(plMovieMsg::Index(), GetKey());
|
||||
#endif // USE_BINK_SDK
|
||||
plgDispatch::Dispatch()->RegisterForExactType(plMovieMsg::Index(), GetKey());
|
||||
|
||||
//
|
||||
// Init Net before loading things
|
||||
@ -1936,11 +1928,9 @@ hsBool plClient::IDraw()
|
||||
IProcessPostRenderRequests();
|
||||
plProfile_EndTiming(PostRender);
|
||||
|
||||
#ifdef USE_BINK_SDK
|
||||
plProfile_BeginTiming(Movies);
|
||||
IServiceMovies();
|
||||
plProfile_EndTiming(Movies);
|
||||
#endif // USE_BINK_SDK
|
||||
|
||||
#ifndef PLASMA_EXTERNAL_RELEASE
|
||||
plProfile_BeginTiming(Console);
|
||||
@ -1971,7 +1961,6 @@ hsBool plClient::IDraw()
|
||||
return false;
|
||||
}
|
||||
|
||||
#ifdef USE_BINK_SDK
|
||||
void plClient::IServiceMovies()
|
||||
{
|
||||
int i;
|
||||
@ -1986,9 +1975,7 @@ void plClient::IServiceMovies()
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif // USE_BINK_SDK
|
||||
|
||||
#ifdef USE_BINK_SDK
|
||||
void plClient::IKillMovies()
|
||||
{
|
||||
int i;
|
||||
@ -1996,7 +1983,6 @@ void plClient::IKillMovies()
|
||||
delete fMovies[i];
|
||||
fMovies.Reset();
|
||||
}
|
||||
#endif // USE_BINK_SDK
|
||||
|
||||
#ifdef USE_BINK_SDK
|
||||
hsBool plClient::IPlayIntroBink(const char* movieName, hsScalar endDelay, hsScalar posX, hsScalar posY, hsScalar scaleX, hsScalar scaleY, hsScalar volume /* = 1.0 */)
|
||||
|
@ -78,9 +78,7 @@ class plFontCache;
|
||||
class plClientMsg;
|
||||
class plLocation;
|
||||
class plMovieMsg;
|
||||
#ifdef USE_BINK_SDK
|
||||
class plBinkPlayer;
|
||||
#endif
|
||||
class plPreloaderMsg;
|
||||
class plNetCommAuthMsg;
|
||||
class plAgeLoaded2Msg;
|
||||
@ -152,9 +150,7 @@ protected:
|
||||
int fQuality;
|
||||
|
||||
hsBool fQuitIntro;
|
||||
#ifdef USE_BINK_SDK
|
||||
hsTArray<plBinkPlayer*> fMovies;
|
||||
#endif
|
||||
|
||||
hsBool fPatchGlobalAges;
|
||||
|
||||
@ -197,10 +193,10 @@ protected:
|
||||
|
||||
#ifdef USE_BINK_SDK
|
||||
hsBool IPlayIntroBink(const char* movieName, hsScalar endDelay, hsScalar posX, hsScalar posY, hsScalar scaleX, hsScalar scaleY, hsScalar volume = 1.0);
|
||||
#endif // USE_BINK_SDK
|
||||
hsBool IHandleMovieMsg(plMovieMsg* mov);
|
||||
void IKillMovies();
|
||||
void IServiceMovies();
|
||||
#endif // USE_BINK_SDK
|
||||
|
||||
void IStartProgress( const char *title, hsScalar len );
|
||||
void IIncProgress( hsScalar byHowMuch, const char *text );
|
||||
|
@ -76,6 +76,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
|
||||
#include <shellapi.h>
|
||||
#include "WinHttp.h"
|
||||
#include "loginfix.h"
|
||||
//
|
||||
// Defines
|
||||
//
|
||||
@ -90,9 +91,10 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
#if BUILD_TYPE == BUILD_TYPE_DEV
|
||||
#define STATUS_PATH L"www2.cyanworlds.com"
|
||||
#else
|
||||
#define STATUS_PATH L"support.cyanworlds.com"
|
||||
#define STATUS_PATH L"account.mystonline.com"
|
||||
#endif
|
||||
|
||||
|
||||
//
|
||||
// Globals
|
||||
//
|
||||
@ -198,11 +200,25 @@ struct LoginDialogParam {
|
||||
wchar accountName[kMaxAccountNameLength];
|
||||
};
|
||||
|
||||
// List of hash styles we are going to test against the server
|
||||
// ... this method of trying multiple hashes against the server has risks of being more compromised than just testing one hash.
|
||||
// ... So, if you know your unique client is only going to connect to your server then it would be wise to limit the testing to one hash.
|
||||
// ... Which can be done simply by setting FIRST_PASSWORD_HASH and LAST_PASSWORD_HASH to the hash that you use.
|
||||
enum
|
||||
{
|
||||
kPasswordHashSHA0,
|
||||
kPasswordHashSHA1
|
||||
};
|
||||
static const int FIRST_PASSWORD_HASH = kPasswordHashSHA1;
|
||||
static const int LAST_PASSWORD_HASH = kPasswordHashSHA0;
|
||||
|
||||
bool AuthenticateNetClientComm(ENetError* result, HWND parentWnd);
|
||||
bool IsExpired();
|
||||
bool GetDisksProperty(HANDLE hDevice, PSTORAGE_DEVICE_DESCRIPTOR pDevDesc);
|
||||
void GetOldCryptKey(UInt32* cryptKey, unsigned size);
|
||||
void GetCryptKey(UInt32* cryptKey, unsigned size);
|
||||
static void SaveUserPass (char *username, char *password, ShaDigest *pNamePassHash, bool remember_password,
|
||||
bool fromGT);
|
||||
int whichHash);
|
||||
static void LoadUserPass (const wchar *accountName, char *username, ShaDigest *pNamePassHash, bool *pRemember,
|
||||
bool fromGT, int *pFocus);
|
||||
static void AuthFailedStrings (ENetError authError, bool fromGT,
|
||||
@ -318,11 +334,22 @@ static bool TGRunLoginDialog (const wchar *accountName, bool fromGT)
|
||||
if (Remember[0] == 'y')
|
||||
bRemember = true;
|
||||
|
||||
SaveUserPass (Username, Password, &NamePassHash, bRemember, fromGT);
|
||||
|
||||
// Do login & see if it failed
|
||||
// cycle through the hash types until we find one that matches or errors out
|
||||
ENetError auth;
|
||||
bool cancelled = AuthenticateNetClientComm(&auth, NULL);
|
||||
bool cancelled;
|
||||
for (int whichHash=FIRST_PASSWORD_HASH; whichHash >= LAST_PASSWORD_HASH; whichHash-- )
|
||||
{
|
||||
SaveUserPass (Username, Password, &NamePassHash, bRemember, whichHash);
|
||||
|
||||
// Do login & see if it failed
|
||||
cancelled = AuthenticateNetClientComm(&auth, NULL);
|
||||
// if the password was successful then go to the end processing
|
||||
if (IS_NET_SUCCESS(auth) && !cancelled)
|
||||
break;
|
||||
// if it was cancelled or any error other than wrong password then go to end processing
|
||||
if (cancelled || auth != kNetErrAuthenticationFailed)
|
||||
break;
|
||||
}
|
||||
|
||||
if (IS_NET_SUCCESS (auth) && !cancelled)
|
||||
break;
|
||||
@ -929,18 +956,6 @@ void DebugMsgF(const char* format, ...)
|
||||
#endif
|
||||
}
|
||||
|
||||
static bool IsMachineLittleEndian() {
|
||||
int i = 1;
|
||||
char *p = (char *) &i;
|
||||
if (p[0] == 1) // Lowest address contains the least significant byte
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
inline static dword ToBigEndian (dword value) {
|
||||
return ((value) << 24) | ((value & 0x0000ff00) << 8) | ((value & 0x00ff0000) >> 8) | ((value) >> 24);
|
||||
}
|
||||
|
||||
static void AuthFailedStrings (ENetError authError, bool fromGT,
|
||||
const char **ppStr1, const char **ppStr2,
|
||||
@ -1077,7 +1092,7 @@ BOOL CALLBACK UruTOSDialogProc( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l
|
||||
}
|
||||
|
||||
static void SaveUserPass (char *username, char *password, ShaDigest *pNamePassHash, bool remember_password,
|
||||
bool fromGT)
|
||||
int whichHash)
|
||||
{
|
||||
UInt32 cryptKey[4];
|
||||
ZeroMemory(cryptKey, sizeof(cryptKey));
|
||||
@ -1094,27 +1109,30 @@ static void SaveUserPass (char *username, char *password, ShaDigest *pNamePassHa
|
||||
{
|
||||
StrToUnicode(wpassword, password, arrsize(wpassword));
|
||||
|
||||
wchar domain[15];
|
||||
PathSplitEmail(wusername, nil, 0, domain, arrsize(domain), nil, 0, nil, 0, 0);
|
||||
switch( whichHash )
|
||||
{
|
||||
case kPasswordHashSHA1:
|
||||
CryptDigest(
|
||||
kCryptSha1,
|
||||
pNamePassHash,
|
||||
StrLen(password) * sizeof(password[0]),
|
||||
password
|
||||
);
|
||||
|
||||
if (StrLen(domain) == 0 || StrCmpI(domain, L"gametap") == 0) {
|
||||
CryptDigest(
|
||||
kCryptSha1,
|
||||
pNamePassHash,
|
||||
StrLen(password) * sizeof(password[0]),
|
||||
password
|
||||
);
|
||||
// switch the endianness of the hash to big endian
|
||||
// NOTE: this is legacy from GameTap days to match GameTap's endianness
|
||||
pNamePassHash->data[0] = hsUNSWAP32(pNamePassHash->data[0]);
|
||||
pNamePassHash->data[1] = hsUNSWAP32(pNamePassHash->data[1]);
|
||||
pNamePassHash->data[2] = hsUNSWAP32(pNamePassHash->data[2]);
|
||||
pNamePassHash->data[3] = hsUNSWAP32(pNamePassHash->data[3]);
|
||||
pNamePassHash->data[4] = hsUNSWAP32(pNamePassHash->data[4]);
|
||||
break;
|
||||
|
||||
if (IsMachineLittleEndian()) {
|
||||
pNamePassHash->data[0] = ToBigEndian(pNamePassHash->data[0]);
|
||||
pNamePassHash->data[1] = ToBigEndian(pNamePassHash->data[1]);
|
||||
pNamePassHash->data[2] = ToBigEndian(pNamePassHash->data[2]);
|
||||
pNamePassHash->data[3] = ToBigEndian(pNamePassHash->data[3]);
|
||||
pNamePassHash->data[4] = ToBigEndian(pNamePassHash->data[4]);
|
||||
}
|
||||
case kPasswordHashSHA0:
|
||||
default:
|
||||
CryptHashPassword(wusername, wpassword, pNamePassHash);
|
||||
break;
|
||||
}
|
||||
else
|
||||
CryptHashPassword(wusername, wpassword, pNamePassHash);
|
||||
}
|
||||
|
||||
NetCommSetAccountUsernamePassword(wusername, *pNamePassHash);
|
||||
@ -1123,28 +1141,26 @@ static void SaveUserPass (char *username, char *password, ShaDigest *pNamePassHa
|
||||
else
|
||||
NetCommSetAuthTokenAndOS(nil, L"win");
|
||||
|
||||
if (!fromGT) {
|
||||
wchar fileAndPath[MAX_PATH];
|
||||
PathGetInitDirectory(fileAndPath, arrsize(fileAndPath));
|
||||
PathAddFilename(fileAndPath, fileAndPath, L"login.dat", arrsize(fileAndPath));
|
||||
wchar fileAndPath[MAX_PATH];
|
||||
PathGetInitDirectory(fileAndPath, arrsize(fileAndPath));
|
||||
PathAddFilename(fileAndPath, fileAndPath, L"login.dat", arrsize(fileAndPath));
|
||||
#ifndef PLASMA_EXTERNAL_RELEASE
|
||||
// internal builds can use the local init directory
|
||||
wchar localFileAndPath[MAX_PATH];
|
||||
StrCopy(localFileAndPath, L"init\\login.dat", arrsize(localFileAndPath));
|
||||
if (PathDoesFileExist(localFileAndPath))
|
||||
StrCopy(fileAndPath, localFileAndPath, arrsize(localFileAndPath));
|
||||
// internal builds can use the local init directory
|
||||
wchar localFileAndPath[MAX_PATH];
|
||||
StrCopy(localFileAndPath, L"init\\login.dat", arrsize(localFileAndPath));
|
||||
if (PathDoesFileExist(localFileAndPath))
|
||||
StrCopy(fileAndPath, localFileAndPath, arrsize(localFileAndPath));
|
||||
#endif
|
||||
hsStream* stream = plEncryptedStream::OpenEncryptedFileWrite(fileAndPath, cryptKey);
|
||||
if (stream)
|
||||
{
|
||||
stream->Write(sizeof(cryptKey), cryptKey);
|
||||
stream->WriteSafeString(username);
|
||||
stream->Writebool(remember_password);
|
||||
if (remember_password)
|
||||
stream->Write(sizeof(pNamePassHash->data), pNamePassHash->data);
|
||||
stream->Close();
|
||||
delete stream;
|
||||
}
|
||||
hsStream* stream = plEncryptedStream::OpenEncryptedFileWrite(fileAndPath, cryptKey);
|
||||
if (stream)
|
||||
{
|
||||
stream->Write(sizeof(cryptKey), cryptKey);
|
||||
stream->WriteSafeString(username);
|
||||
stream->Writebool(remember_password);
|
||||
if (remember_password)
|
||||
stream->Write(sizeof(pNamePassHash->data), pNamePassHash->data);
|
||||
stream->Close();
|
||||
delete stream;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1155,10 +1171,15 @@ static void LoadUserPass (const wchar *accountName, char *username, ShaDigest *p
|
||||
UInt32 cryptKey[4];
|
||||
ZeroMemory(cryptKey, sizeof(cryptKey));
|
||||
GetCryptKey(cryptKey, arrsize(cryptKey));
|
||||
UInt32 cryptKeyOld[4]; // The old cryptKey stuff
|
||||
ZeroMemory(cryptKeyOld, sizeof(cryptKeyOld));
|
||||
GetOldCryptKey(cryptKeyOld, arrsize(cryptKeyOld));
|
||||
|
||||
char* temp;
|
||||
*pRemember = false;
|
||||
username[0] = '\0';
|
||||
bool cryptKeyOk = false;
|
||||
bool cryptKeyOldOk = false;
|
||||
|
||||
if (!fromGT)
|
||||
{
|
||||
@ -1186,6 +1207,42 @@ static void LoadUserPass (const wchar *accountName, char *username, ShaDigest *p
|
||||
{
|
||||
StrCopy(username, temp, kMaxAccountNameLength);
|
||||
delete temp;
|
||||
cryptKeyOk = true;
|
||||
}
|
||||
else
|
||||
username[0] = '\0';
|
||||
|
||||
*pRemember = stream->Readbool();
|
||||
|
||||
if (*pRemember)
|
||||
{
|
||||
stream->Read(sizeof(pNamePassHash->data), pNamePassHash->data);
|
||||
*pFocus = IDOK;
|
||||
}
|
||||
else
|
||||
*pFocus = IDC_URULOGIN_PASSWORD;
|
||||
}
|
||||
|
||||
stream->Close();
|
||||
delete stream;
|
||||
}
|
||||
if (!cryptKeyOk) // Try the old cryptKey
|
||||
{
|
||||
hsStream* stream = plEncryptedStream::OpenEncryptedFile(fileAndPath, true, cryptKeyOld);
|
||||
if (stream && !stream->AtEnd())
|
||||
{
|
||||
UInt32 savedKey[4];
|
||||
stream->Read(sizeof(savedKey), savedKey);
|
||||
|
||||
if (memcmp(cryptKeyOld, savedKey, sizeof(savedKey)) == 0)
|
||||
{
|
||||
temp = stream->ReadSafeString();
|
||||
|
||||
if (temp)
|
||||
{
|
||||
StrCopy(username, temp, kMaxAccountNameLength);
|
||||
delete temp;
|
||||
cryptKeyOldOk = true;
|
||||
}
|
||||
else
|
||||
username[0] = '\0';
|
||||
@ -1203,6 +1260,21 @@ static void LoadUserPass (const wchar *accountName, char *username, ShaDigest *p
|
||||
|
||||
stream->Close();
|
||||
delete stream;
|
||||
} // Done trying the old cryptKey
|
||||
}
|
||||
if (cryptKeyOldOk) // We need to re-write the login.dat file
|
||||
{
|
||||
hsStream* stream = plEncryptedStream::OpenEncryptedFileWrite(fileAndPath, cryptKey);
|
||||
if (stream)
|
||||
{
|
||||
stream->Write(sizeof(cryptKey), cryptKey);
|
||||
stream->WriteSafeString(username);
|
||||
stream->Writebool(*pRemember);
|
||||
if (*pRemember)
|
||||
stream->Write(sizeof(pNamePassHash->data), pNamePassHash->data);
|
||||
stream->Close();
|
||||
delete stream;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -1250,20 +1322,24 @@ void StatusCallback(void *param)
|
||||
{
|
||||
static char data[256] = {0};
|
||||
DWORD bytesRead;
|
||||
WinHttpSendRequest(
|
||||
hRequest,
|
||||
WINHTTP_NO_ADDITIONAL_HEADERS,
|
||||
0,
|
||||
WINHTTP_NO_REQUEST_DATA,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
);
|
||||
WinHttpReceiveResponse(hRequest, 0);
|
||||
WinHttpReadData(hRequest, data, 255, &bytesRead);
|
||||
data[bytesRead] = 0;
|
||||
if(bytesRead)
|
||||
if(
|
||||
WinHttpSendRequest(
|
||||
hRequest,
|
||||
WINHTTP_NO_ADDITIONAL_HEADERS,
|
||||
0,
|
||||
WINHTTP_NO_REQUEST_DATA,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
)
|
||||
&& WinHttpReceiveResponse(hRequest, 0)
|
||||
&& WinHttpReadData(hRequest, data, 255, &bytesRead)
|
||||
&& bytesRead
|
||||
)
|
||||
{
|
||||
data[bytesRead] = 0;
|
||||
PostMessage(hwnd, WM_USER_SETSTATUSMSG, 0, (LPARAM) data);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1375,11 +1451,22 @@ BOOL CALLBACK UruLoginDialogProc( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM
|
||||
GetDlgItemText(hwndDlg, IDC_URULOGIN_PASSWORD, password, kMaxPasswordLength);
|
||||
remember_password = (IsDlgButtonChecked(hwndDlg, IDC_URULOGIN_REMEMBERPASS) == BST_CHECKED);
|
||||
|
||||
SaveUserPass (username, password, &namePassHash, remember_password, loginParam->fromGT);
|
||||
|
||||
// cycle through the hash types until we find one that matches or errors out
|
||||
LoginDialogParam loginParam;
|
||||
MemSet(&loginParam, 0, sizeof(loginParam));
|
||||
bool cancelled = AuthenticateNetClientComm(&loginParam.authError, hwndDlg);
|
||||
bool cancelled;
|
||||
for (int whichHash=FIRST_PASSWORD_HASH; whichHash >= LAST_PASSWORD_HASH; whichHash-- )
|
||||
{
|
||||
SaveUserPass (username, password, &namePassHash, remember_password, whichHash);
|
||||
|
||||
MemSet(&loginParam, 0, sizeof(loginParam));
|
||||
cancelled = AuthenticateNetClientComm(&loginParam.authError, hwndDlg);
|
||||
// if the password was successful then go to the end processing
|
||||
if (IS_NET_SUCCESS(loginParam.authError) && !cancelled)
|
||||
break;
|
||||
// if it was cancelled or any error other than wrong password then go to end processing
|
||||
if (cancelled || loginParam.authError != kNetErrAuthenticationFailed)
|
||||
break;
|
||||
}
|
||||
|
||||
if (IS_NET_SUCCESS(loginParam.authError) && !cancelled)
|
||||
EndDialog(hwndDlg, ok);
|
||||
@ -2017,7 +2104,7 @@ bool IsExpired()
|
||||
return expired;
|
||||
}
|
||||
|
||||
void GetCryptKey(UInt32* cryptKey, unsigned numElements)
|
||||
void GetOldCryptKey(UInt32* cryptKey, unsigned numElements)
|
||||
{
|
||||
char volName[] = "C:\\";
|
||||
int index = 0;
|
||||
@ -2048,3 +2135,99 @@ void GetCryptKey(UInt32* cryptKey, unsigned numElements)
|
||||
}
|
||||
}
|
||||
|
||||
void GetCryptKey(UInt32* cryptKey, unsigned numElements)
|
||||
{
|
||||
char volName[] = "C:\\";
|
||||
char volID[] = "\\\\.\\C:"; // Need the drive ID in \\.\C: format for CreateFile()
|
||||
int index = 0;
|
||||
DWORD logicalDrives = GetLogicalDrives();
|
||||
PSTORAGE_DEVICE_DESCRIPTOR pDevDesc;
|
||||
|
||||
for (int i = 2; i < 26; ++i) // Drives A: B: prove nothing
|
||||
{
|
||||
if (logicalDrives & (1 << i))
|
||||
{
|
||||
volName[0] = ('A' + i); // Previous base drive letter of C: was incorrect
|
||||
|
||||
UINT driveType = GetDriveType(
|
||||
volName //LPCTSTR lpRootPathName
|
||||
);
|
||||
|
||||
if (driveType != DRIVE_FIXED)
|
||||
{
|
||||
continue; // next i
|
||||
}
|
||||
|
||||
// We've got "Fixed" drive but still need to check
|
||||
// that it's not a USB (i.e. removable) drive.
|
||||
HANDLE hDevice;
|
||||
volID[4] = 'A' + i;
|
||||
hDevice = CreateFile(
|
||||
volID,
|
||||
GENERIC_READ,
|
||||
FILE_SHARE_READ | FILE_SHARE_WRITE,
|
||||
NULL,
|
||||
OPEN_EXISTING,
|
||||
NULL,
|
||||
NULL
|
||||
);
|
||||
|
||||
if (hDevice != INVALID_HANDLE_VALUE)
|
||||
{
|
||||
pDevDesc = (PSTORAGE_DEVICE_DESCRIPTOR)new BYTE[sizeof(STORAGE_DEVICE_DESCRIPTOR) + 512 - 1];
|
||||
if(pDevDesc != NULL)
|
||||
{
|
||||
pDevDesc->Size = sizeof(STORAGE_DEVICE_DESCRIPTOR) + 512 - 1;
|
||||
|
||||
if (GetDisksProperty(hDevice, pDevDesc))
|
||||
{
|
||||
if (pDevDesc->BusType == BusTypeUsb) // This is the <20>Check Point<6E>!!! ;-)
|
||||
continue; // next i
|
||||
}
|
||||
delete pDevDesc;
|
||||
}
|
||||
CloseHandle(hDevice);
|
||||
}
|
||||
|
||||
DWORD volSerialNum = 0;
|
||||
BOOL result = GetVolumeInformation(
|
||||
volName, //LPCTSTR lpRootPathName,
|
||||
NULL, //LPTSTR lpVolumeNameBuffer,
|
||||
0, //DWORD nVolumeNameSize,
|
||||
&volSerialNum, //LPDWORD lpVolumeSerialNumber,
|
||||
NULL, //LPDWORD lpMaximumComponentLength,
|
||||
NULL, //LPDWORD lpFileSystemFlags,
|
||||
NULL, //LPTSTR lpFileSystemNameBuffer,
|
||||
0 //DWORD nFileSystemNameSize
|
||||
);
|
||||
|
||||
if (!result)
|
||||
continue; // next i
|
||||
|
||||
cryptKey[index] = (cryptKey[index] ^ volSerialNum);
|
||||
index = (++index) % numElements;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool GetDisksProperty(HANDLE hDevice, PSTORAGE_DEVICE_DESCRIPTOR pDevDesc)
|
||||
{
|
||||
STORAGE_PROPERTY_QUERY Query; // input param for query
|
||||
DWORD dwOutBytes; // IOCTL output length
|
||||
BOOL bResult; // IOCTL return val
|
||||
|
||||
// specify the query type
|
||||
Query.PropertyId = StorageDeviceProperty;
|
||||
Query.QueryType = PropertyStandardQuery;
|
||||
|
||||
// Query using IOCTL_STORAGE_QUERY_PROPERTY
|
||||
bResult = ::DeviceIoControl(hDevice, // device handle
|
||||
IOCTL_STORAGE_QUERY_PROPERTY, // info of device property
|
||||
&Query, sizeof(STORAGE_PROPERTY_QUERY), // input data buffer
|
||||
pDevDesc, pDevDesc->Size, // output data buffer
|
||||
&dwOutBytes, // out's length
|
||||
(LPOVERLAPPED)NULL);
|
||||
|
||||
return bResult;
|
||||
}
|
||||
|
||||
|
@ -49,6 +49,8 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
#include "../pfAudio/pfAudioCreatable.h"
|
||||
#include "../pfPython/pfPythonCreatable.h"
|
||||
#include "../pfGameGUIMgr/pfGameGUIMgrCreatable.h"
|
||||
#ifdef PLASMA_CCR_RELEASE
|
||||
#include "../pfCCR/plCCRCreatable.h"
|
||||
#endif // PLASMA_CCR_RELEASE
|
||||
#include "../pfJournalBook/pfJournalBookCreatable.h"
|
||||
#include "../pfGameMgr/pfGameMgrCreatables.h"
|
||||
|
@ -58,7 +58,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
#if BUILD_TYPE == BUILD_TYPE_DEV
|
||||
#define STATUS_PATH L"www2.cyanworlds.com"
|
||||
#else
|
||||
#define STATUS_PATH L"support.cyanworlds.com"
|
||||
#define STATUS_PATH L"account.mystonline.com"
|
||||
#endif
|
||||
|
||||
|
||||
@ -668,7 +668,7 @@ static void HttpRequestGet(HINTERNET hConnect)
|
||||
const wchar *path = BuildTypeServerStatusPath();
|
||||
HINTERNET hRequest = 0;
|
||||
char data[256] = {0};
|
||||
DWORD bytesRead;
|
||||
DWORD bytesRead = 0;
|
||||
|
||||
hRequest = WinHttpOpenRequest(
|
||||
hConnect,
|
||||
@ -693,9 +693,11 @@ static void HttpRequestGet(HINTERNET hConnect)
|
||||
if(b)
|
||||
{
|
||||
DWORD err = GetLastError();
|
||||
WinHttpReceiveResponse(hRequest, 0);
|
||||
WinHttpReadData(hRequest, data, arrsize(data)-1, &bytesRead);
|
||||
data[bytesRead] = 0;
|
||||
if (WinHttpReceiveResponse(hRequest, 0)
|
||||
&& WinHttpReadData(hRequest, data, arrsize(data) - 1, &bytesRead))
|
||||
{
|
||||
data[bytesRead] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(bytesRead)
|
||||
|
@ -71,6 +71,7 @@ struct hsColorRGBA {
|
||||
|
||||
hsColorRGBA& FromARGB32(UInt32 c);
|
||||
UInt32 ToARGB32() const;
|
||||
UInt32 ToARGB32Premultiplied() const;
|
||||
|
||||
void Read(hsStream *stream);
|
||||
void Write(hsStream *stream) const;
|
||||
@ -109,6 +110,14 @@ inline UInt32 hsColorRGBA::ToARGB32() const
|
||||
| (UInt32(b * 255.99f) << 0);
|
||||
}
|
||||
|
||||
inline UInt32 hsColorRGBA::ToARGB32Premultiplied() const
|
||||
{
|
||||
return (UInt32(a * 255.0f + 0.5f) << 24)
|
||||
| (UInt32(a * r * 255.0f + 0.5f) << 16)
|
||||
| (UInt32(a * g * 255.0f + 0.5f) << 8)
|
||||
| (UInt32(a * b * 255.0f + 0.5f) << 0);
|
||||
}
|
||||
|
||||
inline hsColorRGBA operator+(const hsColorRGBA& s, const hsColorRGBA& t)
|
||||
{
|
||||
hsColorRGBA res;
|
||||
|
@ -0,0 +1,72 @@
|
||||
/*==LICENSE==*
|
||||
|
||||
CyanWorlds.com Engine - MMOG client, server and tools
|
||||
Copyright (C) 2011 Cyan Worlds, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Additional permissions under GNU GPL version 3 section 7
|
||||
|
||||
If you modify this Program, or any covered work, by linking or
|
||||
combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK,
|
||||
NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent
|
||||
JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK
|
||||
(or a modified version of those libraries),
|
||||
containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA,
|
||||
PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG
|
||||
JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the
|
||||
licensors of this Program grant you additional
|
||||
permission to convey the resulting work. Corresponding Source for a
|
||||
non-source form of such a combination shall include the source code for
|
||||
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered
|
||||
work.
|
||||
|
||||
You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
or by snail mail at:
|
||||
Cyan Worlds, Inc.
|
||||
14617 N Newport Hwy
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
#ifndef plCCRMgr_h
|
||||
#define plCCRMgr_h
|
||||
|
||||
//
|
||||
// Implementation for CCR commands
|
||||
//
|
||||
|
||||
#include "hsTypes.h"
|
||||
|
||||
// Error constants and conversion are outside of the CCR_RELEASE define,
|
||||
// So that non-CCR code can report CCR errors, and the plCCRMgr can
|
||||
// share this code.
|
||||
namespace plCCRError
|
||||
{
|
||||
enum Errors
|
||||
{
|
||||
kError = hsFail,
|
||||
kNotAuthorized = -2,
|
||||
kNilLocalAvatar = -3,
|
||||
kCCRAlreadyAllocated = -4,
|
||||
kNetworkingIsDisabled = -5,
|
||||
kCantFindPlayer = -6,
|
||||
kInvalidLevel = -7,
|
||||
kPlayerNotInAge = -8,
|
||||
kVaultTimedOut = -9,
|
||||
kVaultFetchFailed = -10,
|
||||
kAuthTimedOut = -11
|
||||
};
|
||||
}
|
||||
|
||||
#endif // plCCRMgr_h
|
@ -0,0 +1,46 @@
|
||||
/*==LICENSE==*
|
||||
|
||||
CyanWorlds.com Engine - MMOG client, server and tools
|
||||
Copyright (C) 2011 Cyan Worlds, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Additional permissions under GNU GPL version 3 section 7
|
||||
|
||||
If you modify this Program, or any covered work, by linking or
|
||||
combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK,
|
||||
NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent
|
||||
JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK
|
||||
(or a modified version of those libraries),
|
||||
containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA,
|
||||
PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG
|
||||
JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the
|
||||
licensors of this Program grant you additional
|
||||
permission to convey the resulting work. Corresponding Source for a
|
||||
non-source form of such a combination shall include the source code for
|
||||
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered
|
||||
work.
|
||||
|
||||
You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
or by snail mail at:
|
||||
Cyan Worlds, Inc.
|
||||
14617 N Newport Hwy
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
|
||||
#ifdef PLASMA_CCR_RELEASE
|
||||
#error Adjust this to where the real pfCCRConsoleCommands.cpp lives and submit a pull request!
|
||||
#include "pfCCRConsoleCommandsReal.cpp"
|
||||
#endif // PLASMA_CCR_RELEASE
|
@ -65,7 +65,9 @@ pfConsoleCmdGroup::pfConsoleCmdGroup( char *name, char *parent )
|
||||
DummyJunior();
|
||||
DummyNet();
|
||||
DummyAvatar();
|
||||
#ifdef PLASMA_CCR_RELEASE
|
||||
DummyCCR();
|
||||
#endif // PLASMA_CCR_RELEASE
|
||||
|
||||
fNext = nil;
|
||||
fPrevPtr = nil;
|
||||
|
@ -56,6 +56,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
#include "../pnMessage/plRefMsg.h"
|
||||
#include "../pnMessage/plEnableMsg.h"
|
||||
#include "../pfMessage/pfGameGUIMsg.h"
|
||||
#include "../plMessage/plDeviceRecreateMsg.h"
|
||||
#include "../pnSceneObject/plDrawInterface.h"
|
||||
#include "../pnSceneObject/plCoordinateInterface.h"
|
||||
#include "../pnSceneObject/plAudioInterface.h"
|
||||
@ -584,14 +585,16 @@ plProfile_CreateTimer("Gui", "RenderSetup", GUITime);
|
||||
hsBool pfGUIControlMod::MsgReceive( plMessage *msg )
|
||||
{
|
||||
plRenderMsg* rend = plRenderMsg::ConvertNoRef( msg );
|
||||
plDeviceRecreateMsg* device = plDeviceRecreateMsg::ConvertNoRef(msg);
|
||||
if (rend || device) {
|
||||
plPipeline* pipe = rend ? rend->Pipeline() : device->Pipeline();
|
||||
|
||||
if( rend )
|
||||
{
|
||||
plProfile_BeginLap(GUITime, this->GetKey()->GetUoid().GetObjectName());
|
||||
// Only need it once
|
||||
if( ISetUpDynTextMap( rend->Pipeline() ) )
|
||||
plgDispatch::Dispatch()->UnRegisterForExactType( plRenderMsg::Index(), GetKey() );
|
||||
ISetUpDynTextMap(pipe);
|
||||
plProfile_EndLap(GUITime, this->GetKey()->GetUoid().GetObjectName());
|
||||
|
||||
if (rend)
|
||||
plgDispatch::Dispatch()->UnRegisterForExactType(plRenderMsg::Index(), GetKey());
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -603,12 +606,16 @@ hsBool pfGUIControlMod::MsgReceive( plMessage *msg )
|
||||
if( refMsg->GetContext() & ( plRefMsg::kOnCreate | plRefMsg::kOnRequest | plRefMsg::kOnReplace ) )
|
||||
{
|
||||
fDynTextMap = plDynamicTextMap::ConvertNoRef( refMsg->GetRef() );
|
||||
// Register for a render msg so we can leech the material when we finally
|
||||
// have a pipeline to work with
|
||||
|
||||
// These tell us when we need to (re-)initialize the DTM
|
||||
plgDispatch::Dispatch()->RegisterForExactType( plRenderMsg::Index(), GetKey() );
|
||||
plgDispatch::Dispatch()->RegisterForExactType( plDeviceRecreateMsg::Index(), GetKey() );
|
||||
}
|
||||
else
|
||||
{
|
||||
fDynTextMap = nil;
|
||||
plgDispatch::Dispatch()->UnRegisterForExactType( plDeviceRecreateMsg::Index(), GetKey() );
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else if( refMsg->fType == kRefDynTextLayer )
|
||||
@ -688,7 +695,7 @@ hsBool pfGUIControlMod::ISetUpDynTextMap( plPipeline *pipe )
|
||||
extraH -= height;
|
||||
|
||||
fDynTextMap->Reset();
|
||||
fDynTextMap->Create( width, height, HasFlag( kXparentBgnd ), extraW, extraH );
|
||||
fDynTextMap->Create( width, height, HasFlag( kXparentBgnd ), extraW, extraH, true );
|
||||
|
||||
fDynTextMap->SetFont( GetColorScheme()->fFontFace, GetColorScheme()->fFontSize, GetColorScheme()->fFontFlags,
|
||||
HasFlag( kXparentBgnd ) ? false : true );
|
||||
@ -699,6 +706,7 @@ hsBool pfGUIControlMod::ISetUpDynTextMap( plPipeline *pipe )
|
||||
// out with 1:1 mapping from textel to pixel
|
||||
plLayer *layer = (plLayer *)fDynTextLayer;
|
||||
layer->SetTransform( fDynTextMap->GetLayerTransform() );
|
||||
layer->SetBlendFlags( layer->GetBlendFlags() | hsGMatState::kBlendAlphaPremultiplied );
|
||||
|
||||
// Let the derived classes do their things
|
||||
IPostSetUpDynTextMap();
|
||||
|
@ -247,6 +247,8 @@ class pfGUIControlMod : public plSingleModifier
|
||||
virtual void SetColorScheme( pfGUIColorScheme *newScheme );
|
||||
pfGUIColorScheme *GetColorScheme( void ) const;
|
||||
|
||||
virtual void UpdateColorScheme() { IPostSetUpDynTextMap(); IUpdate(); }
|
||||
|
||||
// should be override by specific GUIcontrol
|
||||
virtual void PurgeDynaTextMapImage() {;}
|
||||
|
||||
|
@ -197,9 +197,9 @@ void pfGUIEditBoxMod::IUpdate( void )
|
||||
oldCursorPos = cursorPos;
|
||||
cursorPos -= (Int16)fScrollPos;
|
||||
|
||||
if( 4 + cursorPos > fDynTextMap->GetVisibleWidth() - 18 )
|
||||
if( 4 + cursorPos > fDynTextMap->GetVisibleWidth() - 4 - 2 )
|
||||
{
|
||||
fScrollPos += ( 4 + cursorPos ) - ( fDynTextMap->GetVisibleWidth() - 18 );
|
||||
fScrollPos += ( 4 + cursorPos ) - ( fDynTextMap->GetVisibleWidth() - 4 - 2 );
|
||||
}
|
||||
else if( 4 + cursorPos < 4 )
|
||||
{
|
||||
|
@ -180,6 +180,10 @@ hsBool pfGUIListBoxMod::MsgReceive( plMessage *msg )
|
||||
|
||||
void pfGUIListBoxMod::IPostSetUpDynTextMap( void )
|
||||
{
|
||||
pfGUIColorScheme *scheme = GetColorScheme();
|
||||
fDynTextMap->SetFont( scheme->fFontFace, scheme->fFontSize, scheme->fFontFlags,
|
||||
!HasFlag( kXparentBgnd ));
|
||||
|
||||
ICalcWrapStarts();
|
||||
ICalcScrollRange();
|
||||
fReadyToRoll = true;
|
||||
|
@ -308,6 +308,13 @@ void pfGUIMultiLineEditCtrl::SetScrollPosition( Int32 topLine )
|
||||
fDialog->GetHandler()->DoSomething(this);
|
||||
}
|
||||
|
||||
//// GetScrollPosition ///////////////////////////////////////////////////////
|
||||
|
||||
Int32 pfGUIMultiLineEditCtrl::GetScrollPosition()
|
||||
{
|
||||
return fScrollPos;
|
||||
}
|
||||
|
||||
//// MoveCursor - by direction command////////////////////////////////////////////////
|
||||
void pfGUIMultiLineEditCtrl::MoveCursor( Direction dir )
|
||||
{
|
||||
@ -2064,4 +2071,4 @@ void pfGUIMultiLineEditCtrl::DeleteLinesFromTop(int numLines)
|
||||
SetBuffer(buffer, bufferLen);
|
||||
delete [] buffer;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -216,6 +216,8 @@ class pfGUIMultiLineEditCtrl : public pfGUIControlMod
|
||||
|
||||
virtual void PurgeDynaTextMapImage();
|
||||
|
||||
virtual void UpdateColorScheme() { fFontFlagsSet = 0; pfGUIControlMod::UpdateColorScheme(); }
|
||||
|
||||
// Extended event types
|
||||
enum ExtendedEvents
|
||||
{
|
||||
@ -225,6 +227,7 @@ class pfGUIMultiLineEditCtrl : public pfGUIControlMod
|
||||
};
|
||||
|
||||
void SetScrollPosition( Int32 topLine );
|
||||
Int32 GetScrollPosition();
|
||||
void MoveCursor( Direction dir );
|
||||
|
||||
void InsertChar( char c );
|
||||
|
@ -102,8 +102,6 @@ class pfGUITextBoxMod : public pfGUIControlMod
|
||||
void SetLocalizationPath(const wchar_t* path);
|
||||
void SetLocalizationPath(const char* path);
|
||||
void SetUseLocalizationPath(bool use);
|
||||
|
||||
virtual void UpdateColorScheme() { IPostSetUpDynTextMap(); IUpdate(); }
|
||||
};
|
||||
|
||||
#endif // _pfGUITextBoxMod_h
|
||||
|
@ -129,8 +129,10 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
// audio setting stuff
|
||||
#include "pyAudioControl.h"
|
||||
|
||||
#ifdef PLASMA_CCR_RELEASE
|
||||
//CCR stufff
|
||||
#include "pyCCRMgr.h"
|
||||
#endif // PLASMA_CCR_RELEASE
|
||||
|
||||
// spawn point def
|
||||
#include "pySpawnPointInfo.h"
|
||||
|
@ -0,0 +1,46 @@
|
||||
/*==LICENSE==*
|
||||
|
||||
CyanWorlds.com Engine - MMOG client, server and tools
|
||||
Copyright (C) 2011 Cyan Worlds, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Additional permissions under GNU GPL version 3 section 7
|
||||
|
||||
If you modify this Program, or any covered work, by linking or
|
||||
combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK,
|
||||
NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent
|
||||
JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK
|
||||
(or a modified version of those libraries),
|
||||
containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA,
|
||||
PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG
|
||||
JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the
|
||||
licensors of this Program grant you additional
|
||||
permission to convey the resulting work. Corresponding Source for a
|
||||
non-source form of such a combination shall include the source code for
|
||||
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered
|
||||
work.
|
||||
|
||||
You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
or by snail mail at:
|
||||
Cyan Worlds, Inc.
|
||||
14617 N Newport Hwy
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
|
||||
#ifdef PLASMA_CCR_RELEASE
|
||||
#error Adjust this to where the real pyCCRMgr.cpp lives and submit a pull request!
|
||||
#include "pyCCRMgrReal.cpp"
|
||||
#endif // PLASMA_CCR_RELEASE
|
@ -0,0 +1,46 @@
|
||||
/*==LICENSE==*
|
||||
|
||||
CyanWorlds.com Engine - MMOG client, server and tools
|
||||
Copyright (C) 2011 Cyan Worlds, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Additional permissions under GNU GPL version 3 section 7
|
||||
|
||||
If you modify this Program, or any covered work, by linking or
|
||||
combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK,
|
||||
NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent
|
||||
JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK
|
||||
(or a modified version of those libraries),
|
||||
containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA,
|
||||
PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG
|
||||
JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the
|
||||
licensors of this Program grant you additional
|
||||
permission to convey the resulting work. Corresponding Source for a
|
||||
non-source form of such a combination shall include the source code for
|
||||
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered
|
||||
work.
|
||||
|
||||
You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
or by snail mail at:
|
||||
Cyan Worlds, Inc.
|
||||
14617 N Newport Hwy
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
|
||||
#ifdef PLASMA_CCR_RELEASE
|
||||
#error Adjust this to where the real pyCCRMgrGlue.cpp lives and submit a pull request!
|
||||
#include "pyCCRMgrGlueReal.cpp"
|
||||
#endif // PLASMA_CCR_RELEASE
|
@ -0,0 +1,46 @@
|
||||
/*==LICENSE==*
|
||||
|
||||
CyanWorlds.com Engine - MMOG client, server and tools
|
||||
Copyright (C) 2011 Cyan Worlds, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Additional permissions under GNU GPL version 3 section 7
|
||||
|
||||
If you modify this Program, or any covered work, by linking or
|
||||
combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK,
|
||||
NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent
|
||||
JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK
|
||||
(or a modified version of those libraries),
|
||||
containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA,
|
||||
PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG
|
||||
JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the
|
||||
licensors of this Program grant you additional
|
||||
permission to convey the resulting work. Corresponding Source for a
|
||||
non-source form of such a combination shall include the source code for
|
||||
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered
|
||||
work.
|
||||
|
||||
You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
or by snail mail at:
|
||||
Cyan Worlds, Inc.
|
||||
14617 N Newport Hwy
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
|
||||
#ifdef PLASMA_CCR_RELEASE
|
||||
#error Adjust this to where the real pyCCRMgrGlue2.cpp lives and submit a pull request!
|
||||
#include "pyCCRMgrGlue2Real.cpp"
|
||||
#endif // PLASMA_CCR_RELEASE
|
@ -491,4 +491,10 @@ void pyDynamicText::AddPlasmaConstantsClasses(PyObject *m)
|
||||
PYTHON_ENUM_ELEMENT(PtJustify, kLeftJustify, plDynamicTextMap::Justify::kLeftJustify);
|
||||
PYTHON_ENUM_ELEMENT(PtJustify, kRightJustify, plDynamicTextMap::Justify::kRightJustify);
|
||||
PYTHON_ENUM_END(m, PtJustify);
|
||||
|
||||
PYTHON_ENUM_START(PtFontFlags);
|
||||
PYTHON_ENUM_ELEMENT(PtFontFlags, kFontBold, plDynamicTextMap::kFontBold);
|
||||
PYTHON_ENUM_ELEMENT(PtFontFlags, kFontItalic, plDynamicTextMap::kFontItalic);
|
||||
PYTHON_ENUM_ELEMENT(PtFontFlags, kFontShadowed, plDynamicTextMap::kFontShadowed);
|
||||
PYTHON_ENUM_END(m, PtFontFlags);
|
||||
}
|
@ -278,7 +278,7 @@ PyObject* pyGUIControl::GetOwnerDlg( void )
|
||||
}
|
||||
|
||||
// get color schemes
|
||||
PyObject* pyGUIControl::GetForeColor()
|
||||
PyObject* pyGUIControl::GetForeColor() const
|
||||
{
|
||||
if ( fGCkey )
|
||||
{
|
||||
@ -292,7 +292,7 @@ PyObject* pyGUIControl::GetForeColor()
|
||||
PYTHON_RETURN_NONE;
|
||||
}
|
||||
|
||||
PyObject* pyGUIControl::GetSelColor()
|
||||
PyObject* pyGUIControl::GetSelColor() const
|
||||
{
|
||||
if ( fGCkey )
|
||||
{
|
||||
@ -306,7 +306,7 @@ PyObject* pyGUIControl::GetSelColor()
|
||||
PYTHON_RETURN_NONE;
|
||||
}
|
||||
|
||||
PyObject* pyGUIControl::GetBackColor()
|
||||
PyObject* pyGUIControl::GetBackColor() const
|
||||
{
|
||||
if ( fGCkey )
|
||||
{
|
||||
@ -320,7 +320,7 @@ PyObject* pyGUIControl::GetBackColor()
|
||||
PYTHON_RETURN_NONE;
|
||||
}
|
||||
|
||||
PyObject* pyGUIControl::GetBackSelColor()
|
||||
PyObject* pyGUIControl::GetBackSelColor() const
|
||||
{
|
||||
if ( fGCkey )
|
||||
{
|
||||
@ -334,7 +334,7 @@ PyObject* pyGUIControl::GetBackSelColor()
|
||||
PYTHON_RETURN_NONE;
|
||||
}
|
||||
|
||||
UInt32 pyGUIControl::GetFontSize()
|
||||
UInt32 pyGUIControl::GetFontSize() const
|
||||
{
|
||||
if ( fGCkey )
|
||||
{
|
||||
@ -444,3 +444,34 @@ void pyGUIControl::SetFontSize(UInt32 fontsize)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void pyGUIControl::SetFontFlags(UInt8 fontFlags)
|
||||
{
|
||||
if (fGCkey)
|
||||
{
|
||||
// get the pointer to the modifier
|
||||
pfGUIControlMod* pdmod = pfGUIControlMod::ConvertNoRef(fGCkey->ObjectIsLoaded());
|
||||
if (pdmod)
|
||||
{
|
||||
pfGUIColorScheme* colorscheme = pdmod->GetColorScheme();
|
||||
colorscheme->fFontFlags = fontFlags;
|
||||
pdmod->UpdateColorScheme();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
UInt8 pyGUIControl::GetFontFlags() const
|
||||
{
|
||||
if (fGCkey)
|
||||
{
|
||||
// get the pointer to the modifier
|
||||
pfGUIControlMod* pdmod = pfGUIControlMod::ConvertNoRef(fGCkey->ObjectIsLoaded());
|
||||
if (pdmod)
|
||||
{
|
||||
pfGUIColorScheme* colorscheme = pdmod->GetColorScheme();
|
||||
return colorscheme->fFontFlags;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -116,17 +116,19 @@ public:
|
||||
virtual PyObject* GetOwnerDlg( void ); // returns pyGUIDialog
|
||||
|
||||
// get color schemes
|
||||
virtual PyObject* GetForeColor(); // returns pyColor
|
||||
virtual PyObject* GetSelColor(); // returns pyColor
|
||||
virtual PyObject* GetBackColor(); // returns pyColor
|
||||
virtual PyObject* GetBackSelColor(); // returns pyColor
|
||||
virtual UInt32 GetFontSize();
|
||||
virtual PyObject* GetForeColor() const; // returns pyColor
|
||||
virtual PyObject* GetSelColor() const; // returns pyColor
|
||||
virtual PyObject* GetBackColor() const; // returns pyColor
|
||||
virtual PyObject* GetBackSelColor() const; // returns pyColor
|
||||
virtual UInt32 GetFontSize() const;
|
||||
virtual UInt8 GetFontFlags() const;
|
||||
// set color scheme
|
||||
virtual void SetForeColor( hsScalar r, hsScalar g, hsScalar b, hsScalar a );
|
||||
virtual void SetSelColor( hsScalar r, hsScalar g, hsScalar b, hsScalar a );
|
||||
virtual void SetBackColor( hsScalar r, hsScalar g, hsScalar b, hsScalar a );
|
||||
virtual void SetBackSelColor( hsScalar r, hsScalar g, hsScalar b, hsScalar a );
|
||||
virtual void SetFontSize(UInt32 fontsize);
|
||||
virtual void SetFontFlags(UInt8 fontflags);
|
||||
|
||||
};
|
||||
|
||||
|
@ -244,6 +244,23 @@ PYTHON_METHOD_DEFINITION_NOARGS(ptGUIControl, getFontSize)
|
||||
return PyLong_FromUnsignedLong(self->fThis->GetFontSize());
|
||||
}
|
||||
|
||||
PYTHON_METHOD_DEFINITION_NOARGS(ptGUIControl, getFontFlags)
|
||||
{
|
||||
return PyInt_FromLong(self->fThis->GetFontFlags());
|
||||
}
|
||||
|
||||
PYTHON_METHOD_DEFINITION(ptGUIControl, setFontFlags, args)
|
||||
{
|
||||
unsigned char fontflags;
|
||||
if (!PyArg_ParseTuple(args, "b", &fontflags))
|
||||
{
|
||||
PyErr_SetString(PyExc_TypeError, "setFontFlags expects an unsigned 8-bit int");
|
||||
PYTHON_RETURN_ERROR;
|
||||
}
|
||||
self->fThis->SetFontFlags(fontflags);
|
||||
PYTHON_RETURN_NONE;
|
||||
}
|
||||
|
||||
PYTHON_METHOD_DEFINITION(ptGUIControl, setForeColor, args)
|
||||
{
|
||||
float r, g, b, a;
|
||||
@ -329,11 +346,13 @@ PYTHON_START_METHODS_TABLE(ptGUIControl)
|
||||
PYTHON_METHOD_NOARGS(ptGUIControl, getBackColor, "Returns the background color"),
|
||||
PYTHON_METHOD_NOARGS(ptGUIControl, getBackSelectColor, "Returns the background selection color"),
|
||||
PYTHON_METHOD_NOARGS(ptGUIControl, getFontSize, "Returns the font size"),
|
||||
PYTHON_METHOD_NOARGS(ptGUIControl, getFontFlags, "Returns the current fontflags"),
|
||||
PYTHON_METHOD(ptGUIControl, setForeColor, "Params: r,g,b,a\nSets the foreground color"),
|
||||
PYTHON_METHOD(ptGUIControl, setSelectColor, "Params: r,g,b,a\nSets the selection color"),
|
||||
PYTHON_METHOD(ptGUIControl, setBackColor, "Params: r,g,b,a\nSets the background color"),
|
||||
PYTHON_METHOD(ptGUIControl, setBackSelectColor, "Params: r,g,b,a\nSets the selection background color"),
|
||||
PYTHON_METHOD(ptGUIControl, setFontSize, "Params: fontSize\nSets the font size"),
|
||||
PYTHON_METHOD(ptGUIControl, setFontFlags, "Params: fontflags\nSets current fontflags"),
|
||||
PYTHON_END_METHODS_TABLE;
|
||||
|
||||
// Type structure definition
|
||||
|
@ -80,6 +80,30 @@ void pyGUIControlMultiLineEdit::SetScrollPosition( Int32 topLine )
|
||||
}
|
||||
}
|
||||
|
||||
Int32 pyGUIControlMultiLineEdit::GetScrollPosition()
|
||||
{
|
||||
if ( fGCkey )
|
||||
{
|
||||
// get the pointer to the modifier
|
||||
pfGUIMultiLineEditCtrl* pbmod = pfGUIMultiLineEditCtrl::ConvertNoRef(fGCkey->ObjectIsLoaded());
|
||||
if ( pbmod )
|
||||
return pbmod->GetScrollPosition();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
hsBool pyGUIControlMultiLineEdit::IsAtEnd()
|
||||
{
|
||||
if ( fGCkey )
|
||||
{
|
||||
// get the pointer to the modifier
|
||||
pfGUIMultiLineEditCtrl* pbmod = pfGUIMultiLineEditCtrl::ConvertNoRef(fGCkey->ObjectIsLoaded());
|
||||
if ( pbmod )
|
||||
return pbmod->ShowingEndOfBuffer();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void pyGUIControlMultiLineEdit::MoveCursor( Int32 dir)
|
||||
{
|
||||
if ( fGCkey )
|
||||
@ -557,4 +581,4 @@ void pyGUIControlMultiLineEdit::SetFontSize( UInt32 fontsize )
|
||||
if ( pbmod )
|
||||
pbmod->SetFontSize((UInt8)fontsize);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -80,6 +80,8 @@ public:
|
||||
virtual void Clickable( void );
|
||||
virtual void Unclickable( void );
|
||||
virtual void SetScrollPosition( Int32 topLine );
|
||||
virtual Int32 GetScrollPosition();
|
||||
virtual hsBool IsAtEnd();
|
||||
virtual void MoveCursor( Int32 dir );
|
||||
virtual void ClearBuffer( void );
|
||||
virtual void SetText( const char *asciiText );
|
||||
|
@ -87,6 +87,16 @@ PYTHON_METHOD_DEFINITION(ptGUIControlMultiLineEdit, setScrollPosition, args)
|
||||
PYTHON_RETURN_NONE;
|
||||
}
|
||||
|
||||
PYTHON_METHOD_DEFINITION_NOARGS(ptGUIControlMultiLineEdit, getScrollPosition)
|
||||
{
|
||||
return PyLong_FromLong(self->fThis->GetScrollPosition());
|
||||
}
|
||||
|
||||
PYTHON_METHOD_DEFINITION_NOARGS(ptGUIControlMultiLineEdit, isAtEnd)
|
||||
{
|
||||
PYTHON_RETURN_BOOL(self->fThis->IsAtEnd());
|
||||
}
|
||||
|
||||
PYTHON_METHOD_DEFINITION(ptGUIControlMultiLineEdit, moveCursor, args)
|
||||
{
|
||||
long dir;
|
||||
@ -394,6 +404,8 @@ PYTHON_START_METHODS_TABLE(ptGUIControlMultiLineEdit)
|
||||
PYTHON_BASIC_METHOD(ptGUIControlMultiLineEdit, unclickable, "Makes this listbox not clickable by the user.\n"
|
||||
"Useful when just displaying a list that is not really selectable."),
|
||||
PYTHON_METHOD(ptGUIControlMultiLineEdit, setScrollPosition, "Params: topLine\nSets the what line is the top line."),
|
||||
PYTHON_METHOD_NOARGS(ptGUIControlMultiLineEdit, getScrollPosition, "Gets what line is the top line."),
|
||||
PYTHON_METHOD_NOARGS(ptGUIControlMultiLineEdit, isAtEnd, "Returns true if the end of the buffer has been reached."),
|
||||
PYTHON_METHOD(ptGUIControlMultiLineEdit, moveCursor, "Params: direction\nMove the cursor in the specified direction (see PtGUIMultiLineDirection)"),
|
||||
PYTHON_BASIC_METHOD(ptGUIControlMultiLineEdit, clearBuffer, "Clears all text from the multi-line edit control."),
|
||||
PYTHON_METHOD(ptGUIControlMultiLineEdit, setString, "Params: asciiText\nSets the multi-line edit control string."),
|
||||
|
@ -214,3 +214,4 @@ UInt8 pyGUIControlTextBox::GetJustify()
|
||||
}
|
||||
return pfGUIListText::kLeftJustify;
|
||||
}
|
||||
|
||||
|
@ -88,6 +88,7 @@ public:
|
||||
virtual void SetForeColor( pyColor& color );
|
||||
virtual void SetBackColor( pyColor& color );
|
||||
virtual void SetJustify( UInt8 justify );
|
||||
|
||||
virtual UInt8 GetJustify();
|
||||
virtual PyObject* GetForeColor(); // returns pyColor
|
||||
};
|
||||
|
@ -185,6 +185,8 @@ PYTHON_METHOD_DEFINITION(ptGUIControlTextBox, setStringJustify, args)
|
||||
PYTHON_RETURN_NONE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
PYTHON_METHOD_DEFINITION_NOARGS(ptGUIControlTextBox, getStringJustify)
|
||||
{
|
||||
return PyInt_FromLong(self->fThis->GetJustify());
|
||||
|
@ -664,6 +664,11 @@ bool pyVault::SetAgePublic( const pyAgeInfoStruct * ageInfo, bool makePublic )
|
||||
return VaultSetOwnedAgePublicAndWait(ageInfo->GetAgeInfo(), makePublic);
|
||||
}
|
||||
|
||||
bool pyVault::SetAgePublic( const pyVaultAgeInfoNode * ageInfoNode, bool makePublic )
|
||||
{
|
||||
return VaultSetAgePublicAndWait(ageInfoNode->GetNode(), makePublic);
|
||||
}
|
||||
|
||||
|
||||
PyObject* pyVault::GetGlobalInbox( void )
|
||||
{
|
||||
|
@ -176,6 +176,8 @@ public:
|
||||
void CreateNeighborhood();
|
||||
// set an age's public status. will fail if you aren't czar of age.
|
||||
bool SetAgePublic( const pyAgeInfoStruct * ageInfo, bool makePublic );
|
||||
// set an age's public status, also works for non-owners
|
||||
bool SetAgePublic( const pyVaultAgeInfoNode * ageInfoNode, bool makePublic );
|
||||
|
||||
PyObject* GetGlobalInbox( void ); // returns pyVaultFolderNode
|
||||
#ifdef GlobalInboxTestCode
|
||||
|
@ -43,6 +43,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
#include "pyEnum.h"
|
||||
#include "pyAgeInfoStruct.h"
|
||||
#include "pyVaultNode.h"
|
||||
#include "pyVaultAgeInfoNode.h"
|
||||
#include "pySDL.h"
|
||||
#include "pyAgeLinkStruct.h"
|
||||
|
||||
@ -451,16 +452,21 @@ PYTHON_METHOD_DEFINITION(ptVault, setAgePublic, args)
|
||||
char makePublic;
|
||||
if (!PyArg_ParseTuple(args, "Ob", &ageInfoObj, &makePublic))
|
||||
{
|
||||
PyErr_SetString(PyExc_TypeError, "setAgePublic expects a ptAgeInfoStruct and a boolean");
|
||||
PyErr_SetString(PyExc_TypeError, "setAgePublic expects a ptAgeInfoStruct or ptVaultAgeInfoNode and a boolean");
|
||||
PYTHON_RETURN_ERROR;
|
||||
}
|
||||
if (!pyAgeInfoStruct::Check(ageInfoObj))
|
||||
if (pyAgeInfoStruct::Check(ageInfoObj))
|
||||
{
|
||||
PyErr_SetString(PyExc_TypeError, "setAgePublic expects a ptAgeInfoStruct and a boolean");
|
||||
PYTHON_RETURN_ERROR;
|
||||
pyAgeInfoStruct* ageInfo = pyAgeInfoStruct::ConvertFrom(ageInfoObj);
|
||||
PYTHON_RETURN_BOOL(self->fThis->SetAgePublic(ageInfo, makePublic != 0));
|
||||
}
|
||||
pyAgeInfoStruct* ageInfo = pyAgeInfoStruct::ConvertFrom(ageInfoObj);
|
||||
PYTHON_RETURN_BOOL(self->fThis->SetAgePublic(ageInfo, makePublic != 0));
|
||||
else if (pyVaultAgeInfoNode::Check(ageInfoObj))
|
||||
{
|
||||
pyVaultAgeInfoNode* ageInfoNode = pyVaultAgeInfoNode::ConvertFrom(ageInfoObj);
|
||||
PYTHON_RETURN_BOOL(self->fThis->SetAgePublic(ageInfoNode, makePublic != 0));
|
||||
}
|
||||
PyErr_SetString(PyExc_TypeError, "setAgePublic expects a ptAgeInfoStruct or ptVaultAgeInfoNode and a boolean");
|
||||
PYTHON_RETURN_ERROR;
|
||||
}
|
||||
|
||||
PYTHON_START_METHODS_TABLE(ptVault)
|
||||
|
@ -85,7 +85,8 @@ enum hsGMatBlendFlags {
|
||||
kBlendEnvBumpNext = 0x800000,
|
||||
kBlendSubtract = 0x1000000,
|
||||
kBlendRevSubtract = 0x2000000,
|
||||
kBlendAlphaTestHigh = 0x4000000
|
||||
kBlendAlphaTestHigh = 0x4000000,
|
||||
kBlendAlphaPremultiplied = 0x8000000
|
||||
};
|
||||
enum hsGMatClampFlags {
|
||||
|
||||
|
@ -49,6 +49,13 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
|
||||
#ifdef EAX_SDK_AVAILABLE
|
||||
# pragma message("==>Compiling with EAX_SDK")
|
||||
#if defined(_MSC_VER) && _MSC_VER < 1400
|
||||
// name EAX libraries here rather than in the projects so that we don't try to
|
||||
// link them unless EAX_SDK_AVAILABLE (avoids the need for separate projects
|
||||
// or configurations for the cases with/without EAX)
|
||||
#pragma comment(lib, "eax.lib")
|
||||
#pragma comment(lib, "eaxguid.lib")
|
||||
#endif // _MSC_VER < 1400
|
||||
#endif // EAX_SDK_AVAILABLE
|
||||
|
||||
#include "hsTypes.h"
|
||||
|
@ -75,20 +75,12 @@ plProfile_Extern(MemMipmaps);
|
||||
|
||||
//// Constructor & Destructor /////////////////////////////////////////////////
|
||||
|
||||
plDynamicTextMap::plDynamicTextMap() : plMipmap()
|
||||
plDynamicTextMap::plDynamicTextMap()
|
||||
: fVisWidth(0), fVisHeight(0), fHasAlpha(false), fPremultipliedAlpha(false), fJustify(kLeftJustify),
|
||||
fInitBuffer(nil), fFontFace(nil), fFontSize(0), fFontFlags(0),
|
||||
fFontAntiAliasRGB(false), fFontBlockRGB(false), fHasCreateBeenCalled(false)
|
||||
{
|
||||
fVisWidth = fVisHeight = 0;
|
||||
fHasAlpha = false;
|
||||
fJustify = kLeftJustify;
|
||||
fInitBuffer = nil;
|
||||
fFontFace = nil;
|
||||
fFontSize = 0;
|
||||
fFontFlags = 0;
|
||||
fFontAntiAliasRGB = false;
|
||||
fFontColor.Set( 0, 0, 0, 1 );
|
||||
fFontBlockRGB = false;
|
||||
fHasCreateBeenCalled = false;
|
||||
|
||||
fFontColor.Set(0, 0, 0, 1);
|
||||
}
|
||||
|
||||
plDynamicTextMap::~plDynamicTextMap()
|
||||
@ -96,11 +88,10 @@ plDynamicTextMap::~plDynamicTextMap()
|
||||
Reset();
|
||||
}
|
||||
|
||||
plDynamicTextMap::plDynamicTextMap( UInt32 width, UInt32 height, hsBool hasAlpha, UInt32 extraWidth, UInt32 extraHeight ) : plMipmap()
|
||||
plDynamicTextMap::plDynamicTextMap( UInt32 width, UInt32 height, hsBool hasAlpha, UInt32 extraWidth, UInt32 extraHeight, hsBool premultipliedAlpha )
|
||||
: fInitBuffer(nil), fFontFace(nil)
|
||||
{
|
||||
fInitBuffer = nil;
|
||||
fFontFace = nil;
|
||||
Create( width, height, hasAlpha, extraWidth, extraHeight );
|
||||
Create( width, height, hasAlpha, extraWidth, extraHeight, premultipliedAlpha );
|
||||
}
|
||||
|
||||
//// SetNoCreate //////////////////////////////////////////////////////////////
|
||||
@ -122,7 +113,7 @@ void plDynamicTextMap::SetNoCreate( UInt32 width, UInt32 height, hsBool hasAlpha
|
||||
|
||||
//// Create ///////////////////////////////////////////////////////////////////
|
||||
|
||||
void plDynamicTextMap::Create( UInt32 width, UInt32 height, hsBool hasAlpha, UInt32 extraWidth, UInt32 extraHeight )
|
||||
void plDynamicTextMap::Create( UInt32 width, UInt32 height, hsBool hasAlpha, UInt32 extraWidth, UInt32 extraHeight, hsBool premultipliedAlpha )
|
||||
{
|
||||
SetConfig( hasAlpha ? kARGB32Config : kRGB32Config );
|
||||
|
||||
@ -130,6 +121,7 @@ void plDynamicTextMap::Create( UInt32 width, UInt32 height, hsBool hasAlpha, UIn
|
||||
fVisWidth = (UInt16)width;
|
||||
fVisHeight = (UInt16)height;
|
||||
fHasAlpha = hasAlpha;
|
||||
fPremultipliedAlpha = premultipliedAlpha;
|
||||
|
||||
for( fWidth = 1; fWidth < width + extraWidth; fWidth <<= 1 );
|
||||
for( fHeight = 1; fHeight < height + extraHeight; fHeight <<= 1 );
|
||||
@ -388,6 +380,17 @@ void plDynamicTextMap::IClearFromBuffer( UInt32 *clearBuffer )
|
||||
}
|
||||
}
|
||||
|
||||
//// IPropagateFlags //////////////////////////////////////////////////////////
|
||||
|
||||
void plDynamicTextMap::IPropagateFlags()
|
||||
{
|
||||
SetJustify(fJustify);
|
||||
fCurrFont->SetRenderFlag(plFont::kRenderShadow, fFontFlags & kFontShadowed);
|
||||
fCurrFont->SetRenderFlag(plFont::kRenderIntoAlpha, fFontBlockRGB);
|
||||
fCurrFont->SetRenderFlag(plFont::kRenderAlphaPremultiplied, fPremultipliedAlpha);
|
||||
fCurrFont->SetRenderColor(fFontColor.ToARGB32());
|
||||
}
|
||||
|
||||
//// ClearToColor /////////////////////////////////////////////////////////////
|
||||
|
||||
void plDynamicTextMap::ClearToColor( hsColorRGBA &color )
|
||||
@ -395,7 +398,7 @@ void plDynamicTextMap::ClearToColor( hsColorRGBA &color )
|
||||
if( !IIsValid() )
|
||||
return;
|
||||
|
||||
UInt32 i, hex = color.ToARGB32();
|
||||
UInt32 i, hex = fPremultipliedAlpha ? color.ToARGB32Premultiplied() : color.ToARGB32();
|
||||
UInt32 *data = (UInt32 *)fImage;
|
||||
|
||||
// Buffer is of size fVisWidth x fVisHeight, so we need a bit of work to do this right
|
||||
@ -462,6 +465,8 @@ void plDynamicTextMap::SetFont( const char *face, UInt16 size, UInt8 fontFlags,
|
||||
// This will be nil if we're just running the page optimizer.
|
||||
if (fCurrFont)
|
||||
{
|
||||
if (fFontFlags & kFontShadowed)
|
||||
fCurrFont->SetRenderFlag(plFont::kRenderShadow, true);
|
||||
fCurrFont->SetRenderYJustify( plFont::kRenderJustYTop );
|
||||
SetJustify( fJustify );
|
||||
}
|
||||
@ -515,10 +520,9 @@ void plDynamicTextMap::DrawString( UInt16 x, UInt16 y, const wchar_t *text )
|
||||
if( !IIsValid() )
|
||||
return;
|
||||
|
||||
SetJustify( fJustify );
|
||||
IPropagateFlags();
|
||||
fCurrFont->SetRenderFlag( plFont::kRenderWrap | plFont::kRenderClip, false );
|
||||
fCurrFont->SetRenderColor( fFontColor.ToARGB32() );
|
||||
fCurrFont->SetRenderFlag( plFont::kRenderIntoAlpha, fFontBlockRGB );
|
||||
fCurrFont->SetRenderClipRect( 0, 0, fVisWidth, fVisHeight );
|
||||
fCurrFont->RenderString( this, x, y, text );
|
||||
}
|
||||
|
||||
@ -536,10 +540,8 @@ void plDynamicTextMap::DrawClippedString( Int16 x, Int16 y, const wchar_t *text,
|
||||
if( !IIsValid() )
|
||||
return;
|
||||
|
||||
SetJustify( fJustify );
|
||||
IPropagateFlags();
|
||||
fCurrFont->SetRenderClipping( x, y, width, height );
|
||||
fCurrFont->SetRenderColor( fFontColor.ToARGB32() );
|
||||
fCurrFont->SetRenderFlag( plFont::kRenderIntoAlpha, fFontBlockRGB );
|
||||
fCurrFont->RenderString( this, x, y, text );
|
||||
}
|
||||
|
||||
@ -557,9 +559,8 @@ void plDynamicTextMap::DrawClippedString( Int16 x, Int16 y, const wchar_t *text,
|
||||
if( !IIsValid() )
|
||||
return;
|
||||
|
||||
SetJustify( fJustify );
|
||||
IPropagateFlags();
|
||||
fCurrFont->SetRenderClipping( clipX, clipY, width, height );
|
||||
fCurrFont->SetRenderColor( fFontColor.ToARGB32() );
|
||||
fCurrFont->RenderString( this, x, y, text );
|
||||
}
|
||||
|
||||
@ -577,10 +578,8 @@ void plDynamicTextMap::DrawWrappedString( UInt16 x, UInt16 y, const wchar_t *tex
|
||||
if( !IIsValid() )
|
||||
return;
|
||||
|
||||
SetJustify( fJustify );
|
||||
IPropagateFlags();
|
||||
fCurrFont->SetRenderWrapping( x, y, width, height );
|
||||
fCurrFont->SetRenderColor( fFontColor.ToARGB32() );
|
||||
fCurrFont->SetRenderFlag( plFont::kRenderIntoAlpha, fFontBlockRGB );
|
||||
fCurrFont->RenderString( this, x, y, text, lastX, lastY );
|
||||
}
|
||||
|
||||
@ -664,7 +663,7 @@ void plDynamicTextMap::FillRect( UInt16 x, UInt16 y, UInt16 width, UInt16 height
|
||||
width = (UInt16)(fWidth - x);
|
||||
|
||||
// Gee, how hard can it REALLY be?
|
||||
UInt32 i, hex = color.ToARGB32();
|
||||
UInt32 i, hex = fPremultipliedAlpha ? color.ToARGB32Premultiplied() : color.ToARGB32();
|
||||
height += y;
|
||||
if( height > fHeight )
|
||||
height = (UInt16)fHeight;
|
||||
@ -689,7 +688,7 @@ void plDynamicTextMap::FrameRect( UInt16 x, UInt16 y, UInt16 width, UInt16 heigh
|
||||
height = (UInt16)(fHeight - y);
|
||||
|
||||
// Shouldn't be much harder
|
||||
UInt32 i, hex = color.ToARGB32();
|
||||
UInt32 i, hex = fPremultipliedAlpha ? color.ToARGB32Premultiplied() : color.ToARGB32();
|
||||
UInt32 *dest1, *dest2;
|
||||
|
||||
dest1 = GetAddr32( x, y );
|
||||
@ -724,6 +723,9 @@ void plDynamicTextMap::DrawImage( UInt16 x, UInt16 y, plMipmap *image, DrawMetho
|
||||
else if( method == kImgSprite )
|
||||
opts.fFlags = plMipmap::kCopySrcAlpha;
|
||||
|
||||
if( fPremultipliedAlpha )
|
||||
opts.fFlags |= plMipmap::kDestPremultiplied;
|
||||
|
||||
Composite( image, x, y, &opts );
|
||||
|
||||
/// HACK for now, since the alpha in the mipmap gets copied straight into the
|
||||
@ -762,6 +764,9 @@ void plDynamicTextMap::DrawClippedImage( UInt16 x, UInt16 y, plMipmap *image,
|
||||
else if( method == kImgSprite )
|
||||
opts.fFlags = plMipmap::kCopySrcAlpha;
|
||||
|
||||
if( fPremultipliedAlpha )
|
||||
opts.fFlags |= plMipmap::kDestPremultiplied;
|
||||
|
||||
opts.fSrcClipX = srcClipX;
|
||||
opts.fSrcClipY = srcClipY;
|
||||
opts.fSrcClipWidth = srcClipWidth;
|
||||
@ -908,6 +913,7 @@ void plDynamicTextMap::Swap( plDynamicTextMap *other )
|
||||
|
||||
// Swap DTMap info
|
||||
SWAP_ME( hsBool, fHasAlpha, other->fHasAlpha );
|
||||
SWAP_ME( hsBool, fPremultipliedAlpha, other->fPremultipliedAlpha );
|
||||
SWAP_ME( hsBool, fShadowed, other->fShadowed );
|
||||
|
||||
SWAP_ME( Justify, fJustify, other->fJustify );
|
||||
|
@ -113,14 +113,14 @@ class plDynamicTextMap : public plMipmap
|
||||
|
||||
|
||||
plDynamicTextMap();
|
||||
plDynamicTextMap( UInt32 width, UInt32 height, hsBool hasAlpha = false, UInt32 extraWidth = 0, UInt32 extraHeight = 0 );
|
||||
plDynamicTextMap( UInt32 width, UInt32 height, hsBool hasAlpha = false, UInt32 extraWidth = 0, UInt32 extraHeight = 0, hsBool premultipliedAlpha = false );
|
||||
virtual ~plDynamicTextMap();
|
||||
|
||||
CLASSNAME_REGISTER( plDynamicTextMap );
|
||||
GETINTERFACE_ANY( plDynamicTextMap, plMipmap );
|
||||
|
||||
|
||||
void Create( UInt32 width, UInt32 height, hsBool hasAlpha, UInt32 extraWidth = 0, UInt32 extraHeight = 0 );
|
||||
void Create( UInt32 width, UInt32 height, hsBool hasAlpha, UInt32 extraWidth = 0, UInt32 extraHeight = 0, hsBool premultipliedAlpha = false );
|
||||
void SetNoCreate( UInt32 width, UInt32 height, hsBool hasAlpha );
|
||||
|
||||
virtual void Reset( void );
|
||||
@ -222,7 +222,9 @@ class plDynamicTextMap : public plMipmap
|
||||
UInt32 *IAllocateOSSurface( UInt16 width, UInt16 height );
|
||||
void IDestroyOSSurface( void );
|
||||
|
||||
hsBool fHasAlpha, fShadowed;
|
||||
void IPropagateFlags();
|
||||
|
||||
hsBool fHasAlpha, fPremultipliedAlpha, fShadowed;
|
||||
|
||||
Justify fJustify;
|
||||
char *fFontFace;
|
||||
|
@ -345,7 +345,14 @@ void plFont::IRenderString( plMipmap *mip, UInt16 x, UInt16 y, const wchar_t *st
|
||||
{
|
||||
if( fRenderInfo.fFlags & kRenderIntoAlpha )
|
||||
{
|
||||
if( ( fRenderInfo.fColor & 0xff000000 ) != 0xff000000 )
|
||||
if( fRenderInfo.fFlags & kRenderAlphaPremultiplied )
|
||||
{
|
||||
if (fRenderInfo.fFlags & kRenderShadow)
|
||||
fRenderInfo.fRenderFunc = &plFont::IRenderChar8To32AlphaPremShadow;
|
||||
else
|
||||
fRenderInfo.fRenderFunc = &plFont::IRenderChar8To32AlphaPremultiplied;
|
||||
}
|
||||
else if( ( fRenderInfo.fColor & 0xff000000 ) != 0xff000000 )
|
||||
fRenderInfo.fRenderFunc = &plFont::IRenderChar8To32Alpha;
|
||||
else
|
||||
fRenderInfo.fRenderFunc = &plFont::IRenderChar8To32FullAlpha;
|
||||
@ -659,24 +666,27 @@ void plFont::IRenderString( plMipmap *mip, UInt16 x, UInt16 y, const wchar_t *st
|
||||
// Advance left past any clipping area
|
||||
CharRenderFunc oldFunc = fRenderInfo.fRenderFunc;
|
||||
fRenderInfo.fRenderFunc = &plFont::IRenderCharNull;
|
||||
while( fRenderInfo.fX < fRenderInfo.fClipRect.fX && *string != 0 )
|
||||
Int16 prevX;
|
||||
do
|
||||
{
|
||||
prevX = fRenderInfo.fX;
|
||||
IRenderLoop( string, 1 );
|
||||
string++;
|
||||
}
|
||||
while( fRenderInfo.fX <= fRenderInfo.fClipRect.fX && *++string != 0 );
|
||||
fRenderInfo.fMaxWidth += fRenderInfo.fX - prevX;
|
||||
fRenderInfo.fDestPtr -= (fRenderInfo.fX - prevX) * fRenderInfo.fDestBPP;
|
||||
fRenderInfo.fX = prevX;
|
||||
fRenderInfo.fRenderFunc = oldFunc;
|
||||
}
|
||||
|
||||
// Adjust for left kern
|
||||
if( ( fRenderInfo.fFlags & kRenderJustXMask ) == kRenderJustXForceLeft )
|
||||
{
|
||||
// See note at top of file
|
||||
plCharacter &ch = fCharacters[ (UInt16)string[ 0 ] - fFirstChar ];
|
||||
Int32 newX = x - (Int16)ch.fLeftKern;
|
||||
if( newX < 0 )
|
||||
newX = 0;
|
||||
fRenderInfo.fX = fRenderInfo.fFarthestX = (Int16)newX;
|
||||
}
|
||||
// There used to be an adjustment of the X coordinate by -ch.fLeftKern for the case
|
||||
// of kRenderJustXForceLeft here, but it was buggy in that it neglected to adjust
|
||||
// fRenderInfo.fDestPtr and therefore had no visible effect (or almost none - only
|
||||
// at the end of the line). Fixing the bug however (making kRenderJustXForceLeft
|
||||
// work as intended) causes the text shadow to be cut off in some places. To ensure
|
||||
// enough space for the shadow, and considering that all content was developed and
|
||||
// visually optimized with the bug in place, it seems better to preserve the buggy
|
||||
// behavior and make kRenderJustXForceLeft work exactly like kRenderJustXLeft.
|
||||
|
||||
fRenderInfo.fVolatileStringPtr = string; // Just so we can keep track of when we clip
|
||||
IRenderLoop( string, -1 );
|
||||
@ -715,9 +725,6 @@ void plFont::IRenderLoop( const wchar_t *string, Int32 maxCount )
|
||||
if( fRenderInfo.fFlags & kRenderScaleAA )
|
||||
thisWidth >>= 1;
|
||||
|
||||
if( thisWidth >= fRenderInfo.fMaxWidth )
|
||||
break;
|
||||
|
||||
(this->*(fRenderInfo.fRenderFunc))( fCharacters[ c ] );
|
||||
|
||||
fRenderInfo.fX += thisWidth;
|
||||
@ -848,8 +855,8 @@ void plFont::IRenderChar8To32( const plFont::plCharacter &c )
|
||||
{
|
||||
UInt8 *src = fBMapData + c.fBitmapOff;
|
||||
UInt32 *destPtr, *destBasePtr = (UInt32 *)( fRenderInfo.fDestPtr - c.fBaseline * fRenderInfo.fDestStride );
|
||||
UInt16 x, y;
|
||||
UInt32 srcAlpha, oneMinusAlpha, r, g, b, dR, dG, dB, destAlpha, thisWidth;
|
||||
Int16 x, y, thisHeight, xstart, thisWidth;
|
||||
UInt32 srcAlpha, oneMinusAlpha, r, g, b, dR, dG, dB, destAlpha;
|
||||
UInt8 srcR, srcG, srcB;
|
||||
|
||||
|
||||
@ -860,19 +867,35 @@ void plFont::IRenderChar8To32( const plFont::plCharacter &c )
|
||||
// difference, especially since the dest pixels that we end up overlapping
|
||||
// should already be in the cache. If it does, time to upgrade the font
|
||||
// format (again)
|
||||
thisWidth = fWidth;// + (Int32)c.fRightKern;
|
||||
thisWidth = (Int16)fWidth;// + (Int32)c.fRightKern;
|
||||
if( thisWidth >= fRenderInfo.fMaxWidth )
|
||||
thisWidth = fRenderInfo.fMaxWidth;
|
||||
|
||||
if( (Int32)c.fHeight - (Int32)c.fBaseline >= fRenderInfo.fMaxHeight || thisWidth >= fRenderInfo.fMaxWidth || c.fBaseline > fRenderInfo.fY )
|
||||
return;
|
||||
xstart = fRenderInfo.fClipRect.fX - fRenderInfo.fX;
|
||||
if( xstart < 0 )
|
||||
xstart = 0;
|
||||
|
||||
srcR = (UInt8)(( fRenderInfo.fColor >> 16 ) & 0x000000ff);
|
||||
srcG = (UInt8)(( fRenderInfo.fColor >> 8 ) & 0x000000ff);
|
||||
srcB = (UInt8)(( fRenderInfo.fColor ) & 0x000000ff);
|
||||
|
||||
for( y = 0; y < c.fHeight; y++ )
|
||||
y = fRenderInfo.fClipRect.fY - fRenderInfo.fY + (Int16)c.fBaseline;
|
||||
if( y < 0 )
|
||||
y = 0;
|
||||
else
|
||||
{
|
||||
destBasePtr = (UInt32 *)( (UInt8 *)destBasePtr + y*fRenderInfo.fDestStride );
|
||||
src += y*fRenderInfo.fNumCols;
|
||||
}
|
||||
|
||||
thisHeight = fRenderInfo.fMaxHeight + (Int16)c.fBaseline;
|
||||
if( thisHeight > (Int16)c.fHeight )
|
||||
thisHeight = (Int16)c.fHeight;
|
||||
|
||||
for( ; y < thisHeight; y++ )
|
||||
{
|
||||
destPtr = destBasePtr;
|
||||
for( x = 0; x < thisWidth; x++ )
|
||||
for( x = xstart; x < thisWidth; x++ )
|
||||
{
|
||||
if( src[ x ] == 255 )
|
||||
destPtr[ x ] = fRenderInfo.fColor;
|
||||
@ -907,8 +930,8 @@ void plFont::IRenderChar8To32FullAlpha( const plFont::plCharacter &c )
|
||||
{
|
||||
UInt8 *src = fBMapData + c.fBitmapOff;
|
||||
UInt32 *destPtr, *destBasePtr = (UInt32 *)( fRenderInfo.fDestPtr - c.fBaseline * fRenderInfo.fDestStride );
|
||||
UInt16 x, y;
|
||||
UInt32 destColorOnly, thisWidth;
|
||||
Int16 x, y, thisHeight, xstart, thisWidth;
|
||||
UInt32 destColorOnly;
|
||||
|
||||
|
||||
// Unfortunately for some fonts, their right kern value actually is
|
||||
@ -918,17 +941,33 @@ void plFont::IRenderChar8To32FullAlpha( const plFont::plCharacter &c )
|
||||
// difference, especially since the dest pixels that we end up overlapping
|
||||
// should already be in the cache. If it does, time to upgrade the font
|
||||
// format (again)
|
||||
thisWidth = fWidth;// + (Int32)c.fRightKern;
|
||||
thisWidth = (Int16)fWidth;// + (Int32)c.fRightKern;
|
||||
if( thisWidth >= fRenderInfo.fMaxWidth )
|
||||
thisWidth = fRenderInfo.fMaxWidth;
|
||||
|
||||
if( (Int32)c.fHeight - (Int32)c.fBaseline >= fRenderInfo.fMaxHeight || thisWidth >= fRenderInfo.fMaxWidth || c.fBaseline > fRenderInfo.fY )
|
||||
return;
|
||||
xstart = fRenderInfo.fClipRect.fX - fRenderInfo.fX;
|
||||
if( xstart < 0 )
|
||||
xstart = 0;
|
||||
|
||||
destColorOnly = fRenderInfo.fColor & 0x00ffffff;
|
||||
|
||||
for( y = 0; y < c.fHeight; y++ )
|
||||
y = fRenderInfo.fClipRect.fY - fRenderInfo.fY + (Int16)c.fBaseline;
|
||||
if( y < 0 )
|
||||
y = 0;
|
||||
else
|
||||
{
|
||||
destBasePtr = (UInt32 *)( (UInt8 *)destBasePtr + y*fRenderInfo.fDestStride );
|
||||
src += y*fRenderInfo.fNumCols;
|
||||
}
|
||||
|
||||
thisHeight = fRenderInfo.fMaxHeight + (Int16)c.fBaseline;
|
||||
if( thisHeight > (Int16)c.fHeight )
|
||||
thisHeight = (Int16)c.fHeight;
|
||||
|
||||
for( ; y < thisHeight; y++ )
|
||||
{
|
||||
destPtr = destBasePtr;
|
||||
for( x = 0; x < thisWidth; x++ )
|
||||
for( x = xstart; x < thisWidth; x++ )
|
||||
{
|
||||
if( src[ x ] != 0 )
|
||||
destPtr[ x ] = ( src[ x ] << 24 ) | destColorOnly;
|
||||
@ -942,8 +981,8 @@ void plFont::IRenderChar8To32Alpha( const plFont::plCharacter &c )
|
||||
{
|
||||
UInt8 val, *src = fBMapData + c.fBitmapOff;
|
||||
UInt32 *destPtr, *destBasePtr = (UInt32 *)( fRenderInfo.fDestPtr - c.fBaseline * fRenderInfo.fDestStride );
|
||||
UInt16 x, y;
|
||||
UInt32 destColorOnly, alphaMult, fullAlpha, thisWidth;
|
||||
Int16 x, y, thisHeight, xstart, thisWidth;
|
||||
UInt32 destColorOnly, alphaMult, fullAlpha;
|
||||
|
||||
|
||||
// Unfortunately for some fonts, their right kern value actually is
|
||||
@ -953,10 +992,13 @@ void plFont::IRenderChar8To32Alpha( const plFont::plCharacter &c )
|
||||
// difference, especially since the dest pixels that we end up overlapping
|
||||
// should already be in the cache. If it does, time to upgrade the font
|
||||
// format (again)
|
||||
thisWidth = fWidth;// + (Int32)c.fRightKern;
|
||||
thisWidth = (Int16)fWidth;// + (Int32)c.fRightKern;
|
||||
if( thisWidth >= fRenderInfo.fMaxWidth )
|
||||
thisWidth = fRenderInfo.fMaxWidth;
|
||||
|
||||
if( (Int32)c.fHeight - (Int32)c.fBaseline >= fRenderInfo.fMaxHeight || thisWidth >= fRenderInfo.fMaxWidth || c.fBaseline > fRenderInfo.fY )
|
||||
return;
|
||||
xstart = fRenderInfo.fClipRect.fX - fRenderInfo.fX;
|
||||
if( xstart < 0 )
|
||||
xstart = 0;
|
||||
|
||||
destColorOnly = fRenderInfo.fColor & 0x00ffffff;
|
||||
// alphaMult should come out to be a value to satisfy (fontAlpha * alphaMult >> 8) as the right alpha,
|
||||
@ -964,10 +1006,23 @@ void plFont::IRenderChar8To32Alpha( const plFont::plCharacter &c )
|
||||
fullAlpha = fRenderInfo.fColor & 0xff000000;
|
||||
alphaMult = fullAlpha / 255;
|
||||
|
||||
for( y = 0; y < c.fHeight; y++ )
|
||||
y = fRenderInfo.fClipRect.fY - fRenderInfo.fY + (Int16)c.fBaseline;
|
||||
if( y < 0 )
|
||||
y = 0;
|
||||
else
|
||||
{
|
||||
destBasePtr = (UInt32 *)( (UInt8 *)destBasePtr + y*fRenderInfo.fDestStride );
|
||||
src += y*fRenderInfo.fNumCols;
|
||||
}
|
||||
|
||||
thisHeight = fRenderInfo.fMaxHeight + (Int16)c.fBaseline;
|
||||
if( thisHeight > (Int16)c.fHeight )
|
||||
thisHeight = (Int16)c.fHeight;
|
||||
|
||||
for( ; y < thisHeight; y++ )
|
||||
{
|
||||
destPtr = destBasePtr;
|
||||
for( x = 0; x < thisWidth; x++ )
|
||||
for( x = xstart; x < thisWidth; x++ )
|
||||
{
|
||||
val = src[ x ];
|
||||
if( val == 0xff )
|
||||
@ -982,6 +1037,145 @@ void plFont::IRenderChar8To32Alpha( const plFont::plCharacter &c )
|
||||
}
|
||||
}
|
||||
|
||||
void plFont::IRenderChar8To32AlphaPremultiplied( const plFont::plCharacter &c )
|
||||
{
|
||||
UInt8 *src = fBMapData + c.fBitmapOff;
|
||||
UInt32 *destPtr, *destBasePtr = (UInt32 *)( fRenderInfo.fDestPtr - c.fBaseline * fRenderInfo.fDestStride );
|
||||
Int16 x, y, thisHeight, xstart, thisWidth;
|
||||
UInt8 srcA, srcR, srcG, srcB;
|
||||
|
||||
|
||||
// Unfortunately for some fonts, their right kern value actually is
|
||||
// farther left than the right edge of the bitmap (think of overlapping
|
||||
// script fonts). Ideally, we should store the actual width of each char's
|
||||
// bitmap and use that here. However, it really shouldn't make too big of a
|
||||
// difference, especially since the dest pixels that we end up overlapping
|
||||
// should already be in the cache. If it does, time to upgrade the font
|
||||
// format (again)
|
||||
thisWidth = (Int16)fWidth;// + (Int32)c.fRightKern;
|
||||
if( thisWidth >= fRenderInfo.fMaxWidth )
|
||||
thisWidth = fRenderInfo.fMaxWidth;
|
||||
|
||||
xstart = fRenderInfo.fClipRect.fX - fRenderInfo.fX;
|
||||
if( xstart < 0 )
|
||||
xstart = 0;
|
||||
|
||||
srcA = (UInt8)(( fRenderInfo.fColor >> 24 ) & 0x000000ff);
|
||||
srcR = (UInt8)(( fRenderInfo.fColor >> 16 ) & 0x000000ff);
|
||||
srcG = (UInt8)(( fRenderInfo.fColor >> 8 ) & 0x000000ff);
|
||||
srcB = (UInt8)(( fRenderInfo.fColor ) & 0x000000ff);
|
||||
|
||||
y = fRenderInfo.fClipRect.fY - fRenderInfo.fY + (Int16)c.fBaseline;
|
||||
if( y < 0 )
|
||||
y = 0;
|
||||
else
|
||||
{
|
||||
destBasePtr = (UInt32 *)( (UInt8 *)destBasePtr + y*fRenderInfo.fDestStride );
|
||||
src += y*fRenderInfo.fNumCols;
|
||||
}
|
||||
|
||||
thisHeight = fRenderInfo.fMaxHeight + (Int16)c.fBaseline;
|
||||
if( thisHeight > (Int16)c.fHeight )
|
||||
thisHeight = (Int16)c.fHeight;
|
||||
|
||||
for( ; y < thisHeight; y++ )
|
||||
{
|
||||
destPtr = destBasePtr;
|
||||
for( x = xstart; x < thisWidth; x++ )
|
||||
{
|
||||
UInt32 a = src[ x ];
|
||||
if (a != 0)
|
||||
{
|
||||
if (srcA != 0xff)
|
||||
a = (srcA*a + 127)/255;
|
||||
destPtr[ x ] = ( a << 24 ) | (((srcR*a + 127)/255) << 16) | (((srcG*a + 127)/255) << 8) | ((srcB*a + 127)/255);
|
||||
}
|
||||
}
|
||||
destBasePtr = (UInt32 *)( (UInt8 *)destBasePtr + fRenderInfo.fDestStride );
|
||||
src += fWidth;
|
||||
}
|
||||
}
|
||||
|
||||
void plFont::IRenderChar8To32AlphaPremShadow( const plFont::plCharacter &c )
|
||||
{
|
||||
UInt32 *destPtr, *destBasePtr = (UInt32 *)( fRenderInfo.fDestPtr - c.fBaseline * fRenderInfo.fDestStride );
|
||||
Int16 x, y, thisHeight, xstart, thisWidth;
|
||||
UInt8 srcA, srcR, srcG, srcB;
|
||||
|
||||
|
||||
// Unfortunately for some fonts, their right kern value actually is
|
||||
// farther left than the right edge of the bitmap (think of overlapping
|
||||
// script fonts). Ideally, we should store the actual width of each char's
|
||||
// bitmap and use that here. However, it really shouldn't make too big of a
|
||||
// difference, especially since the dest pixels that we end up overlapping
|
||||
// should already be in the cache. If it does, time to upgrade the font
|
||||
// format (again)
|
||||
thisWidth = (Int16)fWidth + 2;// + (Int32)c.fRightKern;
|
||||
if( thisWidth >= fRenderInfo.fMaxWidth )
|
||||
thisWidth = fRenderInfo.fMaxWidth;
|
||||
|
||||
xstart = fRenderInfo.fClipRect.fX - fRenderInfo.fX;
|
||||
if( xstart < -2 )
|
||||
xstart = -2;
|
||||
|
||||
srcA = (UInt8)(( fRenderInfo.fColor >> 24 ) & 0x000000ff);
|
||||
if (srcA == 0)
|
||||
return;
|
||||
srcR = (UInt8)(( fRenderInfo.fColor >> 16 ) & 0x000000ff);
|
||||
srcG = (UInt8)(( fRenderInfo.fColor >> 8 ) & 0x000000ff);
|
||||
srcB = (UInt8)(( fRenderInfo.fColor ) & 0x000000ff);
|
||||
|
||||
static const UInt32 kernel[5][5] = {
|
||||
{1, 2, 2, 2, 1},
|
||||
{1, 13, 13, 13, 1},
|
||||
{1, 10, 10, 10, 1},
|
||||
{1, 7, 7, 7, 1},
|
||||
{1, 1, 1, 1, 1}
|
||||
};
|
||||
|
||||
UInt32 clamp = 220 - ((2 * srcR + 4 * srcG + srcB) >> 4);
|
||||
|
||||
y = fRenderInfo.fClipRect.fY - fRenderInfo.fY + (Int16)c.fBaseline;
|
||||
if( y < -2 )
|
||||
y = -2;
|
||||
destBasePtr = (UInt32 *)( (UInt8 *)destBasePtr + y*fRenderInfo.fDestStride );
|
||||
|
||||
thisHeight = fRenderInfo.fMaxHeight + (Int16)c.fBaseline;
|
||||
if( thisHeight > (Int16)c.fHeight + 2 )
|
||||
thisHeight = (Int16)c.fHeight + 2;
|
||||
|
||||
for( ; y < thisHeight; y++ )
|
||||
{
|
||||
destPtr = destBasePtr;
|
||||
for( x = xstart; x < thisWidth; x++ )
|
||||
{
|
||||
UInt32 sa = 0;
|
||||
for (Int32 i = -2; i <= 2; i++) {
|
||||
for (Int32 j = -2; j <= 2; j++) {
|
||||
UInt32 m = kernel[j+2][i+2];
|
||||
if (m != 0)
|
||||
sa += m * IGetCharPixel(c, x+i, y+j);
|
||||
}
|
||||
}
|
||||
sa = (sa * clamp) >> 13;
|
||||
if (sa > clamp)
|
||||
sa = clamp;
|
||||
UInt32 a = IGetCharPixel(c, x, y);
|
||||
if (srcA != 0xff)
|
||||
{
|
||||
a = (srcA * a + 127) / 255;
|
||||
sa = (srcA * sa + 127) / 255;
|
||||
}
|
||||
UInt32 ta = a + sa - ((a*sa + 127) / 255);
|
||||
if (ta > (destPtr[ x ] >> 24))
|
||||
destPtr[ x ] = ( ta << 24 ) | (((srcR * a + 127) / 255) << 16) |
|
||||
(((srcG * a + 127) / 255) << 8) |
|
||||
(((srcB * a + 127) / 255) << 0);
|
||||
}
|
||||
destBasePtr = (UInt32 *)( (UInt8 *)destBasePtr + fRenderInfo.fDestStride );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void plFont::IRenderCharNull( const plCharacter &c )
|
||||
{
|
||||
|
@ -116,6 +116,8 @@ class plFont : public hsKeyedObject
|
||||
// value between the renderColor and the destColor and
|
||||
// leave the alpha as-is
|
||||
// This flag has no effect on monochrome fonts
|
||||
kRenderAlphaPremultiplied = 0x00001000, // Destination has color values premultiplied by alpha
|
||||
kRenderShadow = 0x00002000, // Render text shadows
|
||||
};
|
||||
|
||||
enum Flags
|
||||
@ -231,8 +233,16 @@ class plFont : public hsKeyedObject
|
||||
void IRenderChar8To32( const plCharacter &c );
|
||||
void IRenderChar8To32Alpha( const plCharacter &c );
|
||||
void IRenderChar8To32FullAlpha( const plCharacter &c );
|
||||
void IRenderChar8To32AlphaPremultiplied( const plCharacter &c );
|
||||
void IRenderChar8To32AlphaPremShadow( const plCharacter &c );
|
||||
void IRenderCharNull( const plCharacter &c );
|
||||
|
||||
UInt32 IGetCharPixel( const plCharacter &c, Int32 x, Int32 y )
|
||||
{
|
||||
// only for 8-bit characters
|
||||
return (x < 0 || y < 0 || (UInt32)x >= fWidth || (UInt32)y >= c.fHeight) ? 0 : *(fBMapData + c.fBitmapOff + y*fWidth + x);
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
plFont();
|
||||
|
@ -1745,6 +1745,18 @@ void plMipmap::Composite( plMipmap *source, UInt16 x, UInt16 y, plMipmap::Compos
|
||||
for( pY = (UInt16)srcHeight; pY > 0; pY-- )
|
||||
{
|
||||
memcpy( dstPtr, srcPtr, srcRowBytesToCopy );
|
||||
if( options->fFlags & kDestPremultiplied )
|
||||
{
|
||||
// multiply color values by alpha
|
||||
for( pX = 0; pX < srcWidth; pX++ )
|
||||
{
|
||||
srcAlpha = ((dstPtr[ pX ] >> 24) & 0x000000ff);
|
||||
dstPtr[ pX ] = ( srcAlpha << 24 )
|
||||
| (((((dstPtr[ pX ] >> 16) & 0xff)*srcAlpha + 127)/255) << 16)
|
||||
| (((((dstPtr[ pX ] >> 8) & 0xff)*srcAlpha + 127)/255) << 8)
|
||||
| (((((dstPtr[ pX ] ) & 0xff)*srcAlpha + 127)/255) );
|
||||
}
|
||||
}
|
||||
dstPtr += dstRowBytes >> 2;
|
||||
srcPtr += srcRowBytes >> 2;
|
||||
}
|
||||
@ -1776,7 +1788,15 @@ void plMipmap::Composite( plMipmap *source, UInt16 x, UInt16 y, plMipmap::Compos
|
||||
{
|
||||
srcAlpha = options->fOpacity * ( ( srcPtr[ pX ] >> 16 ) & 0x0000ff00 ) / 255 / 256;
|
||||
if( srcAlpha != 0 )
|
||||
dstPtr[ pX ] = ( srcPtr[ pX ] & 0x00ffffff ) | ( srcAlpha << 24 );
|
||||
{
|
||||
if( options->fFlags & kDestPremultiplied )
|
||||
dstPtr[ pX ] = ( srcAlpha << 24 )
|
||||
| (((((srcPtr[ pX ] >> 16) & 0xff)*srcAlpha + 127)/255) << 16)
|
||||
| (((((srcPtr[ pX ] >> 8) & 0xff)*srcAlpha + 127)/255) << 8)
|
||||
| (((((srcPtr[ pX ] ) & 0xff)*srcAlpha + 127)/255) );
|
||||
else
|
||||
dstPtr[ pX ] = ( srcPtr[ pX ] & 0x00ffffff ) | ( srcAlpha << 24 );
|
||||
}
|
||||
}
|
||||
dstPtr += dstRowBytes >> 2;
|
||||
srcPtr += srcRowBytes >> 2;
|
||||
|
@ -233,11 +233,14 @@ class plMipmap : public plBitmap
|
||||
|
||||
enum CompositeFlags
|
||||
{
|
||||
kForceOpaque = 0x0001, // Copy src pixels raw, force dest alphas to opaque
|
||||
kCopySrcAlpha = 0x0002, // Copy the src pixels raw, including alphas, overwrite dest
|
||||
kBlendSrcAlpha = 0x0004, // Blend src pixels onto dest using src alpha, dest alpha = src alpha
|
||||
kMaskSrcAlpha = 0x0008, // Same as copySrcAlpha, but dest is untouched when src alpha = 0
|
||||
kBlendWriteAlpha= 0x0010 // Like default (0), but writes dest alpha values
|
||||
kForceOpaque = 0x0001, // Copy src pixels raw, force dest alphas to opaque
|
||||
kCopySrcAlpha = 0x0002, // Copy the src pixels raw, including alphas, overwrite dest
|
||||
kBlendSrcAlpha = 0x0004, // Blend src pixels onto dest using src alpha, dest alpha = src alpha
|
||||
kMaskSrcAlpha = 0x0008, // Same as copySrcAlpha, but dest is untouched when src alpha = 0
|
||||
kBlendWriteAlpha = 0x0010, // Like default (0), but writes dest alpha values
|
||||
|
||||
kDestPremultiplied = 0x0020, // Dest has color premultiplied by alpha
|
||||
// (src always assumed nonpremultiplied for now)
|
||||
};
|
||||
|
||||
class CompositeOptions
|
||||
|
@ -51,15 +51,26 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
|
||||
#include "../pnMessage/plMessage.h"
|
||||
|
||||
class plPipeline;
|
||||
|
||||
class plDeviceRecreateMsg : public plMessage
|
||||
{
|
||||
plPipeline* fPipe;
|
||||
|
||||
public:
|
||||
plDeviceRecreateMsg() : plMessage( nil, nil, nil ) { SetBCastFlag( kBCastByExactType ); }
|
||||
plDeviceRecreateMsg(plPipeline* pipe=nil)
|
||||
: plMessage(nil, nil, nil), fPipe(pipe)
|
||||
{
|
||||
SetBCastFlag(kBCastByExactType);
|
||||
}
|
||||
|
||||
~plDeviceRecreateMsg() {}
|
||||
|
||||
CLASSNAME_REGISTER( plDeviceRecreateMsg );
|
||||
GETINTERFACE_ANY( plDeviceRecreateMsg, plMessage );
|
||||
|
||||
plPipeline* Pipeline() const { return fPipe; }
|
||||
|
||||
// IO
|
||||
void Read(hsStream* stream, hsResMgr* mgr) { plMessage::IMsgRead( stream, mgr ); }
|
||||
void Write(hsStream* stream, hsResMgr* mgr) { plMessage::IMsgWrite( stream, mgr ); }
|
||||
|
@ -5215,6 +5215,15 @@ void NetCliAuthStartConnect (
|
||||
}
|
||||
}
|
||||
|
||||
//============================================================================
|
||||
unsigned NetCliAuthGetCurrentConnPort() {
|
||||
unsigned port;
|
||||
s_critsect.Enter();
|
||||
port = NetAddressGetPort(s_active->addr);
|
||||
s_critsect.Leave();
|
||||
return port;
|
||||
}
|
||||
|
||||
//============================================================================
|
||||
bool NetCliAuthQueryConnected () {
|
||||
|
||||
|
@ -66,6 +66,7 @@ void NetCliAuthStartConnect (
|
||||
);
|
||||
bool NetCliAuthQueryConnected ();
|
||||
void NetCliAuthAutoReconnectEnable (bool enable); // is enabled by default
|
||||
unsigned NetCliAuthGetCurrentConnPort(); // for Game Server socket port
|
||||
|
||||
// Called after the auth/client connection is encrypted
|
||||
typedef void (*FNetCliAuthConnectCallback)();
|
||||
|
@ -743,7 +743,7 @@ void NetCliGameStartConnect (
|
||||
const NetAddressNode & node
|
||||
) {
|
||||
NetAddress addr;
|
||||
NetAddressFromNode(node, kNetDefaultClientPort, &addr);
|
||||
NetAddressFromNode(node, NetCliAuthGetCurrentConnPort(), &addr);
|
||||
Connect(addr);
|
||||
}
|
||||
|
||||
|
@ -42,6 +42,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
#include "plPXPhysical.h"
|
||||
|
||||
#include "NxPhysics.h"
|
||||
#include "NxCooking.h"
|
||||
|
||||
#include "hsResMgr.h"
|
||||
#include "hsStream.h"
|
||||
@ -1060,12 +1061,10 @@ void plPXPhysical::Read(hsStream* stream, hsResMgr* mgr)
|
||||
}
|
||||
else
|
||||
{
|
||||
// Read in the cooked mesh
|
||||
plPXStream pxs(stream);
|
||||
if (recipe.bounds == plSimDefs::kHullBounds)
|
||||
recipe.convexMesh = plSimulationMgr::GetInstance()->GetSDK()->createConvexMesh(pxs);
|
||||
recipe.convexMesh = IReadHull(stream);
|
||||
else
|
||||
recipe.triMesh = plSimulationMgr::GetInstance()->GetSDK()->createTriangleMesh(pxs);
|
||||
recipe.triMesh = IReadTriMesh(stream);
|
||||
}
|
||||
|
||||
Init(recipe);
|
||||
@ -1123,11 +1122,107 @@ void plPXPhysical::Read(hsStream* stream, hsResMgr* mgr)
|
||||
fProxyGen->Init(this);
|
||||
}
|
||||
|
||||
static bool IIsNxStream(hsStream* s)
|
||||
{
|
||||
char tag[4];
|
||||
s->Read(sizeof(tag), tag);
|
||||
|
||||
// PhysX streams begin with the magic string "NXS\x01"
|
||||
// Our hacked streams begin with the magic string "HSP\x01"
|
||||
if (memcmp("HSP\x01", tag, sizeof(tag)) == 0)
|
||||
return false;
|
||||
|
||||
// We're not going to compare to see if it says NXS. We will let the PhysX SDK
|
||||
// worry about garbage data. Just rewind the stream back so PhysX can deal with it.
|
||||
s->SetPosition(s->GetPosition() - sizeof(tag));
|
||||
return true;
|
||||
}
|
||||
|
||||
NxConvexMesh* plPXPhysical::IReadHull(hsStream* s)
|
||||
{
|
||||
if (IIsNxStream(s))
|
||||
{
|
||||
plPXStream pxs(s);
|
||||
return plSimulationMgr::GetInstance()->GetSDK()->createConvexMesh(pxs);
|
||||
}
|
||||
else
|
||||
{
|
||||
std::vector<hsPoint3> verts;
|
||||
verts.resize(s->ReadSwap32());
|
||||
for (size_t i = 0; i < verts.size(); ++i)
|
||||
verts[i].Read(s);
|
||||
|
||||
// Unfortunately, the only way I know of to accomplish this is to cook to a RAM stream,
|
||||
// then have PhysX read the cooked data from the RAM stream. Yes, this is very sad.
|
||||
// I blame PhysX. It needs to die in a fiaaaaaaaaaaah
|
||||
hsRAMStream ram;
|
||||
plPXStream pxs(&ram);
|
||||
|
||||
NxConvexMeshDesc desc;
|
||||
desc.numVertices = verts.size();
|
||||
desc.pointStrideBytes = sizeof(hsPoint3);
|
||||
desc.points = &verts[0];
|
||||
desc.flags = NX_CF_COMPUTE_CONVEX | NX_CF_USE_UNCOMPRESSED_NORMALS;
|
||||
if (!NxCookConvexMesh(desc, pxs))
|
||||
{
|
||||
SimLog("Failed to cook hull for '%s'", GetKeyName());
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ram.Rewind();
|
||||
return plSimulationMgr::GetInstance()->GetSDK()->createConvexMesh(pxs);
|
||||
}
|
||||
}
|
||||
|
||||
NxTriangleMesh* plPXPhysical::IReadTriMesh(hsStream* s)
|
||||
{
|
||||
if (IIsNxStream(s))
|
||||
{
|
||||
plPXStream pxs(s);
|
||||
return plSimulationMgr::GetInstance()->GetSDK()->createTriangleMesh(pxs);
|
||||
}
|
||||
else
|
||||
{
|
||||
std::vector<hsPoint3> verts;
|
||||
verts.resize(s->ReadSwap32());
|
||||
for (size_t i = 0; i < verts.size(); ++i)
|
||||
verts[i].Read(s);
|
||||
std::vector<UInt32> indices;
|
||||
UInt32 numTriangles = s->ReadSwap32();
|
||||
indices.resize(numTriangles * 3);
|
||||
for (size_t i = 0; i < indices.size(); ++i)
|
||||
indices[i] = s->ReadSwap32();
|
||||
|
||||
// Unfortunately, the only way I know of to accomplish this is to cook to a RAM stream,
|
||||
// then have PhysX read the cooked data from the RAM stream. Yes, this is very sad.
|
||||
// I blame PhysX. It needs to die in a fiaaaaaaaaaaah
|
||||
hsRAMStream ram;
|
||||
plPXStream pxs(&ram);
|
||||
|
||||
NxTriangleMeshDesc desc;
|
||||
desc.numVertices = verts.size();
|
||||
desc.pointStrideBytes = sizeof(hsPoint3);
|
||||
desc.points = &verts[0];
|
||||
desc.numTriangles = numTriangles;
|
||||
desc.triangleStrideBytes = sizeof(UInt32) * 3;
|
||||
desc.triangles = &indices[0];
|
||||
desc.flags = 0;
|
||||
if (!NxCookTriangleMesh(desc, pxs))
|
||||
{
|
||||
SimLog("Failed to cook trimesh for '%s'", GetKeyName());
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ram.Rewind();
|
||||
return plSimulationMgr::GetInstance()->GetSDK()->createTriangleMesh(pxs);
|
||||
}
|
||||
}
|
||||
|
||||
void plPXPhysical::Write(hsStream* stream, hsResMgr* mgr)
|
||||
{
|
||||
plPhysical::Write(stream, mgr);
|
||||
|
||||
hsAssert(fActor, "nil actor");
|
||||
hsAssert(fActor, "nil actor");
|
||||
hsAssert(fActor->getNbShapes() == 1, "Can only write actors with one shape. Writing first only.");
|
||||
NxShape* shape = fActor->getShapes()[0];
|
||||
|
||||
|
@ -193,6 +193,9 @@ public:
|
||||
|
||||
virtual hsScalar GetMass() {return fMass;}
|
||||
protected:
|
||||
class NxConvexMesh* IReadHull(hsStream* s);
|
||||
class NxTriangleMesh* IReadTriMesh(hsStream* s);
|
||||
|
||||
void IGetPositionSim(hsPoint3& pos) const;
|
||||
void IGetRotationSim(hsQuat& rot) const;
|
||||
void ISetPositionSim(const hsPoint3& pos);
|
||||
|
@ -42,6 +42,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
#include "plSimulationMgr.h"
|
||||
|
||||
#include "NxPhysics.h"
|
||||
#include "NxCooking.h"
|
||||
|
||||
#include "hsTimer.h"
|
||||
#include "plProfile.h"
|
||||
@ -367,10 +368,21 @@ bool plSimulationMgr::InitSimulation()
|
||||
{
|
||||
fSDK = NxCreatePhysicsSDK(NX_PHYSICS_SDK_VERSION, &gHeapAllocator, &gErrorStream);
|
||||
if (!fSDK)
|
||||
{
|
||||
fLog->AddLine("Phailed to init PhysX SDL");
|
||||
return false; // client will handle this and ask user to install
|
||||
}
|
||||
|
||||
fLog = plStatusLogMgr::GetInstance().CreateStatusLog(40, "Simulation.log", plStatusLog::kFilledBackground | plStatusLog::kAlignToTop);
|
||||
fLog->AddLine("Initialized simulation mgr");
|
||||
fLog->AddLine("Initialized PhysX SDK");
|
||||
|
||||
if (!NxInitCooking(NULL, &gErrorStream))
|
||||
{
|
||||
fLog->AddLine("Phailed to init NxCooking");
|
||||
fSDK->release();
|
||||
fSDK = NULL;
|
||||
return false;
|
||||
}
|
||||
|
||||
#ifndef PLASMA_EXTERNAL_RELEASE
|
||||
// If this is an internal build, enable the PhysX debugger
|
||||
@ -399,7 +411,10 @@ plSimulationMgr::~plSimulationMgr()
|
||||
hsAssert(fScenes.empty(), "Unreleased scenes at shutdown");
|
||||
|
||||
if (fSDK)
|
||||
{
|
||||
NxCloseCooking();
|
||||
fSDK->release();
|
||||
}
|
||||
|
||||
delete fLog;
|
||||
fLog = nil;
|
||||
|
@ -0,0 +1,132 @@
|
||||
/*==LICENSE==*
|
||||
|
||||
CyanWorlds.com Engine - MMOG client, server and tools
|
||||
Copyright (C) 2011 Cyan Worlds, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Additional permissions under GNU GPL version 3 section 7
|
||||
|
||||
If you modify this Program, or any covered work, by linking or
|
||||
combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK,
|
||||
NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent
|
||||
JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK
|
||||
(or a modified version of those libraries),
|
||||
containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA,
|
||||
PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG
|
||||
JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the
|
||||
licensors of this Program grant you additional
|
||||
permission to convey the resulting work. Corresponding Source for a
|
||||
non-source form of such a combination shall include the source code for
|
||||
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered
|
||||
work.
|
||||
|
||||
You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
or by snail mail at:
|
||||
Cyan Worlds, Inc.
|
||||
14617 N Newport Hwy
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
|
||||
#ifndef plBinkPlayer_inc
|
||||
#define plBinkPlayer_inc
|
||||
|
||||
#include "HeadSpin.h"
|
||||
#include "hsPoint2.h"
|
||||
#include "hsTemplates.h"
|
||||
|
||||
struct D3DVertex;
|
||||
class plDXPipeline;
|
||||
struct IDirect3DTexture9;
|
||||
class plMessage;
|
||||
struct IDirectSound8;
|
||||
|
||||
class plBinkPlayer
|
||||
{
|
||||
public:
|
||||
|
||||
plBinkPlayer() : fFileName(nil) { }
|
||||
~plBinkPlayer() { delete [] fFileName; }
|
||||
|
||||
static bool Init( hsWindowHndl hWnd) { return true; }
|
||||
static bool DeInit() { return true; }
|
||||
|
||||
static void SetForeGroundTrack(UInt32 t) { }
|
||||
static void SetBackGroundTrack(UInt32 t) { }
|
||||
static UInt32 GetForeGroundTrack() { }
|
||||
static UInt32 GetBackGroundTrack() { }
|
||||
|
||||
void SetDefaults() { }
|
||||
|
||||
bool Start(plPipeline* pipe, hsWindowHndl hWnd) { return false; }
|
||||
|
||||
bool NextFrame() {
|
||||
// we have reached the end
|
||||
return Stop();
|
||||
}
|
||||
|
||||
bool Pause(bool on) { return false; }
|
||||
|
||||
bool Stop() {
|
||||
for (int i = 0; i < fCallbacks.GetCount(); i++)
|
||||
fCallbacks[i]->Send();
|
||||
fCallbacks.Reset();
|
||||
delete [] fFileName;
|
||||
fFileName = nil;
|
||||
return false;
|
||||
}
|
||||
|
||||
void SetFileName(const char* filename) {
|
||||
delete [] fFileName;
|
||||
fFileName = hsStrcpy(filename);
|
||||
}
|
||||
void SetColor(const hsColorRGBA& c) { }
|
||||
void SetPosition(float x, float y) { }
|
||||
void SetScale(float x, float y) { }
|
||||
void SetVolume(float v) { }
|
||||
void SetForeVolume(float v) { }
|
||||
void SetBackVolume(float v) { }
|
||||
|
||||
void SetPosition(const hsPoint2& p) { }
|
||||
void SetScale(const hsPoint2& s) { }
|
||||
|
||||
const char* GetFileName() const { return fFileName; }
|
||||
const hsColorRGBA GetColor() const { return hsColorRGBA(); }
|
||||
const hsPoint2 GetPosition() const { return hsPoint2(); }
|
||||
const hsPoint2 GetScale() const { return hsPoint2(); }
|
||||
float GetBackVolume() const { return 0.0f; }
|
||||
float GetForeVolume() const { return 0.0f; }
|
||||
|
||||
void AddCallback(plMessage* msg) { hsRefCnt_SafeRef(msg); fCallbacks.Append(msg); }
|
||||
UInt32 GetNumCallbacks() const { return 0; }
|
||||
plMessage* GetCallback(int i) const { return nil; }
|
||||
|
||||
void SetFadeFromTime(float secs) { }
|
||||
void SetFadeFromColor(hsColorRGBA c) { }
|
||||
|
||||
void SetFadeToTime(float secs) { }
|
||||
void SetFadeToColor(hsColorRGBA c) { }
|
||||
|
||||
float GetFadeFromTime() const { return 0.0f; }
|
||||
hsColorRGBA GetFadeFromColor() const { return hsColorRGBA(); }
|
||||
float GetFadeToTime() const { return 0.0f; }
|
||||
hsColorRGBA GetFadeToColor() const { return hsColorRGBA(); }
|
||||
|
||||
private:
|
||||
char* fFileName;
|
||||
hsTArray<plMessage*> fCallbacks;
|
||||
};
|
||||
|
||||
#endif // plBinkPlayer_inc
|
@ -2278,7 +2278,7 @@ hsBool plDXPipeline::IResetDevice()
|
||||
|
||||
/// Broadcast a message letting everyone know that we were recreated and that
|
||||
/// all device-specific stuff needs to be recreated
|
||||
plDeviceRecreateMsg* clean = TRACKED_NEW plDeviceRecreateMsg();
|
||||
plDeviceRecreateMsg* clean = TRACKED_NEW plDeviceRecreateMsg(this);
|
||||
plgDispatch::MsgSend(clean);
|
||||
}
|
||||
fDevWasLost = true;
|
||||
@ -2552,7 +2552,7 @@ void plDXPipeline::Resize( UInt32 width, UInt32 height )
|
||||
|
||||
/// Broadcast a message letting everyone know that we were recreated and that
|
||||
/// all device-specific stuff needs to be recreated
|
||||
plDeviceRecreateMsg* clean = TRACKED_NEW plDeviceRecreateMsg();
|
||||
plDeviceRecreateMsg* clean = TRACKED_NEW plDeviceRecreateMsg(this);
|
||||
plgDispatch::MsgSend(clean);
|
||||
}
|
||||
|
||||
@ -3834,7 +3834,7 @@ hsBool plDXPipeline::BeginRender()
|
||||
{
|
||||
/// Broadcast a message letting everyone know that we were recreated and that
|
||||
/// all device-specific stuff needs to be recreated
|
||||
// plDeviceRecreateMsg* clean = TRACKED_NEW plDeviceRecreateMsg();
|
||||
// plDeviceRecreateMsg* clean = TRACKED_NEW plDeviceRecreateMsg(this);
|
||||
// plgDispatch::MsgSend(clean);
|
||||
|
||||
fDevWasLost = false;
|
||||
@ -7229,12 +7229,26 @@ void plDXPipeline::IHandleFirstStageBlend()
|
||||
fD3DDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, TRUE );
|
||||
if( fLayerState[0].fBlendFlags & hsGMatState::kBlendInvertFinalAlpha )
|
||||
{
|
||||
fD3DDevice->SetRenderState( D3DRS_SRCBLEND, D3DBLEND_INVSRCALPHA );
|
||||
if( fLayerState[0].fBlendFlags & hsGMatState::kBlendAlphaPremultiplied )
|
||||
{
|
||||
fD3DDevice->SetRenderState( D3DRS_SRCBLEND, D3DBLEND_ONE );
|
||||
}
|
||||
else
|
||||
{
|
||||
fD3DDevice->SetRenderState( D3DRS_SRCBLEND, D3DBLEND_INVSRCALPHA );
|
||||
}
|
||||
fD3DDevice->SetRenderState( D3DRS_DESTBLEND, D3DBLEND_SRCALPHA );
|
||||
}
|
||||
else
|
||||
{
|
||||
fD3DDevice->SetRenderState( D3DRS_SRCBLEND, D3DBLEND_SRCALPHA );
|
||||
if( fLayerState[0].fBlendFlags & hsGMatState::kBlendAlphaPremultiplied )
|
||||
{
|
||||
fD3DDevice->SetRenderState( D3DRS_SRCBLEND, D3DBLEND_ONE );
|
||||
}
|
||||
else
|
||||
{
|
||||
fD3DDevice->SetRenderState( D3DRS_SRCBLEND, D3DBLEND_SRCALPHA );
|
||||
}
|
||||
fD3DDevice->SetRenderState( D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA );
|
||||
}
|
||||
break;
|
||||
|
@ -2476,21 +2476,7 @@ bool VaultAddOwnedAgeSpawnPoint (const Uuid & ageInstId, const plSpawnPointInfo
|
||||
bool VaultSetOwnedAgePublicAndWait (const plAgeInfoStruct * info, bool publicOrNot) {
|
||||
if (RelVaultNode * rvnLink = VaultGetOwnedAgeLinkIncRef(info)) {
|
||||
if (RelVaultNode * rvnInfo = rvnLink->GetChildNodeIncRef(plVault::kNodeType_AgeInfo, 1)) {
|
||||
NetCliAuthSetAgePublic(rvnInfo->nodeId, publicOrNot);
|
||||
|
||||
VaultAgeInfoNode access(rvnInfo);
|
||||
char ageName[MAX_PATH];
|
||||
StrToAnsi(ageName, access.ageFilename, arrsize(ageName));
|
||||
|
||||
plVaultNotifyMsg * msg = NEWZERO(plVaultNotifyMsg);
|
||||
if (publicOrNot)
|
||||
msg->SetType(plVaultNotifyMsg::kPublicAgeCreated);
|
||||
else
|
||||
msg->SetType(plVaultNotifyMsg::kPublicAgeRemoved);
|
||||
msg->SetResultCode(true);
|
||||
msg->GetArgs()->AddString(plNetCommon::VaultTaskArgs::kAgeFilename, ageName);
|
||||
msg->Send();
|
||||
|
||||
VaultSetAgePublicAndWait(rvnInfo, publicOrNot);
|
||||
rvnInfo->DecRef();
|
||||
}
|
||||
rvnLink->DecRef();
|
||||
@ -2498,6 +2484,25 @@ bool VaultSetOwnedAgePublicAndWait (const plAgeInfoStruct * info, bool publicOrN
|
||||
return true;
|
||||
}
|
||||
|
||||
//============================================================================
|
||||
bool VaultSetAgePublicAndWait (NetVaultNode * ageInfoNode, bool publicOrNot) {
|
||||
NetCliAuthSetAgePublic(ageInfoNode->nodeId, publicOrNot);
|
||||
|
||||
VaultAgeInfoNode access(ageInfoNode);
|
||||
char ageName[MAX_PATH];
|
||||
StrToAnsi(ageName, access.ageFilename, arrsize(ageName));
|
||||
|
||||
plVaultNotifyMsg * msg = NEWZERO(plVaultNotifyMsg);
|
||||
if (publicOrNot)
|
||||
msg->SetType(plVaultNotifyMsg::kPublicAgeCreated);
|
||||
else
|
||||
msg->SetType(plVaultNotifyMsg::kPublicAgeRemoved);
|
||||
msg->SetResultCode(true);
|
||||
msg->GetArgs()->AddString(plNetCommon::VaultTaskArgs::kAgeFilename, ageName);
|
||||
msg->Send();
|
||||
return true;
|
||||
}
|
||||
|
||||
//============================================================================
|
||||
RelVaultNode * VaultGetVisitAgeLinkIncRef (const plAgeInfoStruct * info) {
|
||||
RelVaultNode * rvnLink = nil;
|
||||
|
@ -345,6 +345,7 @@ RelVaultNode * VaultGetOwnedAgeInfoIncRef (const plAgeInfoStruct * info);
|
||||
bool VaultGetOwnedAgeLink (const plAgeInfoStruct * info, plAgeLinkStruct * link);
|
||||
bool VaultAddOwnedAgeSpawnPoint (const Uuid & ageInstId, const plSpawnPointInfo & spawnPt);
|
||||
bool VaultSetOwnedAgePublicAndWait (const plAgeInfoStruct * info, bool publicOrNot);
|
||||
bool VaultSetAgePublicAndWait (NetVaultNode * ageInfoNode, bool publicOrNot);
|
||||
RelVaultNode * VaultGetVisitAgeLinkIncRef (const plAgeInfoStruct * info);
|
||||
bool VaultGetVisitAgeLink (const plAgeInfoStruct * info, class plAgeLinkStruct * link);
|
||||
bool VaultRegisterOwnedAgeAndWait (const plAgeLinkStruct * link);
|
||||
|
9
build-allclient-solution.bat
Normal file
9
build-allclient-solution.bat
Normal file
@ -0,0 +1,9 @@
|
||||
@echo off
|
||||
REM **********************************************************************
|
||||
REM * *
|
||||
REM * The CL options below define which client type you wish to *
|
||||
REM * build. It is currently set for an external release live client. *
|
||||
REM * *
|
||||
REM **********************************************************************
|
||||
SET CL=/DPLASMA_EXTERNAL_RELEASE /DBUILD_TYPE=BUILD_TYPE_LIVE
|
||||
devenv.com .\MOULOpenSourceClientPlugin\Plasma20\MsDevProjects\Plasma\Apps\AllClient\AllClient-ou.sln /build Release
|
12
clean-allclient-solution.bat
Normal file
12
clean-allclient-solution.bat
Normal file
@ -0,0 +1,12 @@
|
||||
@echo off
|
||||
REM **********************************************************************
|
||||
REM * *
|
||||
REM * The CL options below define which client type you wish to *
|
||||
REM * build. It is currently set for an external release live client. *
|
||||
REM * *
|
||||
REM * This batch file will clean your source tree - you should do this *
|
||||
REM * if you change crypto keys. *
|
||||
REM * *
|
||||
REM **********************************************************************
|
||||
SET CL=/DPLASMA_EXTERNAL_RELEASE /DBUILD_TYPE=BUILD_TYPE_LIVE
|
||||
devenv.com .\MOULOpenSourceClientPlugin\Plasma20\MsDevProjects\Plasma\Apps\AllClient\AllClient-ou.sln /clean Release
|
Reference in New Issue
Block a user