Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions games
Submodule games added at 6c1513
4 changes: 4 additions & 0 deletions include/ArcadeMachine.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
#include <string>
#include <vector>
#include <fstream>
#include "AudioSetting.h"

// Define number of rows and columns in grid
#define ROWS 7
Expand Down Expand Up @@ -79,6 +80,9 @@ class ArcadeMachine
/// Turn menu music on/off
bool m_playMusic = true;

///Music controller
Audio audio;

/// Menu button node
ButtonNode *m_menuButtonNode = nullptr;

Expand Down
67 changes: 21 additions & 46 deletions include/Audio.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,67 +6,42 @@
class Audio {
private:
vector<music> m_music;
int songId;
int songId = 4;
float volume = 5;
public:
Audio()
{
getAllMusic();
}

void setSongId(int id)
{
this->songId = id;
}

void playMusic(float volume)
{
play_music(m_music[0]);
set_music_volume(volume);
setSongId(0);
}

void playMusic(std::string song, float volume)
{
play_music(song);
set_music_volume(volume);
music thisSong = music_named(song);

for (int i = 0; i < this->m_music.size(); i++)
{
if (thisSong == this->m_music[i])
{
write_line("same song");
setSongId(i);
}
if(this->songId != id){
this->songId = id;
stop_music();
playMusic(id);
}
}

void playMusic(int _currentMusic, float volume)
{
play_music(std::to_string(_currentMusic));
set_music_volume(volume);
}

void playNextSong()
void playMusic(int _currentMusic)
{
if (this->songId != (this->m_music.size() - 1))
play_music(this->m_music[this->songId + 1]);
else
play_music(this->m_music[0]);
if(!music_playing()){
play_music(std::to_string(_currentMusic));
set_music_volume(this->volume/10);
}
}
void set_volume_for_machine(){
set_music_volume(this->volume/10);
}

void setVolume(float volume)
{
set_music_volume(volume);
this->volume = volume;
}

void getAllMusic()
{
m_music.push_back(music_named("music_mainmenu"));
m_music.push_back(music_named("1"));
m_music.push_back(music_named("2"));
m_music.push_back(music_named("3"));
float getVolume(){
return this->volume;
}
int getCurrentMusic(){
return songId;
}

};

#endif
43 changes: 43 additions & 0 deletions include/AudioSetting.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
#ifndef ARCADE_MACHINE_AUDIO_SETTING_H
#define ARCADE_MACHINE_AUDIO_SETTING_H

#include "splashkit.h"
#include "GridLayout.h"
#include "Button.h"
#include "Selector.h"
class AudioSetting
{
private:
int _selector = 1;
float m_volume = 40;
bool m_isOptionOpen = true;

GridLayout m_grid;
std::vector<Button*> m_optionsBtns;
// ButtonNode *m_optionsButtonNode = nullptr;
// Selector m_selectorOptionsMenu;
// point_2d m_mouse;
// std::string m_action;
// AboutScreen m_aboutScreen;

public:
AudioSetting();

void changeVolume();
void changeMucis();
void drawHub(){
draw_text("CHANGE SOUND", color_white(), 3131312 + 100, 200);
};
float getVolume();
int getCurrentMusic();
void setCurrentMusic();
void volumeControl();
void changeDisplay();
void playAboutScreen();
bool isChangeMusic();
bool isChangeVoLume();
void changeSelector();
void updateOption();
void drawIntinialHub();
};
#endif
38 changes: 31 additions & 7 deletions include/Option.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
#include "Selector.h"
#include "OptionsScreenButton.h"
#include "Audio.h"
// #include "AudioSetting.h"

// Options class
class Option
Expand All @@ -22,7 +23,7 @@ class Option
int m_insideSeletor = 1;
float m_volume = 40;
bool m_isOptionOpen = true;

// AudioSetting m_audio_setting;
GridLayout m_grid;
Audio m_audio;
std::vector<Button*> m_optionsBtns;
Expand All @@ -34,16 +35,39 @@ class Option

public:
Option();

void createOptionsButtons();
void drawOptionsMenu();
bool checkAction();
void soundMenu();
bool checkAction(Audio &audio);
void soundMenu(Audio &audio);
float getVolume();
void setCurrentMusic(Audio &audio)
{

if(key_typed(LEFT_KEY))
{
if(audio.getCurrentMusic()>1)
audio.setSongId(audio.getCurrentMusic()-1);
else
audio.setSongId(4);

float getVolume();
int getCurrentMusic();
void setCurrentMusic();
}
if(key_typed(RIGHT_KEY)){
if(audio.getCurrentMusic()<4)
audio.setSongId(audio.getCurrentMusic()+1);
else
audio.setSongId(1);}
}
void changeVolume(Audio &audio){
if(key_typed(K_KEY)){
audio.setVolume(audio.getVolume()-1);
set_music_volume(audio.getVolume()/10);
}
if(key_typed(L_KEY)){
audio.setVolume(audio.getVolume()+1);
set_music_volume(audio.getVolume()/10);
}

}
void volumeControl();
void changeDisplay();
void playAboutScreen();
Expand Down
8 changes: 7 additions & 1 deletion resources/bundles/resources.txt
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,12 @@ BITMAP,changeSound,buttons/Red/MusicOn.png
BITMAP,sound_notSelected,buttons/Yellow/MusicOn.png
BITMAP,backMenu_notSelected,buttons/Yellow/Home.png
BITMAP,backMenu,buttons/Red/Home.png
BITMAP,volumeDown,volumeDown.png
BITMAP,volumeUp,volumeUp.png
BITMAP,sound_image,sound_image.jpg
BITMAP,sound_image2,sound_image2.jpg
BITMAP,sound_image3,sound_image3.jpg
BITMAP,sound_image4,sound_image4.png

// Cursors
BITMAP,cursor,splashkit_cursor.png
Expand All @@ -61,7 +67,7 @@ SOUND,intro_coin,coin.wav
SOUND,intro_start,completed.wav

// Music
MUSIC,music_mainmenu,main_menu.mp3
MUSIC,4,main_menu.mp3
MUSIC, 1, 1.mp3
MUSIC, 2, 2.mp3
MUSIC, 3, 3.mp3
Expand Down
Binary file added resources/images/sound_image.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added resources/images/sound_image2.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added resources/images/sound_image3.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added resources/images/sound_image4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added resources/images/volumeDown.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added resources/images/volumeUp.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 8 additions & 8 deletions src/AboutScreen.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,8 @@ AboutScreen::AboutScreen() {
}

void AboutScreen::onExit() {
if (music_playing())
stop_music();
// if (music_playing())
// stop_music();
}

void AboutScreen::readInput() {
Expand All @@ -98,10 +98,10 @@ void AboutScreen::tick() {
this->tickContributor();

// Every 1/4 second.
if (this->m_ticker % 15 == 0) {
if (! music_playing())
play_music("music_about");
}
// if (this->m_ticker % 15 == 0) {
// if (! music_playing())
// play_music("music_about");
// }

this->m_ticker++;
}
Expand Down Expand Up @@ -219,8 +219,8 @@ void AboutScreen::loop() {

void AboutScreen::main() {
// Clear music and start the about screen music.
stop_music();
play_music("music_about");
// stop_music();
// play_music("music_about");

this->loop();

Expand Down
22 changes: 11 additions & 11 deletions src/ArcadeMachine.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ ArcadeMachine::ArcadeMachine()

Splashscreen introArcadeMachineTeam("intro_arcade_team");
Splashscreen introSplashkit("intro_splashkit");
Audio audio;

// Set objects to private properties
this->m_helper = helper;
Expand All @@ -48,6 +49,7 @@ ArcadeMachine::ArcadeMachine()
this->m_introThothTech = introThothTech;
this->m_introArcadeTeam = introArcadeMachineTeam;
this->m_introSplashkit = introSplashkit;
this->audio = audio;
}

ArcadeMachine::~ArcadeMachine()
Expand All @@ -68,6 +70,11 @@ void ArcadeMachine::mainMenu()
{
while (!quit_requested())
{
this->audio.playMusic(this->audio.getCurrentMusic());
audio.set_volume_for_machine();
if(key_typed(P_KEY)){
write_line(audio.getVolume());
}
process_events();
clear_screen();
drawMainMenu();
Expand All @@ -79,6 +86,7 @@ void ArcadeMachine::mainMenu()
/**
Starts the Games Menu
*/

void ArcadeMachine::gamesMenu()
{
// Instantiate new menu
Expand Down Expand Up @@ -107,7 +115,6 @@ void ArcadeMachine::gamesMenu()
refresh_screen(60);
}
}

/**
Starts the Options Menu
*/
Expand All @@ -121,17 +128,9 @@ void ArcadeMachine::optionsMenu()
{
process_events();
clear_screen();

//options.updateOption();
options.drawOptionsMenu();

this->m_exitOptions = options.checkAction();

if(!has_background_music)
{
//audio->playMusic(options.getCurrentMusic(), options.getVolume());
has_background_music=false;
}
this->m_exitOptions = options.checkAction(this->audio);

if(options.isChangeMusic())
{
Expand Down Expand Up @@ -249,7 +248,8 @@ void ArcadeMachine::prepareMainMenu()
this->m_grid.updateCell(m_menuButtonNode->getNext()->button, 3, 10);

// Play main menu music
if (this->m_playMusic) play_music("music_mainmenu");
// if (this->m_playMusic) play_music("music_mainmenu");

}

/// Plays the Thoth Tech splashscreen animation
Expand Down
Empty file added src/Audio.cpp
Empty file.
Loading