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

Method GetTransition

src/game_system.cpp:396–482  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

394}
395
396Transition::Type Game_System::GetTransition(int which) {
397 int transition = 0;
398
399 auto get = [&](int local, int db) {
400 return local >= 0 ? local : db;
401 };
402
403 switch (which) {
404 case Transition_TeleportErase:
405 transition = get(data.transition_out, lcf::Data::system.transition_out);
406 break;
407 case Transition_TeleportShow:
408 transition = get(data.transition_in, lcf::Data::system.transition_in);
409 break;
410 case Transition_BeginBattleErase:
411 transition = get(data.battle_start_fadeout, lcf::Data::system.battle_start_fadeout);
412 break;
413 case Transition_BeginBattleShow:
414 transition = get(data.battle_start_fadein, lcf::Data::system.battle_start_fadein);
415 break;
416 case Transition_EndBattleErase:
417 transition = get(data.battle_end_fadeout, lcf::Data::system.battle_end_fadeout);
418 break;
419 case Transition_EndBattleShow:
420 transition = get(data.battle_end_fadein, lcf::Data::system.battle_end_fadein);
421 break;
422 default: assert(false && "Bad transition");
423 }
424
425 constexpr int num_types = 21;
426
427 if (transition < 0 || transition >= num_types) {
428 Output::Warning("Invalid transition value {}", transition);
429 transition = Utils::Clamp(transition, 0, num_types - 1);
430 }
431
432 constexpr Transition::Type fades[2][num_types] = {
433 {
434 Transition::TransitionFadeOut,
435 Transition::TransitionRandomBlocks,
436 Transition::TransitionRandomBlocksDown,
437 Transition::TransitionRandomBlocksUp,
438 Transition::TransitionBlindClose,
439 Transition::TransitionVerticalStripesOut,
440 Transition::TransitionHorizontalStripesOut,
441 Transition::TransitionBorderToCenterOut,
442 Transition::TransitionCenterToBorderOut,
443 Transition::TransitionScrollUpOut,
444 Transition::TransitionScrollDownOut,
445 Transition::TransitionScrollLeftOut,
446 Transition::TransitionScrollRightOut,
447 Transition::TransitionVerticalDivision,
448 Transition::TransitionHorizontalDivision,
449 Transition::TransitionCrossDivision,
450 Transition::TransitionZoomIn,
451 Transition::TransitionMosaicOut,
452 Transition::TransitionWaveOut,
453 Transition::TransitionCutOut,

Callers 8

CommandEraseScreenMethod · 0.80
CommandShowScreenMethod · 0.80
TransitionInMethod · 0.80
TransitionOutMethod · 0.80
TransitionInMethod · 0.80
TransitionOutMethod · 0.80
StartPendingTeleportMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected