merged gdnative and nativescript module

This commit is contained in:
Karroffel 2017-09-03 12:40:41 +02:00
parent 6a08f8288e
commit 7878329e6f
50 changed files with 118 additions and 163 deletions

View file

@ -2,12 +2,16 @@
Import('env')
env.add_source_files(env.modules_sources, "*.cpp")
env.add_source_files(env.modules_sources, "godot/*.cpp")
gdn_env = env.Clone()
env.Append(CPPFLAGS=['-DGDAPI_BUILT_IN'])
env.Append(CPPPATH=['#modules/gdnative/'])
gdn_env.add_source_files(env.modules_sources, "*.cpp")
gdn_env.add_source_files(env.modules_sources, "gdnative/*.cpp")
gdn_env.add_source_files(env.modules_sources, "nativescript/*.cpp")
gdn_env.Append(CPPFLAGS=['-DGDAPI_BUILT_IN'])
gdn_env.Append(CPPPATH=['#modules/gdnative/include/'])
if "platform" in env and env["platform"] == "x11": # there has to be a better solution?
env.Append(LINKFLAGS=["-rdynamic"])
env.use_ptrcall = True

View file

@ -35,7 +35,7 @@
#include "os/thread_safe.h"
#include "resource.h"
#include <godot/gdnative.h>
#include "gdnative/gdnative.h"
class GDNativeLibrary : public Resource {
GDCLASS(GDNativeLibrary, Resource)

View file

@ -27,7 +27,7 @@
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
#include <godot/array.h>
#include "gdnative/array.h"
#include "core/array.h"
#include "core/os/memory.h"

View file

@ -27,7 +27,7 @@
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
#include <godot/basis.h>
#include "gdnative/basis.h"
#include "core/math/matrix3.h"
#include "core/variant.h"

View file

@ -27,7 +27,7 @@
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
#include <godot/color.h>
#include "gdnative/color.h"
#include "core/color.h"
#include "core/variant.h"

View file

@ -27,7 +27,7 @@
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
#include <godot/dictionary.h>
#include "gdnative/dictionary.h"
#include "core/variant.h"
// core/variant.h before to avoid compile errors with MSVC

View file

@ -27,11 +27,10 @@
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
#include <godot/gdnative.h>
#include "gdnative/gdnative.h"
#include "class_db.h"
#include "error_macros.h"
#include "gdnative.h"
#include "global_constants.h"
#include "os/os.h"
#include "project_settings.h"

View file

@ -27,7 +27,7 @@
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
#include <godot/node_path.h>
#include "gdnative/node_path.h"
#include "core/node_path.h"
#include "core/variant.h"

View file

@ -27,7 +27,7 @@
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
#include <godot/plane.h>
#include "gdnative/plane.h"
#include "core/math/plane.h"
#include "core/variant.h"

View file

@ -27,7 +27,7 @@
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
#include <godot/pool_arrays.h>
#include "gdnative/pool_arrays.h"
#include "array.h"
#include "core/variant.h"

View file

@ -27,7 +27,7 @@
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
#include <godot/quat.h>
#include "gdnative/quat.h"
#include "core/math/quat.h"
#include "core/variant.h"

View file

@ -27,7 +27,7 @@
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
#include <godot/rect2.h>
#include "gdnative/rect2.h"
#include "core/math/math_2d.h"
#include "core/variant.h"

View file

@ -27,7 +27,7 @@
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
#include <godot/rect3.h>
#include "gdnative/rect3.h"
#include "core/math/rect3.h"
#include "core/variant.h"

View file

@ -27,7 +27,7 @@
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
#include <godot/rid.h>
#include "gdnative/rid.h"
#include "core/resource.h"
#include "core/rid.h"

View file

@ -27,7 +27,7 @@
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
#include <godot/string.h>
#include "gdnative/string.h"
#include "core/variant.h"
#include "string_db.h"

View file

@ -27,7 +27,7 @@
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
#include <godot/transform.h>
#include "gdnative/transform.h"
#include "core/math/transform.h"
#include "core/variant.h"

View file

@ -27,7 +27,7 @@
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
#include <godot/transform2d.h>
#include "gdnative/transform2d.h"
#include "core/math/math_2d.h"
#include "core/variant.h"

View file

@ -27,7 +27,7 @@
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
#include <godot/variant.h>
#include "gdnative/variant.h"
#include "core/variant.h"

View file

@ -27,7 +27,7 @@
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
#include <godot/vector2.h>
#include "gdnative/vector2.h"
#include "core/math/math_2d.h"
#include "core/variant.h"

View file

@ -27,7 +27,7 @@
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
#include <godot/vector3.h>
#include "gdnative/vector3.h"
#include "core/variant.h"
#include "core/vector.h"

View file

@ -1,23 +0,0 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/icon.png-aa47d037a37fb38b3b7e7828e4eec407.stex"
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
stream=false
size_limit=0
detect_3d=true

View file

@ -46,10 +46,10 @@ typedef struct {
} godot_array;
#endif
#include <godot/pool_arrays.h>
#include <godot/variant.h>
#include <gdnative/pool_arrays.h>
#include <gdnative/variant.h>
#include <godot/gdnative.h>
#include <gdnative/gdnative.h>
void GDAPI godot_array_new(godot_array *r_dest);
void GDAPI godot_array_new_copy(godot_array *r_dest, const godot_array *p_src);

View file

@ -45,9 +45,9 @@ typedef struct {
} godot_basis;
#endif
#include <godot/gdnative.h>
#include <godot/quat.h>
#include <godot/vector3.h>
#include <gdnative/gdnative.h>
#include <gdnative/quat.h>
#include <gdnative/vector3.h>
void GDAPI godot_basis_new_with_rows(godot_basis *r_dest, const godot_vector3 *p_x_axis, const godot_vector3 *p_y_axis, const godot_vector3 *p_z_axis);
void GDAPI godot_basis_new_with_axis_and_angle(godot_basis *r_dest, const godot_vector3 *p_axis, const godot_real p_phi);

View file

@ -45,8 +45,8 @@ typedef struct {
} godot_color;
#endif
#include <godot/gdnative.h>
#include <godot/string.h>
#include <gdnative/gdnative.h>
#include <gdnative/string.h>
void GDAPI godot_color_new_rgba(godot_color *r_dest, const godot_real p_r, const godot_real p_g, const godot_real p_b, const godot_real p_a);
void GDAPI godot_color_new_rgb(godot_color *r_dest, const godot_real p_r, const godot_real p_g, const godot_real p_b);

View file

@ -45,9 +45,9 @@ typedef struct {
} godot_dictionary;
#endif
#include <godot/array.h>
#include <godot/gdnative.h>
#include <godot/variant.h>
#include <gdnative/array.h>
#include <gdnative/gdnative.h>
#include <gdnative/variant.h>
void GDAPI godot_dictionary_new(godot_dictionary *r_dest);
void GDAPI godot_dictionary_new_copy(godot_dictionary *r_dest, const godot_dictionary *p_src);

View file

@ -146,100 +146,74 @@ typedef float godot_real;
/////// Object (forward declared)
typedef void godot_object;
/////// Brute force forward declarations for the rest
/*
typedef struct godot_variant godot_variant;
typedef struct godot_string godot_string;
typedef struct godot_vector2 godot_vector2;
typedef struct godot_rect2 godot_rect2;
typedef struct godot_vector3 godot_vector3;
typedef struct godot_transform2d godot_transform2d;
typedef struct godot_plane godot_plane;
typedef struct godot_quat godot_quat;
typedef struct godot_rect3 godot_rect3;
typedef struct godot_basis godot_basis;
typedef struct godot_transform godot_transform;
typedef struct godot_color godot_color;
typedef struct godot_node_path godot_node_path;
typedef struct godot_rid godot_rid;
typedef struct godot_dictionary godot_dictionary;
typedef struct godot_array godot_array;
typedef struct godot_pool_byte_array godot_pool_byte_array;
typedef struct godot_pool_int_array godot_pool_int_array;
typedef struct godot_pool_real_array godot_pool_real_array;
typedef struct godot_pool_string_array godot_pool_string_array;
typedef struct godot_pool_vector2_array godot_pool_vector2_array;
typedef struct godot_pool_vector3_array godot_pool_vector3_array;
typedef struct godot_pool_color_array godot_pool_color_array;
*/
/////// String
#include <godot/string.h>
#include <gdnative/string.h>
////// Vector2
#include <godot/vector2.h>
#include <gdnative/vector2.h>
////// Rect2
#include <godot/rect2.h>
#include <gdnative/rect2.h>
////// Vector3
#include <godot/vector3.h>
#include <gdnative/vector3.h>
////// Transform2D
#include <godot/transform2d.h>
#include <gdnative/transform2d.h>
/////// Plane
#include <godot/plane.h>
#include <gdnative/plane.h>
/////// Quat
#include <godot/quat.h>
#include <gdnative/quat.h>
/////// Rect3
#include <godot/rect3.h>
#include <gdnative/rect3.h>
/////// Basis
#include <godot/basis.h>
#include <gdnative/basis.h>
/////// Transform
#include <godot/transform.h>
#include <gdnative/transform.h>
/////// Color
#include <godot/color.h>
#include <gdnative/color.h>
/////// NodePath
#include <godot/node_path.h>
#include <gdnative/node_path.h>
/////// RID
#include <godot/rid.h>
#include <gdnative/rid.h>
/////// Dictionary
#include <godot/dictionary.h>
#include <gdnative/dictionary.h>
/////// Array
#include <godot/array.h>
#include <gdnative/array.h>
// single API file for Pool*Array
#include <godot/pool_arrays.h>
#include <gdnative/pool_arrays.h>
void GDAPI godot_object_destroy(godot_object *p_o);
////// Variant
#include <godot/variant.h>
#include <gdnative/variant.h>
////// Singleton API

View file

@ -45,8 +45,8 @@ typedef struct {
} godot_node_path;
#endif
#include <godot/gdnative.h>
#include <godot/string.h>
#include <gdnative/gdnative.h>
#include <gdnative/string.h>
void GDAPI godot_node_path_new(godot_node_path *r_dest, const godot_string *p_from);
void GDAPI godot_node_path_new_copy(godot_node_path *r_dest, const godot_node_path *p_src);

View file

@ -45,8 +45,8 @@ typedef struct {
} godot_plane;
#endif
#include <godot/gdnative.h>
#include <godot/vector3.h>
#include <gdnative/gdnative.h>
#include <gdnative/vector3.h>
void GDAPI godot_plane_new_with_reals(godot_plane *r_dest, const godot_real p_a, const godot_real p_b, const godot_real p_c, const godot_real p_d);
void GDAPI godot_plane_new_with_vectors(godot_plane *r_dest, const godot_vector3 *p_v1, const godot_vector3 *p_v2, const godot_vector3 *p_v3);

View file

@ -113,12 +113,12 @@ typedef struct {
} godot_pool_color_array;
#endif
#include <godot/array.h>
#include <godot/color.h>
#include <godot/vector2.h>
#include <godot/vector3.h>
#include <gdnative/array.h>
#include <gdnative/color.h>
#include <gdnative/vector2.h>
#include <gdnative/vector3.h>
#include <godot/gdnative.h>
#include <gdnative/gdnative.h>
// byte

View file

@ -45,8 +45,8 @@ typedef struct {
} godot_quat;
#endif
#include <godot/gdnative.h>
#include <godot/vector3.h>
#include <gdnative/gdnative.h>
#include <gdnative/vector3.h>
void GDAPI godot_quat_new(godot_quat *r_dest, const godot_real p_x, const godot_real p_y, const godot_real p_z, const godot_real p_w);
void GDAPI godot_quat_new_with_axis_angle(godot_quat *r_dest, const godot_vector3 *p_axis, const godot_real p_angle);

View file

@ -43,8 +43,8 @@ typedef struct godot_rect2 {
} godot_rect2;
#endif
#include <godot/gdnative.h>
#include <godot/vector2.h>
#include <gdnative/gdnative.h>
#include <gdnative/vector2.h>
void GDAPI godot_rect2_new_with_position_and_size(godot_rect2 *r_dest, const godot_vector2 *p_pos, const godot_vector2 *p_size);
void GDAPI godot_rect2_new(godot_rect2 *r_dest, const godot_real p_x, const godot_real p_y, const godot_real p_width, const godot_real p_height);

View file

@ -45,9 +45,9 @@ typedef struct {
} godot_rect3;
#endif
#include <godot/gdnative.h>
#include <godot/plane.h>
#include <godot/vector3.h>
#include <gdnative/gdnative.h>
#include <gdnative/plane.h>
#include <gdnative/vector3.h>
void GDAPI godot_rect3_new(godot_rect3 *r_dest, const godot_vector3 *p_pos, const godot_vector3 *p_size);

View file

@ -45,7 +45,7 @@ typedef struct {
} godot_rid;
#endif
#include <godot/gdnative.h>
#include <gdnative/gdnative.h>
void GDAPI godot_rid_new(godot_rid *r_dest);

View file

@ -46,8 +46,8 @@ typedef struct {
} godot_string;
#endif
#include <godot/gdnative.h>
#include <godot/variant.h>
#include <gdnative/gdnative.h>
#include <gdnative/variant.h>
void GDAPI godot_string_new(godot_string *r_dest);
void GDAPI godot_string_new_copy(godot_string *r_dest, const godot_string *p_src);

View file

@ -45,10 +45,10 @@ typedef struct {
} godot_transform;
#endif
#include <godot/basis.h>
#include <godot/gdnative.h>
#include <godot/variant.h>
#include <godot/vector3.h>
#include <gdnative/basis.h>
#include <gdnative/gdnative.h>
#include <gdnative/variant.h>
#include <gdnative/vector3.h>
void GDAPI godot_transform_new_with_axis_origin(godot_transform *r_dest, const godot_vector3 *p_x_axis, const godot_vector3 *p_y_axis, const godot_vector3 *p_z_axis, const godot_vector3 *p_origin);
void GDAPI godot_transform_new(godot_transform *r_dest, const godot_basis *p_basis, const godot_vector3 *p_origin);

View file

@ -45,9 +45,9 @@ typedef struct {
} godot_transform2d;
#endif
#include <godot/gdnative.h>
#include <godot/variant.h>
#include <godot/vector2.h>
#include <gdnative/gdnative.h>
#include <gdnative/variant.h>
#include <gdnative/vector2.h>
void GDAPI godot_transform2d_new(godot_transform2d *r_dest, const godot_real p_rot, const godot_vector2 *p_pos);
void GDAPI godot_transform2d_new_axis_origin(godot_transform2d *r_dest, const godot_vector2 *p_x_axis, const godot_vector2 *p_y_axis, const godot_vector2 *p_origin);

View file

@ -99,25 +99,25 @@ typedef struct godot_variant_call_error {
godot_variant_type expected;
} godot_variant_call_error;
#include <godot/array.h>
#include <godot/basis.h>
#include <godot/color.h>
#include <godot/dictionary.h>
#include <godot/node_path.h>
#include <godot/plane.h>
#include <godot/pool_arrays.h>
#include <godot/quat.h>
#include <godot/rect2.h>
#include <godot/rect3.h>
#include <godot/rid.h>
#include <godot/string.h>
#include <godot/transform.h>
#include <godot/transform2d.h>
#include <godot/variant.h>
#include <godot/vector2.h>
#include <godot/vector3.h>
#include <gdnative/array.h>
#include <gdnative/basis.h>
#include <gdnative/color.h>
#include <gdnative/dictionary.h>
#include <gdnative/node_path.h>
#include <gdnative/plane.h>
#include <gdnative/pool_arrays.h>
#include <gdnative/quat.h>
#include <gdnative/rect2.h>
#include <gdnative/rect3.h>
#include <gdnative/rid.h>
#include <gdnative/string.h>
#include <gdnative/transform.h>
#include <gdnative/transform2d.h>
#include <gdnative/variant.h>
#include <gdnative/vector2.h>
#include <gdnative/vector3.h>
#include <godot/gdnative.h>
#include <gdnative/gdnative.h>
godot_variant_type GDAPI godot_variant_get_type(const godot_variant *p_v);

View file

@ -45,7 +45,7 @@ typedef struct {
} godot_vector2;
#endif
#include <godot/gdnative.h>
#include <gdnative/gdnative.h>
void GDAPI godot_vector2_new(godot_vector2 *r_dest, const godot_real p_x, const godot_real p_y);

View file

@ -45,8 +45,8 @@ typedef struct {
} godot_vector3;
#endif
#include <godot/basis.h>
#include <godot/gdnative.h>
#include <gdnative/basis.h>
#include <gdnative/gdnative.h>
typedef enum {
GODOT_VECTOR3_AXIS_X,

View file

@ -30,7 +30,7 @@
#ifndef GODOT_NATIVESCRIPT_H
#define GODOT_NATIVESCRIPT_H
#include <godot/gdnative.h>
#include <gdnative/gdnative.h>
#ifdef __cplusplus
extern "C" {

View file

@ -27,17 +27,17 @@
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
#include "godot_nativescript.h"
#include "nativescript.h"
#include "nativescript/godot_nativescript.h"
#include "class_db.h"
#include "error_macros.h"
#include "gdnative.h"
#include "gdnative/gdnative.h"
#include "global_constants.h"
#include "project_settings.h"
#include "variant.h"
#include "nativescript.h"
#ifdef __cplusplus
extern "C" {
#endif

View file

@ -29,7 +29,7 @@
/*************************************************************************/
#include "nativescript.h"
#include "modules/gdnative/godot/gdnative.h"
#include "gdnative/gdnative.h"
#include "global_constants.h"
#include "io/file_access_encrypted.h"

View file

@ -38,8 +38,8 @@
#include "script_language.h"
#include "self_list.h"
#include "godot_nativescript.h"
#include "modules/gdnative/gdnative.h"
#include <nativescript/godot_nativescript.h>
#ifndef NO_THREADS
#include "os/mutex.h"

View file

@ -28,11 +28,15 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
#include "register_types.h"
#include "gdnative/gdnative.h"
#include "gdnative.h"
#include "io/resource_loader.h"
#include "io/resource_saver.h"
#include "nativescript/register_types.h"
#include "core/os/os.h"
godot_variant cb_standard_varcall(void *handle, godot_string *p_procedure, godot_array *p_args) {
@ -72,9 +76,14 @@ void register_gdnative_types() {
GDNativeCallRegistry::singleton = memnew(GDNativeCallRegistry);
GDNativeCallRegistry::singleton->register_native_call_type("standard_varcall", cb_standard_varcall);
register_nativescript_types();
}
void unregister_gdnative_types() {
unregister_nativescript_types();
memdelete(GDNativeCallRegistry::singleton);
// This is for printing out the sizes of the core types

View file

@ -1,8 +0,0 @@
def can_build(platform):
return True
def configure(env):
env.use_ptrcall = True