Last modified: 2019-03-12
Primitive tsxPython (ptsxpy) is under development and on Pre-alpha stage.
1. Developer Notes
As of now, the author does not disclose the source code to public. To ensure the reliability, some C/C++ codes (method table and body) are generated automatically from tsxAPI documents and header files using bash, awk and sed scripts in the Cygwin environment, and compiled with other handmade C++ source files in the build process. These scripts also correct some mistakes in documents and ensure consistency between document and header files.
1.2 Development environment
(1) Visual Studio 2017
(2) Cygwin (to make a method table and method bodies for each tS version. It may be replaced with an free UNIX environment instead.)
1.3 External resources
(1) Text files copy-pasted from the tsxAPI document of each trueSpace version. The tsxAPI documents are included in the SDKs (Software Development Kits) that have ever been distributed to public from Caligari Corp.
(2) *.h and *.lib in the SDK of each tS version.
(3) Python libraries.
1.4 Authored resources
(1) Some bash, awk, and sed scripts that convert from the text files of tsxAPI and *.h to C++ methods.
(2) Some handmade *.cpp.
(3) Some handmade *.py (Python script files).
(4) Icon bitmap files, etc.
1.5 Isolating the external paths from the solution
There are some projects (.vcxproj) in the solution (.sln) of the ptsxpy and each of them refer the include paths and link paths. Considering the portability, the following paths is written in a single property sheet that is common to the projects and the configuration (Debug/Release). You can edit the property sheet using the property manager of the Visual Studio (View - Other Windows - Property Manager).
(1) C/C++ option - AdditionalIncludeDirectories Path of the "sdk" folder (There must be sdk_ts43g2, sdkts_51, sdk_tS60, and sdk_tS66 folder in each zip file of SDK). Python-installed path.
(2) Linker option - AdditionalDependencies path of the python*.lib.
(3) Linker option - AdditionalLibraryDirectories Path of the "sdk" folder (same with above).
1.6 Win32 (x86) distribution only
Caligari corp. provided the tsxapi.lib file for each version of tS in 32bit, and there is no 64bit library. For that reason, the solution/projects uses 32bit tsxapi.lib and 32bit python*.lib, and outputs 32bit *.tsx.