-
-
Couldn't load subscription status.
- Fork 688
Open
Labels
bugThis has been identified as a bugThis has been identified as a bugconfirmeddiscussiontopic:gdextensionThis relates to the new Godot 4 extension implementationThis relates to the new Godot 4 extension implementation
Milestone
Description
godot-cpp: ad11bbb5845a454551d490812631922c33b7601c
godot: godotengine/godot#52192
Some missing API functions and discrepancies found during attempt to port TextServerAdvanced to the GDExtension (as part of godotengine/godot#52192):
String:missingptr,ptrwmethods.missing+,+=operators.
StringNamedo not expose<and>operators, and unusable as map key.Packed*Arrray:missingptr,ptrwmethods.[]operator API difference with the engine ([]vs.write[]).
Dictionary:missing[]operator.seems to have no methods to write value at all.
Char*String:no public constructors.
RID:nois_validmethod.noIncluded in Port a bunch of Godot container templates to GDExtension. #701.RID_*_Ownerimplementation, can be copy-pasted locally from the engine with minimal changes, but probably should be part of godot-cpp.
MutexandSemaphore:lockandunlockmethods aren'tconst.noIncluded in Port a bunch of Godot container templates to GDExtension. #701.MutexLockclass and_THREAD_SAFE_macros defined (can be added locally, but probably should be part of godot-cpp).
memnew,memdeletearen't working with non-Godot classes.nomemalloc,memfreemacros defined (can be added locally):#define memalloc(m_size) Memory::alloc_static(m_size) #define memrealloc(m_mem, m_size) Memory::realloc_static(m_mem, m_size) #define memfree(m_mem) Memory::free_static(m_mem)Enum type return values can't be bound on the engine side.Enum type argument types can't be bound, unless conversion macros is added manually-MAKE_PTRARGCONV(TextServer::Direction, int64_t);.Missing math defines,MAX,MIN,CLAMPetc.No conversion for custom native pointer types, can be fixed locally by addingGDVIRTUAL_NATIVE_PTR(Glyph *);macro.No templates forIncluded in Port a bunch of Godot container templates to GDExtension. #701.Vector,Map,List,HashMap,Set, not a critical issue, but would be convenient to have for better module <-> GDExtension portability.
HugKitten
Metadata
Metadata
Assignees
Labels
bugThis has been identified as a bugThis has been identified as a bugconfirmeddiscussiontopic:gdextensionThis relates to the new Godot 4 extension implementationThis relates to the new Godot 4 extension implementation