diff options
Diffstat (limited to 'crates')
| -rw-r--r-- | crates/teleia/build.rs | 3 | ||||
| -rw-r--r-- | crates/teleia/src/lib.rs | 8 | ||||
| -rw-r--r-- | crates/teleia/src/script.rs | 5 |
3 files changed, 16 insertions, 0 deletions
diff --git a/crates/teleia/build.rs b/crates/teleia/build.rs new file mode 100644 index 0000000..0233021 --- /dev/null +++ b/crates/teleia/build.rs @@ -0,0 +1,3 @@ +fn main() { + println!("cargo::rustc-link-lib=static=colonq-pit"); +} diff --git a/crates/teleia/src/lib.rs b/crates/teleia/src/lib.rs index 8e991ef..894756d 100644 --- a/crates/teleia/src/lib.rs +++ b/crates/teleia/src/lib.rs @@ -10,6 +10,7 @@ pub mod mesh; pub mod texture; pub mod scene; pub mod font; +pub mod script; pub mod shadow; pub mod renderer; pub mod audio; @@ -72,6 +73,13 @@ where log::info!("hello computer, starting up..."); + unsafe { + let mut out = vec![' ' as u8; 1024]; + let buf = std::alloc::alloc(std::alloc::Layout::from_size_align(256 * 1024 * 1024, 64).unwrap()); + log::info!("pit_runtime_test: {:?}", crate::script::pit_runtime_test(out.as_mut_ptr(), out.len() as i64, buf, 256 * 1024 * 1024)); + log::info!("out: {}", String::from_utf8(out).unwrap()); + } + let (rglfw, rwindow, gl, events) = { use glfw::fail_on_errors; let mut glfw = glfw::init(glfw::fail_on_errors!()).expect("failed to initialize GLFW"); diff --git a/crates/teleia/src/script.rs b/crates/teleia/src/script.rs new file mode 100644 index 0000000..0282f65 --- /dev/null +++ b/crates/teleia/src/script.rs @@ -0,0 +1,5 @@ +use std::ffi::c_int; + +unsafe extern "C" { + pub fn pit_runtime_test(out: *mut u8, out_len: i64, buf: *mut u8, len: i64) -> c_int; +} |
