diff --git a/Adventures in Lestoria/AdventuresInLestoria.cpp b/Adventures in Lestoria/AdventuresInLestoria.cpp index 13ca15ea..6aae16c8 100644 --- a/Adventures in Lestoria/AdventuresInLestoria.cpp +++ b/Adventures in Lestoria/AdventuresInLestoria.cpp @@ -3673,13 +3673,23 @@ void AiL::InitializeGraphics(){ squareCircleCooldownPoints.push_back({0,0}); for(int i=0;i<=360;i+=4){ float angle=util::degToRad(float(i))-PI/2; - if(i==0){circleCooldownPoints.push_back(vf2d{cos(angle),sin(angle)});} - circleCooldownPoints.push_back(vf2d{cos(angle),sin(angle)}); - vf2d point=vf2d{cos(angle),sin(angle)}*sqrt(2.1f); - point.x=std::clamp(point.x,-1.f,1.f); - point.y=std::clamp(point.y,-1.f,1.f); - if(i==0){squareCircleCooldownPoints.push_back(point);} - squareCircleCooldownPoints.push_back(point); + + #pragma region Donut Circle + const float innerArcRatio{0.8f}; + + donutCircleCooldownPoints.push_back(vf2d{cos(angle),sin(angle)}); + donutCircleCooldownPoints.push_back(vf2d{cos(angle),sin(angle)}*innerArcRatio); + #pragma endregion + + #pragma region Cooldown Circles + if(i==0){circleCooldownPoints.push_back(vf2d{cos(angle),sin(angle)});} + circleCooldownPoints.push_back(vf2d{cos(angle),sin(angle)}); + vf2d point=vf2d{cos(angle),sin(angle)}*sqrt(2.1f); + point.x=std::clamp(point.x,-1.f,1.f); + point.y=std::clamp(point.y,-1.f,1.f); + if(i==0){squareCircleCooldownPoints.push_back(point);} + squareCircleCooldownPoints.push_back(point); + #pragma endregion } for(auto&val:DATA["Images"].GetKeys()){ diff --git a/Adventures in Lestoria/AdventuresInLestoria.h b/Adventures in Lestoria/AdventuresInLestoria.h index ead47619..b558bf32 100644 --- a/Adventures in Lestoria/AdventuresInLestoria.h +++ b/Adventures in Lestoria/AdventuresInLestoria.h @@ -156,6 +156,7 @@ private: std::vectordropsBeforeLower,dropsAfterLower,dropsBeforeUpper,dropsAfterUpper; std::vectorendZones,upperEndZones; std::vectorcircleCooldownPoints; + std::vectordonutCircleCooldownPoints; std::vectorsquareCircleCooldownPoints; std::mapMAP_TILESETS; vf2d worldShake={}; diff --git a/Adventures in Lestoria/State_GameRun.cpp b/Adventures in Lestoria/State_GameRun.cpp index 0ad2646f..61f3688a 100644 --- a/Adventures in Lestoria/State_GameRun.cpp +++ b/Adventures in Lestoria/State_GameRun.cpp @@ -90,4 +90,11 @@ void State_GameRun::Draw(AiL*game){ game->RenderWorld(game->GetElapsedTime()); game->RenderHud(); Tutorial::Draw(); + + std::vectorlargeDonut{}; + std::transform(game->donutCircleCooldownPoints.begin(),game->donutCircleCooldownPoints.end(),std::back_inserter(largeDonut),[](const vf2d&point){return vf2d{120,120}+point*64.f;}); + + game->SetDecalStructure(DecalStructure::STRIP); + game->DrawPolygonDecal(nullptr,largeDonut,largeDonut,RED); + game->SetDecalStructure(DecalStructure::FAN); } \ No newline at end of file diff --git a/Adventures in Lestoria/Version.h b/Adventures in Lestoria/Version.h index 1f17ad34..9cc7a884 100644 --- a/Adventures in Lestoria/Version.h +++ b/Adventures in Lestoria/Version.h @@ -39,7 +39,7 @@ All rights reserved. #define VERSION_MAJOR 1 #define VERSION_MINOR 2 #define VERSION_PATCH 3 -#define VERSION_BUILD 10827 +#define VERSION_BUILD 10836 #define stringify(a) stringify_(a) #define stringify_(a) #a diff --git a/Adventures in Lestoria/olcPixelGameEngine.h b/Adventures in Lestoria/olcPixelGameEngine.h index 5f984010..be919e1d 100644 --- a/Adventures in Lestoria/olcPixelGameEngine.h +++ b/Adventures in Lestoria/olcPixelGameEngine.h @@ -586,7 +586,7 @@ namespace olc // Pixel Game Engine Advanced Configuration constexpr inline uint8_t nMouseButtons = 5; constexpr inline uint8_t nTabSizeInSpaces = 4; - constexpr inline size_t OLC_MAX_VERTS = 128; + constexpr inline size_t OLC_MAX_VERTS = 256; enum rcode { FAIL = 0, OK = 1, NO_FILE = -1 }; // Thanks to scripticuk and others for updating the key maps // NOTE: The GLUT platform will need updating, open to contributions ;) diff --git a/x64/Release/Adventures in Lestoria.exe b/x64/Release/Adventures in Lestoria.exe index ec4216a5..a9031eda 100644 Binary files a/x64/Release/Adventures in Lestoria.exe and b/x64/Release/Adventures in Lestoria.exe differ