made binary reading/writing faster
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Thu, 28 Jan 2021 17:02:42 +0000 (11:02 -0600)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Thu, 28 Jan 2021 17:02:42 +0000 (11:02 -0600)
bin/onyx
core/io/binary.onyx
onyx.exe

index c8d8b8dddc6e52d92a2281f574b3597951d9cb7a..108860196025feff33d86fa5a6461de183d3d88d 100755 (executable)
Binary files a/bin/onyx and b/bin/onyx differ
index 63f5199d259b28650c733cf5923e79fb26256c01..f65c726e50201ebd7e687edda0bce2be92a27830 100644 (file)
@@ -16,12 +16,12 @@ binary_write_byte :: (use bw: ^BinaryWriter, byte: u8) {
     stream_write_byte(stream, byte);
 }
 
-binary_write :: (use bw: ^BinaryWriter, $T: type_expr, v: T) {
-    tmp_for_data := v;
-    stream_write(stream, <[] u8>.{ ~~ ^tmp_for_data, sizeof T });
+binary_write :: (use bw: ^BinaryWriter, $T: type_expr, v: ^T) {
+    stream_write(stream, <[] u8>.{ ~~ v, sizeof T });
 }
 
 binary_write_slice :: (use bw: ^BinaryWriter, sl: [] $T, output_size := false) {
+    assert(false, "binary_write_slice is not working at the moment");
     if output_size do binary_write(bw, i32, sl.count);
 
     bytes := <[] u8>.{
@@ -62,6 +62,9 @@ binary_read_slice :: (use br: ^BinaryReader,
     $T: type_expr,
     size := 0, read_size := false,
     allocator := context.allocator) -> [] T {
+
+    assert(false, "binary_write_slice is not working at the moment");
+    
     if size == 0 && read_size {
         size = binary_read(br, i32);
     }
index 918dd1c5bea5301d50b139277dbba1079daa42fa..56bf501f0794bbd6383e439c6ac8192d88094c9f 100644 (file)
Binary files a/onyx.exe and b/onyx.exe differ