diff --git a/Adventures in Lestoria/Adventures in Lestoria.rc b/Adventures in Lestoria/Adventures in Lestoria.rc index 5ad74f0c..962c1f96 100644 --- a/Adventures in Lestoria/Adventures in Lestoria.rc +++ b/Adventures in Lestoria/Adventures in Lestoria.rc @@ -28,21 +28,21 @@ VS_VERSION_INFO VERSIONINFO BEGIN BLOCK "StringFileInfo" BEGIN - BLOCK "040704b0" + BLOCK "040904b0" BEGIN - VALUE "CompanyName", "Sig" - VALUE "FileDescription", "Crawler Game" + VALUE "CompanyName", "Sig Productions" + VALUE "FileDescription", "Adventures in Lestoria" VALUE "FileVersion", "0.2.1.5299" VALUE "InternalName", "Crawler.exe" - VALUE "LegalCopyright", "Copyright 2023" - VALUE "OriginalFilename", "Crawler.exe" - VALUE "ProductName", "Crawler" + VALUE "LegalCopyright", "Copyright © 2023-2024" + VALUE "OriginalFilename", "Adventures in Lestoria.exe" + VALUE "ProductName", "Adventures in Lestoria" VALUE "ProductVersion", "0.2.1.5299" END END BLOCK "VarFileInfo" BEGIN - VALUE "Translation", 0x407, 1200 + VALUE "Translation", 0x409, 1200 END END diff --git a/Adventures in Lestoria/Adventures in Lestoria.vcxproj b/Adventures in Lestoria/Adventures in Lestoria.vcxproj index 32375e2e..9cd72d90 100644 --- a/Adventures in Lestoria/Adventures in Lestoria.vcxproj +++ b/Adventures in Lestoria/Adventures in Lestoria.vcxproj @@ -683,6 +683,7 @@ + diff --git a/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters b/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters index e0914d15..3c2db80b 100644 --- a/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters +++ b/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters @@ -408,6 +408,9 @@ Header Files + + Header Files + @@ -686,6 +689,9 @@ Source Files + + Source Files + @@ -799,6 +805,8 @@ + + @@ -807,6 +815,9 @@ Documentation\Menus + + Resource Files + diff --git a/Adventures in Lestoria/AdventuresInLestoria.cpp b/Adventures in Lestoria/AdventuresInLestoria.cpp index 90986ca9..19c8ffe3 100644 --- a/Adventures in Lestoria/AdventuresInLestoria.cpp +++ b/Adventures in Lestoria/AdventuresInLestoria.cpp @@ -2517,16 +2517,16 @@ void AiL::UpdateDiscordStatus(std::string levelName,std::string className){ if(Discord){ ::discord::Activity newActivity{}; newActivity.SetDetails(levelName.c_str()); - newActivity.SetState(std::format("Level {} {}",player->Level(),className).c_str()); discord::ActivityTimestamps×tamps=newActivity.GetTimestamps(); timestamps.SetStart(gameStarted); newActivity.SetType(discord::ActivityType::Playing); discord::ActivityAssets&assets=newActivity.GetAssets(); assets.SetLargeImage("ail_512"); assets.SetLargeText(game->sAppName.c_str()); - assets.SetSmallText(std::format("Level {} {}",player->Level(),className).c_str()); if(levelName!="Main Menu"){ + newActivity.SetState(std::format("Level {} {}",player->Level(),className).c_str()); + assets.SetSmallText(std::format("Level {} {}",player->Level(),className).c_str()); std::for_each(className.begin(),className.end(),[](char&c){c=std::tolower(c);}); assets.SetSmallImage(("nico-"+className+"_512").c_str()); } diff --git a/Adventures in Lestoria/Audio.cpp b/Adventures in Lestoria/Audio.cpp index 72a49bf6..0e96de4b 100644 --- a/Adventures in Lestoria/Audio.cpp +++ b/Adventures in Lestoria/Audio.cpp @@ -45,6 +45,7 @@ INCLUDE_DATA float Audio::defaultFadeTime; void Audio::Initialize(){ + Engine().SetBackgroundPlay(true); Self().events.insert("Default Volume"); for(auto&[key,data]:DATA["Events"]){ Self().events.insert(key); @@ -228,4 +229,8 @@ void Audio::SetAudioEvent(const Event&eventName){ std::string operator""_SFX(const char*key,size_t length){ return "sfx_directory"_S+std::string(key,length); +} + +const SongName&Audio::GetTrackName(){ + return Self().currentBGM; } \ No newline at end of file diff --git a/Adventures in Lestoria/Audio.h b/Adventures in Lestoria/Audio.h index bf23b54d..30b82b5e 100644 --- a/Adventures in Lestoria/Audio.h +++ b/Adventures in Lestoria/Audio.h @@ -58,6 +58,7 @@ public: static void PlayBGM(const std::string_view sound,const bool loop=true); static void StopBGM(); static const Event&GetAudioEvent(); + static const SongName&GetTrackName(); static void SetAudioEvent(const Event&eventName); static const bool BGMIsPlaying(); private: diff --git a/Adventures in Lestoria/State_MainMenu.cpp b/Adventures in Lestoria/State_MainMenu.cpp index 51662ca6..c320de26 100644 --- a/Adventures in Lestoria/State_MainMenu.cpp +++ b/Adventures in Lestoria/State_MainMenu.cpp @@ -41,8 +41,11 @@ All rights reserved. #include "TitleScreen.h" #include "Key.h" +INCLUDE_game + void State_MainMenu::OnStateChange(GameState*prevState){ TitleScreen::Reset(); + game->UpdateDiscordStatus("Main Menu",""); }; void State_MainMenu::OnUserUpdate(AiL*game){ TitleScreen::Update(); diff --git a/Adventures in Lestoria/State_OverworldMap.cpp b/Adventures in Lestoria/State_OverworldMap.cpp index 6b3a1bb1..bdd96e7e 100644 --- a/Adventures in Lestoria/State_OverworldMap.cpp +++ b/Adventures in Lestoria/State_OverworldMap.cpp @@ -106,27 +106,38 @@ void State_OverworldMap::OnUserUpdate(AiL*game){ Menu::OpenMenu(CRAFT_CONSUMABLE); } - if(game->GetKey(K1).bPressed){ - Audio::Play("sfx100v2_loop_water_01.mp3"_SFX); - } - if(game->GetKey(F1).bPressed){ - Audio::PlayBGM("foresty1_1"); - }else - if(game->GetKey(F2).bPressed){ - Audio::PlayBGM("foresty0"); - } - if(game->GetKey(K2).bPressed){ - Audio::SetAudioEvent("Default Volume"); - } - if(game->GetKey(K3).bPressed){ - Audio::SetAudioEvent("LowHealth"); - } - if(game->GetKey(K4).bPressed){ - Audio::SetAudioEvent("InCombat"); - } - if(game->GetKey(K5).bPressed){ - Audio::SetAudioEvent("Underwater"); - } + #pragma region Audio Test + if(game->GetKey(K1).bPressed){ + Audio::Play("sfx100v2_loop_water_01.mp3"_SFX); + } + if(game->GetKey(F1).bPressed){ + Audio::PlayBGM("foresty1_1"); + lastAudioTime=0.f; + }else + if(game->GetKey(F2).bPressed){ + Audio::PlayBGM("foresty0"); + lastAudioTime=0.f; + } + if(game->GetKey(K2).bPressed){ + Audio::SetAudioEvent("Default Volume"); + lastEventTime=0.f; + } + if(game->GetKey(K3).bPressed){ + Audio::SetAudioEvent("LowHealth"); + lastEventTime=0.f; + } + if(game->GetKey(K4).bPressed){ + Audio::SetAudioEvent("InCombat"); + lastEventTime=0.f; + } + if(game->GetKey(K5).bPressed){ + Audio::SetAudioEvent("Underwater"); + lastEventTime=0.f; + } + + lastEventTime=std::clamp(lastEventTime+game->GetElapsedTime(),0.f,5.0f); + lastAudioTime=std::clamp(lastAudioTime+game->GetElapsedTime(),0.f,5.0f); + #pragma endregion #pragma region Handle Connection Point Clicking and Movement for(ConnectionPoint&cp:connections){ @@ -169,6 +180,16 @@ void State_OverworldMap::Draw(AiL*game){ break; } } + #pragma region Audio Test + std::stringstream eventText; + eventText<<"Event Set to: "; + eventText<DrawShadowStringPropDecal({2,game->ScreenHeight()-36.f},eventText.str(),{255,255,255,uint8_t(util::lerp(255,0,lastEventTime/5.0f))},{0,0,0,uint8_t(util::lerp(255,0,lastEventTime/5.0f))}); + if(lastAudioTime!=5.0f)game->DrawShadowStringPropDecal({2,game->ScreenHeight()-20.f},audioText.str(),{255,255,255,uint8_t(util::lerp(255,0,lastAudioTime/5.0f))},{0,0,0,uint8_t(util::lerp(255,0,lastAudioTime/5.0f))}); + #pragma endregion }; void State_OverworldMap::SetStageMarker(std::string connectionName){ for(ConnectionPoint&connection:connections){ diff --git a/Adventures in Lestoria/State_OverworldMap.h b/Adventures in Lestoria/State_OverworldMap.h index 1ef6516f..c05a4401 100644 --- a/Adventures in Lestoria/State_OverworldMap.h +++ b/Adventures in Lestoria/State_OverworldMap.h @@ -46,6 +46,8 @@ class State_OverworldMap:public GameState{ float currentTime=0; vf2d playerTargetPos; const float playerMoveSpd=48.0; + float lastEventTime=0.f; + float lastAudioTime=0.f; public: State_OverworldMap(); static std::vectorconnections; diff --git a/Adventures in Lestoria/TODO.txt b/Adventures in Lestoria/TODO.txt index 1d7dd1e5..51dbbebf 100644 --- a/Adventures in Lestoria/TODO.txt +++ b/Adventures in Lestoria/TODO.txt @@ -14,11 +14,12 @@ Audio Engine Settings Menu - Any settings should be saved to the save file! - Volume Controls + - Play Sound in Background - Key Configuration -Upon pressing a key, check if the key is bound to another option, if so, remove that bind from the list. Up to two keys may be binded per action. -We have to save keybinds to the save file. --Smooth Movement +-Smooth Movement January 31st ============ diff --git a/Adventures in Lestoria/TitleScreen.cpp b/Adventures in Lestoria/TitleScreen.cpp index 957f42c4..790d6b6f 100644 --- a/Adventures in Lestoria/TitleScreen.cpp +++ b/Adventures in Lestoria/TitleScreen.cpp @@ -66,6 +66,7 @@ void TitleScreen::Initialize(){ Reset(); } void TitleScreen::Reset(){ + state=BUILDING; for(Particle&p:particles){ switch(util::random()%4){ case 0:{ //Top Edge diff --git a/Adventures in Lestoria/Version.h b/Adventures in Lestoria/Version.h index 9cba92e0..9a1ddcd3 100644 --- a/Adventures in Lestoria/Version.h +++ b/Adventures in Lestoria/Version.h @@ -39,7 +39,7 @@ All rights reserved. #define VERSION_MAJOR 0 #define VERSION_MINOR 2 #define VERSION_PATCH 1 -#define VERSION_BUILD 5379 +#define VERSION_BUILD 5389 #define stringify(a) stringify_(a) #define stringify_(a) #a diff --git a/Adventures in Lestoria/assets/config/bgm/bgm.txt b/Adventures in Lestoria/assets/config/bgm/bgm.txt index b25365f9..263e4aa2 100644 --- a/Adventures in Lestoria/assets/config/bgm/bgm.txt +++ b/Adventures in Lestoria/assets/config/bgm/bgm.txt @@ -24,7 +24,7 @@ BGM Events { - LowHealth = 50%,60%,20%,20% + LowHealth = 50%,100%,20%,20% InCombat = 90%,100%,0%,0% Underwater = 0%,0%,100%,100% } diff --git a/enc_temp_folder/7bc3a296f298485445fd98097212ba0/TODO.txt b/enc_temp_folder/7bc3a296f298485445fd98097212ba0/TODO.txt new file mode 100644 index 00000000..7402165e --- /dev/null +++ b/enc_temp_folder/7bc3a296f298485445fd98097212ba0/TODO.txt @@ -0,0 +1,47 @@ +January 1st +=========== +The Hub / NPC Interactions +Save/Load Game + EMSCRIPTEN Version: ??? + NEW GAME -> Ask for a User ID -> Ask for a Save File Name -> Saves the Game -> Starts the Game + LOAD GAME -> Ask for a User ID -> Shows Available Files -> Click to Load -> Start Game + +Audio Engine + - Audio Ambience Zones + - Menu Sound Effects + - Attack / Enemy Sound Effects + - Music Loading/Looping +Settings Menu + - Any settings should be saved to the save file! + - Volume Controls + - Play Sound in Background + - Key Configuration + -Upon pressing a key, check if the key is bound to another option, if so, + remove that bind from the list. Up to two keys may be binded per action. + -We have to save keybinds to the save file. +-Smooth Movement + +January 31st +============ +Implement the rest of the enemy types: +- Baby Wolf +- Wolf +- Wolf Leader +- Baby Bear +- Brown Bear +- Green Frog +- Red Frog +- Orange Frog +- Blue Frog +Implement Ursule, Mother of Bears Boss +Story proofreading/correcting/storyboarding +- Add a command to play sound effects/music. +- Fix Keyboard/Controller Menu Navigation (Need clearly defined rules) +- Game Controller Support + - Should use the Keybind structure that already exists. +- Loading Screen +- Title Screen setpieces + +- Export/Import Save Files Online/Offline + +- Consider controls for fine-tuning music and how they sound during events. \ No newline at end of file