| 356 | } |
| 357 | |
| 358 | void Window_Message::FinishMessageProcessing() { |
| 359 | DebugLog("{}: FINISH MSG"); |
| 360 | text.clear(); |
| 361 | text_index = text.data(); |
| 362 | |
| 363 | SetPause(false); |
| 364 | kill_page = false; |
| 365 | line_char_counter = 0; |
| 366 | SetIndex(-1); |
| 367 | |
| 368 | pending_message = PendingMessage(Game_Message::CommandCodeInserter); |
| 369 | |
| 370 | auto close_frames = Game_Battle::IsBattleRunning() ? 0 : message_animation_frames; |
| 371 | |
| 372 | if (number_input_window->IsVisible()) { |
| 373 | number_input_window->SetActive(false); |
| 374 | number_input_window->SetVisible(false); |
| 375 | } |
| 376 | |
| 377 | SetCloseAnimation(close_frames); |
| 378 | close_started_this_frame = true; |
| 379 | DebugLog("{}: MSG START CLOSE {}", close_frames); |
| 380 | |
| 381 | // RPG_RT updates window open/close at the end of the main loop. |
| 382 | // To simulate this timing, we run base class Update() again once |
| 383 | // to animate the closing by 1 frame. |
| 384 | Window::Update(); |
| 385 | |
| 386 | if (gold_window->IsVisible()) { |
| 387 | gold_window->SetCloseAnimation(close_frames); |
| 388 | gold_window->Update(); |
| 389 | } |
| 390 | } |
| 391 | |
| 392 | void Window_Message::ResetWindow() { |
| 393 |
no test coverage detected