Skip to content

Commit 36fbdf9

Browse files
committed
fix: return strong references to DaedalusInstances
1 parent 02efa82 commit 36fbdf9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+1282
-1242
lines changed

include/zenkit-capi/DaedalusScript.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
// SPDX-License-Identifier: MIT
33
#pragma once
44
#include "Library.h"
5+
#include "Object.h"
56
#include "Stream.h"
67
#include "Vfs.h"
78

@@ -11,7 +12,7 @@
1112
#include <zenkit/DaedalusScript.hh>
1213
using ZkDaedalusScript = zenkit::DaedalusScript;
1314
using ZkDaedalusSymbol = zenkit::DaedalusSymbol;
14-
using ZkDaedalusInstance = zenkit::DaedalusInstance;
15+
using ZkDaedalusInstance = ZkSharedHandle<zenkit::DaedalusInstance>;
1516
#else
1617
typedef struct ZkInternal_DaedalusScript ZkDaedalusScript;
1718
typedef struct ZkInternal_DaedalusSymbol ZkDaedalusSymbol;
@@ -156,6 +157,7 @@ ZKC_API ZkDaedalusDataType ZkDaedalusSymbol_getType(ZkDaedalusSymbol const* slf)
156157
ZKC_API uint32_t ZkDaedalusSymbol_getIndex(ZkDaedalusSymbol const* slf);
157158
ZKC_API ZkDaedalusDataType ZkDaedalusSymbol_getReturnType(ZkDaedalusSymbol const* slf);
158159

160+
ZKC_API void ZkDaedalusInstance_release(ZkDaedalusInstance const* slf);
159161
ZKC_API ZkDaedalusInstanceType ZkDaedalusInstance_getType(ZkDaedalusInstance const* slf);
160162
ZKC_API uint32_t ZkDaedalusInstance_getIndex(ZkDaedalusInstance const* slf);
161163
ZKC_API void* ZkDaedalusInstance_getUserPointer(ZkDaedalusInstance const* slf);

include/zenkit-capi/daedalus/CameraInstance.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33

44
#ifdef __cplusplus
55
#include <zenkit/addon/daedalus.hh>
6-
using ZkCameraInstance = zenkit::ICamera;
6+
#include <zenkit-capi/Object.h>
7+
using ZkCameraInstance = ZkSharedHandle<zenkit::ICamera>;
78
#else
89
typedef struct ZkInternal_CameraInstance ZkCameraInstance;
910
#endif

include/zenkit-capi/daedalus/EffectBaseInstance.hh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33

44
#ifdef __cplusplus
55
#include <zenkit/addon/daedalus.hh>
6-
using ZkEffectBaseInstance = zenkit::IEffectBase;
6+
#include <zenkit-capi/Object.h>
7+
using ZkEffectBaseInstance = ZkSharedHandle<zenkit::IEffectBase>;
78
#else
89
typedef struct ZkInternal_EffectBaseInstance ZkEffectBaseInstance;
910

include/zenkit-capi/daedalus/FightAiInstance.hh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33

44
#ifdef __cplusplus
55
#include <zenkit/addon/daedalus.hh>
6-
using ZkFightAiInstance = zenkit::IFightAi;
6+
#include <zenkit-capi/Object.h>
7+
using ZkFightAiInstance = ZkSharedHandle<zenkit::IFightAi>;
78
#else
89
typedef struct ZkInternal_FightAiInstance ZkFightAiInstance;
910
#endif

include/zenkit-capi/daedalus/FocusInstance.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33

44
#ifdef __cplusplus
55
#include <zenkit/addon/daedalus.hh>
6-
using ZkFocusInstance = zenkit::IFocus;
6+
#include <zenkit-capi/Object.h>
7+
using ZkFocusInstance = ZkSharedHandle<zenkit::IFocus>;
78
#else
89
typedef struct ZkInternal_FocusInstance ZkFocusInstance;
910
#endif

include/zenkit-capi/daedalus/GuildValuesInstance.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55

66
#ifdef __cplusplus
77
#include <zenkit/addon/daedalus.hh>
8-
using ZkGuildValuesInstance = zenkit::IGuildValues;
8+
#include <zenkit-capi/Object.h>
9+
using ZkGuildValuesInstance = ZkSharedHandle<zenkit::IGuildValues>;
910
#else
1011
typedef struct ZkInternal_GuildValuesInstance ZkGuildValuesInstance;
1112
#endif

include/zenkit-capi/daedalus/InfoInstance.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33

44
#ifdef __cplusplus
55
#include <zenkit/addon/daedalus.hh>
6-
using ZkInfoInstance = zenkit::IInfo;
6+
#include <zenkit-capi/Object.h>
7+
using ZkInfoInstance = ZkSharedHandle<zenkit::IInfo>;
78
#else
89
typedef struct ZkInternal_InfoInstance ZkInfoInstance;
910
#endif

include/zenkit-capi/daedalus/ItemInstance.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66

77
#ifdef __cplusplus
88
#include <zenkit/addon/daedalus.hh>
9-
using ZkItemInstance = zenkit::IItem;
9+
#include <zenkit-capi/Object.h>
10+
using ZkItemInstance = ZkSharedHandle<zenkit::IItem>;
1011
#else
1112
typedef struct ZkInternal_ItemInstance ZkItemInstance;
1213
#endif

include/zenkit-capi/daedalus/ItemReactInstance.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33

44
#ifdef __cplusplus
55
#include <zenkit/addon/daedalus.hh>
6-
using ZkItemReactInstance = zenkit::IItemReact;
6+
#include <zenkit-capi/Object.h>
7+
using ZkItemReactInstance = ZkSharedHandle<zenkit::IItemReact>;
78
#else
89
typedef struct ZkInternal_ItemReactInstance ZkItemReactInstance;
910
#endif

include/zenkit-capi/daedalus/MenuInstance.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33

44
#ifdef __cplusplus
55
#include <zenkit/addon/daedalus.hh>
6-
using ZkMenuInstance = zenkit::IMenu;
6+
#include <zenkit-capi/Object.h>
7+
using ZkMenuInstance = ZkSharedHandle<zenkit::IMenu>;
78
#else
89
typedef struct ZkInternal_MenuInstance ZkMenuInstance;
910
#endif

0 commit comments

Comments
 (0)