Quick and Dirty Music Implementation
This commit is contained in:
parent
74c81c1225
commit
f3d6264366
10 changed files with 62 additions and 2 deletions
BIN
resources/music/floor0.raw
Normal file
BIN
resources/music/floor0.raw
Normal file
Binary file not shown.
BIN
resources/music/floor1.raw
Normal file
BIN
resources/music/floor1.raw
Normal file
Binary file not shown.
BIN
resources/music/floor2_3.raw
Normal file
BIN
resources/music/floor2_3.raw
Normal file
Binary file not shown.
BIN
resources/music/floor4.raw
Normal file
BIN
resources/music/floor4.raw
Normal file
Binary file not shown.
BIN
resources/music/menu.raw
Normal file
BIN
resources/music/menu.raw
Normal file
Binary file not shown.
|
@ -1205,6 +1205,8 @@ void switchLevel(s8 change){
|
||||||
if(currentLevel == 1) sf2d_set_clear_color(0xFF6C6D82); //sf2d_set_clear_color(RGBA8(0x82, 0x6D, 0x6C, 0xFF));
|
if(currentLevel == 1) sf2d_set_clear_color(0xFF6C6D82); //sf2d_set_clear_color(RGBA8(0x82, 0x6D, 0x6C, 0xFF));
|
||||||
else if(currentLevel > 1) sf2d_set_clear_color(0xFF666666); //sf2d_set_clear_color(RGBA8(0x66, 0x66, 0x66, 0xFF));
|
else if(currentLevel > 1) sf2d_set_clear_color(0xFF666666); //sf2d_set_clear_color(RGBA8(0x66, 0x66, 0x66, 0xFF));
|
||||||
else sf2d_set_clear_color(0xFF007F00); //sf2d_set_clear_color(RGBA8(0x00, 0x7F, 0x00, 0xFF));
|
else sf2d_set_clear_color(0xFF007F00); //sf2d_set_clear_color(RGBA8(0x00, 0x7F, 0x00, 0xFF));
|
||||||
|
|
||||||
|
updateMusic(currentLevel);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool playerIntersectsEntity(Entity* e){
|
bool playerIntersectsEntity(Entity* e){
|
||||||
|
|
|
@ -390,6 +390,8 @@ void tickMenu(int menu){
|
||||||
sf2d_set_clear_color(0xFF);
|
sf2d_set_clear_color(0xFF);
|
||||||
currentSelection = 0;
|
currentSelection = 0;
|
||||||
currentMenu = MENU_TITLE;
|
currentMenu = MENU_TITLE;
|
||||||
|
|
||||||
|
playMusic(music_menu);
|
||||||
} else if (k_decline.clicked){
|
} else if (k_decline.clicked){
|
||||||
areYouSure = false;
|
areYouSure = false;
|
||||||
areYouSureSave = false;
|
areYouSureSave = false;
|
||||||
|
@ -436,6 +438,8 @@ void tickMenu(int menu){
|
||||||
currentSelection = 0;
|
currentSelection = 0;
|
||||||
currentMenu = MENU_TITLE;
|
currentMenu = MENU_TITLE;
|
||||||
saveCurrentWorld(currentFileName, &eManager, &player, (u8*)map, (u8*)data);
|
saveCurrentWorld(currentFileName, &eManager, &player, (u8*)map, (u8*)data);
|
||||||
|
|
||||||
|
playMusic(music_menu);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case MENU_LOSE:
|
case MENU_LOSE:
|
||||||
|
@ -443,6 +447,8 @@ void tickMenu(int menu){
|
||||||
sf2d_set_clear_color(0xFF);
|
sf2d_set_clear_color(0xFF);
|
||||||
currentSelection = 0;
|
currentSelection = 0;
|
||||||
currentMenu = MENU_TITLE;
|
currentMenu = MENU_TITLE;
|
||||||
|
|
||||||
|
playMusic(music_menu);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case MENU_ABOUT:
|
case MENU_ABOUT:
|
||||||
|
@ -1145,8 +1151,12 @@ void renderMenu(int menu,int xscr,int yscr){
|
||||||
drawTextColor("Special Thanks to:",52,12,0xFF7F7FFF);
|
drawTextColor("Special Thanks to:",52,12,0xFF7F7FFF);
|
||||||
drawTextColor("Smea",136,60,0xFF2020FF);
|
drawTextColor("Smea",136,60,0xFF2020FF);
|
||||||
drawSizedTextColor("for ctrulib",116,80,1.0,0xFF2020FF);
|
drawSizedTextColor("for ctrulib",116,80,1.0,0xFF2020FF);
|
||||||
drawTextColor("Xerpi",130,120,0xFFFF2020);
|
drawTextColor("Xerpi",130,110,0xFFFF2020);
|
||||||
drawSizedTextColor("for sf2dlib",116,140,1.0,0xFFFF2020);
|
drawSizedTextColor("for sf2dlib",116,130,1.0,0xFFFF2020);
|
||||||
|
drawTextColor("Music from",100,160,0xFF20FF20);
|
||||||
|
drawSizedTextColor("opengameart.org/content/",64,180,1.0,0xFF20FF20);
|
||||||
|
drawSizedTextColor("generic-8-bit-jrpg-soundtrack",48,190,1.0,0xFF20FF20);
|
||||||
|
|
||||||
drawText("Press to return", 58, 220);
|
drawText("Press to return", 58, 220);
|
||||||
renderButtonIcon(k_decline.input & -k_decline.input, 128, 218, 1);
|
renderButtonIcon(k_decline.input & -k_decline.input, 128, 218, 1);
|
||||||
sf2d_end_frame();
|
sf2d_end_frame();
|
||||||
|
|
|
@ -16,6 +16,28 @@ void playSound(Sound snd){
|
||||||
csndPlaySound(8, SOUND_FORMAT_16BIT | SOUND_ONE_SHOT, 44100, 1, 0, snd.buffer, snd.buffer, snd.size);
|
csndPlaySound(8, SOUND_FORMAT_16BIT | SOUND_ONE_SHOT, 44100, 1, 0, snd.buffer, snd.buffer, snd.size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void playMusic(Sound snd){
|
||||||
|
csndPlaySound(10, SOUND_FORMAT_16BIT | SOUND_REPEAT, 44100, 1, 0, snd.buffer, snd.buffer, snd.size);
|
||||||
|
}
|
||||||
|
|
||||||
|
void updateMusic(int lvl) {
|
||||||
|
switch(lvl) {
|
||||||
|
case 0:
|
||||||
|
playMusic(music_floor0);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
playMusic(music_floor1);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
case 3:
|
||||||
|
playMusic(music_floor23);
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
playMusic(music_floor4);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void freeSounds(){
|
void freeSounds(){
|
||||||
linearFree(snd_playerHurt.buffer);
|
linearFree(snd_playerHurt.buffer);
|
||||||
linearFree(snd_playerDeath.buffer);
|
linearFree(snd_playerDeath.buffer);
|
||||||
|
@ -24,4 +46,10 @@ void freeSounds(){
|
||||||
linearFree(snd_pickup.buffer);
|
linearFree(snd_pickup.buffer);
|
||||||
linearFree(snd_bossdeath.buffer);
|
linearFree(snd_bossdeath.buffer);
|
||||||
linearFree(snd_craft.buffer);
|
linearFree(snd_craft.buffer);
|
||||||
|
|
||||||
|
linearFree(music_menu.buffer);
|
||||||
|
linearFree(music_floor0.buffer);
|
||||||
|
linearFree(music_floor1.buffer);
|
||||||
|
linearFree(music_floor23.buffer);
|
||||||
|
linearFree(music_floor4.buffer);
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,10 @@ typedef struct {
|
||||||
|
|
||||||
void loadSound(Sound * snd, char * filename);
|
void loadSound(Sound * snd, char * filename);
|
||||||
void playSound(Sound snd);
|
void playSound(Sound snd);
|
||||||
|
|
||||||
|
void playMusic(Sound snd);
|
||||||
|
void updateMusic(int lvl);
|
||||||
|
|
||||||
void freeSounds();
|
void freeSounds();
|
||||||
|
|
||||||
Sound snd_playerHurt;
|
Sound snd_playerHurt;
|
||||||
|
@ -21,3 +25,9 @@ Sound snd_test;
|
||||||
Sound snd_pickup;
|
Sound snd_pickup;
|
||||||
Sound snd_bossdeath;
|
Sound snd_bossdeath;
|
||||||
Sound snd_craft;
|
Sound snd_craft;
|
||||||
|
|
||||||
|
Sound music_menu;
|
||||||
|
Sound music_floor0;
|
||||||
|
Sound music_floor1;
|
||||||
|
Sound music_floor23;
|
||||||
|
Sound music_floor4;
|
|
@ -82,6 +82,8 @@ void setupGame(bool loadUpWorld) {
|
||||||
loadWorld(currentFileName, &eManager, &player, (u8*) map, (u8*) data);
|
loadWorld(currentFileName, &eManager, &player, (u8*) map, (u8*) data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
updateMusic(currentLevel);
|
||||||
|
|
||||||
initMiniMap(loadUpWorld);
|
initMiniMap(loadUpWorld);
|
||||||
shouldRenderMap = false;
|
shouldRenderMap = false;
|
||||||
mScrollX = 0;
|
mScrollX = 0;
|
||||||
|
@ -177,6 +179,14 @@ int main() {
|
||||||
loadSound(&snd_bossdeath, "resources/bossdeath.raw");
|
loadSound(&snd_bossdeath, "resources/bossdeath.raw");
|
||||||
loadSound(&snd_craft, "resources/craft.raw");
|
loadSound(&snd_craft, "resources/craft.raw");
|
||||||
|
|
||||||
|
loadSound(&music_menu, "resources/music/menu.raw");
|
||||||
|
loadSound(&music_floor0, "resources/music/floor0.raw");
|
||||||
|
loadSound(&music_floor1, "resources/music/floor1.raw");
|
||||||
|
loadSound(&music_floor23, "resources/music/floor2_3.raw");
|
||||||
|
loadSound(&music_floor4, "resources/music/floor4.raw");
|
||||||
|
|
||||||
|
playMusic(music_menu);
|
||||||
|
|
||||||
bakeLights();
|
bakeLights();
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue