RA tweaks (#743)

* prevent crash

* more

* more
This commit is contained in:
Logan McNaughton 2026-04-13 22:38:31 +02:00 committed by GitHub
parent baa14de3f3
commit 7725aa2692
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 12 additions and 4 deletions

View File

@ -103,6 +103,7 @@ static std::vector<const char *> achievement_challenge_indicators;
static Vulkan::ImageHandle achievement_challenge_indicator_image;
static Vulkan::ImageHandle achievement_progress_indicator_image;
static std::map<uint32_t, std::string> leaderboard_trackers;
static bool display_challenge_indicator;
#define MESSAGE_TIME 3000 // 3 seconds
@ -154,6 +155,9 @@ bool sdl_event_filter(void *userdata, SDL_Event *event) {
case SDL_SCANCODE_F7:
callback.load_state = true;
break;
case SDL_SCANCODE_F9:
display_challenge_indicator = !display_challenge_indicator;
break;
case SDL_SCANCODE_F12:
callback.reset_game = true;
break;
@ -307,6 +311,7 @@ void rdp_init(void *_window, GFX_INFO _gfx_info, const void *font,
messages = std::queue<Message>();
message_timer = 0;
display_challenge_indicator = true;
achievement_challenge_indicators.clear();
leaderboard_trackers.clear();
achievement_challenge_indicator_image = Vulkan::ImageHandle();
@ -493,7 +498,8 @@ static void render_frame(Vulkan::Device &device) {
}
} else if (achievement_progress_indicator_image) {
draw_indicator(cmd, achievement_progress_indicator_image, vp);
} else if (achievement_challenge_indicator_image) {
} else if (achievement_challenge_indicator_image &&
display_challenge_indicator) {
draw_indicator(cmd, achievement_challenge_indicator_image, vp);
}
}
@ -845,8 +851,10 @@ void achievement_progress_remove() {
void leaderboard_tracker_add(uint32_t id, const char *title,
const char *display) {
leaderboard_trackers[id] = std::format("{}: {}", title, display);
update_challenge_indicator();
if (title) {
leaderboard_trackers[id] = std::format("{}: {}", title, display);
update_challenge_indicator();
}
}
void leaderboard_tracker_remove(uint32_t id) {

View File

@ -152,7 +152,7 @@ void ra_welcome() {
rc_client_get_user_game_summary(g_client, &summary);
int message_length = snprintf(
buffer, sizeof(buffer), "RA loaded: %s\nMode: %s\n", game->title,
buffer, sizeof(buffer), "%s\nMode: %s\n", game->title,
rc_client_get_hardcore_enabled(g_client) ? "Hardcore" : "Softcore");
if (summary.num_core_achievements != 0) {