mirror of
https://github.com/odin-lang/Odin.git
synced 2026-04-19 13:00:28 +00:00
Merge branch 'master' of https://github.com/odin-lang/Odin
This commit is contained in:
1
.github/FUNDING.yml
vendored
1
.github/FUNDING.yml
vendored
@@ -1,3 +1,4 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
github: odin-lang
|
||||
patreon: gingerbill
|
||||
|
||||
@@ -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")
|
||||
}
|
||||
|
||||
23
core/crypto/rand_windows.odin
Normal file
23
core/crypto/rand_windows.odin
Normal file
@@ -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))
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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')
|
||||
|
||||
@@ -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
|
||||
_ :: CA
|
||||
|
||||
10
examples/all/all_vendor_directx.odin
Normal file
10
examples/all/all_vendor_directx.odin
Normal file
@@ -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
|
||||
15
examples/all/all_vendor_stl.odin
Normal file
15
examples/all/all_vendor_stl.odin
Normal file
@@ -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
|
||||
|
||||
6
vendor/ENet/unix.odin
vendored
6
vendor/ENet/unix.odin
vendored
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
6
vendor/botan/bindings/botan.odin
vendored
6
vendor/botan/bindings/botan.odin
vendored
@@ -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"
|
||||
}
|
||||
|
||||
|
||||
7
vendor/glfw/bindings/bindings.odin
vendored
7
vendor/glfw/bindings/bindings.odin
vendored
@@ -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))
|
||||
|
||||
9
vendor/miniaudio/common.odin
vendored
9
vendor/miniaudio/common.odin
vendored
@@ -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
|
||||
|
||||
|
||||
10
vendor/miniaudio/data_conversion.odin
vendored
10
vendor/miniaudio/data_conversion.odin
vendored
@@ -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"
|
||||
}
|
||||
|
||||
/************************************************************************************************************************************************************
|
||||
*************************************************************************************************************************************************************
|
||||
|
||||
13
vendor/miniaudio/decoding.odin
vendored
13
vendor/miniaudio/decoding.odin
vendored
@@ -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 ---
|
||||
}
|
||||
}
|
||||
|
||||
9
vendor/miniaudio/device_io_procs.odin
vendored
9
vendor/miniaudio/device_io_procs.odin
vendored
@@ -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"
|
||||
|
||||
|
||||
8
vendor/miniaudio/device_io_types.odin
vendored
8
vendor/miniaudio/device_io_types.odin
vendored
@@ -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 {}),
|
||||
|
||||
|
||||
11
vendor/miniaudio/encoding.odin
vendored
11
vendor/miniaudio/encoding.odin
vendored
@@ -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 ---
|
||||
}
|
||||
}
|
||||
|
||||
9
vendor/miniaudio/filtering.odin
vendored
9
vendor/miniaudio/filtering.odin
vendored
@@ -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"
|
||||
}
|
||||
|
||||
/**************************************************************************************************************************************************************
|
||||
|
||||
|
||||
11
vendor/miniaudio/generation.odin
vendored
11
vendor/miniaudio/generation.odin
vendored
@@ -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 ---
|
||||
}
|
||||
}
|
||||
|
||||
11
vendor/miniaudio/logging.odin
vendored
11
vendor/miniaudio/logging.odin
vendored
@@ -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 ---
|
||||
}
|
||||
}
|
||||
|
||||
6
vendor/miniaudio/src/Makefile
vendored
6
vendor/miniaudio/src/Makefile
vendored
@@ -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
|
||||
|
||||
11
vendor/miniaudio/utilities.odin
vendored
11
vendor/miniaudio/utilities.odin
vendored
@@ -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 ---
|
||||
}
|
||||
}
|
||||
|
||||
9
vendor/miniaudio/vfs.odin
vendored
9
vendor/miniaudio/vfs.odin
vendored
@@ -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"
|
||||
}
|
||||
|
||||
/************************************************************************************************************************************************************
|
||||
|
||||
|
||||
4
vendor/portmidi/portmidi.odin
vendored
4
vendor/portmidi/portmidi.odin
vendored
@@ -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 ---
|
||||
}
|
||||
}
|
||||
|
||||
8
vendor/portmidi/util.odin
vendored
8
vendor/portmidi/util.odin
vendored
@@ -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 ---
|
||||
}
|
||||
}
|
||||
|
||||
12
vendor/raylib/raylib.odin
vendored
12
vendor/raylib/raylib.odin
vendored
@@ -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)
|
||||
|
||||
10
vendor/raylib/rlgl.odin
vendored
10
vendor/raylib/rlgl.odin
vendored
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
11
vendor/sdl2/image/sdl_image.odin
vendored
11
vendor/sdl2/image/sdl_image.odin
vendored
@@ -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 ---
|
||||
}
|
||||
}
|
||||
|
||||
10
vendor/sdl2/mixer/sdl_mixer.odin
vendored
10
vendor/sdl2/mixer/sdl_mixer.odin
vendored
@@ -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
|
||||
|
||||
11
vendor/sdl2/net/sdl_net.odin
vendored
11
vendor/sdl2/net/sdl_net.odin
vendored
@@ -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])
|
||||
}
|
||||
}
|
||||
|
||||
11
vendor/sdl2/sdl2.odin
vendored
11
vendor/sdl2/sdl2.odin
vendored
@@ -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 ---
|
||||
}
|
||||
}
|
||||
|
||||
9
vendor/sdl2/sdl_audio.odin
vendored
9
vendor/sdl2/sdl_audio.odin
vendored
@@ -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.
|
||||
|
||||
11
vendor/sdl2/sdl_blendmode.odin
vendored
11
vendor/sdl2/sdl_blendmode.odin
vendored
@@ -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 ---
|
||||
}
|
||||
}
|
||||
|
||||
11
vendor/sdl2/sdl_cpuinfo.odin
vendored
11
vendor/sdl2/sdl_cpuinfo.odin
vendored
@@ -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) ---
|
||||
}
|
||||
}
|
||||
|
||||
11
vendor/sdl2/sdl_events.odin
vendored
11
vendor/sdl2/sdl_events.odin
vendored
@@ -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 ---
|
||||
}
|
||||
}
|
||||
|
||||
9
vendor/sdl2/sdl_gamecontroller.odin
vendored
9
vendor/sdl2/sdl_gamecontroller.odin
vendored
@@ -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 {}
|
||||
|
||||
|
||||
11
vendor/sdl2/sdl_gesture_haptic.odin
vendored
11
vendor/sdl2/sdl_gesture_haptic.odin
vendored
@@ -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 ---
|
||||
}
|
||||
}
|
||||
|
||||
11
vendor/sdl2/sdl_hints.odin
vendored
11
vendor/sdl2/sdl_hints.odin
vendored
@@ -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() ---
|
||||
}
|
||||
}
|
||||
|
||||
11
vendor/sdl2/sdl_joystick.odin
vendored
11
vendor/sdl2/sdl_joystick.odin
vendored
@@ -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 ---
|
||||
}
|
||||
}
|
||||
|
||||
9
vendor/sdl2/sdl_keyboard.odin
vendored
9
vendor/sdl2/sdl_keyboard.odin
vendored
@@ -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 */
|
||||
|
||||
11
vendor/sdl2/sdl_log.odin
vendored
11
vendor/sdl2/sdl_log.odin
vendored
@@ -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) ---
|
||||
}
|
||||
}
|
||||
|
||||
9
vendor/sdl2/sdl_messagebox.odin
vendored
9
vendor/sdl2/sdl_messagebox.odin
vendored
@@ -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,
|
||||
|
||||
11
vendor/sdl2/sdl_metal.odin
vendored
11
vendor/sdl2/sdl_metal.odin
vendored
@@ -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) ---
|
||||
}
|
||||
}
|
||||
|
||||
11
vendor/sdl2/sdl_mouse.odin
vendored
11
vendor/sdl2/sdl_mouse.odin
vendored
@@ -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 ---
|
||||
}
|
||||
}
|
||||
|
||||
11
vendor/sdl2/sdl_mutex.odin
vendored
11
vendor/sdl2/sdl_mutex.odin
vendored
@@ -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 ---
|
||||
}
|
||||
}
|
||||
|
||||
11
vendor/sdl2/sdl_pixels.odin
vendored
11
vendor/sdl2/sdl_pixels.odin
vendored
@@ -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) ---
|
||||
}
|
||||
}
|
||||
|
||||
11
vendor/sdl2/sdl_rect.odin
vendored
11
vendor/sdl2/sdl_rect.odin
vendored
@@ -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 ---
|
||||
}
|
||||
}
|
||||
|
||||
11
vendor/sdl2/sdl_render.odin
vendored
11
vendor/sdl2/sdl_render.odin
vendored
@@ -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 ---
|
||||
}
|
||||
}
|
||||
|
||||
11
vendor/sdl2/sdl_rwops.odin
vendored
11
vendor/sdl2/sdl_rwops.odin
vendored
@@ -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 ---
|
||||
}
|
||||
}
|
||||
|
||||
11
vendor/sdl2/sdl_stdinc.odin
vendored
11
vendor/sdl2/sdl_stdinc.odin
vendored
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
11
vendor/sdl2/sdl_surface.odin
vendored
11
vendor/sdl2/sdl_surface.odin
vendored
@@ -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 ---
|
||||
}
|
||||
}
|
||||
|
||||
11
vendor/sdl2/sdl_system.odin
vendored
11
vendor/sdl2/sdl_system.odin
vendored
@@ -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 ---
|
||||
}
|
||||
}
|
||||
|
||||
11
vendor/sdl2/sdl_syswm.odin
vendored
11
vendor/sdl2/sdl_syswm.odin
vendored
@@ -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 ---
|
||||
}
|
||||
}
|
||||
|
||||
9
vendor/sdl2/sdl_thread.odin
vendored
9
vendor/sdl2/sdl_thread.odin
vendored
@@ -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 {}
|
||||
|
||||
|
||||
11
vendor/sdl2/sdl_timer.odin
vendored
11
vendor/sdl2/sdl_timer.odin
vendored
@@ -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 ---
|
||||
}
|
||||
}
|
||||
|
||||
11
vendor/sdl2/sdl_touch.odin
vendored
11
vendor/sdl2/sdl_touch.odin
vendored
@@ -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 ---
|
||||
}
|
||||
}
|
||||
|
||||
11
vendor/sdl2/sdl_video.odin
vendored
11
vendor/sdl2/sdl_video.odin
vendored
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
11
vendor/sdl2/sdl_vulkan.odin
vendored
11
vendor/sdl2/sdl_vulkan.odin
vendored
@@ -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) ---
|
||||
}
|
||||
}
|
||||
|
||||
11
vendor/sdl2/ttf/sdl_ttf.odin
vendored
11
vendor/sdl2/ttf/sdl_ttf.odin
vendored
@@ -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 ---
|
||||
}
|
||||
}
|
||||
|
||||
26
vendor/stb/src/Makefile
vendored
26
vendor/stb/src/Makefile
vendored
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user