diff --git a/database/wiiu/accept_friend_request_and_return_friend_info.go b/database/wiiu/accept_friend_request_and_return_friend_info.go index a7c7486..f52a830 100644 --- a/database/wiiu/accept_friend_request_and_return_friend_info.go +++ b/database/wiiu/accept_friend_request_and_return_friend_info.go @@ -68,7 +68,7 @@ func AcceptFriendRequestAndReturnFriendInfo(friendRequestID uint64) (*friends_wi if ok && connectedUser != nil { // * Online - friendInfo.Presence = connectedUser.PresenceV2 + friendInfo.Presence = connectedUser.PresenceV2.Copy().(*friends_wiiu_types.NintendoPresenceV2) } else { // * Offline var lastOnlineTime uint64 diff --git a/database/wiiu/get_user_friend_list.go b/database/wiiu/get_user_friend_list.go index ddf9f2d..383af99 100644 --- a/database/wiiu/get_user_friend_list.go +++ b/database/wiiu/get_user_friend_list.go @@ -44,7 +44,7 @@ func GetUserFriendList(pid uint32) (*types.List[*friends_wiiu_types.FriendInfo], if ok && connectedUser != nil { // * Online - friendInfo.Presence = connectedUser.PresenceV2 + friendInfo.Presence = connectedUser.PresenceV2.Copy().(*friends_wiiu_types.NintendoPresenceV2) } else { // * Offline var lastOnlineTime uint64 diff --git a/nex/friends-3ds/get_friend_presence.go b/nex/friends-3ds/get_friend_presence.go index 2f8a697..b74b184 100644 --- a/nex/friends-3ds/get_friend_presence.go +++ b/nex/friends-3ds/get_friend_presence.go @@ -23,7 +23,7 @@ func GetFriendPresence(err error, packet nex.PacketInterface, callID uint32, pid if ok && connectedUser != nil && connectedUser.Presence != nil { friendPresence := friends_3ds_types.NewFriendPresence() friendPresence.PID = pid.Copy().(*types.PID) - friendPresence.Presence = connectedUser.Presence + friendPresence.Presence = connectedUser.Presence.Copy().(*friends_3ds_types.NintendoPresence) presenceList.Append(friendPresence) } diff --git a/nex/friends-3ds/update_presence.go b/nex/friends-3ds/update_presence.go index f8565cf..79b2b2b 100644 --- a/nex/friends-3ds/update_presence.go +++ b/nex/friends-3ds/update_presence.go @@ -18,7 +18,7 @@ func UpdatePresence(err error, packet nex.PacketInterface, callID uint32, presen connection := packet.Sender().(*nex.PRUDPConnection) - currentPresence := presence + currentPresence := presence.Copy().(*friends_3ds_types.NintendoPresence) // Send an entirely empty status, with every flag set to update if !showGame.Value { diff --git a/nex/friends-wiiu/accept_friend_request.go b/nex/friends-wiiu/accept_friend_request.go index fb6aa68..b649ca7 100644 --- a/nex/friends-wiiu/accept_friend_request.go +++ b/nex/friends-wiiu/accept_friend_request.go @@ -47,7 +47,7 @@ func AcceptFriendRequest(err error, packet nex.PacketInterface, callID uint32, i return nil, nex.NewError(nex.ResultCodes.FPD.Unknown, "") // TODO - Add error message } - senderFriendInfo.Presence = senderConnectedUser.PresenceV2 + senderFriendInfo.Presence = senderConnectedUser.PresenceV2.Copy().(*friends_wiiu_types.NintendoPresenceV2) status, err := database_wiiu.GetUserComment(senderPID) if err != nil { diff --git a/nex/friends-wiiu/update_and_get_all_information.go b/nex/friends-wiiu/update_and_get_all_information.go index 17f6564..5eaf730 100644 --- a/nex/friends-wiiu/update_and_get_all_information.go +++ b/nex/friends-wiiu/update_and_get_all_information.go @@ -36,7 +36,7 @@ func UpdateAndGetAllInformation(err error, packet nex.PacketInterface, callID ui globals.ConnectedUsers.Set(pid, connectedUser) } - connectedUser.PresenceV2 = presence + connectedUser.PresenceV2 = presence.Copy().(*friends_wiiu_types.NintendoPresenceV2) database_wiiu.UpdateNetworkAccountInfo(pid, nnaInfo, birthday) diff --git a/nex/friends-wiiu/update_presence.go b/nex/friends-wiiu/update_presence.go index 73c9057..18ae712 100644 --- a/nex/friends-wiiu/update_presence.go +++ b/nex/friends-wiiu/update_presence.go @@ -36,7 +36,7 @@ func UpdatePresence(err error, packet nex.PacketInterface, callID uint32, presen globals.ConnectedUsers.Set(pid, connectedUser) } - connectedUser.PresenceV2 = presence + connectedUser.PresenceV2 = presence.Copy().(*friends_wiiu_types.NintendoPresenceV2) notifications_wiiu.SendPresenceUpdate(presence) diff --git a/types/connected_user.go b/types/connected_user.go index 3431756..9553f79 100644 --- a/types/connected_user.go +++ b/types/connected_user.go @@ -10,7 +10,6 @@ type ConnectedUser struct { PID uint32 Platform Platform Connection *nex.PRUDPConnection - NNAInfo *friends_wiiu_types.NNAInfo Presence *friends_3ds_types.NintendoPresence PresenceV2 *friends_wiiu_types.NintendoPresenceV2 }