Updated raylib data structures (markdown)

Ray
2022-06-07 20:51:24 +02:00
parent 2adf3a2f04
commit 4c159f6e58

@ -52,9 +52,9 @@ who has authored video games before.
// Audio related data // Audio related data
struct Wave; [20 bytes] [+4 bytes] // Wave data pointer (RAM) and data parameters 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 AudioStream; [20 bytes] [+12 bytes] // Audio buffer pointer (private) and parameters
struct Sound; [20 bytes] [+12 bytes] // Audio stream and samples count struct Sound; [24 bytes] [+16 bytes] // Audio stream and samples count
struct Music; [32 bytes] [+16 bytes] // Audio stream and music data pointer for streaming 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). 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).