New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: CInterface Update #2136

wants to merge 7 commits into
base: development


None yet
1 participant

lukaspj commented Dec 11, 2017

This update will allow any application to hook into T3D as a library and act as a scripting layer for it. With this update, you can write a Go layer, a C# layer, a Java layer or anything else you can think of. It is fairly easy to hook in.

The CInterface already exists in T3D, this just seeks to bring it up-to-date and solve the issues that have popped up from years of negligence.

I made this PR before it is ready to be merged, in the hopes that some comments on the changes I've made and the solutions I've done could improve my work.

E.g. the hook in to the CodeInterpreter is probably not done the cleanest way possible, or the changes I've done in EngineTypes.h is something I'm not too sure of.

Any questions are welcome.


This comment has been minimized.


lukaspj commented Jan 17, 2018

Description of remaining issues here:

@lukaspj lukaspj changed the title from WIP: CInterface Update to CInterface Update Mar 20, 2018


This comment has been minimized.


lukaspj commented Mar 20, 2018

I'm removing the WIP tag, as this has been up here quite a while, and no one has commented on any issues with it.

It will probably break JS implementations, if anyone still uses those.

lukaspj added some commits Apr 1, 2018

Standardize export style in CInterface
Use consistent C-Linkage in CInterface, by removing DLL_DECL
Fix for compiling CInterface on Linux, prevent tokenizing function-na…
…mes with (

Bring controlInterface up to feature-parity with devhead

@lukaspj lukaspj changed the title from CInterface Update to WIP: CInterface Update Apr 17, 2018


This comment has been minimized.


lukaspj commented Apr 17, 2018

Added WIP tag, because I'm gonna do some investigation into the EngineAPI system, before this is merged.


This comment has been minimized.


lukaspj commented Apr 21, 2018

Splitting this PR into two, one for updating existing functionality and one for adding new functionality.

@lukaspj lukaspj closed this Apr 21, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment