@dayme/bunraylib 0.1.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/main.c ADDED
@@ -0,0 +1,15 @@
1
+ #include "c/registries.c"
2
+ #include "c/window.c"
3
+ #include "c/shapes.c"
4
+ #include "c/collision.c"
5
+ #include "c/camera.c"
6
+ #include "c/draw3d.c"
7
+ #include "c/texture.c"
8
+ #include "c/model.c"
9
+ #include "c/image.c"
10
+ #include "c/color.c"
11
+ #include "c/font.c"
12
+ #include "c/input.c"
13
+ #include "c/audio.c"
14
+ #include "c/shader.c"
15
+ #include "c/filesystem.c"
package/src/main.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ declare module "*.c" {
2
+ const content: string;
3
+ export default content;
4
+ }
@@ -0,0 +1,64 @@
1
+ import { FFIType } from "bun:ffi";
2
+ const { i32, cstring, bool, ptr } = FFIType;
3
+
4
+ export const audioSymbols = {
5
+ InitAudioDeviceW: { args: [], returns: FFIType.void },
6
+ CloseAudioDeviceW: { args: [], returns: FFIType.void },
7
+ IsAudioDeviceReadyW: { args: [], returns: bool },
8
+ SetMasterVolumeW: { args: [i32], returns: FFIType.void },
9
+ GetMasterVolumeW: { args: [], returns: i32 },
10
+ LoadWaveW: { args: [cstring], returns: i32 },
11
+ LoadWaveFromMemoryW: { args: [cstring, ptr, i32], returns: i32 },
12
+ IsWaveValidW: { args: [i32], returns: bool },
13
+ UnloadWaveW: { args: [i32], returns: FFIType.void },
14
+ ExportWaveW: { args: [i32, cstring], returns: bool },
15
+ ExportWaveAsCodeW: { args: [i32, cstring], returns: bool },
16
+ WaveCopyW: { args: [i32], returns: i32 },
17
+ WaveCropW: { args: [i32, i32, i32], returns: FFIType.void },
18
+ WaveFormatW: { args: [i32, i32, i32, i32], returns: FFIType.void },
19
+ LoadSoundW: { args: [cstring], returns: i32 },
20
+ LoadSoundFromWaveW: { args: [i32], returns: i32 },
21
+ LoadSoundAliasW: { args: [i32], returns: i32 },
22
+ IsSoundValidW: { args: [i32], returns: bool },
23
+ UnloadSoundW: { args: [i32], returns: FFIType.void },
24
+ UnloadSoundAliasW: { args: [i32], returns: FFIType.void },
25
+ PlaySoundW: { args: [i32], returns: FFIType.void },
26
+ StopSoundW: { args: [i32], returns: FFIType.void },
27
+ PauseSoundW: { args: [i32], returns: FFIType.void },
28
+ ResumeSoundW: { args: [i32], returns: FFIType.void },
29
+ IsSoundPlayingW: { args: [i32], returns: bool },
30
+ SetSoundVolumeW: { args: [i32, i32], returns: FFIType.void },
31
+ SetSoundPitchW: { args: [i32, i32], returns: FFIType.void },
32
+ SetSoundPanW: { args: [i32, i32], returns: FFIType.void },
33
+ LoadMusicStreamW: { args: [cstring], returns: i32 },
34
+ LoadMusicStreamFromMemoryW: { args: [cstring, ptr, i32], returns: i32 },
35
+ IsMusicValidW: { args: [i32], returns: bool },
36
+ UnloadMusicStreamW: { args: [i32], returns: FFIType.void },
37
+ PlayMusicStreamW: { args: [i32], returns: FFIType.void },
38
+ IsMusicStreamPlayingW: { args: [i32], returns: bool },
39
+ UpdateMusicStreamW: { args: [i32], returns: FFIType.void },
40
+ StopMusicStreamW: { args: [i32], returns: FFIType.void },
41
+ PauseMusicStreamW: { args: [i32], returns: FFIType.void },
42
+ ResumeMusicStreamW: { args: [i32], returns: FFIType.void },
43
+ SeekMusicStreamW: { args: [i32, i32], returns: FFIType.void },
44
+ SetMusicVolumeW: { args: [i32, i32], returns: FFIType.void },
45
+ SetMusicPitchW: { args: [i32, i32], returns: FFIType.void },
46
+ SetMusicPanW: { args: [i32, i32], returns: FFIType.void },
47
+ GetMusicTimeLengthW: { args: [i32], returns: i32 },
48
+ GetMusicTimePlayedW: { args: [i32], returns: i32 },
49
+ LoadAudioStreamW: { args: [i32, i32, i32], returns: i32 },
50
+ IsAudioStreamValidW: { args: [i32], returns: bool },
51
+ UnloadAudioStreamW: { args: [i32], returns: FFIType.void },
52
+ IsAudioStreamProcessedW: { args: [i32], returns: bool },
53
+ PlayAudioStreamW: { args: [i32], returns: FFIType.void },
54
+ PauseAudioStreamW: { args: [i32], returns: FFIType.void },
55
+ ResumeAudioStreamW: { args: [i32], returns: FFIType.void },
56
+ IsAudioStreamPlayingW: { args: [i32], returns: bool },
57
+ StopAudioStreamW: { args: [i32], returns: FFIType.void },
58
+ SetAudioStreamVolumeW: { args: [i32, i32], returns: FFIType.void },
59
+ SetAudioStreamPitchW: { args: [i32, i32], returns: FFIType.void },
60
+ SetAudioStreamPanW: { args: [i32, i32], returns: FFIType.void },
61
+ SetAudioStreamBufferSizeDefaultW: { args: [i32], returns: FFIType.void },
62
+ LoadWaveSamplesW: { args: [i32], returns: ptr },
63
+ UnloadWaveSamplesW: { args: [ptr], returns: FFIType.void },
64
+ } as const;
@@ -0,0 +1,46 @@
1
+ import { FFIType } from "bun:ffi";
2
+ const { i32, ptr, f32 } = FFIType;
3
+
4
+ export const cameraSymbols = {
5
+ BeginMode2DW: { args: [i32, i32, i32, i32, i32, i32], returns: FFIType.void },
6
+ EndMode2DW: { args: [], returns: FFIType.void },
7
+ BeginMode3DW: {
8
+ args: [i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32],
9
+ returns: FFIType.void,
10
+ },
11
+ EndMode3DW: { args: [], returns: FFIType.void },
12
+ UpdateCameraW: { args: [ptr, ptr, ptr, ptr, ptr, i32], returns: FFIType.void },
13
+ UpdateCameraProW: {
14
+ args: [ptr, ptr, ptr, ptr, ptr, f32, f32, f32, f32, f32, f32, f32],
15
+ returns: FFIType.void,
16
+ },
17
+ GetScreenToWorldRayW: {
18
+ args: [ptr, ptr, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32],
19
+ returns: FFIType.void,
20
+ },
21
+ GetWorldToScreenW: {
22
+ args: [ptr, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32],
23
+ returns: FFIType.void,
24
+ },
25
+ GetWorldToScreen2DW: {
26
+ args: [ptr, i32, i32, i32, i32, i32, i32, i32, i32],
27
+ returns: FFIType.void,
28
+ },
29
+ GetScreenToWorld2DW: {
30
+ args: [ptr, i32, i32, i32, i32, i32, i32, i32, i32],
31
+ returns: FFIType.void,
32
+ },
33
+ GetScreenToWorldRayExW: {
34
+ args: [ptr, ptr, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32],
35
+ returns: FFIType.void,
36
+ },
37
+ GetWorldToScreenExW: {
38
+ args: [ptr, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32],
39
+ returns: FFIType.void,
40
+ },
41
+ GetCameraMatrixW: {
42
+ args: [ptr, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32],
43
+ returns: FFIType.void,
44
+ },
45
+ GetCameraMatrix2DW: { args: [ptr, i32, i32, i32, i32, i32, i32], returns: FFIType.void },
46
+ } as const;
@@ -0,0 +1,116 @@
1
+ import { FFIType } from "bun:ffi";
2
+ const { i32, bool, ptr } = FFIType;
3
+
4
+ export const collisionSymbols = {
5
+ CheckCollisionRecsW: { args: [i32, i32, i32, i32, i32, i32, i32, i32], returns: bool },
6
+ CheckCollisionCirclesW: { args: [i32, i32, i32, i32, i32, i32], returns: bool },
7
+ CheckCollisionCircleRecW: { args: [i32, i32, i32, i32, i32, i32, i32], returns: bool },
8
+ CheckCollisionCircleLineW: { args: [i32, i32, i32, i32, i32, i32, i32], returns: bool },
9
+ CheckCollisionPointRecW: { args: [i32, i32, i32, i32, i32, i32], returns: bool },
10
+ CheckCollisionPointCircleW: { args: [i32, i32, i32, i32, i32], returns: bool },
11
+ CheckCollisionPointTriangleW: { args: [i32, i32, i32, i32, i32, i32, i32, i32], returns: bool },
12
+ CheckCollisionPointLineW: { args: [i32, i32, i32, i32, i32, i32, i32], returns: bool },
13
+ CheckCollisionPointPolyW: { args: [i32, i32, ptr, i32], returns: bool },
14
+ CheckCollisionLinesW: { args: [ptr, i32, i32, i32, i32, i32, i32, i32, i32], returns: bool },
15
+ GetCollisionRecW: { args: [ptr, i32, i32, i32, i32, i32, i32, i32, i32], returns: FFIType.void },
16
+ CheckCollisionSpheresW: { args: [i32, i32, i32, i32, i32, i32, i32, i32], returns: bool },
17
+ CheckCollisionBoxesW: {
18
+ args: [i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32],
19
+ returns: bool,
20
+ },
21
+ CheckCollisionBoxSphereW: {
22
+ args: [i32, i32, i32, i32, i32, i32, i32, i32, i32, i32],
23
+ returns: bool,
24
+ },
25
+ GetRayCollisionSphereW: {
26
+ args: [ptr, ptr, ptr, ptr, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32],
27
+ returns: FFIType.void,
28
+ },
29
+ GetRayCollisionBoxW: {
30
+ args: [ptr, ptr, ptr, ptr, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32],
31
+ returns: FFIType.void,
32
+ },
33
+ GetRayCollisionTriangleW: {
34
+ args: [
35
+ ptr,
36
+ ptr,
37
+ ptr,
38
+ ptr,
39
+ i32,
40
+ i32,
41
+ i32,
42
+ i32,
43
+ i32,
44
+ i32,
45
+ i32,
46
+ i32,
47
+ i32,
48
+ i32,
49
+ i32,
50
+ i32,
51
+ i32,
52
+ i32,
53
+ i32,
54
+ ],
55
+ returns: FFIType.void,
56
+ },
57
+ GetRayCollisionQuadW: {
58
+ args: [
59
+ ptr,
60
+ ptr,
61
+ ptr,
62
+ ptr,
63
+ i32,
64
+ i32,
65
+ i32,
66
+ i32,
67
+ i32,
68
+ i32,
69
+ i32,
70
+ i32,
71
+ i32,
72
+ i32,
73
+ i32,
74
+ i32,
75
+ i32,
76
+ i32,
77
+ i32,
78
+ i32,
79
+ i32,
80
+ i32,
81
+ ],
82
+ returns: FFIType.void,
83
+ },
84
+ GetRayCollisionMeshW: {
85
+ args: [
86
+ ptr,
87
+ ptr,
88
+ ptr,
89
+ ptr,
90
+ i32,
91
+ i32,
92
+ i32,
93
+ i32,
94
+ i32,
95
+ i32,
96
+ i32,
97
+ i32,
98
+ i32,
99
+ i32,
100
+ i32,
101
+ i32,
102
+ i32,
103
+ i32,
104
+ i32,
105
+ i32,
106
+ i32,
107
+ i32,
108
+ i32,
109
+ i32,
110
+ i32,
111
+ i32,
112
+ i32,
113
+ ],
114
+ returns: FFIType.void,
115
+ },
116
+ } as const;
@@ -0,0 +1,22 @@
1
+ import { FFIType } from "bun:ffi";
2
+ const { i32, bool, ptr } = FFIType;
3
+
4
+ export const colorSymbols = {
5
+ ColorToIntW: { args: [i32], returns: i32 },
6
+ ColorNormalizeW: { args: [ptr, i32], returns: FFIType.void },
7
+ ColorFromNormalizedW: { args: [i32, i32, i32, i32], returns: i32 },
8
+ ColorToHSWW: { args: [ptr, i32], returns: FFIType.void },
9
+ ColorFromHSWW: { args: [i32, i32, i32], returns: i32 },
10
+ ColorTintW: { args: [i32, i32], returns: i32 },
11
+ ColorBrightnessW: { args: [i32, i32], returns: i32 },
12
+ ColorContrastW: { args: [i32, i32], returns: i32 },
13
+ ColorAlphaW: { args: [i32, i32], returns: i32 },
14
+ ColorAlphaBlendW: { args: [i32, i32, i32], returns: i32 },
15
+ ColorLerpW: { args: [i32, i32, i32], returns: i32 },
16
+ GetColorW: { args: [i32], returns: i32 },
17
+ FadeW: { args: [i32, i32], returns: i32 },
18
+ ColorIsEqualW: { args: [i32, i32], returns: bool },
19
+ GetPixelDataSizeW: { args: [i32, i32, i32], returns: i32 },
20
+ ColorToHSVW: { args: [ptr, i32], returns: FFIType.void },
21
+ ColorFromHSVW: { args: [i32, i32, i32], returns: i32 },
22
+ } as const;
@@ -0,0 +1,137 @@
1
+ import { FFIType } from "bun:ffi";
2
+ const { i32 } = FFIType;
3
+
4
+ export const draw3dSymbols = {
5
+ DrawLine3DW: { args: [i32, i32, i32, i32, i32, i32, i32], returns: FFIType.void },
6
+ DrawPoint3DW: { args: [i32, i32, i32, i32], returns: FFIType.void },
7
+ DrawCircle3DW: { args: [i32, i32, i32, i32, i32, i32, i32, i32, i32], returns: FFIType.void },
8
+ DrawTriangle3DW: {
9
+ args: [i32, i32, i32, i32, i32, i32, i32, i32, i32, i32],
10
+ returns: FFIType.void,
11
+ },
12
+ DrawTriangleStrip3DW: { args: [FFIType.ptr, i32, i32], returns: FFIType.void },
13
+ DrawCubeW: { args: [i32, i32, i32, i32, i32, i32, i32], returns: FFIType.void },
14
+ DrawCubeVW: { args: [i32, i32, i32, i32, i32, i32, i32], returns: FFIType.void },
15
+ DrawCubeWiresW: { args: [i32, i32, i32, i32, i32, i32, i32], returns: FFIType.void },
16
+ DrawCubeWiresVW: { args: [i32, i32, i32, i32, i32, i32, i32], returns: FFIType.void },
17
+ DrawSphereW: { args: [i32, i32, i32, i32, i32], returns: FFIType.void },
18
+ DrawSphereExW: { args: [i32, i32, i32, i32, i32, i32, i32], returns: FFIType.void },
19
+ DrawSphereWiresW: { args: [i32, i32, i32, i32, i32, i32, i32], returns: FFIType.void },
20
+ DrawCylinderW: { args: [i32, i32, i32, i32, i32, i32, i32, i32], returns: FFIType.void },
21
+ DrawCylinderExW: {
22
+ args: [i32, i32, i32, i32, i32, i32, i32, i32, i32, i32],
23
+ returns: FFIType.void,
24
+ },
25
+ DrawCylinderWiresW: { args: [i32, i32, i32, i32, i32, i32, i32, i32], returns: FFIType.void },
26
+ DrawCylinderWiresExW: {
27
+ args: [i32, i32, i32, i32, i32, i32, i32, i32, i32, i32],
28
+ returns: FFIType.void,
29
+ },
30
+ DrawCapsuleW: { args: [i32, i32, i32, i32, i32, i32, i32, i32, i32, i32], returns: FFIType.void },
31
+ DrawCapsuleWiresW: {
32
+ args: [i32, i32, i32, i32, i32, i32, i32, i32, i32, i32],
33
+ returns: FFIType.void,
34
+ },
35
+ DrawPlaneW: { args: [i32, i32, i32, i32, i32, i32], returns: FFIType.void },
36
+ DrawRayW: { args: [i32, i32, i32, i32, i32, i32, i32], returns: FFIType.void },
37
+ DrawGridW: { args: [i32, i32], returns: FFIType.void },
38
+ DrawModelW: { args: [i32, i32, i32, i32, i32, i32], returns: FFIType.void },
39
+ DrawModelExW: {
40
+ args: [i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32],
41
+ returns: FFIType.void,
42
+ },
43
+ DrawModelWiresW: { args: [i32, i32, i32, i32, i32, i32], returns: FFIType.void },
44
+ DrawModelWiresExW: {
45
+ args: [i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32],
46
+ returns: FFIType.void,
47
+ },
48
+ DrawBoundingBoxW: { args: [i32, i32, i32, i32, i32, i32, i32], returns: FFIType.void },
49
+ DrawBillboardW: {
50
+ args: [
51
+ i32,
52
+ i32,
53
+ i32,
54
+ i32,
55
+ i32,
56
+ i32,
57
+ i32,
58
+ i32,
59
+ i32,
60
+ i32,
61
+ i32,
62
+ i32,
63
+ i32,
64
+ i32,
65
+ i32,
66
+ i32,
67
+ i32,
68
+ i32,
69
+ i32,
70
+ ],
71
+ returns: FFIType.void,
72
+ },
73
+ DrawBillboardRecW: {
74
+ args: [
75
+ i32,
76
+ i32,
77
+ i32,
78
+ i32,
79
+ i32,
80
+ i32,
81
+ i32,
82
+ i32,
83
+ i32,
84
+ i32,
85
+ i32,
86
+ i32,
87
+ i32,
88
+ i32,
89
+ i32,
90
+ i32,
91
+ i32,
92
+ i32,
93
+ i32,
94
+ i32,
95
+ i32,
96
+ i32,
97
+ i32,
98
+ i32,
99
+ ],
100
+ returns: FFIType.void,
101
+ },
102
+ DrawBillboardProW: {
103
+ args: [
104
+ i32,
105
+ i32,
106
+ i32,
107
+ i32,
108
+ i32,
109
+ i32,
110
+ i32,
111
+ i32,
112
+ i32,
113
+ i32,
114
+ i32,
115
+ i32,
116
+ i32,
117
+ i32,
118
+ i32,
119
+ i32,
120
+ i32,
121
+ i32,
122
+ i32,
123
+ i32,
124
+ i32,
125
+ i32,
126
+ i32,
127
+ i32,
128
+ i32,
129
+ i32,
130
+ i32,
131
+ i32,
132
+ i32,
133
+ i32,
134
+ ],
135
+ returns: FFIType.void,
136
+ },
137
+ } as const;
@@ -0,0 +1,30 @@
1
+ import { FFIType } from "bun:ffi";
2
+ const { i32, cstring, bool, ptr } = FFIType;
3
+
4
+ export const filesystemSymbols = {
5
+ FileExistsW: { args: [cstring], returns: bool },
6
+ DirectoryExistsW: { args: [cstring], returns: bool },
7
+ IsFileExtensionW: { args: [cstring, cstring], returns: bool },
8
+ GetFileLengthW: { args: [cstring], returns: i32 },
9
+ GetFileExtensionW: { args: [cstring], returns: ptr },
10
+ GetFileNameW: { args: [cstring], returns: ptr },
11
+ GetFileNameWithoutExtW: { args: [cstring], returns: ptr },
12
+ GetDirectoryPathW: { args: [cstring], returns: ptr },
13
+ GetPrevDirectoryPathW: { args: [cstring], returns: ptr },
14
+ GetWorkingDirectoryW: { args: [], returns: ptr },
15
+ GetApplicationDirectoryW: { args: [], returns: ptr },
16
+ MakeDirectoryW: { args: [cstring], returns: i32 },
17
+ ChangeDirectoryW: { args: [cstring], returns: bool },
18
+ IsPathFileW: { args: [cstring], returns: bool },
19
+ IsFileNameValidW: { args: [cstring], returns: bool },
20
+ GetFileModTimeW: { args: [cstring], returns: FFIType.i64 },
21
+ LoadFileTextW: { args: [cstring], returns: ptr },
22
+ UnloadFileTextW: { args: [ptr], returns: FFIType.void },
23
+ SaveFileTextW: { args: [cstring, cstring], returns: bool },
24
+ ComputeCRC32W: { args: [ptr, i32], returns: i32 },
25
+ UnloadRandomSequenceW: { args: [ptr], returns: FFIType.void },
26
+ MemFreeW: { args: [ptr], returns: FFIType.void },
27
+ UnloadFileDataW: { args: [ptr], returns: FFIType.void },
28
+ SaveFileDataW: { args: [cstring, ptr, i32], returns: bool },
29
+ ExportDataAsCodeW: { args: [ptr, i32, cstring], returns: bool },
30
+ } as const;
@@ -0,0 +1,40 @@
1
+ import { FFIType } from "bun:ffi";
2
+ const { i32, cstring, bool, f32, ptr } = FFIType;
3
+
4
+ export const fontSymbols = {
5
+ LoadFontW: { args: [cstring], returns: i32 },
6
+ LoadFontExW: { args: [cstring, i32], returns: i32 },
7
+ GetFontDefaultW: { args: [], returns: i32 },
8
+ UnloadFontW: { args: [i32], returns: FFIType.void },
9
+ IsFontValidW: { args: [i32], returns: bool },
10
+ MeasureTextW: { args: [cstring, i32], returns: i32 },
11
+ MeasureTextExW: { args: [ptr, i32, cstring, i32, i32], returns: FFIType.void },
12
+ DrawTextExW: { args: [i32, cstring, i32, i32, i32, i32, i32], returns: FFIType.void },
13
+ DrawTextProW: {
14
+ args: [i32, cstring, i32, i32, i32, i32, i32, i32, i32, i32],
15
+ returns: FFIType.void,
16
+ },
17
+ SetTextLineSpacingW: { args: [i32], returns: FFIType.void },
18
+ LoadFontFromImageW: { args: [i32, i32, i32], returns: i32 },
19
+ LoadFontFromMemoryW: { args: [cstring, ptr, i32, i32], returns: i32 },
20
+ ExportFontAsCodeW: { args: [i32, cstring], returns: bool },
21
+ DrawTextCodepointW: { args: [i32, i32, i32, i32, i32, i32], returns: FFIType.void },
22
+ DrawTextCodepointsW: { args: [i32, ptr, i32, i32, i32, i32, i32, i32], returns: FFIType.void },
23
+ GetGlyphIndexW: { args: [i32, i32], returns: i32 },
24
+ GetGlyphInfoW: { args: [ptr, ptr, ptr, ptr, ptr, i32, i32], returns: FFIType.void },
25
+ GetGlyphAtlasRecW: { args: [ptr, i32, i32], returns: FFIType.void },
26
+ GetCodepointW: { args: [cstring, ptr], returns: i32 },
27
+ GetCodepointNextW: { args: [cstring, ptr], returns: i32 },
28
+ GetCodepointPreviousW: { args: [cstring, ptr], returns: i32 },
29
+ GetCodepointCountW: { args: [cstring], returns: i32 },
30
+ TextIsEqualW: { args: [cstring, cstring], returns: bool },
31
+ TextLengthW: { args: [cstring], returns: i32 },
32
+ TextToIntegerW: { args: [cstring], returns: i32 },
33
+ TextToFloatW: { args: [cstring], returns: f32 },
34
+ TextFindIndexW: { args: [cstring, cstring], returns: i32 },
35
+ UnloadFontDataW: { args: [ptr, i32], returns: FFIType.void },
36
+ UnloadUTF8W: { args: [ptr], returns: FFIType.void },
37
+ UnloadCodepointsW: { args: [ptr], returns: FFIType.void },
38
+ TextCopyW: { args: [ptr, cstring], returns: i32 },
39
+ TextAppendW: { args: [ptr, cstring, ptr], returns: FFIType.void },
40
+ } as const;
@@ -0,0 +1,90 @@
1
+ import { FFIType } from "bun:ffi";
2
+ const { i32, cstring, bool, ptr } = FFIType;
3
+
4
+ export const imageSymbols = {
5
+ LoadImageW: { args: [cstring], returns: i32 },
6
+ LoadImageRawW: { args: [cstring, i32, i32, i32, i32], returns: i32 },
7
+ LoadImageAnimW: { args: [ptr, ptr, cstring], returns: FFIType.void },
8
+ LoadImageFromMemoryW: { args: [cstring, ptr, i32], returns: i32 },
9
+ LoadImageFromTextureW: { args: [i32, i32, i32], returns: i32 },
10
+ LoadImageFromScreenW: { args: [], returns: i32 },
11
+ IsImageValidW: { args: [i32], returns: bool },
12
+ UnloadImageW: { args: [i32], returns: FFIType.void },
13
+ ExportImageW: { args: [i32, cstring], returns: bool },
14
+ ExportImageAsCodeW: { args: [i32, cstring], returns: bool },
15
+ GenImageColorW: { args: [i32, i32, i32], returns: i32 },
16
+ GenImageGradientLinearW: { args: [i32, i32, i32, i32, i32], returns: i32 },
17
+ GenImageGradientRadialW: { args: [i32, i32, i32, i32, i32], returns: i32 },
18
+ GenImageGradientSquareW: { args: [i32, i32, i32, i32, i32], returns: i32 },
19
+ GenImageCheckedW: { args: [i32, i32, i32, i32, i32, i32], returns: i32 },
20
+ GenImageWhiteNoiseW: { args: [i32, i32, i32], returns: i32 },
21
+ GenImagePerlinNoiseW: { args: [i32, i32, i32, i32, i32], returns: i32 },
22
+ GenImageCellularW: { args: [i32, i32, i32], returns: i32 },
23
+ GenImageTextW: { args: [i32, i32, cstring], returns: i32 },
24
+ ImageCopyW: { args: [i32], returns: i32 },
25
+ ImageFromImageW: { args: [i32, i32, i32, i32, i32], returns: i32 },
26
+ ImageFromChannelW: { args: [i32, i32], returns: i32 },
27
+ ImageTextW: { args: [cstring, i32, i32], returns: i32 },
28
+ ImageTextExW: { args: [i32, cstring, i32, i32, i32], returns: i32 },
29
+ ImageFormatW: { args: [i32, i32], returns: FFIType.void },
30
+ ImageCropW: { args: [i32, i32, i32, i32, i32], returns: FFIType.void },
31
+ ImageAlphaCropW: { args: [i32, i32], returns: FFIType.void },
32
+ ImageAlphaClearW: { args: [i32, i32, i32], returns: FFIType.void },
33
+ ImageAlphaMaskW: { args: [i32, i32], returns: FFIType.void },
34
+ ImageAlphaPremultiplyW: { args: [i32], returns: FFIType.void },
35
+ ImageBlurGaussianW: { args: [i32, i32], returns: FFIType.void },
36
+ ImageResizeW: { args: [i32, i32, i32], returns: FFIType.void },
37
+ ImageResizeNNW: { args: [i32, i32, i32], returns: FFIType.void },
38
+ ImageResizeCanvasW: { args: [i32, i32, i32, i32, i32, i32], returns: FFIType.void },
39
+ ImageMipmapsW: { args: [i32], returns: FFIType.void },
40
+ ImageDitherW: { args: [i32, i32, i32, i32, i32], returns: FFIType.void },
41
+ ImageFlipVerticalW: { args: [i32], returns: FFIType.void },
42
+ ImageFlipHorizontalW: { args: [i32], returns: FFIType.void },
43
+ ImageRotateW: { args: [i32, i32], returns: FFIType.void },
44
+ ImageRotateCWW: { args: [i32], returns: FFIType.void },
45
+ ImageRotateCCWW: { args: [i32], returns: FFIType.void },
46
+ ImageColorTintW: { args: [i32, i32], returns: FFIType.void },
47
+ ImageColorInvertW: { args: [i32], returns: FFIType.void },
48
+ ImageColorGrayscaleW: { args: [i32], returns: FFIType.void },
49
+ ImageColorContrastW: { args: [i32, i32], returns: FFIType.void },
50
+ ImageColorBrightnessW: { args: [i32, i32], returns: FFIType.void },
51
+ ImageColorReplaceW: { args: [i32, i32, i32], returns: FFIType.void },
52
+ GetImageAlphaBorderW: { args: [ptr, i32, i32], returns: FFIType.void },
53
+ GetImageColorW: { args: [i32, i32, i32], returns: i32 },
54
+ ImageClearBackgroundW: { args: [i32, i32], returns: FFIType.void },
55
+ ImageDrawPixelW: { args: [i32, i32, i32, i32], returns: FFIType.void },
56
+ ImageDrawPixelVW: { args: [i32, i32, i32, i32], returns: FFIType.void },
57
+ ImageDrawLineW: { args: [i32, i32, i32, i32, i32, i32], returns: FFIType.void },
58
+ ImageDrawLineVW: { args: [i32, i32, i32, i32, i32, i32], returns: FFIType.void },
59
+ ImageDrawLineExW: { args: [i32, i32, i32, i32, i32, i32, i32], returns: FFIType.void },
60
+ ImageDrawCircleW: { args: [i32, i32, i32, i32, i32], returns: FFIType.void },
61
+ ImageDrawCircleVW: { args: [i32, i32, i32, i32, i32], returns: FFIType.void },
62
+ ImageDrawCircleLinesW: { args: [i32, i32, i32, i32, i32], returns: FFIType.void },
63
+ ImageDrawCircleLinesVW: { args: [i32, i32, i32, i32, i32], returns: FFIType.void },
64
+ ImageDrawRectangleW: { args: [i32, i32, i32, i32, i32, i32], returns: FFIType.void },
65
+ ImageDrawRectangleVW: { args: [i32, i32, i32, i32, i32, i32], returns: FFIType.void },
66
+ ImageDrawRectangleRecW: { args: [i32, i32, i32, i32, i32, i32], returns: FFIType.void },
67
+ ImageDrawRectangleLinesW: { args: [i32, i32, i32, i32, i32, i32, i32], returns: FFIType.void },
68
+ ImageDrawTriangleW: { args: [i32, i32, i32, i32, i32, i32, i32, i32], returns: FFIType.void },
69
+ ImageDrawTriangleExW: {
70
+ args: [i32, i32, i32, i32, i32, i32, i32, i32, i32, i32],
71
+ returns: FFIType.void,
72
+ },
73
+ ImageDrawTriangleLinesW: {
74
+ args: [i32, i32, i32, i32, i32, i32, i32, i32],
75
+ returns: FFIType.void,
76
+ },
77
+ ImageDrawTriangleFanW: { args: [i32, ptr, i32, i32], returns: FFIType.void },
78
+ ImageDrawTriangleStripW: { args: [i32, ptr, i32, i32], returns: FFIType.void },
79
+ ImageDrawW: {
80
+ args: [i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32],
81
+ returns: FFIType.void,
82
+ },
83
+ ImageDrawTextW: { args: [i32, cstring, i32, i32, i32, i32], returns: FFIType.void },
84
+ ImageDrawTextExW: { args: [i32, i32, cstring, i32, i32, i32, i32, i32], returns: FFIType.void },
85
+ ImageToPOTW: { args: [i32, i32], returns: FFIType.void },
86
+ ImageKernelConvolutionW: { args: [i32, ptr, i32], returns: FFIType.void },
87
+ UnloadImageColorsW: { args: [ptr], returns: FFIType.void },
88
+ UnloadImagePaletteW: { args: [ptr], returns: FFIType.void },
89
+ LoadImageAnimFromMemoryW: { args: [cstring, ptr, i32, ptr], returns: i32 },
90
+ } as const;
@@ -0,0 +1,51 @@
1
+ import { FFIType } from "bun:ffi";
2
+ const { i32, cstring, bool, f32, ptr } = FFIType;
3
+
4
+ export const inputSymbols = {
5
+ IsKeyPressedW: { args: [i32], returns: bool },
6
+ IsKeyPressedRepeatW: { args: [i32], returns: bool },
7
+ IsKeyDownW: { args: [i32], returns: bool },
8
+ IsKeyReleasedW: { args: [i32], returns: bool },
9
+ IsKeyUpW: { args: [i32], returns: bool },
10
+ GetKeyPressedW: { args: [], returns: i32 },
11
+ GetCharPressedW: { args: [], returns: i32 },
12
+ SetExitKeyW: { args: [i32], returns: FFIType.void },
13
+ IsGamepadAvailableW: { args: [i32], returns: bool },
14
+ GetGamepadNameW: { args: [i32], returns: cstring },
15
+ IsGamepadButtonPressedW: { args: [i32, i32], returns: bool },
16
+ IsGamepadButtonDownW: { args: [i32, i32], returns: bool },
17
+ IsGamepadButtonReleasedW: { args: [i32, i32], returns: bool },
18
+ IsGamepadButtonUpW: { args: [i32, i32], returns: bool },
19
+ GetGamepadButtonPressedW: { args: [], returns: i32 },
20
+ GetGamepadAxisCountW: { args: [i32], returns: i32 },
21
+ GetGamepadAxisMovementW: { args: [i32, i32], returns: f32 },
22
+ SetGamepadMappingsW: { args: [cstring], returns: i32 },
23
+ SetGamepadVibrationW: { args: [i32, f32, f32, f32], returns: FFIType.void },
24
+ IsMouseButtonPressedW: { args: [i32], returns: bool },
25
+ IsMouseButtonDownW: { args: [i32], returns: bool },
26
+ IsMouseButtonReleasedW: { args: [i32], returns: bool },
27
+ IsMouseButtonUpW: { args: [i32], returns: bool },
28
+ GetMouseXW: { args: [], returns: i32 },
29
+ GetMouseYW: { args: [], returns: i32 },
30
+ GetMousePositionW: { args: [ptr], returns: FFIType.void },
31
+ GetMouseDeltaW: { args: [ptr], returns: FFIType.void },
32
+ SetMousePositionW: { args: [i32, i32], returns: FFIType.void },
33
+ SetMouseOffsetW: { args: [i32, i32], returns: FFIType.void },
34
+ SetMouseScaleW: { args: [f32, f32], returns: FFIType.void },
35
+ GetMouseWheelMoveW: { args: [], returns: f32 },
36
+ GetMouseWheelMoveVW: { args: [ptr], returns: FFIType.void },
37
+ SetMouseCursorW: { args: [i32], returns: FFIType.void },
38
+ GetTouchXW: { args: [], returns: i32 },
39
+ GetTouchYW: { args: [], returns: i32 },
40
+ GetTouchPositionW: { args: [ptr, i32], returns: FFIType.void },
41
+ GetTouchPointIdW: { args: [i32], returns: i32 },
42
+ GetTouchPointCountW: { args: [], returns: i32 },
43
+ SetGesturesEnabledW: { args: [i32], returns: FFIType.void },
44
+ IsGestureDetectedW: { args: [i32], returns: bool },
45
+ GetGestureDetectedW: { args: [], returns: i32 },
46
+ GetGestureHoldDurationW: { args: [], returns: f32 },
47
+ GetGestureDragVectorW: { args: [ptr], returns: FFIType.void },
48
+ GetGestureDragAngleW: { args: [], returns: f32 },
49
+ GetGesturePinchVectorW: { args: [ptr], returns: FFIType.void },
50
+ GetGesturePinchAngleW: { args: [], returns: f32 },
51
+ } as const;
@@ -0,0 +1,38 @@
1
+ import { FFIType } from "bun:ffi";
2
+ const { i32, cstring, bool, ptr } = FFIType;
3
+
4
+ export const modelSymbols = {
5
+ LoadModelW: { args: [cstring], returns: i32 },
6
+ UnloadModelW: { args: [i32], returns: FFIType.void },
7
+ IsModelValidW: { args: [i32], returns: bool },
8
+ GetModelBoundingBoxW: { args: [ptr, ptr, i32], returns: FFIType.void },
9
+ LoadModelFromMeshW: { args: [i32], returns: i32 },
10
+ UnloadMeshW: { args: [i32], returns: FFIType.void },
11
+ UploadMeshW: { args: [i32, bool], returns: FFIType.void },
12
+ GetMeshBoundingBoxW: { args: [ptr, ptr, i32], returns: FFIType.void },
13
+ GenMeshTangentsW: { args: [i32], returns: FFIType.void },
14
+ ExportMeshW: { args: [i32, cstring], returns: bool },
15
+ ExportMeshAsCodeW: { args: [i32, cstring], returns: bool },
16
+ GenMeshPolyW: { args: [i32, i32], returns: i32 },
17
+ GenMeshPlaneW: { args: [i32, i32, i32, i32], returns: i32 },
18
+ GenMeshCubeW: { args: [i32, i32, i32], returns: i32 },
19
+ GenMeshSphereW: { args: [i32, i32, i32], returns: i32 },
20
+ GenMeshHemiSphereW: { args: [i32, i32, i32], returns: i32 },
21
+ GenMeshCylinderW: { args: [i32, i32, i32], returns: i32 },
22
+ GenMeshConeW: { args: [i32, i32, i32], returns: i32 },
23
+ GenMeshTorusW: { args: [i32, i32, i32, i32], returns: i32 },
24
+ GenMeshKnotW: { args: [i32, i32, i32, i32], returns: i32 },
25
+ GenMeshHeightmapW: { args: [i32, i32, i32, i32], returns: i32 },
26
+ GenMeshCubicmapW: { args: [i32, i32, i32, i32], returns: i32 },
27
+ UpdateMeshBufferW: { args: [i32, i32, ptr, i32, i32], returns: FFIType.void },
28
+ LoadMaterialDefaultW: { args: [], returns: i32 },
29
+ IsMaterialValidW: { args: [i32], returns: bool },
30
+ UnloadMaterialW: { args: [i32], returns: FFIType.void },
31
+ SetMaterialTextureW: { args: [i32, i32, i32, i32, i32], returns: FFIType.void },
32
+ SetModelMeshMaterialW: { args: [i32, i32, i32], returns: FFIType.void },
33
+ LoadModelAnimationsW: { args: [ptr, ptr, cstring], returns: FFIType.void },
34
+ UpdateModelAnimationW: { args: [i32, i32, i32], returns: FFIType.void },
35
+ UpdateModelAnimationExW: { args: [i32, i32, i32, i32, i32, i32], returns: FFIType.void },
36
+ UnloadModelAnimationsW: { args: [i32, i32], returns: FFIType.void },
37
+ IsModelAnimationValidW: { args: [i32, i32], returns: bool },
38
+ } as const;
@@ -0,0 +1,15 @@
1
+ import { FFIType } from "bun:ffi";
2
+ const { i32, cstring, bool, ptr } = FFIType;
3
+
4
+ export const shaderSymbols = {
5
+ LoadShaderW: { args: [ptr, ptr], returns: i32 },
6
+ LoadShaderFromMemoryW: { args: [ptr, ptr], returns: i32 },
7
+ IsShaderValidW: { args: [i32], returns: bool },
8
+ GetShaderLocationW: { args: [i32, cstring], returns: i32 },
9
+ GetShaderLocationAttribW: { args: [i32, cstring], returns: i32 },
10
+ SetShaderValueMatrixW: { args: [i32, i32, ptr], returns: FFIType.void },
11
+ SetShaderValueTextureW: { args: [i32, i32, i32, i32, i32], returns: FFIType.void },
12
+ UnloadShaderW: { args: [i32], returns: FFIType.void },
13
+ BeginShaderModeW: { args: [i32], returns: FFIType.void },
14
+ EndShaderModeW: { args: [], returns: FFIType.void },
15
+ } as const;