diff options
author | Karroffel <therzog@mail.de> | 2017-04-03 16:11:38 +0200 |
---|---|---|
committer | Karroffel <therzog@mail.de> | 2017-04-03 17:20:11 +0200 |
commit | fd553087867187220d4f6b8217854dd8e9be2667 (patch) | |
tree | ba4c8b2611b1a574056e2f4ae694f18b737ee0e6 /modules/dlscript/godot/godot_rid.cpp | |
parent | 67f59bc2d9e2ce5faa9507017d49827753981e1e (diff) |
added dlscript module
This module was written by bojidar-bg and me, with the help of ClikCode and touilleMan.
This adds a module to Godot that enables the use of dynamic libraries as a source for scripts.
That also allows third party libraries to be linked to Godot more easily and without creating modules.
For a readme see https://github.com/GodotNativeTools/godot_headers/blob/master/README.md
Diffstat (limited to 'modules/dlscript/godot/godot_rid.cpp')
-rw-r--r-- | modules/dlscript/godot/godot_rid.cpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/modules/dlscript/godot/godot_rid.cpp b/modules/dlscript/godot/godot_rid.cpp new file mode 100644 index 0000000000..a36a2e64a3 --- /dev/null +++ b/modules/dlscript/godot/godot_rid.cpp @@ -0,0 +1,36 @@ +#include "godot_rid.h" + +#include "object.h" +#include "resource.h" + +#ifdef __cplusplus +extern "C" { +#endif + +void _rid_api_anchor() { +} + +void GDAPI godot_rid_new(godot_rid *p_rid, godot_object *p_from) { + + Resource *res_from = ((Object *)p_from)->cast_to<Resource>(); + + RID *rid = (RID *)p_rid; + memnew_placement(rid, RID); + + if (res_from) { + *rid = RID(res_from->get_rid()); + } +} + +uint32_t GDAPI godot_rid_get_rid(const godot_rid *p_rid) { + RID *rid = (RID *)p_rid; + return rid->get_id(); +} + +void GDAPI godot_rid_destroy(godot_rid *p_rid) { + ((RID *)p_rid)->~RID(); +} + +#ifdef __cplusplus +} +#endif |