slifer 0.2.9 → 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,324 +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
- //@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_GetRevision: {
47
- returns: "cstring",
48
- },
49
- SDL_CreateWindow: {
50
- args: ["cstring", "int", "int", "int", "int", "u32"],
51
- returns: "pointer",
52
- },
53
- SDL_CreateRenderer: {
54
- args: ["pointer", "int", "u32"],
55
- returns: "pointer",
56
- },
57
- SDL_GetDesktopDisplayMode: {
58
- args: ["int", "pointer"],
59
- returns: "int",
60
- },
61
- SDL_GetDisplayOrientation: {
62
- args: ["int"],
63
- returns: "int",
64
- },
65
- SDL_SetWindowFullscreen: {
66
- args: ["pointer", "u32"],
67
- returns: "int",
68
- },
69
- SDL_PollEvent: {
70
- args: ["pointer"],
71
- returns: "int",
72
- },
73
- SDL_RenderClear: {
74
- args: ["pointer"],
75
- returns: "int",
76
- },
77
- SDL_RenderCopy: {
78
- args: ["pointer", "pointer", "pointer", "pointer"],
79
- returns: "int",
80
- },
81
- SDL_RenderPresent: {
82
- args: ["pointer"],
83
- returns: "void",
84
- },
85
- SDL_CreateTextureFromSurface: {
86
- args: ["pointer", "pointer"],
87
- returns: "pointer",
88
- },
89
- SDL_DestroyRenderer: {
90
- args: ["pointer"],
91
- returns: "void",
92
- },
93
- SDL_DestroyWindow: {
94
- args: ["pointer"],
95
- returns: "void",
96
- },
97
- SDL_Quit: {
98
- returns: "void",
99
- },
100
- SDL_GetKeyName: {
101
- args: ["int"],
102
- returns: "cstring",
103
- },
104
- SDL_GetKeyFromScancode: {
105
- args: ["int"],
106
- returns: "int",
107
- },
108
- SDL_GetPerformanceCounter: {
109
- returns: "u64",
110
- },
111
- SDL_GetPerformanceFrequency: {
112
- returns: "u64",
113
- },
114
- SDL_QueryTexture: {
115
- args: ["pointer", "pointer", "pointer", "pointer", "pointer"],
116
- returns: "int",
117
- },
118
- SDL_GetMouseState: {
119
- args: ["pointer", "pointer"],
120
- returns: "u32",
121
- },
122
- SDL_CreateColorCursor: {
123
- args: ["pointer", "int", "int"],
124
- returns: "pointer",
125
- },
126
- SDL_SetCursor: {
127
- args: ["pointer"],
128
- returns: "void",
129
- },
130
- SDL_SetRenderDrawColor: {
131
- args: ["pointer", "int", "int", "int", "int"],
132
- returns: "void",
133
- },
134
- SDL_RenderFillRect: {
135
- args: ["pointer", "pointer"],
136
- returns: "bool",
137
- },
138
- SDL_GetWindowPosition: {
139
- args: ["pointer", "pointer", "pointer"],
140
- returns: "void",
141
- },
142
- SDL_SetWindowPosition: {
143
- args: ["pointer", "int", "int"],
144
- returns: "void",
145
- },
146
- SDL_SetWindowHitTest: {
147
- args: ["pointer", FFIType.function, "pointer"],
148
- returns: "int",
149
- },
150
- SDL_GetWindowSize: {
151
- args: ["pointer", "pointer", "pointer"],
152
- returns: "void",
153
- },
154
- SDL_CreateSystemCursor: {
155
- args: ["int"],
156
- returns: "pointer",
157
- },
158
- SDL_GetError: {
159
- returns: "cstring",
160
- },
161
- SDL_SetHint: {
162
- args: ["cstring", "cstring"],
163
- returns: "bool",
164
- },
165
- SDL_MinimizeWindow: {
166
- args: ["pointer"],
167
- returns: "void",
168
- },
169
- SDL_MaximizeWindow: {
170
- args: ["pointer"],
171
- returns: "void",
172
- },
173
- SDL_GetShapedWindowMode: {
174
- args: ["pointer", "pointer"],
175
- returns: "int",
176
- },
177
- SDL_CreateShapedWindow: {
178
- args: ["cstring", "int", "int", "int", "int", "u32"],
179
- returns: "pointer",
180
- },
181
- SDL_SetWindowShape: {
182
- args: ["pointer", "pointer", "pointer"],
183
- returns: "int",
184
- },
185
- SDL_SetWindowIcon: {
186
- args: ["pointer", "pointer"],
187
- returns: "void",
188
- },
189
- SDL_RaiseWindow: {
190
- args: ["pointer"],
191
- returns: "void",
192
- },
193
- SDL_RenderCopyEx: {
194
- args: [
195
- "pointer",
196
- "pointer",
197
- "pointer",
198
- "pointer",
199
- "double",
200
- "pointer",
201
- "int",
202
- ],
203
- returns: "int",
204
- },
205
- SDL_SetWindowSize: {
206
- args: ["pointer", "int", "int"],
207
- returns: "void",
208
- },
209
- SDL_SetWindowTitle: {
210
- args: ["pointer", "cstring"],
211
- returns: "void",
212
- },
213
- SDL_GetTicks: {
214
- returns: "uint32_t",
215
- },
216
- SDL_Delay: {
217
- args: ["uint32_t"],
218
- },
219
- SDL_GetKeyboardState: {
220
- args: ["pointer"],
221
- returns: "pointer",
222
- },
223
- SDL_GetScancodeFromName: {
224
- args: ["cstring"],
225
- returns: "int",
226
- },
227
- SDL_GetTicks64: {
228
- returns: 'u64'
229
- },
230
- SDL_CreateRGBSurface: {
231
- args: ['int', 'int', 'int', 'int', 'int', 'int', 'int', 'int'],
232
- returns: 'pointer'
233
- },
234
- SDL_UpperBlitScaled: {
235
- args: ['pointer', 'pointer','pointer','pointer'],
236
- returns: 'int'
237
- },
238
- SDL_FillRect: {
239
- args: ['pointer', 'pointer', 'int'],
240
- returns: 'int'
241
- },
242
- SDL_DestroyTexture : {
243
- args: ['pointer'],
244
- returns: 'void'
245
- },
246
- SDL_MapRGB: {
247
- args: ['pointer', 'int', 'int', 'int'],
248
- returns: 'u32'
249
- },
250
- SDL_FreeSurface: {
251
- args: ['pointer'],
252
- returns: 'void'
253
- }
254
- });
255
-
256
- /** @internal */
257
- export const libimage = dlopen(libImageImport.default, {
258
- IMG_Init: {
259
- args: ["int"],
260
- returns: "int",
261
- },
262
- IMG_Load: {
263
- args: ["cstring"],
264
- returns: "pointer",
265
- },
266
- IMG_LoadTexture: {
267
- args: ["pointer", "cstring"],
268
- returns: "pointer",
269
- },
270
- });
271
-
272
- /** @internal */
273
- export const libttf = dlopen(libTTFImport.default, {
274
- TTF_Init: {
275
- returns: "int",
276
- },
277
- TTF_OpenFont: {
278
- args: ["cstring", "int"],
279
- returns: "pointer",
280
- },
281
- TTF_RenderText_Solid: {
282
- args: ["pointer", "cstring", "u32"],
283
- returns: "pointer",
284
- },
285
- TTF_SizeText: {
286
- args: ["pointer", "cstring", "pointer", "pointer"],
287
- returns: "int",
288
- },
289
- TTF_Quit: {
290
- returns: "void",
291
- },
292
- TTF_CloseFont: {
293
- args: ["pointer"],
294
- returns: "void",
295
- },
296
- });
297
-
298
- /** @internal */
299
- export const libmixer = dlopen(libMixerImport.default, {
300
- Mix_OpenAudio: {
301
- args: ["int", "pointer", "int", "int"],
302
- returns: "int",
303
- },
304
- Mix_LoadMUS: {
305
- args: ["cstring"],
306
- returns: "pointer",
307
- },
308
- Mix_LoadWAV: {
309
- args: ["cstring"],
310
- returns: "pointer",
311
- },
312
- Mix_FreeMusic: {
313
- args: ["pointer"],
314
- returns: "void",
315
- },
316
- Mix_FreeChunk: {
317
- args: ["pointer"],
318
- returns: "void",
319
- },
320
- Mix_PlayChannel: {
321
- args: ["int", "pointer", "int"],
322
- returns: "int",
323
- },
324
- });
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;