| 394 | } |
| 395 | |
| 396 | Transition::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, |
no outgoing calls
no test coverage detected