MCPcopy Create free account
hub / github.com/EasyRPG/Player / CommandEraseScreen

Method CommandEraseScreen

src/game_interpreter.cpp:2357–2448  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2355}
2356
2357bool 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;

Callers

nothing calls this directly

Calls 2

GetRequestedSceneTypeMethod · 0.80
GetTransitionMethod · 0.80

Tested by

no test coverage detected