aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2022-03-03 13:54:31 +0000
committergingerBill <bill@gingerbill.org>2022-03-03 13:54:31 +0000
commit0b05650366258a56c8da17848e238a21a377afb3 (patch)
tree84775a991a07ef462295ed982c33797b923e72bd
parent96e36c7c395025a7db5f37675eddbf6d143f3fff (diff)
parent16c6dbcbe52366e8cd86054d7625931b72827c31 (diff)
Merge branch 'master' of https://github.com/odin-lang/Odin
-rw-r--r--.github/FUNDING.yml1
-rw-r--r--core/crypto/rand_generic.odin2
-rw-r--r--core/crypto/rand_windows.odin23
-rw-r--r--core/fmt/fmt.odin28
-rw-r--r--examples/all/all_vendor.odin23
-rw-r--r--examples/all/all_vendor_directx.odin10
-rw-r--r--examples/all/all_vendor_stl.odin15
-rw-r--r--vendor/ENet/unix.odin6
-rw-r--r--vendor/botan/bindings/botan.odin6
-rw-r--r--vendor/glfw/bindings/bindings.odin7
-rw-r--r--vendor/miniaudio/common.odin9
-rw-r--r--vendor/miniaudio/data_conversion.odin10
-rw-r--r--vendor/miniaudio/decoding.odin13
-rw-r--r--vendor/miniaudio/device_io_procs.odin9
-rw-r--r--vendor/miniaudio/device_io_types.odin8
-rw-r--r--vendor/miniaudio/encoding.odin11
-rw-r--r--vendor/miniaudio/filtering.odin9
-rw-r--r--vendor/miniaudio/generation.odin11
-rw-r--r--vendor/miniaudio/logging.odin11
-rw-r--r--vendor/miniaudio/src/Makefile6
-rw-r--r--vendor/miniaudio/utilities.odin11
-rw-r--r--vendor/miniaudio/vfs.odin9
-rw-r--r--vendor/portmidi/portmidi.odin4
-rw-r--r--vendor/portmidi/util.odin8
-rw-r--r--vendor/raylib/raylib.odin12
-rw-r--r--vendor/raylib/rlgl.odin10
-rw-r--r--vendor/sdl2/image/sdl_image.odin11
-rw-r--r--vendor/sdl2/mixer/sdl_mixer.odin10
-rw-r--r--vendor/sdl2/net/sdl_net.odin11
-rw-r--r--vendor/sdl2/sdl2.odin11
-rw-r--r--vendor/sdl2/sdl_audio.odin9
-rw-r--r--vendor/sdl2/sdl_blendmode.odin11
-rw-r--r--vendor/sdl2/sdl_cpuinfo.odin11
-rw-r--r--vendor/sdl2/sdl_events.odin11
-rw-r--r--vendor/sdl2/sdl_gamecontroller.odin9
-rw-r--r--vendor/sdl2/sdl_gesture_haptic.odin11
-rw-r--r--vendor/sdl2/sdl_hints.odin11
-rw-r--r--vendor/sdl2/sdl_joystick.odin11
-rw-r--r--vendor/sdl2/sdl_keyboard.odin9
-rw-r--r--vendor/sdl2/sdl_log.odin11
-rw-r--r--vendor/sdl2/sdl_messagebox.odin9
-rw-r--r--vendor/sdl2/sdl_metal.odin11
-rw-r--r--vendor/sdl2/sdl_mouse.odin11
-rw-r--r--vendor/sdl2/sdl_mutex.odin11
-rw-r--r--vendor/sdl2/sdl_pixels.odin11
-rw-r--r--vendor/sdl2/sdl_rect.odin11
-rw-r--r--vendor/sdl2/sdl_render.odin11
-rw-r--r--vendor/sdl2/sdl_rwops.odin11
-rw-r--r--vendor/sdl2/sdl_stdinc.odin11
-rw-r--r--vendor/sdl2/sdl_surface.odin11
-rw-r--r--vendor/sdl2/sdl_system.odin11
-rw-r--r--vendor/sdl2/sdl_syswm.odin11
-rw-r--r--vendor/sdl2/sdl_thread.odin9
-rw-r--r--vendor/sdl2/sdl_timer.odin11
-rw-r--r--vendor/sdl2/sdl_touch.odin11
-rw-r--r--vendor/sdl2/sdl_video.odin11
-rw-r--r--vendor/sdl2/sdl_vulkan.odin11
-rw-r--r--vendor/sdl2/ttf/sdl_ttf.odin11
-rw-r--r--vendor/stb/src/Makefile26
59 files changed, 386 insertions, 253 deletions
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
index 89b7ffa10..885612f13 100644
--- a/.github/FUNDING.yml
+++ b/.github/FUNDING.yml
@@ -1,3 +1,4 @@
# These are supported funding model platforms
+github: odin-lang
patreon: gingerbill
diff --git a/core/crypto/rand_generic.odin b/core/crypto/rand_generic.odin
index 10edc1c8a..52abfe4d7 100644
--- a/core/crypto/rand_generic.odin
+++ b/core/crypto/rand_generic.odin
@@ -1,6 +1,6 @@
package crypto
-when ODIN_OS != .Linux && ODIN_OS != .OpenBSD {
+when ODIN_OS != .Linux && ODIN_OS != .OpenBSD && ODIN_OS != .Windows {
_rand_bytes :: proc (dst: []byte) {
unimplemented("crypto: rand_bytes not supported on this OS")
}
diff --git a/core/crypto/rand_windows.odin b/core/crypto/rand_windows.odin
new file mode 100644
index 000000000..53b58c776
--- /dev/null
+++ b/core/crypto/rand_windows.odin
@@ -0,0 +1,23 @@
+package crypto
+
+import win32 "core:sys/windows"
+import "core:os"
+import "core:fmt"
+
+_rand_bytes :: proc(dst: []byte) {
+ ret := (os.Errno)(win32.BCryptGenRandom(nil, raw_data(dst), u32(len(dst)), win32.BCRYPT_USE_SYSTEM_PREFERRED_RNG))
+ if ret != os.ERROR_NONE {
+ switch ret {
+ case os.ERROR_INVALID_HANDLE:
+ // The handle to the first parameter is invalid.
+ // This should not happen here, since we explicitly pass nil to it
+ panic("crypto: BCryptGenRandom Invalid handle for hAlgorithm")
+ case os.ERROR_INVALID_PARAMETER:
+ // One of the parameters was invalid
+ panic("crypto: BCryptGenRandom Invalid parameter")
+ case:
+ // Unknown error
+ panic(fmt.tprintf("crypto: BCryptGenRandom failed: %d\n", ret))
+ }
+ }
+}
diff --git a/core/fmt/fmt.odin b/core/fmt/fmt.odin
index d6c1894b7..d006d0ef8 100644
--- a/core/fmt/fmt.odin
+++ b/core/fmt/fmt.odin
@@ -605,7 +605,7 @@ fmt_bad_verb :: proc(using fi: ^Info, verb: rune) {
fmt_bool :: proc(using fi: ^Info, b: bool, verb: rune) {
switch verb {
case 't', 'v':
- io.write_string(writer, b ? "true" : "false", &fi.n)
+ fmt_string(fi, b ? "true" : "false", 's')
case:
fmt_bad_verb(fi, verb)
}
@@ -943,11 +943,27 @@ fmt_float :: proc(fi: ^Info, v: f64, bit_size: int, verb: rune) {
fmt_string :: proc(fi: ^Info, s: string, verb: rune) {
switch verb {
case 's', 'v':
- io.write_string(fi.writer, s, &fi.n)
- if fi.width_set && len(s) < fi.width {
- for _ in 0..<fi.width - len(s) {
- io.write_byte(fi.writer, ' ', &fi.n)
+ if fi.width_set {
+ if fi.width > len(s) {
+ if fi.minus {
+ io.write_string(fi.writer, s, &fi.n)
+ }
+
+ for _ in 0..<fi.width - len(s) {
+ io.write_byte(fi.writer, ' ', &fi.n)
+ }
+
+ if !fi.minus {
+ io.write_string(fi.writer, s, &fi.n)
+ }
}
+ else {
+ io.write_string(fi.writer, s[:fi.width], &fi.n)
+ }
+ }
+ else
+ {
+ io.write_string(fi.writer, s, &fi.n)
}
case 'q': // quoted string
@@ -1058,7 +1074,7 @@ fmt_enum :: proc(fi: ^Info, v: any, verb: rune) {
fmt_arg(fi, any{v.data, runtime.type_info_base(e.base).id}, verb)
case 's', 'v':
if str, ok := enum_value_to_string(v); ok {
- io.write_string(fi.writer, str, &fi.n)
+ fmt_string(fi, str, 's')
} else {
io.write_string(fi.writer, "%!(BAD ENUM VALUE=", &fi.n)
fmt_arg(fi, any{v.data, runtime.type_info_base(e.base).id}, 'i')
diff --git a/examples/all/all_vendor.odin b/examples/all/all_vendor.odin
index 9aa109e5b..f83e906a2 100644
--- a/examples/all/all_vendor.odin
+++ b/examples/all/all_vendor.odin
@@ -1,4 +1,3 @@
-//+build windows
package all
import botan "vendor:botan"
@@ -16,24 +15,12 @@ import IMG "vendor:sdl2/image"
import MIX "vendor:sdl2/mixer"
import TTF "vendor:sdl2/ttf"
-import stb_easy_font "vendor:stb/easy_font"
-import stbi "vendor:stb/image"
-import stbrp "vendor:stb/rect_pack"
-import stbtt "vendor:stb/truetype"
-import stb_vorbis "vendor:stb/vorbis"
-
import vk "vendor:vulkan"
-import D3D11 "vendor:directx/d3d11"
-import D3D12 "vendor:directx/d3d12"
-import DXGI "vendor:directx/dxgi"
-
-// note these are technicaly darwin only but they are added to aid with documentation generation
import NS "vendor:darwin/Foundation"
import MTL "vendor:darwin/Metal"
import CA "vendor:darwin/QuartzCore"
-
_ :: botan
_ :: ENet
_ :: gl
@@ -47,15 +34,7 @@ _ :: SDLNet
_ :: IMG
_ :: MIX
_ :: TTF
-_ :: stb_easy_font
-_ :: stbi
-_ :: stbrp
-_ :: stbtt
-_ :: stb_vorbis
_ :: vk
-_ :: D3D11
-_ :: D3D12
-_ :: DXGI
_ :: NS
_ :: MTL
-_ :: CA \ No newline at end of file
+_ :: CA
diff --git a/examples/all/all_vendor_directx.odin b/examples/all/all_vendor_directx.odin
new file mode 100644
index 000000000..2f10d92f8
--- /dev/null
+++ b/examples/all/all_vendor_directx.odin
@@ -0,0 +1,10 @@
+//+build windows
+package all
+
+import D3D11 "vendor:directx/d3d11"
+import D3D12 "vendor:directx/d3d12"
+import DXGI "vendor:directx/dxgi"
+
+_ :: D3D11
+_ :: D3D12
+_ :: DXGI
diff --git a/examples/all/all_vendor_stl.odin b/examples/all/all_vendor_stl.odin
new file mode 100644
index 000000000..9faf53c63
--- /dev/null
+++ b/examples/all/all_vendor_stl.odin
@@ -0,0 +1,15 @@
+//+build windows, linux
+package all
+
+import stb_easy_font "vendor:stb/easy_font"
+import stbi "vendor:stb/image"
+import stbrp "vendor:stb/rect_pack"
+import stbtt "vendor:stb/truetype"
+import stb_vorbis "vendor:stb/vorbis"
+
+_ :: stb_easy_font
+_ :: stbi
+_ :: stbrp
+_ :: stbtt
+_ :: stb_vorbis
+
diff --git a/vendor/ENet/unix.odin b/vendor/ENet/unix.odin
index ea6b84199..05ce41e05 100644
--- a/vendor/ENet/unix.odin
+++ b/vendor/ENet/unix.odin
@@ -1,4 +1,4 @@
-//+build linux, darwin, freebsd
+//+build linux, darwin, freebsd, openbsd
package ENet
// When we implement the appropriate bindings for Unix, the section separated
@@ -14,7 +14,7 @@ import "core:c"
@(private="file") FD_ZERO :: #force_inline proc(s: ^fd_set) {
for i := size_of(fd_set) / size_of(c.long); i != 0; i -= 1 {
- s.fds_bits[i] = 0;
+ s.fds_bits[i] = 0
}
}
@@ -56,4 +56,4 @@ SOCKETSET_REMOVE :: #force_inline proc(sockset: ^SocketSet, socket: Socket) {
SOCKSET_CHECK :: #force_inline proc(sockset: ^SocketSet, socket: Socket) -> bool {
return FD_ISSET(i32(socket), cast(^fd_set)sockset)
-} \ No newline at end of file
+}
diff --git a/vendor/botan/bindings/botan.odin b/vendor/botan/bindings/botan.odin
index 3eaad0bc1..a12706e95 100644
--- a/vendor/botan/bindings/botan.odin
+++ b/vendor/botan/bindings/botan.odin
@@ -142,11 +142,7 @@ fpe_t :: ^fpe_struct
when ODIN_OS == .Windows {
foreign import botan_lib "botan.lib"
-} else when ODIN_OS == .Linux {
- foreign import botan_lib "system:botan-2"
-} else when ODIN_OS == .Darwin {
- foreign import botan_lib "system:botan-2"
-} else when ODIN_OS == .OpenBSD {
+} else {
foreign import botan_lib "system:botan-2"
}
diff --git a/vendor/glfw/bindings/bindings.odin b/vendor/glfw/bindings/bindings.odin
index f4e39015e..aa1578153 100644
--- a/vendor/glfw/bindings/bindings.odin
+++ b/vendor/glfw/bindings/bindings.odin
@@ -3,8 +3,6 @@ package glfw_bindings
import "core:c"
import vk "vendor:vulkan"
-when ODIN_OS == .Linux { foreign import glfw "system:glfw" } // TODO: Add the billion-or-so static libs to link to in linux
-when ODIN_OS == .Darwin { foreign import glfw "system:glfw" }
when ODIN_OS == .Windows {
foreign import glfw {
"../lib/glfw3_mt.lib",
@@ -12,6 +10,11 @@ when ODIN_OS == .Windows {
"system:gdi32.lib",
"system:shell32.lib",
}
+} else when ODIN_OS == .Linux {
+ // TODO: Add the billion-or-so static libs to link to in linux
+ foreign import glfw "system:glfw"
+} else {
+ foreign import glfw "system:glfw"
}
#assert(size_of(c.int) == size_of(b32))
diff --git a/vendor/miniaudio/common.odin b/vendor/miniaudio/common.odin
index 75b66101f..89e3d6bd2 100644
--- a/vendor/miniaudio/common.odin
+++ b/vendor/miniaudio/common.odin
@@ -2,8 +2,13 @@ package miniaudio
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "lib/miniaudio.lib" }
-when ODIN_OS == .Linux { foreign import lib "lib/miniaudio.a" }
+when ODIN_OS == .Windows {
+ foreign import lib "lib/miniaudio.lib"
+} else when ODIN_OS == .Linux {
+ foreign import lib "lib/miniaudio.a"
+} else {
+ foreign import lib "system:miniaudio"
+}
handle :: distinct rawptr
diff --git a/vendor/miniaudio/data_conversion.odin b/vendor/miniaudio/data_conversion.odin
index 8a53cc19e..7167270a1 100644
--- a/vendor/miniaudio/data_conversion.odin
+++ b/vendor/miniaudio/data_conversion.odin
@@ -2,9 +2,13 @@ package miniaudio
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "lib/miniaudio.lib" }
-when ODIN_OS == .Linux { foreign import lib "lib/miniaudio.a" }
-
+when ODIN_OS == .Windows {
+ foreign import lib "lib/miniaudio.lib"
+} else when ODIN_OS == .Linux {
+ foreign import lib "lib/miniaudio.a"
+} else {
+ foreign import lib "system:miniaudio"
+}
/************************************************************************************************************************************************************
*************************************************************************************************************************************************************
diff --git a/vendor/miniaudio/decoding.odin b/vendor/miniaudio/decoding.odin
index 52b315f10..dcf3b7a1a 100644
--- a/vendor/miniaudio/decoding.odin
+++ b/vendor/miniaudio/decoding.odin
@@ -2,10 +2,13 @@ package miniaudio
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "lib/miniaudio.lib" }
-when ODIN_OS == .Linux { foreign import lib "lib/miniaudio.a" }
-
-
+when ODIN_OS == .Windows {
+ foreign import lib "lib/miniaudio.lib"
+} else when ODIN_OS == .Linux {
+ foreign import lib "lib/miniaudio.a"
+} else {
+ foreign import lib "system:miniaudio"
+}
/************************************************************************************************************************************************************
@@ -164,4 +167,4 @@ foreign lib {
decode_from_vfs :: proc(pVFS: ^vfs, pFilePath: cstring, pConfig: ^decoder_config, pFrameCountOut: ^u64, ppPCMFramesOut: ^rawptr) -> result ---
decode_file :: proc(pFilePath: cstring, pConfig: ^decoder_config, pFrameCountOut: ^u64, ppPCMFramesOut: ^rawptr) -> result ---
decode_memory :: proc(pData: rawptr, dataSize: c.size_t, pConfig: ^decoder_config, pFrameCountOut: ^u64, ppPCMFramesOut: ^rawptr) -> result ---
-} \ No newline at end of file
+}
diff --git a/vendor/miniaudio/device_io_procs.odin b/vendor/miniaudio/device_io_procs.odin
index 8d6609186..7cff3f621 100644
--- a/vendor/miniaudio/device_io_procs.odin
+++ b/vendor/miniaudio/device_io_procs.odin
@@ -1,7 +1,12 @@
package miniaudio
-when ODIN_OS == .Windows { foreign import lib "lib/miniaudio.lib" }
-when ODIN_OS == .Linux { foreign import lib "lib/miniaudio.a" }
+when ODIN_OS == .Windows {
+ foreign import lib "lib/miniaudio.lib"
+} else when ODIN_OS == .Linux {
+ foreign import lib "lib/miniaudio.a"
+} else {
+ foreign import lib "system:miniaudio"
+}
import "core:c"
diff --git a/vendor/miniaudio/device_io_types.odin b/vendor/miniaudio/device_io_types.odin
index 7778e85cf..e05f94665 100644
--- a/vendor/miniaudio/device_io_types.odin
+++ b/vendor/miniaudio/device_io_types.odin
@@ -6,7 +6,7 @@ SUPPORT_WASAPI :: ODIN_OS == .Windows
SUPPORT_DSOUND :: ODIN_OS == .Windows
SUPPORT_WINMM :: ODIN_OS == .Windows
SUPPORT_COREAUDIO :: ODIN_OS == .Darwin
-SUPPORT_SNDIO :: false // ODIN_OS == .OpenBSD
+SUPPORT_SNDIO :: ODIN_OS == .OpenBSD
SUPPORT_AUDIO4 :: false // ODIN_OS == .OpenBSD || ODIN_OS == .NetBSD
SUPPORT_OSS :: ODIN_OS == .FreeBSD
SUPPORT_PULSEAUDIO :: ODIN_OS == .Linux
@@ -739,8 +739,8 @@ context_type :: struct {
pa_stream_writable_size: proc "system" (),
pa_stream_readable_size: proc "system" (),
- /*pa_mainloop**/ pMainLoop: ptr,
- /*pa_context**/ pPulseContext: ptr,
+ /*pa_mainloop**/ pMainLoop: rawptr,
+ /*pa_context**/ pPulseContext: rawptr,
} when SUPPORT_PULSEAUDIO else struct {}),
jack: (struct {
@@ -791,7 +791,7 @@ context_type :: struct {
AudioUnitInitialize: proc "system" (),
AudioUnitRender: proc "system" (),
- /*AudioComponent*/ component: ptr,
+ /*AudioComponent*/ component: rawptr,
noAudioSessionDeactivate: b32, /* For tracking whether or not the iOS audio session should be explicitly deactivated. Set from the config in ma_context_init__coreaudio(). */
} when SUPPORT_COREAUDIO else struct {}),
diff --git a/vendor/miniaudio/encoding.odin b/vendor/miniaudio/encoding.odin
index 83f9d5252..9b84108dc 100644
--- a/vendor/miniaudio/encoding.odin
+++ b/vendor/miniaudio/encoding.odin
@@ -2,8 +2,13 @@ package miniaudio
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "lib/miniaudio.lib" }
-when ODIN_OS == .Linux { foreign import lib "lib/miniaudio.a" }
+when ODIN_OS == .Windows {
+ foreign import lib "lib/miniaudio.lib"
+} else when ODIN_OS == .Linux {
+ foreign import lib "lib/miniaudio.a"
+} else {
+ foreign import lib "system:miniaudio"
+}
/************************************************************************************************************************************************************
@@ -49,4 +54,4 @@ foreign lib {
encoder_init_file_w :: proc(pFilePath: [^]c.wchar_t, pConfig: ^encoder_config, pEncoder: ^encoder) -> result ---
encoder_uninit :: proc(pEncoder: ^encoder) ---
encoder_write_pcm_frames :: proc(pEncoder: ^encoder, FramesIn: rawptr, frameCount: u64) -> u64 ---
-} \ No newline at end of file
+}
diff --git a/vendor/miniaudio/filtering.odin b/vendor/miniaudio/filtering.odin
index 4956da173..9949f6338 100644
--- a/vendor/miniaudio/filtering.odin
+++ b/vendor/miniaudio/filtering.odin
@@ -1,7 +1,12 @@
package miniaudio
-when ODIN_OS == .Windows { foreign import lib "lib/miniaudio.lib" }
-when ODIN_OS == .Linux { foreign import lib "lib/miniaudio.a" }
+when ODIN_OS == .Windows {
+ foreign import lib "lib/miniaudio.lib"
+} else when ODIN_OS == .Linux {
+ foreign import lib "lib/miniaudio.a"
+} else {
+ foreign import lib "system:miniaudio"
+}
/**************************************************************************************************************************************************************
diff --git a/vendor/miniaudio/generation.odin b/vendor/miniaudio/generation.odin
index c241f00b1..97b7d453c 100644
--- a/vendor/miniaudio/generation.odin
+++ b/vendor/miniaudio/generation.odin
@@ -2,8 +2,13 @@ package miniaudio
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "lib/miniaudio.lib" }
-when ODIN_OS == .Linux { foreign import lib "lib/miniaudio.a" }
+when ODIN_OS == .Windows {
+ foreign import lib "lib/miniaudio.lib"
+} else when ODIN_OS == .Linux {
+ foreign import lib "lib/miniaudio.a"
+} else {
+ foreign import lib "system:miniaudio"
+}
waveform_type :: enum c.int {
sine,
@@ -82,4 +87,4 @@ foreign lib {
noise_set_amplitude :: proc(pNoise: ^noise, amplitude: f64) -> result ---
noise_set_seed :: proc(pNoise: ^noise, seed: i32) -> result ---
noise_set_type :: proc(pNoise: ^noise, type: noise_type) -> result ---
-} \ No newline at end of file
+}
diff --git a/vendor/miniaudio/logging.odin b/vendor/miniaudio/logging.odin
index 35aa54bc9..0c14a10c2 100644
--- a/vendor/miniaudio/logging.odin
+++ b/vendor/miniaudio/logging.odin
@@ -2,8 +2,13 @@ package miniaudio
import c "core:c/libc"
-when ODIN_OS == .Windows { foreign import lib "lib/miniaudio.lib" }
-when ODIN_OS == .Linux { foreign import lib "lib/miniaudio.a" }
+when ODIN_OS == .Windows {
+ foreign import lib "lib/miniaudio.lib"
+} else when ODIN_OS == .Linux {
+ foreign import lib "lib/miniaudio.a"
+} else {
+ foreign import lib "system:miniaudio"
+}
MAX_LOG_CALLBACKS :: 4
@@ -32,4 +37,4 @@ foreign lib {
log_post :: proc(pLog: ^log, level: u32, pMessage: cstring) -> result ---
log_postv :: proc(pLog: ^log, level: u32, pFormat: cstring, args: c.va_list) -> result ---
log_postf :: proc(pLog: ^log, level: u32, pFormat: cstring, #c_vararg args: ..any) -> result ---
-} \ No newline at end of file
+}
diff --git a/vendor/miniaudio/src/Makefile b/vendor/miniaudio/src/Makefile
index 7ff72ebdc..3c61b5e2f 100644
--- a/vendor/miniaudio/src/Makefile
+++ b/vendor/miniaudio/src/Makefile
@@ -1,6 +1,6 @@
all:
mkdir -p ../lib
- gcc -c -O2 -Os -fPIC miniaudio.c
- ar rcs ../lib/miniaudio.a miniaudio.o
- #gcc -fPIC -shared -Wl,-soname=miniaudio.so -o ../lib/miniaudio.so miniaudio.o
+ $(CC) -c -O2 -Os -fPIC miniaudio.c
+ $(AR) rcs ../lib/miniaudio.a miniaudio.o
+ #$(CC) -fPIC -shared -Wl,-soname=miniaudio.so -o ../lib/miniaudio.so miniaudio.o
rm *.o
diff --git a/vendor/miniaudio/utilities.odin b/vendor/miniaudio/utilities.odin
index 19307a77d..9ced019f5 100644
--- a/vendor/miniaudio/utilities.odin
+++ b/vendor/miniaudio/utilities.odin
@@ -1,7 +1,12 @@
package miniaudio
-when ODIN_OS == .Windows { foreign import lib "lib/miniaudio.lib" }
-when ODIN_OS == .Linux { foreign import lib "lib/miniaudio.a" }
+when ODIN_OS == .Windows {
+ foreign import lib "lib/miniaudio.lib"
+} else when ODIN_OS == .Linux {
+ foreign import lib "lib/miniaudio.a"
+} else {
+ foreign import lib "system:miniaudio"
+}
@(default_calling_convention="c", link_prefix="ma_")
foreign lib {
@@ -228,4 +233,4 @@ foreign lib {
audio_buffer_get_cursor_in_pcm_frames :: proc(pAudioBuffer: ^audio_buffer, pCursor: ^u64) -> result ---
audio_buffer_get_length_in_pcm_frames :: proc(pAudioBuffer: ^audio_buffer, pLength: ^u64) -> result ---
audio_buffer_get_available_frames :: proc(pAudioBuffer: ^audio_buffer, pAvailableFrames: ^u64) -> result ---
-} \ No newline at end of file
+}
diff --git a/vendor/miniaudio/vfs.odin b/vendor/miniaudio/vfs.odin
index 547fbd265..85571341e 100644
--- a/vendor/miniaudio/vfs.odin
+++ b/vendor/miniaudio/vfs.odin
@@ -2,8 +2,13 @@ package miniaudio
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "lib/miniaudio.lib" }
-when ODIN_OS == .Linux { foreign import lib "lib/miniaudio.a" }
+when ODIN_OS == .Windows {
+ foreign import lib "lib/miniaudio.lib"
+} else when ODIN_OS == .Linux {
+ foreign import lib "lib/miniaudio.a"
+} else {
+ foreign import lib "system:miniaudio"
+}
/************************************************************************************************************************************************************
diff --git a/vendor/portmidi/portmidi.odin b/vendor/portmidi/portmidi.odin
index 40fd18b8b..a3db4191c 100644
--- a/vendor/portmidi/portmidi.odin
+++ b/vendor/portmidi/portmidi.odin
@@ -9,6 +9,8 @@ when ODIN_OS == .Windows {
"system:Winmm.lib",
"system:Advapi32.lib",
}
+} else {
+ foreign import lib "system:portmidi"
}
#assert(size_of(b32) == size_of(c.int))
@@ -519,4 +521,4 @@ foreign lib {
WriteSysEx() writes a timestamped system-exclusive midi message.
*/
WriteSysEx :: proc(stream: Stream, whence: Timestamp, msg: cstring) -> Error ---
-} \ No newline at end of file
+}
diff --git a/vendor/portmidi/util.odin b/vendor/portmidi/util.odin
index ca2e1f4ca..caf73f8ad 100644
--- a/vendor/portmidi/util.odin
+++ b/vendor/portmidi/util.odin
@@ -7,7 +7,11 @@ package portmidi
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "portmidi_s.lib" }
+when ODIN_OS == .Windows {
+ foreign import lib "portmidi_s.lib"
+} else {
+ foreign import lib "system:portmidi"
+}
Queue :: distinct rawptr
@@ -118,4 +122,4 @@ foreign lib {
state, returns .NoError if successfully set overflow state.
*/
SetOverflow :: proc(queue: Queue) -> Error ---
-} \ No newline at end of file
+}
diff --git a/vendor/raylib/raylib.odin b/vendor/raylib/raylib.odin
index 0c8248683..ec057cd78 100644
--- a/vendor/raylib/raylib.odin
+++ b/vendor/raylib/raylib.odin
@@ -99,15 +99,17 @@ when ODIN_OS == .Windows {
"system:User32.lib",
"system:Shell32.lib",
}
-}
-when ODIN_OS == .Linux {
+} else when ODIN_OS == .Linux {
foreign import lib {
"linux/libraylib.a",
"system:dl",
"system:pthread",
}
+} else when ODIN_OS == .Darwin {
+ foreign import lib "macos/libraylib.a"
+} else {
+ foreign import lib "system:raylib"
}
-when ODIN_OS == .Darwin { foreign import lib "macos/libraylib.a" }
VERSION :: "4.0"
@@ -1150,9 +1152,9 @@ foreign lib {
DrawRectangleGradientH :: proc(posX, posY, width, height: c.int, color1: Color, color2: Color) --- // Draw a horizontal-gradient-filled rectangle
DrawRectangleGradientEx :: proc(rec: Rectangle, col1, col2, col3, col4: Color) --- // Draw a gradient-filled rectangle with custom vertex colors
DrawRectangleLines :: proc(posX, posY, width, height: c.int, color: Color) --- // Draw rectangle outline
- DrawRectangleLinesEx :: proc(rec: Rectangle, lineThick: c.int, color: Color) --- // Draw rectangle outline with extended parameters
+ DrawRectangleLinesEx :: proc(rec: Rectangle, lineThick: f32, color: Color) --- // Draw rectangle outline with extended parameters
DrawRectangleRounded :: proc(rec: Rectangle, roundness: f32, segments: c.int, color: Color) --- // Draw rectangle with rounded edges
- DrawRectangleRoundedLines :: proc(rec: Rectangle, roundness: f32, segments: c.int, lineThick: c.int, color: Color) --- // Draw rectangle with rounded edges outline
+ DrawRectangleRoundedLines :: proc(rec: Rectangle, roundness: f32, segments: c.int, lineThick: f32, color: Color) --- // Draw rectangle with rounded edges outline
DrawTriangle :: proc(v1, v2, v3: Vector2, color: Color) --- // Draw a color-filled triangle (vertex in counter-clockwise order!)
DrawTriangleLines :: proc(v1, v2, v3: Vector2, color: Color) --- // Draw triangle outline (vertex in counter-clockwise order!)
DrawTriangleFan :: proc(points: [^]Vector2, pointsCount: c.int, color: Color) --- // Draw a triangle fan defined by points (first vertex is the center)
diff --git a/vendor/raylib/rlgl.odin b/vendor/raylib/rlgl.odin
index 936a34765..7e7f2feea 100644
--- a/vendor/raylib/rlgl.odin
+++ b/vendor/raylib/rlgl.odin
@@ -10,9 +10,13 @@ when ODIN_OS == .Windows {
"system:User32.lib",
"system:Shell32.lib",
}
+} else when ODIN_OS == .Linux {
+ foreign import lib "linux/libraylib.a"
+} else when ODIN_OS == .Darwin {
+ foreign import lib "macos/libraylib.a"
+} else {
+ foreign import lib "system:raylib"
}
-when ODIN_OS == .Linux { foreign import lib "linux/libraylib.a" }
-when ODIN_OS == .Darwin { foreign import lib "macos/libraylib.a" }
GRAPHICS_API_OPENGL_11 :: false
GRAPHICS_API_OPENGL_21 :: true
@@ -378,4 +382,4 @@ foreign lib {
// Quick and dirty cube/quad buffers load->draw->unload
rlLoadDrawCube :: proc() --- // Load and draw a cube
rlLoadDrawQuad :: proc() --- // Load and draw a quad
-} \ No newline at end of file
+}
diff --git a/vendor/sdl2/image/sdl_image.odin b/vendor/sdl2/image/sdl_image.odin
index 30a7db6a8..204ec9a0d 100644
--- a/vendor/sdl2/image/sdl_image.odin
+++ b/vendor/sdl2/image/sdl_image.odin
@@ -3,10 +3,11 @@ package sdl2_image
import "core:c"
import SDL ".."
-when ODIN_OS == .Windows { foreign import lib "SDL2_image.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2_image" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2_image" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2_image" }
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2_image.lib"
+} else {
+ foreign import lib "system:SDL2_image"
+}
bool :: SDL.bool
@@ -119,4 +120,4 @@ foreign lib {
/* Individual loading functions */
LoadGIFAnimation_RW :: proc(src: ^SDL.RWops) -> ^Animation ---
-} \ No newline at end of file
+}
diff --git a/vendor/sdl2/mixer/sdl_mixer.odin b/vendor/sdl2/mixer/sdl_mixer.odin
index 7fa3f216f..b0c16871d 100644
--- a/vendor/sdl2/mixer/sdl_mixer.odin
+++ b/vendor/sdl2/mixer/sdl_mixer.odin
@@ -3,11 +3,11 @@ package sdl2_mixer
import "core:c"
import SDL ".."
-when ODIN_OS == .Windows { foreign import lib "SDL2_mixer.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2_mixer" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2_mixer" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2_mixer" }
-
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2_mixer.lib"
+} else {
+ foreign import lib "system:SDL2_mixer"
+}
MAJOR_VERSION :: 2
MINOR_VERSION :: 0
diff --git a/vendor/sdl2/net/sdl_net.odin b/vendor/sdl2/net/sdl_net.odin
index b3e2c2e62..579f245e5 100644
--- a/vendor/sdl2/net/sdl_net.odin
+++ b/vendor/sdl2/net/sdl_net.odin
@@ -3,10 +3,11 @@ package sdl2_net
import "core:c"
import SDL ".."
-when ODIN_OS == .Windows { foreign import lib "SDL2_net.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2_net" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2_net" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2_net" }
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2_net.lib"
+} else {
+ foreign import lib "system:SDL2_net"
+}
bool :: SDL.bool
@@ -188,4 +189,4 @@ Read16 :: #force_inline proc "c" (areap: rawptr) -> u16 {
Read32 :: #force_inline proc "c" (areap: rawptr) -> u32 {
area := (^[4]u8)(areap)
return u32(area[0])<<24 | u32(area[1])<<16 | u32(area[2])<<8 | u32(area[3])
-} \ No newline at end of file
+}
diff --git a/vendor/sdl2/sdl2.odin b/vendor/sdl2/sdl2.odin
index e36c002dd..24ecc38e6 100644
--- a/vendor/sdl2/sdl2.odin
+++ b/vendor/sdl2/sdl2.odin
@@ -25,10 +25,11 @@ package sdl2
import "core:c"
import "core:intrinsics"
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2.lib"
+} else {
+ foreign import lib "system:SDL2"
+}
version :: struct {
major: u8, /**< major version */
@@ -314,4 +315,4 @@ foreign lib {
IsShapedWindow :: proc(window: ^Window) -> bool ---
SetWindowShape :: proc(window: ^Window, shape: ^Surface, shape_mode: ^WindowShapeMode) -> c.int ---
GetShapedWindowMode :: proc(window: ^Window, shape_mode: ^WindowShapeMode) -> c.int ---
-} \ No newline at end of file
+}
diff --git a/vendor/sdl2/sdl_audio.odin b/vendor/sdl2/sdl_audio.odin
index a03031165..28a59d947 100644
--- a/vendor/sdl2/sdl_audio.odin
+++ b/vendor/sdl2/sdl_audio.odin
@@ -2,10 +2,11 @@ package sdl2
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2.lib"
+} else {
+ foreign import lib "system:SDL2"
+}
/**
* \brief Audio format flags.
diff --git a/vendor/sdl2/sdl_blendmode.odin b/vendor/sdl2/sdl_blendmode.odin
index 525cf0f38..4fde5111b 100644
--- a/vendor/sdl2/sdl_blendmode.odin
+++ b/vendor/sdl2/sdl_blendmode.odin
@@ -2,10 +2,11 @@ package sdl2
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2.lib"
+} else {
+ foreign import lib "system:SDL2"
+}
/**
* \brief The blend mode used in SDL_RenderCopy() and drawing operations.
@@ -62,4 +63,4 @@ BlendFactor :: enum c.int {
foreign lib {
ComposeCustomBlendMode :: proc(srcColorFactor, dstColorFactor: BlendFactor, colorOperation: BlendOperation,
srcAlphaFactor, dstAlphaFactor: BlendFactor, alphaOperation: BlendOperation) -> BlendMode ---
-} \ No newline at end of file
+}
diff --git a/vendor/sdl2/sdl_cpuinfo.odin b/vendor/sdl2/sdl_cpuinfo.odin
index 7d2e681fe..c5175e4d5 100644
--- a/vendor/sdl2/sdl_cpuinfo.odin
+++ b/vendor/sdl2/sdl_cpuinfo.odin
@@ -2,10 +2,11 @@ package sdl2
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2.lib"
+} else {
+ foreign import lib "system:SDL2"
+}
/* This is a guess for the cacheline size used for padding.
* Most x86 processors have a 64 byte cache line.
@@ -41,4 +42,4 @@ foreign lib {
SIMDAlloc :: proc(len: c.size_t) -> rawptr ---
SIMDRealloc :: proc(mem: rawptr, len: c.size_t) -> rawptr ---
SIMDFree :: proc(ptr: rawptr) ---
-} \ No newline at end of file
+}
diff --git a/vendor/sdl2/sdl_events.odin b/vendor/sdl2/sdl_events.odin
index 3f58b51c3..29f6e8a43 100644
--- a/vendor/sdl2/sdl_events.odin
+++ b/vendor/sdl2/sdl_events.odin
@@ -2,10 +2,11 @@ package sdl2
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2.lib"
+} else {
+ foreign import lib "system:SDL2"
+}
RELEASED :: 0
PRESSED :: 1
@@ -498,4 +499,4 @@ foreign lib {
FilterEvents :: proc(filter: EventFilter, userdata: rawptr) ---
EventState :: proc(type: EventType, state: c.int) -> u8 ---
RegisterEvents :: proc(numevents: c.int) -> u32 ---
-} \ No newline at end of file
+}
diff --git a/vendor/sdl2/sdl_gamecontroller.odin b/vendor/sdl2/sdl_gamecontroller.odin
index 9fef6b1ab..76e0b8966 100644
--- a/vendor/sdl2/sdl_gamecontroller.odin
+++ b/vendor/sdl2/sdl_gamecontroller.odin
@@ -2,10 +2,11 @@ package sdl2
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2.lib"
+} else {
+ foreign import lib "system:SDL2"
+}
GameController :: struct {}
diff --git a/vendor/sdl2/sdl_gesture_haptic.odin b/vendor/sdl2/sdl_gesture_haptic.odin
index 1c8616e99..a21e0df06 100644
--- a/vendor/sdl2/sdl_gesture_haptic.odin
+++ b/vendor/sdl2/sdl_gesture_haptic.odin
@@ -2,10 +2,11 @@ package sdl2
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2.lib"
+} else {
+ foreign import lib "system:SDL2"
+}
// Gesture
@@ -259,4 +260,4 @@ foreign lib {
HapticRumbleInit :: proc(haptic: ^Haptic) -> c.int ---
HapticRumblePlay :: proc(haptic: ^Haptic, strength: f32, length: u32) -> c.int ---
HapticRumbleStop :: proc(haptic: ^Haptic) -> c.int ---
-} \ No newline at end of file
+}
diff --git a/vendor/sdl2/sdl_hints.odin b/vendor/sdl2/sdl_hints.odin
index a84e5a090..913d4ea12 100644
--- a/vendor/sdl2/sdl_hints.odin
+++ b/vendor/sdl2/sdl_hints.odin
@@ -2,10 +2,11 @@ package sdl2
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2.lib"
+} else {
+ foreign import lib "system:SDL2"
+}
HINT_ACCELEROMETER_AS_JOYSTICK :: "SDL_ACCELEROMETER_AS_JOYSTICK"
HINT_ALLOW_ALT_TAB_WHILE_GRABBED :: "SDL_ALLOW_ALT_TAB_WHILE_GRABBED"
@@ -146,4 +147,4 @@ foreign lib {
AddHintCallback :: proc(name: cstring, callback: HintCallback, userdata: rawptr) ---
DelHintCallback :: proc(name: cstring, callback: HintCallback, userdata: rawptr) ---
ClearHints :: proc() ---
-} \ No newline at end of file
+}
diff --git a/vendor/sdl2/sdl_joystick.odin b/vendor/sdl2/sdl_joystick.odin
index 1178eae24..35ca5cdcc 100644
--- a/vendor/sdl2/sdl_joystick.odin
+++ b/vendor/sdl2/sdl_joystick.odin
@@ -2,10 +2,11 @@ package sdl2
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2.lib"
+} else {
+ foreign import lib "system:SDL2"
+}
Joystick :: struct {}
@@ -106,4 +107,4 @@ foreign lib {
JoystickSendEffect :: proc(joystick: ^Joystick, data: rawptr, size: c.int) -> c.int ---
JoystickClose :: proc(joystick: ^Joystick) ---
JoystickCurrentPowerLevel :: proc(joystick: ^Joystick) -> JoystickPowerLevel ---
-} \ No newline at end of file
+}
diff --git a/vendor/sdl2/sdl_keyboard.odin b/vendor/sdl2/sdl_keyboard.odin
index a68c644ab..f880286aa 100644
--- a/vendor/sdl2/sdl_keyboard.odin
+++ b/vendor/sdl2/sdl_keyboard.odin
@@ -2,10 +2,11 @@ package sdl2
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2.lib"
+} else {
+ foreign import lib "system:SDL2"
+}
Keysym :: struct {
scancode: Scancode, /**< SDL physical key code - see ::SDL_Scancode for details */
diff --git a/vendor/sdl2/sdl_log.odin b/vendor/sdl2/sdl_log.odin
index d42d82b77..09b7eaef0 100644
--- a/vendor/sdl2/sdl_log.odin
+++ b/vendor/sdl2/sdl_log.odin
@@ -2,10 +2,11 @@ package sdl2
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2.lib"
+} else {
+ foreign import lib "system:SDL2"
+}
MAX_LOG_MESSAGE :: 4096
@@ -74,4 +75,4 @@ foreign lib {
// LogMessageV :: proc(category: c.int, priority: LogPriority, fmt: cstring, ap: va_list) ---
LogGetOutputFunction :: proc(callback: ^LogOutputFunction, userdata: ^rawptr) ---
LogSetOutputFunction :: proc(callback: LogOutputFunction, userdata: rawptr) ---
-} \ No newline at end of file
+}
diff --git a/vendor/sdl2/sdl_messagebox.odin b/vendor/sdl2/sdl_messagebox.odin
index c66cc4911..6228704ac 100644
--- a/vendor/sdl2/sdl_messagebox.odin
+++ b/vendor/sdl2/sdl_messagebox.odin
@@ -2,10 +2,11 @@ package sdl2
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2.lib"
+} else {
+ foreign import lib "system:SDL2"
+}
MessageBoxFlag :: enum u32 {
_ = 0,
diff --git a/vendor/sdl2/sdl_metal.odin b/vendor/sdl2/sdl_metal.odin
index 953c6d45f..1eccf7f5a 100644
--- a/vendor/sdl2/sdl_metal.odin
+++ b/vendor/sdl2/sdl_metal.odin
@@ -2,10 +2,11 @@ package sdl2
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2.lib"
+} else {
+ foreign import lib "system:SDL2"
+}
MetalView :: distinct rawptr
@@ -15,4 +16,4 @@ foreign lib {
Metal_DestroyView :: proc(view: MetalView) ---
Metal_GetLayer :: proc(view: MetalView) -> rawptr ---
Metal_GetDrawableSize :: proc(window: ^Window, w, h: ^c.int) ---
-} \ No newline at end of file
+}
diff --git a/vendor/sdl2/sdl_mouse.odin b/vendor/sdl2/sdl_mouse.odin
index 5ca8d9b5e..13220c94b 100644
--- a/vendor/sdl2/sdl_mouse.odin
+++ b/vendor/sdl2/sdl_mouse.odin
@@ -2,10 +2,11 @@ package sdl2
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2.lib"
+} else {
+ foreign import lib "system:SDL2"
+}
Cursor :: struct {}
@@ -61,4 +62,4 @@ foreign lib {
GetDefaultCursor :: proc() -> ^Cursor ---
FreeCursor :: proc(cursor: ^Cursor) ---
ShowCursor :: proc(toggle: c.int) -> c.int ---
-} \ No newline at end of file
+}
diff --git a/vendor/sdl2/sdl_mutex.odin b/vendor/sdl2/sdl_mutex.odin
index 6b9c96319..1fd5849e0 100644
--- a/vendor/sdl2/sdl_mutex.odin
+++ b/vendor/sdl2/sdl_mutex.odin
@@ -2,10 +2,11 @@ package sdl2
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2.lib"
+} else {
+ foreign import lib "system:SDL2"
+}
MUTEX_TIMEDOUT :: 1
MUTEX_MAXWAIT :: ~u32(0)
@@ -41,4 +42,4 @@ foreign lib {
CondBroadcast :: proc(cv: ^cond) -> c.int ---
CondWait :: proc(cv: ^cond, m: ^mutex) -> c.int ---
CondWaitTimeout :: proc(cv: ^cond, m: ^mutex, ms: u32) -> c.int ---
-} \ No newline at end of file
+}
diff --git a/vendor/sdl2/sdl_pixels.odin b/vendor/sdl2/sdl_pixels.odin
index 3cd2da5f4..8ee06aa1a 100644
--- a/vendor/sdl2/sdl_pixels.odin
+++ b/vendor/sdl2/sdl_pixels.odin
@@ -2,10 +2,11 @@ package sdl2
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2.lib"
+} else {
+ foreign import lib "system:SDL2"
+}
ALPHA_OPAQUE :: 255
ALPHA_TRANSPARENT :: 0
@@ -234,4 +235,4 @@ foreign lib {
GetRGB :: proc(pixel: u32, format: ^PixelFormat, r, g, b: ^u8) ---
GetRGBA :: proc(pixel: u32, format: ^PixelFormat, r, g, b, a: ^u8) ---
CalculateGammaRamp :: proc(gamma: f32, ramp: ^[256]u16) ---
-} \ No newline at end of file
+}
diff --git a/vendor/sdl2/sdl_rect.odin b/vendor/sdl2/sdl_rect.odin
index b0d6242be..852309cd2 100644
--- a/vendor/sdl2/sdl_rect.odin
+++ b/vendor/sdl2/sdl_rect.odin
@@ -2,10 +2,11 @@ package sdl2
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2.lib"
+} else {
+ foreign import lib "system:SDL2"
+}
Point :: struct {
x: c.int,
@@ -47,4 +48,4 @@ foreign lib {
UnionRect :: proc(A, B: ^Rect, result: ^Rect) ---
EnclosePoints :: proc(points: [^]Point, count: c.int, clip: ^Rect, result: ^Rect) -> bool ---
IntersectRectAndLine :: proc(rect: ^Rect, X1, Y1, X2, Y2: ^c.int) -> bool ---
-} \ No newline at end of file
+}
diff --git a/vendor/sdl2/sdl_render.odin b/vendor/sdl2/sdl_render.odin
index 435c40570..57845235b 100644
--- a/vendor/sdl2/sdl_render.odin
+++ b/vendor/sdl2/sdl_render.odin
@@ -2,10 +2,11 @@ package sdl2
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2.lib"
+} else {
+ foreign import lib "system:SDL2"
+}
RendererFlag :: enum u32 {
SOFTWARE = 0, /**< The renderer is a software fallback */
@@ -140,4 +141,4 @@ foreign lib {
GL_UnbindTexture :: proc(texture: ^Texture) -> c.int ---
RenderGetMetalLayer :: proc(renderer: ^Renderer) -> rawptr ---
RenderGetMetalCommandEncoder :: proc(renderer: ^Renderer) -> rawptr ---
-} \ No newline at end of file
+}
diff --git a/vendor/sdl2/sdl_rwops.odin b/vendor/sdl2/sdl_rwops.odin
index 3bee66290..86fb23c75 100644
--- a/vendor/sdl2/sdl_rwops.odin
+++ b/vendor/sdl2/sdl_rwops.odin
@@ -2,10 +2,11 @@ package sdl2
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2.lib"
+} else {
+ foreign import lib "system:SDL2"
+}
/* RWops Types */
RWOPS_UNKNOWN :: 0 /**< Unknown stream type */
@@ -105,4 +106,4 @@ foreign lib {
WriteBE32 :: proc(dst: ^RWops, value: ^u32) -> c.size_t ---
WriteLE64 :: proc(dst: ^RWops, value: ^u64) -> c.size_t ---
WriteBE64 :: proc(dst: ^RWops, value: ^u64) -> c.size_t ---
-} \ No newline at end of file
+}
diff --git a/vendor/sdl2/sdl_stdinc.odin b/vendor/sdl2/sdl_stdinc.odin
index 9bd5df4da..97722f4fe 100644
--- a/vendor/sdl2/sdl_stdinc.odin
+++ b/vendor/sdl2/sdl_stdinc.odin
@@ -5,10 +5,11 @@ import "core:intrinsics"
import "core:runtime"
_, _ :: intrinsics, runtime
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2.lib"
+} else {
+ foreign import lib "system:SDL2"
+}
bool :: distinct b32
#assert(size_of(bool) == size_of(c.int))
@@ -160,4 +161,4 @@ iconv_utf8_ucs2 :: proc "c" (s: string) -> [^]u16 {
iconv_utf8_utf32 :: iconv_utf8_ucs4
iconv_utf8_ucs4 :: proc "c" (s: string) -> [^]rune {
return cast([^]rune)iconv_string("UCS-4-INTERNAL", "UTF-8", cstring(raw_data(s)), len(s)+1)
-} \ No newline at end of file
+}
diff --git a/vendor/sdl2/sdl_surface.odin b/vendor/sdl2/sdl_surface.odin
index e5a5da7ef..f50de35f7 100644
--- a/vendor/sdl2/sdl_surface.odin
+++ b/vendor/sdl2/sdl_surface.odin
@@ -2,10 +2,11 @@ package sdl2
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2.lib"
+} else {
+ foreign import lib "system:SDL2"
+}
SWSURFACE :: 0 /**< Just here for compatibility */
PREALLOC :: 0x00000001 /**< Surface uses preallocated memory */
@@ -108,4 +109,4 @@ foreign lib {
SetYUVConversionMode :: proc(mode: YUV_CONVERSION_MODE) ---
GetYUVConversionMode :: proc() -> YUV_CONVERSION_MODE ---
GetYUVConversionModeForResolution :: proc(width, height: c.int) -> YUV_CONVERSION_MODE ---
-} \ No newline at end of file
+}
diff --git a/vendor/sdl2/sdl_system.odin b/vendor/sdl2/sdl_system.odin
index 89ae4c707..d9b6b98df 100644
--- a/vendor/sdl2/sdl_system.odin
+++ b/vendor/sdl2/sdl_system.odin
@@ -2,10 +2,11 @@ package sdl2
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2.lib"
+} else {
+ foreign import lib "system:SDL2"
+}
// General
@(default_calling_convention="c", link_prefix="SDL_")
@@ -122,4 +123,4 @@ foreign lib {
AndroidGetExternalStoragePath :: proc() -> cstring ---
AndroidRequestPermission :: proc(permission: cstring) -> bool ---
AndroidShowToast :: proc(message: cstring, duration, gravity, xoffset, yoffset: c.int) -> c.int ---
-} \ No newline at end of file
+}
diff --git a/vendor/sdl2/sdl_syswm.odin b/vendor/sdl2/sdl_syswm.odin
index 37da1d298..62ca9d628 100644
--- a/vendor/sdl2/sdl_syswm.odin
+++ b/vendor/sdl2/sdl_syswm.odin
@@ -2,10 +2,11 @@ package sdl2
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2.lib"
+} else {
+ foreign import lib "system:SDL2"
+}
SYSWM_TYPE :: enum c.int {
UNKNOWN,
@@ -105,4 +106,4 @@ SysWMinfo :: struct {
@(default_calling_convention="c", link_prefix="SDL_")
foreign lib {
GetWindowWMInfo :: proc(window: ^Window, info: ^SysWMinfo) -> bool ---
-} \ No newline at end of file
+}
diff --git a/vendor/sdl2/sdl_thread.odin b/vendor/sdl2/sdl_thread.odin
index 98354438b..5d1c0bd37 100644
--- a/vendor/sdl2/sdl_thread.odin
+++ b/vendor/sdl2/sdl_thread.odin
@@ -2,10 +2,11 @@ package sdl2
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2.lib"
+} else {
+ foreign import lib "system:SDL2"
+}
Thread :: struct {}
diff --git a/vendor/sdl2/sdl_timer.odin b/vendor/sdl2/sdl_timer.odin
index 357fdd437..d71ed2da5 100644
--- a/vendor/sdl2/sdl_timer.odin
+++ b/vendor/sdl2/sdl_timer.odin
@@ -2,10 +2,11 @@ package sdl2
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2.lib"
+} else {
+ foreign import lib "system:SDL2"
+}
TimerCallback :: proc "c" (interval: u32, param: rawptr) -> u32
TimerID :: distinct c.int
@@ -22,4 +23,4 @@ foreign lib {
Delay :: proc(ms: u32) ---
AddTimer :: proc(interval: u32, callback: TimerCallback, param: rawptr) -> TimerID ---
RemoveTimer :: proc(id: TimerID) -> bool ---
-} \ No newline at end of file
+}
diff --git a/vendor/sdl2/sdl_touch.odin b/vendor/sdl2/sdl_touch.odin
index d90939cb9..f2a8cc695 100644
--- a/vendor/sdl2/sdl_touch.odin
+++ b/vendor/sdl2/sdl_touch.odin
@@ -2,10 +2,11 @@ package sdl2
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2.lib"
+} else {
+ foreign import lib "system:SDL2"
+}
TouchID :: distinct i64
FingerID :: distinct i64
@@ -34,4 +35,4 @@ foreign lib {
GetTouchDeviceType :: proc(touchID: TouchID) -> TouchDeviceType ---
GetNumTouchFingers :: proc(touchID: TouchID) -> c.int ---
GetTouchFinger :: proc(touchID: TouchID, index: c.int) -> ^Finger ---
-} \ No newline at end of file
+}
diff --git a/vendor/sdl2/sdl_video.odin b/vendor/sdl2/sdl_video.odin
index 01aaee1e7..86b564541 100644
--- a/vendor/sdl2/sdl_video.odin
+++ b/vendor/sdl2/sdl_video.odin
@@ -2,10 +2,11 @@ package sdl2
import "core:c"
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2.lib"
+} else {
+ foreign import lib "system:SDL2"
+}
DisplayMode :: struct {
format: u32, /**< pixel format */
@@ -310,4 +311,4 @@ foreign lib {
// Used by vendor:OpenGL
gl_set_proc_address :: proc(p: rawptr, name: cstring) {
(^rawptr)(p)^ = GL_GetProcAddress(name)
-} \ No newline at end of file
+}
diff --git a/vendor/sdl2/sdl_vulkan.odin b/vendor/sdl2/sdl_vulkan.odin
index 66b054524..33bb8e51c 100644
--- a/vendor/sdl2/sdl_vulkan.odin
+++ b/vendor/sdl2/sdl_vulkan.odin
@@ -3,10 +3,11 @@ package sdl2
import "core:c"
import vk "vendor:vulkan"
-when ODIN_OS == .Windows { foreign import lib "SDL2.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2" }
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2.lib"
+} else {
+ foreign import lib "system:SDL2"
+}
VkInstance :: vk.Instance
VkSurfaceKHR :: vk.SurfaceKHR
@@ -22,4 +23,4 @@ foreign lib {
Vulkan_GetInstanceExtensions :: proc(window: ^Window, pCount: ^c.uint, pNames: [^]cstring) -> bool ---
Vulkan_CreateSurface :: proc(window: ^Window, instance: VkInstance, surface: ^VkSurfaceKHR) -> bool ---
Vulkan_GetDrawableSize :: proc(window: ^Window, w, h: ^c.int) ---
-} \ No newline at end of file
+}
diff --git a/vendor/sdl2/ttf/sdl_ttf.odin b/vendor/sdl2/ttf/sdl_ttf.odin
index 8cd1df505..ca9beded0 100644
--- a/vendor/sdl2/ttf/sdl_ttf.odin
+++ b/vendor/sdl2/ttf/sdl_ttf.odin
@@ -3,10 +3,11 @@ package sdl2_ttf
import "core:c"
import SDL ".."
-when ODIN_OS == .Windows { foreign import lib "SDL2_ttf.lib" }
-when ODIN_OS == .Linux { foreign import lib "system:SDL2_ttf" }
-when ODIN_OS == .Darwin { foreign import lib "system:SDL2_ttf" }
-when ODIN_OS == .FreeBSD { foreign import lib "system:SDL2_ttf" }
+when ODIN_OS == .Windows {
+ foreign import lib "SDL2_ttf.lib"
+} else {
+ foreign import lib "system:SDL2_ttf"
+}
bool :: SDL.bool
@@ -163,4 +164,4 @@ foreign lib {
SetFontSDF :: proc(font: ^Font, on_off: bool) -> c.int ---
GetFontSDF :: proc(font: ^Font) -> bool ---
-} \ No newline at end of file
+}
diff --git a/vendor/stb/src/Makefile b/vendor/stb/src/Makefile
index c65aa7263..5504fede9 100644
--- a/vendor/stb/src/Makefile
+++ b/vendor/stb/src/Makefile
@@ -1,16 +1,16 @@
all:
mkdir -p ../lib
- gcc -c -O2 -Os -fPIC stb_image.c stb_image_write.c stb_image_resize.c stb_truetype.c stb_rect_pack.c stb_vorbis.c
- ar rcs ../lib/stb_image.a stb_image.o
- ar rcs ../lib/stb_image_write.a stb_image_write.o
- ar rcs ../lib/stb_image_resize.a stb_image_resize.o
- ar rcs ../lib/stb_truetype.a stb_truetype.o
- ar rcs ../lib/stb_rect_pack.a stb_rect_pack.o
- #ar rcs ../lib/stb_vorbis_pack.a stb_vorbis_pack.o
- #gcc -fPIC -shared -Wl,-soname=stb_image.so -o ../lib/stb_image.so stb_image.o
- #gcc -fPIC -shared -Wl,-soname=stb_image_write.so -o ../lib/stb_image_write.so stb_image_write.o
- #gcc -fPIC -shared -Wl,-soname=stb_image_resize.so -o ../lib/stb_image_resize.so stb_image_resize.o
- #gcc -fPIC -shared -Wl,-soname=stb_truetype.so -o ../lib/stb_truetype.so stb_image_truetype.o
- #gcc -fPIC -shared -Wl,-soname=stb_rect_pack.so -o ../lib/stb_rect_pack.so stb_rect_packl.o
- #gcc -fPIC -shared -Wl,-soname=stb_vorbis.so -o ../lib/stb_vorbis.so stb_vorbisl.o
+ $(CC) -c -O2 -Os -fPIC stb_image.c stb_image_write.c stb_image_resize.c stb_truetype.c stb_rect_pack.c stb_vorbis.c
+ $(AR) rcs ../lib/stb_image.a stb_image.o
+ $(AR) rcs ../lib/stb_image_write.a stb_image_write.o
+ $(AR) rcs ../lib/stb_image_resize.a stb_image_resize.o
+ $(AR) rcs ../lib/stb_truetype.a stb_truetype.o
+ $(AR) rcs ../lib/stb_rect_pack.a stb_rect_pack.o
+ #$(AR) rcs ../lib/stb_vorbis_pack.a stb_vorbis_pack.o
+ #$(CC) -fPIC -shared -Wl,-soname=stb_image.so -o ../lib/stb_image.so stb_image.o
+ #$(CC) -fPIC -shared -Wl,-soname=stb_image_write.so -o ../lib/stb_image_write.so stb_image_write.o
+ #$(CC) -fPIC -shared -Wl,-soname=stb_image_resize.so -o ../lib/stb_image_resize.so stb_image_resize.o
+ #$(CC) -fPIC -shared -Wl,-soname=stb_truetype.so -o ../lib/stb_truetype.so stb_image_truetype.o
+ #$(CC) -fPIC -shared -Wl,-soname=stb_rect_pack.so -o ../lib/stb_rect_pack.so stb_rect_packl.o
+ #$(CC) -fPIC -shared -Wl,-soname=stb_vorbis.so -o ../lib/stb_vorbis.so stb_vorbisl.o
rm *.o