mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2025-10-30 08:01:01 +00:00
Synchronize Fwoosh
This commit is contained in:
parent
ea1553c18d
commit
aa345ede4d
1 changed files with 18 additions and 3 deletions
|
|
@ -48,7 +48,9 @@ static void cloud_act_spawn_parts(void) {
|
||||||
*/
|
*/
|
||||||
static void cloud_act_fwoosh_hidden(void) {
|
static void cloud_act_fwoosh_hidden(void) {
|
||||||
#ifndef NODRAWINGDISTANCE
|
#ifndef NODRAWINGDISTANCE
|
||||||
if (o->oDistanceToMario < 2000.0f) {
|
struct Object* player = nearest_player_to_object(o);
|
||||||
|
int distanceToPlayer = dist_between_objects(o, player);
|
||||||
|
if (distanceToPlayer < 2000.0f) {
|
||||||
#endif
|
#endif
|
||||||
cur_obj_unhide();
|
cur_obj_unhide();
|
||||||
o->oAction = CLOUD_ACT_SPAWN_PARTS;
|
o->oAction = CLOUD_ACT_SPAWN_PARTS;
|
||||||
|
|
@ -62,8 +64,21 @@ static void cloud_act_fwoosh_hidden(void) {
|
||||||
* long enough, blow wind at him.
|
* long enough, blow wind at him.
|
||||||
*/
|
*/
|
||||||
static void cloud_fwoosh_update(void) {
|
static void cloud_fwoosh_update(void) {
|
||||||
|
if (!network_sync_object_initialized(o)) {
|
||||||
|
network_init_object(o, 4000.0f);
|
||||||
|
network_init_object_field(o, &o->header.gfx.scale[0]);
|
||||||
|
network_init_object_field(o, &o->oCloudCenterX);
|
||||||
|
network_init_object_field(o, &o->oCloudCenterY);
|
||||||
|
network_init_object_field(o, &o->oCloudBlowing);
|
||||||
|
network_init_object_field(o, &o->oCloudGrowSpeed);
|
||||||
|
network_init_object_field(o, &o->oCloudFwooshMovementRadius);
|
||||||
|
}
|
||||||
|
|
||||||
|
struct Object* player = nearest_player_to_object(o);
|
||||||
|
int distanceToPlayer = dist_between_objects(o, player);
|
||||||
|
|
||||||
#ifndef NODRAWINGDISTANCE
|
#ifndef NODRAWINGDISTANCE
|
||||||
if (o->oDistanceToMario > 2500.0f) {
|
if (distanceToPlayer > 2500.0f) {
|
||||||
o->oAction = CLOUD_ACT_UNLOAD;
|
o->oAction = CLOUD_ACT_UNLOAD;
|
||||||
} else {
|
} else {
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -86,7 +101,7 @@ static void cloud_fwoosh_update(void) {
|
||||||
o->oCloudFwooshMovementRadius += 0xC8;
|
o->oCloudFwooshMovementRadius += 0xC8;
|
||||||
|
|
||||||
// If mario stays nearby for 100 frames, begin blowing
|
// If mario stays nearby for 100 frames, begin blowing
|
||||||
if (o->oDistanceToMario < 1000.0f) {
|
if (distanceToPlayer < 1000.0f) {
|
||||||
if (o->oTimer > 100) {
|
if (o->oTimer > 100) {
|
||||||
o->oCloudBlowing = TRUE;
|
o->oCloudBlowing = TRUE;
|
||||||
o->oCloudGrowSpeed = 0.14f;
|
o->oCloudGrowSpeed = 0.14f;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue