/* * Tuxánci 2 - A first person shooter * Copyright (C) 2025-2026 Connor Thomson * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifdef ENABLE_AUDIO #include #include #include "ta_sdl.h" #include "logging.h" #include "main.h" ALCdevice *ta_alc_open_device(void) { ALCchar *devicename = NULL; // default ta_log("Opening AL device"); ALCdevice *device = alcOpenDevice(devicename); if (device) { return device; } else { SDL_Log("AL: Failed to open device"); return NULL; } } ALCcontext *ta_alc_create_context(ALCdevice *device, ALCint* attrlist) { ta_log("Creating AL context"); ALCcontext *context = alcCreateContext(device, attrlist); if (context) { return context; } else { SDL_Log("AL: Failed to create context"); return NULL; } } void ta_alc_make_context_current(ALCcontext *context) { ta_log("Making AL context current"); ALCboolean status = alcMakeContextCurrent(context); if (status == ALC_FALSE) { SDL_Log("AL: Failed to make context current"); ta_main_exit(1); } } void ta_alc_close_device(ALCdevice *device) { ta_log("Closing AL device"); ALCboolean status = alcCloseDevice(device); if (status == ALC_FALSE) { SDL_Log("AL: Failed to close device"); ta_main_exit(1); } } #endif // ENABLE_AUDIO