[NEW] Audio support:
- playmusic(filename) - pausemusic() - resumemusic() - stopmusic()
This commit is contained in:
35
mini.cpp
35
mini.cpp
@@ -3,6 +3,7 @@
|
||||
#include <string.h>
|
||||
#include "lua.h"
|
||||
#include "gif.c"
|
||||
#include "jail_audio.h"
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
@@ -52,6 +53,7 @@ SDL_Renderer *mini_ren;
|
||||
SDL_Texture *mini_bak;
|
||||
Uint32 *pixels;
|
||||
int pitch;
|
||||
JA_Music music = NULL;
|
||||
|
||||
uint32_t palette[256] = { 0x001a1c2c, 0x005d275d, 0x00b13e53, 0x00ef7d57, 0x00ffcd75, 0x00a7f070, 0x0038b764, 0x00257179,
|
||||
0x0029366f, 0x003b5dc9, 0x0041a6f6, 0x0073eff7, 0x00f4f4f4, 0x0094b0c2, 0x00566c86, 0x00333c57 };
|
||||
@@ -143,6 +145,17 @@ void reinit() {
|
||||
file = NULL;
|
||||
}
|
||||
|
||||
void initaudio() {
|
||||
if (music!=NULL) JA_DeleteMusic(music);
|
||||
music = NULL;
|
||||
JA_Init(22050, AUDIO_S16, 2);
|
||||
}
|
||||
void quitaudio() {
|
||||
if (music!=NULL) JA_DeleteMusic(music);
|
||||
music = NULL;
|
||||
JA_Quit();
|
||||
}
|
||||
|
||||
uint8_t newsurf(int w, int h) {
|
||||
int i = 0;
|
||||
while (i<10 && surfaces[i].p != NULL) ++i;
|
||||
@@ -233,6 +246,7 @@ int main(int argc,char*argv[]){
|
||||
SDL_Event mini_eve;
|
||||
|
||||
reinit();
|
||||
initaudio();
|
||||
debug("MINI SYSTEM BOOTING...");
|
||||
lua_init(lua_files);
|
||||
lua_call_init();
|
||||
@@ -246,14 +260,17 @@ int main(int argc,char*argv[]){
|
||||
if (mini_eve.key.keysym.scancode == SDL_SCANCODE_ESCAPE) {
|
||||
if (lua_is_playing()) {
|
||||
lua_quit();
|
||||
quitaudio();
|
||||
reinit();
|
||||
} else {
|
||||
initaudio();
|
||||
lua_init(lua_files);
|
||||
lua_call_init();
|
||||
}
|
||||
} else if (mini_eve.key.keysym.scancode == SDL_SCANCODE_F5) {
|
||||
lua_quit();
|
||||
reinit();
|
||||
initaudio();
|
||||
lua_init(lua_files);
|
||||
lua_call_init();
|
||||
} else {
|
||||
@@ -957,3 +974,21 @@ bool freadb() {
|
||||
fscanf(file, "%s", &fstr);
|
||||
return strcmp(fstr, "true")==0?true:false;
|
||||
}
|
||||
|
||||
void playmusic(const char *filename) {
|
||||
if (music != NULL) JA_DeleteMusic(music);
|
||||
music = JA_LoadMusic(filename);
|
||||
JA_PlayMusic(music);
|
||||
}
|
||||
|
||||
void pausemusic() {
|
||||
JA_PauseMusic();
|
||||
}
|
||||
|
||||
void resumemusic() {
|
||||
JA_ResumeMusic();
|
||||
}
|
||||
|
||||
void stopmusic() {
|
||||
JA_StopMusic();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user