mirror of
https://github.com/Facepunch/sbox-public.git
synced 2026-08-02 08:50:18 -04:00
* Add dav1d thirdparty library * Add svtav1 thirdparty library * Add libvpx thirdparty library * Add libopus thirdparty library * Add libwebp thirdparty library * Add libwebm thirdparty library * Add minimp4 thirdparty library * Add dr_libs thirdparty library * Add libcurl thirdparty library * Rewrite compilesound to use dr_flac instead of ffmpeg * Add shared media types and codec definitions * Rewrite video player without ffmpeg * Rewrite video recorder without ffmpeg * Remove ffmpeg thirdparty library * Replace libmpg123 with dr_mp3 * C# Obsolete codecs & expose more codec configuration options * Fix screen recorder frame ordering and timestamp drift * Tune AV1 and VP9 encoder settings * Detect media format from file header magic bytes * Add fallback H.264 & AAC decoder via WMF
Class Attributes: [Handles:Sandbox.ManagedTypeName] Set a class to use a handle system. A good example here is Sandbox.PhysicsBody. On creation we call a managed function to get a handle (an int) and we store that in the IPhysicsBody in native. Any time we pass a IPhysicsBody from native to managed, we pass the int and look up the real object. In the constructor of the physics object in native we call into native to destroy the handle. Which ensures that the pointer is cleared and can't try to be used.