A DLL for Game Maker
Go to file
Braffolk 318a868409
Update README.md
Added a short description of the implementation
2018-09-14 12:12:36 +03:00
DSArray.h Create DSArray.h 2018-08-07 02:13:21 +03:00
DSArrayManager.h the ds_array manager class 2018-08-07 02:14:46 +03:00
README.md Update README.md 2018-09-14 12:12:36 +03:00
TArray.h Optimised find_index 2018-08-07 12:15:07 +03:00

ds_array

Ds_array is a DLL replacement for Game Maker's ds_grids. It supports data types: unsigned and signed chars, shorts, ints, longs, floats and doubles. With most compiler optimisations enabled, it outperforms ds_grids on the regular windows export. On YYC it only outperforms ds_grids in case the code is injected via the YYGML.h header rather than inserted as a DLL, though ds_array_set_region and other region related functionalities always vastly outperform the same ds_grid functionalities.

The implementation does not require the type to be inserted at every access, the type must be set only at the constructor. Ds_arrays support fast array -> buffer conversion and realtime compression for multiplayer. In order to allow large data modification, the code also has an active ds_array which can be set similar to the surface_set_target() functionalities. This removes the necessity for a ds_array index lookup at each access.