jfmherokiller wrote:by plclient do you mean the code from here?
This appears to be it. Personally I always work with the
H'uru fork since it's the one getting daily updates. The plClient part of the project is actually what compiles to UruExplorer.exe.
The MOUL client is obviously an evolution of the PotS one. The Myst V version of the engine was forked at some point between PotS and MOUL. That's why I suspect a recent plClient (for which we have the sources and can generate pdbs and maps) will have something like 80% in common with both the older PotS UruExplorer.exe and MV eoa.exe, for which we're lacking the sources. (Even though technically they weren't built by the same version of Visual Studio's compiler, but most of the underlying classes remain fairly similar.)
HSPlasma was written through reverse-engineering before we got the source code, with the sole purpose of being a PRP reader/writer. So I suspect it's going to compile to something quite different from the actual engine itself. Can still be used as a guide to understand the PRP format for older versions of the engine, of course.
jfmherokiller wrote:I do not know the entire format of these mod DLLs but they do seem to require an InitGlobals export.
Oh, it's fairly straightforward. See
the source to get an idea. That mechanism has been here since forever (even before the first release of Uru), and we have examples of it being used in the old Kahlo demo to load new PRP object types at runtime (I can dig up the download link if you want). I also used it a while ago to fix a mouse bug on PotS when playing Uru on Windows 10. Of course, if you intend to interact with the engine code itself, it only works for the version of the plClient it was intended for. That's why modding PotS through ModDLLs was never a huge deal - we don't have the offsets/structs for that version of the engine, and everyone is focused on improving the version of the client for which we have the actual sources.