I read through the documents and I don’t see how Macs will make use of this TNI. It wants DLLs which are well known in the Windows world. Plus requires C code and I prefer to stick to Swift. How would importing a DEM work and what about HD Terrain?
This allows access to the Trainz code to allow external programs and controllers work with Trainz such as a train controller console like the Rail Driver. This isn't for the faint of heart due to the amount of programming needed to connect the devices. You need experience with C++ and a Windows computer due to TNI relying heavily on the DLLs, or Dynamic Link Libraries.
A DLL is a code-library that's accessible from other programs and can contain many functions. We do a similar thing with mesh-libraries even though those aren't DLLs. A DLL for video control, for example, can contain the functions to call up drawing vectors or bitmaps without the programmer needing to rewrite this code all over again themselves. Being supplied by the company that wrote the original program, or by Microsoft for the OS, this gives the outside developers access to the company code without having to see the company's code directly because a DLL is already compiled binary code.
dll just stands for dynamic link library. Mac etc have similar functionality, they just don't use the 'dll' file extension. I'm not sure if we dynamically or statically link the current built-in ones on mac.
The use of C/C++ is a hard requirement though, for portability. Also TNI projects should not use any platform specific code/features.
Terrain isn't part of the current TNI options, but hopefully will be one day.