diff --git a/src/pc/network/packets/packet_collect_coin.c b/src/pc/network/packets/packet_collect_coin.c index 6926da237..757d61de5 100644 --- a/src/pc/network/packets/packet_collect_coin.c +++ b/src/pc/network/packets/packet_collect_coin.c @@ -45,6 +45,7 @@ static struct Object* find_nearest_coin(const BehaviorScript *behavior, f32* pos } void network_send_collect_coin(struct Object* o) { + if (gNetworkPlayerLocal == NULL || !gNetworkPlayerLocal->currAreaSyncValid) { return; } u16 behaviorId = get_id_from_behavior(o->behavior); struct Packet p; diff --git a/src/pc/network/packets/packet_collect_item.c b/src/pc/network/packets/packet_collect_item.c index f5b07b994..be66f095e 100644 --- a/src/pc/network/packets/packet_collect_item.c +++ b/src/pc/network/packets/packet_collect_item.c @@ -41,6 +41,7 @@ static struct Object* find_nearest_item(const BehaviorScript *behavior, f32* pos } void network_send_collect_item(struct Object* o) { + if (gNetworkPlayerLocal == NULL || !gNetworkPlayerLocal->currAreaSyncValid) { return; } u16 behaviorId = get_id_from_behavior(o->behavior); struct Packet p; diff --git a/src/pc/network/packets/packet_object.c b/src/pc/network/packets/packet_object.c index 1d52719ee..107f673f0 100644 --- a/src/pc/network/packets/packet_object.c +++ b/src/pc/network/packets/packet_object.c @@ -411,6 +411,7 @@ void network_send_object(struct Object* o) { } void network_send_object_reliability(struct Object* o, bool reliable) { + if (gNetworkPlayerLocal == NULL || !gNetworkPlayerLocal->currAreaSyncValid) { return; } // prevent sending objects during credits sequence if (gCurrActStarNum == 99) { return; } // sanity check SyncObject diff --git a/src/pc/network/packets/packet_player.c b/src/pc/network/packets/packet_player.c index 9e19269b4..1f0f90a81 100644 --- a/src/pc/network/packets/packet_player.c +++ b/src/pc/network/packets/packet_player.c @@ -186,6 +186,7 @@ static void write_packet_data(struct PacketPlayerData* data, struct MarioState* void network_send_player(u8 localIndex) { if (gMarioStates[localIndex].marioObj == NULL) { return; } if (gDjuiInMainMenu) { return; } + if (gNetworkPlayerLocal == NULL || !gNetworkPlayerLocal->currAreaSyncValid) { return; } struct PacketPlayerData data = { 0 }; read_packet_data(&data, &gMarioStates[localIndex]); diff --git a/src/pc/network/packets/packet_spawn_objects.c b/src/pc/network/packets/packet_spawn_objects.c index 297d6fa4a..c3ce213ee 100644 --- a/src/pc/network/packets/packet_spawn_objects.c +++ b/src/pc/network/packets/packet_spawn_objects.c @@ -48,6 +48,7 @@ void network_send_spawn_objects(struct Object* objects[], u32 models[], u8 objec } void network_send_spawn_objects_to(u8 sendToLocalIndex, struct Object* objects[], u32 models[], u8 objectCount) { + if (gNetworkPlayerLocal == NULL || !gNetworkPlayerLocal->currAreaSyncValid) { return; } assert(objectCount < MAX_SPAWN_OBJECTS_PER_PACKET); // prevent sending spawn objects during credits if (gCurrActStarNum == 99) { return; }