Bertahun-tahun yang lalu tetapi didokumentasikan pada tahun 2022, ada keinginan agar lapisan abstraksi perangkat keras/perangkat lunak SDL yang populer dengan game lintas platform menawarkan API sistem file yang diabstraksi. Hal ini akhirnya menjadi kenyataan dengan antarmuka SDL_Storage baru yang ditambahkan untuk SDL 3.0.
Simple DirectMedia Layer (SDL) telah sangat sukses selama bertahun-tahun dalam mengabstraksi berbagai subsistem mulai dari video hingga input, audio, thread, dan lainnya untuk bekerja lintas platform. Upaya terbaru ada pada SDL_Storage untuk mengabstraksi interaksi sistem file dengan lebih baik. Selain pelacak masalah yang disebutkan di atas, tiket ini tahun lalu merangkum keinginan untuk API sistem file SDL:
jendela. Windows adalah masalahnya.
– Windows ingin Anda mengotak-atik string UTF-16 untuk jalur file Unicode, yang lainnya menginginkan UTF-8.
– Windows ingin Anda menggunakan API Win32, yang lainnya menggunakan POSIX.
– Windows ingin Anda menggunakan FILETIME (kenaikan 100 nanodetik sejak 1601), yang lainnya menggunakan POSIX (time_t, Unix epoch).
– Windows ingin Anda menggunakan `\`, yang lainnya menggunakan `/`
– Windows memiliki huruf drive, yang lainnya memiliki titik pemasangan.
– Windows agaknya memiliki symlink di zaman modern, banyak hal lain yang selalu demikian. Namun ada beberapa hal yang tidak berfungsi sama sekali! SDL_Storage pada akhirnya berfungsi untuk mengatasi hal ini dan menyediakan API sistem file yang lebih umum yang berfungsi dari Windows hingga Linux, macOS, dan berbagai platform konsol. Porter game terkenal dan pengembang FNA-XNA Ethan Lee menerima tantangan untuk mengerjakan SDL_Storage. Dia menjelaskan dalam kode SDL_Storage yang sekarang digabungkan:
Inilah yang ada dalam pikiran saya untuk API penyimpanan; ada perbedaan mencolok antara judul dan penyimpanan pengguna, dan ini mengasumsikan bahwa aplikasi tidak memiliki akses gratis ke disk apa pun sama sekali. Saat menggunakan API ini, Anda dapat berasumsi bahwa kode sistem file Anda harus berfungsi di lingkungan sandbox, dengan alasan yang masuk akal (yaitu kami tidak main-main dengan aturan jalur yang valid/tidak valid saat ini).
Hal ini dimaksudkan untuk tetap ada antara penggunaan API SDL_filesystem mentah pada tingkat rendah dan menggunakan pustaka sistem file tingkat tinggi seperti PhysicsFS yang memungkinkan fitur yang lebih menarik seperti format sistem file virtual dan dukungan mod. Untuk aplikasi yang hanya perlu membaca data judul, membaca/menulis data simpanan, dan tidak ada yang lain, ini adalah API yang ideal.
…
Termasuk implementasi generik serta rintisan untuk implementasi Steamworks, API SDL dan SteamRemoteStorage sangat dekat sehingga sangat mungkin, hanya perlu diketik. Namun, ini jauh lebih berguna untuk konsol yang memerlukan pemasangan sistem file secara eksplisit untuk melakukan pekerjaan ini, tetapi karena ini adalah NDA, sulit untuk menyertakannya sebagai bagian dari promosi ini :(Permintaan penggabungan ini mendarat hari ini di SDL Git karena memiliki awal Dukungan SDL_Storage yang sekarang akan dikembangkan lebih lanjut untuk SDL 3.0.
Itulah berita seputar API Penyimpanan SDL Digabung Untuk SDL 3.0, semoga bermanfaat. Disadur dari Phoronix.com.