diff --git a/raylib-data-structures.md b/raylib-data-structures.md index 1eb79b9..017fbc1 100644 --- a/raylib-data-structures.md +++ b/raylib-data-structures.md @@ -52,9 +52,9 @@ who has authored video games before. // Audio related data struct Wave; [20 bytes] [+4 bytes] // Wave data pointer (RAM) and data parameters - struct AudioStream; [16 bytes] [+8 bytes] // Audio buffer pointer (private) and parameters - struct Sound; [20 bytes] [+12 bytes] // Audio stream and samples count - struct Music; [32 bytes] [+16 bytes] // Audio stream and music data pointer for streaming + struct AudioStream; [20 bytes] [+12 bytes] // Audio buffer pointer (private) and parameters + struct Sound; [24 bytes] [+16 bytes] // Audio stream and samples count + struct Music; [36 bytes] [+20 bytes] // Audio stream and music data pointer for streaming ``` raylib slightly abuses the ability to pass-by-value. In fact, only around 10% of its functions need to deal with data pointers. With this in mind, data structures are kept as small as possible (usually under 64 bytes), and internal pointers are used with functions that need to modify the data (usually *Load*, *Update* and *Unload* functions).