This is a very useful, easy to use and easy to learn asset for projects that work with binary files. These scripts help you with various things: reading, writing and adding. They support multiple data types ranging from bytes to 32 bit values and have signed and unsigned versions. There are also scripts that can write and read utf-8 string. They automatically mark the string length(this can be done in a few ways.) and can be read. Supports the full utf8 range, not just single bytes(it supports more than 255 characters). Writing works like the original game maker functions, but just extended. They overwrite the byte(s) already at that place. Adding on the other hand shoves these values right in between other values and thus moves the other values. It does this by a very memory efficient hopping algorithm.
These scripts are extremely memory efficient. They don't make use of any data structures or arrays to achieve your goal. It uses a "hopping" technique that allows it to keep it's low memory cost.
This keeps all the flexibility you need in your scripts. It still requires you to open and close the binary file yourself, so you can still edit it yourself if you want to. Some scripts(mostly the adding ones) require you to input the position. Others need you to set the writing positions with file_bin_seek(bin,pos) which is a default game maker function. Please do read the "Please read first!" part inside the example. Reading that is mandatory for the examples to work. You will need to place some files in the right place. If you have a game this should be automatically done by your game which can easily done within game maker.
Adds a butt ton of features. Adds some string related functions, writing data types new adding, reading and writing functions with new examples!
A full list of new functions:
ADDING FUNCTIONS: -scr_bin_add_string_utf8 -scr_bin_add_string_utf8_marked -scr_bin_add_string_utf8_endmarked -scr_bin_add_pos_u8 -scr_bin_add_pos_s8 -scr_bin_add_pos_u16 -scr_bin_add_pos_s16 -scr_bin_add_pos_u24 -scr_bin_add_pos_s24 -scr_bin_add_pos_u32 -scr_bin_add_pos_s32
READING FUNTIONS: -scr_bin_read_u16 -scr_bin_read_s16 -scr_bin_read_u24 -scr_bin_read_s24 -scr_bin_read_u32 -scr_bin_read_s32 -scr_bin_read_string_utf8_marked -scr_bin_read_string_utf8_sz -scr_bin_read_string_utf8_auto
WRITING FUNCTIONS: -scr_bin_write_u16 -scr_bin_write_s16 -scr_bin_write_u24 -scr_bin_write_s24 -scr_bin_write_u32 -scr_bin_write_s32 -scr_bin_write_string_utf8 -scr_bin_write_string_utf8_endmarked -scr_bin_write_string_utf8_marked\