Player
Player copied to clipboard
Incorrect positioning of timer overlay in "Die Reise ins All"
Tested with the latest continuous build of the Player.
~Likely a timing issue similar to #2432 / #2932~
During the liftoff sequence, an in-game timer is set, which should align with the clock sprite on the lower left. But EasyRPG Player shows it on the upper left of the screen.
Die Reise ins All uses an unmodified RPG_RT of Don Miguels 1.07b version of RPG Maker 2000.
https://realtroll.hpage.com/die-reise-ins-all/allgemein.html
RPG_RT:
EasyRPG
I tested around a bit and found out that the positioning defined via "Control Text Settings" doesn't affect positioning of the timer at all. It seems, that RPG_RT actually checks for the y parameter of the window & ignores system settings. This is also the case, if the message window isn't active/visible any more.
This simple change should do it:
diff --git a/src/sprite_timer.cpp b/src/sprite_timer.cpp
--- a/src/sprite_timer.cpp
+++ b/src/sprite_timer.cpp
@@ -23,6 +23,7 @@
#include "game_party.h"
#include "game_system.h"
#include "game_battle.h"
+#include "window_message.h"
#include <player.h>
Sprite_Timer::Sprite_Timer(int which) :
@@ -90,7 +91,7 @@ void Sprite_Timer::Draw(Bitmap& dst) {
if (Game_Battle::IsBattleRunning()) {
SetY((Player::screen_height / 3 * 2) - 20);
}
- else if (Game_Message::IsMessageActive() && Game_Message::GetRealPosition() == 0) {
+ else if (Game_Message::GetWindow()->GetY() < 20) {
SetY(Player::screen_height - 20 - Player::menu_offset_y);
}
else {