| 2355 | } |
| 2356 | |
| 2357 | bool Game_Interpreter::CommandEraseScreen(lcf::rpg::EventCommand const& com) { // code 11010 |
| 2358 | if (Game_Message::IsMessageActive()) { |
| 2359 | return false; |
| 2360 | } |
| 2361 | |
| 2362 | // Emulates RPG_RT behavior where any transition out is skipped when these scenes are pending. |
| 2363 | auto st = Scene::instance->GetRequestedSceneType(); |
| 2364 | if (st == Scene::Battle || st == Scene::Gameover) { |
| 2365 | return true; |
| 2366 | } |
| 2367 | |
| 2368 | // Transition commands in battle have glitchy behavior in RPG_RT, but they don't affect the map. |
| 2369 | // We disable in them in Player. |
| 2370 | if (Game_Battle::IsBattleRunning()) { |
| 2371 | return true; |
| 2372 | } |
| 2373 | |
| 2374 | int tt = Transition::TransitionNone; |
| 2375 | |
| 2376 | switch (com.parameters[0]) { |
| 2377 | case -1: |
| 2378 | tt = Main_Data::game_system->GetTransition(Main_Data::game_system->Transition_TeleportErase); |
| 2379 | break; |
| 2380 | case 0: |
| 2381 | tt = Transition::TransitionFadeOut; |
| 2382 | break; |
| 2383 | case 1: |
| 2384 | tt = Transition::TransitionRandomBlocks; |
| 2385 | break; |
| 2386 | case 2: |
| 2387 | tt = Transition::TransitionRandomBlocksDown; |
| 2388 | break; |
| 2389 | case 3: |
| 2390 | tt = Transition::TransitionRandomBlocksUp; |
| 2391 | break; |
| 2392 | case 4: |
| 2393 | tt = Transition::TransitionBlindClose; |
| 2394 | break; |
| 2395 | case 5: |
| 2396 | tt = Transition::TransitionVerticalStripesOut; |
| 2397 | break; |
| 2398 | case 6: |
| 2399 | tt = Transition::TransitionHorizontalStripesOut; |
| 2400 | break; |
| 2401 | case 7: |
| 2402 | tt = Transition::TransitionBorderToCenterOut; |
| 2403 | break; |
| 2404 | case 8: |
| 2405 | tt = Transition::TransitionCenterToBorderOut; |
| 2406 | break; |
| 2407 | case 9: |
| 2408 | tt = Transition::TransitionScrollUpOut; |
| 2409 | break; |
| 2410 | case 10: |
| 2411 | tt = Transition::TransitionScrollDownOut; |
| 2412 | break; |
| 2413 | case 11: |
| 2414 | tt = Transition::TransitionScrollLeftOut; |
nothing calls this directly
no test coverage detected