Replace NULL with nullptr

This commit is contained in:
lupoDharkael 2020-04-02 01:20:12 +02:00
parent 5f11e15571
commit 95a1400a2a
755 changed files with 5742 additions and 5742 deletions

View File

@ -67,7 +67,7 @@ void Array::_unref() const {
if (_p->refcount.unref()) { if (_p->refcount.unref()) {
memdelete(_p); memdelete(_p);
} }
_p = NULL; _p = nullptr;
} }
Variant &Array::operator[](int p_idx) { Variant &Array::operator[](int p_idx) {
@ -467,7 +467,7 @@ const void *Array::id() const {
Array::Array(const Array &p_from) { Array::Array(const Array &p_from) {
_p = NULL; _p = nullptr;
_ref(p_from); _ref(p_from);
} }

View File

@ -62,7 +62,7 @@ static const unsigned int MONTH_DAYS_TABLE[2][12] = {
{ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 } { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }
}; };
_ResourceLoader *_ResourceLoader::singleton = NULL; _ResourceLoader *_ResourceLoader::singleton = nullptr;
Error _ResourceLoader::load_threaded_request(const String &p_path, const String &p_type_hint, bool p_use_sub_threads) { Error _ResourceLoader::load_threaded_request(const String &p_path, const String &p_type_hint, bool p_use_sub_threads) {
@ -173,7 +173,7 @@ Vector<String> _ResourceSaver::get_recognized_extensions(const RES &p_resource)
return ret; return ret;
} }
_ResourceSaver *_ResourceSaver::singleton = NULL; _ResourceSaver *_ResourceSaver::singleton = nullptr;
void _ResourceSaver::_bind_methods() { void _ResourceSaver::_bind_methods() {
@ -778,7 +778,7 @@ Vector<String> _OS::get_granted_permissions() const {
String _OS::get_unique_id() const { String _OS::get_unique_id() const {
return OS::get_singleton()->get_unique_id(); return OS::get_singleton()->get_unique_id();
} }
_OS *_OS::singleton = NULL; _OS *_OS::singleton = nullptr;
void _OS::_bind_methods() { void _OS::_bind_methods() {
@ -916,7 +916,7 @@ _OS::_OS() {
///////////////////// GEOMETRY ///////////////////// GEOMETRY
_Geometry *_Geometry::singleton = NULL; _Geometry *_Geometry::singleton = nullptr;
_Geometry *_Geometry::get_singleton() { _Geometry *_Geometry::get_singleton() {
@ -1363,11 +1363,11 @@ void _File::close() {
if (f) if (f)
memdelete(f); memdelete(f);
f = NULL; f = nullptr;
} }
bool _File::is_open() const { bool _File::is_open() const {
return f != NULL; return f != nullptr;
} }
String _File::get_path() const { String _File::get_path() const {
@ -1630,7 +1630,7 @@ void _File::store_var(const Variant &p_var, bool p_full_objects) {
ERR_FAIL_COND_MSG(!f, "File must be opened before use."); ERR_FAIL_COND_MSG(!f, "File must be opened before use.");
int len; int len;
Error err = encode_variant(p_var, NULL, len, p_full_objects); Error err = encode_variant(p_var, nullptr, len, p_full_objects);
ERR_FAIL_COND_MSG(err != OK, "Error when trying to encode Variant."); ERR_FAIL_COND_MSG(err != OK, "Error when trying to encode Variant.");
Vector<uint8_t> buff; Vector<uint8_t> buff;
@ -1654,7 +1654,7 @@ Variant _File::get_var(bool p_allow_objects) const {
const uint8_t *r = buff.ptr(); const uint8_t *r = buff.ptr();
Variant v; Variant v;
Error err = decode_variant(v, &r[0], len, NULL, p_allow_objects); Error err = decode_variant(v, &r[0], len, nullptr, p_allow_objects);
ERR_FAIL_COND_V_MSG(err != OK, Variant(), "Error when trying to encode Variant."); ERR_FAIL_COND_V_MSG(err != OK, Variant(), "Error when trying to encode Variant.");
return v; return v;
@ -1733,7 +1733,7 @@ void _File::_bind_methods() {
_File::_File() { _File::_File() {
f = NULL; f = nullptr;
eswap = false; eswap = false;
} }
@ -1934,7 +1934,7 @@ _Directory::~_Directory() {
memdelete(d); memdelete(d);
} }
_Marshalls *_Marshalls::singleton = NULL; _Marshalls *_Marshalls::singleton = nullptr;
_Marshalls *_Marshalls::get_singleton() { _Marshalls *_Marshalls::get_singleton() {
return singleton; return singleton;
@ -1943,7 +1943,7 @@ _Marshalls *_Marshalls::get_singleton() {
String _Marshalls::variant_to_base64(const Variant &p_var, bool p_full_objects) { String _Marshalls::variant_to_base64(const Variant &p_var, bool p_full_objects) {
int len; int len;
Error err = encode_variant(p_var, NULL, len, p_full_objects); Error err = encode_variant(p_var, nullptr, len, p_full_objects);
ERR_FAIL_COND_V_MSG(err != OK, "", "Error when trying to encode Variant."); ERR_FAIL_COND_V_MSG(err != OK, "", "Error when trying to encode Variant.");
Vector<uint8_t> buff; Vector<uint8_t> buff;
@ -1972,7 +1972,7 @@ Variant _Marshalls::base64_to_variant(const String &p_str, bool p_allow_objects)
ERR_FAIL_COND_V(CryptoCore::b64_decode(&w[0], buf.size(), &len, (unsigned char *)cstr.get_data(), strlen) != OK, Variant()); ERR_FAIL_COND_V(CryptoCore::b64_decode(&w[0], buf.size(), &len, (unsigned char *)cstr.get_data(), strlen) != OK, Variant());
Variant v; Variant v;
Error err = decode_variant(v, &w[0], len, NULL, p_allow_objects); Error err = decode_variant(v, &w[0], len, nullptr, p_allow_objects);
ERR_FAIL_COND_V_MSG(err != OK, Variant(), "Error when trying to decode Variant."); ERR_FAIL_COND_V_MSG(err != OK, Variant(), "Error when trying to decode Variant.");
return v; return v;
@ -2151,7 +2151,7 @@ Error _Thread::start(Object *p_instance, const StringName &p_method, const Varia
if (!thread) { if (!thread) {
active = false; active = false;
target_method = StringName(); target_method = StringName();
target_instance = NULL; target_instance = nullptr;
userdata = Variant(); userdata = Variant();
return ERR_CANT_CREATE; return ERR_CANT_CREATE;
} }
@ -2179,11 +2179,11 @@ Variant _Thread::wait_to_finish() {
Variant r = ret; Variant r = ret;
active = false; active = false;
target_method = StringName(); target_method = StringName();
target_instance = NULL; target_instance = nullptr;
userdata = Variant(); userdata = Variant();
if (thread) if (thread)
memdelete(thread); memdelete(thread);
thread = NULL; thread = nullptr;
return r; return r;
} }
@ -2202,8 +2202,8 @@ void _Thread::_bind_methods() {
_Thread::_Thread() { _Thread::_Thread() {
active = false; active = false;
thread = NULL; thread = nullptr;
target_instance = NULL; target_instance = nullptr;
} }
_Thread::~_Thread() { _Thread::~_Thread() {
@ -2581,7 +2581,7 @@ void _Engine::_bind_methods() {
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "physics_jitter_fix"), "set_physics_jitter_fix", "get_physics_jitter_fix"); ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "physics_jitter_fix"), "set_physics_jitter_fix", "get_physics_jitter_fix");
} }
_Engine *_Engine::singleton = NULL; _Engine *_Engine::singleton = nullptr;
_Engine::_Engine() { _Engine::_Engine() {
singleton = this; singleton = this;
@ -2657,7 +2657,7 @@ Ref<JSONParseResult> _JSON::parse(const String &p_json) {
return result; return result;
} }
_JSON *_JSON::singleton = NULL; _JSON *_JSON::singleton = nullptr;
_JSON::_JSON() { _JSON::_JSON() {
singleton = this; singleton = this;

View File

@ -502,7 +502,7 @@ public:
String base64_to_utf8(const String &p_str); String base64_to_utf8(const String &p_str);
_Marshalls() { singleton = this; } _Marshalls() { singleton = this; }
~_Marshalls() { singleton = NULL; } ~_Marshalls() { singleton = nullptr; }
}; };
class _Mutex : public Reference { class _Mutex : public Reference {

View File

@ -79,7 +79,7 @@ StringName Callable::get_method() const {
} }
CallableCustom *Callable::get_custom() const { CallableCustom *Callable::get_custom() const {
ERR_FAIL_COND_V_MSG(!is_custom(), NULL, ERR_FAIL_COND_V_MSG(!is_custom(), nullptr,
vformat("Can't get custom on non-CallableCustom \"%s\".", operator String())); vformat("Can't get custom on non-CallableCustom \"%s\".", operator String()));
return custom; return custom;
} }

View File

@ -262,8 +262,8 @@ ClassDB::ClassInfo::ClassInfo() {
api = API_NONE; api = API_NONE;
class_ptr = nullptr; class_ptr = nullptr;
creation_func = NULL; creation_func = nullptr;
inherits_ptr = NULL; inherits_ptr = nullptr;
disabled = false; disabled = false;
exposed = false; exposed = false;
} }
@ -290,7 +290,7 @@ void ClassDB::get_class_list(List<StringName> *p_classes) {
OBJTYPE_RLOCK; OBJTYPE_RLOCK;
const StringName *k = NULL; const StringName *k = nullptr;
while ((k = classes.next(k))) { while ((k = classes.next(k))) {
@ -304,7 +304,7 @@ void ClassDB::get_inheriters_from_class(const StringName &p_class, List<StringNa
OBJTYPE_RLOCK; OBJTYPE_RLOCK;
const StringName *k = NULL; const StringName *k = nullptr;
while ((k = classes.next(k))) { while ((k = classes.next(k))) {
@ -317,7 +317,7 @@ void ClassDB::get_direct_inheriters_from_class(const StringName &p_class, List<S
OBJTYPE_RLOCK; OBJTYPE_RLOCK;
const StringName *k = NULL; const StringName *k = nullptr;
while ((k = classes.next(k))) { while ((k = classes.next(k))) {
@ -377,7 +377,7 @@ uint64_t ClassDB::get_api_hash(APIType p_api) {
List<StringName> names; List<StringName> names;
const StringName *k = NULL; const StringName *k = nullptr;
while ((k = classes.next(k))) { while ((k = classes.next(k))) {
@ -399,7 +399,7 @@ uint64_t ClassDB::get_api_hash(APIType p_api) {
List<StringName> snames; List<StringName> snames;
k = NULL; k = nullptr;
while ((k = t->method_map.next(k))) { while ((k = t->method_map.next(k))) {
@ -446,7 +446,7 @@ uint64_t ClassDB::get_api_hash(APIType p_api) {
List<StringName> snames; List<StringName> snames;
k = NULL; k = nullptr;
while ((k = t->constant_map.next(k))) { while ((k = t->constant_map.next(k))) {
@ -466,7 +466,7 @@ uint64_t ClassDB::get_api_hash(APIType p_api) {
List<StringName> snames; List<StringName> snames;
k = NULL; k = nullptr;
while ((k = t->signal_map.next(k))) { while ((k = t->signal_map.next(k))) {
@ -489,7 +489,7 @@ uint64_t ClassDB::get_api_hash(APIType p_api) {
List<StringName> snames; List<StringName> snames;
k = NULL; k = nullptr;
while ((k = t->property_setget.next(k))) { while ((k = t->property_setget.next(k))) {
@ -549,14 +549,14 @@ Object *ClassDB::instance(const StringName &p_class) {
ti = classes.getptr(compat_classes[p_class]); ti = classes.getptr(compat_classes[p_class]);
} }
} }
ERR_FAIL_COND_V_MSG(!ti, NULL, "Cannot get class '" + String(p_class) + "'."); ERR_FAIL_COND_V_MSG(!ti, nullptr, "Cannot get class '" + String(p_class) + "'.");
ERR_FAIL_COND_V_MSG(ti->disabled, NULL, "Class '" + String(p_class) + "' is disabled."); ERR_FAIL_COND_V_MSG(ti->disabled, nullptr, "Class '" + String(p_class) + "' is disabled.");
ERR_FAIL_COND_V(!ti->creation_func, NULL); ERR_FAIL_COND_V(!ti->creation_func, nullptr);
} }
#ifdef TOOLS_ENABLED #ifdef TOOLS_ENABLED
if (ti->api == API_EDITOR && !Engine::get_singleton()->is_editor_hint()) { if (ti->api == API_EDITOR && !Engine::get_singleton()->is_editor_hint()) {
ERR_PRINT("Class '" + String(p_class) + "' can only be instantiated by editor."); ERR_PRINT("Class '" + String(p_class) + "' can only be instantiated by editor.");
return NULL; return nullptr;
} }
#endif #endif
return ti->creation_func(); return ti->creation_func();
@ -572,7 +572,7 @@ bool ClassDB::can_instance(const StringName &p_class) {
return false; return false;
} }
#endif #endif
return (!ti->disabled && ti->creation_func != NULL); return (!ti->disabled && ti->creation_func != nullptr);
} }
void ClassDB::_add_class2(const StringName &p_class, const StringName &p_inherits) { void ClassDB::_add_class2(const StringName &p_class, const StringName &p_inherits) {
@ -595,7 +595,7 @@ void ClassDB::_add_class2(const StringName &p_class, const StringName &p_inherit
ti.inherits_ptr = &classes[ti.inherits]; ti.inherits_ptr = &classes[ti.inherits];
} else { } else {
ti.inherits_ptr = NULL; ti.inherits_ptr = nullptr;
} }
} }
@ -653,7 +653,7 @@ void ClassDB::get_method_list(StringName p_class, List<MethodInfo> *p_methods, b
#else #else
const StringName *K = NULL; const StringName *K = nullptr;
while ((K = type->method_map.next(K))) { while ((K = type->method_map.next(K))) {
@ -685,7 +685,7 @@ MethodBind *ClassDB::get_method(StringName p_class, StringName p_name) {
return *method; return *method;
type = type->inherits_ptr; type = type->inherits_ptr;
} }
return NULL; return nullptr;
} }
void ClassDB::bind_integer_constant(const StringName &p_class, const StringName &p_enum, const StringName &p_name, int p_constant) { void ClassDB::bind_integer_constant(const StringName &p_class, const StringName &p_enum, const StringName &p_name, int p_constant) {
@ -737,7 +737,7 @@ void ClassDB::get_integer_constant_list(const StringName &p_class, List<String>
for (List<StringName>::Element *E = type->constant_order.front(); E; E = E->next()) for (List<StringName>::Element *E = type->constant_order.front(); E; E = E->next())
p_constants->push_back(E->get()); p_constants->push_back(E->get());
#else #else
const StringName *K = NULL; const StringName *K = nullptr;
while ((K = type->constant_map.next(K))) { while ((K = type->constant_map.next(K))) {
p_constants->push_back(*K); p_constants->push_back(*K);
@ -784,7 +784,7 @@ StringName ClassDB::get_integer_constant_enum(const StringName &p_class, const S
while (type) { while (type) {
const StringName *k = NULL; const StringName *k = nullptr;
while ((k = type->enum_map.next(k))) { while ((k = type->enum_map.next(k))) {
List<StringName> &constants_list = type->enum_map.get(*k); List<StringName> &constants_list = type->enum_map.get(*k);
@ -810,7 +810,7 @@ void ClassDB::get_enum_list(const StringName &p_class, List<StringName> *p_enums
while (type) { while (type) {
const StringName *k = NULL; const StringName *k = nullptr;
while ((k = type->enum_map.next(k))) { while ((k = type->enum_map.next(k))) {
p_enums->push_back(*k); p_enums->push_back(*k);
} }
@ -876,7 +876,7 @@ void ClassDB::get_signal_list(StringName p_class, List<MethodInfo> *p_signals, b
while (check) { while (check) {
const StringName *S = NULL; const StringName *S = nullptr;
while ((S = check->signal_map.next(S))) { while ((S = check->signal_map.next(S))) {
p_signals->push_back(check->signal_map[*S]); p_signals->push_back(check->signal_map[*S]);
@ -938,7 +938,7 @@ void ClassDB::add_property(StringName p_class, const PropertyInfo &p_pinfo, cons
ERR_FAIL_COND(!type); ERR_FAIL_COND(!type);
MethodBind *mb_set = NULL; MethodBind *mb_set = nullptr;
if (p_setter) { if (p_setter) {
mb_set = get_method(p_class, p_setter); mb_set = get_method(p_class, p_setter);
#ifdef DEBUG_METHODS_ENABLED #ifdef DEBUG_METHODS_ENABLED
@ -950,7 +950,7 @@ void ClassDB::add_property(StringName p_class, const PropertyInfo &p_pinfo, cons
#endif #endif
} }
MethodBind *mb_get = NULL; MethodBind *mb_get = nullptr;
if (p_getter) { if (p_getter) {
mb_get = get_method(p_class, p_getter); mb_get = get_method(p_class, p_getter);
@ -1087,9 +1087,9 @@ bool ClassDB::get_property(Object *p_object, const StringName &p_property, Varia
Callable::CallError ce; Callable::CallError ce;
if (psg->_getptr) { if (psg->_getptr) {
r_value = psg->_getptr->call(p_object, NULL, 0, ce); r_value = psg->_getptr->call(p_object, nullptr, 0, ce);
} else { } else {
r_value = p_object->call(psg->getter, NULL, 0, ce); r_value = p_object->call(psg->getter, nullptr, 0, ce);
} }
} }
return true; return true;
@ -1246,33 +1246,33 @@ MethodBind *ClassDB::bind_methodfi(uint32_t p_flags, MethodBind *p_bind, const c
#endif #endif
OBJTYPE_WLOCK; OBJTYPE_WLOCK;
ERR_FAIL_COND_V(!p_bind, NULL); ERR_FAIL_COND_V(!p_bind, nullptr);
p_bind->set_name(mdname); p_bind->set_name(mdname);
String instance_type = p_bind->get_instance_class(); String instance_type = p_bind->get_instance_class();
#ifdef DEBUG_ENABLED #ifdef DEBUG_ENABLED
ERR_FAIL_COND_V_MSG(has_method(instance_type, mdname), NULL, "Class " + String(instance_type) + " already has a method " + String(mdname) + "."); ERR_FAIL_COND_V_MSG(has_method(instance_type, mdname), nullptr, "Class " + String(instance_type) + " already has a method " + String(mdname) + ".");
#endif #endif
ClassInfo *type = classes.getptr(instance_type); ClassInfo *type = classes.getptr(instance_type);
if (!type) { if (!type) {
memdelete(p_bind); memdelete(p_bind);
ERR_FAIL_V_MSG(NULL, "Couldn't bind method '" + mdname + "' for instance '" + instance_type + "'."); ERR_FAIL_V_MSG(nullptr, "Couldn't bind method '" + mdname + "' for instance '" + instance_type + "'.");
} }
if (type->method_map.has(mdname)) { if (type->method_map.has(mdname)) {
memdelete(p_bind); memdelete(p_bind);
// overloading not supported // overloading not supported
ERR_FAIL_V_MSG(NULL, "Method already bound '" + instance_type + "::" + mdname + "'."); ERR_FAIL_V_MSG(nullptr, "Method already bound '" + instance_type + "::" + mdname + "'.");
} }
#ifdef DEBUG_METHODS_ENABLED #ifdef DEBUG_METHODS_ENABLED
if (method_name.args.size() > p_bind->get_argument_count()) { if (method_name.args.size() > p_bind->get_argument_count()) {
memdelete(p_bind); memdelete(p_bind);
ERR_FAIL_V_MSG(NULL, "Method definition provides more arguments than the method actually has '" + instance_type + "::" + mdname + "'."); ERR_FAIL_V_MSG(nullptr, "Method definition provides more arguments than the method actually has '" + instance_type + "::" + mdname + "'.");
} }
p_bind->set_argument_names(method_name.args); p_bind->set_argument_names(method_name.args);
@ -1383,7 +1383,7 @@ void ClassDB::add_resource_base_extension(const StringName &p_extension, const S
void ClassDB::get_resource_base_extensions(List<String> *p_extensions) { void ClassDB::get_resource_base_extensions(List<String> *p_extensions) {
const StringName *K = NULL; const StringName *K = nullptr;
while ((K = resource_base_extensions.next(K))) { while ((K = resource_base_extensions.next(K))) {
@ -1393,7 +1393,7 @@ void ClassDB::get_resource_base_extensions(List<String> *p_extensions) {
void ClassDB::get_extensions_for_type(const StringName &p_class, List<String> *p_extensions) { void ClassDB::get_extensions_for_type(const StringName &p_class, List<String> *p_extensions) {
const StringName *K = NULL; const StringName *K = nullptr;
while ((K = resource_base_extensions.next(K))) { while ((K = resource_base_extensions.next(K))) {
StringName cmp = resource_base_extensions[*K]; StringName cmp = resource_base_extensions[*K];
@ -1413,7 +1413,7 @@ Variant ClassDB::class_get_default_property_value(const StringName &p_class, con
default_values[p_class] = HashMap<StringName, Variant>(); default_values[p_class] = HashMap<StringName, Variant>();
} }
Object *c = NULL; Object *c = nullptr;
bool cleanup_c = false; bool cleanup_c = false;
if (Engine::get_singleton()->has_singleton(p_class)) { if (Engine::get_singleton()->has_singleton(p_class)) {
@ -1447,20 +1447,20 @@ Variant ClassDB::class_get_default_property_value(const StringName &p_class, con
} }
if (!default_values.has(p_class)) { if (!default_values.has(p_class)) {
if (r_valid != NULL) *r_valid = false; if (r_valid != nullptr) *r_valid = false;
return Variant(); return Variant();
} }
if (!default_values[p_class].has(p_property)) { if (!default_values[p_class].has(p_property)) {
if (r_valid != NULL) *r_valid = false; if (r_valid != nullptr) *r_valid = false;
return Variant(); return Variant();
} }
if (r_valid != NULL) *r_valid = true; if (r_valid != nullptr) *r_valid = true;
return default_values[p_class][p_property]; return default_values[p_class][p_property];
} }
RWLock *ClassDB::lock = NULL; RWLock *ClassDB::lock = nullptr;
void ClassDB::init() { void ClassDB::init() {
@ -1477,13 +1477,13 @@ void ClassDB::cleanup() {
//OBJTYPE_LOCK; hah not here //OBJTYPE_LOCK; hah not here
const StringName *k = NULL; const StringName *k = nullptr;
while ((k = classes.next(k))) { while ((k = classes.next(k))) {
ClassInfo &ti = classes[*k]; ClassInfo &ti = classes[*k];
const StringName *m = NULL; const StringName *m = nullptr;
while ((m = ti.method_map.next(m))) { while ((m = ti.method_map.next(m))) {
memdelete(ti.method_map[*m]); memdelete(ti.method_map[*m]);

View File

@ -234,7 +234,7 @@ public:
MethodBind *bind = create_method_bind(p_method); MethodBind *bind = create_method_bind(p_method);
return bind_methodfi(METHOD_FLAGS_DEFAULT, bind, p_method_name, NULL, 0); //use static function, much smaller binary usage return bind_methodfi(METHOD_FLAGS_DEFAULT, bind, p_method_name, nullptr, 0); //use static function, much smaller binary usage
} }
template <class N, class M> template <class N, class M>
@ -315,7 +315,7 @@ public:
GLOBAL_LOCK_FUNCTION; GLOBAL_LOCK_FUNCTION;
MethodBind *bind = create_vararg_method_bind(p_method, p_info, p_return_nil_is_variant); MethodBind *bind = create_vararg_method_bind(p_method, p_info, p_return_nil_is_variant);
ERR_FAIL_COND_V(!bind, NULL); ERR_FAIL_COND_V(!bind, nullptr);
bind->set_name(p_name); bind->set_name(p_name);
bind->set_default_arguments(p_default_args); bind->set_default_arguments(p_default_args);
@ -325,13 +325,13 @@ public:
ClassInfo *type = classes.getptr(instance_type); ClassInfo *type = classes.getptr(instance_type);
if (!type) { if (!type) {
memdelete(bind); memdelete(bind);
ERR_FAIL_COND_V(!type, NULL); ERR_FAIL_COND_V(!type, nullptr);
} }
if (type->method_map.has(p_name)) { if (type->method_map.has(p_name)) {
memdelete(bind); memdelete(bind);
// overloading not supported // overloading not supported
ERR_FAIL_V_MSG(NULL, "Method already bound: " + instance_type + "::" + p_name + "."); ERR_FAIL_V_MSG(nullptr, "Method already bound: " + instance_type + "::" + p_name + ".");
} }
type->method_map[p_name] = bind; type->method_map[p_name] = bind;
#ifdef DEBUG_METHODS_ENABLED #ifdef DEBUG_METHODS_ENABLED
@ -351,12 +351,12 @@ public:
static void add_property_group(StringName p_class, const String &p_name, const String &p_prefix = ""); static void add_property_group(StringName p_class, const String &p_name, const String &p_prefix = "");
static void add_property(StringName p_class, const PropertyInfo &p_pinfo, const StringName &p_setter, const StringName &p_getter, int p_index = -1); static void add_property(StringName p_class, const PropertyInfo &p_pinfo, const StringName &p_setter, const StringName &p_getter, int p_index = -1);
static void set_property_default_value(StringName p_class, const StringName &p_name, const Variant &p_default); static void set_property_default_value(StringName p_class, const StringName &p_name, const Variant &p_default);
static void get_property_list(StringName p_class, List<PropertyInfo> *p_list, bool p_no_inheritance = false, const Object *p_validator = NULL); static void get_property_list(StringName p_class, List<PropertyInfo> *p_list, bool p_no_inheritance = false, const Object *p_validator = nullptr);
static bool set_property(Object *p_object, const StringName &p_property, const Variant &p_value, bool *r_valid = NULL); static bool set_property(Object *p_object, const StringName &p_property, const Variant &p_value, bool *r_valid = nullptr);
static bool get_property(Object *p_object, const StringName &p_property, Variant &r_value); static bool get_property(Object *p_object, const StringName &p_property, Variant &r_value);
static bool has_property(const StringName &p_class, const StringName &p_property, bool p_no_inheritance = false); static bool has_property(const StringName &p_class, const StringName &p_property, bool p_no_inheritance = false);
static int get_property_index(const StringName &p_class, const StringName &p_property, bool *r_is_valid = NULL); static int get_property_index(const StringName &p_class, const StringName &p_property, bool *r_is_valid = nullptr);
static Variant::Type get_property_type(const StringName &p_class, const StringName &p_property, bool *r_is_valid = NULL); static Variant::Type get_property_type(const StringName &p_class, const StringName &p_property, bool *r_is_valid = nullptr);
static StringName get_property_setter(StringName p_class, const StringName &p_property); static StringName get_property_setter(StringName p_class, const StringName &p_property);
static StringName get_property_getter(StringName p_class, const StringName &p_property); static StringName get_property_getter(StringName p_class, const StringName &p_property);
@ -371,13 +371,13 @@ public:
static void bind_integer_constant(const StringName &p_class, const StringName &p_enum, const StringName &p_name, int p_constant); static void bind_integer_constant(const StringName &p_class, const StringName &p_enum, const StringName &p_name, int p_constant);
static void get_integer_constant_list(const StringName &p_class, List<String> *p_constants, bool p_no_inheritance = false); static void get_integer_constant_list(const StringName &p_class, List<String> *p_constants, bool p_no_inheritance = false);
static int get_integer_constant(const StringName &p_class, const StringName &p_name, bool *p_success = NULL); static int get_integer_constant(const StringName &p_class, const StringName &p_name, bool *p_success = nullptr);
static StringName get_integer_constant_enum(const StringName &p_class, const StringName &p_name, bool p_no_inheritance = false); static StringName get_integer_constant_enum(const StringName &p_class, const StringName &p_name, bool p_no_inheritance = false);
static void get_enum_list(const StringName &p_class, List<StringName> *p_enums, bool p_no_inheritance = false); static void get_enum_list(const StringName &p_class, List<StringName> *p_enums, bool p_no_inheritance = false);
static void get_enum_constants(const StringName &p_class, const StringName &p_enum, List<StringName> *p_constants, bool p_no_inheritance = false); static void get_enum_constants(const StringName &p_class, const StringName &p_enum, List<StringName> *p_constants, bool p_no_inheritance = false);
static Variant class_get_default_property_value(const StringName &p_class, const StringName &p_property, bool *r_valid = NULL); static Variant class_get_default_property_value(const StringName &p_class, const StringName &p_property, bool *r_valid = nullptr);
static StringName get_category(const StringName &p_node); static StringName get_category(const StringName &p_node);

View File

@ -113,7 +113,7 @@ CommandQueueMT::CommandQueueMT(bool p_sync) {
if (p_sync) if (p_sync)
sync = memnew(Semaphore); sync = memnew(Semaphore);
else else
sync = NULL; sync = nullptr;
} }
CommandQueueMT::~CommandQueueMT() { CommandQueueMT::~CommandQueueMT() {

View File

@ -360,7 +360,7 @@ class CommandQueueMT {
if (dealloc_one()) { if (dealloc_one()) {
goto tryagain; goto tryagain;
} }
return NULL; return nullptr;
} }
} else { } else {
// ahead of dealloc_ptr, check that there is room // ahead of dealloc_ptr, check that there is room
@ -374,11 +374,11 @@ class CommandQueueMT {
if (dealloc_one()) { if (dealloc_one()) {
goto tryagain; goto tryagain;
} }
return NULL; return nullptr;
} }
// if this happens, it's a bug // if this happens, it's a bug
ERR_FAIL_COND_V((COMMAND_MEM_SIZE - write_ptr) < 8, NULL); ERR_FAIL_COND_V((COMMAND_MEM_SIZE - write_ptr) < 8, nullptr);
// zero means, wrap to beginning // zero means, wrap to beginning
uint32_t *p = (uint32_t *)&command_mem[write_ptr]; uint32_t *p = (uint32_t *)&command_mem[write_ptr];
@ -406,7 +406,7 @@ class CommandQueueMT {
lock(); lock();
T *ret; T *ret;
while ((ret = allocate<T>()) == NULL) { while ((ret = allocate<T>()) == nullptr) {
unlock(); unlock();
// sleep a little until fetch happened and some room is made // sleep a little until fetch happened and some room is made

View File

@ -30,7 +30,7 @@
#include "core_string_names.h" #include "core_string_names.h"
CoreStringNames *CoreStringNames::singleton = NULL; CoreStringNames *CoreStringNames::singleton = nullptr;
CoreStringNames::CoreStringNames() : CoreStringNames::CoreStringNames() :
_free(StaticCString::create("free")), _free(StaticCString::create("free")),

View File

@ -41,7 +41,7 @@ class CoreStringNames {
static void create() { singleton = memnew(CoreStringNames); } static void create() { singleton = memnew(CoreStringNames); }
static void free() { static void free() {
memdelete(singleton); memdelete(singleton);
singleton = NULL; singleton = nullptr;
} }
CoreStringNames(); CoreStringNames();

View File

@ -61,7 +61,7 @@ private:
_FORCE_INLINE_ uint32_t *_get_refcount() const { _FORCE_INLINE_ uint32_t *_get_refcount() const {
if (!_ptr) if (!_ptr)
return NULL; return nullptr;
return reinterpret_cast<uint32_t *>(_ptr) - 2; return reinterpret_cast<uint32_t *>(_ptr) - 2;
} }
@ -69,7 +69,7 @@ private:
_FORCE_INLINE_ uint32_t *_get_size() const { _FORCE_INLINE_ uint32_t *_get_size() const {
if (!_ptr) if (!_ptr)
return NULL; return nullptr;
return reinterpret_cast<uint32_t *>(_ptr) - 1; return reinterpret_cast<uint32_t *>(_ptr) - 1;
} }
@ -77,7 +77,7 @@ private:
_FORCE_INLINE_ T *_get_data() const { _FORCE_INLINE_ T *_get_data() const {
if (!_ptr) if (!_ptr)
return NULL; return nullptr;
return reinterpret_cast<T *>(_ptr); return reinterpret_cast<T *>(_ptr);
} }
@ -261,7 +261,7 @@ Error CowData<T>::resize(int p_size) {
if (p_size == 0) { if (p_size == 0) {
// wants to clean up // wants to clean up
_unref(_ptr); _unref(_ptr);
_ptr = NULL; _ptr = nullptr;
return OK; return OK;
} }
@ -356,7 +356,7 @@ void CowData<T>::_ref(const CowData &p_from) {
return; // self assign, do nothing. return; // self assign, do nothing.
_unref(_ptr); _unref(_ptr);
_ptr = NULL; _ptr = nullptr;
if (!p_from._ptr) if (!p_from._ptr)
return; //nothing to do return; //nothing to do
@ -369,7 +369,7 @@ void CowData<T>::_ref(const CowData &p_from) {
template <class T> template <class T>
CowData<T>::CowData() { CowData<T>::CowData() {
_ptr = NULL; _ptr = nullptr;
} }
template <class T> template <class T>

View File

@ -36,11 +36,11 @@
/// Resources /// Resources
CryptoKey *(*CryptoKey::_create)() = NULL; CryptoKey *(*CryptoKey::_create)() = nullptr;
CryptoKey *CryptoKey::create() { CryptoKey *CryptoKey::create() {
if (_create) if (_create)
return _create(); return _create();
return NULL; return nullptr;
} }
void CryptoKey::_bind_methods() { void CryptoKey::_bind_methods() {
@ -48,11 +48,11 @@ void CryptoKey::_bind_methods() {
ClassDB::bind_method(D_METHOD("load", "path"), &CryptoKey::load); ClassDB::bind_method(D_METHOD("load", "path"), &CryptoKey::load);
} }
X509Certificate *(*X509Certificate::_create)() = NULL; X509Certificate *(*X509Certificate::_create)() = nullptr;
X509Certificate *X509Certificate::create() { X509Certificate *X509Certificate::create() {
if (_create) if (_create)
return _create(); return _create();
return NULL; return nullptr;
} }
void X509Certificate::_bind_methods() { void X509Certificate::_bind_methods() {
@ -62,8 +62,8 @@ void X509Certificate::_bind_methods() {
/// Crypto /// Crypto
void (*Crypto::_load_default_certificates)(String p_path) = NULL; void (*Crypto::_load_default_certificates)(String p_path) = nullptr;
Crypto *(*Crypto::_create)() = NULL; Crypto *(*Crypto::_create)() = nullptr;
Crypto *Crypto::create() { Crypto *Crypto::create() {
if (_create) if (_create)
return _create(); return _create();
@ -87,11 +87,11 @@ PackedByteArray Crypto::generate_random_bytes(int p_bytes) {
} }
Ref<CryptoKey> Crypto::generate_rsa(int p_bytes) { Ref<CryptoKey> Crypto::generate_rsa(int p_bytes) {
ERR_FAIL_V_MSG(NULL, "generate_rsa is not available when mbedtls module is disabled."); ERR_FAIL_V_MSG(nullptr, "generate_rsa is not available when mbedtls module is disabled.");
} }
Ref<X509Certificate> Crypto::generate_self_signed_certificate(Ref<CryptoKey> p_key, String p_issuer_name, String p_not_before, String p_not_after) { Ref<X509Certificate> Crypto::generate_self_signed_certificate(Ref<CryptoKey> p_key, String p_issuer_name, String p_not_before, String p_not_after) {
ERR_FAIL_V_MSG(NULL, "generate_self_signed_certificate is not available when mbedtls module is disabled."); ERR_FAIL_V_MSG(nullptr, "generate_self_signed_certificate is not available when mbedtls module is disabled.");
} }
Crypto::Crypto() { Crypto::Crypto() {
@ -113,7 +113,7 @@ RES ResourceFormatLoaderCrypto::load(const String &p_path, const String &p_origi
key->load(p_path); key->load(p_path);
return key; return key;
} }
return NULL; return nullptr;
} }
void ResourceFormatLoaderCrypto::get_recognized_extensions(List<String> *p_extensions) const { void ResourceFormatLoaderCrypto::get_recognized_extensions(List<String> *p_extensions) const {

View File

@ -87,7 +87,7 @@ class ResourceFormatLoaderCrypto : public ResourceFormatLoader {
GDCLASS(ResourceFormatLoaderCrypto, ResourceFormatLoader); GDCLASS(ResourceFormatLoaderCrypto, ResourceFormatLoader);
public: public:
virtual RES load(const String &p_path, const String &p_original_path = "", Error *r_error = NULL, bool p_use_sub_threads = false, float *r_progress = nullptr); virtual RES load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr);
virtual void get_recognized_extensions(List<String> *p_extensions) const; virtual void get_recognized_extensions(List<String> *p_extensions) const;
virtual bool handles_type(const String &p_type) const; virtual bool handles_type(const String &p_type) const;
virtual String get_resource_type(const String &p_path) const; virtual String get_resource_type(const String &p_path) const;

View File

@ -33,9 +33,9 @@
#include "core/crypto/crypto_core.h" #include "core/crypto/crypto_core.h"
Error HashingContext::start(HashType p_type) { Error HashingContext::start(HashType p_type) {
ERR_FAIL_COND_V(ctx != NULL, ERR_ALREADY_IN_USE); ERR_FAIL_COND_V(ctx != nullptr, ERR_ALREADY_IN_USE);
_create_ctx(p_type); _create_ctx(p_type);
ERR_FAIL_COND_V(ctx == NULL, ERR_UNAVAILABLE); ERR_FAIL_COND_V(ctx == nullptr, ERR_UNAVAILABLE);
switch (type) { switch (type) {
case HASH_MD5: case HASH_MD5:
return ((CryptoCore::MD5Context *)ctx)->start(); return ((CryptoCore::MD5Context *)ctx)->start();
@ -48,7 +48,7 @@ Error HashingContext::start(HashType p_type) {
} }
Error HashingContext::update(PackedByteArray p_chunk) { Error HashingContext::update(PackedByteArray p_chunk) {
ERR_FAIL_COND_V(ctx == NULL, ERR_UNCONFIGURED); ERR_FAIL_COND_V(ctx == nullptr, ERR_UNCONFIGURED);
size_t len = p_chunk.size(); size_t len = p_chunk.size();
ERR_FAIL_COND_V(len == 0, FAILED); ERR_FAIL_COND_V(len == 0, FAILED);
const uint8_t *r = p_chunk.ptr(); const uint8_t *r = p_chunk.ptr();
@ -64,7 +64,7 @@ Error HashingContext::update(PackedByteArray p_chunk) {
} }
PackedByteArray HashingContext::finish() { PackedByteArray HashingContext::finish() {
ERR_FAIL_COND_V(ctx == NULL, PackedByteArray()); ERR_FAIL_COND_V(ctx == nullptr, PackedByteArray());
PackedByteArray out; PackedByteArray out;
Error err = FAILED; Error err = FAILED;
switch (type) { switch (type) {
@ -99,7 +99,7 @@ void HashingContext::_create_ctx(HashType p_type) {
ctx = memnew(CryptoCore::SHA256Context); ctx = memnew(CryptoCore::SHA256Context);
break; break;
default: default:
ctx = NULL; ctx = nullptr;
} }
} }
@ -116,7 +116,7 @@ void HashingContext::_delete_ctx() {
memdelete((CryptoCore::SHA256Context *)ctx); memdelete((CryptoCore::SHA256Context *)ctx);
break; break;
} }
ctx = NULL; ctx = nullptr;
} }
void HashingContext::_bind_methods() { void HashingContext::_bind_methods() {
@ -129,10 +129,10 @@ void HashingContext::_bind_methods() {
} }
HashingContext::HashingContext() { HashingContext::HashingContext() {
ctx = NULL; ctx = nullptr;
} }
HashingContext::~HashingContext() { HashingContext::~HashingContext() {
if (ctx != NULL) if (ctx != nullptr)
_delete_ctx(); _delete_ctx();
} }

View File

@ -227,7 +227,7 @@ Array DebuggerMarshalls::ScriptStackVariable::serialize(int max_size) {
} }
int len = 0; int len = 0;
Error err = encode_variant(var, NULL, len, true); Error err = encode_variant(var, nullptr, len, true);
if (err != OK) if (err != OK)
ERR_PRINT("Failed to encode variant."); ERR_PRINT("Failed to encode variant.");

View File

@ -35,8 +35,8 @@
#include "core/debugger/script_debugger.h" #include "core/debugger/script_debugger.h"
#include "core/os/os.h" #include "core/os/os.h"
EngineDebugger *EngineDebugger::singleton = NULL; EngineDebugger *EngineDebugger::singleton = nullptr;
ScriptDebugger *EngineDebugger::script_debugger = NULL; ScriptDebugger *EngineDebugger::script_debugger = nullptr;
Map<StringName, EngineDebugger::Profiler> EngineDebugger::profilers; Map<StringName, EngineDebugger::Profiler> EngineDebugger::profilers;
Map<StringName, EngineDebugger::Capture> EngineDebugger::captures; Map<StringName, EngineDebugger::Capture> EngineDebugger::captures;
@ -173,7 +173,7 @@ void EngineDebugger::deinitialize() {
singleton->poll_events(false); singleton->poll_events(false);
memdelete(singleton); memdelete(singleton);
singleton = NULL; singleton = nullptr;
profilers.clear(); profilers.clear();
captures.clear(); captures.clear();
} }
@ -181,6 +181,6 @@ void EngineDebugger::deinitialize() {
EngineDebugger::~EngineDebugger() { EngineDebugger::~EngineDebugger() {
if (script_debugger) if (script_debugger)
memdelete(script_debugger); memdelete(script_debugger);
script_debugger = NULL; script_debugger = nullptr;
singleton = NULL; singleton = nullptr;
} }

View File

@ -50,10 +50,10 @@ public:
class Profiler { class Profiler {
friend class EngineDebugger; friend class EngineDebugger;
ProfilingToggle toggle = NULL; ProfilingToggle toggle = nullptr;
ProfilingAdd add = NULL; ProfilingAdd add = nullptr;
ProfilingTick tick = NULL; ProfilingTick tick = nullptr;
void *data = NULL; void *data = nullptr;
bool active = false; bool active = false;
public: public:
@ -69,8 +69,8 @@ public:
class Capture { class Capture {
friend class EngineDebugger; friend class EngineDebugger;
CaptureFunc capture = NULL; CaptureFunc capture = nullptr;
void *data = NULL; void *data = nullptr;
public: public:
Capture() {} Capture() {}
@ -97,7 +97,7 @@ protected:
public: public:
_FORCE_INLINE_ static EngineDebugger *get_singleton() { return singleton; } _FORCE_INLINE_ static EngineDebugger *get_singleton() { return singleton; }
_FORCE_INLINE_ static bool is_active() { return singleton != NULL && script_debugger != NULL; } _FORCE_INLINE_ static bool is_active() { return singleton != nullptr && script_debugger != nullptr; }
_FORCE_INLINE_ static ScriptDebugger *get_script_debugger() { return script_debugger; }; _FORCE_INLINE_ static ScriptDebugger *get_script_debugger() { return script_debugger; };

View File

@ -402,7 +402,7 @@ LocalDebugger::LocalDebugger() {
[](void *p_user, bool p_enable, const Array &p_opts) { [](void *p_user, bool p_enable, const Array &p_opts) {
((ScriptsProfiler *)p_user)->toggle(p_enable, p_opts); ((ScriptsProfiler *)p_user)->toggle(p_enable, p_opts);
}, },
NULL, nullptr,
[](void *p_user, float p_frame_time, float p_idle_time, float p_physics_time, float p_physics_frame_time) { [](void *p_user, float p_frame_time, float p_idle_time, float p_physics_time, float p_physics_frame_time) {
((ScriptsProfiler *)p_user)->tick(p_frame_time, p_idle_time, p_physics_time, p_physics_frame_time); ((ScriptsProfiler *)p_user)->tick(p_frame_time, p_idle_time, p_physics_time, p_physics_frame_time);
}); });

View File

@ -40,7 +40,7 @@ class LocalDebugger : public EngineDebugger {
private: private:
struct ScriptsProfiler; struct ScriptsProfiler;
ScriptsProfiler *scripts_profiler = NULL; ScriptsProfiler *scripts_profiler = nullptr;
String target_function; String target_function;
Map<String, String> options; Map<String, String> options;

View File

@ -373,7 +373,7 @@ struct RemoteDebugger::VisualProfiler {
struct RemoteDebugger::PerformanceProfiler { struct RemoteDebugger::PerformanceProfiler {
Object *performance = NULL; Object *performance = nullptr;
int last_perf_time = 0; int last_perf_time = 0;
void toggle(bool p_enable, const Array &p_opts) {} void toggle(bool p_enable, const Array &p_opts) {}
@ -867,7 +867,7 @@ RemoteDebugger *RemoteDebugger::create_for_uri(const String &p_uri) {
Ref<RemoteDebuggerPeer> peer = RemoteDebuggerPeer::create_from_uri(p_uri); Ref<RemoteDebuggerPeer> peer = RemoteDebuggerPeer::create_from_uri(p_uri);
if (peer.is_valid()) if (peer.is_valid())
return memnew(RemoteDebugger(peer)); return memnew(RemoteDebugger(peer));
return NULL; return nullptr;
} }
RemoteDebugger::RemoteDebugger(Ref<RemoteDebuggerPeer> p_peer) { RemoteDebugger::RemoteDebugger(Ref<RemoteDebuggerPeer> p_peer) {

View File

@ -50,10 +50,10 @@ private:
struct VisualProfiler; struct VisualProfiler;
struct PerformanceProfiler; struct PerformanceProfiler;
NetworkProfiler *network_profiler = NULL; NetworkProfiler *network_profiler = nullptr;
ServersProfiler *servers_profiler = NULL; ServersProfiler *servers_profiler = nullptr;
VisualProfiler *visual_profiler = NULL; VisualProfiler *visual_profiler = nullptr;
PerformanceProfiler *performance_profiler = NULL; PerformanceProfiler *performance_profiler = nullptr;
Ref<RemoteDebuggerPeer> peer; Ref<RemoteDebuggerPeer> peer;

View File

@ -68,7 +68,7 @@ void RemoteDebuggerPeerTCP::close() {
running = false; running = false;
Thread::wait_to_finish(thread); Thread::wait_to_finish(thread);
memdelete(thread); memdelete(thread);
thread = NULL; thread = nullptr;
} }
tcp_client->disconnect_from_host(); tcp_client->disconnect_from_host();
out_buf.resize(0); out_buf.resize(0);
@ -106,7 +106,7 @@ void RemoteDebuggerPeerTCP::_write_out() {
out_queue.pop_front(); out_queue.pop_front();
mutex.unlock(); mutex.unlock();
int size = 0; int size = 0;
Error err = encode_variant(var, NULL, size); Error err = encode_variant(var, nullptr, size);
ERR_CONTINUE(err != OK || size > out_buf.size() - 4); // 4 bytes separator. ERR_CONTINUE(err != OK || size > out_buf.size() - 4); // 4 bytes separator.
encode_uint32(size, buf); encode_uint32(size, buf);
encode_variant(var, buf + 4, size); encode_variant(var, buf + 4, size);

View File

@ -58,7 +58,7 @@ class RemoteDebuggerPeerTCP : public RemoteDebuggerPeer {
private: private:
Ref<StreamPeerTCP> tcp_client; Ref<StreamPeerTCP> tcp_client;
Mutex mutex; Mutex mutex;
Thread *thread = NULL; Thread *thread = nullptr;
List<Array> in_queue; List<Array> in_queue;
List<Array> out_queue; List<Array> out_queue;
int out_left = 0; int out_left = 0;

View File

@ -47,7 +47,7 @@ class ScriptDebugger {
Map<int, Set<StringName>> breakpoints; Map<int, Set<StringName>> breakpoints;
ScriptLanguage *break_lang = NULL; ScriptLanguage *break_lang = nullptr;
Vector<StackInfo> error_stack_info; Vector<StackInfo> error_stack_info;
public: public:

View File

@ -90,7 +90,7 @@ const Variant *Dictionary::getptr(const Variant &p_key) const {
OrderedHashMap<Variant, Variant, VariantHasher, VariantComparator>::ConstElement E = ((const OrderedHashMap<Variant, Variant, VariantHasher, VariantComparator> *)&_p->variant_map)->find(p_key); OrderedHashMap<Variant, Variant, VariantHasher, VariantComparator>::ConstElement E = ((const OrderedHashMap<Variant, Variant, VariantHasher, VariantComparator> *)&_p->variant_map)->find(p_key);
if (!E) if (!E)
return NULL; return nullptr;
return &E.get(); return &E.get();
} }
@ -99,7 +99,7 @@ Variant *Dictionary::getptr(const Variant &p_key) {
OrderedHashMap<Variant, Variant, VariantHasher, VariantComparator>::Element E = _p->variant_map.find(p_key); OrderedHashMap<Variant, Variant, VariantHasher, VariantComparator>::Element E = _p->variant_map.find(p_key);
if (!E) if (!E)
return NULL; return nullptr;
return &E.get(); return &E.get();
} }
@ -186,7 +186,7 @@ void Dictionary::_unref() const {
if (_p->refcount.unref()) { if (_p->refcount.unref()) {
memdelete(_p); memdelete(_p);
} }
_p = NULL; _p = nullptr;
} }
uint32_t Dictionary::hash() const { uint32_t Dictionary::hash() const {
@ -236,17 +236,17 @@ Array Dictionary::values() const {
const Variant *Dictionary::next(const Variant *p_key) const { const Variant *Dictionary::next(const Variant *p_key) const {
if (p_key == NULL) { if (p_key == nullptr) {
// caller wants to get the first element // caller wants to get the first element
if (_p->variant_map.front()) if (_p->variant_map.front())
return &_p->variant_map.front().key(); return &_p->variant_map.front().key();
return NULL; return nullptr;
} }
OrderedHashMap<Variant, Variant, VariantHasher, VariantComparator>::Element E = _p->variant_map.find(*p_key); OrderedHashMap<Variant, Variant, VariantHasher, VariantComparator>::Element E = _p->variant_map.find(*p_key);
if (E && E.next()) if (E && E.next())
return &E.next().key(); return &E.next().key();
return NULL; return nullptr;
} }
Dictionary Dictionary::duplicate(bool p_deep) const { Dictionary Dictionary::duplicate(bool p_deep) const {
@ -270,7 +270,7 @@ const void *Dictionary::id() const {
} }
Dictionary::Dictionary(const Dictionary &p_from) { Dictionary::Dictionary(const Dictionary &p_from) {
_p = NULL; _p = nullptr;
_ref(p_from); _ref(p_from);
} }

View File

@ -75,7 +75,7 @@ public:
uint32_t hash() const; uint32_t hash() const;
void operator=(const Dictionary &p_dictionary); void operator=(const Dictionary &p_dictionary);
const Variant *next(const Variant *p_key = NULL) const; const Variant *next(const Variant *p_key = nullptr) const;
Array keys() const; Array keys() const;
Array values() const; Array values() const;

View File

@ -114,7 +114,7 @@ Dictionary Engine::get_version_info() const {
static Array array_from_info(const char *const *info_list) { static Array array_from_info(const char *const *info_list) {
Array arr; Array arr;
for (int i = 0; info_list[i] != NULL; i++) { for (int i = 0; info_list[i] != nullptr; i++) {
arr.push_back(info_list[i]); arr.push_back(info_list[i]);
} }
return arr; return arr;
@ -193,7 +193,7 @@ void Engine::add_singleton(const Singleton &p_singleton) {
Object *Engine::get_singleton_object(const String &p_name) const { Object *Engine::get_singleton_object(const String &p_name) const {
const Map<StringName, Object *>::Element *E = singleton_ptrs.find(p_name); const Map<StringName, Object *>::Element *E = singleton_ptrs.find(p_name);
ERR_FAIL_COND_V_MSG(!E, NULL, "Failed to retrieve non-existent singleton '" + p_name + "'."); ERR_FAIL_COND_V_MSG(!E, nullptr, "Failed to retrieve non-existent singleton '" + p_name + "'.");
return E->get(); return E->get();
}; };
@ -208,7 +208,7 @@ void Engine::get_singletons(List<Singleton> *p_singletons) {
p_singletons->push_back(E->get()); p_singletons->push_back(E->get());
} }
Engine *Engine::singleton = NULL; Engine *Engine::singleton = nullptr;
Engine *Engine::get_singleton() { Engine *Engine::get_singleton() {
return singleton; return singleton;

View File

@ -42,7 +42,7 @@ public:
struct Singleton { struct Singleton {
StringName name; StringName name;
Object *ptr; Object *ptr;
Singleton(const StringName &p_name = StringName(), Object *p_ptr = NULL) : Singleton(const StringName &p_name = StringName(), Object *p_ptr = nullptr) :
name(p_name), name(p_name),
ptr(p_ptr) { ptr(p_ptr) {
} }

View File

@ -34,7 +34,7 @@
#include "core/ustring.h" #include "core/ustring.h"
#include "os/os.h" #include "os/os.h"
static ErrorHandlerList *error_handler_list = NULL; static ErrorHandlerList *error_handler_list = nullptr;
void add_error_handler(ErrorHandlerList *p_handler) { void add_error_handler(ErrorHandlerList *p_handler) {
@ -48,7 +48,7 @@ void remove_error_handler(ErrorHandlerList *p_handler) {
_global_lock(); _global_lock();
ErrorHandlerList *prev = NULL; ErrorHandlerList *prev = nullptr;
ErrorHandlerList *l = error_handler_list; ErrorHandlerList *l = error_handler_list;
while (l) { while (l) {

View File

@ -197,14 +197,14 @@ private:
e = e->next; e = e->next;
} }
return NULL; return nullptr;
} }
Element *create_element(const TKey &p_key) { Element *create_element(const TKey &p_key) {
/* if element doesn't exist, create it */ /* if element doesn't exist, create it */
Element *e = memnew(Element); Element *e = memnew(Element);
ERR_FAIL_COND_V_MSG(!e, NULL, "Out of memory."); ERR_FAIL_COND_V_MSG(!e, nullptr, "Out of memory.");
uint32_t hash = Hasher::hash(p_key); uint32_t hash = Hasher::hash(p_key);
uint32_t index = hash & ((1 << hash_table_power) - 1); uint32_t index = hash & ((1 << hash_table_power) - 1);
e->next = hash_table[index]; e->next = hash_table[index];
@ -234,7 +234,7 @@ private:
for (int i = 0; i < (1 << p_t.hash_table_power); i++) { for (int i = 0; i < (1 << p_t.hash_table_power); i++) {
hash_table[i] = NULL; hash_table[i] = nullptr;
const Element *e = p_t.hash_table[i]; const Element *e = p_t.hash_table[i];
@ -260,7 +260,7 @@ public:
Element *set(const Pair &p_pair) { Element *set(const Pair &p_pair) {
Element *e = NULL; Element *e = nullptr;
if (!hash_table) if (!hash_table)
make_hash_table(); // if no table, make one make_hash_table(); // if no table, make one
else else
@ -272,7 +272,7 @@ public:
e = create_element(p_pair.key); e = create_element(p_pair.key);
if (!e) if (!e)
return NULL; return nullptr;
check_hash_table(); // perform mantenience routine check_hash_table(); // perform mantenience routine
} }
@ -282,12 +282,12 @@ public:
bool has(const TKey &p_key) const { bool has(const TKey &p_key) const {
return getptr(p_key) != NULL; return getptr(p_key) != nullptr;
} }
/** /**
* Get a key from data, return a const reference. * Get a key from data, return a const reference.
* WARNING: this doesn't check errors, use either getptr and check NULL, or check * WARNING: this doesn't check errors, use either getptr and check nullptr, or check
* first with has(key) * first with has(key)
*/ */
@ -306,38 +306,38 @@ public:
} }
/** /**
* Same as get, except it can return NULL when item was not found. * Same as get, except it can return nullptr when item was not found.
* This is mainly used for speed purposes. * This is mainly used for speed purposes.
*/ */
_FORCE_INLINE_ TData *getptr(const TKey &p_key) { _FORCE_INLINE_ TData *getptr(const TKey &p_key) {
if (unlikely(!hash_table)) if (unlikely(!hash_table))
return NULL; return nullptr;
Element *e = const_cast<Element *>(get_element(p_key)); Element *e = const_cast<Element *>(get_element(p_key));
if (e) if (e)
return &e->pair.data; return &e->pair.data;
return NULL; return nullptr;
} }
_FORCE_INLINE_ const TData *getptr(const TKey &p_key) const { _FORCE_INLINE_ const TData *getptr(const TKey &p_key) const {
if (unlikely(!hash_table)) if (unlikely(!hash_table))
return NULL; return nullptr;
const Element *e = const_cast<Element *>(get_element(p_key)); const Element *e = const_cast<Element *>(get_element(p_key));
if (e) if (e)
return &e->pair.data; return &e->pair.data;
return NULL; return nullptr;
} }
/** /**
* Same as get, except it can return NULL when item was not found. * Same as get, except it can return nullptr when item was not found.
* This version is custom, will take a hash and a custom key (that should support operator==() * This version is custom, will take a hash and a custom key (that should support operator==()
*/ */
@ -345,7 +345,7 @@ public:
_FORCE_INLINE_ TData *custom_getptr(C p_custom_key, uint32_t p_custom_hash) { _FORCE_INLINE_ TData *custom_getptr(C p_custom_key, uint32_t p_custom_hash) {
if (unlikely(!hash_table)) if (unlikely(!hash_table))
return NULL; return nullptr;
uint32_t hash = p_custom_hash; uint32_t hash = p_custom_hash;
uint32_t index = hash & ((1 << hash_table_power) - 1); uint32_t index = hash & ((1 << hash_table_power) - 1);
@ -364,14 +364,14 @@ public:
e = e->next; e = e->next;
} }
return NULL; return nullptr;
} }
template <class C> template <class C>
_FORCE_INLINE_ const TData *custom_getptr(C p_custom_key, uint32_t p_custom_hash) const { _FORCE_INLINE_ const TData *custom_getptr(C p_custom_key, uint32_t p_custom_hash) const {
if (unlikely(!hash_table)) if (unlikely(!hash_table))
return NULL; return nullptr;
uint32_t hash = p_custom_hash; uint32_t hash = p_custom_hash;
uint32_t index = hash & ((1 << hash_table_power) - 1); uint32_t index = hash & ((1 << hash_table_power) - 1);
@ -390,7 +390,7 @@ public:
e = e->next; e = e->next;
} }
return NULL; return nullptr;
} }
/** /**
@ -406,7 +406,7 @@ public:
uint32_t index = hash & ((1 << hash_table_power) - 1); uint32_t index = hash & ((1 << hash_table_power) - 1);
Element *e = hash_table[index]; Element *e = hash_table[index];
Element *p = NULL; Element *p = nullptr;
while (e) { while (e) {
/* checking hash first avoids comparing key, which may take longer */ /* checking hash first avoids comparing key, which may take longer */
@ -443,7 +443,7 @@ public:
} }
inline TData &operator[](const TKey &p_key) { //assignment inline TData &operator[](const TKey &p_key) { //assignment
Element *e = NULL; Element *e = nullptr;
if (!hash_table) if (!hash_table)
make_hash_table(); // if no table, make one make_hash_table(); // if no table, make one
else else
@ -462,12 +462,12 @@ public:
/** /**
* Get the next key to p_key, and the first key if p_key is null. * Get the next key to p_key, and the first key if p_key is null.
* Returns a pointer to the next key if found, NULL otherwise. * Returns a pointer to the next key if found, nullptr otherwise.
* Adding/Removing elements while iterating will, of course, have unexpected results, don't do it. * Adding/Removing elements while iterating will, of course, have unexpected results, don't do it.
* *
* Example: * Example:
* *
* const TKey *k=NULL; * const TKey *k=nullptr;
* *
* while( (k=table.next(k)) ) { * while( (k=table.next(k)) ) {
* *
@ -478,7 +478,7 @@ public:
const TKey *next(const TKey *p_key) const { const TKey *next(const TKey *p_key) const {
if (unlikely(!hash_table)) if (unlikely(!hash_table))
return NULL; return nullptr;
if (!p_key) { /* get the first key */ if (!p_key) { /* get the first key */
@ -492,7 +492,7 @@ public:
} else { /* get the next key */ } else { /* get the next key */
const Element *e = get_element(*p_key); const Element *e = get_element(*p_key);
ERR_FAIL_COND_V_MSG(!e, NULL, "Invalid key supplied."); ERR_FAIL_COND_V_MSG(!e, nullptr, "Invalid key supplied.");
if (e->next) { if (e->next) {
/* if there is a "next" in the list, return that */ /* if there is a "next" in the list, return that */
return &e->next->pair.key; return &e->next->pair.key;
@ -511,7 +511,7 @@ public:
/* nothing found, was at end */ /* nothing found, was at end */
} }
return NULL; /* nothing found */ return nullptr; /* nothing found */
} }
inline unsigned int size() const { inline unsigned int size() const {
@ -552,7 +552,7 @@ public:
} }
HashMap() { HashMap() {
hash_table = NULL; hash_table = nullptr;
elements = 0; elements = 0;
hash_table_power = 0; hash_table_power = 0;
} }
@ -586,7 +586,7 @@ public:
HashMap(const HashMap &p_table) { HashMap(const HashMap &p_table) {
hash_table = NULL; hash_table = nullptr;
elements = 0; elements = 0;
hash_table_power = 0; hash_table_power = 0;

View File

@ -84,10 +84,10 @@ const char *Image::format_names[Image::FORMAT_MAX] = {
}; };
SavePNGFunc Image::save_png_func = NULL; SavePNGFunc Image::save_png_func = nullptr;
SaveEXRFunc Image::save_exr_func = NULL; SaveEXRFunc Image::save_exr_func = nullptr;
SavePNGBufferFunc Image::save_png_buffer_func = NULL; SavePNGBufferFunc Image::save_png_buffer_func = nullptr;
void Image::_put_pixelb(int p_x, int p_y, uint32_t p_pixelsize, uint8_t *p_data, const uint8_t *p_pixel) { void Image::_put_pixelb(int p_x, int p_y, uint32_t p_pixelsize, uint8_t *p_data, const uint8_t *p_pixel) {
@ -2099,14 +2099,14 @@ Error Image::load(const String &p_path) {
Error Image::save_png(const String &p_path) const { Error Image::save_png(const String &p_path) const {
if (save_png_func == NULL) if (save_png_func == nullptr)
return ERR_UNAVAILABLE; return ERR_UNAVAILABLE;
return save_png_func(p_path, Ref<Image>((Image *)this)); return save_png_func(p_path, Ref<Image>((Image *)this));
} }
Vector<uint8_t> Image::save_png_to_buffer() const { Vector<uint8_t> Image::save_png_to_buffer() const {
if (save_png_buffer_func == NULL) { if (save_png_buffer_func == nullptr) {
return Vector<uint8_t>(); return Vector<uint8_t>();
} }
@ -2115,7 +2115,7 @@ Vector<uint8_t> Image::save_png_to_buffer() const {
Error Image::save_exr(const String &p_path, bool p_grayscale) const { Error Image::save_exr(const String &p_path, bool p_grayscale) const {
if (save_exr_func == NULL) if (save_exr_func == nullptr)
return ERR_UNAVAILABLE; return ERR_UNAVAILABLE;
return save_exr_func(p_path, Ref<Image>((Image *)this), p_grayscale); return save_exr_func(p_path, Ref<Image>((Image *)this), p_grayscale);
@ -2533,28 +2533,28 @@ void Image::fill(const Color &c) {
} }
} }
ImageMemLoadFunc Image::_png_mem_loader_func = NULL; ImageMemLoadFunc Image::_png_mem_loader_func = nullptr;
ImageMemLoadFunc Image::_jpg_mem_loader_func = NULL; ImageMemLoadFunc Image::_jpg_mem_loader_func = nullptr;
ImageMemLoadFunc Image::_webp_mem_loader_func = NULL; ImageMemLoadFunc Image::_webp_mem_loader_func = nullptr;
void (*Image::_image_compress_bc_func)(Image *, float, Image::UsedChannels) = NULL; void (*Image::_image_compress_bc_func)(Image *, float, Image::UsedChannels) = nullptr;
void (*Image::_image_compress_bptc_func)(Image *, float, Image::UsedChannels) = NULL; void (*Image::_image_compress_bptc_func)(Image *, float, Image::UsedChannels) = nullptr;
void (*Image::_image_compress_pvrtc2_func)(Image *) = NULL; void (*Image::_image_compress_pvrtc2_func)(Image *) = nullptr;
void (*Image::_image_compress_pvrtc4_func)(Image *) = NULL; void (*Image::_image_compress_pvrtc4_func)(Image *) = nullptr;
void (*Image::_image_compress_etc1_func)(Image *, float) = NULL; void (*Image::_image_compress_etc1_func)(Image *, float) = nullptr;
void (*Image::_image_compress_etc2_func)(Image *, float, Image::UsedChannels) = NULL; void (*Image::_image_compress_etc2_func)(Image *, float, Image::UsedChannels) = nullptr;
void (*Image::_image_decompress_pvrtc)(Image *) = NULL; void (*Image::_image_decompress_pvrtc)(Image *) = nullptr;
void (*Image::_image_decompress_bc)(Image *) = NULL; void (*Image::_image_decompress_bc)(Image *) = nullptr;
void (*Image::_image_decompress_bptc)(Image *) = NULL; void (*Image::_image_decompress_bptc)(Image *) = nullptr;
void (*Image::_image_decompress_etc1)(Image *) = NULL; void (*Image::_image_decompress_etc1)(Image *) = nullptr;
void (*Image::_image_decompress_etc2)(Image *) = NULL; void (*Image::_image_decompress_etc2)(Image *) = nullptr;
Vector<uint8_t> (*Image::lossy_packer)(const Ref<Image> &, float) = NULL; Vector<uint8_t> (*Image::lossy_packer)(const Ref<Image> &, float) = nullptr;
Ref<Image> (*Image::lossy_unpacker)(const Vector<uint8_t> &) = NULL; Ref<Image> (*Image::lossy_unpacker)(const Vector<uint8_t> &) = nullptr;
Vector<uint8_t> (*Image::lossless_packer)(const Ref<Image> &) = NULL; Vector<uint8_t> (*Image::lossless_packer)(const Ref<Image> &) = nullptr;
Ref<Image> (*Image::lossless_unpacker)(const Vector<uint8_t> &) = NULL; Ref<Image> (*Image::lossless_unpacker)(const Vector<uint8_t> &) = nullptr;
Vector<uint8_t> (*Image::basis_universal_packer)(const Ref<Image> &, Image::UsedChannels) = NULL; Vector<uint8_t> (*Image::basis_universal_packer)(const Ref<Image> &, Image::UsedChannels) = nullptr;
Ref<Image> (*Image::basis_universal_unpacker)(const Vector<uint8_t> &) = NULL; Ref<Image> (*Image::basis_universal_unpacker)(const Vector<uint8_t> &) = nullptr;
void Image::_set_data(const Dictionary &p_data) { void Image::_set_data(const Dictionary &p_data) {

View File

@ -187,7 +187,7 @@ private:
_FORCE_INLINE_ void _get_mipmap_offset_and_size(int p_mipmap, int &r_offset, int &r_width, int &r_height) const; //get where the mipmap begins in data _FORCE_INLINE_ void _get_mipmap_offset_and_size(int p_mipmap, int &r_offset, int &r_width, int &r_height) const; //get where the mipmap begins in data
static int _get_dst_image_size(int p_width, int p_height, Format p_format, int &r_mipmaps, int p_mipmaps = -1, int *r_mm_width = NULL, int *r_mm_height = NULL); static int _get_dst_image_size(int p_width, int p_height, Format p_format, int &r_mipmaps, int p_mipmaps = -1, int *r_mm_width = nullptr, int *r_mm_height = nullptr);
bool _can_modify(Format p_format) const; bool _can_modify(Format p_format) const;
_FORCE_INLINE_ void _put_pixelb(int p_x, int p_y, uint32_t p_pixelsize, uint8_t *p_data, const uint8_t *p_pixel); _FORCE_INLINE_ void _put_pixelb(int p_x, int p_y, uint32_t p_pixelsize, uint8_t *p_data, const uint8_t *p_pixel);

View File

@ -366,10 +366,10 @@ bool InputEventKey::action_match(const Ref<InputEvent> &p_event, bool *p_pressed
match = get_keycode() == key->get_keycode() && (!key->is_pressed() || (code & event_code) == code); match = get_keycode() == key->get_keycode() && (!key->is_pressed() || (code & event_code) == code);
} }
if (match) { if (match) {
if (p_pressed != NULL) if (p_pressed != nullptr)
*p_pressed = key->is_pressed(); *p_pressed = key->is_pressed();
if (p_strength != NULL) if (p_strength != nullptr)
*p_strength = (p_pressed != NULL && *p_pressed) ? 1.0f : 0.0f; *p_strength = (p_pressed != nullptr && *p_pressed) ? 1.0f : 0.0f;
} }
return match; return match;
} }
@ -541,10 +541,10 @@ bool InputEventMouseButton::action_match(const Ref<InputEvent> &p_event, bool *p
bool match = mb->button_index == button_index; bool match = mb->button_index == button_index;
if (match) { if (match) {
if (p_pressed != NULL) if (p_pressed != nullptr)
*p_pressed = mb->is_pressed(); *p_pressed = mb->is_pressed();
if (p_strength != NULL) if (p_strength != nullptr)
*p_strength = (p_pressed != NULL && *p_pressed) ? 1.0f : 0.0f; *p_strength = (p_pressed != nullptr && *p_pressed) ? 1.0f : 0.0f;
} }
return match; return match;
@ -815,9 +815,9 @@ bool InputEventJoypadMotion::action_match(const Ref<InputEvent> &p_event, bool *
if (match) { if (match) {
bool same_direction = (((axis_value < 0) == (jm->axis_value < 0)) || jm->axis_value == 0); bool same_direction = (((axis_value < 0) == (jm->axis_value < 0)) || jm->axis_value == 0);
bool pressed = same_direction ? Math::abs(jm->get_axis_value()) >= p_deadzone : false; bool pressed = same_direction ? Math::abs(jm->get_axis_value()) >= p_deadzone : false;
if (p_pressed != NULL) if (p_pressed != nullptr)
*p_pressed = pressed; *p_pressed = pressed;
if (p_strength != NULL) { if (p_strength != nullptr) {
if (pressed) { if (pressed) {
if (p_deadzone == 1.0f) { if (p_deadzone == 1.0f) {
*p_strength = 1.0f; *p_strength = 1.0f;
@ -892,10 +892,10 @@ bool InputEventJoypadButton::action_match(const Ref<InputEvent> &p_event, bool *
bool match = button_index == jb->button_index; bool match = button_index == jb->button_index;
if (match) { if (match) {
if (p_pressed != NULL) if (p_pressed != nullptr)
*p_pressed = jb->is_pressed(); *p_pressed = jb->is_pressed();
if (p_strength != NULL) if (p_strength != nullptr)
*p_strength = (p_pressed != NULL && *p_pressed) ? 1.0f : 0.0f; *p_strength = (p_pressed != nullptr && *p_pressed) ? 1.0f : 0.0f;
} }
return match; return match;
@ -1140,10 +1140,10 @@ bool InputEventAction::action_match(const Ref<InputEvent> &p_event, bool *p_pres
bool match = action == act->action; bool match = action == act->action;
if (match) { if (match) {
if (p_pressed != NULL) if (p_pressed != nullptr)
*p_pressed = act->pressed; *p_pressed = act->pressed;
if (p_strength != NULL) if (p_strength != nullptr)
*p_strength = (p_pressed != NULL && *p_pressed) ? 1.0f : 0.0f; *p_strength = (p_pressed != nullptr && *p_pressed) ? 1.0f : 0.0f;
} }
return match; return match;
} }

View File

@ -39,7 +39,7 @@
#include "editor/editor_settings.h" #include "editor/editor_settings.h"
#endif #endif
InputFilter *InputFilter::singleton = NULL; InputFilter *InputFilter::singleton = nullptr;
void (*InputFilter::set_mouse_mode_func)(InputFilter::MouseMode) = nullptr; void (*InputFilter::set_mouse_mode_func)(InputFilter::MouseMode) = nullptr;
InputFilter::MouseMode (*InputFilter::get_mouse_mode_func)() = nullptr; InputFilter::MouseMode (*InputFilter::get_mouse_mode_func)() = nullptr;
@ -1028,9 +1028,9 @@ void InputFilter::_axis_event(int p_device, int p_axis, float p_value) {
InputFilter::JoyEvent InputFilter::_find_to_event(String p_to) { InputFilter::JoyEvent InputFilter::_find_to_event(String p_to) {
// string names of the SDL buttons in the same order as input_event.h godot buttons // string names of the SDL buttons in the same order as input_event.h godot buttons
static const char *buttons[] = { "a", "b", "x", "y", "leftshoulder", "rightshoulder", "lefttrigger", "righttrigger", "leftstick", "rightstick", "back", "start", "dpup", "dpdown", "dpleft", "dpright", "guide", NULL }; static const char *buttons[] = { "a", "b", "x", "y", "leftshoulder", "rightshoulder", "lefttrigger", "righttrigger", "leftstick", "rightstick", "back", "start", "dpup", "dpdown", "dpleft", "dpright", "guide", nullptr };
static const char *axis[] = { "leftx", "lefty", "rightx", "righty", NULL }; static const char *axis[] = { "leftx", "lefty", "rightx", "righty", nullptr };
JoyEvent ret; JoyEvent ret;
ret.type = -1; ret.type = -1;

View File

@ -33,7 +33,7 @@
#include "core/os/keyboard.h" #include "core/os/keyboard.h"
#include "core/project_settings.h" #include "core/project_settings.h"
InputMap *InputMap::singleton = NULL; InputMap *InputMap::singleton = nullptr;
int InputMap::ALL_DEVICES = -1; int InputMap::ALL_DEVICES = -1;
@ -116,7 +116,7 @@ List<Ref<InputEvent>>::Element *InputMap::_find_event(Action &p_action, const Re
} }
} }
return NULL; return nullptr;
} }
bool InputMap::has_action(const StringName &p_action) const { bool InputMap::has_action(const StringName &p_action) const {
@ -144,7 +144,7 @@ void InputMap::action_add_event(const StringName &p_action, const Ref<InputEvent
bool InputMap::action_has_event(const StringName &p_action, const Ref<InputEvent> &p_event) { bool InputMap::action_has_event(const StringName &p_action, const Ref<InputEvent> &p_event) {
ERR_FAIL_COND_V_MSG(!input_map.has(p_action), false, "Request for nonexistent InputMap action '" + String(p_action) + "'."); ERR_FAIL_COND_V_MSG(!input_map.has(p_action), false, "Request for nonexistent InputMap action '" + String(p_action) + "'.");
return (_find_event(input_map[p_action], p_event) != NULL); return (_find_event(input_map[p_action], p_event) != nullptr);
} }
void InputMap::action_erase_event(const StringName &p_action, const Ref<InputEvent> &p_event) { void InputMap::action_erase_event(const StringName &p_action, const Ref<InputEvent> &p_event) {
@ -181,7 +181,7 @@ const List<Ref<InputEvent>> *InputMap::get_action_list(const StringName &p_actio
const Map<StringName, Action>::Element *E = input_map.find(p_action); const Map<StringName, Action>::Element *E = input_map.find(p_action);
if (!E) if (!E)
return NULL; return nullptr;
return &E->get().inputs; return &E->get().inputs;
} }
@ -196,20 +196,20 @@ bool InputMap::event_get_action_status(const Ref<InputEvent> &p_event, const Str
Ref<InputEventAction> input_event_action = p_event; Ref<InputEventAction> input_event_action = p_event;
if (input_event_action.is_valid()) { if (input_event_action.is_valid()) {
if (p_pressed != NULL) if (p_pressed != nullptr)
*p_pressed = input_event_action->is_pressed(); *p_pressed = input_event_action->is_pressed();
if (p_strength != NULL) if (p_strength != nullptr)
*p_strength = (p_pressed != NULL && *p_pressed) ? input_event_action->get_strength() : 0.0f; *p_strength = (p_pressed != nullptr && *p_pressed) ? input_event_action->get_strength() : 0.0f;
return input_event_action->get_action() == p_action; return input_event_action->get_action() == p_action;
} }
bool pressed; bool pressed;
float strength; float strength;
List<Ref<InputEvent>>::Element *event = _find_event(E->get(), p_event, &pressed, &strength); List<Ref<InputEvent>>::Element *event = _find_event(E->get(), p_event, &pressed, &strength);
if (event != NULL) { if (event != nullptr) {
if (p_pressed != NULL) if (p_pressed != nullptr)
*p_pressed = pressed; *p_pressed = pressed;
if (p_strength != NULL) if (p_strength != nullptr)
*p_strength = strength; *p_strength = strength;
return true; return true;
} else { } else {

View File

@ -55,7 +55,7 @@ private:
mutable Map<StringName, Action> input_map; mutable Map<StringName, Action> input_map;
List<Ref<InputEvent>>::Element *_find_event(Action &p_action, const Ref<InputEvent> &p_event, bool *p_pressed = NULL, float *p_strength = NULL) const; List<Ref<InputEvent>>::Element *_find_event(Action &p_action, const Ref<InputEvent> &p_event, bool *p_pressed = nullptr, float *p_strength = nullptr) const;
Array _get_action_list(const StringName &p_action); Array _get_action_list(const StringName &p_action);
Array _get_actions(); Array _get_actions();
@ -79,7 +79,7 @@ public:
const List<Ref<InputEvent>> *get_action_list(const StringName &p_action); const List<Ref<InputEvent>> *get_action_list(const StringName &p_action);
bool event_is_action(const Ref<InputEvent> &p_event, const StringName &p_action) const; bool event_is_action(const Ref<InputEvent> &p_event, const StringName &p_action) const;
bool event_get_action_status(const Ref<InputEvent> &p_event, const StringName &p_action, bool *p_pressed = NULL, float *p_strength = NULL) const; bool event_get_action_status(const Ref<InputEvent> &p_event, const StringName &p_action, bool *p_pressed = nullptr, float *p_strength = nullptr) const;
const Map<StringName, Action> &get_action_map() const; const Map<StringName, Action> &get_action_map() const;
void load_from_globals(); void load_from_globals();

View File

@ -290,7 +290,7 @@ Error ConfigFile::_parse(const String &p_path, VariantParser::Stream *p_stream)
next_tag.fields.clear(); next_tag.fields.clear();
next_tag.name = String(); next_tag.name = String();
Error err = VariantParser::parse_tag_assign_eof(p_stream, lines, error_text, next_tag, assign, value, NULL, true); Error err = VariantParser::parse_tag_assign_eof(p_stream, lines, error_text, next_tag, assign, value, nullptr, true);
if (err == ERR_FILE_EOF) { if (err == ERR_FILE_EOF) {
return OK; return OK;
} else if (err != OK) { } else if (err != OK) {

View File

@ -32,7 +32,7 @@
#include "core/os/file_access.h" #include "core/os/file_access.h"
#include "core/project_settings.h" #include "core/project_settings.h"
DTLSServer *(*DTLSServer::_create)() = NULL; DTLSServer *(*DTLSServer::_create)() = nullptr;
bool DTLSServer::available = false; bool DTLSServer::available = false;
DTLSServer *DTLSServer::create() { DTLSServer *DTLSServer::create() {

View File

@ -64,7 +64,7 @@ Error FileAccessCompressed::open_after_magic(FileAccess *p_base) {
cmode = (Compression::Mode)f->get_32(); cmode = (Compression::Mode)f->get_32();
block_size = f->get_32(); block_size = f->get_32();
if (block_size == 0) { if (block_size == 0) {
f = NULL; // Let the caller to handle the FileAccess object if failed to open as compressed file. f = nullptr; // Let the caller to handle the FileAccess object if failed to open as compressed file.
ERR_FAIL_V_MSG(ERR_FILE_CORRUPT, "Can't open compressed file '" + p_base->get_path() + "' with block size 0, it is corrupted."); ERR_FAIL_V_MSG(ERR_FILE_CORRUPT, "Can't open compressed file '" + p_base->get_path() + "' with block size 0, it is corrupted.");
} }
read_total = f->get_32(); read_total = f->get_32();
@ -109,7 +109,7 @@ Error FileAccessCompressed::_open(const String &p_path, int p_mode_flags) {
if (err != OK) { if (err != OK) {
//not openable //not openable
f = NULL; f = nullptr;
return err; return err;
} }
@ -131,7 +131,7 @@ Error FileAccessCompressed::_open(const String &p_path, int p_mode_flags) {
rmagic[4] = 0; rmagic[4] = 0;
if (magic != rmagic || open_after_magic(f) != OK) { if (magic != rmagic || open_after_magic(f) != OK) {
memdelete(f); memdelete(f);
f = NULL; f = nullptr;
return ERR_FILE_UNRECOGNIZED; return ERR_FILE_UNRECOGNIZED;
} }
} }
@ -187,12 +187,12 @@ void FileAccessCompressed::close() {
} }
memdelete(f); memdelete(f);
f = NULL; f = nullptr;
} }
bool FileAccessCompressed::is_open() const { bool FileAccessCompressed::is_open() const {
return f != NULL; return f != nullptr;
} }
void FileAccessCompressed::seek(size_t p_position) { void FileAccessCompressed::seek(size_t p_position) {
@ -392,20 +392,20 @@ Error FileAccessCompressed::_set_unix_permissions(const String &p_file, uint32_t
FileAccessCompressed::FileAccessCompressed() : FileAccessCompressed::FileAccessCompressed() :
cmode(Compression::MODE_ZSTD), cmode(Compression::MODE_ZSTD),
writing(false), writing(false),
write_ptr(0), write_ptr(nullptr),
write_buffer_size(0), write_buffer_size(0),
write_max(0), write_max(0),
block_size(0), block_size(0),
read_eof(false), read_eof(false),
at_end(false), at_end(false),
read_ptr(NULL), read_ptr(nullptr),
read_block(0), read_block(0),
read_block_count(0), read_block_count(0),
read_block_size(0), read_block_size(0),
read_pos(0), read_pos(0),
read_total(0), read_total(0),
magic("GCMP"), magic("GCMP"),
f(NULL) { f(nullptr) {
} }
FileAccessCompressed::~FileAccessCompressed() { FileAccessCompressed::~FileAccessCompressed() {

View File

@ -41,7 +41,7 @@
Error FileAccessEncrypted::open_and_parse(FileAccess *p_base, const Vector<uint8_t> &p_key, Mode p_mode) { Error FileAccessEncrypted::open_and_parse(FileAccess *p_base, const Vector<uint8_t> &p_key, Mode p_mode) {
ERR_FAIL_COND_V_MSG(file != NULL, ERR_ALREADY_IN_USE, "Can't open file while another file from path '" + file->get_path_absolute() + "' is open."); ERR_FAIL_COND_V_MSG(file != nullptr, ERR_ALREADY_IN_USE, "Can't open file while another file from path '" + file->get_path_absolute() + "' is open.");
ERR_FAIL_COND_V(p_key.size() != 32, ERR_INVALID_PARAMETER); ERR_FAIL_COND_V(p_key.size() != 32, ERR_INVALID_PARAMETER);
pos = 0; pos = 0;
@ -159,7 +159,7 @@ void FileAccessEncrypted::close() {
file->store_buffer(compressed.ptr(), compressed.size()); file->store_buffer(compressed.ptr(), compressed.size());
file->close(); file->close();
memdelete(file); memdelete(file);
file = NULL; file = nullptr;
data.clear(); data.clear();
} else { } else {
@ -167,13 +167,13 @@ void FileAccessEncrypted::close() {
file->close(); file->close();
memdelete(file); memdelete(file);
data.clear(); data.clear();
file = NULL; file = nullptr;
} }
} }
bool FileAccessEncrypted::is_open() const { bool FileAccessEncrypted::is_open() const {
return file != NULL; return file != nullptr;
} }
String FileAccessEncrypted::get_path() const { String FileAccessEncrypted::get_path() const {
@ -319,7 +319,7 @@ Error FileAccessEncrypted::_set_unix_permissions(const String &p_file, uint32_t
FileAccessEncrypted::FileAccessEncrypted() { FileAccessEncrypted::FileAccessEncrypted() {
file = NULL; file = nullptr;
pos = 0; pos = 0;
eofed = false; eofed = false;
mode = MODE_MAX; mode = MODE_MAX;

View File

@ -35,7 +35,7 @@
#include "core/os/dir_access.h" #include "core/os/dir_access.h"
#include "core/project_settings.h" #include "core/project_settings.h"
static Map<String, Vector<uint8_t>> *files = NULL; static Map<String, Vector<uint8_t>> *files = nullptr;
void FileAccessMemory::register_file(String p_name, Vector<uint8_t> p_data) { void FileAccessMemory::register_file(String p_name, Vector<uint8_t> p_data) {
@ -71,7 +71,7 @@ bool FileAccessMemory::file_exists(const String &p_name) {
String name = fix_path(p_name); String name = fix_path(p_name);
//name = DirAccess::normalize_path(name); //name = DirAccess::normalize_path(name);
return files && (files->find(name) != NULL); return files && (files->find(name) != nullptr);
} }
Error FileAccessMemory::open_custom(const uint8_t *p_data, int p_len) { Error FileAccessMemory::open_custom(const uint8_t *p_data, int p_len) {
@ -101,12 +101,12 @@ Error FileAccessMemory::_open(const String &p_path, int p_mode_flags) {
void FileAccessMemory::close() { void FileAccessMemory::close() {
data = NULL; data = nullptr;
} }
bool FileAccessMemory::is_open() const { bool FileAccessMemory::is_open() const {
return data != NULL; return data != nullptr;
} }
void FileAccessMemory::seek(size_t p_position) { void FileAccessMemory::seek(size_t p_position) {
@ -196,5 +196,5 @@ void FileAccessMemory::store_buffer(const uint8_t *p_src, int p_length) {
FileAccessMemory::FileAccessMemory() { FileAccessMemory::FileAccessMemory() {
data = NULL; data = nullptr;
} }

View File

@ -114,7 +114,7 @@ void FileAccessNetworkClient::_thread_func() {
int response = get_32(); int response = get_32();
DEBUG_PRINT("GET RESPONSE: " + itos(response)); DEBUG_PRINT("GET RESPONSE: " + itos(response));
FileAccessNetwork *fa = NULL; FileAccessNetwork *fa = nullptr;
if (response != FileAccessNetwork::RESPONSE_DATA) { if (response != FileAccessNetwork::RESPONSE_DATA) {
if (!accesses.has(id)) { if (!accesses.has(id)) {
@ -219,11 +219,11 @@ Error FileAccessNetworkClient::connect(const String &p_host, int p_port, const S
return OK; return OK;
} }
FileAccessNetworkClient *FileAccessNetworkClient::singleton = NULL; FileAccessNetworkClient *FileAccessNetworkClient::singleton = nullptr;
FileAccessNetworkClient::FileAccessNetworkClient() { FileAccessNetworkClient::FileAccessNetworkClient() {
thread = NULL; thread = nullptr;
quit = false; quit = false;
singleton = this; singleton = this;
last_id = 0; last_id = 0;
@ -295,7 +295,7 @@ Error FileAccessNetwork::_open(const String &p_path, int p_mode_flags) {
pos = 0; pos = 0;
eof_flag = false; eof_flag = false;
last_page = -1; last_page = -1;
last_page_buff = NULL; last_page_buff = nullptr;
//buffers.clear(); //buffers.clear();
nc->unlock_mutex(); nc->unlock_mutex();

View File

@ -98,18 +98,18 @@ void PackedData::add_path(const String &pkg_path, const String &path, uint64_t o
void PackedData::add_pack_source(PackSource *p_source) { void PackedData::add_pack_source(PackSource *p_source) {
if (p_source != NULL) { if (p_source != nullptr) {
sources.push_back(p_source); sources.push_back(p_source);
} }
}; };
PackedData *PackedData::singleton = NULL; PackedData *PackedData::singleton = nullptr;
PackedData::PackedData() { PackedData::PackedData() {
singleton = this; singleton = this;
root = memnew(PackedDir); root = memnew(PackedDir);
root->parent = NULL; root->parent = nullptr;
disabled = false; disabled = false;
add_pack_source(memnew(PackedSourcePCK)); add_pack_source(memnew(PackedSourcePCK));

View File

@ -185,9 +185,9 @@ FileAccess *PackedData::try_open_path(const String &p_path) {
PathMD5 pmd5(p_path.md5_buffer()); PathMD5 pmd5(p_path.md5_buffer());
Map<PathMD5, PackedFile>::Element *E = files.find(pmd5); Map<PathMD5, PackedFile>::Element *E = files.find(pmd5);
if (!E) if (!E)
return NULL; //not found return nullptr; //not found
if (E->get().offset == 0) if (E->get().offset == 0)
return NULL; //was erased return nullptr; //was erased
return E->get().src->get_file(p_path, &E->get()); return E->get().src->get_file(p_path, &E->get());
} }

View File

@ -35,20 +35,20 @@
#include "core/os/copymem.h" #include "core/os/copymem.h"
#include "core/os/file_access.h" #include "core/os/file_access.h"
ZipArchive *ZipArchive::instance = NULL; ZipArchive *ZipArchive::instance = nullptr;
extern "C" { extern "C" {
static void *godot_open(void *data, const char *p_fname, int mode) { static void *godot_open(void *data, const char *p_fname, int mode) {
if (mode & ZLIB_FILEFUNC_MODE_WRITE) { if (mode & ZLIB_FILEFUNC_MODE_WRITE) {
return NULL; return nullptr;
} }
FileAccess *f = (FileAccess *)data; FileAccess *f = (FileAccess *)data;
f->open(p_fname, FileAccess::READ); f->open(p_fname, FileAccess::READ);
return f->is_open() ? data : NULL; return f->is_open() ? data : nullptr;
} }
static uLong godot_read(void *data, void *fdata, void *buf, uLong size) { static uLong godot_read(void *data, void *fdata, void *buf, uLong size) {
@ -126,11 +126,11 @@ void ZipArchive::close_handle(unzFile p_file) const {
unzFile ZipArchive::get_file_handle(String p_file) const { unzFile ZipArchive::get_file_handle(String p_file) const {
ERR_FAIL_COND_V_MSG(!file_exists(p_file), NULL, "File '" + p_file + " doesn't exist."); ERR_FAIL_COND_V_MSG(!file_exists(p_file), nullptr, "File '" + p_file + " doesn't exist.");
File file = files[p_file]; File file = files[p_file];
FileAccess *f = FileAccess::open(packages[file.package].filename, FileAccess::READ); FileAccess *f = FileAccess::open(packages[file.package].filename, FileAccess::READ);
ERR_FAIL_COND_V_MSG(!f, NULL, "Cannot open file '" + packages[file.package].filename + "'."); ERR_FAIL_COND_V_MSG(!f, nullptr, "Cannot open file '" + packages[file.package].filename + "'.");
zlib_filefunc_def io; zlib_filefunc_def io;
zeromem(&io, sizeof(io)); zeromem(&io, sizeof(io));
@ -149,12 +149,12 @@ unzFile ZipArchive::get_file_handle(String p_file) const {
io.free_mem = godot_free; io.free_mem = godot_free;
unzFile pkg = unzOpen2(packages[file.package].filename.utf8().get_data(), &io); unzFile pkg = unzOpen2(packages[file.package].filename.utf8().get_data(), &io);
ERR_FAIL_COND_V(!pkg, NULL); ERR_FAIL_COND_V(!pkg, nullptr);
int unz_err = unzGoToFilePos(pkg, &file.file_pos); int unz_err = unzGoToFilePos(pkg, &file.file_pos);
if (unz_err != UNZ_OK || unzOpenCurrentFile(pkg) != UNZ_OK) { if (unz_err != UNZ_OK || unzOpenCurrentFile(pkg) != UNZ_OK) {
unzClose(pkg); unzClose(pkg);
ERR_FAIL_V(NULL); ERR_FAIL_V(nullptr);
} }
return pkg; return pkg;
@ -199,7 +199,7 @@ bool ZipArchive::try_open_pack(const String &p_path, bool p_replace_files) {
char filename_inzip[256]; char filename_inzip[256];
unz_file_info64 file_info; unz_file_info64 file_info;
err = unzGetCurrentFileInfo64(zfile, &file_info, filename_inzip, sizeof(filename_inzip), NULL, 0, NULL, 0); err = unzGetCurrentFileInfo64(zfile, &file_info, filename_inzip, sizeof(filename_inzip), nullptr, 0, nullptr, 0);
ERR_CONTINUE(err != UNZ_OK); ERR_CONTINUE(err != UNZ_OK);
File f; File f;
@ -233,7 +233,7 @@ FileAccess *ZipArchive::get_file(const String &p_path, PackedData::PackedFile *p
ZipArchive *ZipArchive::get_singleton() { ZipArchive *ZipArchive::get_singleton() {
if (instance == NULL) { if (instance == nullptr) {
instance = memnew(ZipArchive); instance = memnew(ZipArchive);
} }
@ -268,7 +268,7 @@ Error FileAccessZip::_open(const String &p_path, int p_mode_flags) {
zfile = arch->get_file_handle(p_path); zfile = arch->get_file_handle(p_path);
ERR_FAIL_COND_V(!zfile, FAILED); ERR_FAIL_COND_V(!zfile, FAILED);
int err = unzGetCurrentFileInfo64(zfile, &file_info, NULL, 0, NULL, 0, NULL, 0); int err = unzGetCurrentFileInfo64(zfile, &file_info, nullptr, 0, nullptr, 0, nullptr, 0);
ERR_FAIL_COND_V(err != UNZ_OK, FAILED); ERR_FAIL_COND_V(err != UNZ_OK, FAILED);
return OK; return OK;
@ -282,12 +282,12 @@ void FileAccessZip::close() {
ZipArchive *arch = ZipArchive::get_singleton(); ZipArchive *arch = ZipArchive::get_singleton();
ERR_FAIL_COND(!arch); ERR_FAIL_COND(!arch);
arch->close_handle(zfile); arch->close_handle(zfile);
zfile = NULL; zfile = nullptr;
} }
bool FileAccessZip::is_open() const { bool FileAccessZip::is_open() const {
return zfile != NULL; return zfile != nullptr;
} }
void FileAccessZip::seek(size_t p_position) { void FileAccessZip::seek(size_t p_position) {
@ -370,7 +370,7 @@ bool FileAccessZip::file_exists(const String &p_name) {
} }
FileAccessZip::FileAccessZip(const String &p_path, const PackedData::PackedFile &p_file) : FileAccessZip::FileAccessZip(const String &p_path, const PackedData::PackedFile &p_file) :
zfile(NULL) { zfile(nullptr) {
_open(p_path, FileAccess::READ); _open(p_path, FileAccess::READ);
} }

View File

@ -100,7 +100,7 @@ ImageFormatLoader *ImageLoader::recognize(const String &p_extension) {
return loader[i]; return loader[i];
} }
return NULL; return nullptr;
} }
Vector<ImageFormatLoader *> ImageLoader::loader; Vector<ImageFormatLoader *> ImageLoader::loader;

View File

@ -59,7 +59,7 @@ class ImageLoader {
protected: protected:
public: public:
static Error load_image(String p_file, Ref<Image> p_image, FileAccess *p_custom = NULL, bool p_force_linear = false, float p_scale = 1.0); static Error load_image(String p_file, Ref<Image> p_image, FileAccess *p_custom = nullptr, bool p_force_linear = false, float p_scale = 1.0);
static void get_recognized_extensions(List<String> *p_extensions); static void get_recognized_extensions(List<String> *p_extensions);
static ImageFormatLoader *recognize(const String &p_extension); static ImageFormatLoader *recognize(const String &p_extension);
@ -73,7 +73,7 @@ public:
class ResourceFormatLoaderImage : public ResourceFormatLoader { class ResourceFormatLoaderImage : public ResourceFormatLoader {
public: public:
virtual RES load(const String &p_path, const String &p_original_path = "", Error *r_error = NULL, bool p_use_sub_threads = false, float *r_progress = nullptr); virtual RES load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr);
virtual void get_recognized_extensions(List<String> *p_extensions) const; virtual void get_recognized_extensions(List<String> *p_extensions) const;
virtual bool handles_type(const String &p_type) const; virtual bool handles_type(const String &p_type) const;
virtual String get_resource_type(const String &p_path) const; virtual String get_resource_type(const String &p_path) const;

View File

@ -280,19 +280,19 @@ void IP::_bind_methods() {
BIND_ENUM_CONSTANT(TYPE_ANY); BIND_ENUM_CONSTANT(TYPE_ANY);
} }
IP *IP::singleton = NULL; IP *IP::singleton = nullptr;
IP *IP::get_singleton() { IP *IP::get_singleton() {
return singleton; return singleton;
} }
IP *(*IP::_create)() = NULL; IP *(*IP::_create)() = nullptr;
IP *IP::create() { IP *IP::create() {
ERR_FAIL_COND_V_MSG(singleton, NULL, "IP singleton already exist."); ERR_FAIL_COND_V_MSG(singleton, nullptr, "IP singleton already exist.");
ERR_FAIL_COND_V(!_create, NULL); ERR_FAIL_COND_V(!_create, nullptr);
return _create(); return _create();
} }
@ -307,7 +307,7 @@ IP::IP() {
resolver->thread = Thread::create(_IP_ResolverPrivate::_thread_function, resolver); resolver->thread = Thread::create(_IP_ResolverPrivate::_thread_function, resolver);
#else #else
resolver->thread = NULL; resolver->thread = nullptr;
#endif #endif
} }

View File

@ -108,7 +108,7 @@ Logger::~Logger() {}
void RotatedFileLogger::close_file() { void RotatedFileLogger::close_file() {
if (file) { if (file) {
memdelete(file); memdelete(file);
file = NULL; file = nullptr;
} }
} }
@ -182,7 +182,7 @@ void RotatedFileLogger::rotate_file() {
RotatedFileLogger::RotatedFileLogger(const String &p_base_path, int p_max_files) : RotatedFileLogger::RotatedFileLogger(const String &p_base_path, int p_max_files) :
base_path(p_base_path.simplify_path()), base_path(p_base_path.simplify_path()),
max_files(p_max_files > 0 ? p_max_files : 1), max_files(p_max_files > 0 ? p_max_files : 1),
file(NULL) { file(nullptr) {
rotate_file(); rotate_file();
} }

View File

@ -439,7 +439,7 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
(*r_len) += 8; (*r_len) += 8;
if (val.is_null()) { if (val.is_null()) {
r_variant = (Object *)NULL; r_variant = (Object *)nullptr;
} else { } else {
Ref<EncodedObjectAsID> obj_as_id; Ref<EncodedObjectAsID> obj_as_id;
obj_as_id.instance(); obj_as_id.instance();
@ -457,7 +457,7 @@ Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int
return err; return err;
if (str == String()) { if (str == String()) {
r_variant = (Object *)NULL; r_variant = (Object *)nullptr;
} else { } else {
Object *obj = ClassDB::instance(str); Object *obj = ClassDB::instance(str);
@ -917,7 +917,7 @@ Error encode_variant(const Variant &p_variant, uint8_t *r_buffer, int &r_len, bo
// Test for potential wrong values sent by the debugger when it breaks. // Test for potential wrong values sent by the debugger when it breaks.
Object *obj = p_variant.get_validated_object(); Object *obj = p_variant.get_validated_object();
if (!obj) { if (!obj) {
// Object is invalid, send a NULL instead. // Object is invalid, send a nullptr instead.
if (buf) { if (buf) {
encode_uint32(Variant::NIL, buf); encode_uint32(Variant::NIL, buf);
} }

View File

@ -199,7 +199,7 @@ public:
EncodedObjectAsID(); EncodedObjectAsID();
}; };
Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int *r_len = NULL, bool p_allow_objects = false); Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_len, int *r_len = nullptr, bool p_allow_objects = false);
Error encode_variant(const Variant &p_variant, uint8_t *r_buffer, int &r_len, bool p_full_objects = false); Error encode_variant(const Variant &p_variant, uint8_t *r_buffer, int &r_len, bool p_full_objects = false);
#endif // MARSHALLS_H #endif // MARSHALLS_H

View File

@ -207,7 +207,7 @@ int get_packet_len(uint32_t p_node_target, int p_packet_len) {
void MultiplayerAPI::_process_packet(int p_from, const uint8_t *p_packet, int p_packet_len) { void MultiplayerAPI::_process_packet(int p_from, const uint8_t *p_packet, int p_packet_len) {
ERR_FAIL_COND_MSG(root_node == NULL, "Multiplayer root node was not initialized. If you are using custom multiplayer, remember to set the root node via MultiplayerAPI.set_root_node before using it."); ERR_FAIL_COND_MSG(root_node == nullptr, "Multiplayer root node was not initialized. If you are using custom multiplayer, remember to set the root node via MultiplayerAPI.set_root_node before using it.");
ERR_FAIL_COND_MSG(p_packet_len < 1, "Invalid packet received. Size too small."); ERR_FAIL_COND_MSG(p_packet_len < 1, "Invalid packet received. Size too small.");
#ifdef DEBUG_ENABLED #ifdef DEBUG_ENABLED
@ -285,7 +285,7 @@ void MultiplayerAPI::_process_packet(int p_from, const uint8_t *p_packet, int p_
} }
Node *node = _process_get_node(p_from, p_packet, node_target, p_packet_len); Node *node = _process_get_node(p_from, p_packet, node_target, p_packet_len);
ERR_FAIL_COND_MSG(node == NULL, "Invalid packet received. Requested node was not found."); ERR_FAIL_COND_MSG(node == nullptr, "Invalid packet received. Requested node was not found.");
uint16_t name_id = 0; uint16_t name_id = 0;
switch (name_id_compression) { switch (name_id_compression) {
@ -321,14 +321,14 @@ void MultiplayerAPI::_process_packet(int p_from, const uint8_t *p_packet, int p_
Node *MultiplayerAPI::_process_get_node(int p_from, const uint8_t *p_packet, uint32_t p_node_target, int p_packet_len) { Node *MultiplayerAPI::_process_get_node(int p_from, const uint8_t *p_packet, uint32_t p_node_target, int p_packet_len) {
Node *node = NULL; Node *node = nullptr;
if (p_node_target & 0x80000000) { if (p_node_target & 0x80000000) {
// Use full path (not cached yet). // Use full path (not cached yet).
int ofs = p_node_target & 0x7FFFFFFF; int ofs = p_node_target & 0x7FFFFFFF;
ERR_FAIL_COND_V_MSG(ofs >= p_packet_len, NULL, "Invalid packet received. Size smaller than declared."); ERR_FAIL_COND_V_MSG(ofs >= p_packet_len, nullptr, "Invalid packet received. Size smaller than declared.");
String paths; String paths;
paths.parse_utf8((const char *)&p_packet[ofs], p_packet_len - ofs); paths.parse_utf8((const char *)&p_packet[ofs], p_packet_len - ofs);
@ -344,10 +344,10 @@ Node *MultiplayerAPI::_process_get_node(int p_from, const uint8_t *p_packet, uin
int id = p_node_target; int id = p_node_target;
Map<int, PathGetCache>::Element *E = path_get_cache.find(p_from); Map<int, PathGetCache>::Element *E = path_get_cache.find(p_from);
ERR_FAIL_COND_V_MSG(!E, NULL, "Invalid packet received. Requests invalid peer cache."); ERR_FAIL_COND_V_MSG(!E, nullptr, "Invalid packet received. Requests invalid peer cache.");
Map<int, PathGetCache::NodeInfo>::Element *F = E->get().nodes.find(id); Map<int, PathGetCache::NodeInfo>::Element *F = E->get().nodes.find(id);
ERR_FAIL_COND_V_MSG(!F, NULL, "Invalid packet received. Unabled to find requested cached node."); ERR_FAIL_COND_V_MSG(!F, nullptr, "Invalid packet received. Unabled to find requested cached node.");
PathGetCache::NodeInfo *ni = &F->get(); PathGetCache::NodeInfo *ni = &F->get();
// Do proper caching later. // Do proper caching later.
@ -456,7 +456,7 @@ void MultiplayerAPI::_process_rset(Node *p_node, const uint16_t p_rpc_property_i
#endif #endif
Variant value; Variant value;
Error err = _decode_and_decompress_variant(value, &p_packet[p_offset], p_packet_len - p_offset, NULL); Error err = _decode_and_decompress_variant(value, &p_packet[p_offset], p_packet_len - p_offset, nullptr);
ERR_FAIL_COND_MSG(err != OK, "Invalid packet received. Unable to decode RSET value."); ERR_FAIL_COND_MSG(err != OK, "Invalid packet received. Unable to decode RSET value.");
@ -491,7 +491,7 @@ void MultiplayerAPI::_process_simplify_path(int p_from, const uint8_t *p_packet,
} }
Node *node = root_node->get_node(path); Node *node = root_node->get_node(path);
ERR_FAIL_COND(node == NULL); ERR_FAIL_COND(node == nullptr);
const bool valid_rpc_checksum = node->get_rpc_md5() == methods_md5; const bool valid_rpc_checksum = node->get_rpc_md5() == methods_md5;
if (valid_rpc_checksum == false) { if (valid_rpc_checksum == false) {
ERR_PRINT("The rpc node checksum failed. Make sure to have the same methods on both nodes. Node path: " + path); ERR_PRINT("The rpc node checksum failed. Make sure to have the same methods on both nodes. Node path: " + path);
@ -504,7 +504,7 @@ void MultiplayerAPI::_process_simplify_path(int p_from, const uint8_t *p_packet,
// Encode path to send ack. // Encode path to send ack.
CharString pname = String(path).utf8(); CharString pname = String(path).utf8();
int len = encode_cstring(pname.get_data(), NULL); int len = encode_cstring(pname.get_data(), nullptr);
Vector<uint8_t> packet; Vector<uint8_t> packet;
@ -572,7 +572,7 @@ bool MultiplayerAPI::_send_confirm_path(Node *p_node, NodePath p_path, PathSentC
// Encode function name. // Encode function name.
const CharString path = String(p_path).utf8(); const CharString path = String(p_path).utf8();
const int path_len = encode_cstring(path.get_data(), NULL); const int path_len = encode_cstring(path.get_data(), nullptr);
// Extract MD5 from rpc methods list. // Extract MD5 from rpc methods list.
const String methods_md5 = p_node->get_rpc_md5(); const String methods_md5 = p_node->get_rpc_md5();
@ -862,7 +862,7 @@ void MultiplayerAPI::_send_rpc(Node *p_from, int p_to, bool p_unreliable, bool p
// Set argument. // Set argument.
int len(0); int len(0);
Error err = _encode_and_compress_variant(*p_arg[0], NULL, len); Error err = _encode_and_compress_variant(*p_arg[0], nullptr, len);
ERR_FAIL_COND_MSG(err != OK, "Unable to encode RSET value. THIS IS LIKELY A BUG IN THE ENGINE!"); ERR_FAIL_COND_MSG(err != OK, "Unable to encode RSET value. THIS IS LIKELY A BUG IN THE ENGINE!");
MAKE_ROOM(ofs + len); MAKE_ROOM(ofs + len);
_encode_and_compress_variant(*p_arg[0], &(packet_cache.write[ofs]), len); _encode_and_compress_variant(*p_arg[0], &(packet_cache.write[ofs]), len);
@ -907,7 +907,7 @@ void MultiplayerAPI::_send_rpc(Node *p_from, int p_to, bool p_unreliable, bool p
ofs += 1; ofs += 1;
for (int i = 0; i < p_argcount; i++) { for (int i = 0; i < p_argcount; i++) {
int len(0); int len(0);
Error err = _encode_and_compress_variant(*p_arg[i], NULL, len); Error err = _encode_and_compress_variant(*p_arg[i], nullptr, len);
ERR_FAIL_COND_MSG(err != OK, "Unable to encode RPC argument. THIS IS LIKELY A BUG IN THE ENGINE!"); ERR_FAIL_COND_MSG(err != OK, "Unable to encode RPC argument. THIS IS LIKELY A BUG IN THE ENGINE!");
MAKE_ROOM(ofs + len); MAKE_ROOM(ofs + len);
_encode_and_compress_variant(*p_arg[i], &(packet_cache.write[ofs]), len); _encode_and_compress_variant(*p_arg[i], &(packet_cache.write[ofs]), len);
@ -943,7 +943,7 @@ void MultiplayerAPI::_send_rpc(Node *p_from, int p_to, bool p_unreliable, bool p
// Append path at the end, since we will need it for some packets. // Append path at the end, since we will need it for some packets.
CharString pname = String(from_path).utf8(); CharString pname = String(from_path).utf8();
int path_len = encode_cstring(pname.get_data(), NULL); int path_len = encode_cstring(pname.get_data(), nullptr);
MAKE_ROOM(ofs + path_len); MAKE_ROOM(ofs + path_len);
encode_cstring(pname.get_data(), &(packet_cache.write[ofs])); encode_cstring(pname.get_data(), &(packet_cache.write[ofs]));
@ -1262,7 +1262,7 @@ void MultiplayerAPI::_bind_methods() {
MultiplayerAPI::MultiplayerAPI() : MultiplayerAPI::MultiplayerAPI() :
allow_object_decoding(false) { allow_object_decoding(false) {
rpc_sender_id = 0; rpc_sender_id = 0;
root_node = NULL; root_node = nullptr;
clear(); clear();
} }

View File

@ -30,7 +30,7 @@
#include "net_socket.h" #include "net_socket.h"
NetSocket *(*NetSocket::_create)() = NULL; NetSocket *(*NetSocket::_create)() = nullptr;
NetSocket *NetSocket::create() { NetSocket *NetSocket::create() {
@ -38,5 +38,5 @@ NetSocket *NetSocket::create() {
return _create(); return _create();
ERR_PRINT("Unable to create network socket, platform not supported"); ERR_PRINT("Unable to create network socket, platform not supported");
return NULL; return nullptr;
} }

View File

@ -90,13 +90,13 @@ Error PacketPeer::get_var(Variant &r_variant, bool p_allow_objects) {
if (err) if (err)
return err; return err;
return decode_variant(r_variant, buffer, buffer_size, NULL, p_allow_objects); return decode_variant(r_variant, buffer, buffer_size, nullptr, p_allow_objects);
} }
Error PacketPeer::put_var(const Variant &p_packet, bool p_full_objects) { Error PacketPeer::put_var(const Variant &p_packet, bool p_full_objects) {
int len; int len;
Error err = encode_variant(p_packet, NULL, len, p_full_objects); // compute len first Error err = encode_variant(p_packet, nullptr, len, p_full_objects); // compute len first
if (err) if (err)
return err; return err;

View File

@ -32,7 +32,7 @@
#include "core/os/file_access.h" #include "core/os/file_access.h"
#include "core/project_settings.h" #include "core/project_settings.h"
PacketPeerDTLS *(*PacketPeerDTLS::_create)() = NULL; PacketPeerDTLS *(*PacketPeerDTLS::_create)() = nullptr;
bool PacketPeerDTLS::available = false; bool PacketPeerDTLS::available = false;
PacketPeerDTLS *PacketPeerDTLS::create() { PacketPeerDTLS *PacketPeerDTLS::create() {

View File

@ -63,7 +63,7 @@ void PCKPacker::_bind_methods() {
Error PCKPacker::pck_start(const String &p_file, int p_alignment) { Error PCKPacker::pck_start(const String &p_file, int p_alignment) {
if (file != NULL) { if (file != nullptr) {
memdelete(file); memdelete(file);
} }
@ -182,12 +182,12 @@ Error PCKPacker::flush(bool p_verbose) {
PCKPacker::PCKPacker() { PCKPacker::PCKPacker() {
file = NULL; file = nullptr;
}; };
PCKPacker::~PCKPacker() { PCKPacker::~PCKPacker() {
if (file != NULL) { if (file != nullptr) {
memdelete(file); memdelete(file);
}; };
file = NULL; file = nullptr;
}; };

View File

@ -1009,7 +1009,7 @@ String ResourceLoaderBinary::recognize(FileAccess *p_f) {
ResourceLoaderBinary::ResourceLoaderBinary() : ResourceLoaderBinary::ResourceLoaderBinary() :
translation_remapped(false), translation_remapped(false),
ver_format(0), ver_format(0),
f(NULL), f(nullptr),
importmd_ofs(0), importmd_ofs(0),
error(OK) { error(OK) {
@ -1107,7 +1107,7 @@ Error ResourceFormatLoaderBinary::rename_dependencies(const String &p_path, cons
FileAccess *f = FileAccess::open(p_path, FileAccess::READ); FileAccess *f = FileAccess::open(p_path, FileAccess::READ);
ERR_FAIL_COND_V_MSG(!f, ERR_CANT_OPEN, "Cannot open file '" + p_path + "'."); ERR_FAIL_COND_V_MSG(!f, ERR_CANT_OPEN, "Cannot open file '" + p_path + "'.");
FileAccess *fw = NULL; //=FileAccess::open(p_path+".depren"); FileAccess *fw = nullptr; //=FileAccess::open(p_path+".depren");
String local_path = p_path.get_base_dir(); String local_path = p_path.get_base_dir();
@ -2095,7 +2095,7 @@ void ResourceFormatSaverBinary::get_recognized_extensions(const RES &p_resource,
p_extensions->push_back("res"); p_extensions->push_back("res");
} }
ResourceFormatSaverBinary *ResourceFormatSaverBinary::singleton = NULL; ResourceFormatSaverBinary *ResourceFormatSaverBinary::singleton = nullptr;
ResourceFormatSaverBinary::ResourceFormatSaverBinary() { ResourceFormatSaverBinary::ResourceFormatSaverBinary() {

View File

@ -101,7 +101,7 @@ public:
class ResourceFormatLoaderBinary : public ResourceFormatLoader { class ResourceFormatLoaderBinary : public ResourceFormatLoader {
public: public:
virtual RES load(const String &p_path, const String &p_original_path = "", Error *r_error = NULL, bool p_use_sub_threads = false, float *r_progress = nullptr); virtual RES load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr);
virtual void get_recognized_extensions_for_type(const String &p_type, List<String> *p_extensions) const; virtual void get_recognized_extensions_for_type(const String &p_type, List<String> *p_extensions) const;
virtual void get_recognized_extensions(List<String> *p_extensions) const; virtual void get_recognized_extensions(List<String> *p_extensions) const;
virtual bool handles_type(const String &p_type) const; virtual bool handles_type(const String &p_type) const;

View File

@ -69,7 +69,7 @@ Error ResourceFormatImporter::_get_path_and_type(const String &p_path, PathAndTy
next_tag.fields.clear(); next_tag.fields.clear();
next_tag.name = String(); next_tag.name = String();
err = VariantParser::parse_tag_assign_eof(&stream, lines, error_text, next_tag, assign, value, NULL, true); err = VariantParser::parse_tag_assign_eof(&stream, lines, error_text, next_tag, assign, value, nullptr, true);
if (err == ERR_FILE_EOF) { if (err == ERR_FILE_EOF) {
memdelete(f); memdelete(f);
return OK; return OK;
@ -274,7 +274,7 @@ void ResourceFormatImporter::get_internal_resource_path_list(const String &p_pat
next_tag.fields.clear(); next_tag.fields.clear();
next_tag.name = String(); next_tag.name = String();
err = VariantParser::parse_tag_assign_eof(&stream, lines, error_text, next_tag, assign, value, NULL, true); err = VariantParser::parse_tag_assign_eof(&stream, lines, error_text, next_tag, assign, value, nullptr, true);
if (err == ERR_FILE_EOF) { if (err == ERR_FILE_EOF) {
memdelete(f); memdelete(f);
return; return;
@ -434,7 +434,7 @@ String ResourceFormatImporter::get_import_settings_hash() const {
return hash.md5_text(); return hash.md5_text();
} }
ResourceFormatImporter *ResourceFormatImporter::singleton = NULL; ResourceFormatImporter *ResourceFormatImporter::singleton = nullptr;
ResourceFormatImporter::ResourceFormatImporter() { ResourceFormatImporter::ResourceFormatImporter() {
singleton = this; singleton = this;

View File

@ -45,7 +45,7 @@ class ResourceFormatImporter : public ResourceFormatLoader {
Variant metadata; Variant metadata;
}; };
Error _get_path_and_type(const String &p_path, PathAndType &r_path_and_type, bool *r_valid = NULL) const; Error _get_path_and_type(const String &p_path, PathAndType &r_path_and_type, bool *r_valid = nullptr) const;
static ResourceFormatImporter *singleton; static ResourceFormatImporter *singleton;
@ -58,7 +58,7 @@ class ResourceFormatImporter : public ResourceFormatLoader {
public: public:
static ResourceFormatImporter *get_singleton() { return singleton; } static ResourceFormatImporter *get_singleton() { return singleton; }
virtual RES load(const String &p_path, const String &p_original_path = "", Error *r_error = NULL, bool p_use_sub_threads = false, float *r_progress = nullptr); virtual RES load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr);
virtual void get_recognized_extensions(List<String> *p_extensions) const; virtual void get_recognized_extensions(List<String> *p_extensions) const;
virtual void get_recognized_extensions_for_type(const String &p_type, List<String> *p_extensions) const; virtual void get_recognized_extensions_for_type(const String &p_type, List<String> *p_extensions) const;
virtual bool recognize_path(const String &p_path, const String &p_for_type = String()) const; virtual bool recognize_path(const String &p_path, const String &p_for_type = String()) const;
@ -123,7 +123,7 @@ public:
virtual bool get_option_visibility(const String &p_option, const Map<StringName, Variant> &p_options) const = 0; virtual bool get_option_visibility(const String &p_option, const Map<StringName, Variant> &p_options) const = 0;
virtual String get_option_group_file() const { return String(); } virtual String get_option_group_file() const { return String(); }
virtual Error import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files = NULL, Variant *r_metadata = NULL) = 0; virtual Error import(const String &p_source_file, const String &p_save_path, const Map<StringName, Variant> &p_options, List<String> *r_platform_variants, List<String> *r_gen_files = nullptr, Variant *r_metadata = nullptr) = 0;
virtual Error import_group_file(const String &p_group_file, const Map<String, Map<StringName, Variant>> &p_source_file_options, const Map<String, String> &p_base_paths) { return ERR_UNAVAILABLE; } virtual Error import_group_file(const String &p_group_file, const Map<String, Map<StringName, Variant>> &p_source_file_options, const Map<String, String> &p_base_paths) { return ERR_UNAVAILABLE; }
virtual bool are_import_settings_valid(const String &p_path) const { return true; } virtual bool are_import_settings_valid(const String &p_path) const { return true; }

View File

@ -936,7 +936,7 @@ String ResourceLoader::_path_remap(const String &p_path, bool *r_translation_rem
next_tag.fields.clear(); next_tag.fields.clear();
next_tag.name = String(); next_tag.name = String();
err = VariantParser::parse_tag_assign_eof(&stream, lines, error_text, next_tag, assign, value, NULL, true); err = VariantParser::parse_tag_assign_eof(&stream, lines, error_text, next_tag, assign, value, nullptr, true);
if (err == ERR_FILE_EOF) { if (err == ERR_FILE_EOF) {
break; break;
} else if (err != OK) { } else if (err != OK) {
@ -1048,7 +1048,7 @@ void ResourceLoader::set_load_callback(ResourceLoadedCallback p_callback) {
_loaded_callback = p_callback; _loaded_callback = p_callback;
} }
ResourceLoadedCallback ResourceLoader::_loaded_callback = NULL; ResourceLoadedCallback ResourceLoader::_loaded_callback = nullptr;
Ref<ResourceFormatLoader> ResourceLoader::_find_custom_resource_format_loader(String path) { Ref<ResourceFormatLoader> ResourceLoader::_find_custom_resource_format_loader(String path) {
for (int i = 0; i < loader_count; ++i) { for (int i = 0; i < loader_count; ++i) {
@ -1075,7 +1075,7 @@ bool ResourceLoader::add_custom_resource_format_loader(String script_path) {
Object *obj = ClassDB::instance(ibt); Object *obj = ClassDB::instance(ibt);
ERR_FAIL_COND_V_MSG(obj == NULL, false, "Cannot instance script as custom resource loader, expected 'ResourceFormatLoader' inheritance, got: " + String(ibt) + "."); ERR_FAIL_COND_V_MSG(obj == nullptr, false, "Cannot instance script as custom resource loader, expected 'ResourceFormatLoader' inheritance, got: " + String(ibt) + ".");
ResourceFormatLoader *crl = Object::cast_to<ResourceFormatLoader>(obj); ResourceFormatLoader *crl = Object::cast_to<ResourceFormatLoader>(obj);
crl->set_script(s); crl->set_script(s);
@ -1140,11 +1140,11 @@ void ResourceLoader::finalize() {
memdelete(thread_load_semaphore); memdelete(thread_load_semaphore);
} }
ResourceLoadErrorNotify ResourceLoader::err_notify = NULL; ResourceLoadErrorNotify ResourceLoader::err_notify = nullptr;
void *ResourceLoader::err_notify_ud = NULL; void *ResourceLoader::err_notify_ud = nullptr;
DependencyErrorNotify ResourceLoader::dep_err_notify = NULL; DependencyErrorNotify ResourceLoader::dep_err_notify = nullptr;
void *ResourceLoader::dep_err_notify_ud = NULL; void *ResourceLoader::dep_err_notify_ud = nullptr;
bool ResourceLoader::abort_on_missing_resource = true; bool ResourceLoader::abort_on_missing_resource = true;
bool ResourceLoader::timestamp_on_load = false; bool ResourceLoader::timestamp_on_load = false;
@ -1162,4 +1162,4 @@ SelfList<Resource>::List ResourceLoader::remapped_list;
HashMap<String, Vector<String>> ResourceLoader::translation_remaps; HashMap<String, Vector<String>> ResourceLoader::translation_remaps;
HashMap<String, String> ResourceLoader::path_remaps; HashMap<String, String> ResourceLoader::path_remaps;
ResourceLoaderImport ResourceLoader::import = NULL; ResourceLoaderImport ResourceLoader::import = nullptr;

View File

@ -43,7 +43,7 @@ protected:
static void _bind_methods(); static void _bind_methods();
public: public:
virtual RES load(const String &p_path, const String &p_original_path = "", Error *r_error = NULL, bool p_use_sub_threads = false, float *r_progress = nullptr); virtual RES load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr);
virtual bool exists(const String &p_path) const; virtual bool exists(const String &p_path) const;
virtual void get_recognized_extensions(List<String> *p_extensions) const; virtual void get_recognized_extensions(List<String> *p_extensions) const;
virtual void get_recognized_extensions_for_type(const String &p_type, List<String> *p_extensions) const; virtual void get_recognized_extensions_for_type(const String &p_type, List<String> *p_extensions) const;
@ -93,7 +93,7 @@ private:
static HashMap<String, Vector<String>> translation_remaps; static HashMap<String, Vector<String>> translation_remaps;
static HashMap<String, String> path_remaps; static HashMap<String, String> path_remaps;
static String _path_remap(const String &p_path, bool *r_translation_remapped = NULL); static String _path_remap(const String &p_path, bool *r_translation_remapped = nullptr);
friend class Resource; friend class Resource;
static SelfList<Resource>::List remapped_list; static SelfList<Resource>::List remapped_list;
@ -140,9 +140,9 @@ private:
public: public:
static Error load_threaded_request(const String &p_path, const String &p_type_hint = "", bool p_use_sub_threads = false, const String &p_source_resource = String()); static Error load_threaded_request(const String &p_path, const String &p_type_hint = "", bool p_use_sub_threads = false, const String &p_source_resource = String());
static ThreadLoadStatus load_threaded_get_status(const String &p_path, float *r_progress = nullptr); static ThreadLoadStatus load_threaded_get_status(const String &p_path, float *r_progress = nullptr);
static RES load_threaded_get(const String &p_path, Error *r_error = NULL); static RES load_threaded_get(const String &p_path, Error *r_error = nullptr);
static RES load(const String &p_path, const String &p_type_hint = "", bool p_no_cache = false, Error *r_error = NULL); static RES load(const String &p_path, const String &p_type_hint = "", bool p_no_cache = false, Error *r_error = nullptr);
static bool exists(const String &p_path, const String &p_type_hint = ""); static bool exists(const String &p_path, const String &p_type_hint = "");
static void get_recognized_extensions_for_type(const String &p_type, List<String> *p_extensions); static void get_recognized_extensions_for_type(const String &p_type, List<String> *p_extensions);

View File

@ -38,7 +38,7 @@ Ref<ResourceFormatSaver> ResourceSaver::saver[MAX_SAVERS];
int ResourceSaver::saver_count = 0; int ResourceSaver::saver_count = 0;
bool ResourceSaver::timestamp_on_save = false; bool ResourceSaver::timestamp_on_save = false;
ResourceSavedCallback ResourceSaver::save_callback = 0; ResourceSavedCallback ResourceSaver::save_callback = nullptr;
Error ResourceFormatSaver::save(const String &p_path, const RES &p_resource, uint32_t p_flags) { Error ResourceFormatSaver::save(const String &p_path, const RES &p_resource, uint32_t p_flags) {
@ -218,7 +218,7 @@ bool ResourceSaver::add_custom_resource_format_saver(String script_path) {
Object *obj = ClassDB::instance(ibt); Object *obj = ClassDB::instance(ibt);
ERR_FAIL_COND_V_MSG(obj == NULL, false, "Cannot instance script as custom resource saver, expected 'ResourceFormatSaver' inheritance, got: " + String(ibt) + "."); ERR_FAIL_COND_V_MSG(obj == nullptr, false, "Cannot instance script as custom resource saver, expected 'ResourceFormatSaver' inheritance, got: " + String(ibt) + ".");
ResourceFormatSaver *crl = Object::cast_to<ResourceFormatSaver>(obj); ResourceFormatSaver *crl = Object::cast_to<ResourceFormatSaver>(obj);
crl->set_script(s); crl->set_script(s);

View File

@ -224,7 +224,7 @@ void StreamPeer::put_var(const Variant &p_variant, bool p_full_objects) {
int len = 0; int len = 0;
Vector<uint8_t> buf; Vector<uint8_t> buf;
encode_variant(p_variant, NULL, len, p_full_objects); encode_variant(p_variant, nullptr, len, p_full_objects);
buf.resize(len); buf.resize(len);
put_32(len); put_32(len);
encode_variant(p_variant, buf.ptrw(), len, p_full_objects); encode_variant(p_variant, buf.ptrw(), len, p_full_objects);
@ -368,7 +368,7 @@ Variant StreamPeer::get_var(bool p_allow_objects) {
ERR_FAIL_COND_V(err != OK, Variant()); ERR_FAIL_COND_V(err != OK, Variant());
Variant ret; Variant ret;
err = decode_variant(ret, var.ptr(), len, NULL, p_allow_objects); err = decode_variant(ret, var.ptr(), len, nullptr, p_allow_objects);
ERR_FAIL_COND_V_MSG(err != OK, Variant(), "Error when trying to decode Variant."); ERR_FAIL_COND_V_MSG(err != OK, Variant(), "Error when trying to decode Variant.");
return ret; return ret;

View File

@ -32,13 +32,13 @@
#include "core/engine.h" #include "core/engine.h"
StreamPeerSSL *(*StreamPeerSSL::_create)() = NULL; StreamPeerSSL *(*StreamPeerSSL::_create)() = nullptr;
StreamPeerSSL *StreamPeerSSL::create() { StreamPeerSSL *StreamPeerSSL::create() {
if (_create) if (_create)
return _create(); return _create();
return NULL; return nullptr;
} }
bool StreamPeerSSL::available = false; bool StreamPeerSSL::available = false;

View File

@ -37,8 +37,8 @@
class TranslationLoaderPO : public ResourceFormatLoader { class TranslationLoaderPO : public ResourceFormatLoader {
public: public:
static RES load_translation(FileAccess *f, Error *r_error = NULL); static RES load_translation(FileAccess *f, Error *r_error = nullptr);
virtual RES load(const String &p_path, const String &p_original_path = "", Error *r_error = NULL, bool p_use_sub_threads = false, float *r_progress = nullptr); virtual RES load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr);
virtual void get_recognized_extensions(List<String> *p_extensions) const; virtual void get_recognized_extensions(List<String> *p_extensions) const;
virtual bool handles_type(const String &p_type) const; virtual bool handles_type(const String &p_type) const;
virtual String get_resource_type(const String &p_path) const; virtual String get_resource_type(const String &p_path) const;

View File

@ -165,7 +165,7 @@ bool XMLParser::_parse_cdata() {
return true; return true;
char *cDataBegin = P; char *cDataBegin = P;
char *cDataEnd = 0; char *cDataEnd = nullptr;
// find end of CDATA // find end of CDATA
while (*P && !cDataEnd) { while (*P && !cDataEnd) {
@ -529,9 +529,9 @@ void XMLParser::close() {
if (data) if (data)
memdelete_arr(data); memdelete_arr(data);
data = NULL; data = nullptr;
length = 0; length = 0;
P = NULL; P = nullptr;
node_empty = false; node_empty = false;
node_type = NODE_NONE; node_type = NODE_NONE;
node_offset = 0; node_offset = 0;
@ -544,7 +544,7 @@ int XMLParser::get_current_line() const {
XMLParser::XMLParser() { XMLParser::XMLParser() {
data = NULL; data = nullptr;
close(); close();
special_characters.push_back("&amp;"); special_characters.push_back("&amp;");
special_characters.push_back("<lt;"); special_characters.push_back("<lt;");

View File

@ -47,7 +47,7 @@ void *zipio_open(void *data, const char *p_fname, int mode) {
} }
if (!f) if (!f)
return NULL; return nullptr;
return data; return data;
} }
@ -98,7 +98,7 @@ int zipio_close(voidpf opaque, voidpf stream) {
if (f) { if (f) {
f->close(); f->close();
memdelete(f); memdelete(f);
f = NULL; f = nullptr;
} }
return 0; return 0;
} }

View File

@ -142,7 +142,7 @@ public:
_FORCE_INLINE_ Element() { _FORCE_INLINE_ Element() {
next_ptr = 0; next_ptr = 0;
prev_ptr = 0; prev_ptr = 0;
data = NULL; data = nullptr;
}; };
}; };
@ -220,8 +220,8 @@ public:
if (!_data) { if (!_data) {
_data = memnew_allocator(_Data, A); _data = memnew_allocator(_Data, A);
_data->first = NULL; _data->first = nullptr;
_data->last = NULL; _data->last = nullptr;
_data->size_cache = 0; _data->size_cache = 0;
} }
@ -261,8 +261,8 @@ public:
if (!_data) { if (!_data) {
_data = memnew_allocator(_Data, A); _data = memnew_allocator(_Data, A);
_data->first = NULL; _data->first = nullptr;
_data->last = NULL; _data->last = nullptr;
_data->size_cache = 0; _data->size_cache = 0;
} }
@ -357,7 +357,7 @@ public:
it = it->next(); it = it->next();
}; };
return NULL; return nullptr;
}; };
/** /**
@ -370,7 +370,7 @@ public:
if (_data->size_cache == 0) { if (_data->size_cache == 0) {
memdelete_allocator<_Data, A>(_data); memdelete_allocator<_Data, A>(_data);
_data = NULL; _data = nullptr;
} }
return ret; return ret;
@ -498,7 +498,7 @@ public:
_data->last->next_ptr = p_I; _data->last->next_ptr = p_I;
p_I->prev_ptr = _data->last; p_I->prev_ptr = _data->last;
p_I->next_ptr = NULL; p_I->next_ptr = nullptr;
_data->last = p_I; _data->last = p_I;
} }
@ -535,7 +535,7 @@ public:
_data->first->prev_ptr = p_I; _data->first->prev_ptr = p_I;
p_I->next_ptr = _data->first; p_I->next_ptr = _data->first;
p_I->prev_ptr = NULL; p_I->prev_ptr = nullptr;
_data->first = p_I; _data->first = p_I;
} }
@ -595,7 +595,7 @@ public:
if (from != current) { if (from != current) {
current->prev_ptr = NULL; current->prev_ptr = nullptr;
current->next_ptr = from; current->next_ptr = from;
Element *find = from; Element *find = from;
@ -618,8 +618,8 @@ public:
to = current; to = current;
} else { } else {
current->prev_ptr = NULL; current->prev_ptr = nullptr;
current->next_ptr = NULL; current->next_ptr = nullptr;
} }
current = next; current = next;
@ -661,12 +661,12 @@ public:
sort.sort(aux_buffer, s); sort.sort(aux_buffer, s);
_data->first = aux_buffer[0]; _data->first = aux_buffer[0];
aux_buffer[0]->prev_ptr = NULL; aux_buffer[0]->prev_ptr = nullptr;
aux_buffer[0]->next_ptr = aux_buffer[1]; aux_buffer[0]->next_ptr = aux_buffer[1];
_data->last = aux_buffer[s - 1]; _data->last = aux_buffer[s - 1];
aux_buffer[s - 1]->prev_ptr = aux_buffer[s - 2]; aux_buffer[s - 1]->prev_ptr = aux_buffer[s - 2];
aux_buffer[s - 1]->next_ptr = NULL; aux_buffer[s - 1]->next_ptr = nullptr;
for (int i = 1; i < s - 1; i++) { for (int i = 1; i < s - 1; i++) {
@ -686,7 +686,7 @@ public:
*/ */
List(const List &p_list) { List(const List &p_list) {
_data = NULL; _data = nullptr;
const Element *it = p_list.front(); const Element *it = p_list.front();
while (it) { while (it) {
@ -696,7 +696,7 @@ public:
} }
List() { List() {
_data = NULL; _data = nullptr;
}; };
~List() { ~List() {
clear(); clear();

View File

@ -95,11 +95,11 @@ public:
}; };
Element() { Element() {
color = RED; color = RED;
right = NULL; right = nullptr;
left = NULL; left = nullptr;
parent = NULL; parent = nullptr;
_next = NULL; _next = nullptr;
_prev = NULL; _prev = nullptr;
}; };
}; };
@ -118,7 +118,7 @@ private:
#else #else
_nil = (Element *)&_GlobalNilClass::_nil; _nil = (Element *)&_GlobalNilClass::_nil;
#endif #endif
_root = NULL; _root = nullptr;
size_cache = 0; size_cache = 0;
} }
@ -133,7 +133,7 @@ private:
if (_root) { if (_root) {
memdelete_allocator<Element, A>(_root); memdelete_allocator<Element, A>(_root);
_root = NULL; _root = nullptr;
} }
} }
@ -205,7 +205,7 @@ private:
} }
if (node->parent == _data._root) if (node->parent == _data._root)
return NULL; // No successor, as p_node = last node return nullptr; // No successor, as p_node = last node
return node->parent; return node->parent;
} }
} }
@ -227,7 +227,7 @@ private:
} }
if (node == _data._root) if (node == _data._root)
return NULL; // No predecessor, as p_node = first node return nullptr; // No predecessor, as p_node = first node
return node->parent; return node->parent;
} }
} }
@ -246,13 +246,13 @@ private:
return node; // found return node; // found
} }
return NULL; return nullptr;
} }
Element *_find_closest(const K &p_key) const { Element *_find_closest(const K &p_key) const {
Element *node = _data._root->left; Element *node = _data._root->left;
Element *prev = NULL; Element *prev = nullptr;
C less; C less;
while (node != _data._nil) { while (node != _data._nil) {
@ -266,8 +266,8 @@ private:
return node; // found return node; // found
} }
if (prev == NULL) if (prev == nullptr)
return NULL; // tree empty return nullptr; // tree empty
if (less(p_key, prev->_key)) if (less(p_key, prev->_key))
prev = prev->_prev; prev = prev->_prev;
@ -519,7 +519,7 @@ public:
const Element *find(const K &p_key) const { const Element *find(const K &p_key) const {
if (!_data._root) if (!_data._root)
return NULL; return nullptr;
const Element *res = _find(p_key); const Element *res = _find(p_key);
return res; return res;
@ -528,7 +528,7 @@ public:
Element *find(const K &p_key) { Element *find(const K &p_key) {
if (!_data._root) if (!_data._root)
return NULL; return nullptr;
Element *res = _find(p_key); Element *res = _find(p_key);
return res; return res;
@ -537,7 +537,7 @@ public:
const Element *find_closest(const K &p_key) const { const Element *find_closest(const K &p_key) const {
if (!_data._root) if (!_data._root)
return NULL; return nullptr;
const Element *res = _find_closest(p_key); const Element *res = _find_closest(p_key);
return res; return res;
@ -546,7 +546,7 @@ public:
Element *find_closest(const K &p_key) { Element *find_closest(const K &p_key) {
if (!_data._root) if (!_data._root)
return NULL; return nullptr;
Element *res = _find_closest(p_key); Element *res = _find_closest(p_key);
return res; return res;
@ -554,7 +554,7 @@ public:
bool has(const K &p_key) const { bool has(const K &p_key) const {
return find(p_key) != NULL; return find(p_key) != nullptr;
} }
Element *insert(const K &p_key, const V &p_value) { Element *insert(const K &p_key, const V &p_value) {
@ -612,11 +612,11 @@ public:
Element *front() const { Element *front() const {
if (!_data._root) if (!_data._root)
return NULL; return nullptr;
Element *e = _data._root->left; Element *e = _data._root->left;
if (e == _data._nil) if (e == _data._nil)
return NULL; return nullptr;
while (e->left != _data._nil) while (e->left != _data._nil)
e = e->left; e = e->left;
@ -627,11 +627,11 @@ public:
Element *back() const { Element *back() const {
if (!_data._root) if (!_data._root)
return NULL; return nullptr;
Element *e = _data._root->left; Element *e = _data._root->left;
if (e == _data._nil) if (e == _data._nil)
return NULL; return nullptr;
while (e->right != _data._nil) while (e->right != _data._nil)
e = e->right; e = e->right;

View File

@ -66,7 +66,7 @@ void AStar::add_point(int p_id, const Vector3 &p_pos, real_t p_weight_scale) {
pt->id = p_id; pt->id = p_id;
pt->pos = p_pos; pt->pos = p_pos;
pt->weight_scale = p_weight_scale; pt->weight_scale = p_weight_scale;
pt->prev_point = NULL; pt->prev_point = nullptr;
pt->open_pass = 0; pt->open_pass = 0;
pt->closed_pass = 0; pt->closed_pass = 0;
pt->enabled = true; pt->enabled = true;
@ -167,7 +167,7 @@ void AStar::connect_points(int p_id, int p_with_id, bool bidirectional) {
if (bidirectional) s.direction = Segment::BIDIRECTIONAL; if (bidirectional) s.direction = Segment::BIDIRECTIONAL;
Set<Segment>::Element *element = segments.find(s); Set<Segment>::Element *element = segments.find(s);
if (element != NULL) { if (element != nullptr) {
s.direction |= element->get().direction; s.direction |= element->get().direction;
if (s.direction == Segment::BIDIRECTIONAL) { if (s.direction == Segment::BIDIRECTIONAL) {
// Both are neighbours of each other now // Both are neighbours of each other now
@ -194,7 +194,7 @@ void AStar::disconnect_points(int p_id, int p_with_id, bool bidirectional) {
int remove_direction = bidirectional ? (int)Segment::BIDIRECTIONAL : s.direction; int remove_direction = bidirectional ? (int)Segment::BIDIRECTIONAL : s.direction;
Set<Segment>::Element *element = segments.find(s); Set<Segment>::Element *element = segments.find(s);
if (element != NULL) { if (element != nullptr) {
// s is the new segment // s is the new segment
// Erase the directions to be removed // Erase the directions to be removed
s.direction = (element->get().direction & ~remove_direction); s.direction = (element->get().direction & ~remove_direction);
@ -255,7 +255,7 @@ bool AStar::are_points_connected(int p_id, int p_with_id, bool bidirectional) co
Segment s(p_id, p_with_id); Segment s(p_id, p_with_id);
const Set<Segment>::Element *element = segments.find(s); const Set<Segment>::Element *element = segments.find(s);
return element != NULL && return element != nullptr &&
(bidirectional || (element->get().direction & s.direction) == s.direction); (bidirectional || (element->get().direction & s.direction) == s.direction);
} }

View File

@ -72,8 +72,8 @@ public:
AABB merge(const AABB &p_with) const; AABB merge(const AABB &p_with) const;
void merge_with(const AABB &p_aabb); ///merge with another AABB void merge_with(const AABB &p_aabb); ///merge with another AABB
AABB intersection(const AABB &p_aabb) const; ///get box where two intersect, empty if no intersection occurs AABB intersection(const AABB &p_aabb) const; ///get box where two intersect, empty if no intersection occurs
bool intersects_segment(const Vector3 &p_from, const Vector3 &p_to, Vector3 *r_clip = NULL, Vector3 *r_normal = NULL) const; bool intersects_segment(const Vector3 &p_from, const Vector3 &p_to, Vector3 *r_clip = nullptr, Vector3 *r_normal = nullptr) const;
bool intersects_ray(const Vector3 &p_from, const Vector3 &p_dir, Vector3 *r_clip = NULL, Vector3 *r_normal = NULL) const; bool intersects_ray(const Vector3 &p_from, const Vector3 &p_dir, Vector3 *r_clip = nullptr, Vector3 *r_normal = nullptr) const;
_FORCE_INLINE_ bool smits_intersect_ray(const Vector3 &p_from, const Vector3 &p_dir, real_t t0, real_t t1) const; _FORCE_INLINE_ bool smits_intersect_ray(const Vector3 &p_from, const Vector3 &p_dir, real_t t0, real_t t1) const;
_FORCE_INLINE_ bool intersects_convex_shape(const Plane *p_planes, int p_plane_count) const; _FORCE_INLINE_ bool intersects_convex_shape(const Plane *p_planes, int p_plane_count) const;

View File

@ -760,7 +760,7 @@ void Expression::exec_func(BuiltinFunc p_func, const Variant **p_inputs, Variant
PackedByteArray barr; PackedByteArray barr;
bool full_objects = *p_inputs[1]; bool full_objects = *p_inputs[1];
int len; int len;
Error err = encode_variant(*p_inputs[0], NULL, len, full_objects); Error err = encode_variant(*p_inputs[0], nullptr, len, full_objects);
if (err) { if (err) {
r_error.error = Callable::CallError::CALL_ERROR_INVALID_ARGUMENT; r_error.error = Callable::CallError::CALL_ERROR_INVALID_ARGUMENT;
r_error.argument = 0; r_error.argument = 0;
@ -791,7 +791,7 @@ void Expression::exec_func(BuiltinFunc p_func, const Variant **p_inputs, Variant
Variant ret; Variant ret;
{ {
const uint8_t *r = varr.ptr(); const uint8_t *r = varr.ptr();
Error err = decode_variant(ret, r, varr.size(), NULL, allow_objects); Error err = decode_variant(ret, r, varr.size(), nullptr, allow_objects);
if (err != OK) { if (err != OK) {
r_error_str = RTR("Not enough bytes for decoding bytes, or invalid format."); r_error_str = RTR("Not enough bytes for decoding bytes, or invalid format.");
r_error.error = Callable::CallError::CALL_ERROR_INVALID_ARGUMENT; r_error.error = Callable::CallError::CALL_ERROR_INVALID_ARGUMENT;
@ -1298,12 +1298,12 @@ Expression::ENode *Expression::_parse_expression() {
while (true) { while (true) {
//keep appending stuff to expression //keep appending stuff to expression
ENode *expr = NULL; ENode *expr = nullptr;
Token tk; Token tk;
_get_token(tk); _get_token(tk);
if (error_set) if (error_set)
return NULL; return nullptr;
switch (tk.type) { switch (tk.type) {
case TK_CURLY_BRACKET_OPEN: { case TK_CURLY_BRACKET_OPEN: {
@ -1321,18 +1321,18 @@ Expression::ENode *Expression::_parse_expression() {
//parse an expression //parse an expression
ENode *subexpr = _parse_expression(); ENode *subexpr = _parse_expression();
if (!subexpr) if (!subexpr)
return NULL; return nullptr;
dn->dict.push_back(subexpr); dn->dict.push_back(subexpr);
_get_token(tk); _get_token(tk);
if (tk.type != TK_COLON) { if (tk.type != TK_COLON) {
_set_error("Expected ':'"); _set_error("Expected ':'");
return NULL; return nullptr;
} }
subexpr = _parse_expression(); subexpr = _parse_expression();
if (!subexpr) if (!subexpr)
return NULL; return nullptr;
dn->dict.push_back(subexpr); dn->dict.push_back(subexpr);
@ -1365,7 +1365,7 @@ Expression::ENode *Expression::_parse_expression() {
//parse an expression //parse an expression
ENode *subexpr = _parse_expression(); ENode *subexpr = _parse_expression();
if (!subexpr) if (!subexpr)
return NULL; return nullptr;
an->array.push_back(subexpr); an->array.push_back(subexpr);
cofs = str_ofs; cofs = str_ofs;
@ -1385,11 +1385,11 @@ Expression::ENode *Expression::_parse_expression() {
//a suexpression //a suexpression
ENode *e = _parse_expression(); ENode *e = _parse_expression();
if (error_set) if (error_set)
return NULL; return nullptr;
_get_token(tk); _get_token(tk);
if (tk.type != TK_PARENTHESIS_CLOSE) { if (tk.type != TK_PARENTHESIS_CLOSE) {
_set_error("Expected ')'"); _set_error("Expected ')'");
return NULL; return nullptr;
} }
expr = e; expr = e;
@ -1419,7 +1419,7 @@ Expression::ENode *Expression::_parse_expression() {
//parse an expression //parse an expression
ENode *subexpr = _parse_expression(); ENode *subexpr = _parse_expression();
if (!subexpr) if (!subexpr)
return NULL; return nullptr;
func_call->arguments.push_back(subexpr); func_call->arguments.push_back(subexpr);
@ -1484,7 +1484,7 @@ Expression::ENode *Expression::_parse_expression() {
_get_token(tk); _get_token(tk);
if (tk.type != TK_PARENTHESIS_OPEN) { if (tk.type != TK_PARENTHESIS_OPEN) {
_set_error("Expected '('"); _set_error("Expected '('");
return NULL; return nullptr;
} }
ConstructorNode *constructor = alloc_node<ConstructorNode>(); ConstructorNode *constructor = alloc_node<ConstructorNode>();
@ -1501,7 +1501,7 @@ Expression::ENode *Expression::_parse_expression() {
//parse an expression //parse an expression
ENode *subexpr = _parse_expression(); ENode *subexpr = _parse_expression();
if (!subexpr) if (!subexpr)
return NULL; return nullptr;
constructor->arguments.push_back(subexpr); constructor->arguments.push_back(subexpr);
@ -1525,7 +1525,7 @@ Expression::ENode *Expression::_parse_expression() {
_get_token(tk); _get_token(tk);
if (tk.type != TK_PARENTHESIS_OPEN) { if (tk.type != TK_PARENTHESIS_OPEN) {
_set_error("Expected '('"); _set_error("Expected '('");
return NULL; return nullptr;
} }
BuiltinFuncNode *bifunc = alloc_node<BuiltinFuncNode>(); BuiltinFuncNode *bifunc = alloc_node<BuiltinFuncNode>();
@ -1542,7 +1542,7 @@ Expression::ENode *Expression::_parse_expression() {
//parse an expression //parse an expression
ENode *subexpr = _parse_expression(); ENode *subexpr = _parse_expression();
if (!subexpr) if (!subexpr)
return NULL; return nullptr;
bifunc->arguments.push_back(subexpr); bifunc->arguments.push_back(subexpr);
@ -1584,7 +1584,7 @@ Expression::ENode *Expression::_parse_expression() {
default: { default: {
_set_error("Expected expression."); _set_error("Expected expression.");
return NULL; return nullptr;
} break; } break;
} }
@ -1594,7 +1594,7 @@ Expression::ENode *Expression::_parse_expression() {
int cofs2 = str_ofs; int cofs2 = str_ofs;
_get_token(tk); _get_token(tk);
if (error_set) if (error_set)
return NULL; return nullptr;
bool done = false; bool done = false;
@ -1607,14 +1607,14 @@ Expression::ENode *Expression::_parse_expression() {
ENode *what = _parse_expression(); ENode *what = _parse_expression();
if (!what) if (!what)
return NULL; return nullptr;
index->index = what; index->index = what;
_get_token(tk); _get_token(tk);
if (tk.type != TK_BRACKET_CLOSE) { if (tk.type != TK_BRACKET_CLOSE) {
_set_error("Expected ']' at end of index."); _set_error("Expected ']' at end of index.");
return NULL; return nullptr;
} }
expr = index; expr = index;
@ -1624,7 +1624,7 @@ Expression::ENode *Expression::_parse_expression() {
_get_token(tk); _get_token(tk);
if (tk.type != TK_IDENTIFIER) { if (tk.type != TK_IDENTIFIER) {
_set_error("Expected identifier after '.'"); _set_error("Expected identifier after '.'");
return NULL; return nullptr;
} }
StringName identifier = tk.value; StringName identifier = tk.value;
@ -1648,7 +1648,7 @@ Expression::ENode *Expression::_parse_expression() {
//parse an expression //parse an expression
ENode *subexpr = _parse_expression(); ENode *subexpr = _parse_expression();
if (!subexpr) if (!subexpr)
return NULL; return nullptr;
func_call->arguments.push_back(subexpr); func_call->arguments.push_back(subexpr);
@ -1698,7 +1698,7 @@ Expression::ENode *Expression::_parse_expression() {
int cofs = str_ofs; int cofs = str_ofs;
_get_token(tk); _get_token(tk);
if (error_set) if (error_set)
return NULL; return nullptr;
Variant::Operator op = Variant::OP_MAX; Variant::Operator op = Variant::OP_MAX;
@ -1805,7 +1805,7 @@ Expression::ENode *Expression::_parse_expression() {
default: { default: {
_set_error("Parser bug, invalid operator in expression: " + itos(expression[i].op)); _set_error("Parser bug, invalid operator in expression: " + itos(expression[i].op));
return NULL; return nullptr;
} }
} }
@ -1822,7 +1822,7 @@ Expression::ENode *Expression::_parse_expression() {
if (next_op == -1) { if (next_op == -1) {
_set_error("Yet another parser bug...."); _set_error("Yet another parser bug....");
ERR_FAIL_V(NULL); ERR_FAIL_V(nullptr);
} }
// OK! create operator.. // OK! create operator..
@ -1835,7 +1835,7 @@ Expression::ENode *Expression::_parse_expression() {
if (expr_pos == expression.size()) { if (expr_pos == expression.size()) {
//can happen.. //can happen..
_set_error("Unexpected end of expression..."); _set_error("Unexpected end of expression...");
return NULL; return nullptr;
} }
} }
@ -1845,7 +1845,7 @@ Expression::ENode *Expression::_parse_expression() {
OperatorNode *op = alloc_node<OperatorNode>(); OperatorNode *op = alloc_node<OperatorNode>();
op->op = expression[i].op; op->op = expression[i].op;
op->nodes[0] = expression[i + 1].node; op->nodes[0] = expression[i + 1].node;
op->nodes[1] = NULL; op->nodes[1] = nullptr;
expression.write[i].is_op = false; expression.write[i].is_op = false;
expression.write[i].node = op; expression.write[i].node = op;
expression.remove(i + 1); expression.remove(i + 1);
@ -1855,7 +1855,7 @@ Expression::ENode *Expression::_parse_expression() {
if (next_op < 1 || next_op >= (expression.size() - 1)) { if (next_op < 1 || next_op >= (expression.size() - 1)) {
_set_error("Parser bug..."); _set_error("Parser bug...");
ERR_FAIL_V(NULL); ERR_FAIL_V(nullptr);
} }
OperatorNode *op = alloc_node<OperatorNode>(); OperatorNode *op = alloc_node<OperatorNode>();
@ -1864,7 +1864,7 @@ Expression::ENode *Expression::_parse_expression() {
if (expression[next_op - 1].is_op) { if (expression[next_op - 1].is_op) {
_set_error("Parser bug..."); _set_error("Parser bug...");
ERR_FAIL_V(NULL); ERR_FAIL_V(nullptr);
} }
if (expression[next_op + 1].is_op) { if (expression[next_op + 1].is_op) {
@ -1874,7 +1874,7 @@ Expression::ENode *Expression::_parse_expression() {
// due to how precedence works, unaries will always disappear first // due to how precedence works, unaries will always disappear first
_set_error("Unexpected two consecutive operators."); _set_error("Unexpected two consecutive operators.");
return NULL; return nullptr;
} }
op->nodes[0] = expression[next_op - 1].node; //expression goes as left op->nodes[0] = expression[next_op - 1].node; //expression goes as left
@ -1897,8 +1897,8 @@ bool Expression::_compile_expression() {
if (nodes) { if (nodes) {
memdelete(nodes); memdelete(nodes);
nodes = NULL; nodes = nullptr;
root = NULL; root = nullptr;
} }
error_str = String(); error_str = String();
@ -1908,11 +1908,11 @@ bool Expression::_compile_expression() {
root = _parse_expression(); root = _parse_expression();
if (error_set) { if (error_set) {
root = NULL; root = nullptr;
if (nodes) { if (nodes) {
memdelete(nodes); memdelete(nodes);
} }
nodes = NULL; nodes = nullptr;
return true; return true;
} }
@ -2151,8 +2151,8 @@ Error Expression::parse(const String &p_expression, const Vector<String> &p_inpu
if (nodes) { if (nodes) {
memdelete(nodes); memdelete(nodes);
nodes = NULL; nodes = nullptr;
root = NULL; root = nullptr;
} }
error_str = String(); error_str = String();
@ -2164,11 +2164,11 @@ Error Expression::parse(const String &p_expression, const Vector<String> &p_inpu
root = _parse_expression(); root = _parse_expression();
if (error_set) { if (error_set) {
root = NULL; root = nullptr;
if (nodes) { if (nodes) {
memdelete(nodes); memdelete(nodes);
} }
nodes = NULL; nodes = nullptr;
return ERR_INVALID_PARAMETER; return ERR_INVALID_PARAMETER;
} }
@ -2212,8 +2212,8 @@ Expression::Expression() :
output_type(Variant::NIL), output_type(Variant::NIL),
sequenced(false), sequenced(false),
error_set(true), error_set(true),
root(NULL), root(nullptr),
nodes(NULL), nodes(nullptr),
execution_error(false) { execution_error(false) {
str_ofs = 0; str_ofs = 0;
expression_dirty = false; expression_dirty = false;

View File

@ -219,7 +219,7 @@ private:
Type type; Type type;
ENode() { next = NULL; } ENode() { next = nullptr; }
virtual ~ENode() { virtual ~ENode() {
if (next) { if (next) {
memdelete(next); memdelete(next);
@ -352,7 +352,7 @@ protected:
public: public:
Error parse(const String &p_expression, const Vector<String> &p_input_names = Vector<String>()); Error parse(const String &p_expression, const Vector<String> &p_input_names = Vector<String>());
Variant execute(Array p_inputs, Object *p_base = NULL, bool p_show_error = true); Variant execute(Array p_inputs, Object *p_base = nullptr, bool p_show_error = true);
bool has_execute_failed() const; bool has_execute_failed() const;
String get_error_text() const; String get_error_text() const;

View File

@ -891,7 +891,7 @@ public:
for (int i = 0; i < c; i++) { for (int i = 0; i < c; i++) {
const Vector2 &v1 = p[i]; const Vector2 &v1 = p[i];
const Vector2 &v2 = p[(i + 1) % c]; const Vector2 &v2 = p[(i + 1) % c];
if (segment_intersects_segment_2d(v1, v2, p_point, further_away, NULL)) { if (segment_intersects_segment_2d(v1, v2, p_point, further_away, nullptr)) {
intersections++; intersections++;
} }
} }
@ -902,7 +902,7 @@ public:
static Vector<Vector<Face3>> separate_objects(Vector<Face3> p_array); static Vector<Vector<Face3>> separate_objects(Vector<Face3> p_array);
// Create a "wrap" that encloses the given geometry. // Create a "wrap" that encloses the given geometry.
static Vector<Face3> wrap_geometry(Vector<Face3> p_array, real_t *p_error = NULL); static Vector<Face3> wrap_geometry(Vector<Face3> p_array, real_t *p_error = nullptr);
struct MeshData { struct MeshData {

View File

@ -119,9 +119,9 @@ private:
children_count = 0; children_count = 0;
parent_index = -1; parent_index = -1;
last_pass = 0; last_pass = 0;
parent = NULL; parent = nullptr;
for (int i = 0; i < 8; i++) for (int i = 0; i < 8; i++)
children[i] = NULL; children[i] = nullptr;
} }
~Octant() { ~Octant() {
@ -171,7 +171,7 @@ private:
octree = 0; octree = 0;
pairable_mask = 0; pairable_mask = 0;
pairable_type = 0; pairable_type = 0;
common_parent = NULL; common_parent = nullptr;
} }
}; };
@ -308,19 +308,19 @@ private:
while (root && root->children_count < 2 && !root->elements.size() && !(use_pairs && root->pairable_elements.size())) { while (root && root->children_count < 2 && !root->elements.size() && !(use_pairs && root->pairable_elements.size())) {
Octant *new_root = NULL; Octant *new_root = nullptr;
if (root->children_count == 1) { if (root->children_count == 1) {
for (int i = 0; i < 8; i++) { for (int i = 0; i < 8; i++) {
if (root->children[i]) { if (root->children[i]) {
new_root = root->children[i]; new_root = root->children[i];
root->children[i] = NULL; root->children[i] = nullptr;
break; break;
} }
} }
ERR_FAIL_COND(!new_root); ERR_FAIL_COND(!new_root);
new_root->parent = NULL; new_root->parent = nullptr;
new_root->parent_index = -1; new_root->parent_index = -1;
} }
@ -332,7 +332,7 @@ private:
void _insert_element(Element *p_element, Octant *p_octant); void _insert_element(Element *p_element, Octant *p_octant);
void _ensure_valid_root(const AABB &p_aabb); void _ensure_valid_root(const AABB &p_aabb);
bool _remove_element_from_octant(Element *p_element, Octant *p_octant, Octant *p_limit = NULL); bool _remove_element_from_octant(Element *p_element, Octant *p_octant, Octant *p_limit = nullptr);
void _remove_element(Element *p_element); void _remove_element(Element *p_element);
void _pair_element(Element *p_element, Octant *p_octant); void _pair_element(Element *p_element, Octant *p_octant);
void _unpair_element(Element *p_element, Octant *p_octant); void _unpair_element(Element *p_element, Octant *p_octant);
@ -377,10 +377,10 @@ public:
int get_subindex(OctreeElementID p_id) const; int get_subindex(OctreeElementID p_id) const;
int cull_convex(const Vector<Plane> &p_convex, T **p_result_array, int p_result_max, uint32_t p_mask = 0xFFFFFFFF); int cull_convex(const Vector<Plane> &p_convex, T **p_result_array, int p_result_max, uint32_t p_mask = 0xFFFFFFFF);
int cull_aabb(const AABB &p_aabb, T **p_result_array, int p_result_max, int *p_subindex_array = NULL, uint32_t p_mask = 0xFFFFFFFF); int cull_aabb(const AABB &p_aabb, T **p_result_array, int p_result_max, int *p_subindex_array = nullptr, uint32_t p_mask = 0xFFFFFFFF);
int cull_segment(const Vector3 &p_from, const Vector3 &p_to, T **p_result_array, int p_result_max, int *p_subindex_array = NULL, uint32_t p_mask = 0xFFFFFFFF); int cull_segment(const Vector3 &p_from, const Vector3 &p_to, T **p_result_array, int p_result_max, int *p_subindex_array = nullptr, uint32_t p_mask = 0xFFFFFFFF);
int cull_point(const Vector3 &p_point, T **p_result_array, int p_result_max, int *p_subindex_array = NULL, uint32_t p_mask = 0xFFFFFFFF); int cull_point(const Vector3 &p_point, T **p_result_array, int p_result_max, int *p_subindex_array = nullptr, uint32_t p_mask = 0xFFFFFFFF);
void set_pair_callback(PairCallback p_callback, void *p_userdata); void set_pair_callback(PairCallback p_callback, void *p_userdata);
void set_unpair_callback(UnpairCallback p_callback, void *p_userdata); void set_unpair_callback(UnpairCallback p_callback, void *p_userdata);
@ -396,7 +396,7 @@ public:
template <class T, bool use_pairs, class AL> template <class T, bool use_pairs, class AL>
T *Octree<T, use_pairs, AL>::get(OctreeElementID p_id) const { T *Octree<T, use_pairs, AL>::get(OctreeElementID p_id) const {
const typename ElementMap::Element *E = element_map.find(p_id); const typename ElementMap::Element *E = element_map.find(p_id);
ERR_FAIL_COND_V(!E, NULL); ERR_FAIL_COND_V(!E, nullptr);
return E->get().userdata; return E->get().userdata;
} }
@ -442,7 +442,7 @@ void Octree<T, use_pairs, AL>::_insert_element(Element *p_element, Octant *p_oct
p_element->octant_owners.push_back(owner); p_element->octant_owners.push_back(owner);
if (p_element->common_parent == NULL) { if (p_element->common_parent == nullptr) {
p_element->common_parent = p_octant; p_element->common_parent = p_octant;
p_element->container_aabb = p_octant->aabb; p_element->container_aabb = p_octant->aabb;
} else { } else {
@ -463,7 +463,7 @@ void Octree<T, use_pairs, AL>::_insert_element(Element *p_element, Octant *p_oct
} else { } else {
/* not big enough, send it to subitems */ /* not big enough, send it to subitems */
int splits = 0; int splits = 0;
bool candidate = p_element->common_parent == NULL; bool candidate = p_element->common_parent == nullptr;
for (int i = 0; i < 8; i++) { for (int i = 0; i < 8; i++) {
@ -552,7 +552,7 @@ void Octree<T, use_pairs, AL>::_ensure_valid_root(const AABB &p_aabb) {
root = memnew_allocator(Octant, AL); root = memnew_allocator(Octant, AL);
root->parent = NULL; root->parent = nullptr;
root->parent_index = -1; root->parent_index = -1;
root->aabb = base; root->aabb = base;
@ -634,11 +634,11 @@ bool Octree<T, use_pairs, AL>::_remove_element_from_octant(Element *p_element, O
if (p_octant == root) { // won't have a parent, just erase if (p_octant == root) { // won't have a parent, just erase
root = NULL; root = nullptr;
} else { } else {
ERR_FAIL_INDEX_V(p_octant->parent_index, 8, octant_removed); ERR_FAIL_INDEX_V(p_octant->parent_index, 8, octant_removed);
parent->children[p_octant->parent_index] = NULL; parent->children[p_octant->parent_index] = nullptr;
parent->children_count--; parent->children_count--;
} }
@ -852,12 +852,12 @@ void Octree<T, use_pairs, AL>::move(OctreeElementID p_id, const AABB &p_aabb) {
if (old_has_surf) { if (old_has_surf) {
_remove_element(&e); // removing _remove_element(&e); // removing
e.common_parent = NULL; e.common_parent = nullptr;
e.aabb = AABB(); e.aabb = AABB();
_optimize(); _optimize();
} else { } else {
_ensure_valid_root(p_aabb); // inserting _ensure_valid_root(p_aabb); // inserting
e.common_parent = NULL; e.common_parent = nullptr;
e.aabb = p_aabb; e.aabb = p_aabb;
_insert_element(&e, root); _insert_element(&e, root);
if (use_pairs) if (use_pairs)
@ -884,7 +884,7 @@ void Octree<T, use_pairs, AL>::move(OctreeElementID p_id, const AABB &p_aabb) {
combined.merge_with(p_aabb); combined.merge_with(p_aabb);
_ensure_valid_root(combined); _ensure_valid_root(combined);
ERR_FAIL_COND(e.octant_owners.front() == NULL); ERR_FAIL_COND(e.octant_owners.front() == nullptr);
/* FIND COMMON PARENT */ /* FIND COMMON PARENT */
@ -902,7 +902,7 @@ void Octree<T, use_pairs, AL>::move(OctreeElementID p_id, const AABB &p_aabb) {
//prepare for reinsert //prepare for reinsert
e.octant_owners.clear(); e.octant_owners.clear();
e.common_parent = NULL; e.common_parent = nullptr;
e.aabb = p_aabb; e.aabb = p_aabb;
_insert_element(&e, common_parent); // reinsert from this point _insert_element(&e, common_parent); // reinsert from this point
@ -971,7 +971,7 @@ void Octree<T, use_pairs, AL>::set_pairable(OctreeElementID p_id, bool p_pairabl
e.pairable = p_pairable; e.pairable = p_pairable;
e.pairable_type = p_pairable_type; e.pairable_type = p_pairable_type;
e.pairable_mask = p_pairable_mask; e.pairable_mask = p_pairable_mask;
e.common_parent = NULL; e.common_parent = nullptr;
if (!e.aabb.has_no_surface()) { if (!e.aabb.has_no_surface()) {
_ensure_valid_root(e.aabb); _ensure_valid_root(e.aabb);
@ -1364,15 +1364,15 @@ Octree<T, use_pairs, AL>::Octree(real_t p_unit_size) {
last_element_id = 1; last_element_id = 1;
pass = 1; pass = 1;
unit_size = p_unit_size; unit_size = p_unit_size;
root = NULL; root = nullptr;
octant_count = 0; octant_count = 0;
pair_count = 0; pair_count = 0;
pair_callback = NULL; pair_callback = nullptr;
unpair_callback = NULL; unpair_callback = nullptr;
pair_callback_userdata = NULL; pair_callback_userdata = nullptr;
unpair_callback_userdata = NULL; unpair_callback_userdata = nullptr;
} }
#endif // OCTREE_H #endif // OCTREE_H

View File

@ -399,7 +399,7 @@ Error QuickHull::build(const Vector<Vector3> &p_points, Geometry::MeshData &r_me
ERR_CONTINUE(!F); ERR_CONTINUE(!F);
List<Geometry::MeshData::Face>::Element *O = F->get().left == E ? F->get().right : F->get().left; List<Geometry::MeshData::Face>::Element *O = F->get().left == E ? F->get().right : F->get().left;
ERR_CONTINUE(O == E); ERR_CONTINUE(O == E);
ERR_CONTINUE(O == NULL); ERR_CONTINUE(O == nullptr);
if (O->get().plane.is_equal_approx(f.plane)) { if (O->get().plane.is_equal_approx(f.plane)) {
//merge and delete edge and contiguous face, while repointing edges (uuugh!) //merge and delete edge and contiguous face, while repointing edges (uuugh!)
@ -440,10 +440,10 @@ Error QuickHull::build(const Vector<Vector3> &p_points, Geometry::MeshData &r_me
// remove all edge connections to this face // remove all edge connections to this face
for (Map<Edge, RetFaceConnect>::Element *G = ret_edges.front(); G; G = G->next()) { for (Map<Edge, RetFaceConnect>::Element *G = ret_edges.front(); G; G = G->next()) {
if (G->get().left == O) if (G->get().left == O)
G->get().left = NULL; G->get().left = nullptr;
if (G->get().right == O) if (G->get().right == O)
G->get().right = NULL; G->get().right = nullptr;
} }
ret_edges.erase(F); //remove the edge ret_edges.erase(F); //remove the edge

View File

@ -77,15 +77,15 @@ private:
struct FaceConnect { struct FaceConnect {
List<Face>::Element *left, *right; List<Face>::Element *left, *right;
FaceConnect() { FaceConnect() {
left = NULL; left = nullptr;
right = NULL; right = nullptr;
} }
}; };
struct RetFaceConnect { struct RetFaceConnect {
List<Geometry::MeshData::Face>::Element *left, *right; List<Geometry::MeshData::Face>::Element *left, *right;
RetFaceConnect() { RetFaceConnect() {
left = NULL; left = nullptr;
right = NULL; right = nullptr;
} }
}; };

View File

@ -105,7 +105,7 @@ struct Rect2 {
bool intersects_transformed(const Transform2D &p_xform, const Rect2 &p_rect) const; bool intersects_transformed(const Transform2D &p_xform, const Rect2 &p_rect) const;
bool intersects_segment(const Point2 &p_from, const Point2 &p_to, Point2 *r_pos = NULL, Point2 *r_normal = NULL) const; bool intersects_segment(const Point2 &p_from, const Point2 &p_to, Point2 *r_pos = nullptr, Point2 *r_normal = nullptr) const;
inline bool encloses(const Rect2 &p_rect) const { inline bool encloses(const Rect2 &p_rect) const {

View File

@ -34,7 +34,7 @@
#include "core/project_settings.h" #include "core/project_settings.h"
#include "core/script_language.h" #include "core/script_language.h"
MessageQueue *MessageQueue::singleton = NULL; MessageQueue *MessageQueue::singleton = nullptr;
MessageQueue *MessageQueue::get_singleton() { MessageQueue *MessageQueue::get_singleton() {
@ -174,7 +174,7 @@ void MessageQueue::statistics() {
Object *target = message->callable.get_object(); Object *target = message->callable.get_object();
if (target != NULL) { if (target != nullptr) {
switch (message->type & FLAG_MASK) { switch (message->type & FLAG_MASK) {
@ -240,7 +240,7 @@ int MessageQueue::get_max_buffer_usage() const {
void MessageQueue::_call_function(const Callable &p_callable, const Variant *p_args, int p_argcount, bool p_show_error) { void MessageQueue::_call_function(const Callable &p_callable, const Variant *p_args, int p_argcount, bool p_show_error) {
const Variant **argptrs = NULL; const Variant **argptrs = nullptr;
if (p_argcount) { if (p_argcount) {
argptrs = (const Variant **)alloca(sizeof(Variant *) * p_argcount); argptrs = (const Variant **)alloca(sizeof(Variant *) * p_argcount);
for (int i = 0; i < p_argcount; i++) { for (int i = 0; i < p_argcount; i++) {
@ -291,7 +291,7 @@ void MessageQueue::flush() {
Object *target = message->callable.get_object(); Object *target = message->callable.get_object();
if (target != NULL) { if (target != nullptr) {
switch (message->type & FLAG_MASK) { switch (message->type & FLAG_MASK) {
case TYPE_CALL: { case TYPE_CALL: {
@ -343,7 +343,7 @@ bool MessageQueue::is_flushing() const {
MessageQueue::MessageQueue() { MessageQueue::MessageQueue() {
ERR_FAIL_COND_MSG(singleton != NULL, "A MessageQueue singleton already exists."); ERR_FAIL_COND_MSG(singleton != nullptr, "A MessageQueue singleton already exists.");
singleton = this; singleton = this;
flushing = false; flushing = false;
@ -375,6 +375,6 @@ MessageQueue::~MessageQueue() {
read_pos += sizeof(Variant) * message->args; read_pos += sizeof(Variant) * message->args;
} }
singleton = NULL; singleton = nullptr;
memdelete_arr(buffer); memdelete_arr(buffer);
} }

View File

@ -108,7 +108,7 @@ MethodBind::MethodBind() {
argument_count = 0; argument_count = 0;
default_argument_count = 0; default_argument_count = 0;
#ifdef DEBUG_METHODS_ENABLED #ifdef DEBUG_METHODS_ENABLED
argument_types = NULL; argument_types = nullptr;
#endif #endif
_const = false; _const = false;
_returns = false; _returns = false;

View File

@ -382,7 +382,7 @@ public:
virtual bool is_vararg() const { return true; } virtual bool is_vararg() const { return true; }
MethodBindVarArg() { MethodBindVarArg() {
call_method = NULL; call_method = nullptr;
_set_returns(true); _set_returns(true);
} }
}; };

View File

@ -99,7 +99,7 @@ void NodePath::unref() {
memdelete(data); memdelete(data);
} }
data = NULL; data = nullptr;
} }
bool NodePath::operator==(const NodePath &p_path) const { bool NodePath::operator==(const NodePath &p_path) const {
@ -189,7 +189,7 @@ NodePath::operator String() const {
NodePath::NodePath(const NodePath &p_path) { NodePath::NodePath(const NodePath &p_path) {
data = NULL; data = nullptr;
if (p_path.data && p_path.data->refcount.ref()) { if (p_path.data && p_path.data->refcount.ref()) {
@ -287,7 +287,7 @@ NodePath NodePath::get_as_property_path() const {
NodePath::NodePath(const Vector<StringName> &p_path, bool p_absolute) { NodePath::NodePath(const Vector<StringName> &p_path, bool p_absolute) {
data = NULL; data = nullptr;
if (p_path.size() == 0) if (p_path.size() == 0)
return; return;
@ -302,7 +302,7 @@ NodePath::NodePath(const Vector<StringName> &p_path, bool p_absolute) {
NodePath::NodePath(const Vector<StringName> &p_path, const Vector<StringName> &p_subpath, bool p_absolute) { NodePath::NodePath(const Vector<StringName> &p_path, const Vector<StringName> &p_subpath, bool p_absolute) {
data = NULL; data = nullptr;
if (p_path.size() == 0 && p_subpath.size() == 0) if (p_path.size() == 0 && p_subpath.size() == 0)
return; return;
@ -349,7 +349,7 @@ NodePath NodePath::simplified() const {
NodePath::NodePath(const String &p_path) { NodePath::NodePath(const String &p_path) {
data = NULL; data = nullptr;
if (p_path.length() == 0) if (p_path.length() == 0)
return; return;
@ -442,7 +442,7 @@ bool NodePath::is_empty() const {
} }
NodePath::NodePath() { NodePath::NodePath() {
data = NULL; data = nullptr;
} }
NodePath::~NodePath() { NodePath::~NodePath() {

View File

@ -224,7 +224,7 @@ public:
/** /**
* returns true if the value was found, false otherwise. * returns true if the value was found, false otherwise.
* *
* if r_data is not NULL then the value will be written to the object * if r_data is not nullptr then the value will be written to the object
* it points to. * it points to.
*/ */
bool lookup(const TKey &p_key, TValue &r_data) const { bool lookup(const TKey &p_key, TValue &r_data) const {
@ -243,7 +243,7 @@ public:
/** /**
* returns true if the value was found, false otherwise. * returns true if the value was found, false otherwise.
* *
* if r_data is not NULL then the value will be written to the object * if r_data is not nullptr then the value will be written to the object
* it points to. * it points to.
*/ */
TValue *lookup_ptr(const TKey &p_key) const { TValue *lookup_ptr(const TKey &p_key) const {
@ -253,7 +253,7 @@ public:
if (exists) { if (exists) {
return &values[pos]; return &values[pos];
} }
return NULL; return nullptr;
} }
_FORCE_INLINE_ bool has(const TKey &p_key) const { _FORCE_INLINE_ bool has(const TKey &p_key) const {
@ -325,8 +325,8 @@ public:
Iterator it; Iterator it;
it.valid = false; it.valid = false;
it.pos = p_iter.pos; it.pos = p_iter.pos;
it.key = NULL; it.key = nullptr;
it.value = NULL; it.value = nullptr;
for (uint32_t i = it.pos; i < capacity; i++) { for (uint32_t i = it.pos; i < capacity; i++) {
it.pos = i + 1; it.pos = i + 1;

View File

@ -368,7 +368,7 @@ bool Object::_predelete() {
_predelete_ok = 1; _predelete_ok = 1;
notification(NOTIFICATION_PREDELETE, true); notification(NOTIFICATION_PREDELETE, true);
if (_predelete_ok) { if (_predelete_ok) {
_class_ptr = NULL; //must restore so destructors can access class ptr correctly _class_ptr = nullptr; //must restore so destructors can access class ptr correctly
} }
return _predelete_ok; return _predelete_ok;
} }
@ -781,7 +781,7 @@ bool Object::has_method(const StringName &p_method) const {
MethodBind *method = ClassDB::get_method(get_class_name(), p_method); MethodBind *method = ClassDB::get_method(get_class_name(), p_method);
return method != NULL; return method != nullptr;
} }
Variant Object::getvar(const Variant &p_key, bool *r_valid) const { Variant Object::getvar(const Variant &p_key, bool *r_valid) const {
@ -797,7 +797,7 @@ void Object::setvar(const Variant &p_key, const Variant &p_value, bool *r_valid)
} }
Variant Object::callv(const StringName &p_method, const Array &p_args) { Variant Object::callv(const StringName &p_method, const Array &p_args) {
const Variant **argptrs = NULL; const Variant **argptrs = nullptr;
if (p_args.size() > 0) { if (p_args.size() > 0) {
argptrs = (const Variant **)alloca(sizeof(Variant *) * p_args.size()); argptrs = (const Variant **)alloca(sizeof(Variant *) * p_args.size());
@ -955,7 +955,7 @@ void Object::set_script_and_instance(const Variant &p_script, ScriptInstance *p_
//this function is not meant to be used in any of these ways //this function is not meant to be used in any of these ways
ERR_FAIL_COND(p_script.is_null()); ERR_FAIL_COND(p_script.is_null());
ERR_FAIL_COND(!p_instance); ERR_FAIL_COND(!p_instance);
ERR_FAIL_COND(script_instance != NULL || !script.is_null()); ERR_FAIL_COND(script_instance != nullptr || !script.is_null());
script = p_script; script = p_script;
script_instance = p_instance; script_instance = p_instance;
@ -968,7 +968,7 @@ void Object::set_script(const Variant &p_script) {
if (script_instance) { if (script_instance) {
memdelete(script_instance); memdelete(script_instance);
script_instance = NULL; script_instance = nullptr;
} }
script = p_script; script = p_script;
@ -1119,7 +1119,7 @@ Variant Object::_emit_signal(const Variant **p_args, int p_argcount, Callable::C
StringName signal = *p_args[0]; StringName signal = *p_args[0];
const Variant **args = NULL; const Variant **args = nullptr;
int argc = p_argcount - 1; int argc = p_argcount - 1;
if (argc) { if (argc) {
@ -1354,7 +1354,7 @@ void Object::get_signal_list(List<MethodInfo> *p_signals) const {
ClassDB::get_signal_list(get_class_name(), p_signals); ClassDB::get_signal_list(get_class_name(), p_signals);
//find maybe usersignals? //find maybe usersignals?
const StringName *S = NULL; const StringName *S = nullptr;
while ((S = signal_map.next(S))) { while ((S = signal_map.next(S))) {
@ -1367,7 +1367,7 @@ void Object::get_signal_list(List<MethodInfo> *p_signals) const {
void Object::get_all_signal_connections(List<Connection> *p_connections) const { void Object::get_all_signal_connections(List<Connection> *p_connections) const {
const StringName *S = NULL; const StringName *S = nullptr;
while ((S = signal_map.next(S))) { while ((S = signal_map.next(S))) {
@ -1393,7 +1393,7 @@ void Object::get_signal_connection_list(const StringName &p_signal, List<Connect
int Object::get_persistent_signal_connection_count() const { int Object::get_persistent_signal_connection_count() const {
int count = 0; int count = 0;
const StringName *S = NULL; const StringName *S = nullptr;
while ((S = signal_map.next(S))) { while ((S = signal_map.next(S))) {
@ -1505,7 +1505,7 @@ bool Object::is_connected(const StringName &p_signal, const Callable &p_callable
return s->slot_map.has(target); return s->slot_map.has(target);
//const Map<Signal::Target,Signal::Slot>::Element *E = s->slot_map.find(target); //const Map<Signal::Target,Signal::Slot>::Element *E = s->slot_map.find(target);
//return (E!=NULL); //return (E!=nullptr );
} }
void Object::disconnect_compat(const StringName &p_signal, Object *p_to_object, const StringName &p_to_method) { void Object::disconnect_compat(const StringName &p_signal, Object *p_to_object, const StringName &p_to_method) {
@ -1840,7 +1840,7 @@ Variant::Type Object::get_static_property_type_indexed(const Vector<StringName>
} }
Callable::CallError ce; Callable::CallError ce;
Variant check = Variant::construct(t, NULL, 0, ce); Variant check = Variant::construct(t, nullptr, 0, ce);
for (int i = 1; i < p_path.size(); i++) { for (int i = 1; i < p_path.size(); i++) {
if (check.get_type() == Variant::OBJECT || check.get_type() == Variant::DICTIONARY || check.get_type() == Variant::ARRAY) { if (check.get_type() == Variant::OBJECT || check.get_type() == Variant::DICTIONARY || check.get_type() == Variant::ARRAY) {
@ -1889,7 +1889,7 @@ uint32_t Object::get_edited_version() const {
void *Object::get_script_instance_binding(int p_script_language_index) { void *Object::get_script_instance_binding(int p_script_language_index) {
#ifdef DEBUG_ENABLED #ifdef DEBUG_ENABLED
ERR_FAIL_INDEX_V(p_script_language_index, MAX_SCRIPT_INSTANCE_BINDINGS, NULL); ERR_FAIL_INDEX_V(p_script_language_index, MAX_SCRIPT_INSTANCE_BINDINGS, nullptr);
#endif #endif
//it's up to the script language to make this thread safe, if the function is called twice due to threads being out of syncro //it's up to the script language to make this thread safe, if the function is called twice due to threads being out of syncro
@ -1910,19 +1910,19 @@ void *Object::get_script_instance_binding(int p_script_language_index) {
bool Object::has_script_instance_binding(int p_script_language_index) { bool Object::has_script_instance_binding(int p_script_language_index) {
return _script_instance_bindings[p_script_language_index] != NULL; return _script_instance_bindings[p_script_language_index] != nullptr;
} }
void Object::set_script_instance_binding(int p_script_language_index, void *p_data) { void Object::set_script_instance_binding(int p_script_language_index, void *p_data) {
#ifdef DEBUG_ENABLED #ifdef DEBUG_ENABLED
CRASH_COND(_script_instance_bindings[p_script_language_index] != NULL); CRASH_COND(_script_instance_bindings[p_script_language_index] != nullptr);
#endif #endif
_script_instance_bindings[p_script_language_index] = p_data; _script_instance_bindings[p_script_language_index] = p_data;
} }
void Object::_construct_object(bool p_reference) { void Object::_construct_object(bool p_reference) {
type_is_reference = p_reference; type_is_reference = p_reference;
_class_ptr = NULL; _class_ptr = nullptr;
_block_signals = false; _block_signals = false;
_predelete_ok = 0; _predelete_ok = 0;
_instance_id = ObjectDB::add_instance(this); _instance_id = ObjectDB::add_instance(this);
@ -1931,7 +1931,7 @@ void Object::_construct_object(bool p_reference) {
_emitting = false; _emitting = false;
instance_binding_count = 0; instance_binding_count = 0;
memset(_script_instance_bindings, 0, sizeof(void *) * MAX_SCRIPT_INSTANCE_BINDINGS); memset(_script_instance_bindings, 0, sizeof(void *) * MAX_SCRIPT_INSTANCE_BINDINGS);
script_instance = NULL; script_instance = nullptr;
#ifdef TOOLS_ENABLED #ifdef TOOLS_ENABLED
_edited = false; _edited = false;
@ -1955,16 +1955,16 @@ Object::~Object() {
if (script_instance) if (script_instance)
memdelete(script_instance); memdelete(script_instance);
script_instance = NULL; script_instance = nullptr;
const StringName *S = NULL; const StringName *S = nullptr;
if (_emitting) { if (_emitting) {
//@todo this may need to actually reach the debugger prioritarily somehow because it may crash before //@todo this may need to actually reach the debugger prioritarily somehow because it may crash before
ERR_PRINT("Object " + to_string() + " was freed or unreferenced while a signal is being emitted from it. Try connecting to the signal using 'CONNECT_DEFERRED' flag, or use queue_free() to free the object (if this object is a Node) to avoid this error and potential crashes."); ERR_PRINT("Object " + to_string() + " was freed or unreferenced while a signal is being emitted from it. Try connecting to the signal using 'CONNECT_DEFERRED' flag, or use queue_free() to free the object (if this object is a Node) to avoid this error and potential crashes.");
} }
while ((S = signal_map.next(NULL))) { while ((S = signal_map.next(nullptr))) {
SignalData *s = &signal_map[*S]; SignalData *s = &signal_map[*S];

View File

@ -242,7 +242,7 @@ struct MethodInfo {
//if ( is_type(T::get_class_static()) ) //if ( is_type(T::get_class_static()) )
//return static_cast<T*>(this); //return static_cast<T*>(this);
////else ////else
//return NULL; //return nullptr;
/* /*
the following is an incomprehensible blob of hacks and workarounds to compensate for many of the fallencies in C++. As a plus, this macro pretty much alone defines the object model. the following is an incomprehensible blob of hacks and workarounds to compensate for many of the fallencies in C++. As a plus, this macro pretty much alone defines the object model.
@ -591,11 +591,11 @@ public:
return dynamic_cast<T *>(p_object); return dynamic_cast<T *>(p_object);
#else #else
if (!p_object) if (!p_object)
return NULL; return nullptr;
if (p_object->is_class_ptr(T::get_class_ptr_static())) if (p_object->is_class_ptr(T::get_class_ptr_static()))
return static_cast<T *>(p_object); return static_cast<T *>(p_object);
else else
return NULL; return nullptr;
#endif #endif
} }
@ -605,11 +605,11 @@ public:
return dynamic_cast<const T *>(p_object); return dynamic_cast<const T *>(p_object);
#else #else
if (!p_object) if (!p_object)
return NULL; return nullptr;
if (p_object->is_class_ptr(T::get_class_ptr_static())) if (p_object->is_class_ptr(T::get_class_ptr_static()))
return static_cast<const T *>(p_object); return static_cast<const T *>(p_object);
else else
return NULL; return nullptr;
#endif #endif
} }
@ -644,10 +644,10 @@ public:
//void set(const String& p_name, const Variant& p_value); //void set(const String& p_name, const Variant& p_value);
//Variant get(const String& p_name) const; //Variant get(const String& p_name) const;
void set(const StringName &p_name, const Variant &p_value, bool *r_valid = NULL); void set(const StringName &p_name, const Variant &p_value, bool *r_valid = nullptr);
Variant get(const StringName &p_name, bool *r_valid = NULL) const; Variant get(const StringName &p_name, bool *r_valid = nullptr) const;
void set_indexed(const Vector<StringName> &p_names, const Variant &p_value, bool *r_valid = NULL); void set_indexed(const Vector<StringName> &p_names, const Variant &p_value, bool *r_valid = nullptr);
Variant get_indexed(const Vector<StringName> &p_names, bool *r_valid = NULL) const; Variant get_indexed(const Vector<StringName> &p_names, bool *r_valid = nullptr) const;
void get_property_list(List<PropertyInfo> *p_list, bool p_reversed = false) const; void get_property_list(List<PropertyInfo> *p_list, bool p_reversed = false) const;
@ -664,8 +664,8 @@ public:
String to_string(); String to_string();
//used mainly by script, get and set all INCLUDING string //used mainly by script, get and set all INCLUDING string
virtual Variant getvar(const Variant &p_key, bool *r_valid = NULL) const; virtual Variant getvar(const Variant &p_key, bool *r_valid = nullptr) const;
virtual void setvar(const Variant &p_key, const Variant &p_value, bool *r_valid = NULL); virtual void setvar(const Variant &p_key, const Variant &p_value, bool *r_valid = nullptr);
/* SCRIPT */ /* SCRIPT */
@ -715,8 +715,8 @@ public:
void set_block_signals(bool p_block); void set_block_signals(bool p_block);
bool is_blocking_signals() const; bool is_blocking_signals() const;
Variant::Type get_static_property_type(const StringName &p_property, bool *r_valid = NULL) const; Variant::Type get_static_property_type(const StringName &p_property, bool *r_valid = nullptr) const;
Variant::Type get_static_property_type_indexed(const Vector<StringName> &p_path, bool *r_valid = NULL) const; Variant::Type get_static_property_type_indexed(const Vector<StringName> &p_path, bool *r_valid = nullptr) const;
virtual void get_translatable_strings(List<String> *p_strings) const; virtual void get_translatable_strings(List<String> *p_strings) const;

View File

@ -70,9 +70,9 @@ public:
public: public:
_FORCE_INLINE_ Element() : _FORCE_INLINE_ Element() :
list_element(NULL), list_element(nullptr),
prev_element(NULL), prev_element(nullptr),
next_element(NULL) { next_element(nullptr) {
} }
Element next() const { Element next() const {
@ -104,7 +104,7 @@ public:
} }
operator bool() const { operator bool() const {
return (list_element != NULL); return (list_element != nullptr);
} }
const K &key() const { const K &key() const {
@ -144,7 +144,7 @@ public:
public: public:
_FORCE_INLINE_ ConstElement() : _FORCE_INLINE_ ConstElement() :
list_element(NULL) { list_element(nullptr) {
} }
ConstElement(const ConstElement &other) : ConstElement(const ConstElement &other) :
@ -157,11 +157,11 @@ public:
} }
ConstElement next() const { ConstElement next() const {
return ConstElement(list_element ? list_element->next() : NULL); return ConstElement(list_element ? list_element->next() : nullptr);
} }
ConstElement prev() const { ConstElement prev() const {
return ConstElement(list_element ? list_element->prev() : NULL); return ConstElement(list_element ? list_element->prev() : nullptr);
} }
_FORCE_INLINE_ bool operator==(const ConstElement &p_other) const { _FORCE_INLINE_ bool operator==(const ConstElement &p_other) const {
@ -172,7 +172,7 @@ public:
} }
operator bool() const { operator bool() const {
return (list_element != NULL); return (list_element != nullptr);
} }
const K &key() const { const K &key() const {
@ -196,7 +196,7 @@ public:
if (list_element) { if (list_element) {
return ConstElement(*list_element); return ConstElement(*list_element);
} }
return ConstElement(NULL); return ConstElement(nullptr);
} }
Element find(const K &p_key) { Element find(const K &p_key) {
@ -204,7 +204,7 @@ public:
if (list_element) { if (list_element) {
return Element(*list_element); return Element(*list_element);
} }
return Element(NULL); return Element(nullptr);
} }
Element insert(const K &p_key, const V &p_value) { Element insert(const K &p_key, const V &p_value) {
@ -213,7 +213,7 @@ public:
(*list_element)->get().second = p_value; (*list_element)->get().second = p_value;
return Element(*list_element); return Element(*list_element);
} }
typename InternalList::Element *new_element = list.push_back(Pair<const K *, V>(NULL, p_value)); typename InternalList::Element *new_element = list.push_back(Pair<const K *, V>(nullptr, p_value));
typename InternalMap::Element *e = map.set(p_key, new_element); typename InternalMap::Element *e = map.set(p_key, new_element);
new_element->get().first = &e->key(); new_element->get().first = &e->key();
@ -223,7 +223,7 @@ public:
void erase(Element &p_element) { void erase(Element &p_element) {
map.erase(p_element.key()); map.erase(p_element.key());
list.erase(p_element.list_element); list.erase(p_element.list_element);
p_element.list_element = NULL; p_element.list_element = nullptr;
} }
bool erase(const K &p_key) { bool erase(const K &p_key) {

View File

@ -226,11 +226,11 @@ String DirAccess::fix_path(String p_path) const {
return p_path; return p_path;
} }
DirAccess::CreateFunc DirAccess::create_func[ACCESS_MAX] = { 0, 0, 0 }; DirAccess::CreateFunc DirAccess::create_func[ACCESS_MAX] = { nullptr, nullptr, nullptr };
DirAccess *DirAccess::create_for_path(const String &p_path) { DirAccess *DirAccess::create_for_path(const String &p_path) {
DirAccess *da = NULL; DirAccess *da = nullptr;
if (p_path.begins_with("res://")) { if (p_path.begins_with("res://")) {
da = create(ACCESS_RESOURCES); da = create(ACCESS_RESOURCES);
@ -249,13 +249,13 @@ DirAccess *DirAccess::open(const String &p_path, Error *r_error) {
DirAccess *da = create_for_path(p_path); DirAccess *da = create_for_path(p_path);
ERR_FAIL_COND_V_MSG(!da, NULL, "Cannot create DirAccess for path '" + p_path + "'."); ERR_FAIL_COND_V_MSG(!da, nullptr, "Cannot create DirAccess for path '" + p_path + "'.");
Error err = da->change_dir(p_path); Error err = da->change_dir(p_path);
if (r_error) if (r_error)
*r_error = err; *r_error = err;
if (err != OK) { if (err != OK) {
memdelete(da); memdelete(da);
return NULL; return nullptr;
} }
return da; return da;
@ -263,7 +263,7 @@ DirAccess *DirAccess::open(const String &p_path, Error *r_error) {
DirAccess *DirAccess::create(AccessType p_access) { DirAccess *DirAccess::create(AccessType p_access) {
DirAccess *da = create_func[p_access] ? create_func[p_access]() : NULL; DirAccess *da = create_func[p_access] ? create_func[p_access]() : nullptr;
if (da) { if (da) {
da->_access_type = p_access; da->_access_type = p_access;
} }

View File

@ -128,7 +128,7 @@ public:
create_func[p_access] = _create_builtin<T>; create_func[p_access] = _create_builtin<T>;
} }
static DirAccess *open(const String &p_path, Error *r_error = NULL); static DirAccess *open(const String &p_path, Error *r_error = nullptr);
DirAccess(); DirAccess();
virtual ~DirAccess(); virtual ~DirAccess();
@ -141,7 +141,7 @@ struct DirAccessRef {
return f; return f;
} }
operator bool() const { return f != NULL; } operator bool() const { return f != nullptr; }
DirAccess *f; DirAccess *f;
DirAccessRef(DirAccess *fa) { f = fa; } DirAccessRef(DirAccess *fa) { f = fa; }
~DirAccessRef() { ~DirAccessRef() {

View File

@ -36,15 +36,15 @@
#include "core/os/os.h" #include "core/os/os.h"
#include "core/project_settings.h" #include "core/project_settings.h"
FileAccess::CreateFunc FileAccess::create_func[ACCESS_MAX] = { 0, 0 }; FileAccess::CreateFunc FileAccess::create_func[ACCESS_MAX] = { nullptr, nullptr };
FileAccess::FileCloseFailNotify FileAccess::close_fail_notify = NULL; FileAccess::FileCloseFailNotify FileAccess::close_fail_notify = nullptr;
bool FileAccess::backup_save = false; bool FileAccess::backup_save = false;
FileAccess *FileAccess::create(AccessType p_access) { FileAccess *FileAccess::create(AccessType p_access) {
ERR_FAIL_INDEX_V(p_access, ACCESS_MAX, 0); ERR_FAIL_INDEX_V(p_access, ACCESS_MAX, nullptr);
FileAccess *ret = create_func[p_access](); FileAccess *ret = create_func[p_access]();
ret->_set_access_type(p_access); ret->_set_access_type(p_access);
@ -70,7 +70,7 @@ void FileAccess::_set_access_type(AccessType p_access) {
FileAccess *FileAccess::create_for_path(const String &p_path) { FileAccess *FileAccess::create_for_path(const String &p_path) {
FileAccess *ret = NULL; FileAccess *ret = nullptr;
if (p_path.begins_with("res://")) { if (p_path.begins_with("res://")) {
ret = create(ACCESS_RESOURCES); ret = create(ACCESS_RESOURCES);
@ -95,7 +95,7 @@ FileAccess *FileAccess::open(const String &p_path, int p_mode_flags, Error *r_er
//try packed data first //try packed data first
FileAccess *ret = NULL; FileAccess *ret = nullptr;
if (!(p_mode_flags & WRITE) && PackedData::get_singleton() && !PackedData::get_singleton()->is_disabled()) { if (!(p_mode_flags & WRITE) && PackedData::get_singleton() && !PackedData::get_singleton()->is_disabled()) {
ret = PackedData::get_singleton()->try_open_path(p_path); ret = PackedData::get_singleton()->try_open_path(p_path);
if (ret) { if (ret) {
@ -113,7 +113,7 @@ FileAccess *FileAccess::open(const String &p_path, int p_mode_flags, Error *r_er
if (err != OK) { if (err != OK) {
memdelete(ret); memdelete(ret);
ret = NULL; ret = nullptr;
} }
return ret; return ret;

View File

@ -153,7 +153,7 @@ public:
static FileAccess *create(AccessType p_access); /// Create a file access (for the current platform) this is the only portable way of accessing files. static FileAccess *create(AccessType p_access); /// Create a file access (for the current platform) this is the only portable way of accessing files.
static FileAccess *create_for_path(const String &p_path); static FileAccess *create_for_path(const String &p_path);
static FileAccess *open(const String &p_path, int p_mode_flags, Error *r_error = NULL); /// Create a file access (for the current platform) this is the only portable way of accessing files. static FileAccess *open(const String &p_path, int p_mode_flags, Error *r_error = nullptr); /// Create a file access (for the current platform) this is the only portable way of accessing files.
static CreateFunc get_create_func(AccessType p_access); static CreateFunc get_create_func(AccessType p_access);
static bool exists(const String &p_name); ///< return true if a file exists static bool exists(const String &p_name); ///< return true if a file exists
static uint64_t get_modified_time(const String &p_file); static uint64_t get_modified_time(const String &p_file);
@ -167,8 +167,8 @@ public:
static String get_sha256(const String &p_file); static String get_sha256(const String &p_file);
static String get_multiple_md5(const Vector<String> &p_file); static String get_multiple_md5(const Vector<String> &p_file);
static Vector<uint8_t> get_file_as_array(const String &p_path, Error *r_error = NULL); static Vector<uint8_t> get_file_as_array(const String &p_path, Error *r_error = nullptr);
static String get_file_as_string(const String &p_path, Error *r_error = NULL); static String get_file_as_string(const String &p_path, Error *r_error = nullptr);
template <class T> template <class T>
static void make_default(AccessType p_access) { static void make_default(AccessType p_access) {
@ -187,7 +187,7 @@ struct FileAccessRef {
return f; return f;
} }
operator bool() const { return f != NULL; } operator bool() const { return f != nullptr; }
FileAccess *f; FileAccess *f;
operator FileAccess *() { return f; } operator FileAccess *() { return f; }
FileAccessRef(FileAccess *fa) { f = fa; } FileAccessRef(FileAccess *fa) { f = fa; }

View File

@ -288,7 +288,7 @@ static const _KeyCodeText _keycodes[] = {
{KEY_DIVISION ,"Division"}, {KEY_DIVISION ,"Division"},
{KEY_YDIAERESIS ,"Ydiaeresis"}, {KEY_YDIAERESIS ,"Ydiaeresis"},
{0 ,0} {0 ,nullptr}
/* clang-format on */ /* clang-format on */
}; };

View File

@ -81,7 +81,7 @@ void *Memory::alloc_static(size_t p_bytes, bool p_pad_align) {
void *mem = malloc(p_bytes + (prepad ? PAD_ALIGN : 0)); void *mem = malloc(p_bytes + (prepad ? PAD_ALIGN : 0));
ERR_FAIL_COND_V(!mem, NULL); ERR_FAIL_COND_V(!mem, nullptr);
atomic_increment(&alloc_count); atomic_increment(&alloc_count);
@ -103,7 +103,7 @@ void *Memory::alloc_static(size_t p_bytes, bool p_pad_align) {
void *Memory::realloc_static(void *p_memory, size_t p_bytes, bool p_pad_align) { void *Memory::realloc_static(void *p_memory, size_t p_bytes, bool p_pad_align) {
if (p_memory == NULL) { if (p_memory == nullptr) {
return alloc_static(p_bytes, p_pad_align); return alloc_static(p_bytes, p_pad_align);
} }
@ -130,12 +130,12 @@ void *Memory::realloc_static(void *p_memory, size_t p_bytes, bool p_pad_align) {
if (p_bytes == 0) { if (p_bytes == 0) {
free(mem); free(mem);
return NULL; return nullptr;
} else { } else {
*s = p_bytes; *s = p_bytes;
mem = (uint8_t *)realloc(mem, p_bytes + PAD_ALIGN); mem = (uint8_t *)realloc(mem, p_bytes + PAD_ALIGN);
ERR_FAIL_COND_V(!mem, NULL); ERR_FAIL_COND_V(!mem, nullptr);
s = (uint64_t *)mem; s = (uint64_t *)mem;
@ -147,7 +147,7 @@ void *Memory::realloc_static(void *p_memory, size_t p_bytes, bool p_pad_align) {
mem = (uint8_t *)realloc(mem, p_bytes); mem = (uint8_t *)realloc(mem, p_bytes);
ERR_FAIL_COND_V(mem == NULL && p_bytes > 0, NULL); ERR_FAIL_COND_V(mem == nullptr && p_bytes > 0, nullptr);
return mem; return mem;
} }
@ -155,7 +155,7 @@ void *Memory::realloc_static(void *p_memory, size_t p_bytes, bool p_pad_align) {
void Memory::free_static(void *p_ptr, bool p_pad_align) { void Memory::free_static(void *p_ptr, bool p_pad_align) {
ERR_FAIL_COND(p_ptr == NULL); ERR_FAIL_COND(p_ptr == nullptr);
uint8_t *mem = (uint8_t *)p_ptr; uint8_t *mem = (uint8_t *)p_ptr;

View File

@ -34,7 +34,7 @@
#include "core/os/os.h" #include "core/os/os.h"
uint8_t MIDIDriver::last_received_message = 0x00; uint8_t MIDIDriver::last_received_message = 0x00;
MIDIDriver *MIDIDriver::singleton = NULL; MIDIDriver *MIDIDriver::singleton = nullptr;
MIDIDriver *MIDIDriver::get_singleton() { MIDIDriver *MIDIDriver::get_singleton() {
return singleton; return singleton;

View File

@ -40,7 +40,7 @@
#include <stdarg.h> #include <stdarg.h>
OS *OS::singleton = NULL; OS *OS::singleton = nullptr;
OS *OS::get_singleton() { OS *OS::get_singleton() {
@ -184,7 +184,7 @@ void OS::dump_memory_to_file(const char *p_file) {
//Memory::dump_static_mem_to_file(p_file); //Memory::dump_static_mem_to_file(p_file);
} }
static FileAccess *_OSPRF = NULL; static FileAccess *_OSPRF = nullptr;
static void _OS_printres(Object *p_obj) { static void _OS_printres(Object *p_obj) {
@ -207,7 +207,7 @@ void OS::print_all_resources(String p_to_file) {
Error err; Error err;
_OSPRF = FileAccess::open(p_to_file, FileAccess::WRITE, &err); _OSPRF = FileAccess::open(p_to_file, FileAccess::WRITE, &err);
if (err != OK) { if (err != OK) {
_OSPRF = NULL; _OSPRF = nullptr;
ERR_FAIL_MSG("Can't print all resources to file: " + String(p_to_file) + "."); ERR_FAIL_MSG("Can't print all resources to file: " + String(p_to_file) + ".");
} }
} }
@ -218,13 +218,13 @@ void OS::print_all_resources(String p_to_file) {
if (_OSPRF) if (_OSPRF)
memdelete(_OSPRF); memdelete(_OSPRF);
_OSPRF = NULL; _OSPRF = nullptr;
} }
} }
void OS::print_resources_in_use(bool p_short) { void OS::print_resources_in_use(bool p_short) {
ResourceCache::dump(NULL, p_short); ResourceCache::dump(nullptr, p_short);
} }
void OS::dump_resources_to_file(const char *p_file) { void OS::dump_resources_to_file(const char *p_file) {
@ -523,9 +523,9 @@ OS::OS() {
_allow_layered = false; _allow_layered = false;
_stack_bottom = (void *)(&stack_bottom); _stack_bottom = (void *)(&stack_bottom);
_logger = NULL; _logger = nullptr;
has_server_feature_callback = NULL; has_server_feature_callback = nullptr;
Vector<Logger *> loggers; Vector<Logger *> loggers;
loggers.push_back(memnew(StdLogger)); loggers.push_back(memnew(StdLogger));
@ -534,5 +534,5 @@ OS::OS() {
OS::~OS() { OS::~OS() {
memdelete(_logger); memdelete(_logger);
singleton = NULL; singleton = nullptr;
} }

View File

@ -130,7 +130,7 @@ public:
virtual int get_low_processor_usage_mode_sleep_usec() const; virtual int get_low_processor_usage_mode_sleep_usec() const;
virtual String get_executable_path() const; virtual String get_executable_path() const;
virtual Error execute(const String &p_path, const List<String> &p_arguments, bool p_blocking = true, ProcessID *r_child_id = NULL, String *r_pipe = NULL, int *r_exitcode = NULL, bool read_stderr = false, Mutex *p_pipe_mutex = NULL) = 0; virtual Error execute(const String &p_path, const List<String> &p_arguments, bool p_blocking = true, ProcessID *r_child_id = nullptr, String *r_pipe = nullptr, int *r_exitcode = nullptr, bool read_stderr = false, Mutex *p_pipe_mutex = nullptr) = 0;
virtual Error kill(const ProcessID &p_pid) = 0; virtual Error kill(const ProcessID &p_pid) = 0;
virtual int get_process_id() const; virtual int get_process_id() const;
virtual void vibrate_handheld(int p_duration_ms = 500); virtual void vibrate_handheld(int p_duration_ms = 500);

View File

@ -34,11 +34,11 @@
#include <stddef.h> #include <stddef.h>
RWLock *(*RWLock::create_func)() = 0; RWLock *(*RWLock::create_func)() = nullptr;
RWLock *RWLock::create() { RWLock *RWLock::create() {
ERR_FAIL_COND_V(!create_func, 0); ERR_FAIL_COND_V(!create_func, nullptr);
return create_func(); return create_func();
} }

View File

@ -30,10 +30,10 @@
#include "thread.h" #include "thread.h"
Thread *(*Thread::create_func)(ThreadCreateCallback, void *, const Settings &) = NULL; Thread *(*Thread::create_func)(ThreadCreateCallback, void *, const Settings &) = nullptr;
Thread::ID (*Thread::get_thread_id_func)() = NULL; Thread::ID (*Thread::get_thread_id_func)() = nullptr;
void (*Thread::wait_to_finish_func)(Thread *) = NULL; void (*Thread::wait_to_finish_func)(Thread *) = nullptr;
Error (*Thread::set_name_func)(const String &) = NULL; Error (*Thread::set_name_func)(const String &) = nullptr;
Thread::ID Thread::_main_thread_id = 0; Thread::ID Thread::_main_thread_id = 0;
@ -50,7 +50,7 @@ Thread *Thread::create(ThreadCreateCallback p_callback, void *p_user, const Sett
return create_func(p_callback, p_user, p_settings); return create_func(p_callback, p_user, p_settings);
} }
return NULL; return nullptr;
} }
void Thread::wait_to_finish(Thread *p_thread) { void Thread::wait_to_finish(Thread *p_thread) {

View File

@ -114,7 +114,7 @@ Variant PackedDataContainer::_get_at_ofs(uint32_t p_ofs, const uint8_t *p_buf, b
} else { } else {
Variant v; Variant v;
Error rerr = decode_variant(v, p_buf + p_ofs, datalen - p_ofs, NULL, false); Error rerr = decode_variant(v, p_buf + p_ofs, datalen - p_ofs, nullptr, false);
if (rerr != OK) { if (rerr != OK) {
@ -254,7 +254,7 @@ uint32_t PackedDataContainer::_pack(const Variant &p_data, Vector<uint8_t> &tmpd
uint32_t pos = tmpdata.size(); uint32_t pos = tmpdata.size();
int len; int len;
encode_variant(p_data, NULL, len, false); encode_variant(p_data, nullptr, len, false);
tmpdata.resize(tmpdata.size() + len); tmpdata.resize(tmpdata.size() + len);
encode_variant(p_data, &tmpdata.write[pos], len, false); encode_variant(p_data, &tmpdata.write[pos], len, false);
return pos; return pos;

View File

@ -73,7 +73,7 @@ protected:
static void _bind_methods(); static void _bind_methods();
public: public:
virtual Variant getvar(const Variant &p_key, bool *r_valid = NULL) const; virtual Variant getvar(const Variant &p_key, bool *r_valid = nullptr) const;
Error pack(const Variant &p_data); Error pack(const Variant &p_data);
int size() const; int size() const;
@ -98,7 +98,7 @@ public:
bool _is_dictionary() const; bool _is_dictionary() const;
int size() const; int size() const;
virtual Variant getvar(const Variant &p_key, bool *r_valid = NULL) const; virtual Variant getvar(const Variant &p_key, bool *r_valid = nullptr) const;
PackedDataContainerRef(); PackedDataContainerRef();
}; };

Some files were not shown because too many files have changed in this diff Show More