| 2358 | } |
| 2359 | |
| 2360 | void cruise_bubble::launch() |
| 2361 | { |
| 2362 | if ((shared.flags & 0x13) != 0x3) |
| 2363 | { |
| 2364 | return; |
| 2365 | } |
| 2366 | |
| 2367 | if (zGameExtras_CheatFlags() & 0x20000000) |
| 2368 | { |
| 2369 | // scheduling off |
| 2370 | shared.flags |= 0x200; |
| 2371 | current_tweak = &cheat_tweak; |
| 2372 | } |
| 2373 | else |
| 2374 | { |
| 2375 | current_tweak = &normal_tweak; |
| 2376 | } |
| 2377 | |
| 2378 | cruise_bubble::reset_wake_ribbons(); |
| 2379 | cruise_bubble::reset_explode_decal(); |
| 2380 | |
| 2381 | shared.flags = shared.flags | 0x14; |
| 2382 | shared.last_sp = shared.sp = globals.pad0->analog[0].offset; |
| 2383 | shared.player_health = globals.player.Health; |
| 2384 | // scheduling off |
| 2385 | shared.player_motion = 0.0f; |
| 2386 | shared.fov_default = xCameraGetFOV(&globals.camera); |
| 2387 | |
| 2388 | ztalkbox::permit(0x0, 0xffffffff); |
| 2389 | cruise_bubble::set_state(THREAD_PLAYER, BEGIN_STATE_PLAYER); |
| 2390 | } |
| 2391 | |
| 2392 | bool cruise_bubble::update(xScene* s, F32 dt) |
| 2393 | { |
nothing calls this directly
no test coverage detected