Skip to content

Commit 2ba02e4

Browse files
committed
Stick Angle Display - Added separate text for the stick being at neutral
1 parent e15d138 commit 2ba02e4

File tree

4 files changed

+27
-12
lines changed

4 files changed

+27
-12
lines changed

ttyd-tools/rel/include/codes.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ void lockMarioHPToMax();
1919
void bobberyEarly();
2020
void spawnItem();
2121
void checkIfAreaFlagsShouldBeCleared();
22-
double getStickAngle();
22+
void getStickAngleString(char *stringOut);
2323

2424
void displaySequenceInPauseMenu();
2525
void displayOnScreenTimer();

ttyd-tools/rel/source/codes.cpp

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -755,31 +755,40 @@ void checkIfAreaFlagsShouldBeCleared()
755755
}
756756
}
757757

758-
double getStickAngle()
758+
void getStickAngleString(char *stringOut)
759759
{
760760
int32_t tempStickX = static_cast<int32_t>(ttyd::system::keyGetStickX(0));
761+
int32_t tempStickY = static_cast<int32_t>(ttyd::system::keyGetStickY(0));
762+
763+
// Check if the stick is at the neutral position
764+
if ((tempStickX == 0) && (tempStickY == 0))
765+
{
766+
// The stick is currently at the neutral position
767+
ttyd::string::strcpy(stringOut, "Neutral");
768+
return;
769+
}
770+
761771
if (tempStickX > 127)
762772
{
763773
tempStickX -= 256;
764774
}
765-
double StickX = static_cast<double>(tempStickX);
766775

767-
int32_t tempStickY = static_cast<int32_t>(ttyd::system::keyGetStickY(0));
768776
if (tempStickY > 127)
769777
{
770778
tempStickY -= 256;
771779
}
772-
double StickY = static_cast<double>(tempStickY);
773780

781+
double StickX = static_cast<double>(tempStickX);
782+
double StickY = static_cast<double>(tempStickY);
774783
const double PI = 3.14159265358979323846;
775-
double StickAngle = (ttyd::w_atan2::atan2(StickX, StickY)) * (180 / PI);
776784

785+
double StickAngle = (ttyd::w_atan2::atan2(StickX, StickY)) * (180 / PI);
777786
if (StickAngle < 0)
778787
{
779788
StickAngle += 360;
780789
}
781790

782-
return StickAngle;
791+
sprintf(stringOut, "%.2f", StickAngle);
783792
}
784793

785794
void displaySequenceInPauseMenu()

ttyd-tools/rel/source/draw.cpp

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3433,10 +3433,13 @@ void drawStickAngle()
34333433
PosY += 20;
34343434
}
34353435

3436+
char StickAngleString[12];
3437+
getStickAngleString(StickAngleString);
3438+
34363439
char *tempDisplayBuffer = DisplayBuffer;
34373440
sprintf(tempDisplayBuffer,
3438-
"StickAngle: %.2f",
3439-
getStickAngle());
3441+
"StickAngle: %s",
3442+
StickAngleString);
34403443

34413444
drawText(tempDisplayBuffer, PosX, PosY, Alpha, TextColor, Scale);
34423445
}
@@ -3487,11 +3490,14 @@ void drawYoshiSkipDetails()
34873490
}
34883491

34893492
// Draw the text
3493+
char StickAngleString[12];
3494+
getStickAngleString(StickAngleString);
3495+
34903496
char *tempDisplayBuffer = DisplayBuffer;
34913497
sprintf(tempDisplayBuffer,
3492-
"YST: %" PRIu32 "\nStickAngle: %.2f",
3498+
"YST: %" PRIu32 "\nStickAngle: %s",
34933499
YoshiSkip.MainTimer,
3494-
getStickAngle());
3500+
StickAngleString);
34953501

34963502
drawText(tempDisplayBuffer, PosX, PosY, Alpha, TextColor, Scale);
34973503

ttyd-tools/rel/source/global.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
namespace mod {
88

9-
const char *VersionNumber = "v3.0.23";
9+
const char *VersionNumber = "v3.0.24";
1010

1111
const char *RootLines[] =
1212
{

0 commit comments

Comments
 (0)