Additional target configurations to place build artifacts in different directories.
This allows parallel Jenkins Pipeline builds and easier artifact archival.
Fix for forgotten logins when removable media attached.
Incorporated suggestions from PR #32 which this replaces. Moved CloseHandle as suggested.
Addresses JIRA CWE-37 Corrects incorrect assignment of drive letter to the drive actually being interrogated and ignores removable drive types such as CD/DVD and USB Flash and HDs.
Alternative solution that moves login credentials to the registry is being prepared by Deledrius - H-uru/Plasma PR#448 may be a better long term fix - I'm simply offering what I have.
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).
- 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.
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.
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.
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.
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.
Add plFileEncrypt, plFileSecure, plPythonPack to AllClient.sln
As requested at http://forums.openuru.org/viewtopic.php?p=6100#p6100 .
Build products are placed in MOULOpenSourceClientPlugin/Plasma20/tools/ (as plPythonPack.exe already was).
As for other library dependencies, source and binaries are no longer included but must be installed separately.
The file layout has changed in one detail: zlib headers are now under XPlatform/zlib rather than XPlatform/zlib/inc. Rather than working around that by moving the headers after the build, I've updated those projects relying on that that I could find, hope it doesn't upset any that are not here.
Installation instructions:
1. Download zlib126.zip (or a newer version) from http://www.zlib.net/ , extract the zlib-1.2.6 folder it contains and move/rename it to MOULOpenSourceClientPlugin/StaticSDKs/XPlatform/zlib .
2. Download lpng1510.zip (or a newer version) from http://libpng.org/pub/png/libpng.html , extract the lpng1510 folder it contains and move/rename it to MOULOpenSourceClientPlugin/StaticSDKs/XPlatform/png .
3. Open png/projects/visualc71/libpng.sln in Visual Studio 2003.
4. Select "LIB Debug" from the Solution Configurations popup menu in the toolbar, then Build > Build Solution.
5. Select the "LIB Release" configuration and build the solution.
6. Make a new folder png/lib and move png/projects/visualc71/Win32_LIB_Debug/libpngd.lib as well as png/projects/visualc71/Win32_LIB_Release/libpng.lib into it.
7. Make a new folder zlib/lib and move png/projects/visualc71/Win32_LIB_Debug/ZLib/zlibd.lib as well as png/projects/visualc71/Win32_LIB_Release/ZLib/zlib.lib into it.
Add plClientPatcher and plUruLauncher to AllClient.sln.
Adjust include and library paths in the "Release" build.
Adjust library depedencies to remove EAX, IJL, and Bink, and add IJG jpeg libraries.
Remove some overlooked Havok include files.
Add sample build and clean batch files to build the AllClient solution from a MSVC 2003 command prompt.