Equivalent: sda relocation and some float thing before info.rate.set
| 2561 | |
| 2562 | // Equivalent: sda relocation and some float thing before info.rate.set |
| 2563 | static U32 BoulderRollDoneCB() |
| 2564 | { |
| 2565 | xEntShow(&globals.player.ent); |
| 2566 | zEntPlayer_SNDPlay(ePlayerSnd_BoulderEnd, 0.0f); |
| 2567 | |
| 2568 | xParEmitterCustomSettings info; |
| 2569 | if (gPTankDisable) |
| 2570 | { |
| 2571 | info.custom_flags = 0x35e; |
| 2572 | xVec3Copy(&info.pos, (xVec3*)&boulderVehicle->model->Mat->pos); |
| 2573 | xVec3Copy(&info.vel, (xVec3*)&boulderVehicle->vel); |
| 2574 | |
| 2575 | if (xVec3Normalize(&info.vel, &info.vel) < 0.00001f) |
| 2576 | { |
| 2577 | info.vel.x = 0.0f; |
| 2578 | info.vel.y = 3.0f; |
| 2579 | info.vel.z = 0.0f; |
| 2580 | } |
| 2581 | else |
| 2582 | { |
| 2583 | xVec3SMulBy(&info.vel, 3.0f); |
| 2584 | } |
| 2585 | |
| 2586 | info.vel_angle_variation = DEG2RAD(270); |
| 2587 | info.rate.set(3000.0f, 3000.0f, 1.0f, 0.0f); |
| 2588 | info.life.set(0.75f, 0.75f, 1.0f, 0.0f); |
| 2589 | info.size_birth.set(0.25f, 0.25f, 1.0f, 0.0f); |
| 2590 | info.size_death.set(0.5f, 0.5f, 1.0f, 0.0f); |
| 2591 | |
| 2592 | xParEmitterEmitCustom(sEmitSpinBubbles, update_dt, &info); |
| 2593 | xVec3AddScaled(&info.pos, &boulderVehicle->vel, 10.0f * update_dt); |
| 2594 | xParEmitterEmitCustom(sEmitSpinBubbles, update_dt, &info); |
| 2595 | } |
| 2596 | else |
| 2597 | { |
| 2598 | zFX_SpawnBubbleHit((xVec3*)&boulderVehicle->model->Mat->pos, 50); |
| 2599 | } |
| 2600 | |
| 2601 | globals.player.ent.update = zEntPlayer_Update; |
| 2602 | globals.player.ent.move = zEntPlayer_Move; |
| 2603 | globals.player.ent.render = zEntPlayer_Render; |
| 2604 | |
| 2605 | xEntBoulder_Kill(boulderVehicle); |
| 2606 | boulderRollShouldStart = 0; |
| 2607 | |
| 2608 | zEntEvent(&globals.player.ent, eEventSpongeballOff); |
| 2609 | idle_tmr = 0.0f; |
| 2610 | |
| 2611 | return 0; |
| 2612 | } |
| 2613 | |
| 2614 | static U32 SlideTrackCheck(xAnimTransition*, xAnimSingle*, void*) |
| 2615 | { |
no test coverage detected