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

Method CommandShakeScreen

src/game_interpreter.cpp:2585–2617  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2583}
2584
2585bool 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
2619bool Game_Interpreter::CommandWeatherEffects(lcf::rpg::EventCommand const& com) { // code 11070
2620 Game_Screen* screen = Main_Data::game_screen.get();

Callers

nothing calls this directly

Calls 5

ShakeEndMethod · 0.80
ShakeBeginMethod · 0.80
getMethod · 0.45
sizeMethod · 0.45
ShakeOnceMethod · 0.45

Tested by

no test coverage detected