Finalizadas as principais funções das classes de música da engine, remodelei alguns aspéctos. Agora cada módulo é responsável por inicializar seus próprios submodulos, ou seja, paSDLWindow inicializa o vídeo e o timer, enquanto que a paSDLAudio inicializa o audio.
O que acontecia antes é que a paSDLWindow recebia as flags referentes à configuração inicial da SDL no construtor. Havia também outro construtor que não recebia as flags e dava um SDL_INIT_EVERITHING, o que era muito legal para a antiga paSDL, mas não para a nova engine totalmente refatorada.
Também inseri opções para modificar o volume de todos os canais e músicas ao mesmo tempo na paSDLAudio, além de funcionalidades para tocar um sfx por um determinado período desejado.
Ainda criei um método para se setar o volume da música em fatores de 0 a 100 (diferente da SDL, que vai de 0 a 128). Infelizmente não encontrei maneiras simples de fazer um retorno bem sucedido desse volume no valor da escala de 0 a 100, ficando a funcionalidade getVolume apenas tendo a possibilidade de retornar o volume na escala sdl. Graças a isso, estou pensando seriamente em remover essa funcionalidade e manter somente a padrão para evitar confusões.
Agora estou pensando maneiras de melhor organizar o encapsulamento da paSDLMusic, para que cada música possua seu próprio volume específico.
Nenhum comentário:
Postar um comentário