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.
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.
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.
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.
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.