GSoC Part 1: Binary Buffer functions
Reporter: dc03 | Status: open | Last Modified: July 12, 2022, 11:57:05 pmThis series of commits forms part 1 of my GSoC project, wherein I finish implementing and cleaning up the binary buffer functions.
Done:
- Fix
variant
's bitwise operators - Switch
BinaryBuffer
to usestd::byte
andstd::size_t
- Add serialization and deserialization (big-endian) for the various types supported
- Fix almost all the functions to be as conformant to GMS's behaviour as possible
- Give enums names (
buffer_seek_t
,buffer_type_t
,buffer_data_t
) to enforce strict typing - Tests for most functions
- Documentation for all except
game_save_buffer
andgame_load_buffer
Only 9 functions are remaining now, I've gone over 32 of them. I'm not really sure how to implement the async functions, and I have no real idea how buffer_set_used_size
is supposed to work.
Checklist of the various functions:
-
buffer_exists
-
buffer_create
-
buffer_create_from_vertex_buffer
-
buffer_create_from_vertex_buffer_ext
-
buffer_delete
-
buffer_read
-
buffer_write
-
buffer_fill
-
buffer_seek
-
buffer_tell
-
buffer_peek
-
buffer_poke
-
buffer_save
-
buffer_save_ext
-
buffer_save_async
-
buffer_load
-
buffer_load_ext
-
buffer_load_async
-
buffer_load_partial
-
buffer_compress
-
buffer_decompress
-
buffer_async_group_begin
-
buffer_async_group_option
-
buffer_async_group_end
-
buffer_copy
-
buffer_copy_from_vertex_buffer
-
buffer_get_type
-
buffer_get_alignment
-
buffer_get_address
-
buffer_get_size
-
buffer_get_surface
-
buffer_set_surface
-
buffer_resize
-
buffer_sizeof
-
buffer_md5
-
buffer_sha1
-
buffer_crc32
-
buffer_base64_encode
-
buffer_base64_decode
-
buffer_base64_decode_ext
-
buffer_set_used_size
Leave a commentView this issue on GitHub
Please sign in to post comments, or you can view this issue on GitHub.