2
3
mirror of https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git synced 2025-07-14 14:37:41 +00:00

Compare commits

..

56 Commits

Author SHA1 Message Date
b74e9f47bb Don't crash when the HTTP request for getting the server status message fails.
Same thing as 82d9c3a57879, more or less.
2017-02-17 22:54:30 +01:00
5f5dd2745f Restore include paths and libraries for WinHttp and Ogg/Vorbis, eliminated by the conflict resolution in 8a7d72003333
Should work for Cyan too because plClient uses the same libraries.

I wonder what the purpose of the Release_Patcher configuration is and whether we should be using that one, which already has all this stuff (with slight differences).
2014-01-02 12:36:17 +01:00
6ebf8ae3a3 Restore the OU changes to AllClient-ou.sln that were lost in AllClient.sln 8a7d72003333/e7bb0959f189
- Remove plCyDebug and NetDiag which we don't have (from ef365800375c)
- Remove pfCCR which we no longer have (since 791583dea277)
- Add plUruLauncher and plClientPatcher (from ef365800375c)
- Add plFileEncrypt, plFileSecure, plPythonPack (from f3497c6d7f6d)

I also took the liberty of restoring the post-build copy step for plFileEncrypt and plFileSecure. If Cyan doesn't want that, we can probably put it in a separate project that is only part of AllClient-ou.sln but not AllClient.sln.
2014-01-02 11:24:15 +01:00
9ea22b7f65 Copy AllClient.sln to AllClient-ou.sln
(separate commit since when copying and modifying in the same commit, hg doesn't seem to show differences)
2014-01-02 10:48:37 +01:00
015acf9c7f Link DX libraries using library search paths rather than by their full paths, as for some reason Cyan appears to have them in DX9.0c/Lib while we have them in DX9.0c/Lib/x86. See also e7bb0959f189. 2014-01-01 23:55:31 +01:00
5a10e2095a Link eax.lib and eaxguid.lib using #pragma comment(lib) rather than naming them in the linker options (brought back by e7bb0959f189). This is evil, but in the absence of more appropriate features (vsprops) in VS 2003 allows us to avoid separate projects or configurations for the cases with/without EAX and all the duplication that would bring with it.
Needs testing by someone who has EAX.
2014-01-01 23:36:09 +01:00
8096f8b77d Restore parts of pfCCR that are still needed by other projects, undoing part of 791583dea277:
- plCCRMgr.h which is still needed by plAvatarMgr.cpp (plCCRError only - if there is more in this file at Cyan, that definition should be split out into a separate header)
- Stubs for pyCCRMgr{|Glue|Glue2}.cpp which are still part of the pfPython project as well as pfCCRConsoleCommands.cpp which is still part of the pfConsole project. This is under the assumption that these files still exist with nontrivial contents at Cyan - if not, they could just be removed from the projects. Requires adjustment by Cyan to build with PLASMA_CCR_RELEASE.
- Put more missing includes and calls under #ifdef PLASMA_CCR_RELEASE
2014-01-01 21:14:13 +01:00
68f59ef839 Restore OpenAL include paths that were eliminated by the conflict resolution in 8a7d72003333.
Should have no influence when building with EAX_SDK_AVAILABLE.
2014-01-01 18:17:23 +01:00
b0b8ed6306 Remove preprocessor definition EAX_SDK_AVAILABLE, undoing most of 52c6f0317f79
Those who have the EAX SDK should indicate this on the command line by adding /DEAX_SDK_AVAILABLE to environment variable CL.

Trying to keep common project files and configurations between OU and Cyan for now, we'll see how that goes.
2014-01-01 12:25:56 +01:00
189c9b0221 Merge MOULa build 918 from Cyan
Too many changes to describe in detail, see commits on parent branch build918chunks.
Some of them break buildability outside of Cyan, to be fixed in subsequent commits.

Merge conflicts in some .sln and .vcproj files all resolved by taking the Cyan version.
2014-01-02 23:43:54 +01:00
9743c73a44 Remove Bink stubs in anticipation of cyantific debinkification 2014-01-02 23:34:39 +01:00
f50eaba306 Remove some apparently needless differences to Cyan's projects (from ef365800375c) 2014-01-02 23:31:38 +01:00
e0b363f3a2 Merge Cyan's monolithic Build 918 commit and its broken down version.
No differences to either parent to indicate that the two are identical.
2013-12-31 16:57:05 +01:00
7bc602870d Build 918 chunk 17: Define EAX_SDK_AVAILABLE
MarkD: My thought was for the long term was to put most of the differences in the project and solution configurations, so there would be less differences in the sources. EAX is a good example - I put the #define for EAX_SDK_AVAILABLE in the projects that used it with the thinking that the fans would create new projects that would not have EAX_SDK_AVAILABLE and would create and use a different configuration in the AllClient solution. Cyan would use the "Release" config and the fans use something like "Release-ou" to build with. But maybe there are just too many differences.
2013-12-31 16:21:33 +01:00
e37277050d Build 918 chunk 16: Remove Bink references from projects, enclose uses of video functionality in #ifdef USE_BINK_SDK
MarkD: We felt that the fan de-BINKing did not go far enough.
CW: I suspect (haven't tested yet) that it's the cause of the bug that we see on MOULa but did not on Minkata where the rotating wall behind the missing Yeesha intro video stays indefinitely, with no obvious way out for the player, until it occurs to them to use the ESC key
MarkD: Ah. I think you are right. An oversight that can be easily corrected - maybe in the python code so that Ian can see the rotating wall for a few seconds and then auto continue on.
2013-12-31 16:10:39 +01:00
a270bbbe5c Build 918 chunk 15: Miscellaneous odds and ends 2013-12-31 15:55:52 +01:00
660f19a72a Build 918 chunk 14: Change dx9.0csdk and dx8.1sdk paths to DX9.0c 2013-12-31 15:48:49 +01:00
f2dd437321 Build 918 chunk 13: Define NX_PHYSICS_SDK_VERSION 2013-12-31 15:42:46 +01:00
47b02dfc68 Build 918 chunk 12: Change CLASS_C_SUBNET_MASK
MarkD: Used in the server code.
2013-12-31 15:41:01 +01:00
0525163e56 Build 918 chunk 11: Unconditionally enable LogMsgDebug()
MarkD: This is used in the server code.
2013-12-31 15:35:35 +01:00
2cabf18bfa Build 918 chunk 10: Remove pfCCR 2013-12-31 15:32:02 +01:00
31fd3e28c7 Build 918 chunk 9: Remove empty folders plGClip, Cypython, PythonLib 2013-12-31 15:27:27 +01:00
071410a4d8 Build 918 chunk 8: Add OpenSSL include folder, replace libcrypto.a by libeay32.lib
CW: This probably has to do with changing from dynamic to static linking of OpenSSL.
2013-12-31 15:22:48 +01:00
a72cbd9248 Build 918 chunk 7: Add project plPluginJPEG and use it in AllDlls.sln
Copy of plJPEG with added preprocessor definition IJL_SDK_AVAILABLE.

CW: I'm guessing that's the workaround for the missing JPEG textures issue we found during the 918 update verification.
MarkD: Exactly.
2013-12-31 14:47:01 +01:00
bb96412ffc Build 918 chunk 6: Use libjpeg instead of IJL 2013-12-31 14:32:37 +01:00
c30992af4d Build 918 chunk 5: Adjustments to updated zlib+libpng 2013-12-31 12:49:08 +01:00
ff38a5f9d2 Build 918 chunk 4: Build number, release notes 2013-07-27 18:18:01 +02:00
1ba92e5a66 Build 918 chunk 3: Add plClientResMgr where forgotten in CWE-ou 2013-07-27 18:16:57 +02:00
ece6e6c063 Build 918 chunk 2: update from CWE-ou 2013-07-27 16:57:46 +02:00
c8611a072b Build 918 chunk 1: Revert MsDevProjects to (almost) the state of build 906 (0a67197a0c11)
Except for the addition of the plClipboard project, the partial CWE-ou state that was mistakenly taken into CWE in "Build 912" (a757a1fda0a3) was never actually used to build MOULa products.
2013-07-24 22:22:58 +02:00
46a0cf6206 Build 918 2013-07-05 15:28:19 -07:00
3b89e66d2d Tag begin and end of the submission to Cyan 2013-04-25 12:58:11 +02:00
f44eea59b9 Merged in cwalther/cwe/window-cursor (pull request #25)
Free the cursor, update

Updates to pull request #21 by Hoikas that fix the issue that quick mouse moves while walking/looking by mouse could get the cursor out of the window and break the continuous turning.

From H-uru PR #221 "Window fixes".
2013-04-12 20:41:04 +02:00
499432b4f0 Merged in Lyrositor/cwe-ou/exploit-fix (pull request #24)
Fix remote code execution through Python.Cheat and Python.RunFile

An exploit fixed by boq. Original pull request: https://github.com/H-uru/Plasma/pull/218
This somewhat modifies the syntax used for running Python.Cheat; it's still easier to use it directly in Python, though.
2013-04-12 20:39:04 +02:00
bb044d2932 Merged in Skoader/cwe-ou/avatar-spawn (pull request #22)
Fix intermittent spawn bug

This fixes missing quabs in Ahnonay.
2013-04-12 20:16:30 +02:00
96ae8a88ed Merged in Skoader/cwe-ou/avatar-physics (pull request #20)
Avatar physics update

A significant and much needed cleanup of the avatar physics code. It resolves numerous issue with and greatly simplifies the physx character controller implementation.

While there is still room for improvement, this is a good starting point.

Avatars now jump consistently, regardless of cpu speed. Fixes unexpected camera transitions with entering/exiting some subworlds. (Teledahn elevator) Fixes a jitter in animated subworlds. (Er'cana harvester) Dynamic controllers are correctly positioned on the ground. (Jalak) Much improved interaction with dynamic physicals.

Other physics related issues may or may not be addressed.
2013-04-12 20:15:35 +02:00
2d38c34b3c Merged in cwalther/cwe/bink-stub (pull request #27)
Port of H-uru #236 and #237. This adds stubs for the removed Bink files, to make things compile and run again, with just enough functionality to replicate the previous behavior when built without BINK_SDK_AVAILABLE, i.e. movies are treated as zero-length.
2013-01-20 22:26:06 +11:00
7a47e52ac6 Rework PhysX collision flutter bug workaround
To better handle erroneous trigger events under the new timing method, use the number
of times the simulation has actually advanced instead of the number of evals received.

Cleaned up a bit.
2012-11-12 03:28:53 +11:00
2c06d3b2d3 Only apply height correction to human avatars. 2012-11-12 01:40:30 +11:00
79377e2b95 Clear achieved linear velocity on disabled avatars. 2012-11-11 23:48:51 +11:00
3d14321f26 Clear impact velocity on WalkingStrategy Reset.
Fixes landing behaviours incorrectly firing after a brain transition.
2012-11-11 22:59:04 +11:00
d638355955 Track mouse ups/downs for releasing purposes 2012-11-03 01:22:56 -04:00
03ecfe00b4 Increase height correction to match graphical representation
Provides more accurate interaction with detectors when the avatar is moving up or down.
Also decreases the severity of the PhysX trigger hull bug in some detectors.
This change doesn't affect world collisions.
2012-10-26 18:13:22 +11:00
860b071bb2 Clear linear velocity after each update. 2012-10-26 18:03:40 +11:00
d02cde1703 Disabled avatar updates
Only update disabled avatars between steps if in a subworld and then don't interpolate their position.
2012-10-26 17:36:04 +11:00
32ba4e06e2 Fix controlled flight bug
fControlledFlight state should be handled outside of the physics step.
2012-10-26 10:48:30 +11:00
a617803fd0 Capture the mouse on clicks
This hack prevents the cursor from leaving the window when panning the
camera or changing directions quickly. This is important for those with
high mouse sensitivities.
2012-10-23 23:21:50 -04:00
ae8d1d39bb Fix intermittent spawn bug
Flush the transform when avatars are explicitly spawned on load. e.g. Ahnonay quabs.
2012-10-23 14:22:22 +11:00
b5296d614f Fix warping an avatar triggers all detectors along the path
When explicitly moving an avatar over the given threshold, teleport the underlying
actor most of the way before moving the controller.
2012-10-23 13:45:21 +11:00
87b8dfae09 Fix subworld transition bug
Use the actual global location, not the interpolated location when moving
between subworlds. Rebuild the controller cache.
2012-10-22 12:57:16 +11:00
025fb1fb02 Improve simulation timing at low frame rates.
Increased kDefaultMaxDelta to 0.15.
Added a small bias to combat a truncation issue.
2012-10-13 21:21:33 +11:00
264bc3355a Fix horizontal mouse-look while standing still. 2012-09-28 22:44:23 +02:00
23f4d22b9b Make Python.Cheat little bit safer 2012-07-24 23:40:43 +02:00
c3589e3fc4 Remove Python.RunFile 2012-07-24 21:17:51 +02:00
e92dc59db2 Updated plPXPhysicalControllerCore to match 69377bc74f2e
While based heavily on the old implementation, this is essentially a rewrite.

Notable changes -
Controllers are now updated at the same fixed frequency as the simulation.
Resulting output is interpolated between steps to precisely match the frame delta.
Physics work is only done when enough time has passed to perform a step.

The kinematic actor that followed around the controller has been removed.
The underlying kinematic actor created by the NxController is now used for triggering.
A new sim group was added for a kinematically controlled avatar.

2 unused files removed -
plPXPhysicalController.h & plPXPhysicalController.cpp
2012-06-16 21:48:32 +10:00
383346c1aa Refactor avatar movement code
plMovementStrategy classes have been reworked and completely replace all plAvatarControllers.
While based on the old implementation, plPhysicalControllerCore has essentially been rewritten.
Remnants of long gone physical "actions" have been removed.

4 files removed -
plAVCallbackAction.h & plAVCallbackAction.cpp
plAntiGravAction.h & plAntiGravAction.cpp

This revision will not compile, requires new plPXPhysicalControllerCore implementation.
2012-06-16 13:35:59 +10:00
124 changed files with 3867 additions and 6778 deletions

View File

@ -1,31 +1,18 @@
Welcome to MYST Online:UruLive!
.
.
Thanks to all the fan contributors!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Release notes for build 918
- Fixed Console documentation
- Allow clickables while sitting or AFK
- Fixed various JPEG issues
- Free the cursor
- Fixed improper calculated initial window size
- Improved cursors
- Removed broken share from Sharper's Office link
- Fixed GreatZero stain glass to be random
- Avatar physics updated
- Fix pellet points stealing
- Bink removed
- Fixed remote code exec with Python.Cheat and RunFile

View File

@ -328,7 +328,6 @@
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release_Internal|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAntiGravAction.cpp" />
<ClCompile Include="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plArmatureEffects.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug_Internal|Win32'">Disabled</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
@ -555,7 +554,6 @@
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release_Internal|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAvCallbackAction.cpp" />
<ClCompile Include="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAvLadderModifier.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug_Internal|Win32'">Disabled</Optimization>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
@ -807,7 +805,6 @@
<ClInclude Include="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAGMasterSDLModifier.h" />
<ClInclude Include="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAGModifier.h" />
<ClInclude Include="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAnimStage.h" />
<ClInclude Include="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAntiGravAction.h" />
<ClInclude Include="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plArmatureEffects.h" />
<ClInclude Include="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plArmatureMod.h" />
<ClInclude Include="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAvatarClothing.h" />
@ -825,7 +822,6 @@
<ClInclude Include="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAvBrainHuman.h" />
<ClInclude Include="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAvBrainRideAnimatedPhysical.h" />
<ClInclude Include="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAvBrainSwim.h" />
<ClInclude Include="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAvCallbackAction.h" />
<ClInclude Include="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAvDefs.h" />
<ClInclude Include="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAvLadderModifier.h" />
<ClInclude Include="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAvTask.h" />

View File

@ -35,9 +35,6 @@
<ClCompile Include="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAnimStage.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAntiGravAction.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plArmatureEffects.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@ -86,9 +83,6 @@
<ClCompile Include="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAvBrainSwim.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAvCallbackAction.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAvLadderModifier.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@ -163,9 +157,6 @@
<ClInclude Include="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAnimStage.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAntiGravAction.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plArmatureEffects.h">
<Filter>Header Files</Filter>
</ClInclude>
@ -217,9 +208,6 @@
<ClInclude Include="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAvBrainSwim.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAvCallbackAction.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAvDefs.h">
<Filter>Header Files</Filter>
</ClInclude>

View File

@ -47,6 +47,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MaxMain", "..\Tools\MaxMain
{3BF79823-CD88-4F09-8BCB-A13D39481322} = {3BF79823-CD88-4F09-8BCB-A13D39481322}
{4E991726-D69F-4786-A873-DF37FB4DABF9} = {4E991726-D69F-4786-A873-DF37FB4DABF9}
{30A84728-A436-40B9-A009-B117407145C2} = {30A84728-A436-40B9-A009-B117407145C2}
{FEB4D52D-8D4E-4520-A490-ADE06159B650} = {FEB4D52D-8D4E-4520-A490-ADE06159B650}
{58BE352F-CDB2-4A08-AC62-981800D018B0} = {58BE352F-CDB2-4A08-AC62-981800D018B0}
{907DBE31-5B7D-483D-AAF7-CABC24434EA7} = {907DBE31-5B7D-483D-AAF7-CABC24434EA7}
{5CB24835-47C1-4AE7-900E-70CBD1CC1DEA} = {5CB24835-47C1-4AE7-900E-70CBD1CC1DEA}
@ -64,6 +65,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MaxMain", "..\Tools\MaxMain
{65C4DE61-E599-4F0F-9B75-66C0DA887BB6} = {65C4DE61-E599-4F0F-9B75-66C0DA887BB6}
{C664C563-FA33-4E48-BE77-7CCCD922B040} = {C664C563-FA33-4E48-BE77-7CCCD922B040}
{D6D56A64-A79B-4F48-BB9D-8C216D66632F} = {D6D56A64-A79B-4F48-BB9D-8C216D66632F}
{CA2D4E65-EA68-465F-843A-4AF75243B474} = {CA2D4E65-EA68-465F-843A-4AF75243B474}
{A927606C-7646-43C0-A3BB-B21836CC7D02} = {A927606C-7646-43C0-A3BB-B21836CC7D02}
{8E44FB70-5EA0-4D33-B829-E4D16D7C11E3} = {8E44FB70-5EA0-4D33-B829-E4D16D7C11E3}
{CA208971-6C77-47F6-AA4B-FB6ECC071132} = {CA208971-6C77-47F6-AA4B-FB6ECC071132}
@ -90,7 +92,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MaxMain", "..\Tools\MaxMain
{87B244B0-EAC3-4109-A395-898D1CFF0EBE} = {87B244B0-EAC3-4109-A395-898D1CFF0EBE}
{E8FE47B0-DF75-4D9F-9096-0BC204239B52} = {E8FE47B0-DF75-4D9F-9096-0BC204239B52}
{7A5E02B6-896A-49C2-8016-139CE23B3654} = {7A5E02B6-896A-49C2-8016-139CE23B3654}
{69E240B8-0ED6-4397-9DA6-133CC14F9E25} = {69E240B8-0ED6-4397-9DA6-133CC14F9E25}
{F57EFCBB-9B7F-46D2-946B-D5DCA4D6C921} = {F57EFCBB-9B7F-46D2-946B-D5DCA4D6C921}
{20917EBD-2A7E-49F5-A638-F5864265FF8C} = {20917EBD-2A7E-49F5-A638-F5864265FF8C}
{CFAA9EBF-A502-41F6-9784-0FC9CE7BFBA2} = {CFAA9EBF-A502-41F6-9784-0FC9CE7BFBA2}
@ -263,10 +264,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "plIntersect", "..\Plasma\Pu
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "plJPEG", "..\Plasma\PubUtilLib\plJPEG\plJPEG.vcproj", "{69E240B8-0ED6-4397-9DA6-133CC14F9E25}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "plMath", "..\Plasma\PubUtilLib\plMath\plMath.vcproj", "{FCFFAE8F-D233-44D2-AAAD-4100FA274A32}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
@ -487,6 +484,18 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "plCyDebug", "..\Plasma\Apps
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "plClientResMgr", "..\Plasma\PubUtilLib\plClientResMgr\plClientResMgr.vcproj", "{17A0AA3A-8445-4C66-FE58-0A5C222CC474}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "plClipboard", "..\Plasma\PubUtilLib\plClipboard\plClipboard.vcproj", "{CA2D4E65-EA68-465F-843A-4AF75243B474}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "plPluginJPEG", "..\Plasma\PubUtilLib\plPluginJPEG\plPluginJPEG.vcproj", "{FEB4D52D-8D4E-4520-A490-ADE06159B650}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfiguration) = preSolution
Debug = Debug
@ -876,16 +885,6 @@ Global
{0AE17996-56DF-4E88-8681-B115786D0DC9}.Release.Build.0 = Release|Win32
{0AE17996-56DF-4E88-8681-B115786D0DC9}.Release_Server.ActiveCfg = Release|Win32
{0AE17996-56DF-4E88-8681-B115786D0DC9}.Release_Server.Build.0 = Release|Win32
{69E240B8-0ED6-4397-9DA6-133CC14F9E25}.Debug.ActiveCfg = Debug|Win32
{69E240B8-0ED6-4397-9DA6-133CC14F9E25}.Debug.Build.0 = Debug|Win32
{69E240B8-0ED6-4397-9DA6-133CC14F9E25}.Debug_Server.ActiveCfg = Debug|Win32
{69E240B8-0ED6-4397-9DA6-133CC14F9E25}.Debug_Server.Build.0 = Debug|Win32
{69E240B8-0ED6-4397-9DA6-133CC14F9E25}.Ethereal Build.ActiveCfg = Release|Win32
{69E240B8-0ED6-4397-9DA6-133CC14F9E25}.Ethereal Build.Build.0 = Release|Win32
{69E240B8-0ED6-4397-9DA6-133CC14F9E25}.Release.ActiveCfg = Release|Win32
{69E240B8-0ED6-4397-9DA6-133CC14F9E25}.Release.Build.0 = Release|Win32
{69E240B8-0ED6-4397-9DA6-133CC14F9E25}.Release_Server.ActiveCfg = Release|Win32
{69E240B8-0ED6-4397-9DA6-133CC14F9E25}.Release_Server.Build.0 = Release|Win32
{FCFFAE8F-D233-44D2-AAAD-4100FA274A32}.Debug.ActiveCfg = Debug|Win32
{FCFFAE8F-D233-44D2-AAAD-4100FA274A32}.Debug.Build.0 = Debug|Win32
{FCFFAE8F-D233-44D2-AAAD-4100FA274A32}.Debug_Server.ActiveCfg = Debug|Win32
@ -1436,6 +1435,36 @@ Global
{DE62CF05-8E3E-40A4-967D-330216C2D2ED}.Release.Build.0 = Release|Win32
{DE62CF05-8E3E-40A4-967D-330216C2D2ED}.Release_Server.ActiveCfg = Release|Win32
{DE62CF05-8E3E-40A4-967D-330216C2D2ED}.Release_Server.Build.0 = Release|Win32
{17A0AA3A-8445-4C66-FE58-0A5C222CC474}.Debug.ActiveCfg = Debug|Win32
{17A0AA3A-8445-4C66-FE58-0A5C222CC474}.Debug.Build.0 = Debug|Win32
{17A0AA3A-8445-4C66-FE58-0A5C222CC474}.Debug_Server.ActiveCfg = Debug|Win32
{17A0AA3A-8445-4C66-FE58-0A5C222CC474}.Debug_Server.Build.0 = Debug|Win32
{17A0AA3A-8445-4C66-FE58-0A5C222CC474}.Ethereal Build.ActiveCfg = Debug|Win32
{17A0AA3A-8445-4C66-FE58-0A5C222CC474}.Ethereal Build.Build.0 = Debug|Win32
{17A0AA3A-8445-4C66-FE58-0A5C222CC474}.Release.ActiveCfg = Release|Win32
{17A0AA3A-8445-4C66-FE58-0A5C222CC474}.Release.Build.0 = Release|Win32
{17A0AA3A-8445-4C66-FE58-0A5C222CC474}.Release_Server.ActiveCfg = Release|Win32
{17A0AA3A-8445-4C66-FE58-0A5C222CC474}.Release_Server.Build.0 = Release|Win32
{CA2D4E65-EA68-465F-843A-4AF75243B474}.Debug.ActiveCfg = Debug|Win32
{CA2D4E65-EA68-465F-843A-4AF75243B474}.Debug.Build.0 = Debug|Win32
{CA2D4E65-EA68-465F-843A-4AF75243B474}.Debug_Server.ActiveCfg = Debug|Win32
{CA2D4E65-EA68-465F-843A-4AF75243B474}.Debug_Server.Build.0 = Debug|Win32
{CA2D4E65-EA68-465F-843A-4AF75243B474}.Ethereal Build.ActiveCfg = Debug|Win32
{CA2D4E65-EA68-465F-843A-4AF75243B474}.Ethereal Build.Build.0 = Debug|Win32
{CA2D4E65-EA68-465F-843A-4AF75243B474}.Release.ActiveCfg = Release|Win32
{CA2D4E65-EA68-465F-843A-4AF75243B474}.Release.Build.0 = Release|Win32
{CA2D4E65-EA68-465F-843A-4AF75243B474}.Release_Server.ActiveCfg = Release|Win32
{CA2D4E65-EA68-465F-843A-4AF75243B474}.Release_Server.Build.0 = Release|Win32
{FEB4D52D-8D4E-4520-A490-ADE06159B650}.Debug.ActiveCfg = Debug|Win32
{FEB4D52D-8D4E-4520-A490-ADE06159B650}.Debug.Build.0 = Debug|Win32
{FEB4D52D-8D4E-4520-A490-ADE06159B650}.Debug_Server.ActiveCfg = Debug|Win32
{FEB4D52D-8D4E-4520-A490-ADE06159B650}.Debug_Server.Build.0 = Debug|Win32
{FEB4D52D-8D4E-4520-A490-ADE06159B650}.Ethereal Build.ActiveCfg = Release|Win32
{FEB4D52D-8D4E-4520-A490-ADE06159B650}.Ethereal Build.Build.0 = Release|Win32
{FEB4D52D-8D4E-4520-A490-ADE06159B650}.Release.ActiveCfg = Release|Win32
{FEB4D52D-8D4E-4520-A490-ADE06159B650}.Release.Build.0 = Release|Win32
{FEB4D52D-8D4E-4520-A490-ADE06159B650}.Release_Server.ActiveCfg = Release|Win32
{FEB4D52D-8D4E-4520-A490-ADE06159B650}.Release_Server.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
EndGlobalSection

View File

@ -21,7 +21,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="&quot;../../../../SDKs/XPlatform/Cypython-2.3.3/Include&quot;;&quot;../../../../SDKs/XPlatform/Cypython-2.3.3/PC&quot;;../../../../../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;&quot;../../../../SDKs/XPlatform/Cypython-2.3.3/pyconfig_static&quot;;../../../../../StaticSDKs/Win32/PlatformSDK/Include"
AdditionalIncludeDirectories="&quot;../../../../SDKs/XPlatform/Cypython-2.3.3/Include&quot;;&quot;../../../../SDKs/XPlatform/Cypython-2.3.3/PC&quot;;../../../../../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;&quot;../../../../SDKs/XPlatform/Cypython-2.3.3/pyconfig_static&quot;;../../../../../StaticSDKs/Win32/PlatformSDK/Include;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@ -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 ijl15l.lib libcrypto.a ws2_32.lib version.lib odbc32.lib odbccp32.lib eaxguid.lib libspeex.lib binkw32.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="&quot;..\..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs\Win32&quot;;&quot;..\..\..\..\..\StaticSDKs\Win32\speex-1.0.1\win32\libspeex\Release&quot;;..\..\..\..\..\StaticSDKs\Win32\Bink\lib;..\..\..\..\..\StaticSDKs\Win32\eax\lib;..\..\..\..\..\StaticSDKs\Win32\oggvorbis\lib;..\..\..\..\..\STATICSDKS\XPLATFORM\STLPORT\lib;..\..\..\..\..\STATICSDKS\Win32\ijl\lib;..\..\..\..\..\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;&quot;..\..\..\..\..\StaticSDKs\XPlatform\png\lib&quot;"
AdditionalLibraryDirectories="&quot;..\..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs\Win32&quot;;&quot;..\..\..\..\..\StaticSDKs\Win32\speex-1.0.1\win32\libspeex\Release&quot;;..\..\..\..\..\StaticSDKs\Win32\eax\lib;..\..\..\..\..\StaticSDKs\Win32\oggvorbis\lib;..\..\..\..\..\STATICSDKS\XPLATFORM\STLPORT\lib;&quot;..\..\..\..\..\StaticSDKs\XPlatform\jpeg-8c-rgba&quot;;..\..\..\..\..\StaticSDKs\Win32\WMSDK\lib;..\..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib;..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib\x86;..\..\..\..\..\StaticSDKs\Win32\PhysX\lib\win32;&quot;..\..\..\..\..\StaticSDKs\Win32\OpenAL 1.1 with EFX SDK\libs\Win32&quot;;..\..\..\..\..\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"
@ -67,7 +67,6 @@ xcopy /Y /E /I ..\..\..\..\Scripts\Python\plasma\*.py ..\..\..\..\test\python\pl
xcopy /Y /E /I ..\..\..\..\Scripts\Python\system\*.py ..\..\..\..\test\python\system
xcopy /Y /E /I ..\..\..\..\Scripts\Python\system\*.pyd ..\..\..\..\test\python\system
xcopy /Y ..\..\..\..\..\StaticSDKs\Win32\EAX\lib\eax.dll ..\..\..\..\test\
xcopy /Y ..\..\..\..\..\StaticSDKs\Win32\Bink\lib\binkw32.dll ..\..\..\..\test\
xcopy /Y ..\..\..\..\..\StaticSDKs\Win32\PhysX\Bin\win32\NxCharacter.dll ..\..\..\..\test\
xcopy /Y ..\..\..\..\..\StaticSDKs\Win32\PhysX\Bin\win32\NxCooking.dll ..\..\..\..\test\
xcopy /Y ..\..\..\..\..\StaticSDKs\Win32\PhysX\Bin\win32\NxExtensions.dll ..\..\..\..\test\
@ -125,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 wininet.lib vfw32.lib winmm.lib libjpeg.lib libeay32.lib ws2_32.lib version.lib odbc32.lib odbccp32.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="&quot;..\..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs\Win32&quot;;&quot;..\..\..\..\..\StaticSDKs\Win32\speex-1.0.1\Win32\libspeex\Release&quot;;..\..\..\..\..\StaticSDKs\Win32\Bink\lib;..\..\..\..\..\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;&quot;..\..\..\..\..\StaticSDKs\Win32\OpenAL 1.1 with EFX SDK\libs\Win32&quot;;..\..\..\..\..\StaticSDKs\Win32\PlatformSDK\Lib;&quot;..\..\..\..\..\StaticSDKs\XPlatform\jpeg-8c-rgba&quot;;&quot;..\..\..\..\..\StaticSDKs\XPlatform\png\lib&quot;"
AdditionalLibraryDirectories="&quot;..\..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs\Win32&quot;;&quot;..\..\..\..\..\StaticSDKs\Win32\speex-1.0.1\Win32\libspeex\Release&quot;;..\..\..\..\..\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;&quot;..\..\..\..\..\StaticSDKs\Win32\OpenAL 1.1 with EFX SDK\libs\Win32&quot;;..\..\..\..\..\StaticSDKs\Win32\PlatformSDK\Lib;&quot;..\..\..\..\..\StaticSDKs\XPlatform\jpeg-8c-rgba&quot;;..\..\..\..\..\StaticSDKs\XPlatform\png\lib;..\..\..\..\..\StaticSDKs\Win32\EAX\lib"
IgnoreDefaultLibraryNames="libc.lib,libci.lib,libcmt.lib"
GenerateDebugInformation="TRUE"
AssemblyDebug="1"
@ -156,8 +155,7 @@ xcopy /Y /E /I ..\..\..\..\Sources\Plasma\PubUtilLib\plSDL\SDL\*.sdl ..\..\..\..
xcopy /Y /E /I ..\..\..\..\Scripts\Python\plasma\*.py ..\..\..\..\test\python\plasma
xcopy /Y /E /I ..\..\..\..\Scripts\Python\system\*.py ..\..\..\..\test\python\system
xcopy /Y /E /I ..\..\..\..\Scripts\Python\system\*.pyd ..\..\..\..\test\python\system
REM xcopy /Y ..\..\..\..\..\StaticSDKs\Win32\EAX\lib\eax.dll ..\..\..\..\test\
REM xcopy /Y ..\..\..\..\..\StaticSDKs\Win32\Bink\lib\binkw32.dll ..\..\..\..\test\
xcopy /Y ..\..\..\..\..\StaticSDKs\Win32\EAX\lib\eax.dll ..\..\..\..\test\
xcopy /Y ..\..\..\..\..\StaticSDKs\Win32\PhysX\Bin\win32\NxCharacter.dll ..\..\..\..\test\
xcopy /Y ..\..\..\..\..\StaticSDKs\Win32\PhysX\Bin\win32\NxCooking.dll ..\..\..\..\test\
xcopy /Y ..\..\..\..\..\StaticSDKs\Win32\PhysX\Bin\win32\NxExtensions.dll ..\..\..\..\test\
@ -417,28 +415,6 @@ xcopy /Y ..\..\..\..\Sources\Plasma\Apps\plClient\external\resource.dat ..\..\..
Name="VCCustomBuildTool"/>
</FileConfiguration>
</File>
<Filter
Name="DX9"
Filter="">
<File
RelativePath="..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib\x86\d3dx9.lib">
</File>
<File
RelativePath="..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib\x86\dinput8.lib">
</File>
<File
RelativePath="..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib\x86\dplayx.lib">
</File>
<File
RelativePath="..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib\x86\dsound.lib">
</File>
<File
RelativePath="..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib\x86\DxErr9.lib">
</File>
<File
RelativePath="..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib\x86\dxguid.lib">
</File>
</Filter>
<Filter
Name="PhysX"
Filter="">

View File

@ -19,7 +19,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib;../../../../Sources/Plasma/PubUtilLib;../../../../Sources/Plasma/CoreLib;../../../../Sources/Plasma/NucleusLib/inc"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib;../../../../Sources/Plasma/PubUtilLib;../../../../Sources/Plasma/CoreLib;../../../../Sources/Plasma/NucleusLib/inc;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
StringPooling="TRUE"
MinimalRebuild="FALSE"
@ -104,7 +104,7 @@
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib;../../../../Sources/Plasma/PubUtilLib;../../../../Sources/Plasma/CoreLib;../../../../Sources/Plasma/NucleusLib/inc"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib;../../../../Sources/Plasma/PubUtilLib;../../../../Sources/Plasma/CoreLib;../../../../Sources/Plasma/NucleusLib/inc;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
StringPooling="TRUE"
RuntimeLibrary="0"
@ -147,7 +147,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib;../../../../Sources/Plasma/PubUtilLib;../../../../Sources/Plasma/CoreLib;../../../../Sources/Plasma/NucleusLib/inc"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib;../../../../Sources/Plasma/PubUtilLib;../../../../Sources/Plasma/CoreLib;../../../../Sources/Plasma/NucleusLib/inc;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
StringPooling="TRUE"
MinimalRebuild="FALSE"

View File

@ -103,11 +103,10 @@
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="rpcrt4.lib CoreLib.lib CoreLibExe.lib plFile.lib plUnifiedTime.lib pnProduct.lib pnUtils.lib"
AdditionalDependencies="rpcrt4.lib"
OutputFile=".\Release/plFileSecure.exe"
LinkIncremental="1"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="../../NucleusLib/pnUtils/Release;../../NucleusLib/pnProduct/Release;../../CoreLibExe/Release;../../CoreLib/Release;../../PubUtilLib/plUnifiedTime/Release;../../PubUtilLib/plFile/Release"
ProgramDatabaseFile=".\Release/plFileSecure.pdb"
SubSystem="1"
TargetMachine="1"/>

View File

@ -19,7 +19,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib;../../../../Sources/Plasma/PubUtilLib;../../../../Sources/Plasma/CoreLib"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib;../../../../Sources/Plasma/PubUtilLib;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
StringPooling="TRUE"
MinimalRebuild="TRUE"
@ -35,7 +35,7 @@
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="Iphlpapi.lib rpcrt4.lib ws2_32.lib zlibd.lib winmm.lib libcrypto.a comctl32.lib"
AdditionalDependencies="Iphlpapi.lib rpcrt4.lib ws2_32.lib zlibd.lib winmm.lib libeay32.lib comctl32.lib"
OutputFile="$(OutDir)/plMD5.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"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib;../../../../Sources/Plasma/PubUtilLib;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
StringPooling="TRUE"
ExceptionHandling="FALSE"
@ -86,7 +86,7 @@
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="Iphlpapi.lib rpcrt4.lib ws2_32.lib zlib.lib winmm.lib libcrypto.a comctl32.lib"
AdditionalDependencies="Iphlpapi.lib rpcrt4.lib ws2_32.lib zlib.lib winmm.lib libeay32.lib comctl32.lib"
OutputFile="$(OutDir)/plMD5.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;..\..\..\..\..\StaticSDKs\XPlatform\zlib\lib"

View File

@ -22,7 +22,7 @@
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
StringPooling="TRUE"
RuntimeLibrary="2"
@ -84,7 +84,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"

View File

@ -19,7 +19,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/CoreLib;../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/FeatureLib/inc;&quot;../../../../SDKs/XPlatform/Cypython-2.3.3/Include&quot;;&quot;../../../../SDKs/XPlatform/Cypython-2.3.3/pyconfig_static&quot;;../../../../../StaticSDKs/Win32/dx9.0c/include"
AdditionalIncludeDirectories="../../../../Sources/Plasma/CoreLib;../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/FeatureLib/inc;&quot;../../../../SDKs/XPlatform/Cypython-2.3.3/Include&quot;;&quot;../../../../SDKs/XPlatform/Cypython-2.3.3/pyconfig_static&quot;;../../../../../StaticSDKs/Win32/dx9.0c/include;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="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 libcrypto.a ws2_32.lib version.lib odbc32.lib odbccp32.lib eaxguid.lib binkw32.lib d3dx9.lib dinput8.lib dplayx.lib dsound.lib dxerr9.lib dxguid.lib libpngd.lib zlibd.lib Rpcrt4.lib ijl15l.lib NxCharacter.lib PhysXLoader.lib libspeex.lib OpenAL32.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"
OutputFile="$(OutDir)/plPageOptimizer.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\..\..\StaticSDKs\Win32\Bink\lib;..\..\..\..\..\StaticSDKs\Win32\eax\lib;..\..\..\..\..\StaticSDKs\Win32\oggvorbis\lib;..\..\..\..\..\STATICSDKS\Win32\ijl\lib;..\..\..\..\..\StaticSDKs\Win32\WMSDK\lib;..\..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;..\..\..\..\..\StaticSDKs\Win32\dx8.1sdk\lib;..\..\..\..\SDKs\XPlatform\ODE\lib\win32;&quot;..\..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs&quot;;..\..\..\..\..\StaticSDKs\XPlatform\png\lib;..\..\..\..\..\StaticSDKs\XPlatform\zlib\lib;..\..\..\..\..\StaticSDKs\Win32\PhysX\lib\win32;&quot;..\..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs\Win32&quot;;&quot;..\..\..\..\..\StaticSDKs\Win32\speex-1.0.1\Win32\libspeex\Debug&quot;;&quot;..\..\..\..\..\StaticSDKs\Win32\OpenAL 1.1 with EFX SDK\libs\Win32&quot;;..\..\..\..\..\StaticSDKs\Win32\dx9.0c\lib"
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;&quot;..\..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs&quot;;..\..\..\..\..\StaticSDKs\XPlatform\png\lib;..\..\..\..\..\StaticSDKs\XPlatform\zlib\lib;..\..\..\..\..\StaticSDKs\Win32\PhysX\lib\win32;&quot;..\..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs\Win32&quot;;&quot;..\..\..\..\..\StaticSDKs\Win32\speex-1.0.1\Win32\libspeex\Debug&quot;;&quot;..\..\..\..\..\StaticSDKs\Win32\OpenAL 1.1 with EFX SDK\libs\Win32&quot;;..\..\..\..\..\StaticSDKs\Win32\dx9.0c\lib;..\..\..\..\..\StaticSDKs\Win32\dx9.0c\lib\x86;&quot;../../../../../StaticSDKs/XPlatform/jpeg-8c-rgba&quot;"
IgnoreDefaultLibraryNames="libc.lib,libcd.lib,libci.lib"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="$(OutDir)/plPageOptimizer.pdb"
@ -86,11 +86,11 @@
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"
OutputFile="$(OutDir)/plPageOptimizer.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\..\..\..\StaticSDKs\Win32\Bink\lib;..\..\..\..\..\StaticSDKs\Win32\eax\lib;..\..\..\..\..\StaticSDKs\Win32\oggvorbis\lib;..\..\..\..\..\STATICSDKS\Win32\ijl\lib;..\..\..\..\..\StaticSDKs\Win32\WMSDK\lib;..\..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;..\..\..\..\..\StaticSDKs\Win32\dx9.0c\lib\x86;..\..\..\..\SDKs\XPlatform\ODE\lib\win32;&quot;..\..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs&quot;;..\..\..\..\..\StaticSDKs\XPlatform\png\lib;..\..\..\..\..\StaticSDKs\XPlatform\zlib\lib;&quot;..\..\..\..\..\StaticSDKs\Win32\speex-1.0.1\Win32\libspeex\Release&quot;;&quot;..\..\..\..\..\StaticSDKs\Win32\OpenAL 1.1 with EFX SDK\libs\Win32&quot;;&quot;..\..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs\Win32&quot;;..\..\..\..\..\StaticSDKs\Win32\PhysX\lib\win32;&quot;../../../../../StaticSDKs/XPlatform/jpeg-8c-rgba&quot;"
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;&quot;..\..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs&quot;;..\..\..\..\..\StaticSDKs\XPlatform\png\lib;..\..\..\..\..\StaticSDKs\XPlatform\zlib\lib;&quot;..\..\..\..\..\StaticSDKs\Win32\speex-1.0.1\Win32\libspeex\Release&quot;;&quot;..\..\..\..\..\StaticSDKs\Win32\OpenAL 1.1 with EFX SDK\libs\Win32&quot;;&quot;..\..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs\Win32&quot;;..\..\..\..\..\StaticSDKs\Win32\PhysX\lib\win32;&quot;../../../../../StaticSDKs/XPlatform/jpeg-8c-rgba&quot;"
IgnoreDefaultLibraryNames="libc.lib,libci.lib,libcmt.lib"
GenerateDebugInformation="TRUE"
SubSystem="1"
OptimizeReferences="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"/>
<Tool

View File

@ -39,11 +39,11 @@
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="zlib.lib comctl32.lib odbc32.lib odbccp32.lib"
AdditionalDependencies="zlib.lib comctl32.lib odbc32.lib odbccp32.lib libeay32.lib rpcrt4.lib ws2_32.lib"
OutputFile="Release/PlasmaInstaller.exe"
LinkIncremental="1"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\..\..\..\StaticSDKs\XPlatform\zlib\lib"
AdditionalLibraryDirectories="..\..\..\..\..\StaticSDKs\XPlatform\zlib\lib;..\..\..\..\..\StaticSDKs\Win32\OpenSSL\lib"
ProgramDatabaseFile=".\Release/PlasmaInstaller.pdb"
SubSystem="2"
TargetMachine="1"/>
@ -153,6 +153,9 @@
<Filter
Name="Source Files"
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
<File
RelativePath="..\..\..\..\..\StaticSDKs\XPlatform\zlib\contrib\minizip\ioapi.c">
</File>
<File
RelativePath="..\..\..\..\Sources\Plasma\Apps\plPlasmaInstaller\main.cpp">
<FileConfiguration
@ -277,6 +280,9 @@
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl">
<File
RelativePath="..\..\..\..\..\StaticSDKs\XPlatform\zlib\contrib\minizip\ioapi.h">
</File>
<File
RelativePath="..\..\..\..\Sources\Plasma\Apps\plPlasmaInstaller\plInstallerReg.h">
</File>

View File

@ -21,7 +21,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\..\Sources\Plasma\CoreLib;..\..\..\..\Sources\Plasma\NucleusLib\inc;..\..\..\..\Sources\Plasma\PubUtilLib\inc;..\..\..\..\..\StaticSDKs\XPlatform\zlib;..\..\..\..\Sources\AssetMan\Libs\jvCoreUtil;..\..\..\..\Sources\Plasma\PubUtilLib\plHttpServer"
AdditionalIncludeDirectories="..\..\..\..\Sources\Plasma\CoreLib;..\..\..\..\Sources\Plasma\NucleusLib\inc;..\..\..\..\Sources\Plasma\PubUtilLib\inc;..\..\..\..\..\StaticSDKs\XPlatform\zlib;..\..\..\..\Sources\AssetMan\Libs\jvCoreUtil;..\..\..\..\Sources\Plasma\PubUtilLib\plHttpServer;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@ -38,7 +38,7 @@
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ogg_static_d.lib vorbis_static_d.lib vorbisfile_static_d.lib winmm.lib zlib.lib libcrypto.a dxerr8.lib comctl32.lib odbc32.lib odbccp32.lib wininet.lib Rpcrt4.lib"
AdditionalDependencies="ogg_static_d.lib vorbis_static_d.lib vorbisfile_static_d.lib winmm.lib zlib.lib libeay32.lib dxerr8.lib comctl32.lib odbc32.lib odbccp32.lib wininet.lib Rpcrt4.lib"
OutputFile="Debug/ParableUpdate.exe"
LinkIncremental="1"
SuppressStartupBanner="TRUE"
@ -89,7 +89,7 @@
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\..\Sources\Plasma\CoreLib;..\..\..\..\Sources\Plasma\NucleusLib\inc;..\..\..\..\Sources\Plasma\PubUtilLib\inc;..\..\..\..\..\StaticSDKs\XPlatform\zlib;..\..\..\..\Sources\AssetMan\Libs\jvCoreUtil;..\..\..\..\Sources\Plasma\PubUtilLib\plHttpServer"
AdditionalIncludeDirectories="..\..\..\..\Sources\Plasma\CoreLib;..\..\..\..\Sources\Plasma\NucleusLib\inc;..\..\..\..\Sources\Plasma\PubUtilLib\inc;..\..\..\..\..\StaticSDKs\XPlatform\zlib;..\..\..\..\Sources\AssetMan\Libs\jvCoreUtil;..\..\..\..\Sources\Plasma\PubUtilLib\plHttpServer;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
StringPooling="TRUE"
RuntimeLibrary="2"
@ -106,7 +106,7 @@
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ogg_static.lib vorbis_static.lib vorbisfile_static.lib winmm.lib zlib.lib libcrypto.a dxerr8.lib comctl32.lib odbc32.lib odbccp32.lib wininet.lib Rpcrt4.lib"
AdditionalDependencies="ogg_static.lib vorbis_static.lib vorbisfile_static.lib winmm.lib zlib.lib libeay32.lib dxerr8.lib comctl32.lib odbc32.lib odbccp32.lib wininet.lib Rpcrt4.lib"
OutputFile="Release/ParableUpdate.exe"
LinkIncremental="1"
SuppressStartupBanner="TRUE"

View File

@ -20,7 +20,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib;../../../../Sources/Plasma/PubUtilLib;../../../../Sources/Plasma/CoreLib;../../../../Sources/Plasma/NucleusLib/inc"
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 libcrypto.a 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"
@ -66,22 +66,19 @@
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory=".\Release"
IntermediateDirectory=".\Release"
OutputDirectory="Release"
IntermediateDirectory="Release"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
InlineFunctionExpansion="1"
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"
BufferSecurityCheck="FALSE"
UsePrecompiledHeader="0"
PrecompiledHeaderThrough=""
ObjectFile=".\Release/"
ProgramDataBaseFileName=".\Release/"
UsePrecompiledHeader="2"
PrecompiledHeaderThrough="Pch.h"
WarningLevel="3"
Detect64BitPortabilityProblems="FALSE"
DebugInformationFormat="3"/>
@ -89,16 +86,15 @@
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="Iphlpapi.lib rpcrt4.lib ws2_32.lib zlib.lib winmm.lib libeay32.lib winhttp.lib comctl32.lib ogg_static.lib vorbis_static.lib vorbisfile_static.lib"
OutputFile=".\Release/UruLauncher.exe"
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;..\..\..\..\..\StaticSDKs\Win32\PlatformSDK\Lib;..\..\..\..\..\StaticSDKs\Win32\oggvorbis\lib"
IgnoreDefaultLibraryNames="libc.lib,libci.lib,libcmt.lib"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile=".\Release\plUruLauncher.pdb"
SubSystem="2"
OptimizeReferences="1"
EnableCOMDATFolding="0"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
@ -131,7 +127,7 @@
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib;../../../../Sources/Plasma/PubUtilLib;../../../../Sources/Plasma/CoreLib;../../../../Sources/Plasma/NucleusLib/inc;../../../../../StaticSDKs/Win32/PlatformSDK/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="0"
@ -145,7 +141,7 @@
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="winhttp.lib Iphlpapi.lib rpcrt4.lib ws2_32.lib zlib_srv.lib winmm.lib libcrypto.a comctl32.lib libogg.lib libvorbis.lib libvorbisfile.lib"
AdditionalDependencies="winhttp.lib Iphlpapi.lib rpcrt4.lib ws2_32.lib zlib_srv.lib winmm.lib libeay32.lib comctl32.lib libogg.lib libvorbis.lib libvorbisfile.lib"
OutputFile="$(OutDir)/UruLauncher.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;..\..\..\..\..\StaticSDKs\XPlatform\zlib\lib;..\..\..\..\..\StaticSDKs\Win32\oggvorbis\lib;..\..\..\..\..\StaticSDKs\Win32\PlatformSDK\Lib"
@ -185,7 +181,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib;../../../../Sources/Plasma/PubUtilLib;../../../../Sources/Plasma/CoreLib;../../../../Sources/Plasma/NucleusLib/inc;../../../../../StaticSDKs/Win32/PlatformSDK/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"
@ -200,7 +196,7 @@
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="winhttp.lib Iphlpapi.lib rpcrt4.lib ws2_32.lib zlibd_srv.lib winmm.lib libcrypto.a comctl32.lib libogg_d.lib libvorbis_d.lib libvorbisfile_d.lib"
AdditionalDependencies="winhttp.lib Iphlpapi.lib rpcrt4.lib ws2_32.lib zlibd_srv.lib winmm.lib libeay32.lib comctl32.lib libogg_d.lib libvorbis_d.lib libvorbisfile_d.lib"
OutputFile="$(OutDir)/UruLauncher.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;..\..\..\..\..\StaticSDKs\XPlatform\zlib\lib;..\..\..\..\..\StaticSDKs\Win32\oggvorbis\lib;..\..\..\..\..\StaticSDKs\Win32\PlatformSDK\Lib"

View File

@ -74,7 +74,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/FeatureLib/inc;../../../../sdks/win32/havok/include;../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib"
AdditionalIncludeDirectories="../../../../Sources/Plasma/FeatureLib/inc;../../../../sdks/win32/havok/include;../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="_DEBUG;WIN32;_LIB"
BasicRuntimeChecks="3"
RuntimeLibrary="3"

View File

@ -74,7 +74,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc,../../../../../StaticSDKs/XPlatform/STLport/stlport,../../../../Sources/Plasma/PubUtilLib/inc,../../../../Sources/Plasma/CoreLib"
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"
BasicRuntimeChecks="3"
RuntimeLibrary="3"

View File

@ -21,7 +21,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/FeatureLib/inc;../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib"
AdditionalIncludeDirectories="../../../../Sources/Plasma/FeatureLib/inc;../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
BasicRuntimeChecks="3"
RuntimeLibrary="3"

View File

@ -21,7 +21,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/FeatureLib/inc;../../../../sdks/win32/havok/include;../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib"
AdditionalIncludeDirectories="../../../../Sources/Plasma/FeatureLib/inc;../../../../sdks/win32/havok/include;../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="_DEBUG;WIN32;_LIB"
BasicRuntimeChecks="3"
RuntimeLibrary="3"

View File

@ -74,7 +74,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/FeatureLib/inc;../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;&quot;../../../../SDKs/XPlatform/Cypython-2.3.3/Include&quot;;&quot;../../../../SDKs/XPlatform/Cypython-2.3.3/PC&quot;;../../../../SDKs/XPlatform/Cypython-2.3.3/pyconfig_static"
AdditionalIncludeDirectories="../../../../Sources/Plasma/FeatureLib/inc;../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;&quot;../../../../SDKs/XPlatform/Cypython-2.3.3/Include&quot;;&quot;../../../../SDKs/XPlatform/Cypython-2.3.3/PC&quot;;&quot;../../../../SDKs/XPlatform/Cypython-2.3.3/pyconfig_static&quot;;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
BasicRuntimeChecks="3"
RuntimeLibrary="3"

View File

@ -19,7 +19,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/FeatureLib/inc;../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib"
AdditionalIncludeDirectories="../../../../Sources/Plasma/FeatureLib/inc;../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
StringPooling="TRUE"
MinimalRebuild="TRUE"

View File

@ -21,7 +21,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/FeatureLib/inc;../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib"
AdditionalIncludeDirectories="../../../../Sources/Plasma/FeatureLib/inc;../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
BasicRuntimeChecks="3"
RuntimeLibrary="3"

View File

@ -78,7 +78,7 @@
Name="VCCLCompilerTool"
AdditionalOptions="/Zm1000 "
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/FeatureLib/inc;../../../../Sources/Plasma/Apps/plClient;&quot;../../../../SDKs/XPlatform/Cypython-2.3.3/Include&quot;;&quot;../../../../SDKs/XPlatform/Cypython-2.3.3/PC&quot;;../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/dx8.1sdk/include;../../../../../StaticSDKs/Win32/Bink/inc;&quot;../../../../SDKs/XPlatform/Cypython-2.3.3/pyconfig_static&quot;"
AdditionalIncludeDirectories="../../../../Sources/Plasma/FeatureLib/inc;../../../../Sources/Plasma/Apps/plClient;&quot;../../../../SDKs/XPlatform/Cypython-2.3.3/Include&quot;;&quot;../../../../SDKs/XPlatform/Cypython-2.3.3/PC&quot;;../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/dx8.1sdk/include;../../../../../StaticSDKs/Win32/Bink/inc;&quot;../../../../SDKs/XPlatform/Cypython-2.3.3/pyconfig_static&quot;;&quot;../../../../../StaticSDKs/Win32/OpenAL 1.1 with EFX SDK/include&quot;;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="_DEBUG;WIN32;_LIB;MS_NO_COREDLL"
BasicRuntimeChecks="3"
RuntimeLibrary="3"

View File

@ -22,7 +22,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/FeatureLib/inc;../../../../Sources/Plasma/CoreLib"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/FeatureLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@ -126,7 +126,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/FeatureLib/inc;../../../../Sources/Plasma/CoreLib"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/FeatureLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -178,7 +178,7 @@
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/FeatureLib/inc;../../../../Sources/Plasma/CoreLib"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/FeatureLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
StringPooling="TRUE"
RuntimeLibrary="0"

View File

@ -74,7 +74,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/FeatureLib/inc;../../../../Sources/Plasma/CoreLib"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/FeatureLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
BasicRuntimeChecks="3"
RuntimeLibrary="3"

View File

@ -21,7 +21,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@ -73,7 +73,7 @@
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;&quot;../../../../../StaticSDKs/Win32/OpenAL 1.1 with EFX SDK/include&quot;"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;&quot;../../../../../StaticSDKs/Win32/OpenAL 1.1 with EFX SDK/include&quot;;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
StringPooling="TRUE"
RuntimeLibrary="2"

View File

@ -22,7 +22,7 @@
Name="VCCLCompilerTool"
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;&quot;../../../../../StaticSDKs/Win32/speex-1.0.1/libspeex&quot;;../../../../../StaticSDKs/Win32/OpenAL 1.1 with EFX SDK/include"
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;&quot;../../../../../StaticSDKs/Win32/speex-1.0.1/libspeex&quot;;&quot;../../../../../StaticSDKs/Win32/OpenAL 1.1 with EFX SDK/include&quot;"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
StringPooling="TRUE"
RuntimeLibrary="2"
@ -74,7 +74,7 @@
<Tool
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;&quot;../../../../../StaticSDKs/Win32/speex-1.0.1/libspeex&quot;;../../../../../StaticSDKs/Win32/OpenAL 1.1 with EFX SDK/include"
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;&quot;../../../../../StaticSDKs/Win32/speex-1.0.1/libspeex&quot;;&quot;../../../../../StaticSDKs/Win32/OpenAL 1.1 with EFX SDK/include&quot;"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
BasicRuntimeChecks="3"
RuntimeLibrary="3"

View File

@ -22,7 +22,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/FeatureLib/inc;../../../../sdks/win32/havok/include;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib"
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"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@ -282,26 +282,6 @@
PreprocessorDefinitions=""/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAntiGravAction.cpp">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BasicRuntimeChecks="3"/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plArmatureEffects.cpp">
<FileConfiguration
@ -588,26 +568,6 @@
PreprocessorDefinitions=""/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAvCallbackAction.cpp">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BasicRuntimeChecks="3"/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAvLadderModifier.cpp">
<FileConfiguration
@ -939,9 +899,6 @@
<File
RelativePath="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAnimStage.h">
</File>
<File
RelativePath="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAntiGravAction.h">
</File>
<File
RelativePath="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plArmatureEffects.h">
</File>
@ -993,9 +950,6 @@
<File
RelativePath="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAvBrainSwim.h">
</File>
<File
RelativePath="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAvCallbackAction.h">
</File>
<File
RelativePath="..\..\..\..\Sources\Plasma\PubUtilLib\plAvatar\plAvDefs.h">
</File>

View File

@ -75,7 +75,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@ -177,7 +177,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;SERVER"
StringPooling="TRUE"
BasicRuntimeChecks="3"
@ -231,7 +231,7 @@
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;SERVER"
StringPooling="TRUE"
RuntimeLibrary="0"
@ -285,7 +285,7 @@
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
StringPooling="TRUE"
RuntimeLibrary="0"
@ -336,7 +336,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
BasicRuntimeChecks="3"
RuntimeLibrary="1"

View File

@ -22,7 +22,7 @@
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../../StaticSDKs/Win32/dx8.1sdk/include;../../../../../StaticSDKs/XPlatform/zlib;../../../../../StaticSDKs/XPlatform/png;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../../StaticSDKs/Win32/DX9.0c/include;../../../../../StaticSDKs/XPlatform/zlib;../../../../../StaticSDKs/XPlatform/png;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
StringPooling="TRUE"
RuntimeLibrary="2"
@ -74,7 +74,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../../StaticSDKs/Win32/dx8.1sdk/include;../../../../../StaticSDKs/XPlatform/zlib;../../../../../StaticSDKs/XPlatform/png;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../../StaticSDKs/Win32/DX9.0c/include;../../../../../StaticSDKs/XPlatform/zlib;../../../../../StaticSDKs/XPlatform/png;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
BasicRuntimeChecks="3"
RuntimeLibrary="3"

View File

@ -74,7 +74,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
BasicRuntimeChecks="3"
RuntimeLibrary="3"

View File

@ -21,7 +21,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../../StaticSDKs/Win32/dx8.1sdk/include;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib"
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"
BasicRuntimeChecks="3"
RuntimeLibrary="3"

View File

@ -21,7 +21,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib"
AdditionalIncludeDirectories="../../../../../StaticSDKs/XPlatform/jpeg-8c-rgba;../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
BasicRuntimeChecks="3"
RuntimeLibrary="3"

View File

@ -21,7 +21,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/PhysX/Foundation/include"
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"
BasicRuntimeChecks="3"
RuntimeLibrary="3"

View File

@ -21,7 +21,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc,../../../../../StaticSDKs/XPlatform/STLport/stlport,../../../../Sources/Plasma/PubUtilLib/inc,../../../../Sources/Plasma/CoreLib"
AdditionalIncludeDirectories="../../../../Sources/Plasma/PubUtilLib/PlNetCore;../../../../Sources/Plasma/PubUtilLib/PlFile;../../../../Sources/Plasma/PubUtilLib/PlRegistry;../../../../Sources/Plasma/NucleusLib/inc;../../../../../StaticSDKs/XPlatform/STLport/stlport;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
BasicRuntimeChecks="3"
RuntimeLibrary="3"

View File

@ -21,7 +21,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
BasicRuntimeChecks="3"
RuntimeLibrary="3"

View File

@ -21,7 +21,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
BasicRuntimeChecks="3"
RuntimeLibrary="3"

View File

@ -19,7 +19,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/CoreLib;../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../../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"
AdditionalIncludeDirectories="../../../../Sources/Plasma/CoreLib;../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../../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="WIN32;_DEBUG;_LIB"
MinimalRebuild="FALSE"
BasicRuntimeChecks="3"

View File

@ -21,7 +21,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../sdks/win32/havok/include;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../sdks/win32/havok/include;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="_DEBUG;WIN32;_LIB"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@ -73,7 +73,7 @@
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../sdks/win32/havok/include;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;&quot;../../../../../StaticSDKs/Win32/OpenAL 1.1 with EFX SDK/include&quot;"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../sdks/win32/havok/include;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;&quot;../../../../../StaticSDKs/Win32/OpenAL 1.1 with EFX SDK/include&quot;;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="NDEBUG;WIN32;_LIB"
StringPooling="TRUE"
RuntimeLibrary="2"

View File

@ -2,8 +2,8 @@
<VisualStudioProject
ProjectType="Visual C++"
Version="7.10"
Name="pfCCR"
ProjectGUID="{1599855E-CC20-4C3A-A382-5290C40BE08E}"
Name="plPluginJPEG"
ProjectGUID="{FEB4D52D-8D4E-4520-A490-ADE06159B650}"
SccProjectName=""
SccLocalPath="">
<Platforms>
@ -22,8 +22,8 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/FeatureLib/inc;../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../Sources/Plasma/PythonLib/Cypython/Include;../../../../Sources/Plasma/PythonLib/Cypython/PC"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
AdditionalIncludeDirectories="../../../../../StaticSDKs/XPlatform/jpeg-8c-rgba;../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;IJL_SDK_AVAILABLE"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
ForceConformanceInForLoopScope="TRUE"
@ -39,7 +39,7 @@
Name="VCCustomBuildTool"/>
<Tool
Name="VCLibrarianTool"
OutputFile=".\Debug\pfCCR.lib"
OutputFile=".\Debug\plPluginJPEG.lib"
SuppressStartupBanner="TRUE"/>
<Tool
Name="VCMIDLTool"/>
@ -74,8 +74,8 @@
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="../../../../Sources/Plasma/FeatureLib/inc;../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../Sources/Plasma/PythonLib/Cypython/Include;../../../../Sources/Plasma/PythonLib/Cypython/PC"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;&quot;../../../../../StaticSDKs/XPlatform/jpeg-8c-rgba&quot;"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;IJL_SDK_AVAILABLE"
StringPooling="TRUE"
RuntimeLibrary="2"
EnableFunctionLevelLinking="TRUE"
@ -92,7 +92,7 @@
Name="VCCustomBuildTool"/>
<Tool
Name="VCLibrarianTool"
OutputFile=".\Release\pfCCR.lib"
OutputFile=".\Release\plPluginJPEG.lib"
SuppressStartupBanner="TRUE"/>
<Tool
Name="VCMIDLTool"/>
@ -123,27 +123,7 @@
Name="Source Files"
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
<File
RelativePath="..\..\..\..\Sources\Plasma\FeatureLib\pfCCR\plCCRMgr.cpp">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BasicRuntimeChecks="3"/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\..\..\Sources\Plasma\FeatureLib\pfCCR\plCCRVault.cpp">
RelativePath="..\..\..\..\Sources\Plasma\PubUtilLib\plJPEG\plJPEG.cpp">
<FileConfiguration
Name="Debug|Win32">
<Tool
@ -167,13 +147,7 @@
Name="Header Files"
Filter="h;hpp;hxx;hm;inl">
<File
RelativePath="..\..\..\..\Sources\Plasma\FeatureLib\pfCCR\plCCRCreatable.h">
</File>
<File
RelativePath="..\..\..\..\Sources\Plasma\FeatureLib\pfCCR\plCCRMgr.h">
</File>
<File
RelativePath="..\..\..\..\Sources\Plasma\FeatureLib\pfCCR\plCCRVault.h">
RelativePath="..\..\..\..\Sources\Plasma\PubUtilLib\plJPEG\plJPEG.h">
</File>
</Filter>
</Files>

View File

@ -21,7 +21,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib"
AdditionalIncludeDirectories="../../../../Sources/Plasma/NucleusLib/inc;../../../../Sources/Plasma/PubUtilLib/inc;../../../../Sources/Plasma/CoreLib;../../../../../StaticSDKs/Win32/OpenSSL/include"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
BasicRuntimeChecks="3"
RuntimeLibrary="3"

View File

@ -21,7 +21,7 @@
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="&quot;../../../SDKs/XPlatform/Cypython-2.3.3/pyconfig_static&quot;;&quot;../../../SDKs/XPlatform/Cypython-2.3.3/Include&quot;;&quot;../../../SDKs/XPlatform/Cypython-2.3.3/PC&quot;;..\..\..\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"
AdditionalIncludeDirectories="&quot;../../../SDKs/XPlatform/Cypython-2.3.3/pyconfig_static&quot;;&quot;../../../SDKs/XPlatform/Cypython-2.3.3/Include&quot;;&quot;../../../SDKs/XPlatform/Cypython-2.3.3/PC&quot;;..\..\..\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"
StringPooling="TRUE"
RuntimeLibrary="2"
@ -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 libcrypto.a comsupp.lib binkw32.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"
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="&quot;..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs\Win32&quot;;..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;..\..\..\..\STATICSDKS\XPLATFORM\STLPORT\lib;..\..\..\..\StaticSDKs\Win32\WMSDK\lib;..\..\..\..\STATICSDKS\Win32\ijl\lib;..\..\..\..\StaticSDKs\Win32\eax\lib;..\..\..\..\StaticSDKs\win32\max7sdk\lib;..\..\..\..\StaticSDKs\Win32\oggvorbis\lib;&quot;..\..\..\..\StaticSDKs\Win32\speex-1.0.1\Win32\libspeex\Release&quot;;..\..\..\..\StaticSDKs\Win32\Bink\lib;..\..\..\..\StaticSDKs\Win32\dx8.1sdk\lib;..\..\..\..\StaticSDKs\Win32\OpenAL 1.1 with EFX SDK\libs\Win32"
AdditionalLibraryDirectories="&quot;..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs\Win32&quot;;..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;..\..\..\..\STATICSDKS\XPLATFORM\STLPORT\lib;..\..\..\..\StaticSDKs\Win32\WMSDK\lib;&quot;..\..\..\..\StaticSDKs\XPlatform\jpeg-8c-rgba&quot;;..\..\..\..\StaticSDKs\Win32\eax\lib;..\..\..\..\StaticSDKs\win32\max7sdk\lib;..\..\..\..\StaticSDKs\Win32\oggvorbis\lib;&quot;..\..\..\..\StaticSDKs\Win32\speex-1.0.1\Win32\libspeex\Release&quot;;..\..\..\..\StaticSDKs\Win32\Bink\lib;..\..\..\..\StaticSDKs\Win32\dx8.1sdk\lib;..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib;..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib\x86;&quot;..\..\..\..\StaticSDKs\Win32\OpenAL 1.1 with EFX SDK\libs\Win32&quot;;..\..\..\..\StaticSDKs\XPlatform\png\lib;..\..\..\..\StaticSDKs\Win32\IJL\lib"
IgnoreDefaultLibraryNames="libc.lib,libci.lib,libcmt.lib"
ModuleDefinitionFile="..\..\..\Sources\Tools\MaxMain\main.def"
GenerateDebugInformation="FALSE"
@ -93,7 +93,7 @@ copy &quot;$(TargetPath)&quot; &quot;$(maxr7dir)&quot;\plugins
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="&quot;../../../SDKs/XPlatform/Cypython-2.3.3/pyconfig_static&quot;;&quot;../../../SDKs/XPlatform/Cypython-2.3.3/Include&quot;;&quot;../../../SDKs/XPlatform/Cypython-2.3.3/PC&quot;;..\..\..\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"
AdditionalIncludeDirectories="&quot;../../../SDKs/XPlatform/Cypython-2.3.3/pyconfig_static&quot;;&quot;../../../SDKs/XPlatform/Cypython-2.3.3/Include&quot;;&quot;../../../SDKs/XPlatform/Cypython-2.3.3/PC&quot;;..\..\..\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"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@ -110,11 +110,11 @@ copy &quot;$(TargetPath)&quot; &quot;$(maxr7dir)&quot;\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 libcrypto.a comsupp.lib binkw32.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"
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="&quot;..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs\Win32&quot;;..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;..\..\..\..\STATICSDKS\XPLATFORM\STLPORT\lib;..\..\..\..\StaticSDKs\Win32\WMSDK\lib;..\..\..\..\STATICSDKS\Win32\ijl\lib;..\..\..\..\StaticSDKs\Win32\eax\lib;..\..\..\..\StaticSDKs\win32\max7sdk\lib;..\..\..\..\StaticSDKs\Win32\oggvorbis\lib;&quot;..\..\..\..\StaticSDKs\Win32\speex-1.0.1\Win32\libspeex\Release&quot;;..\..\..\..\StaticSDKs\Win32\Bink\lib;..\..\..\..\StaticSDKs\Win32\dx8.1sdk\lib;&quot;..\..\..\..\StaticSDKs\Win32\OpenAL 1.1 with EFX SDK\libs\Win32&quot;;..\..\..\..\StaticSDKs\Win32\PhysX\lib\Win32"
AdditionalLibraryDirectories="&quot;..\..\..\..\StaticSDKs\XPlatform\expat-1.95.7\StaticLibs\Win32&quot;;..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;..\..\..\..\STATICSDKS\XPLATFORM\STLPORT\lib;..\..\..\..\StaticSDKs\Win32\WMSDK\lib;&quot;..\..\..\..\StaticSDKs\XPlatform\jpeg-8c-rgba&quot;;..\..\..\..\StaticSDKs\Win32\eax\lib;..\..\..\..\StaticSDKs\win32\max7sdk\lib;..\..\..\..\StaticSDKs\Win32\oggvorbis\lib;&quot;..\..\..\..\StaticSDKs\Win32\speex-1.0.1\Win32\libspeex\Release&quot;;..\..\..\..\StaticSDKs\Win32\Bink\lib;..\..\..\..\StaticSDKs\Win32\dx8.1sdk\lib;..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib;..\..\..\..\..\StaticSDKs\Win32\DX9.0c\Lib\x86;&quot;..\..\..\..\StaticSDKs\Win32\OpenAL 1.1 with EFX SDK\libs\Win32&quot;;..\..\..\..\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"
@ -155,6 +155,9 @@ copy &quot;$(TargetPath)&quot; &quot;$(maxr7dir)&quot;\plugins
</Configuration>
</Configurations>
<References>
<ProjectReference
ReferencedProjectIdentifier="{17A0AA3A-8445-4C66-FE58-0A5C222CC474}"
Name="plClientResMgr"/>
</References>
<Files>
<Filter
@ -896,25 +899,6 @@ copy &quot;$(TargetPath)&quot; &quot;$(maxr7dir)&quot;\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="">

View File

@ -903,23 +903,6 @@
Filter="">
<File
RelativePath="..\..\..\Sources\Tools\MaxPlasmaMtls\plBinkBitmap.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\Tools\MaxPlasmaMtls\plBinkBitmap.h">

View File

@ -38,11 +38,11 @@
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2_32.lib wininet.lib winmm.lib odbc32.lib odbccp32.lib comctl32.lib Shlwapi.lib libcrypto.a freetype214_D.lib ijl15l.lib Rpcrt4.lib"
AdditionalDependencies="ws2_32.lib wininet.lib winmm.lib odbc32.lib odbccp32.lib comctl32.lib Shlwapi.lib libeay32.lib freetype214_D.lib libjpeg.lib Rpcrt4.lib"
OutputFile=".\Debug/plFontConverter.exe"
LinkIncremental="1"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\..\..\StaticSDKs\Win32\OpenSSL\lib,../../../../StaticSDKs/Win32/freetype-2.1.4/objs,..\..\..\..\StaticSDKs\Win32\IJL\lib"
AdditionalLibraryDirectories="..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;&quot;../../../../StaticSDKs/Win32/freetype-2.1.4/objs&quot;;&quot;..\..\..\..\StaticSDKs\XPlatform\jpeg-8c-rgba&quot;"
IgnoreDefaultLibraryNames="libc.lib"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile=".\Debug/plFontConverter.pdb"
@ -106,11 +106,11 @@
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="ws2_32.lib wininet.lib winmm.lib odbc32.lib odbccp32.lib comctl32.lib Shlwapi.lib libcrypto.a freetype214.lib ijl15l.lib Rpcrt4.lib"
AdditionalDependencies="ws2_32.lib wininet.lib winmm.lib odbc32.lib odbccp32.lib comctl32.lib Shlwapi.lib libeay32.lib freetype214.lib libjpeg.lib Rpcrt4.lib"
OutputFile=".\Release/plFontConverter.exe"
LinkIncremental="1"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\..\..\StaticSDKs\Win32\OpenSSL\lib,../../../../StaticSDKs/Win32/freetype-2.1.4/objs,..\..\..\..\StaticSDKs\Win32\IJL\lib"
AdditionalLibraryDirectories="..\..\..\..\StaticSDKs\Win32\OpenSSL\lib;&quot;../../../../StaticSDKs/Win32/freetype-2.1.4/objs&quot;;&quot;..\..\..\..\StaticSDKs\XPlatform\jpeg-8c-rgba&quot;"
IgnoreDefaultLibraryNames="libc.lib"
ProgramDatabaseFile=".\Release/plFontConverter.pdb"
SubSystem="2"

View File

@ -114,7 +114,9 @@ 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"
@ -269,11 +271,15 @@ 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
plBinkPlayer::DeInit();
#endif
//
// Get any proxies to commit suicide.
plProxyDrawMsg* nuke = TRACKED_NEW plProxyDrawMsg(plProxyDrawMsg::kAllTypes
@ -816,11 +822,13 @@ 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)
@ -867,6 +875,7 @@ hsBool plClient::MsgReceive(plMessage* msg)
return hsKeyedObject::MsgReceive(msg);
}
#ifdef USE_BINK_SDK
//============================================================================
hsBool plClient::IHandleMovieMsg(plMovieMsg* mov)
{
@ -947,6 +956,7 @@ hsBool plClient::IHandleMovieMsg(plMovieMsg* mov)
return true;
}
#endif // USE_BINK_SDK
int plClient::IFindRoomByLoc(const plLocation& loc)
{
@ -1512,6 +1522,7 @@ hsBool plClient::StartInit()
plgAudioSys::Activate(true);
#ifdef USE_BINK_SDK
plConst(hsScalar) delay(2.f);
//commenting out publisher splash for MORE
//IPlayIntroBink("avi/intro0.bik", delay, 0.f, 0.f, 1.f, 1.f, 0.75);
@ -1519,6 +1530,7 @@ hsBool plClient::StartInit()
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
//
// Init Net before loading things
@ -1924,9 +1936,11 @@ 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);
@ -1957,6 +1971,7 @@ hsBool plClient::IDraw()
return false;
}
#ifdef USE_BINK_SDK
void plClient::IServiceMovies()
{
int i;
@ -1971,7 +1986,9 @@ void plClient::IServiceMovies()
}
}
}
#endif // USE_BINK_SDK
#ifdef USE_BINK_SDK
void plClient::IKillMovies()
{
int i;
@ -1979,7 +1996,9 @@ 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 */)
{
SetQuitIntro(false);
@ -2028,6 +2047,7 @@ hsBool plClient::IPlayIntroBink(const char* movieName, hsScalar endDelay, hsScal
}
return false;
}
#endif // USE_BINK_SDK
hsBool plClient::IFlushRenderRequests()
{

View File

@ -78,7 +78,9 @@ class plFontCache;
class plClientMsg;
class plLocation;
class plMovieMsg;
#ifdef USE_BINK_SDK
class plBinkPlayer;
#endif
class plPreloaderMsg;
class plNetCommAuthMsg;
class plAgeLoaded2Msg;
@ -150,7 +152,9 @@ protected:
int fQuality;
hsBool fQuitIntro;
#ifdef USE_BINK_SDK
hsTArray<plBinkPlayer*> fMovies;
#endif
hsBool fPatchGlobalAges;
@ -191,10 +195,12 @@ protected:
void IProcessRenderRequests(hsTArray<plRenderRequest*>& reqs);
void IAddRenderRequest(plRenderRequest* req);
#ifdef USE_BINK_SDK
hsBool IPlayIntroBink(const char* movieName, hsScalar endDelay, hsScalar posX, hsScalar posY, hsScalar scaleX, hsScalar scaleY, hsScalar volume = 1.0);
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 );

View File

@ -433,35 +433,43 @@ void DebugMsgF(const char* format, ...);
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
static bool gDragging = false;
static UInt32 keyState=0;
static UInt8 mouse_down = 0;
// Handle messages
switch (message) {
case WM_KEYDOWN :
case WM_LBUTTONDOWN :
case WM_RBUTTONDOWN :
case WM_LBUTTONDBLCLK : // The left mouse button was double-clicked.
case WM_MBUTTONDBLCLK : // The middle mouse button was double-clicked.
case WM_MBUTTONDOWN : // The middle mouse button was pressed.
case WM_RBUTTONDBLCLK : // The right mouse button was double-clicked.
case WM_LBUTTONDOWN:
case WM_RBUTTONDOWN:
case WM_LBUTTONDBLCLK:
case WM_MBUTTONDBLCLK:
case WM_MBUTTONDOWN:
case WM_RBUTTONDBLCLK:
// Ensure we don't leave the client area during clicks
if (!(mouse_down++))
SetCapture(hWnd);
// fall through to old case
case WM_KEYDOWN:
// If they did anything but move the mouse, quit any intro movie playing.
if (gClient)
{
if( gClient )
gClient->SetQuitIntro(true);
}
// Fall through to other events
case WM_KEYUP :
case WM_LBUTTONUP :
case WM_RBUTTONUP :
case WM_MBUTTONUP : // The middle mouse button was released.
case 0x020A: // fuc&ing windows b.s...
{
if (gClient && gClient->WindowActive() && gClient->GetInputManager())
{
gClient->SetQuitIntro(true);
// normal input processing
if (gClient->WindowActive() && gClient->GetInputManager())
gClient->GetInputManager()->HandleWin32ControlEvent(message, wParam, lParam, hWnd);
}
}
break;
case WM_LBUTTONUP:
case WM_RBUTTONUP:
case WM_MBUTTONUP:
// Stop hogging the cursor
if (!(--mouse_down))
ReleaseCapture();
// fall through to input processing
case WM_MOUSEWHEEL:
case WM_KEYUP:
if (gClient && gClient->WindowActive() && gClient->GetInputManager())
gClient->GetInputManager()->HandleWin32ControlEvent(message, wParam, lParam, hWnd);
break;
case WM_MOUSEMOVE:
{

View File

@ -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"

View File

@ -43,7 +43,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#define plUnzip_h_inc
#include "hsTypes.h"
#include "../src/contrib/minizip/unzip.h"
#include "contrib/minizip/unzip.h"
class plUnzip
{

View File

@ -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)

View File

@ -54,7 +54,9 @@ 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"
#include "../pfSecurePreloader/pfSecurePreloaderCreatable.h"

View File

@ -57,7 +57,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "../plAvatar/plAvatarMgr.h"
#include "../plAvatar/plArmatureMod.h"
#include "../plAvatar/plAvCallbackAction.h"
#include "../plAvatar/plPhysicalControllerCore.h"
hsBool plListener::fPrintDbgInfo = false;

View File

@ -1,48 +0,0 @@
/*==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 plCCRCreatable_inc
#define plCCRCreatable_inc
#include "plCCRMgr.h"
#endif // plCCRCreatable_inc

View File

@ -1,47 +0,0 @@
/*==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==*/
#include "plCCRMgrBase.h"
#include "plCCRMgr.h"
// static
plCCRMgrBase* plCCRMgrBase::fBaseInstance=nil;

View File

@ -1,41 +0,0 @@
/*==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==*/

View File

@ -1,46 +0,0 @@
/*==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 plCCRVault_h
#define plCCRVault_h
#endif // plCCRVault_h

View File

@ -63,7 +63,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "../pnSceneObject/plSimulationInterface.h"
#include "../plAvatar/plAvatarMgr.h"
#include "../plAvatar/plArmatureMod.h"
#include "../plAvatar/plAvCallbackAction.h"
#include "../plAvatar/plPhysicalControllerCore.h"
// new stuff

View File

@ -40,37 +40,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
*==LICENSE==*/
//////////////////////////////////////////////////////////////////////////////
// //
// CCR Console Commands and Groups //
// These console commands are meant for use by customer care reps. //
// Eventually the functionality defined here will be accessed through a GUI//
// //
//////////////////////////////////////////////////////////////////////////////
//
// Only calls to the CCRMgr interface are allowed here
// See me if you need to include any other files...
//
#include "pfConsoleCmd.h"
#include "pfConsole.h"
#include "../pfCCR/plCCRMgr.h"
#include "../plNetClient/plNetClientMgr.h"
//// This is here so Microsoft VC won't decide to "optimize" this file out
// YOU ALSO NEED TO CALL THIS FXN
void pfConsoleCmdGroup::DummyCCR( void )
{
}
void PrintStringF(void pfun(const char *),const char * fmt, ...);
/////////////////////////////////////////////////////////////////
//
// Please see pfConsoleCommands.cpp for detailed instructions on
// how to add console commands.
//
/////////////////////////////////////////////////////////////////
#define PF_SANITY_CHECK( cond, msg ) { if( !( cond ) ) { PrintString( msg ); return; } }
#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

View File

@ -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;

View File

@ -7001,38 +7001,6 @@ PF_CONSOLE_CMD( KI, // Group name
PF_CONSOLE_GROUP( Python ) // Defines a main command group
PF_CONSOLE_CMD( Python, // Group name
RunFile, // Function name
"string filename", // Params
"Run the specified Python file program" ) // Help string
{
// now evaluate this mess they made
PyObject* mymod = PythonInterface::FindModule("__main__");
// make sure the filename doesn't have the .py extension (import doesn't need it)
char importname[200];
int i;
for (i=0; i<199; i++ )
{
char ch = ((const char*)params[0])[i];
// if we are at the end of the string or at a dot, truncate here
if ( ch == '.' || ch == 0 )
break;
else
importname[i] = ((const char*)params[0])[i];
}
importname[i] = 0;
// create the line to execute the file
char runline[256];
sprintf(runline,"import %s", importname);
PythonInterface::RunString(runline,mymod);
std::string output;
// get the messages
PythonInterface::getOutputAndReset(&output);
PrintString(output.c_str());
}
#include "../pfPython/cyMisc.h"
PF_CONSOLE_CMD( Python, // Group name
@ -7074,16 +7042,18 @@ PF_CONSOLE_CMD( Python,
"string functions, ...", // Params
"Run a cheat command" )
{
const char* extraParms = "";
std::string extraParms;
if (numParams > 1)
extraParms = params[1];
// now evaluate this mess they made
PyObject* mymod = PythonInterface::FindModule("__main__");
{
extraParms = "(";
extraParms.append(params[1]);
extraParms.append(",)");
}
else
extraParms = "()";
PythonInterface::RunFunctionSafe("xCheat", params[0], extraParms.c_str());
// create the line to execute the file
char runline[256];
sprintf(runline,"import xCheat;xCheat.%s('%s')", (const char*)params[0],extraParms);
PythonInterface::RunString(runline,mymod);
std::string output;
// get the messages
PythonInterface::getOutputAndReset(&output);

View File

@ -78,7 +78,9 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "../plSurface/plLayer.h"
#include "../plSurface/hsGMaterial.h"
#include "../plAgeLoader/plAgeLoader.h"
#ifdef USE_BINK_SDK
#include "../pfSurface/plLayerBink.h"
#endif
// So we can do image searches in our local age
#include "../plNetClient/plNetClientMgr.h"
@ -1000,8 +1002,10 @@ void pfBookData::IFinishTriggeredFlip(hsBool wasBackwards)
if (fCurrBook)
{
fCurrBook->IRenderPage(fCurrBook->fCurrentPage, pfJournalDlgProc::kTagLeftDTMap);
#ifdef USE_BINK_SDK
// move the videos over
fCurrBook->IMoveMovies(PageMaterial(kTurnFrontPage),PageMaterial(kRightPage));
#endif // USE_BINK_SDK
}
}
else
@ -1022,8 +1026,10 @@ void pfBookData::IFinishTriggeredFlip(hsBool wasBackwards)
if (fCurrBook)
{
fCurrBook->IRenderPage(fCurrBook->fCurrentPage + 1, pfJournalDlgProc::kTagRightDTMap);
#ifdef USE_BINK_SDK
// move the videos over
fCurrBook->IMoveMovies(PageMaterial(kTurnBackPage),PageMaterial(kLeftPage));
#endif // USE_BINK_SDK
}
}
@ -1324,6 +1330,7 @@ void pfJournalBook::Show( hsBool startOpened /*= false */)
if (decal != nil)
layers.Append(IMakeDecalLayer(fCoverDecals[i],decal,mip));
}
#ifdef USE_BINK_SDK
else
{
// it's a cover movie, not a decal, so we make a layer, thinking it's at 0,0 and a left map (which gives us the results we want)
@ -1335,6 +1342,7 @@ void pfJournalBook::Show( hsBool startOpened /*= false */)
layers.Append(plLayerInterface::ConvertNoRef(movieLayer));
fVisibleLinks.Reset(); // remove any links that the make movie layer might have added, since a cover movie can't link
}
#endif
}
ISetDecalLayers(cover,layers);
}
@ -1394,6 +1402,7 @@ void pfJournalBook::Hide( void )
// purge the dynaTextMaps, we're done with them for now
IPurgeDynaTextMaps();
// nuke the movies so they don't stay in memory (they're big!)
#ifdef USE_BINK_SDK
int i;
for( i = 0; i < fLoadedMovies.GetCount(); i++ )
{
@ -1402,6 +1411,7 @@ void pfJournalBook::Hide( void )
delete fLoadedMovies[ i ];
}
fLoadedMovies.Reset();
#endif // USE_BINK_SDK
}
}
@ -1548,8 +1558,10 @@ void pfJournalBook::NextPage( void )
if( turnFront->GetDeviceRef() != nil )
turnFront->GetDeviceRef()->SetDirty( true );
}
#ifdef USE_BINK_SDK
// copy the videos over
IMoveMovies( fBookGUIs[fCurBookGUI]->PageMaterial(pfBookData::kRightPage), fBookGUIs[fCurBookGUI]->PageMaterial(pfBookData::kTurnFrontPage) );
#endif // USE_BINK_SDK
IRenderPage( fCurrentPage, pfJournalDlgProc::kTagTurnBackDTMap );
// This will fire a callback when it's done that'll let us continue the setup
@ -1616,8 +1628,10 @@ void pfJournalBook::PreviousPage( void )
if( turnBack->GetDeviceRef() != nil )
turnBack->GetDeviceRef()->SetDirty( true );
}
#ifdef USE_BINK_SDK
// copy the videos over
IMoveMovies( fBookGUIs[fCurBookGUI]->PageMaterial(pfBookData::kLeftPage), fBookGUIs[fCurBookGUI]->PageMaterial(pfBookData::kTurnBackPage) );
#endif // USE_BINK_SDK
IRenderPage( fCurrentPage + 1, pfJournalDlgProc::kTagTurnFrontDTMap );
// This will fire a callback when it's done that'll let us continue the setup
@ -2475,6 +2489,7 @@ void pfJournalBook::IFreeSource( void )
delete fCoverDecals[ i ];
fCoverDecals.Reset();
#ifdef USE_BINK_SDK
for( i = 0; i < fLoadedMovies.GetCount(); i++ )
{
plLayerBink *movie = fLoadedMovies[ i ]->movieLayer;
@ -2482,6 +2497,7 @@ void pfJournalBook::IFreeSource( void )
delete fLoadedMovies[ i ];
}
fLoadedMovies.Reset();
#endif // USE_BINK_SDK
}
//// IGetMipmapKey ///////////////////////////////////////////////////////////
@ -2584,6 +2600,7 @@ void pfJournalBook::IRenderPage( UInt32 page, UInt32 whichDTMap, hsBool suppress
else if (whichDTMap == pfJournalDlgProc::kTagTurnBackDTMap)
material = fBookGUIs[fCurBookGUI]->PageMaterial(pfBookData::kTurnBackPage);
#ifdef USE_BINK_SDK
if (material)
{
// clear any exiting layers (movies) from the material
@ -2599,6 +2616,7 @@ void pfJournalBook::IRenderPage( UInt32 page, UInt32 whichDTMap, hsBool suppress
}
}
}
#endif // USE_BINK_SDK
hsAssert(page < fPageStarts.GetCount() || page > fLastPage, "UnInitialized page start!");
if( page <= fLastPage
@ -2786,6 +2804,7 @@ void pfJournalBook::IRenderPage( UInt32 page, UInt32 whichDTMap, hsBool suppress
break;
case pfEsHTMLChunk::kMovie:
#ifdef USE_BINK_SDK
movieAlreadyLoaded = (IMovieAlreadyLoaded(chunk) != nil); // have we already cached it?
plLayerBink *movieLayer = IMakeMovieLayer(chunk, x, y, (plMipmap*)dtMap, whichDTMap, suppressRendering);
if (movieLayer)
@ -2826,6 +2845,7 @@ void pfJournalBook::IRenderPage( UInt32 page, UInt32 whichDTMap, hsBool suppress
if (material && !suppressRendering)
material->AddLayerViaNotify(movieLayer);
}
#endif // USE_BINK_SDK
break;
}
}
@ -2850,6 +2870,7 @@ void pfJournalBook::IRenderPage( UInt32 page, UInt32 whichDTMap, hsBool suppress
//// IMoveMovies /////////////////////////////////////////////////////////////
#ifdef USE_BINK_SDK
void pfJournalBook::IMoveMovies( hsGMaterial *source, hsGMaterial *dest )
{
hsTArray<plLayerBink*> moviesOnPage;
@ -2886,6 +2907,7 @@ void pfJournalBook::IMoveMovies( hsGMaterial *source, hsGMaterial *dest )
}
}
}
#endif // USE_BINK_SDK
//// IDrawMipmap /////////////////////////////////////////////////////////////
@ -2983,6 +3005,7 @@ void pfJournalBook::IDrawMipmap( pfEsHTMLChunk *chunk, UInt16 x, UInt16 y, plMip
delete copy;
}
#ifdef USE_BINK_SDK
pfJournalBook::loadedMovie *pfJournalBook::IMovieAlreadyLoaded(pfEsHTMLChunk *chunk)
{
int i;
@ -2993,15 +3016,19 @@ pfJournalBook::loadedMovie *pfJournalBook::IMovieAlreadyLoaded(pfEsHTMLChunk *ch
}
return nil;
}
#endif // USE_BINK_SDK
plKey pfJournalBook::GetMovie(UInt8 index)
{
#ifdef USE_BINK_SDK
loadedMovie *movie = IGetMovieByIndex(index);
if (movie)
return movie->movieLayer->GetKey();
#endif // USE_BINK_SDK
return plKey(nil);
}
#ifdef USE_BINK_SDK
pfJournalBook::loadedMovie *pfJournalBook::IGetMovieByIndex(UInt8 index)
{
int i;
@ -3012,7 +3039,9 @@ pfJournalBook::loadedMovie *pfJournalBook::IGetMovieByIndex(UInt8 index)
}
return nil;
}
#endif // USE_BINK_SDK
#ifdef USE_BINK_SDK
plLayerBink *pfJournalBook::IMakeMovieLayer(pfEsHTMLChunk *chunk, UInt16 x, UInt16 y, plMipmap *baseMipmap, UInt32 whichDTMap, hsBool dontRender)
{
// see if it's already loaded
@ -3175,6 +3204,7 @@ plLayerBink *pfJournalBook::IMakeMovieLayer(pfEsHTMLChunk *chunk, UInt16 x, UInt
return movieLayer;
}
#endif // USE_BINK_SDK
plLayerInterface *pfJournalBook::IMakeBaseLayer(plMipmap *image)
{

View File

@ -528,8 +528,10 @@ class pfJournalBook : public hsKeyedObject
// Renders one (1) page into the given DTMap
void IRenderPage( UInt32 page, UInt32 whichDTMap, hsBool suppressRendering = false );
#ifdef USE_BINK_SDK
// moves the movie layers from one material onto another
void IMoveMovies( hsGMaterial *source, hsGMaterial *dest);
#endif
// Starting at the given chunk, works backwards to determine the full set of current
// font properties at that point, or assigns defaults if none were specified
@ -570,9 +572,11 @@ class pfJournalBook : public hsKeyedObject
void IDrawMipmap( pfEsHTMLChunk *chunk, UInt16 x, UInt16 y, plMipmap *mip, plDynamicTextMap *dtMap, UInt32 whichDTMap, hsBool dontRender );
// Movie functions
#ifdef USE_BINK_SDK
loadedMovie *IMovieAlreadyLoaded(pfEsHTMLChunk *chunk);
loadedMovie *IGetMovieByIndex(UInt8 index);
plLayerBink *IMakeMovieLayer(pfEsHTMLChunk *chunk, UInt16 x, UInt16 y, plMipmap *baseMipmap, UInt32 whichDTMap, hsBool dontRender);
#endif
// Cover functions
plLayerInterface *IMakeBaseLayer(plMipmap *image);

View File

@ -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"
@ -1718,6 +1720,20 @@ void PythonInterface::WriteToStdErr(const char* text)
}
}
PyObject* PythonInterface::ImportModule(const char* module)
{
PyObject* result = nil;
PyObject* name = PyString_FromString(module);
if (name != nil)
{
result = PyImport_Import(name);
Py_DECREF(name);
}
return result;
}
/////////////////////////////////////////////////////////////////////////////
//
// Function : FindModule
@ -2061,6 +2077,78 @@ hsBool PythonInterface::RunPYC(PyObject* code, PyObject* module)
return true;
}
/////////////////////////////////////////////////////////////////////////////
//
// Function : RunFunction
// PARAMETERS : module - module name to run 'name' in
// : name - name of function
// : args - tuple with arguments
//
//
PyObject* PythonInterface::RunFunction(PyObject* module, const char* name, PyObject* args)
{
if (module == NULL)
return NULL;
PyObject* function = PyObject_GetAttrString(module, const_cast<char*>(name));
PyObject* result = NULL;
if (function != nil)
{
result = PyObject_Call(function, args, NULL);
Py_DECREF(function);
}
return result;
}
PyObject* PythonInterface::ParseArgs(const char* args)
{
PyObject* result = NULL;
PyObject* scope = PyDict_New();
if (scope)
{
//- Py_eval_input makes this function accept only single expresion (not statement)
//- When using empty scope, functions and classes like 'file' or '__import__' are not visible
result = PyRun_String(args, Py_eval_input, scope, NULL);
Py_DECREF(scope);
}
return result;
}
bool PythonInterface::RunFunctionSafe(const char* module, const char* function, const char* args)
{
PyObject* moduleObj = ImportModule(module);
bool result = false;
if (moduleObj)
{
PyObject* argsObj = ParseArgs(args);
if (argsObj)
{
PyObject* callResult = RunFunction(moduleObj, function, argsObj);
if (callResult)
{
result = true;
Py_DECREF(callResult);
}
Py_DECREF(argsObj);
}
Py_DECREF(moduleObj);
}
if (!result)
{
PyErr_Print();
if (Py_FlushLine())
PyErr_Clear();
}
return result;
}
/////////////////////////////////////////////////////////////////////////////
//
// Function : GetpyKeyFromPython
@ -2073,4 +2161,4 @@ pyKey* PythonInterface::GetpyKeyFromPython(PyObject* pkey)
if (!pyKey::Check(pkey))
return nil;
return pyKey::ConvertFrom(pkey);
}
}

View File

@ -138,6 +138,8 @@ public:
// Writes 'text' to stderr specified in the python interface
static void WriteToStdErr(const char* text);
static PyObject* ImportModule(const char* module);
// Find module. If it doesn't exist then don't create, return nil.
static PyObject* FindModule(char* module);
@ -219,6 +221,12 @@ public:
//
static hsBool RunPYC(PyObject* code, PyObject* module);
static PyObject* RunFunction(PyObject* module, const char* name, PyObject* args);
static PyObject* ParseArgs(const char* args);
static bool RunFunctionSafe(const char* module, const char* function, const char* args);
/////////////////////////////////////////////////////////////////////////////
//
// Function : GetpyKeyFromPython

View File

@ -39,11 +39,8 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
Mead, WA 99021
*==LICENSE==*/
//////////////////////////////////////////////////////////////////////
//
// pyCCRMgr - a wrapper class to provide interface to the pfCCR stuff
//
//////////////////////////////////////////////////////////////////////
#include "../pfCCR/plCCRMgr.h"
#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

View File

@ -1,56 +0,0 @@
/*==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 pyCCRMgr_h_inc
#define pyCCRMgr_h_inc
//////////////////////////////////////////////////////////////////////
//
// pyCCRMgr - a wrapper class to provide interface to the pfCCR stuff
//
//////////////////////////////////////////////////////////////////////
#include "hsTypes.h"
#include "hsStlUtils.h"
#include "../pfCCR/plCCRMgr.h"
#endif // pyCCRMgr_h_inc

View File

@ -39,7 +39,8 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
Mead, WA 99021
*==LICENSE==*/
#include "pyCCRMgr.h"
#include "pyAgeLinkStruct.h"
#include <python.h>
#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

View File

@ -39,6 +39,8 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
Mead, WA 99021
*==LICENSE==*/
#include "pyCCRMgr.h"
#include <python.h>
#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

View File

@ -545,7 +545,7 @@ hsBool pySceneObject::IsAvatar()
return false;
}
#include "../plAvatar/plAvCallbackAction.h"
#include "../plAvatar/plPhysicalControllerCore.h"
PyObject* pySceneObject::GetAvatarVelocity()
{

View File

@ -49,9 +49,11 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
REGISTER_NONCREATABLE( plLayerMovie );
#ifdef USE_BINK_SDK
#include "plLayerBink.h"
REGISTER_CREATABLE( plLayerBink );
#endif
#include "plLayerAVI.h"

View File

@ -1,65 +0,0 @@
/*==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 plLayerBink_inc
#define plLayerBink_inc
#include "plLayerMovie.h"
class plLayerBink : public plLayerMovie
{
protected:
virtual Int32 ISecsToFrame(float secs) { return 0; }
virtual hsBool IInit() { return true; }
virtual hsBool IGetCurrentFrame() { return true; }
virtual hsBool IRelease() { return true; }
public:
plLayerBink() { }
virtual ~plLayerBink() { }
CLASSNAME_REGISTER( plLayerBink );
GETINTERFACE_ANY( plLayerBink, plLayerMovie );
};
#endif // plLayerBink_inc

View File

@ -166,7 +166,7 @@ void LogMsgV (ELogSeverity severity, const wchar format[], va_list args) {
}
//============================================================================
#ifdef HS_DEBUGGING
//#ifdef HS_DEBUGGING
void LogMsgDebug (const char format[], ...) {
ASSERT(format);
@ -175,10 +175,10 @@ void LogMsgDebug (const char format[], ...) {
LogMsgV(kLogDebug, format, args);
va_end(args);
}
#endif
//#endif
//============================================================================
#ifdef HS_DEBUGGING
//#ifdef HS_DEBUGGING
void LogMsgDebug (const wchar format[], ...) {
ASSERT(format);
@ -187,4 +187,4 @@ void LogMsgDebug (const wchar format[], ...) {
LogMsgV(kLogDebug, format, args);
va_end(args);
}
#endif
//#endif

View File

@ -114,14 +114,14 @@ void LogUnregisterHandler (FLogHandler callback);
*
***/
#ifdef HS_DEBUGGING
//#ifdef HS_DEBUGGING
void LogMsgDebug (const char format[], ...);
void LogMsgDebug (const wchar format[], ...);
#else
inline void LogMsgDebug (const char *, ...) { }
inline void LogMsgDebug (const wchar *, ...) { }
#endif
//#else
//
// inline void LogMsgDebug (const char *, ...) { }
// inline void LogMsgDebug (const wchar *, ...) { }
//
//#endif

View File

@ -56,7 +56,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
*
***/
const unsigned CLASS_C_SUBNET_MASK = 0xFFFFFF00;
const unsigned CLASS_C_SUBNET_MASK = 0xFFFF0000;
const NetAddressNode LOOPBACK_ADDRESS_NODE = 0x7F000001;

View File

@ -57,7 +57,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
// This line must NEVER be modified manually; it is automatically updated
// by the build server.
#define BUILD_ID 912
#define BUILD_ID 918
COMPILER_ASSERT(BUILD_ID != 0);

View File

@ -46,6 +46,18 @@ 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"
#include "hsThread.h"
#ifndef EAX_SDK_AVAILABLE

View File

@ -39,7 +39,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
Mead, WA 99021
*==LICENSE==*/
#include "plAvCallbackAction.h" // must be first: references havok new
// singular
#include "plAnimStage.h"

View File

@ -1,171 +0,0 @@
/*==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==*/
#if 0
// havok first
#include <hkdynamics/entity/rigidbody.h>
#include <hkdynamics/world/subspace.h>
#include "plAntiGravAction.h"
#include "../pnSceneObject/plSceneObject.h"
#include "../plHavok1/plHKPhysical.h"
#include "../plAvatar/plSwimRegion.h"
#include "hsTimer.h"
// This is meant to be a specific physicsAction for the swim behavior
plAntiGravAction::plAntiGravAction(plHKPhysical *physical, plAGApplicator *rootApp) :
plAnimatedCallbackAction(physical, rootApp),
fOnGround(false),
fBuoyancy(1.f),
fSurfaceHeight(0.f),
fCurrentRegion(nil),
fHadContacts(false)
{
}
plSimDefs::ActionType plAntiGravAction::GetType()
{
return plSimDefs::kAntiGravAction;
}
void plAntiGravAction::apply(Havok::Subspace &space, Havok::hkTime time)
{
double elapsed = time.asDouble() - getRefresh().asDouble();
setRefresh(time);
IAdjustBuoyancy();
Havok::RigidBody *body = fPhysical->GetBody();
float mass = body->getMass();
Havok::Vector3 gravity = space.getGravity();
Havok::Vector3 force = -gravity * (mass * fBuoyancy);
body->applyForce(force);
hsVector3 vel;
fPhysical->GetLinearVelocitySim(vel);
fAnimPosVel.fZ = vel.fZ;
hsVector3 linCurrent(0.f, 0.f, 0.f);
hsScalar angCurrent = 0.f;
if (fCurrentRegion != nil)
fCurrentRegion->GetCurrent(fPhysical, linCurrent, angCurrent, (hsScalar)elapsed);
int numContacts = fPhysical->GetNumContacts();
fHadContacts = (numContacts > 0);
const Havok::Vector3 straightUp(0.0f, 0.0f, 1.0f);
fOnGround = false;
int i;
for (i = 0; i < numContacts; i++)
{
const Havok::ContactPoint *contact = fPhysical->GetContactPoint(i);
hsScalar dotUp = straightUp.dot(contact->m_normal);
if (dotUp > .5)
{
fOnGround = true;
break;
}
}
fPhysical->SetLinearVelocitySim(fAnimPosVel + linCurrent);
fPhysical->SetAngularVelocitySim(hsVector3(0.f, 0.f, fAnimAngVel + fTurnStr + angCurrent));
}
void plAntiGravAction::SetSurface(plSwimRegionInterface *region, hsScalar surfaceHeight)
{
fCurrentRegion = region;
if (region != nil)
fSurfaceHeight = surfaceHeight;
}
void plAntiGravAction::IAdjustBuoyancy()
{
// "surface depth" refers to the depth our handle object should be below
// the surface for the avatar to be "at the surface"
static const float surfaceDepth = 4.0f;
// 1.0 = neutral buoyancy
// 0 = no buoyancy (normal gravity)
// 2.0 = opposite of gravity, floating upwards
static const float buoyancyAtSurface = 1.0f;
if (fCurrentRegion == nil)
{
fBuoyancy = 0.f;
return;
}
hsMatrix44 l2w, w2l;
fPhysical->GetTransform(l2w, w2l);
float depth = fSurfaceHeight - surfaceDepth - l2w.GetTranslate().fZ;
if (depth < -1)
fBuoyancy = 0.f; // Same as being above ground. Plain old gravity.
else if (depth < 0)
fBuoyancy = 1 + depth;
else
{
hsVector3 vel;
fPhysical->GetLinearVelocitySim(vel);
if (vel.fZ > 0)
{
if (vel.fZ > fCurrentRegion->fMaxUpwardVel)
{
vel.fZ = fCurrentRegion->fMaxUpwardVel;
fPhysical->SetLinearVelocitySim(vel);
}
else
{
if (depth > 1)
fBuoyancy = fCurrentRegion->fUpBuoyancy;
else
fBuoyancy = (fCurrentRegion->fUpBuoyancy - 1) * depth + 1;
}
}
else
{
if (depth > 1)
fBuoyancy = fCurrentRegion->fDownBuoyancy;
else
fBuoyancy = (fCurrentRegion->fDownBuoyancy - 1) * depth + 1;
}
}
}
#endif

View File

@ -1,79 +0,0 @@
/*==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==*/
#if 0//ndef PL_ANTI_GRAV_ACTION_H
#define PL_ANTI_GRAV_ACTION_H
#include "plAvCallbackAction.h"
class plSwimRegionInterface;
class plAntiGravAction : public plAnimatedCallbackAction
{
public:
plAntiGravAction(plHKPhysical *physical, plAGApplicator *rootApp);
/** Return the type of the action as defined in the enum plSimDefs::ActionType.
Used to retrieve actions by entity/type indexing, and to
reuse actions that can be shared between entities. */
virtual plSimDefs::ActionType GetType();
/** Called by Havok at substep frequency. */
void apply(Havok::Subspace &s, Havok::hkTime time);
void SetSurface(plSwimRegionInterface *region, hsScalar surfaceHeight);
hsScalar GetBuoyancy() { return fBuoyancy; }
hsBool IsOnGround() { return fOnGround; }
hsBool HadContacts() { return fHadContacts; }
protected:
void IAdjustBuoyancy();
hsBool fOnGround;
hsBool fHadContacts;
hsScalar fBuoyancy;
hsScalar fSurfaceHeight;
plSwimRegionInterface *fCurrentRegion;
};
#endif

View File

@ -39,7 +39,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
Mead, WA 99021
*==LICENSE==*/
#include "plAvCallbackAction.h"
#include "../plStatusLog/plStatusLog.h"
#include "plArmatureEffects.h"

View File

@ -54,7 +54,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "plAvBrainHuman.h"
#include "plMatrixChannel.h"
#include "plAvatarTasks.h"
#include "plAvCallbackAction.h"
#include "plPhysicalControllerCore.h"
#include "plAvBrainCritter.h"
// global
@ -534,8 +534,7 @@ void plArmatureModBase::EnablePhysics(hsBool status, UInt16 reason /* = kDisable
// i.e. normal enabled physical
void plArmatureModBase::EnablePhysicsKinematic(hsBool status)
{
if (fController)
fController->Kinematic(status);
EnablePhysics(!status, kDisableReasonKinematic);
}
void plArmatureModBase::EnableDrawing(hsBool status, UInt16 reason /* = kDisableReasonUnknown */)
@ -1302,7 +1301,7 @@ hsBool plArmatureMod::MsgReceive(plMessage* msg)
if(spawnSO)
{
hsMatrix44 l2w = spawnSO->GetLocalToWorld();
plWarpMsg *warpM = TRACKED_NEW plWarpMsg(nil, GetTarget(0)->GetKey(), 0, l2w);
plWarpMsg *warpM = TRACKED_NEW plWarpMsg(nil, GetTarget(0)->GetKey(), plWarpMsg::kFlushTransform, l2w);
warpM->Send();
fWaitFlags &= ~kNeedSpawn;
}
@ -2007,7 +2006,7 @@ hsBool plArmatureMod::ValidatePhysics()
return false;
if (!fController)
fController = plPhysicalControllerCore::Create(GetTarget(0)->GetKey(), fPhysHeight, fPhysWidth);
fController = plPhysicalControllerCore::Create(GetTarget(0)->GetKey(), fPhysHeight, fPhysWidth, (fBodyType == kBoneBaseMale || fBodyType == kBoneBaseFemale));
if (fController)
{
@ -2684,19 +2683,7 @@ void plArmatureMod::DumpToDebugDisplay(int &x, int &y, int lineHeight, char *str
debugTxt.DrawString(x, y, strBuf);
y += lineHeight;
hsPoint3 kPos;
char *kinematic = "n.a.";
const char* frozen = "n.a.";
if (fController)
{
fController->GetKinematicPosition(kPos);
kinematic = fController->IsKinematic() ? "on" : "off";
}
sprintf(strBuf, "kinematc(world): %.2f, %.2f, %.2f Kinematic: %3s",
kPos.fX, kPos.fY, kPos.fZ,kinematic);
debugTxt.DrawString(x, y, strBuf);
y += lineHeight;
if (fController)
frozen = fController->IsEnabled() ? "no" : "yes";

View File

@ -145,6 +145,7 @@ public:
kDisableReasonCCR = 0x0008,
kDisableReasonVehicle = 0x0010,
kDisableReasonGenericBrain = 0x0020,
kDisableReasonKinematic = 0x0040
};
void EnablePhysics(hsBool status, UInt16 reason = kDisableReasonUnknown);
void EnablePhysicsKinematic(hsBool status);

View File

@ -42,7 +42,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "hsConfig.h"
#include "hsWindows.h"
#include "plAvCallbackAction.h"
#include "plPhysicalControllerCore.h"
#include "plAvBrainCritter.h"
#include "plAvBrainHuman.h"
#include "plArmatureMod.h"
@ -127,7 +127,7 @@ protected:
///////////////////////////////////////////////////////////////////////////////
plAvBrainCritter::plAvBrainCritter(): fCallbackAction(nil), fCurMode(kIdle), fNextMode(kIdle), fFadingNextBehavior(true),
plAvBrainCritter::plAvBrainCritter(): fWalkingStrategy(nil), fCurMode(kIdle), fNextMode(kIdle), fFadingNextBehavior(true),
fLocallyControlled(false), fAvoidingAvatars(false), fFinalGoalPos(0, 0, 0), fImmediateGoalPos(0, 0, 0), fDotGoal(0),
fAngRight(0)
{
@ -145,8 +145,8 @@ plAvBrainCritter::~plAvBrainCritter()
fBehaviors[i] = nil;
}
delete fCallbackAction;
fCallbackAction = nil;
delete fWalkingStrategy;
fWalkingStrategy = nil;
fUserBehaviors.clear();
fReceivers.clear();
@ -169,8 +169,8 @@ hsBool plAvBrainCritter::Apply(double time, hsScalar elapsed)
IProcessBehavior(time, elapsed); // just continue with the currently running one
// update our controller to keep us turned and moving to where we want to go
fCallbackAction->RecalcVelocity(time, time - elapsed);
fCallbackAction->SetTurnStrength(IGetTurnStrength(time));
fWalkingStrategy->SetTurnStrength(IGetTurnStrength(time));
fWalkingStrategy->RecalcVelocity(time, elapsed);
return plArmatureBrain::Apply(time, elapsed);
}
@ -190,13 +190,13 @@ void plAvBrainCritter::Activate(plArmatureModBase* avMod)
IInitBaseAnimations();
// create the controller if we haven't done so already
if (!fCallbackAction)
if (!fWalkingStrategy)
{
plSceneObject* avObj = fArmature->GetTarget(0);
plAGModifier* agMod = const_cast<plAGModifier*>(plAGModifier::ConvertNoRef(FindModifierByClass(avObj, plAGModifier::Index())));
plPhysicalControllerCore* controller = avMod->GetController();
fCallbackAction = TRACKED_NEW plWalkingController(avObj, agMod->GetApplicator(kAGPinTransform), controller);
fCallbackAction->ActivateController();
fWalkingStrategy = TRACKED_NEW plWalkingStrategy(agMod->GetApplicator(kAGPinTransform), controller);
controller->SetMovementStrategy(fWalkingStrategy);
}
// tell people that care that we are good to go
@ -226,7 +226,7 @@ void plAvBrainCritter::Resume()
// fade in the idle
fNextMode = kIdle;
fCallbackAction->Reset(false);
fWalkingStrategy->Reset(false);
plArmatureBrain::Resume();
}

View File

@ -47,7 +47,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "../pnKeyedObject/plKey.h"
class plArmatureMod;
class plWalkingController;
class plWalkingStrategy;
class plAIMsg;
class plAvBrainCritter : public plArmatureBrain
@ -127,8 +127,6 @@ public:
virtual void DumpToDebugDisplay(int& x, int& y, int lineHeight, char* strBuf, plDebugText& debugTxt);
plWalkingController* GetCallbackAction() {return fCallbackAction;}
// For the console
static bool fDrawDebug;
@ -152,7 +150,7 @@ protected:
std::vector<plArmatureMod*> IAvatarsICanSee() const;
std::vector<plArmatureMod*> IAvatarsICanHear() const;
plWalkingController* fCallbackAction;
plWalkingStrategy* fWalkingStrategy;
int fCurMode; // current behavior we are running
int fNextMode; // the next behavior to run (-1 if we aren't switching on next eval)
bool fFadingNextBehavior; // is the next behavior supposed to blend?

View File

@ -42,7 +42,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
// local includes
#include "plAvBrainDrive.h"
#include "plArmatureMod.h"
#include "plAvCallbackAction.h"
// global includes
#include "hsTimer.h"

View File

@ -39,7 +39,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
Mead, WA 99021
*==LICENSE==*/
#include "plAvCallbackAction.h" // havok-contaminated file: must go first
// singular
#include "plAvBrainGeneric.h"
@ -94,7 +93,6 @@ plAvBrainGeneric::plAvBrainGeneric()
fFadeIn(0.0f),
fFadeOut(0.0f),
fMoveMode(kMoveRelative),
fCallbackAction(nil),
fBodyUsage(plAGAnim::kBodyUnknown)
{
}
@ -122,7 +120,6 @@ plAvBrainGeneric::plAvBrainGeneric(plAnimStageVec *stages,
fFadeIn(fadeIn),
fFadeOut(fadeOut),
fMoveMode(moveMode),
fCallbackAction(nil),
fBodyUsage(plAGAnim::kBodyUnknown)
{
}
@ -141,7 +138,6 @@ plAvBrainGeneric::plAvBrainGeneric(UInt32 exitFlags, float fadeIn, float fadeOut
fFadeIn(fadeIn),
fFadeOut(fadeOut),
fMoveMode(moveMode),
fCallbackAction(nil),
fBodyUsage(plAGAnim::kBodyUnknown)
{

View File

@ -49,7 +49,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
class plAnimStage;
class plAnimStageVec;
class plAvBrainGenericMsg;
class plHorizontalFreezeAction;
class plNotifyMsg;
/** \class plAvBrainGeneric
@ -300,7 +299,6 @@ protected:
int fCurStage; // which stage are we playing? (zero-based)
BrainType fType; // what type of brain are we?
UInt32 fExitFlags; // what will cause us to exit?
plHorizontalFreezeAction *fCallbackAction;
bool fForward; // are we currently moving forward or backward through the stages?
// this is used by the "auto-" movement types in the stages

View File

@ -42,9 +42,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "hsConfig.h"
#include "hsWindows.h"
#include "plAvCallbackAction.h" // subclasses a havok object; must be in first include section
#include "plPhysicalControllerCore.h"
#include "plAvBrainHuman.h"
#include "plAvBrainClimb.h"
#include "plAvBrainDrive.h"
@ -142,7 +140,7 @@ plAvBrainHuman::TurnCurve plAvBrainHuman::GetTurnCurve(hsBool walk)
plAvBrainHuman::plAvBrainHuman(bool isActor /* = false */) :
fHandleAGMod(nil),
fStartedTurning(-1.0f),
fCallbackAction(nil),
fWalkingStrategy(nil),
fPreconditions(0),
fIsActor(isActor)
{
@ -156,9 +154,9 @@ hsBool plAvBrainHuman::Apply(double timeNow, hsScalar elapsed)
#endif
// SetTurnStrength runs first to make sure it's set to a sane value
// (or cleared). RunStandardBehaviors may overwrite it.
fCallbackAction->SetTurnStrength(IGetTurnStrength(timeNow));
fWalkingStrategy->SetTurnStrength(IGetTurnStrength(timeNow));
RunStandardBehaviors(timeNow, elapsed);
fCallbackAction->RecalcVelocity(timeNow, timeNow - elapsed, (fPreconditions & plHBehavior::kBehaviorTypeNeedsRecalcMask));
fWalkingStrategy->RecalcVelocity(timeNow, elapsed, (fPreconditions & plHBehavior::kBehaviorTypeNeedsRecalcMask));
plArmatureBrain::Apply(timeNow, elapsed);
#ifndef _DEBUG
@ -179,13 +177,13 @@ void plAvBrainHuman::Activate(plArmatureModBase *avMod)
IInitBoneMap();
IInitAnimations();
if (!fCallbackAction)
if (!fWalkingStrategy)
{
plSceneObject* avObj = fArmature->GetTarget(0);
plAGModifier* agMod = const_cast<plAGModifier*>(plAGModifier::ConvertNoRef(FindModifierByClass(avObj, plAGModifier::Index())));
plPhysicalControllerCore* controller = avMod->GetController();
fCallbackAction = TRACKED_NEW plWalkingController(avObj, agMod->GetApplicator(kAGPinTransform), controller);
fCallbackAction->ActivateController();
fWalkingStrategy = TRACKED_NEW plWalkingStrategy(agMod->GetApplicator(kAGPinTransform), controller);
controller->SetMovementStrategy(fWalkingStrategy);
}
@ -330,8 +328,8 @@ plAvBrainHuman::~plAvBrainHuman()
delete fBehaviors[i];
fBehaviors.Reset();
delete fCallbackAction;
fCallbackAction = nil;
delete fWalkingStrategy;
fWalkingStrategy = nil;
}
void plAvBrainHuman::Deactivate()
@ -364,7 +362,7 @@ void plAvBrainHuman::Resume()
if (fAvMod->GetInputFlag(S_PUSH_TO_TALK))
IChatOn();
fCallbackAction->Reset(false);
fWalkingStrategy->Reset(false);
plArmatureBrain::Resume();
}
@ -468,25 +466,23 @@ hsBool plAvBrainHuman::MsgReceive(plMessage * msg)
{
if(ride->Entering())
{
//plAvBrainRideAnimatedPhysical *rideBrain = TRACKED_NEW plAvBrainRideAnimatedPhysical();
//fAvMod->PushBrain(rideBrain);
delete fCallbackAction;
// Switch to dynamic walking strategy
delete fWalkingStrategy;
plSceneObject* avObj = fArmature->GetTarget(0);
plAGModifier* agMod = const_cast<plAGModifier*>(plAGModifier::ConvertNoRef(FindModifierByClass(avObj, plAGModifier::Index())));
plPhysicalControllerCore* controller = fAvMod->GetController();
fCallbackAction= TRACKED_NEW plRidingAnimatedPhysicalController(avObj, agMod->GetApplicator(kAGPinTransform), controller);
fCallbackAction->ActivateController();
fWalkingStrategy = TRACKED_NEW plDynamicWalkingStrategy(agMod->GetApplicator(kAGPinTransform), controller);
controller->SetMovementStrategy(fWalkingStrategy);
}
else
{
delete fCallbackAction;
// Restore default walking strategy
delete fWalkingStrategy;
plSceneObject* avObj = fArmature->GetTarget(0);
plAGModifier* agMod = const_cast<plAGModifier*>(plAGModifier::ConvertNoRef(FindModifierByClass(avObj, plAGModifier::Index())));
plPhysicalControllerCore* controller = fAvMod->GetController();
fCallbackAction= TRACKED_NEW plWalkingController(avObj, agMod->GetApplicator(kAGPinTransform), controller);
fCallbackAction->ActivateController();
//hsStatusMessage("Got an exiting ride animated physical message");
fWalkingStrategy = TRACKED_NEW plWalkingStrategy(agMod->GetApplicator(kAGPinTransform), controller);
controller->SetMovementStrategy(fWalkingStrategy);
}
}
@ -560,8 +556,8 @@ hsScalar plAvBrainHuman::IGetTurnStrength(double timeNow)
// Turning based on keypress
if ((turnLeftStrength > 0.f)
|| (turnRightStrength > 0.f)
|| (!fCallbackAction->IsOnGround()
&& !fCallbackAction->IsControlledFlight())
|| (!fWalkingStrategy->IsOnGround()
&& !fWalkingStrategy->IsControlledFlight())
) {
float t = (float)(timeNow - fStartedTurning);
float turnSpeed;
@ -593,7 +589,7 @@ hsScalar plAvBrainHuman::IGetTurnStrength(double timeNow)
result += fAvMod->GetKeyTurnStrength() * turnSpeed;
}
if (!fCallbackAction->IsControlledFlight())
if (!fWalkingStrategy->IsControlledFlight())
result += fAvMod->GetAnalogTurnStrength() * maxTurnSpeed;
return result;
@ -650,7 +646,7 @@ void plAvBrainHuman::ResetIdle()
void plAvBrainHuman::IdleOnly(bool instantOff)
{
if (!fCallbackAction)
if (!fWalkingStrategy)
return;
hsScalar rate = instantOff ? 0.f : 1.f;
@ -676,7 +672,7 @@ bool plAvBrainHuman::IsMovementZeroBlend()
void plAvBrainHuman::TurnToPoint(hsPoint3 point)
{
if (!fCallbackAction->IsOnGround() || IsRunningTask() || fAvMod->GetCurrentBrain() != this || !IsMovementZeroBlend())
if (!fWalkingStrategy->IsOnGround() || IsRunningTask() || fAvMod->GetCurrentBrain() != this || !IsMovementZeroBlend())
return;
hsPoint3 avPos;
@ -875,23 +871,23 @@ void plAvBrainHuman::Spawn(double timeNow)
hsBool plAvBrainHuman::LeaveAge()
{
plPhysicalControllerCore* controller = fAvMod->GetController();
if(!controller->BehavingLikeAnAnimatedPhysical())
// If our current walking strategy is dynamic, restore the default kinematic strategy.
if (!fWalkingStrategy->IsKinematic())
{
controller->BehaveLikeAnimatedPhysical(true);
delete fCallbackAction;
delete fWalkingStrategy;
plSceneObject* avObj = fArmature->GetTarget(0);
plAGModifier* agMod = const_cast<plAGModifier*>(plAGModifier::ConvertNoRef(FindModifierByClass(avObj, plAGModifier::Index())));
fCallbackAction= TRACKED_NEW plWalkingController(avObj, agMod->GetApplicator(kAGPinTransform), controller);
fCallbackAction->ActivateController();
fWalkingStrategy = TRACKED_NEW plWalkingStrategy(agMod->GetApplicator(kAGPinTransform), controller);
}
plArmatureBrain::LeaveAge();
fWalkingStrategy->Reset(true);
plArmatureBrain::LeaveAge();
// pin the physical so it doesn't fall when the world is deleted
fAvMod->EnablePhysics(false);
// this will get set to true when we hit ground
fCallbackAction->Reset(true);
return false;
}
@ -901,11 +897,10 @@ void plAvBrainHuman::DumpToDebugDisplay(int &x, int &y, int lineHeight, char *st
debugTxt.DrawString(x, y, strBuf);
y += lineHeight;
const char *grounded = fCallbackAction->IsOnGround() ? "yes" : "no";
const char *falseGrounded = fCallbackAction->IsOnFalseGround() ? "yes" : "no";
const char *pushing = (fCallbackAction->GetPushingPhysical() ? (fCallbackAction->GetFacingPushingPhysical() ? "facing" : "behind") : "none");
sprintf(strBuf, "Ground: %3s, FalseGround: %3s, AirTime: %5.2f (Peak: %5.2f), PushingPhys: %6s",
grounded, falseGrounded, fCallbackAction->GetAirTime(), fCallbackAction->GetImpactTime(), pushing);
const char *grounded = fWalkingStrategy->IsOnGround() ? "yes" : "no";
const char *pushing = (fWalkingStrategy->GetPushingPhysical() ? (fWalkingStrategy->GetFacingPushingPhysical() ? "facing" : "behind") : "none");
sprintf(strBuf, "Ground: %3s, AirTime: %5.2f (Peak: %5.2f), PushingPhys: %6s",
grounded, fWalkingStrategy->GetAirTime(), fWalkingStrategy->GetImpactTime(), pushing);
debugTxt.DrawString(x, y, strBuf);
y += lineHeight;
@ -1018,8 +1013,8 @@ hsBool Run::PreCondition(double time, float elapsed)
{
if (fAnim)
{
if (fAvMod->ForwardKeyDown() && fAvMod->FastKeyDown() && fHuBrain->fCallbackAction->IsOnGround() &&
(!fHuBrain->fCallbackAction->GetPushingPhysical() || !fHuBrain->fCallbackAction->GetFacingPushingPhysical()))
if (fAvMod->ForwardKeyDown() && fAvMod->FastKeyDown() && fHuBrain->fWalkingStrategy->IsOnGround() &&
(!fHuBrain->fWalkingStrategy->GetPushingPhysical() || !fHuBrain->fWalkingStrategy->GetFacingPushingPhysical()))
return true;
}
return false;
@ -1029,8 +1024,8 @@ hsBool Walk::PreCondition(double time, float elapsed)
{
if (fAnim)
{
if (fAvMod->ForwardKeyDown() && !fAvMod->FastKeyDown() && fHuBrain->fCallbackAction->IsOnGround() &&
(!fHuBrain->fCallbackAction->GetPushingPhysical() || !fHuBrain->fCallbackAction->GetFacingPushingPhysical()))
if (fAvMod->ForwardKeyDown() && !fAvMod->FastKeyDown() && fHuBrain->fWalkingStrategy->IsOnGround() &&
(!fHuBrain->fWalkingStrategy->GetPushingPhysical() || !fHuBrain->fWalkingStrategy->GetFacingPushingPhysical()))
return true;
}
return false;
@ -1040,8 +1035,8 @@ hsBool WalkBack::PreCondition(double time, float elapsed)
{
if (fAnim)
{
if (fAvMod->BackwardKeyDown() && !fAvMod->ForwardKeyDown() && fHuBrain->fCallbackAction->IsOnGround() &&
(!fHuBrain->fCallbackAction->GetPushingPhysical() || fHuBrain->fCallbackAction->GetFacingPushingPhysical()))
if (fAvMod->BackwardKeyDown() && !fAvMod->ForwardKeyDown() && fHuBrain->fWalkingStrategy->IsOnGround() &&
(!fHuBrain->fWalkingStrategy->GetPushingPhysical() || fHuBrain->fWalkingStrategy->GetFacingPushingPhysical()))
return true;
}
return false;
@ -1054,7 +1049,7 @@ hsBool StepLeft::PreCondition(double time, float elapsed)
return ((fAvMod->StrafeLeftKeyDown() || (fAvMod->StrafeKeyDown() && fAvMod->TurnLeftKeyDown())) &&
!(fAvMod->StrafeRightKeyDown() || (fAvMod->StrafeKeyDown() && fAvMod->TurnRightKeyDown())) &&
!(fAvMod->ForwardKeyDown() || fAvMod->BackwardKeyDown()) &&
fHuBrain->fCallbackAction->IsOnGround());
fHuBrain->fWalkingStrategy->IsOnGround());
}
return false;
}
@ -1066,7 +1061,7 @@ hsBool StepRight::PreCondition(double time, float elapsed)
return ((fAvMod->StrafeRightKeyDown() || (fAvMod->StrafeKeyDown() && fAvMod->TurnRightKeyDown())) &&
!(fAvMod->StrafeLeftKeyDown() || (fAvMod->StrafeKeyDown() && fAvMod->TurnLeftKeyDown())) &&
!(fAvMod->ForwardKeyDown() || fAvMod->BackwardKeyDown()) &&
fHuBrain->fCallbackAction->IsOnGround());
fHuBrain->fWalkingStrategy->IsOnGround());
}
return false;
}
@ -1107,8 +1102,8 @@ hsBool MovingTurnLeft::PreCondition(double time, float elapsed)
{
if (fAvMod->GetTurnStrength() > 0)
{
if (fHuBrain->fCallbackAction->IsOnGround() && (fAvMod->ForwardKeyDown() || fAvMod->BackwardKeyDown()) &&
(!fHuBrain->fCallbackAction->GetPushingPhysical() || !fHuBrain->fCallbackAction->GetFacingPushingPhysical()))
if (fHuBrain->fWalkingStrategy->IsOnGround() && (fAvMod->ForwardKeyDown() || fAvMod->BackwardKeyDown()) &&
(!fHuBrain->fWalkingStrategy->GetPushingPhysical() || !fHuBrain->fWalkingStrategy->GetFacingPushingPhysical()))
return true;
}
return false;
@ -1118,8 +1113,8 @@ hsBool MovingTurnRight::PreCondition(double time, float elapsed)
{
if (fAvMod->GetTurnStrength() < 0)
{
if (fHuBrain->fCallbackAction->IsOnGround() && (fAvMod->ForwardKeyDown() || fAvMod->BackwardKeyDown()) &&
(!fHuBrain->fCallbackAction->GetPushingPhysical() || !fHuBrain->fCallbackAction->GetFacingPushingPhysical()))
if (fHuBrain->fWalkingStrategy->IsOnGround() && (fAvMod->ForwardKeyDown() || fAvMod->BackwardKeyDown()) &&
(!fHuBrain->fWalkingStrategy->GetPushingPhysical() || !fHuBrain->fWalkingStrategy->GetFacingPushingPhysical()))
return true;
}
@ -1128,14 +1123,14 @@ hsBool MovingTurnRight::PreCondition(double time, float elapsed)
void Jump::IStart()
{
fHuBrain->fCallbackAction->EnableControlledFlight(true);
fHuBrain->fWalkingStrategy->EnableControlledFlight(true);
plHBehavior::IStart();
}
void Jump::IStop()
{
fHuBrain->fCallbackAction->EnableControlledFlight(false);
fHuBrain->fWalkingStrategy->EnableControlledFlight(false);
plHBehavior::IStop();
}
@ -1146,7 +1141,7 @@ hsBool StandingJump::PreCondition(double time, float elapsed)
{
if (GetStrength() > 0.f)
{
if (!fHuBrain->fCallbackAction->IsControlledFlight() ||
if (!fHuBrain->fWalkingStrategy->IsControlledFlight() ||
fAnim->GetTimeConvert()->WorldToAnimTimeNoUpdate(time) >= fAnim->GetTimeConvert()->GetEnd())
{
return false;
@ -1158,7 +1153,7 @@ hsBool StandingJump::PreCondition(double time, float elapsed)
if (fAvMod->JumpKeyDown() &&
!fAvMod->ForwardKeyDown() &&
fAnim->GetBlend() == 0.0f &&
fHuBrain->fCallbackAction->IsOnGround())
fHuBrain->fWalkingStrategy->IsOnGround())
{
if (fAvMod->ConsumeJump())
return true;
@ -1174,7 +1169,7 @@ hsBool WalkingJump::PreCondition(double time, float elapsed)
{
if (GetStrength() > 0.f)
{
if (!fHuBrain->fCallbackAction->IsControlledFlight() ||
if (!fHuBrain->fWalkingStrategy->IsControlledFlight() ||
fAnim->GetTimeConvert()->WorldToAnimTimeNoUpdate(time) >= fAnim->GetTimeConvert()->GetEnd())
{
return false;
@ -1187,8 +1182,8 @@ hsBool WalkingJump::PreCondition(double time, float elapsed)
!fAvMod->FastKeyDown() &&
fAvMod->ForwardKeyDown() &&
fAnim->GetBlend() == 0.0f &&
fHuBrain->fCallbackAction->IsOnGround() &&
(!fHuBrain->fCallbackAction->GetPushingPhysical() || !fHuBrain->fCallbackAction->GetFacingPushingPhysical()))
fHuBrain->fWalkingStrategy->IsOnGround() &&
(!fHuBrain->fWalkingStrategy->GetPushingPhysical() || !fHuBrain->fWalkingStrategy->GetFacingPushingPhysical()))
{
if (fAvMod->ConsumeJump())
return true;
@ -1204,7 +1199,7 @@ hsBool RunningJump::PreCondition(double time, float elapsed)
{
if (GetStrength() > 0.f)
{
if (!fHuBrain->fCallbackAction->IsControlledFlight() ||
if (!fHuBrain->fWalkingStrategy->IsControlledFlight() ||
fAnim->GetTimeConvert()->WorldToAnimTimeNoUpdate(time) >= fAnim->GetTimeConvert()->GetEnd())
{
return false;
@ -1217,8 +1212,8 @@ hsBool RunningJump::PreCondition(double time, float elapsed)
fAvMod->ForwardKeyDown() &&
fAvMod->FastKeyDown() &&
fAnim->GetBlend() == 0.0f &&
fHuBrain->fCallbackAction->IsOnGround() &&
(!fHuBrain->fCallbackAction->GetPushingPhysical() || !fHuBrain->fCallbackAction->GetFacingPushingPhysical()))
fHuBrain->fWalkingStrategy->IsOnGround() &&
(!fHuBrain->fWalkingStrategy->GetPushingPhysical() || !fHuBrain->fWalkingStrategy->GetFacingPushingPhysical()))
{
if (fAvMod->ConsumeJump())
return true;
@ -1243,13 +1238,13 @@ hsBool RunningImpact::PreCondition(double time, float elapsed)
{
if (fDuration > 0.0f)
fDuration = fDuration - elapsed;
else if (fHuBrain->fCallbackAction->IsOnGround() && fHuBrain->fCallbackAction->GetImpactTime() > kMinAirTime)
else if (fHuBrain->fWalkingStrategy->IsOnGround() && fHuBrain->fWalkingStrategy->GetImpactTime() > kMinAirTime)
{
if (fHuBrain->fCallbackAction->GetImpactVelocity().fZ < -kMinImpactVel)
if (fHuBrain->fWalkingStrategy->GetImpactVelocity().fZ < -kMinImpactVel)
{
if (fHuBrain->fCallbackAction->GetImpactVelocity().fY < kRunningImpactThresh)
if (fHuBrain->fWalkingStrategy->GetImpactVelocity().fY < kRunningImpactThresh)
{
fMaxBlend = 0.5f + (0.5f * (-fHuBrain->fCallbackAction->GetImpactVelocity().fZ / (kFullImpactVel - kMinImpactVel)));
fMaxBlend = 0.5f + (0.5f * (-fHuBrain->fWalkingStrategy->GetImpactVelocity().fZ / (kFullImpactVel - kMinImpactVel)));
if (fMaxBlend > 1)
fMaxBlend = 1;
fDuration = 1.0f / fFadeIn;
@ -1273,13 +1268,13 @@ hsBool GroundImpact::PreCondition(double time, float elapsed)
bool result = false;
if (fDuration > 0.0f)
fDuration = fDuration - elapsed;
else if (fHuBrain->fCallbackAction->IsOnGround() && fHuBrain->fCallbackAction->GetImpactTime() > kMinAirTime)
else if (fHuBrain->fWalkingStrategy->IsOnGround() && fHuBrain->fWalkingStrategy->GetImpactTime() > kMinAirTime)
{
if (fHuBrain->fCallbackAction->GetImpactVelocity().fZ < -kMinImpactVel)
if (fHuBrain->fWalkingStrategy->GetImpactVelocity().fZ < -kMinImpactVel)
{
if (fHuBrain->fCallbackAction->GetImpactVelocity().fY >= kRunningImpactThresh)
if (fHuBrain->fWalkingStrategy->GetImpactVelocity().fY >= kRunningImpactThresh)
{
fMaxBlend = 0.5f + (0.5f * (-fHuBrain->fCallbackAction->GetImpactVelocity().fZ / (kFullImpactVel - kMinImpactVel)));
fMaxBlend = 0.5f + (0.5f * (-fHuBrain->fWalkingStrategy->GetImpactVelocity().fZ / (kFullImpactVel - kMinImpactVel)));
if (fMaxBlend > 1)
fMaxBlend = 1;
fDuration = 1.0f / fFadeIn;
@ -1298,7 +1293,7 @@ void GroundImpact::IStop()
hsBool Fall::PreCondition(double time, float elapsed)
{
return !fHuBrain->fCallbackAction->IsOnGround() && fHuBrain->fCallbackAction->HitGroundInThisAge();
return !fHuBrain->fWalkingStrategy->IsOnGround() && fHuBrain->fWalkingStrategy->HitGroundInThisAge();
}
void Fall::Process(double time, float elapsed)
@ -1310,7 +1305,7 @@ void Fall::Process(double time, float elapsed)
if (fAnim && fAnim->GetBlend() > 0.8)
{
float panicThresh = plAvBrainHuman::kAirTimePanicThreshold;
if (panicThresh > 0.0f && fHuBrain->fCallbackAction->GetAirTime() > panicThresh)
if (panicThresh > 0.0f && fHuBrain->fWalkingStrategy->GetAirTime() > panicThresh)
{
fHuBrain->IdleOnly(); // clear the fall state; we're going somewhere new
fAvMod->PanicLink();
@ -1327,7 +1322,7 @@ void Push::Process(double time, float elapsed)
fAvMod->GetPositionAndRotationSim(&pos, &rot);
hsPoint3 lookAt;
fHuBrain->fCallbackAction->GetPushingPhysical()->GetPositionSim(lookAt);
fHuBrain->fWalkingStrategy->GetPushingPhysical()->GetPositionSim(lookAt);
hsVector3 up(0.f, 0.f, 1.f);
hsScalar angle = hsATan2(lookAt.fY - pos.fY, lookAt.fX - pos.fX) + hsScalarPI / 2;
hsQuat targRot(angle, &up);
@ -1341,23 +1336,23 @@ void Push::Process(double time, float elapsed)
globFwd = rot.Rotate(&globFwd);
if (globFwd.fX < 0)
fHuBrain->fCallbackAction->SetTurnStrength(-turnSpeed);
fHuBrain->fWalkingStrategy->SetTurnStrength(-turnSpeed);
else
fHuBrain->fCallbackAction->SetTurnStrength(turnSpeed);
fHuBrain->fWalkingStrategy->SetTurnStrength(turnSpeed);
}
//hsBool PushIdle::PreCondition(double time, float elapsed)
//{
// return (fHuBrain->fCallbackAction->GetPushingPhysical() &&
// fHuBrain->fCallbackAction->IsOnGround() &&
// return (fHuBrain->fWalkingStrategy->GetPushingPhysical() &&
// fHuBrain->fWalkingStrategy->IsOnGround() &&
// !fAvMod->TurnLeftKeyDown() && !fAvMod->TurnRightKeyDown()
// && fAvMod->GetTurnStrength() == 0);
//}
hsBool PushWalk::PreCondition(double time, float elapsed)
{
return (fHuBrain->fCallbackAction->GetPushingPhysical() && fHuBrain->fCallbackAction->GetFacingPushingPhysical() &&
fHuBrain->fCallbackAction->IsOnGround() &&
return (fHuBrain->fWalkingStrategy->GetPushingPhysical() && fHuBrain->fWalkingStrategy->GetFacingPushingPhysical() &&
fHuBrain->fWalkingStrategy->IsOnGround() &&
fAvMod->ForwardKeyDown());
}
@ -1372,7 +1367,7 @@ bool PushSimpleMultiStage(plArmatureMod *avatar, const char *enterAnim, const ch
{
plAvBrainHuman *huBrain = plAvBrainHuman::ConvertNoRef(avatar->FindBrainByClass(plAvBrainHuman::Index()));
const char *names[3] = {enterAnim, idleAnim, exitAnim};
if (!huBrain || !huBrain->fCallbackAction->IsOnGround() || !huBrain->fCallbackAction->HitGroundInThisAge() || huBrain->IsRunningTask() ||
if (!huBrain || !huBrain->fWalkingStrategy->IsOnGround() || !huBrain->fWalkingStrategy->HitGroundInThisAge() || huBrain->IsRunningTask() ||
!avatar->IsPhysicsEnabled() || avatar->FindMatchingGenericBrain(names, 3))
return false;
@ -1436,7 +1431,7 @@ bool AvatarEmote(plArmatureMod *avatar, const char *emoteName)
if (swimBrain && swimBrain->IsSwimming())
return false;
if (huBrain && huBrain->fCallbackAction->IsOnGround() && huBrain->fCallbackAction->HitGroundInThisAge() && !huBrain->IsRunningTask() &&
if (huBrain && huBrain->fWalkingStrategy->IsOnGround() && huBrain->fWalkingStrategy->HitGroundInThisAge() && !huBrain->IsRunningTask() &&
emote && !alreadyActive && avatar->IsPhysicsEnabled())
{
plKey avKey = avatar->GetKey();

View File

@ -58,7 +58,7 @@ class plAGAnimInstance;
class plAvTask;
class plAvTaskMsg;
class plAvBrainHuman;
class plWalkingController;
class plWalkingStrategy;
class plArmatureUpdateMsg;
class plClimbMsg;
class plControlEventMsg;
@ -164,7 +164,7 @@ public:
static const hsScalar kControlledFlightThreshold;
static const hsScalar kAirTimeThreshold;
static const hsScalar kAirTimePanicThreshold;
plWalkingController* fCallbackAction;
plWalkingStrategy* fWalkingStrategy;
protected:
plAGAnim *FindCustomAnim(const char *baseName);

View File

@ -44,7 +44,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "plAvBrainHuman.h"
#include "plAvBrain.h"
#include "plAvCallbackAction.h"
#include "plPhysicalControllerCore.h"
#include "../plMessage/plRideAnimatedPhysMsg.h"
@ -52,20 +52,19 @@ void plAvBrainRideAnimatedPhysical::Activate(plArmatureModBase *avMod)
{
plArmatureBrain::Activate(avMod);
IInitAnimations();
if (!fCallbackAction)
if (!fWalkingStrategy)
{
plSceneObject* avObj = fArmature->GetTarget(0);
plAGModifier* agMod = const_cast<plAGModifier*>(plAGModifier::ConvertNoRef(FindModifierByClass(avObj, plAGModifier::Index())));
plPhysicalControllerCore* controller = avMod->GetController();
fCallbackAction = TRACKED_NEW plRidingAnimatedPhysicalController(avObj, agMod->GetApplicator(kAGPinTransform), controller);
fCallbackAction->ActivateController();
fWalkingStrategy = TRACKED_NEW plDynamicWalkingStrategy(agMod->GetApplicator(kAGPinTransform), controller);
controller->SetMovementStrategy(fWalkingStrategy);
}
}
plAvBrainRideAnimatedPhysical::~plAvBrainRideAnimatedPhysical()
{
delete fCallbackAction;
fCallbackAction=nil;
delete fWalkingStrategy;
fWalkingStrategy = nil;
}
void plAvBrainRideAnimatedPhysical::Deactivate()

View File

@ -41,8 +41,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
*==LICENSE==*/
#include "plAvBrainHuman.h"
class plRidingAnimatedPhysicalController;
class plAvBrainRideAnimatedPhysical : public plAvBrainHuman
{
public:

View File

@ -46,10 +46,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
//
/////////////////////////////////////////////////////////////////////////////////////////
//#include <hkmath/vector3.h>
//#include <hkdynamics/entity/rigidbody.h>
#include "plAntiGravAction.h" // descends from Havok class, so must be included first, like havok objects
// singular
#include "plAvBrainSwim.h"
@ -69,7 +65,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "hsTimer.h"
#include "plPhysical.h"
#include "plPhysicalControllerCore.h"
#include "plAvCallbackAction.h"
// other
#include "../plPhysical/plCollisionDetector.h"
#include "../plPipeline/plDebugText.h"
@ -180,18 +175,16 @@ public:
static const float timeToMaxTurn = 0.5f;
static const float incPerSec = maxTurnSpeed / timeToMaxTurn;
// hsAssert(0, "fixme physx");
float oldSpeed = fabs(fSwimBrain->fCallbackAction->GetTurnStrength());
float oldSpeed = fabs(fSwimBrain->fSwimStrategy->GetTurnStrength());
float thisInc = elapsed * incPerSec;
float newSpeed = __min(oldSpeed + thisInc, maxTurnSpeed);
fSwimBrain->fCallbackAction->SetTurnStrength(newSpeed * fAvMod->GetKeyTurnStrength() + fAvMod->GetAnalogTurnStrength());
fSwimBrain->fSwimStrategy->SetTurnStrength(newSpeed * fAvMod->GetKeyTurnStrength() + fAvMod->GetAnalogTurnStrength());
// the turn is actually applied during PhysicsUpdate
}
virtual void IStop()
{
// hsAssert(0, "fixme physx");
if (fSwimBrain->fCallbackAction)
fSwimBrain->fCallbackAction->SetTurnStrength(0.0f);
if (fSwimBrain->fSwimStrategy)
fSwimBrain->fSwimStrategy->SetTurnStrength(0.0f);
plSwimBehavior::IStop();
}
};
@ -237,7 +230,7 @@ public:
const hsScalar plAvBrainSwim::kMinSwimDepth = 4.0f;
plAvBrainSwim::plAvBrainSwim() :
fCallbackAction(nil),
fSwimStrategy(nil),
fMode(kWalking),
fSurfaceDistance(0.f)
{
@ -250,12 +243,9 @@ plAvBrainSwim::plAvBrainSwim() :
plAvBrainSwim::~plAvBrainSwim()
{
if(fCallbackAction)
{
IDetachAction();
delete fCallbackAction;
fCallbackAction=nil;
}
delete fSwimStrategy;
fSwimStrategy = nil;
fSurfaceProbeMsg->UnRef();
int i;
@ -273,8 +263,7 @@ hsBool plAvBrainSwim::Apply(double time, hsScalar elapsed)
fMode = kWading;
plAvBrainHuman *huBrain = plAvBrainHuman::ConvertNoRef(fAvMod->GetNextBrain(this));
// hsAssert(0, "fixme physx");
if (huBrain && !huBrain->fCallbackAction->IsOnGround())
if (huBrain && !huBrain->fWalkingStrategy->IsOnGround())
{
// We're jumping in! Trigger splash effect (sound)
plArmatureEffectMsg *msg = TRACKED_NEW plArmatureEffectMsg(fAvMod->GetArmatureEffects()->GetKey(), kTime);
@ -318,8 +307,7 @@ hsBool plAvBrainSwim::Apply(double time, hsScalar elapsed)
// The contact check is so that if buoyancy bobs us a little too high, we don't
// switch to wading only to fall again.
// hsAssert(0, "fixme physx");
if (fSurfaceDistance < kMinSwimDepth-.5 && fCallbackAction->HadContacts())
if (fSurfaceDistance < kMinSwimDepth-.5 && fSwimStrategy->HadContacts())
IStartWading();
}
else if (fMode == kSwimming3D)
@ -346,13 +334,12 @@ hsBool plAvBrainSwim::MsgReceive(plMessage *msg)
else
fSurfaceDistance = -100.f;
// hsAssert(0, "fixme physx");
if (fCallbackAction)
if (fSwimStrategy)
{
if (region)
fCallbackAction->SetSurface(region, fArmature->GetTarget(0)->GetLocalToWorld().GetTranslate().fZ + fSurfaceDistance);
fSwimStrategy->SetSurface(region, fArmature->GetTarget(0)->GetLocalToWorld().GetTranslate().fZ + fSurfaceDistance);
else
fCallbackAction->SetSurface(nil, 0.f);
fSwimStrategy->SetSurface(nil, 0.f);
}
return true;
}
@ -419,20 +406,16 @@ void plAvBrainSwim::Activate(plArmatureModBase* avMod)
void plAvBrainSwim::Deactivate()
{
plArmatureBrain::Deactivate();
IDetachAction();
}
void plAvBrainSwim::Suspend()
{
if (fMode == kSwimming2D)
IDetachAction();
}
void plAvBrainSwim::Resume()
{
if (fMode == kSwimming2D)
IAttachAction();
fSwimStrategy->Reset(false);
}
bool plAvBrainSwim::IsWalking()
@ -460,8 +443,6 @@ void plAvBrainSwim::IStartWading()
for (i = 0; i < fBehaviors.GetCount(); i++)
fBehaviors[i]->SetStrength(0.f, 2.f);
IDetachAction();
if (fAvMod->IsLocalAvatar())
{
plCameraMsg* pMsg = TRACKED_NEW plCameraMsg;
@ -479,7 +460,16 @@ void plAvBrainSwim::IStartSwimming(bool is2D)
plArmatureBrain *nextBrain = fAvMod->GetNextBrain(this);
nextBrain->Suspend();
IAttachAction();
if (!fSwimStrategy)
{
plSceneObject * avObj = fArmature->GetTarget(0);
plAGModifier *agMod = const_cast<plAGModifier*>(plAGModifier::ConvertNoRef(FindModifierByClass(avObj, plAGModifier::Index())));
plPhysicalControllerCore *controller = fAvMod->GetController();
fSwimStrategy = new plSwimStrategy(agMod->GetApplicator(kAGPinTransform), controller);
}
fSwimStrategy->Reset(false);
if (is2D)
fMode = kSwimming2D;
else
@ -509,8 +499,8 @@ hsBool plAvBrainSwim::IProcessSwimming2D(double time, float elapsed)
else
behavior->SetStrength(0.f, 2.f);
}
// hsAssert(0, "fixme physx");
fCallbackAction->RecalcVelocity(time, time - elapsed);
fSwimStrategy->RecalcVelocity(time, elapsed);
return true;
}
@ -568,59 +558,6 @@ hsBool plAvBrainSwim::IInitAnimations()
return true;
}
bool plAvBrainSwim::IAttachAction()
{
bool result = false;
if(fAvMod)
{
// hsAssert(0, "fixme physx");
plPhysicalControllerCore *physical = fAvMod->GetController();
if (physical)
{
if (!fCallbackAction)
{
plSceneObject * avObj = fArmature->GetTarget(0);
plAGModifier *agMod = const_cast<plAGModifier*>(plAGModifier::ConvertNoRef(FindModifierByClass(avObj, plAGModifier::Index())));
fCallbackAction = new plSwimmingController(avObj, agMod->GetApplicator(kAGPinTransform),physical);
// physical->AttachAction(fCallbackAction, true, false);
result = true;
}
else
{
fCallbackAction->ActivateController();
}
}
}
return result;
}
bool plAvBrainSwim::IDetachAction()
{
bool result = false;
if (fCallbackAction)
{
// hsAssert(0, "fixme physx");
// plPhysical *physical = fAvMod->GetPhysical();
//
// if(physical)
// {
// physical->RemoveAction(fCallbackAction);
// result = true; // there was an action and we removed it
// }
// TODO: We get a compiler warning about deleting a pointer to an
// undefined class. So, who knows what the code is actually doing.
// Seems bad. Just putting a note in here for whoever fixes the
// physx issue.
//delete fCallbackAction;
//fCallbackAction = nil;
}
return result;
}
void plAvBrainSwim::IProbeSurface()
{
hsPoint3 ourPos = fAvMod->GetTarget(0)->GetLocalToWorld().GetTranslate();
@ -676,21 +613,15 @@ void plAvBrainSwim::DumpToDebugDisplay(int &x, int &y, int lineHeight, char *str
debugTxt.DrawString(x, y, strBuf);
y += lineHeight;
float buoy = fSwimStrategy ? fSwimStrategy->GetBuoyancy() : 0.0f;
sprintf(strBuf, "Distance to surface: %f Buoyancy: %f", fSurfaceDistance, buoy);
debugTxt.DrawString(x, y, strBuf);
y += lineHeight;
// hsAssert(0, "fixme physx");
// float buoy = fCallbackAction? fCallbackAction->GetBuoyancy() : 0.0f;
// sprintf(strBuf, "Distance to surface: %f Buoyancy: %f", fSurfaceDistance, buoy);
// debugTxt.DrawString(x, y, strBuf);
// y += lineHeight;
//
// hsVector3 linV;
// fAvMod->GetPhysical()->GetLinearVelocitySim(linV);
// hsVector3 angV;
// fAvMod->GetPhysical()->GetAngularVelocitySim(angV);
// hsScalar angle = angV.fZ > 0 ? angV.Magnitude() : -angV.Magnitude();
// sprintf(strBuf, "Velocity: Linear (%5.2f, %5.2f, %5.2f), Angular %5.2f", linV.fX, linV.fY, linV.fZ, angle);
// debugTxt.DrawString(x, y, strBuf);
// y += lineHeight;
hsVector3 linV = fAvMod->GetController()->GetAchievedLinearVelocity();
sprintf(strBuf, "Linear Velocity: (%5.2f, %5.2f, %5.2f)", linV.fX, linV.fY, linV.fZ);
debugTxt.DrawString(x, y, strBuf);
y += lineHeight;
int i;
for (i = 0; i < fBehaviors.GetCount(); i++)

View File

@ -47,11 +47,10 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "../pnKeyedObject/plKey.h"
class plArmatureMod;
class plAntiGravAction;
class plControlEventMsg;
class plLOSRequestMsg;
class plSwimRegionInterface;
class plSwimmingController;
class plSwimStrategy;
class plAvBrainSwim : public plArmatureBrain
{
public:
@ -73,7 +72,7 @@ public:
bool IsSwimming();
hsScalar GetSurfaceDistance() { return fSurfaceDistance; }
plSwimmingController *fCallbackAction;
plSwimStrategy *fSwimStrategy;
static const hsScalar kMinSwimDepth;
protected:
@ -86,8 +85,6 @@ protected:
hsBool IProcessBehaviors(double time, float elapsed);
virtual hsBool IInitAnimations();
bool IAttachAction();
bool IDetachAction();
void IProbeSurface();
hsBool IHandleControlMsg(plControlEventMsg* msg);
float IGetTargetZ();

View File

@ -1,579 +0,0 @@
/*==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==*/
#include "plAvCallbackAction.h"
#include "../plMessage/plLOSHitMsg.h"
#include "plArmatureMod.h" // for LOS enum type
#include "plMatrixChannel.h"
#include "hsTimer.h"
#include "plPhysicalControllerCore.h"
// Generic geom utils.
hsBool LinearVelocity(hsVector3 &outputV, float elapsed, hsMatrix44 &prevMat, hsMatrix44 &curMat);
void AngularVelocity(hsScalar &outputV, float elapsed, hsMatrix44 &prevMat, hsMatrix44 &curMat);
float AngleRad2d (float x1, float y1, float x3, float y3);
inline hsVector3 GetYAxis(hsMatrix44 &mat)
{
return hsVector3(mat.fMap[1][0], mat.fMap[1][1], mat.fMap[1][2]);
}
plAnimatedController::plAnimatedController(plSceneObject* rootObject, plAGApplicator* rootApp, plPhysicalControllerCore* controller)
: fRootObject(rootObject)
, fRootApp(rootApp)
, fController(controller)
, fTurnStr(0.f)
, fAnimAngVel(0.f)
, fAnimPosVel(0.f, 0.f, 0.f)
{
}
void plAnimatedController::RecalcVelocity(double timeNow, double timePrev, hsBool useAnim /* = true */)
{
if (useAnim)
{
// while you may think it would be correct to cache this,
// what we're actually asking is "what would the animation's
// position be at the previous time given its *current*
// parameters (particularly blends)"
hsMatrix44 prevMat = ((plMatrixChannel *)fRootApp->GetChannel())->Value(timePrev, true);
hsMatrix44 curMat = ((plMatrixChannel *)fRootApp->GetChannel())->Value(timeNow, true);
// If we get a valid linear velocity (ie, we didn't wrap around in the anim),
// use it. Otherwise just reuse the previous frames velocity.
hsVector3 linearVel;
if (LinearVelocity(linearVel, (float)(timeNow - timePrev), prevMat, curMat))
fAnimPosVel = linearVel;
// Automatically sets fAnimAngVel
AngularVelocity(fAnimAngVel, (float)(timeNow - timePrev), prevMat, curMat);
}
else
{
fAnimPosVel.Set(0.f, 0.f, 0.f);
fAnimAngVel = 0.f;
}
if (fController)
fController->SetVelocities(fAnimPosVel, fAnimAngVel + fTurnStr);
}
///////////////////////////////////////////////////////////////////////////
const hsScalar plWalkingController::kControlledFlightThreshold = 1.f; // seconds
plWalkingController::plWalkingController(plSceneObject* rootObject, plAGApplicator* rootApp, plPhysicalControllerCore* controller)
: plAnimatedController(rootObject, rootApp, controller)
, fHitGroundInThisAge(false)
, fWaitingForGround(false)
, fControlledFlightTime(0)
, fControlledFlight(0)
, fImpactTime(0.f)
, fImpactVelocity(0.f, 0.f, 0.f)
, fClearImpact(false)
, fGroundLastFrame(false)
{
if (fController)
{
fWalkingStrategy= TRACKED_NEW plWalkingStrategy(fController);
fController->SetMovementSimulationInterface(fWalkingStrategy);
}
else
fWalkingStrategy = nil;
}
void plWalkingController::RecalcVelocity(double timeNow, double timePrev, hsBool useAnim)
{
if (!fHitGroundInThisAge && fController && fController->IsEnabled() && fWalkingStrategy->IsOnGround())
fHitGroundInThisAge = true; // if we're not pinned and we're not in an age yet, we are now.
if (fClearImpact)
{
fImpactTime = 0.f;
fImpactVelocity.Set(0.f, 0.f, 0.f);
}
if (fController && !fWalkingStrategy->IsOnGround())
{
// PhysX Hack
// LinearVelocity is always (0,0,0) outside the PhysController
fImpactTime = fWalkingStrategy->GetAirTime();
fImpactVelocity = fController->GetAchievedLinearVelocity();
// convert orientation from subworld to avatar-local coordinates
fImpactVelocity = (hsVector3)fController->GetLocalRotation().Rotate(&fImpactVelocity);
fClearImpact = false;
}
else
fClearImpact = true;
if (IsControlledFlight())
{
if (fWalkingStrategy && fWalkingStrategy->IsOnGround())
fControlledFlightTime = fWalkingStrategy->GetAirTime();
if(fGroundLastFrame&&(fWalkingStrategy && !fWalkingStrategy->IsOnGround()))
{
//we have started to leave the ground tell the movement strategy in case it cares
fWalkingStrategy->StartJump();
}
if (fControlledFlightTime > kControlledFlightThreshold)
EnableControlledFlight(false);
}
if (fWalkingStrategy)
fGroundLastFrame = fWalkingStrategy->IsOnGround();
else
fGroundLastFrame=false;
plAnimatedController::RecalcVelocity(timeNow, timePrev, useAnim);
}
void plWalkingController::Reset(bool newAge)
{
ActivateController();
if (newAge)
{
if (fWalkingStrategy)
fWalkingStrategy->ResetAirTime();
fHitGroundInThisAge = false;
}
}
void plWalkingController::ActivateController()
{
if (fWalkingStrategy)
{
fWalkingStrategy->RefreshConnectionToControllerCore();
}
else
{
fWalkingStrategy= TRACKED_NEW plWalkingStrategy(fController);
fWalkingStrategy->RefreshConnectionToControllerCore();
}
}
bool plWalkingController::EnableControlledFlight(bool status)
{
if (status)
{
if (fControlledFlight == 0)
fControlledFlightTime = 0.f;
++fControlledFlight;
fWaitingForGround = true;
}
else
fControlledFlight = __max(--fControlledFlight, 0);
return status;
}
plWalkingController::~plWalkingController()
{
delete fWalkingStrategy;
if (fController)
fController->SetMovementSimulationInterface(nil);
}
#if 0
void plWalkingController::Update()
{
// double elapsed = time.asDouble() - getRefresh().asDouble();
// setRefresh(time);
//
// hsBool isPhysical = !fPhysical->GetProperty(plSimulationInterface::kPinned);
// const Havok::Vector3 straightUp(0.0f, 0.0f, 1.0f);
// hsBool alreadyInAge = fHitGroundInThisAge;
//
// int numContacts = fPhysical->GetNumContacts();
// bool ground = false;
// fPushingPhysical = nil;
// int i, j;
/* for(i = 0; i < numContacts; i++)
{
plHKPhysical *contactPhys = fPhysical->GetContactPhysical(i);
if (!contactPhys)
continue; // Physical no longer exists. Skip it.
const Havok::ContactPoint *contact = fPhysical->GetContactPoint(i);
hsScalar dotUp = straightUp.dot(contact->m_normal);
if (dotUp > .5)
ground = true;
else if (contactPhys->GetProperty(plSimulationInterface::kAvAnimPushable))
{
hsPoint3 position;
hsQuat rotation;
fPhysical->GetPositionAndRotationSim(&position, &rotation);
hsQuat inverseRotation = rotation.Inverse();
hsVector3 normal(contact->m_normal.x, contact->m_normal.y, contact->m_normal.z);
fFacingPushingPhysical = (inverseRotation.Rotate(&kAvatarForward).InnerProduct(normal) < 0 ? true : false);
fPushingPhysical = contactPhys;
}
}
// We need to check for the case where the avatar hasn't collided with "ground", but is colliding
// with a few other objects so that he's not actually falling (wedged in between some slopes).
// We do this by answering the following question (in 2d top-down space): "If you sort the contact
// normals by angle, is there a large enough gap between normals?"
//
// If you think in terms of geometry, this means a collection of surfaces are all pushing on you.
// If they're pushing from all sides, you have nowhere to go, and you won't fall. There needs to be
// a gap, so that you're pushed out and have somewhere to fall. This is the same as finding a gap
// larger than 180 degrees between sorted normals.
//
// The problem is that on top of that, the avatar needs enough force to shove him out that gap (he
// has to overcome friction). I deal with that by making the threshold (360 - (180 - 60) = 240). I've
// seen up to 220 reached in actual gameplay in a situation where we'd want this to take effect.
// This is the same running into 2 walls where the angle between them is 60.
const hsScalar threshold = hsScalarDegToRad(240);
if (!ground && numContacts >= 2)
{
// Can probably do a special case for exactly 2 contacts. Not sure if it's worth it...
fCollisionAngles.SetCount(numContacts);
for (i = 0; i < numContacts; i++)
{
const Havok::ContactPoint *contact = fPhysical->GetContactPoint(i);
fCollisionAngles[i] = hsATan2(contact->m_normal.y, contact->m_normal.x);
}
// numContacts is rarely larger than 6, so let's do a simple bubble sort.
for (i = 0; i < numContacts; i++)
{
for (j = i + 1; j < numContacts; j++)
{
if (fCollisionAngles[i] > fCollisionAngles[j])
{
hsScalar tempAngle = fCollisionAngles[i];
fCollisionAngles[i] = fCollisionAngles[j];
fCollisionAngles[j] = tempAngle;
}
}
}
// sorted, now we check.
for (i = 1; i < numContacts; i++)
{
if (fCollisionAngles[i] - fCollisionAngles[i - 1] >= threshold)
break;
}
if (i == numContacts)
{
// We got to the end. Check the last with the first and make your decision.
if (!(fCollisionAngles[0] - fCollisionAngles[numContacts - 1] >= (threshold - 2 * hsScalarPI)))
ground = true;
}
}
*/
bool ground = fController ? fController->GotGroundHit() : true;
bool isPhysical = true;
if (!fHitGroundInThisAge && isPhysical)
fHitGroundInThisAge = true; // if we're not pinned and we're not in an age yet, we are now.
if (IsControlledFlight())
fControlledFlightTime += (hsScalar)elapsed;
if (fControlledFlightTime > kControlledFlightThreshold && numContacts > 0)
EnableControlledFlight(false);
if (ground || !isPhysical)
{
if (!IsControlledFlight() && !IsOnGround())
{
// The first ground contact in an age doesn't count.
// if (alreadyInAge)
// {
// hsVector3 vel;
// fPhysical->GetLinearVelocitySim(vel);
// fImpactVel = vel.fZ;
// fTimeInAirPeak = (hsScalar)(fTimeInAir + elapsed);
// }
fWaitingForGround = false;
}
fTimeInAir = 0;
}
else if (elapsed < plSimulationMgr::GetInstance()->GetMaxDelta())
{
// If the simultation skipped a huge chunk of time, we didn't process the
// collisions, which could trick us into thinking we've just gone a long
// time without hitting ground. So we only count the time if this wasn't
// the case.
fTimeInAir += (hsScalar)elapsed;
}
// Tweakage so that we still fall under the right conditions.
// If we're in controlled flight, or standing still with ground solidly under us (probe hit). We only use anim velocity.
// if (!IsControlledFlight() && !(ground && fProbeHitGround && fAnimPosVel.fX == 0 && fAnimPosVel.fY == 0))
// {
// hsVector3 curV;
// fPhysical->GetLinearVelocitySim(curV);
// fAnimPosVel.fZ = curV.fZ;
//
// // Prevents us from going airborn from running up bumps/inclines.
// if (IsOnGround() && fAnimPosVel.fZ > 0.f)
// fAnimPosVel.fZ = 0.f;
//
// // Unless we're on the ground and moving, or standing still with a probe hit, we use the sim's other axes too.
// if (!(IsOnGround() && (fProbeHitGround || fAnimPosVel.fX != 0 || fAnimPosVel.fY != 0)))
// {
// fAnimPosVel.fX = curV.fX;
// fAnimPosVel.fY = curV.fY;
// }
// }
//
// fPhysical->SetLinearVelocitySim(fAnimPosVel);
// fPhysical->SetSpin(fAnimAngVel + fTurnStr, hsVector3(0.0f, 0.0f, 1.0f));
}
#endif
#if 0
/////////////////////////////////////////////////////////////////////////
plSimDefs::ActionType plHorizontalFreezeAction::GetType()
{
return plSimDefs::kHorizontalFreeze;
}
void plHorizontalFreezeAction::apply(Havok::Subspace &s, Havok::hkTime time)
{
double elapsed = time.asDouble() - getRefresh().asDouble();
setRefresh(time);
int numContacts = fPhysical->GetNumContacts();
bool ground = false;
const Havok::Vector3 straightUp(0.0f, 0.0f, 1.0f);
int i;
for(i = 0; i < numContacts; i++)
{
const Havok::ContactPoint *contact = fPhysical->GetContactPoint(i);
hsScalar dotUp = straightUp.dot(contact->m_normal);
if (dotUp > .5)
ground = true;
}
hsVector3 vel;
fPhysical->GetLinearVelocitySim(vel);
vel.fX = 0.0;
vel.fY = 0.0;
if (ground)
vel.fZ = 0;
fPhysical->SetLinearVelocitySim(vel);
fPhysical->ClearContacts();
}
#endif
plSwimmingController::plSwimmingController(plSceneObject* rootObject, plAGApplicator* rootApp, plPhysicalControllerCore* controller)
:plAnimatedController(rootObject,rootApp,controller)
{
if (controller)
fSwimmingStrategy= TRACKED_NEW plSwimStrategy(controller);
else
fSwimmingStrategy = nil;
}
plSwimmingController::~plSwimmingController()
{
delete fSwimmingStrategy;
}
plRidingAnimatedPhysicalController::plRidingAnimatedPhysicalController(plSceneObject* rootObject, plAGApplicator* rootApp, plPhysicalControllerCore* controller)
: plWalkingController(rootObject, rootApp, controller)
{
if(controller)
fWalkingStrategy = TRACKED_NEW plRidingAnimatedPhysicalStrategy(controller);
else
fWalkingStrategy = nil;
}
plRidingAnimatedPhysicalController::~plRidingAnimatedPhysicalController()
{
delete fWalkingStrategy;
fWalkingStrategy=nil;
}
//////////////////////////////////////////////////////////////////////////
/*
Purpose:
ANGLE_RAD_2D returns the angle in radians swept out between two rays in 2D.
Discussion:
Except for the zero angle case, it should be true that
ANGLE_RAD_2D(X1,Y1,X2,Y2,X3,Y3)
+ ANGLE_RAD_2D(X3,Y3,X2,Y2,X1,Y1) = 2 * PI
Modified:
19 April 1999
Author:
John Burkardt
Parameters:
Input, float X1, Y1, X2, Y2, X3, Y3, define the rays
( X1-X2, Y1-Y2 ) and ( X3-X2, Y3-Y2 ) which in turn define the
angle, counterclockwise from ( X1-X2, Y1-Y2 ).
Output, float ANGLE_RAD_2D, the angle swept out by the rays, measured
in radians. 0 <= ANGLE_DEG_2D < 2 PI. If either ray has zero length,
then ANGLE_RAD_2D is set to 0.
*/
static float AngleRad2d ( float x1, float y1, float x3, float y3 )
{
float value;
float x;
float y;
x = ( x1 ) * ( x3 ) + ( y1 ) * ( y3 );
y = ( x1 ) * ( y3 ) - ( y1 ) * ( x3 );
if ( x == 0.0 && y == 0.0 ) {
value = 0.0;
}
else
{
value = atan2 ( y, x );
if ( value < 0.0 )
{
value = (float)(value + TWO_PI);
}
}
return value;
}
static hsBool LinearVelocity(hsVector3 &outputV, float elapsed, hsMatrix44 &prevMat, hsMatrix44 &curMat)
{
bool result = false;
hsPoint3 startPos(0.0f, 0.0f, 0.0f); // default position (at start of anim)
hsPoint3 prevPos = prevMat.GetTranslate(); // position previous frame
hsPoint3 nowPos = curMat.GetTranslate(); // position current frame
hsVector3 prev2Now = (hsVector3)(nowPos - prevPos); // frame-to-frame delta
if (fabs(prev2Now.fX) < 0.0001f && fabs(prev2Now.fY) < 0.0001f && fabs(prev2Now.fZ) < 0.0001f)
{
outputV.Set(0.f, 0.f, 0.f);
result = true;
}
else
{
hsVector3 start2Now = (hsVector3)(nowPos - startPos); // start-to-frame delta
float prev2NowMagSqr = prev2Now.MagnitudeSquared();
float start2NowMagSqr = start2Now.MagnitudeSquared();
float dot = prev2Now.InnerProduct(start2Now);
// HANDLING ANIMATION WRAPPING:
// the vector from the animation origin to the current frame should point in roughly
// the same direction as the vector from the previous animation position to the
// current animation position.
//
// If they don't agree (dot < 0,) then we probably mpst wrapped around.
// The right answer would be to compare the current frame to the start of
// the anim loop, but it's cheaper to cheat and return false,
// telling the caller to use the previous frame's velocity.
if (dot > 0.0f)
{
prev2Now /= elapsed;
float xfabs = fabs(prev2Now.fX);
float yfabs = fabs(prev2Now.fY);
float zfabs = fabs(prev2Now.fZ);
static const float maxVel = 20.0f;
hsBool valid = xfabs < maxVel && yfabs < maxVel && zfabs < maxVel;
if (valid)
{
outputV = prev2Now;
result = true;
}
}
}
return result;
}
static void AngularVelocity(hsScalar &outputV, float elapsed, hsMatrix44 &prevMat, hsMatrix44 &curMat)
{
outputV = 0.f;
hsScalar appliedVelocity = 0.0f;
hsVector3 prevForward = GetYAxis(prevMat);
hsVector3 curForward = GetYAxis(curMat);
hsScalar angleSincePrev = AngleRad2d(curForward.fX, curForward.fY, prevForward.fX, prevForward.fY);
hsBool sincePrevSign = angleSincePrev > 0.0f;
if (angleSincePrev > hsScalarPI)
angleSincePrev = angleSincePrev - TWO_PI;
const hsVector3 startForward = hsVector3(0, -1.0, 0); // the Y orientation of a "resting" armature....
hsScalar angleSinceStart = AngleRad2d(curForward.fX, curForward.fY, startForward.fX, startForward.fY);
hsBool sinceStartSign = angleSinceStart > 0.0f;
if (angleSinceStart > hsScalarPI)
angleSinceStart = angleSinceStart - TWO_PI;
// HANDLING ANIMATION WRAPPING:
// under normal conditions, the angle from rest to the current frame will have the same
// sign as the angle from the previous frame to the current frame.
// if it does not, we have (most likely) wrapped the motivating animation from frame n back
// to frame zero, creating a large angle from the previous frame to the current one
if (sincePrevSign == sinceStartSign)
{
// signs are the same; didn't wrap; use the frame-to-frame angle difference
appliedVelocity = angleSincePrev / elapsed; // rotation / time
if (fabs(appliedVelocity) < 3)
{
outputV = appliedVelocity;
}
}
}

View File

@ -1,217 +0,0 @@
/*==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 PL_HK_CALLBACK_ACTION_H
#define PL_HK_CALLBACK_ACTION_H
#include "hsGeometry3.h"
#include "hsMatrix44.h"
#include "hsTemplates.h"
#include "../pnKeyedObject/plKey.h"
#include "../plPhysical/plSimDefs.h"
#include "../pnMessage/plMessage.h"
#include "plPhysicalControllerCore.h"
class plLOSHitMsg;
class plAGApplicator;
class plSceneObject;
class plPhysical;
class plAvatarController;
class plCoordinateInterface;
class plPhysicalControllerCore;
// Used by the other controllers to actually move the avatar. The actual
// implementation is in the physics system.
/*class plPhysicalController
{
public:
// Implemented in the physics system. If you're linking this without that for
// some reason, just stub this function out.
//
// Pass in the key to the root sceneobject for the avatar
static plPhysicalController* Create(plKey ownerSO, hsScalar height, hsScalar width);
virtual ~plPhysicalController() {}
// A disabled avatar doesn't move or accumulate air time if he's off the ground.
virtual void Enable(bool enable) = 0;
virtual bool IsEnabled() const = 0;
// Set the LOS DB this avatar will be in (only one)
virtual void SetLOSDB(plSimDefs::plLOSDB losDB) = 0;
// Call this once per frame with the velocities of the avatar in avatar space.
virtual void SetVelocities(const hsVector3& linearVel, hsScalar angVel) = 0;
// Gets the actual velocity we achieved in the last step (relative to our subworld)
virtual const hsVector3& GetLinearVelocity() const = 0;
virtual void ResetAchievedLinearVelocity() = 0;
// Get and set the current subworld for the avatar. Use nil for the main world.
virtual plKey GetSubworld() const = 0;
virtual void SetSubworld(plKey world) = 0;
// If IsOnGround returns false, GetAirTime will tell you how long the avatar
// has been airborne. Use ResetAirTime to reset the air time to zero, for
// cases like when the avatar spawns into a new age.
virtual bool IsOnGround() const = 0;
virtual bool IsOnFalseGround() const = 0;
virtual hsScalar GetAirTime() const = 0;
virtual void ResetAirTime() = 0;
virtual plPhysical* GetPushingPhysical() const = 0;
virtual bool GetFacingPushingPhysical() const = 0;
// A helper function to get the coordinate interface for the avatars current
// world. Handy if you need to convert points to and from that. This will
// return nil if the avatar is in the main world (ie, you don't need to do
// any translation).
virtual const plCoordinateInterface* GetSubworldCI() const = 0;
// For the avatar SDL only
virtual void GetState(hsPoint3& pos, float& zRot) = 0;
virtual void SetState(const hsPoint3& pos, float zRot) = 0;
// kinematic stuff .... should be just for when playing a behavior...
virtual void Kinematic(bool state) = 0;
virtual bool IsKinematic() = 0;
virtual void GetKinematicPosition(hsPoint3& pos) = 0;
virtual const hsMatrix44& GetPrevSubworldW2L() = 0;
//when seeking no longer want to interact with exclusion regions
virtual void SetSeek(bool seek)=0;
};
*/
class plAvatarController
{
public:
virtual ~plAvatarController() {}
};
class plAnimatedController : public plAvatarController
{
public:
plAnimatedController(plSceneObject* rootObject, plAGApplicator* rootApp, plPhysicalControllerCore* controller);
virtual void RecalcVelocity(double timeNow, double timePrev, hsBool useAnim = true);
void SetTurnStrength(hsScalar val) { fTurnStr = val; }
hsScalar GetTurnStrength() { return fTurnStr; }
virtual void ActivateController()=0;
protected:
plSceneObject* fRootObject;
plPhysicalControllerCore* fController;
plAGApplicator* fRootApp;
hsScalar fAnimAngVel;
hsVector3 fAnimPosVel;
hsScalar fTurnStr; // Explicit turning, separate from animations
};
class plWalkingController : public plAnimatedController
{
public:
plWalkingController(plSceneObject* rootObject, plAGApplicator* rootApp, plPhysicalControllerCore* controller);
virtual ~plWalkingController();
virtual void RecalcVelocity(double timeNow, double timePrev, hsBool useAnim = true);
void Reset(bool newAge);
bool IsControlledFlight() const { return fControlledFlight != 0; }
bool IsOnGround() const { return fWalkingStrategy ? fWalkingStrategy->IsOnGround() : true; }
bool IsOnFalseGround() const { return fWalkingStrategy ? fWalkingStrategy->IsOnFalseGround() : true; }
bool HitGroundInThisAge() const { return fHitGroundInThisAge; }
bool EnableControlledFlight(bool status);
hsScalar GetAirTime() const { return fWalkingStrategy ? fWalkingStrategy->GetAirTime() : 0.f; }
void ResetAirTime() { if (fWalkingStrategy) fWalkingStrategy->ResetAirTime(); }
hsScalar GetForwardVelocity() const;
void ActivateController();
// Check these after the avatar the avatar hits the ground for his total
// hangtime and impact velocity.
hsScalar GetImpactTime() const { return fImpactTime; }
const hsVector3& GetImpactVelocity() const { return fImpactVelocity; }
plPhysical* GetPushingPhysical() const
{
if(fController)return fController->GetPushingPhysical();
else return nil;
}
bool GetFacingPushingPhysical() const
{ if(fController)return fController->GetFacingPushingPhysical();
else return false;
}
protected:
bool fHitGroundInThisAge;
bool fWaitingForGround; // We've gone airborne. IsOnGround() returns false until we hit ground again.
hsScalar fControlledFlightTime;
int fControlledFlight; // Count of how many are currently forcing flight
plWalkingStrategy* fWalkingStrategy;
hsScalar fImpactTime;
hsVector3 fImpactVelocity;
bool fClearImpact;
bool fGroundLastFrame;//used for a test to pass the event of first getting air during a jump
static const hsScalar kControlledFlightThreshold;
};
class plSwimmingController: public plAnimatedController
{
public :
plSwimmingController(plSceneObject* rootObject, plAGApplicator* rootApp, plPhysicalControllerCore* controller);
virtual ~plSwimmingController();
void SetSurface(plSwimRegionInterface *region, hsScalar surfaceHeight){
fSwimmingStrategy->SetSurface(region,surfaceHeight);
}
hsScalar GetBuoyancy() { return fSwimmingStrategy->GetBuoyancy(); }
hsBool IsOnGround() { return fSwimmingStrategy->IsOnGround(); }
hsBool HadContacts() { return fSwimmingStrategy->HadContacts();}
void Enable(bool en){if (fController) fController->Enable(en);}
plPhysicalControllerCore* GetController(){return fController;}
virtual void ActivateController(){fSwimmingStrategy->RefreshConnectionToControllerCore();}
protected:
plSwimStrategy* fSwimmingStrategy;
};
class plRidingAnimatedPhysicalController: public plWalkingController
{
public:
plRidingAnimatedPhysicalController(plSceneObject* rootObject, plAGApplicator* rootApp, plPhysicalControllerCore* controller);
virtual ~plRidingAnimatedPhysicalController();
};
#endif // PL_HK_CALLBACK_ACTION_H

View File

@ -39,7 +39,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
Mead, WA 99021
*==LICENSE==*/
#include "../plAvatar/plAvCallbackAction.h"
#include "plPhysicalControllerCore.h"
#include "hsTypes.h"
@ -129,7 +129,7 @@ bool plAvLadderMod::IIsReadyToClimb()
if (armMod)
{
plAvBrainHuman* brain = plAvBrainHuman::ConvertNoRef(armMod->GetCurrentBrain());
if (brain && brain->IsMovingForward() && brain->fCallbackAction->IsOnGround())
if (brain && brain->IsMovingForward() && brain->fWalkingStrategy->IsOnGround())
movingForward = true;
}

View File

@ -54,7 +54,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "plAGAnim.h"
#include "plArmatureMod.h"
#include "plAvatarMgr.h"
#include "plAvCallbackAction.h"
#include "plPhysicalControllerCore.h"
// other
#include "../plMessage/plAvatarMsg.h"
@ -462,10 +462,10 @@ hsBool plAvTaskSeek::IFinishPosition(hsPoint3 &newPosition,
{
// While warping, we might be hovering just above the ground. Don't want that to
// trigger any falling behavior.
if(brain&&brain->fCallbackAction)
if(brain&&brain->fWalkingStrategy)
{
brain->fCallbackAction->ResetAirTime();
brain->fWalkingStrategy->ResetAirTime();
}
// how far will we translate this frame?
float thisDist = kFloatSpeed * elapsed;

View File

@ -47,7 +47,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "../plAvatar/plAvBrainClimb.h"
#include "../plAvatar/plAvBrainDrive.h"
#include "../plAvatar/plAnimStage.h"
#include "../plAvatar/plAvCallbackAction.h"
#include "../plAvatar/plPhysicalControllerCore.h"
#include "../pnSceneObject/plSceneObject.h"
#include "../pnMessage/plSDLModifierMsg.h"
#include "../plSDL/plSDL.h"

View File

@ -53,7 +53,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "plAGAnimInstance.h"
#include "plAGModifier.h"
#include "plMatrixChannel.h"
#include "plAvCallbackAction.h"
#include "plPhysicalControllerCore.h"
#include "plAvatarMgr.h"
// global
@ -689,7 +689,7 @@ hsBool plAvOneShotTask::Process(plArmatureMod *avatar, plArmatureBrain *brain, d
if(fEnablePhysicsAtEnd)
{
#if 0//ndef PLASMA_EXTERNAL_RELEASE
if (!humanBrain || humanBrain->fCallbackAction->HitGroundInThisAge())
if (!humanBrain || humanBrain->fWalkingStrategy->HitGroundInThisAge())
{
// For some reason, calling CheckValidPosition at the beginning of
// an age can cause detectors to incorrectly report collisions. So

Some files were not shown because too many files have changed in this diff Show More