slifer 0.2.8 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/src/ffi.ts CHANGED
@@ -1,316 +1,275 @@
1
- import { dlopen, FFIType, suffix } from "bun:ffi";
2
- import * as path from "path";
3
-
4
- let libSDLImport;
5
- let libImageImport;
6
- let libTTFImport;
7
- let libMixerImport;
8
-
9
- const libDir = path.join(__dirname, "../libs/");
10
-
11
- if (process.platform == "win32") {
12
- //@ts-expect-error
13
- libSDLImport = await import("../libs/SDL2.dll");
14
- //@ts-expect-error
15
- libImageImport = await import("../libs/SDL2_image.dll");
16
- //@ts-expect-error
17
- libTTFImport = await import("../libs/SDL2_ttf.dll");
18
- //@ts-expect-error
19
- libMixerImport = await import("../libs/SDL2_mixer.dll");
20
- } else if (process.platform == "darwin") {
21
- //@ts-expect-error
22
- libSDLImport = await import("../libs/libSDL2.dylib");
23
- //@ts-expect-error
24
- libImageImport = await import("../libs/libSDL2_image.dylib");
25
- //@ts-expect-error
26
- libTTFImport = await import("../libs/libSDL2_ttf.dylib");
27
- //@ts-expect-error
28
- libMixerImport = await import("../libs/libSDL2_mixer.dylib");
29
- } else if (process.platform == "linux") {
30
- libSDLImport = await import(`${libDir}libSDL2.so`);
31
- libImageImport = await import(`${libDir}libSDL2_image.so`);
32
- libTTFImport = await import(`${libDir}libSDL2_ttf.so`);
33
- libMixerImport = await import(`${libDir}libSDL2_mixer.so`);
34
- }
35
-
36
- /** @internal */
37
- export const libsdl = dlopen(libSDLImport.default, {
38
- SDL_Init: {
39
- args: [FFIType.int],
40
- returns: FFIType.int,
41
- },
42
- SDL_GetRevision: {
43
- returns: "cstring",
44
- },
45
- SDL_CreateWindow: {
46
- args: ["cstring", "int", "int", "int", "int", "u32"],
47
- returns: "pointer",
48
- },
49
- SDL_CreateRenderer: {
50
- args: ["pointer", "int", "u32"],
51
- returns: "pointer",
52
- },
53
- SDL_GetDesktopDisplayMode: {
54
- args: ["int", "pointer"],
55
- returns: "int",
56
- },
57
- SDL_GetDisplayOrientation: {
58
- args: ["int"],
59
- returns: "int",
60
- },
61
- SDL_SetWindowFullscreen: {
62
- args: ["pointer", "u32"],
63
- returns: "int",
64
- },
65
- SDL_PollEvent: {
66
- args: ["pointer"],
67
- returns: "int",
68
- },
69
- SDL_RenderClear: {
70
- args: ["pointer"],
71
- returns: "int",
72
- },
73
- SDL_RenderCopy: {
74
- args: ["pointer", "pointer", "pointer", "pointer"],
75
- returns: "int",
76
- },
77
- SDL_RenderPresent: {
78
- args: ["pointer"],
79
- returns: "void",
80
- },
81
- SDL_CreateTextureFromSurface: {
82
- args: ["pointer", "pointer"],
83
- returns: "pointer",
84
- },
85
- SDL_DestroyRenderer: {
86
- args: ["pointer"],
87
- returns: "void",
88
- },
89
- SDL_DestroyWindow: {
90
- args: ["pointer"],
91
- returns: "void",
92
- },
93
- SDL_Quit: {
94
- returns: "void",
95
- },
96
- SDL_GetKeyName: {
97
- args: ["int"],
98
- returns: "cstring",
99
- },
100
- SDL_GetKeyFromScancode: {
101
- args: ["int"],
102
- returns: "int",
103
- },
104
- SDL_GetPerformanceCounter: {
105
- returns: "u64",
106
- },
107
- SDL_GetPerformanceFrequency: {
108
- returns: "u64",
109
- },
110
- SDL_QueryTexture: {
111
- args: ["pointer", "pointer", "pointer", "pointer", "pointer"],
112
- returns: "int",
113
- },
114
- SDL_GetMouseState: {
115
- args: ["pointer", "pointer"],
116
- returns: "u32",
117
- },
118
- SDL_CreateColorCursor: {
119
- args: ["pointer", "int", "int"],
120
- returns: "pointer",
121
- },
122
- SDL_SetCursor: {
123
- args: ["pointer"],
124
- returns: "void",
125
- },
126
- SDL_SetRenderDrawColor: {
127
- args: ["pointer", "int", "int", "int", "int"],
128
- returns: "void",
129
- },
130
- SDL_RenderFillRect: {
131
- args: ["pointer", "pointer"],
132
- returns: "bool",
133
- },
134
- SDL_GetWindowPosition: {
135
- args: ["pointer", "pointer", "pointer"],
136
- returns: "void",
137
- },
138
- SDL_SetWindowPosition: {
139
- args: ["pointer", "int", "int"],
140
- returns: "void",
141
- },
142
- SDL_SetWindowHitTest: {
143
- args: ["pointer", FFIType.function, "pointer"],
144
- returns: "int",
145
- },
146
- SDL_GetWindowSize: {
147
- args: ["pointer", "pointer", "pointer"],
148
- returns: "void",
149
- },
150
- SDL_CreateSystemCursor: {
151
- args: ["int"],
152
- returns: "pointer",
153
- },
154
- SDL_GetError: {
155
- returns: "cstring",
156
- },
157
- SDL_SetHint: {
158
- args: ["cstring", "cstring"],
159
- returns: "bool",
160
- },
161
- SDL_MinimizeWindow: {
162
- args: ["pointer"],
163
- returns: "void",
164
- },
165
- SDL_MaximizeWindow: {
166
- args: ["pointer"],
167
- returns: "void",
168
- },
169
- SDL_GetShapedWindowMode: {
170
- args: ["pointer", "pointer"],
171
- returns: "int",
172
- },
173
- SDL_CreateShapedWindow: {
174
- args: ["cstring", "int", "int", "int", "int", "u32"],
175
- returns: "pointer",
176
- },
177
- SDL_SetWindowShape: {
178
- args: ["pointer", "pointer", "pointer"],
179
- returns: "int",
180
- },
181
- SDL_SetWindowIcon: {
182
- args: ["pointer", "pointer"],
183
- returns: "void",
184
- },
185
- SDL_RaiseWindow: {
186
- args: ["pointer"],
187
- returns: "void",
188
- },
189
- SDL_RenderCopyEx: {
190
- args: [
191
- "pointer",
192
- "pointer",
193
- "pointer",
194
- "pointer",
195
- "double",
196
- "pointer",
197
- "int",
198
- ],
199
- returns: "int",
200
- },
201
- SDL_SetWindowSize: {
202
- args: ["pointer", "int", "int"],
203
- returns: "void",
204
- },
205
- SDL_SetWindowTitle: {
206
- args: ["pointer", "cstring"],
207
- returns: "void",
208
- },
209
- SDL_GetTicks: {
210
- returns: "uint32_t",
211
- },
212
- SDL_Delay: {
213
- args: ["uint32_t"],
214
- },
215
- SDL_GetKeyboardState: {
216
- args: ["pointer"],
217
- returns: "pointer",
218
- },
219
- SDL_GetScancodeFromName: {
220
- args: ["cstring"],
221
- returns: "int",
222
- },
223
- SDL_GetTicks64: {
224
- returns: 'u64'
225
- },
226
- SDL_CreateRGBSurface: {
227
- args: ['int', 'int', 'int', 'int', 'int', 'int', 'int', 'int'],
228
- returns: 'pointer'
229
- },
230
- SDL_UpperBlitScaled: {
231
- args: ['pointer', 'pointer','pointer','pointer'],
232
- returns: 'int'
233
- },
234
- SDL_FillRect: {
235
- args: ['pointer', 'pointer', 'int'],
236
- returns: 'int'
237
- },
238
- SDL_DestroyTexture : {
239
- args: ['pointer'],
240
- returns: 'void'
241
- },
242
- SDL_MapRGB: {
243
- args: ['pointer', 'int', 'int', 'int'],
244
- returns: 'u32'
245
- }
246
- });
247
-
248
- /** @internal */
249
- export const libimage = dlopen(libImageImport.default, {
250
- IMG_Init: {
251
- args: ["int"],
252
- returns: "int",
253
- },
254
- IMG_Load: {
255
- args: ["cstring"],
256
- returns: "pointer",
257
- },
258
- IMG_LoadTexture: {
259
- args: ["pointer", "cstring"],
260
- returns: "pointer",
261
- },
262
- });
263
-
264
- /** @internal */
265
- export const libttf = dlopen(libTTFImport.default, {
266
- TTF_Init: {
267
- returns: "int",
268
- },
269
- TTF_OpenFont: {
270
- args: ["cstring", "int"],
271
- returns: "pointer",
272
- },
273
- TTF_RenderText_Solid: {
274
- args: ["pointer", "cstring", "u32"],
275
- returns: "pointer",
276
- },
277
- TTF_SizeText: {
278
- args: ["pointer", "cstring", "pointer", "pointer"],
279
- returns: "int",
280
- },
281
- TTF_Quit: {
282
- returns: "void",
283
- },
284
- TTF_CloseFont: {
285
- args: ["pointer"],
286
- returns: "void",
287
- },
288
- });
289
-
290
- /** @internal */
291
- export const libmixer = dlopen(libMixerImport.default, {
292
- Mix_OpenAudio: {
293
- args: ["int", "pointer", "int", "int"],
294
- returns: "int",
295
- },
296
- Mix_LoadMUS: {
297
- args: ["cstring"],
298
- returns: "pointer",
299
- },
300
- Mix_LoadWAV: {
301
- args: ["cstring"],
302
- returns: "pointer",
303
- },
304
- Mix_FreeMusic: {
305
- args: ["pointer"],
306
- returns: "void",
307
- },
308
- Mix_FreeChunk: {
309
- args: ["pointer"],
310
- returns: "void",
311
- },
312
- Mix_PlayChannel: {
313
- args: ["int", "pointer", "int"],
314
- returns: "int",
315
- },
316
- });
1
+ import { dlopen, FFIType, suffix } from "bun:ffi";
2
+ import * as path from "path";
3
+
4
+ let libSDLImport;
5
+ let libImageImport;
6
+ let libTTFImport;
7
+ let libMixerImport;
8
+
9
+ const libDir = path.join(__dirname, "../libs/");
10
+
11
+ if (process.platform == "win32") {
12
+ //@ts-expect-error
13
+ libSDLImport = await import("../libs/SDL2.dll");
14
+ //@ts-expect-error
15
+ libImageImport = await import("../libs/SDL2_image.dll");
16
+ //@ts-expect-error
17
+ libTTFImport = await import("../libs/SDL2_ttf.dll");
18
+ //@ts-expect-error
19
+ libMixerImport = await import("../libs/SDL2_mixer.dll");
20
+ } else if (process.platform == "darwin") {
21
+ //@ts-expect-error
22
+ libSDLImport = await import("../libs/libSDL2.dylib");
23
+ //@ts-expect-error
24
+ libImageImport = await import("../libs/libSDL2_image.dylib");
25
+ //@ts-expect-error
26
+ libTTFImport = await import("../libs/libSDL2_ttf.dylib");
27
+ //@ts-expect-error
28
+ libMixerImport = await import("../libs/libSDL2_mixer.dylib");
29
+ } else if (process.platform == "linux") {
30
+ //@ts-expect-error
31
+ libSDLImport = await import("../libs/libSDL2.so");
32
+ //@ts-expect-error
33
+ libImageImport = await import("../libs/libSDL2_image.so");
34
+ //@ts-expect-error
35
+ libTTFImport = await import("../libs/libSDL2_ttf.so");
36
+ //@ts-expect-error
37
+ libMixerImport = await import("../libs/libSDL2_mixer.so");
38
+ }
39
+
40
+ /** @internal */
41
+ export const libsdl = dlopen(libSDLImport.default, {
42
+ SDL_Init: {
43
+ args: [FFIType.int],
44
+ returns: FFIType.int,
45
+ },
46
+ SDL_CreateWindow: {
47
+ args: ["cstring", "int", "int", "int", "int", "u32"],
48
+ returns: "pointer",
49
+ },
50
+ SDL_CreateRenderer: {
51
+ args: ["pointer", "int", "u32"],
52
+ returns: "pointer",
53
+ },
54
+ SDL_SetWindowFullscreen: {
55
+ args: ["pointer", "u32"],
56
+ returns: "int",
57
+ },
58
+ SDL_PollEvent: {
59
+ args: ["pointer"],
60
+ returns: "int",
61
+ },
62
+ SDL_RenderClear: {
63
+ args: ["pointer"],
64
+ returns: "int",
65
+ },
66
+ SDL_RenderCopy: {
67
+ args: ["pointer", "pointer", "pointer", "pointer"],
68
+ returns: "int",
69
+ },
70
+ SDL_RenderPresent: {
71
+ args: ["pointer"],
72
+ returns: "void",
73
+ },
74
+ SDL_CreateTextureFromSurface: {
75
+ args: ["pointer", "pointer"],
76
+ returns: "pointer",
77
+ },
78
+ SDL_DestroyRenderer: {
79
+ args: ["pointer"],
80
+ returns: "void",
81
+ },
82
+ SDL_DestroyWindow: {
83
+ args: ["pointer"],
84
+ returns: "void",
85
+ },
86
+ SDL_Quit: {
87
+ returns: "void",
88
+ },
89
+ SDL_GetKeyName: {
90
+ args: ["int"],
91
+ returns: "cstring",
92
+ },
93
+ SDL_GetKeyFromScancode: {
94
+ args: ["int"],
95
+ returns: "int",
96
+ },
97
+ SDL_QueryTexture: {
98
+ args: ["pointer", "pointer", "pointer", "pointer", "pointer"],
99
+ returns: "int",
100
+ },
101
+ SDL_GetMouseState: {
102
+ args: ["pointer", "pointer"],
103
+ returns: "u32",
104
+ },
105
+ SDL_SetWindowPosition: {
106
+ args: ["pointer", "int", "int"],
107
+ returns: "void",
108
+ },
109
+ SDL_GetError: {
110
+ returns: "cstring",
111
+ },
112
+ SDL_SetWindowIcon: {
113
+ args: ["pointer", "pointer"],
114
+ returns: "void",
115
+ },
116
+ SDL_RenderCopyEx: {
117
+ args: [
118
+ "pointer",
119
+ "pointer",
120
+ "pointer",
121
+ "pointer",
122
+ "double",
123
+ "pointer",
124
+ "int",
125
+ ],
126
+ returns: "int",
127
+ },
128
+ SDL_SetWindowSize: {
129
+ args: ["pointer", "int", "int"],
130
+ returns: "void",
131
+ },
132
+ SDL_SetWindowTitle: {
133
+ args: ["pointer", "cstring"],
134
+ returns: "void",
135
+ },
136
+ SDL_GetTicks: {
137
+ returns: "uint32_t",
138
+ },
139
+ SDL_Delay: {
140
+ args: ["uint32_t"],
141
+ },
142
+ SDL_GetKeyboardState: {
143
+ args: ["pointer"],
144
+ returns: "pointer",
145
+ },
146
+ SDL_GetScancodeFromName: {
147
+ args: ["cstring"],
148
+ returns: "int",
149
+ },
150
+ SDL_GetTicks64: {
151
+ returns: 'u64'
152
+ },
153
+ SDL_CreateRGBSurface: {
154
+ args: ['int', 'int', 'int', 'int', 'int', 'int', 'int', 'int'],
155
+ returns: 'pointer'
156
+ },
157
+ SDL_UpperBlitScaled: {
158
+ args: ['pointer', 'pointer','pointer','pointer'],
159
+ returns: 'int'
160
+ },
161
+ SDL_FillRect: {
162
+ args: ['pointer', 'pointer', 'int'],
163
+ returns: 'int'
164
+ },
165
+ SDL_DestroyTexture : {
166
+ args: ['pointer'],
167
+ returns: 'void'
168
+ },
169
+ SDL_MapRGB: {
170
+ args: ['pointer', 'int', 'int', 'int'],
171
+ returns: 'u32'
172
+ },
173
+ SDL_FreeSurface: {
174
+ args: ['pointer'],
175
+ returns: 'void'
176
+ },
177
+ SDL_CreateColorCursor: {
178
+ args: ['pointer', 'int', 'int'],
179
+ returns: 'pointer'
180
+ },
181
+ SDL_SetCursor: {
182
+ args: ['pointer'],
183
+ returns: 'void'
184
+ },
185
+ SDL_CreateTexture: {
186
+ args: ['pointer', 'u32' ,'int', 'int' ,'int'],
187
+ returns: 'pointer'
188
+ },
189
+ SDL_RenderDrawRect: {
190
+ args: ['pointer', 'pointer'],
191
+ returns: 'int'
192
+ },
193
+ SDL_SetRenderDrawColor: {
194
+ args: ['pointer', 'int', 'int', 'int', 'int'],
195
+ returns: 'int'
196
+ },
197
+ SDL_RenderFillRect: {
198
+ args: ['pointer', 'pointer'],
199
+ returns: 'int'
200
+ }
201
+ });
202
+
203
+ /** @internal */
204
+ export const libimage = dlopen(libImageImport.default, {
205
+ IMG_Init: {
206
+ args: ["int"],
207
+ returns: "int",
208
+ },
209
+ IMG_Load: {
210
+ args: ["cstring"],
211
+ returns: "pointer",
212
+ },
213
+ IMG_LoadTexture: {
214
+ args: ["pointer", "cstring"],
215
+ returns: "pointer",
216
+ },
217
+ });
218
+
219
+ /** @internal */
220
+ export const libttf = dlopen(libTTFImport.default, {
221
+ TTF_Init: {
222
+ returns: "int",
223
+ },
224
+ TTF_OpenFont: {
225
+ args: ["cstring", "int"],
226
+ returns: "pointer",
227
+ },
228
+ TTF_RenderText_Solid: {
229
+ args: ["pointer", "cstring", "u32"],
230
+ returns: "pointer",
231
+ },
232
+ TTF_RenderText_Solid_Wrapped: {
233
+ args: ["pointer", "cstring", "u32", "u32"],
234
+ returns: "pointer",
235
+ },
236
+ TTF_SizeText: {
237
+ args: ["pointer", "cstring", "pointer", "pointer"],
238
+ returns: "int",
239
+ },
240
+ TTF_Quit: {
241
+ returns: "void",
242
+ },
243
+ TTF_CloseFont: {
244
+ args: ["pointer"],
245
+ returns: "void",
246
+ },
247
+ });
248
+
249
+ /** @internal */
250
+ export const libmixer = dlopen(libMixerImport.default, {
251
+ Mix_OpenAudio: {
252
+ args: ["int", "pointer", "int", "int"],
253
+ returns: "int",
254
+ },
255
+ Mix_LoadMUS: {
256
+ args: ["cstring"],
257
+ returns: "pointer",
258
+ },
259
+ Mix_LoadWAV: {
260
+ args: ["cstring"],
261
+ returns: "pointer",
262
+ },
263
+ Mix_FreeMusic: {
264
+ args: ["pointer"],
265
+ returns: "void",
266
+ },
267
+ Mix_FreeChunk: {
268
+ args: ["pointer"],
269
+ returns: "void",
270
+ },
271
+ Mix_PlayChannel: {
272
+ args: ["int", "pointer", "int"],
273
+ returns: "int",
274
+ },
275
+ });
package/src/global.ts CHANGED
@@ -1,11 +1,11 @@
1
- import { type Pointer } from 'bun:ffi';
2
-
3
- class Global {
4
-
5
- static ptrWindow : Pointer;
6
- static ptrRenderer : Pointer;
7
- static ptrFont : Pointer;
8
- }
9
-
10
- /** @internal */
1
+ import { type Pointer } from 'bun:ffi';
2
+
3
+ class Global {
4
+
5
+ static ptrWindow : Pointer;
6
+ static ptrRenderer : Pointer;
7
+ static ptrFont : Pointer;
8
+ }
9
+
10
+ /** @internal */
11
11
  export default Global;