| 2583 | } |
| 2584 | |
| 2585 | bool Game_Interpreter::CommandShakeScreen(lcf::rpg::EventCommand const& com) { // code 11050 |
| 2586 | Game_Screen* screen = Main_Data::game_screen.get(); |
| 2587 | int strength = com.parameters[0]; |
| 2588 | int speed = com.parameters[1]; |
| 2589 | int tenths = com.parameters[2]; |
| 2590 | bool wait = com.parameters[3] != 0; |
| 2591 | // params array is size 4 in 2k and 2k games ported to 2k3. |
| 2592 | int shake_cmd = 0; |
| 2593 | if (com.parameters.size() > 4 && Player::IsRPG2k3Commands()) { |
| 2594 | shake_cmd = com.parameters[4]; |
| 2595 | } |
| 2596 | |
| 2597 | switch (shake_cmd) { |
| 2598 | case 0: |
| 2599 | if (tenths > 0) { |
| 2600 | screen->ShakeOnce(strength, speed, tenths * DEFAULT_FPS / 10); |
| 2601 | if (wait) { |
| 2602 | SetupWait(tenths); |
| 2603 | } |
| 2604 | } else { |
| 2605 | screen->ShakeEnd(); |
| 2606 | } |
| 2607 | break; |
| 2608 | case 1: |
| 2609 | screen->ShakeBegin(strength, speed); |
| 2610 | break; |
| 2611 | case 2: |
| 2612 | screen->ShakeEnd(); |
| 2613 | break; |
| 2614 | } |
| 2615 | |
| 2616 | return true; |
| 2617 | } |
| 2618 | |
| 2619 | bool Game_Interpreter::CommandWeatherEffects(lcf::rpg::EventCommand const& com) { // code 11070 |
| 2620 | Game_Screen* screen = Main_Data::game_screen.get(); |
nothing calls this directly
no test coverage detected