nwnxee / unified

Binaries available under the Releases tab on Github
https://nwnxee.github.io/unified
GNU General Public License v3.0
128 stars 91 forks source link

SWIG: Add smart pointer support, add 8193.36 missing templates. #1714

Closed jhett12321 closed 7 months ago

jhett12321 commented 7 months ago

Adds missing template types so the full types are accessible from SWIG wrappers.

@@ -365,20 +364,20 @@
-  public SWIGTYPE_p_CExoArrayListT_CLastUpdateObject_p_t m_lstActiveObjectsLastUpdate {
+  public CExoArrayListCLastUpdateObjectPtr m_lstActiveObjectsLastUpdate {
     set {
-      NWNXLibPINVOKE.CNWSPlayer_m_lstActiveObjectsLastUpdate_set(swigCPtr, SWIGTYPE_p_CExoArrayListT_CLastUpdateObject_p_t.getCPtr(value));
+      NWNXLibPINVOKE.CNWSPlayer_m_lstActiveObjectsLastUpdate_set(swigCPtr, CExoArrayListCLastUpdateObjectPtr.getCPtr(value));
     } 
     get {
       global::System.IntPtr cPtr = NWNXLibPINVOKE.CNWSPlayer_m_lstActiveObjectsLastUpdate_get(swigCPtr);
-      SWIGTYPE_p_CExoArrayListT_CLastUpdateObject_p_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_CExoArrayListT_CLastUpdateObject_p_t(cPtr, false);
+      CExoArrayListCLastUpdateObjectPtr ret = (cPtr == global::System.IntPtr.Zero) ? null : new CExoArrayListCLastUpdateObjectPtr(cPtr, false);
       return ret;
     } 
   }

-  public SWIGTYPE_p_CExoArrayListT_CLastUpdatePartyObject_p_t m_lstActivePartyObjectsLastUpdate {
+  public CExoArrayListCLastUpdatePartyObjectPtr m_lstActivePartyObjectsLastUpdate {
     set {
-      NWNXLibPINVOKE.CNWSPlayer_m_lstActivePartyObjectsLastUpdate_set(swigCPtr, SWIGTYPE_p_CExoArrayListT_CLastUpdatePartyObject_p_t.getCPtr(value));
+      NWNXLibPINVOKE.CNWSPlayer_m_lstActivePartyObjectsLastUpdate_set(swigCPtr, CExoArrayListCLastUpdatePartyObjectPtr.getCPtr(value));
     } 
     get {
       global::System.IntPtr cPtr = NWNXLibPINVOKE.CNWSPlayer_m_lstActivePartyObjectsLastUpdate_get(swigCPtr);
-      SWIGTYPE_p_CExoArrayListT_CLastUpdatePartyObject_p_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_CExoArrayListT_CLastUpdatePartyObject_p_t(cPtr, false);
+      CExoArrayListCLastUpdatePartyObjectPtr ret = (cPtr == global::System.IntPtr.Zero) ? null : new CExoArrayListCLastUpdatePartyObjectPtr(cPtr, false);
       return ret;
     } 

Also adds support for smart pointer usages:

@@ -2161,6 +2163,7 @@
   }

-  public SWIGTYPE_p_std__shared_ptrT_NWSQLite__Database_t GetObjectSqlDatabase() {
-    SWIGTYPE_p_std__shared_ptrT_NWSQLite__Database_t ret = new SWIGTYPE_p_std__shared_ptrT_NWSQLite__Database_t(NWNXLibPINVOKE.CNWSObject_GetObjectSqlDatabase(swigCPtr), true);
+  public Database GetObjectSqlDatabase() {
+    global::System.IntPtr cPtr = NWNXLibPINVOKE.CNWSObject_GetObjectSqlDatabase(swigCPtr);
+    Database ret = (cPtr == global::System.IntPtr.Zero) ? null : new Database(cPtr, true);
     return ret;
   }
mtijanic commented 7 months ago

All SWIG-only changes from you get auto merged :)