mirror of
https://github.com/PretendoNetwork/nex-go.git
synced 2025-04-02 11:02:14 -04:00
660 lines
26 KiB
Go
660 lines
26 KiB
Go
package nex
|
|
|
|
import (
|
|
"reflect"
|
|
"strconv"
|
|
)
|
|
|
|
var errorMask = 1 << 31
|
|
|
|
type resultCodes struct {
|
|
Core struct {
|
|
Unknown uint32
|
|
NotImplemented uint32
|
|
InvalidPointer uint32
|
|
OperationAborted uint32
|
|
Exception uint32
|
|
AccessDenied uint32
|
|
InvalidHandle uint32
|
|
InvalidIndex uint32
|
|
OutOfMemory uint32
|
|
InvalidArgument uint32
|
|
Timeout uint32
|
|
InitializationFailure uint32
|
|
CallInitiationFailure uint32
|
|
RegistrationError uint32
|
|
BufferOverflow uint32
|
|
InvalidLockState uint32
|
|
InvalidSequence uint32
|
|
SystemError uint32
|
|
Cancelled uint32
|
|
}
|
|
|
|
DDL struct {
|
|
InvalidSignature uint32
|
|
IncorrectVersion uint32
|
|
}
|
|
|
|
RendezVous struct {
|
|
ConnectionFailure uint32
|
|
NotAuthenticated uint32
|
|
InvalidUsername uint32
|
|
InvalidPassword uint32
|
|
UsernameAlreadyExists uint32
|
|
AccountDisabled uint32
|
|
AccountExpired uint32
|
|
ConcurrentLoginDenied uint32
|
|
EncryptionFailure uint32
|
|
InvalidPID uint32
|
|
MaxConnectionsReached uint32
|
|
InvalidGID uint32
|
|
InvalidControlScriptID uint32
|
|
InvalidOperationInLiveEnvironment uint32
|
|
DuplicateEntry uint32
|
|
ControlScriptFailure uint32
|
|
ClassNotFound uint32
|
|
SessionVoid uint32
|
|
DDLMismatch uint32
|
|
InvalidConfiguration uint32
|
|
SessionFull uint32
|
|
InvalidGatheringPassword uint32
|
|
WithoutParticipationPeriod uint32
|
|
PersistentGatheringCreationMax uint32
|
|
PersistentGatheringParticipationMax uint32
|
|
DeniedByParticipants uint32
|
|
ParticipantInBlackList uint32
|
|
GameServerMaintenance uint32
|
|
OperationPostpone uint32
|
|
OutOfRatingRange uint32
|
|
ConnectionDisconnected uint32
|
|
InvalidOperation uint32
|
|
NotParticipatedGathering uint32
|
|
MatchmakeSessionUserPasswordUnmatch uint32
|
|
MatchmakeSessionSystemPasswordUnmatch uint32
|
|
UserIsOffline uint32
|
|
AlreadyParticipatedGathering uint32
|
|
PermissionDenied uint32
|
|
NotFriend uint32
|
|
SessionClosed uint32
|
|
DatabaseTemporarilyUnavailable uint32
|
|
InvalidUniqueID uint32
|
|
MatchmakingWithdrawn uint32
|
|
LimitExceeded uint32
|
|
AccountTemporarilyDisabled uint32
|
|
PartiallyServiceClosed uint32
|
|
ConnectionDisconnectedForConcurrentLogin uint32
|
|
}
|
|
|
|
PythonCore struct {
|
|
Exception uint32
|
|
TypeError uint32
|
|
IndexError uint32
|
|
InvalidReference uint32
|
|
CallFailure uint32
|
|
MemoryError uint32
|
|
KeyError uint32
|
|
OperationError uint32
|
|
ConversionError uint32
|
|
ValidationError uint32
|
|
}
|
|
|
|
Transport struct {
|
|
Unknown uint32
|
|
ConnectionFailure uint32
|
|
InvalidURL uint32
|
|
InvalidKey uint32
|
|
InvalidURLType uint32
|
|
DuplicateEndpoint uint32
|
|
IOError uint32
|
|
Timeout uint32
|
|
ConnectionReset uint32
|
|
IncorrectRemoteAuthentication uint32
|
|
ServerRequestError uint32
|
|
DecompressionFailure uint32
|
|
ReliableSendBufferFullFatal uint32
|
|
UPnPCannotInit uint32
|
|
UPnPCannotAddMapping uint32
|
|
NatPMPCannotInit uint32
|
|
NatPMPCannotAddMapping uint32
|
|
UnsupportedNAT uint32
|
|
DNSError uint32
|
|
ProxyError uint32
|
|
DataRemaining uint32
|
|
NoBuffer uint32
|
|
NotFound uint32
|
|
TemporaryServerError uint32
|
|
PermanentServerError uint32
|
|
ServiceUnavailable uint32
|
|
ReliableSendBufferFull uint32
|
|
InvalidStation uint32
|
|
InvalidSubStreamID uint32
|
|
PacketBufferFull uint32
|
|
NatTraversalError uint32
|
|
NatCheckError uint32
|
|
}
|
|
|
|
DOCore struct {
|
|
StationNotReached uint32
|
|
TargetStationDisconnect uint32
|
|
LocalStationLeaving uint32
|
|
ObjectNotFound uint32
|
|
InvalidRole uint32
|
|
CallTimeout uint32
|
|
RMCDispatchFailed uint32
|
|
MigrationInProgress uint32
|
|
NoAuthority uint32
|
|
NoTargetStationSpecified uint32
|
|
JoinFailed uint32
|
|
JoinDenied uint32
|
|
ConnectivityTestFailed uint32
|
|
Unknown uint32
|
|
UnfreedReferences uint32
|
|
JobTerminationFailed uint32
|
|
InvalidState uint32
|
|
FaultRecoveryFatal uint32
|
|
FaultRecoveryJobProcessFailed uint32
|
|
StationInconsitency uint32
|
|
AbnormalMasterState uint32
|
|
VersionMismatch uint32
|
|
}
|
|
|
|
FPD struct {
|
|
NotInitialized uint32
|
|
AlreadyInitialized uint32
|
|
NotConnected uint32
|
|
Connected uint32
|
|
InitializationFailure uint32
|
|
OutOfMemory uint32
|
|
RmcFailed uint32
|
|
InvalidArgument uint32
|
|
InvalidLocalAccountID uint32
|
|
InvalidPrincipalID uint32
|
|
InvalidLocalFriendCode uint32
|
|
LocalAccountNotExists uint32
|
|
LocalAccountNotLoaded uint32
|
|
LocalAccountAlreadyLoaded uint32
|
|
FriendAlreadyExists uint32
|
|
FriendNotExists uint32
|
|
FriendNumMax uint32
|
|
NotFriend uint32
|
|
FileIO uint32
|
|
P2PInternetProhibited uint32
|
|
Unknown uint32
|
|
InvalidState uint32
|
|
AddFriendProhibited uint32
|
|
InvalidAccount uint32
|
|
BlacklistedByMe uint32
|
|
FriendAlreadyAdded uint32
|
|
MyFriendListLimitExceed uint32
|
|
RequestLimitExceed uint32
|
|
InvalidMessageID uint32
|
|
MessageIsNotMine uint32
|
|
MessageIsNotForMe uint32
|
|
FriendRequestBlocked uint32
|
|
NotInMyFriendList uint32
|
|
FriendListedByMe uint32
|
|
NotInMyBlacklist uint32
|
|
IncompatibleAccount uint32
|
|
BlockSettingChangeNotAllowed uint32
|
|
SizeLimitExceeded uint32
|
|
OperationNotAllowed uint32
|
|
NotNetworkAccount uint32
|
|
NotificationNotFound uint32
|
|
PreferenceNotInitialized uint32
|
|
FriendRequestNotAllowed uint32
|
|
}
|
|
|
|
Ranking struct {
|
|
NotInitialized uint32
|
|
InvalidArgument uint32
|
|
RegistrationError uint32
|
|
NotFound uint32
|
|
InvalidScore uint32
|
|
InvalidDataSize uint32
|
|
PermissionDenied uint32
|
|
Unknown uint32
|
|
NotImplemented uint32
|
|
}
|
|
|
|
Authentication struct {
|
|
NASAuthenticateError uint32
|
|
TokenParseError uint32
|
|
HTTPConnectionError uint32
|
|
HTTPDNSError uint32
|
|
HTTPGetProxySetting uint32
|
|
TokenExpired uint32
|
|
ValidationFailed uint32
|
|
InvalidParam uint32
|
|
PrincipalIDUnmatched uint32
|
|
MoveCountUnmatch uint32
|
|
UnderMaintenance uint32
|
|
UnsupportedVersion uint32
|
|
ServerVersionIsOld uint32
|
|
Unknown uint32
|
|
ClientVersionIsOld uint32
|
|
AccountLibraryError uint32
|
|
ServiceNoLongerAvailable uint32
|
|
UnknownApplication uint32
|
|
ApplicationVersionIsOld uint32
|
|
OutOfService uint32
|
|
NetworkServiceLicenseRequired uint32
|
|
NetworkServiceLicenseSystemError uint32
|
|
NetworkServiceLicenseError3 uint32
|
|
NetworkServiceLicenseError4 uint32
|
|
}
|
|
|
|
DataStore struct {
|
|
Unknown uint32
|
|
InvalidArgument uint32
|
|
PermissionDenied uint32
|
|
NotFound uint32
|
|
AlreadyLocked uint32
|
|
UnderReviewing uint32
|
|
Expired uint32
|
|
InvalidCheckToken uint32
|
|
SystemFileError uint32
|
|
OverCapacity uint32
|
|
OperationNotAllowed uint32
|
|
InvalidPassword uint32
|
|
ValueNotEqual uint32
|
|
}
|
|
|
|
ServiceItem struct {
|
|
Unknown uint32
|
|
InvalidArgument uint32
|
|
EShopUnknownHTTPError uint32
|
|
EShopResponseParseError uint32
|
|
NotOwned uint32
|
|
InvalidLimitationType uint32
|
|
ConsumptionRightShortage uint32
|
|
}
|
|
|
|
MatchmakeReferee struct {
|
|
Unknown uint32
|
|
InvalidArgument uint32
|
|
AlreadyExists uint32
|
|
NotParticipatedGathering uint32
|
|
NotParticipatedRound uint32
|
|
StatsNotFound uint32
|
|
RoundNotFound uint32
|
|
RoundArbitrated uint32
|
|
RoundNotArbitrated uint32
|
|
}
|
|
|
|
Subscriber struct {
|
|
Unknown uint32
|
|
InvalidArgument uint32
|
|
OverLimit uint32
|
|
PermissionDenied uint32
|
|
}
|
|
|
|
Ranking2 struct {
|
|
Unknown uint32
|
|
InvalidArgument uint32
|
|
InvalidScore uint32
|
|
}
|
|
|
|
SmartDeviceVoiceChat struct {
|
|
Unknown uint32
|
|
InvalidArgument uint32
|
|
InvalidResponse uint32
|
|
InvalidAccessToken uint32
|
|
Unauthorized uint32
|
|
AccessError uint32
|
|
UserNotFound uint32
|
|
RoomNotFound uint32
|
|
RoomNotActivated uint32
|
|
ApplicationNotSupported uint32
|
|
InternalServerError uint32
|
|
ServiceUnavailable uint32
|
|
UnexpectedError uint32
|
|
UnderMaintenance uint32
|
|
ServiceNoLongerAvailable uint32
|
|
AccountTemporarilyDisabled uint32
|
|
PermissionDenied uint32
|
|
NetworkServiceLicenseRequired uint32
|
|
AccountLibraryError uint32
|
|
GameModeNotFound uint32
|
|
}
|
|
|
|
Screening struct {
|
|
Unknown uint32
|
|
InvalidArgument uint32
|
|
NotFound uint32
|
|
}
|
|
|
|
Custom struct {
|
|
Unknown uint32
|
|
}
|
|
|
|
Ess struct {
|
|
Unknown uint32
|
|
GameSessionError uint32
|
|
GameSessionMaintenance uint32
|
|
}
|
|
}
|
|
|
|
// ResultNames contains a map of all the result code string names, indexed by the result code
|
|
var ResultNames = map[uint32]string{}
|
|
|
|
// ResultCodes provides a struct containing RDV result codes using dot-notation
|
|
var ResultCodes resultCodes
|
|
|
|
func initResultCodes() {
|
|
ResultCodes.Core.Unknown = 0x00010001
|
|
ResultCodes.Core.NotImplemented = 0x00010002
|
|
ResultCodes.Core.InvalidPointer = 0x00010003
|
|
ResultCodes.Core.OperationAborted = 0x00010004
|
|
ResultCodes.Core.Exception = 0x00010005
|
|
ResultCodes.Core.AccessDenied = 0x00010006
|
|
ResultCodes.Core.InvalidHandle = 0x00010007
|
|
ResultCodes.Core.InvalidIndex = 0x00010008
|
|
ResultCodes.Core.OutOfMemory = 0x00010009
|
|
ResultCodes.Core.InvalidArgument = 0x0001000A
|
|
ResultCodes.Core.Timeout = 0x0001000B
|
|
ResultCodes.Core.InitializationFailure = 0x0001000C
|
|
ResultCodes.Core.CallInitiationFailure = 0x0001000D
|
|
ResultCodes.Core.RegistrationError = 0x0001000E
|
|
ResultCodes.Core.BufferOverflow = 0x0001000F
|
|
ResultCodes.Core.InvalidLockState = 0x00010010
|
|
ResultCodes.Core.InvalidSequence = 0x00010011
|
|
ResultCodes.Core.SystemError = 0x00010012
|
|
ResultCodes.Core.Cancelled = 0x00010013
|
|
|
|
ResultCodes.DDL.InvalidSignature = 0x00020001
|
|
ResultCodes.DDL.IncorrectVersion = 0x00020002
|
|
|
|
ResultCodes.RendezVous.ConnectionFailure = 0x00030001
|
|
ResultCodes.RendezVous.NotAuthenticated = 0x00030002
|
|
ResultCodes.RendezVous.InvalidUsername = 0x00030064
|
|
ResultCodes.RendezVous.InvalidPassword = 0x00030065
|
|
ResultCodes.RendezVous.UsernameAlreadyExists = 0x00030066
|
|
ResultCodes.RendezVous.AccountDisabled = 0x00030067
|
|
ResultCodes.RendezVous.AccountExpired = 0x00030068
|
|
ResultCodes.RendezVous.ConcurrentLoginDenied = 0x00030069
|
|
ResultCodes.RendezVous.EncryptionFailure = 0x0003006A
|
|
ResultCodes.RendezVous.InvalidPID = 0x0003006B
|
|
ResultCodes.RendezVous.MaxConnectionsReached = 0x0003006C
|
|
ResultCodes.RendezVous.InvalidGID = 0x0003006D
|
|
ResultCodes.RendezVous.InvalidControlScriptID = 0x0003006E
|
|
ResultCodes.RendezVous.InvalidOperationInLiveEnvironment = 0x0003006F
|
|
ResultCodes.RendezVous.DuplicateEntry = 0x00030070
|
|
ResultCodes.RendezVous.ControlScriptFailure = 0x00030071
|
|
ResultCodes.RendezVous.ClassNotFound = 0x00030072
|
|
ResultCodes.RendezVous.SessionVoid = 0x00030073
|
|
ResultCodes.RendezVous.DDLMismatch = 0x00030075
|
|
ResultCodes.RendezVous.InvalidConfiguration = 0x00030076
|
|
ResultCodes.RendezVous.SessionFull = 0x000300C8
|
|
ResultCodes.RendezVous.InvalidGatheringPassword = 0x000300C9
|
|
ResultCodes.RendezVous.WithoutParticipationPeriod = 0x000300CA
|
|
ResultCodes.RendezVous.PersistentGatheringCreationMax = 0x000300CB
|
|
ResultCodes.RendezVous.PersistentGatheringParticipationMax = 0x000300CC
|
|
ResultCodes.RendezVous.DeniedByParticipants = 0x000300CD
|
|
ResultCodes.RendezVous.ParticipantInBlackList = 0x000300CE
|
|
ResultCodes.RendezVous.GameServerMaintenance = 0x000300CF
|
|
ResultCodes.RendezVous.OperationPostpone = 0x000300D0
|
|
ResultCodes.RendezVous.OutOfRatingRange = 0x000300D1
|
|
ResultCodes.RendezVous.ConnectionDisconnected = 0x000300D2
|
|
ResultCodes.RendezVous.InvalidOperation = 0x000300D3
|
|
ResultCodes.RendezVous.NotParticipatedGathering = 0x000300D4
|
|
ResultCodes.RendezVous.MatchmakeSessionUserPasswordUnmatch = 0x000300D5
|
|
ResultCodes.RendezVous.MatchmakeSessionSystemPasswordUnmatch = 0x000300D6
|
|
ResultCodes.RendezVous.UserIsOffline = 0x000300D7
|
|
ResultCodes.RendezVous.AlreadyParticipatedGathering = 0x000300D8
|
|
ResultCodes.RendezVous.PermissionDenied = 0x000300D9
|
|
ResultCodes.RendezVous.NotFriend = 0x000300DA
|
|
ResultCodes.RendezVous.SessionClosed = 0x000300DB
|
|
ResultCodes.RendezVous.DatabaseTemporarilyUnavailable = 0x000300DC
|
|
ResultCodes.RendezVous.InvalidUniqueID = 0x000300DD
|
|
ResultCodes.RendezVous.MatchmakingWithdrawn = 0x000300DE
|
|
ResultCodes.RendezVous.LimitExceeded = 0x000300DF
|
|
ResultCodes.RendezVous.AccountTemporarilyDisabled = 0x000300E0
|
|
ResultCodes.RendezVous.PartiallyServiceClosed = 0x000300E1
|
|
ResultCodes.RendezVous.ConnectionDisconnectedForConcurrentLogin = 0x000300E2
|
|
|
|
ResultCodes.PythonCore.Exception = 0x00040001
|
|
ResultCodes.PythonCore.TypeError = 0x00040002
|
|
ResultCodes.PythonCore.IndexError = 0x00040003
|
|
ResultCodes.PythonCore.InvalidReference = 0x00040004
|
|
ResultCodes.PythonCore.CallFailure = 0x00040005
|
|
ResultCodes.PythonCore.MemoryError = 0x00040006
|
|
ResultCodes.PythonCore.KeyError = 0x00040007
|
|
ResultCodes.PythonCore.OperationError = 0x00040008
|
|
ResultCodes.PythonCore.ConversionError = 0x00040009
|
|
ResultCodes.PythonCore.ValidationError = 0x0004000A
|
|
|
|
ResultCodes.Transport.Unknown = 0x00050001
|
|
ResultCodes.Transport.ConnectionFailure = 0x00050002
|
|
ResultCodes.Transport.InvalidURL = 0x00050003
|
|
ResultCodes.Transport.InvalidKey = 0x00050004
|
|
ResultCodes.Transport.InvalidURLType = 0x00050005
|
|
ResultCodes.Transport.DuplicateEndpoint = 0x00050006
|
|
ResultCodes.Transport.IOError = 0x00050007
|
|
ResultCodes.Transport.Timeout = 0x00050008
|
|
ResultCodes.Transport.ConnectionReset = 0x00050009
|
|
ResultCodes.Transport.IncorrectRemoteAuthentication = 0x0005000A
|
|
ResultCodes.Transport.ServerRequestError = 0x0005000B
|
|
ResultCodes.Transport.DecompressionFailure = 0x0005000C
|
|
ResultCodes.Transport.ReliableSendBufferFullFatal = 0x0005000D
|
|
ResultCodes.Transport.UPnPCannotInit = 0x0005000E
|
|
ResultCodes.Transport.UPnPCannotAddMapping = 0x0005000F
|
|
ResultCodes.Transport.NatPMPCannotInit = 0x00050010
|
|
ResultCodes.Transport.NatPMPCannotAddMapping = 0x00050011
|
|
ResultCodes.Transport.UnsupportedNAT = 0x00050013
|
|
ResultCodes.Transport.DNSError = 0x00050014
|
|
ResultCodes.Transport.ProxyError = 0x00050015
|
|
ResultCodes.Transport.DataRemaining = 0x00050016
|
|
ResultCodes.Transport.NoBuffer = 0x00050017
|
|
ResultCodes.Transport.NotFound = 0x00050018
|
|
ResultCodes.Transport.TemporaryServerError = 0x00050019
|
|
ResultCodes.Transport.PermanentServerError = 0x0005001A
|
|
ResultCodes.Transport.ServiceUnavailable = 0x0005001B
|
|
ResultCodes.Transport.ReliableSendBufferFull = 0x0005001C
|
|
ResultCodes.Transport.InvalidStation = 0x0005001D
|
|
ResultCodes.Transport.InvalidSubStreamID = 0x0005001E
|
|
ResultCodes.Transport.PacketBufferFull = 0x0005001F
|
|
ResultCodes.Transport.NatTraversalError = 0x00050020
|
|
ResultCodes.Transport.NatCheckError = 0x00050021
|
|
|
|
ResultCodes.DOCore.StationNotReached = 0x00060001
|
|
ResultCodes.DOCore.TargetStationDisconnect = 0x00060002
|
|
ResultCodes.DOCore.LocalStationLeaving = 0x00060003
|
|
ResultCodes.DOCore.ObjectNotFound = 0x00060004
|
|
ResultCodes.DOCore.InvalidRole = 0x00060005
|
|
ResultCodes.DOCore.CallTimeout = 0x00060006
|
|
ResultCodes.DOCore.RMCDispatchFailed = 0x00060007
|
|
ResultCodes.DOCore.MigrationInProgress = 0x00060008
|
|
ResultCodes.DOCore.NoAuthority = 0x00060009
|
|
ResultCodes.DOCore.NoTargetStationSpecified = 0x0006000A
|
|
ResultCodes.DOCore.JoinFailed = 0x0006000B
|
|
ResultCodes.DOCore.JoinDenied = 0x0006000C
|
|
ResultCodes.DOCore.ConnectivityTestFailed = 0x0006000D
|
|
ResultCodes.DOCore.Unknown = 0x0006000E
|
|
ResultCodes.DOCore.UnfreedReferences = 0x0006000F
|
|
ResultCodes.DOCore.JobTerminationFailed = 0x00060010
|
|
ResultCodes.DOCore.InvalidState = 0x00060011
|
|
ResultCodes.DOCore.FaultRecoveryFatal = 0x00060012
|
|
ResultCodes.DOCore.FaultRecoveryJobProcessFailed = 0x00060013
|
|
ResultCodes.DOCore.StationInconsitency = 0x00060014
|
|
ResultCodes.DOCore.AbnormalMasterState = 0x00060015
|
|
ResultCodes.DOCore.VersionMismatch = 0x00060016
|
|
|
|
ResultCodes.FPD.NotInitialized = 0x00650000
|
|
ResultCodes.FPD.AlreadyInitialized = 0x00650001
|
|
ResultCodes.FPD.NotConnected = 0x00650002
|
|
ResultCodes.FPD.Connected = 0x00650003
|
|
ResultCodes.FPD.InitializationFailure = 0x00650004
|
|
ResultCodes.FPD.OutOfMemory = 0x00650005
|
|
ResultCodes.FPD.RmcFailed = 0x00650006
|
|
ResultCodes.FPD.InvalidArgument = 0x00650007
|
|
ResultCodes.FPD.InvalidLocalAccountID = 0x00650008
|
|
ResultCodes.FPD.InvalidPrincipalID = 0x00650009
|
|
ResultCodes.FPD.InvalidLocalFriendCode = 0x0065000A
|
|
ResultCodes.FPD.LocalAccountNotExists = 0x0065000B
|
|
ResultCodes.FPD.LocalAccountNotLoaded = 0x0065000C
|
|
ResultCodes.FPD.LocalAccountAlreadyLoaded = 0x0065000D
|
|
ResultCodes.FPD.FriendAlreadyExists = 0x0065000E
|
|
ResultCodes.FPD.FriendNotExists = 0x0065000F
|
|
ResultCodes.FPD.FriendNumMax = 0x00650010
|
|
ResultCodes.FPD.NotFriend = 0x00650011
|
|
ResultCodes.FPD.FileIO = 0x00650012
|
|
ResultCodes.FPD.P2PInternetProhibited = 0x00650013
|
|
ResultCodes.FPD.Unknown = 0x00650014
|
|
ResultCodes.FPD.InvalidState = 0x00650015
|
|
ResultCodes.FPD.AddFriendProhibited = 0x00650017
|
|
ResultCodes.FPD.InvalidAccount = 0x00650019
|
|
ResultCodes.FPD.BlacklistedByMe = 0x0065001A
|
|
ResultCodes.FPD.FriendAlreadyAdded = 0x0065001C
|
|
ResultCodes.FPD.MyFriendListLimitExceed = 0x0065001D
|
|
ResultCodes.FPD.RequestLimitExceed = 0x0065001E
|
|
ResultCodes.FPD.InvalidMessageID = 0x0065001F
|
|
ResultCodes.FPD.MessageIsNotMine = 0x00650020
|
|
ResultCodes.FPD.MessageIsNotForMe = 0x00650021
|
|
ResultCodes.FPD.FriendRequestBlocked = 0x00650022
|
|
ResultCodes.FPD.NotInMyFriendList = 0x00650023
|
|
ResultCodes.FPD.FriendListedByMe = 0x00650024
|
|
ResultCodes.FPD.NotInMyBlacklist = 0x00650025
|
|
ResultCodes.FPD.IncompatibleAccount = 0x00650026
|
|
ResultCodes.FPD.BlockSettingChangeNotAllowed = 0x00650027
|
|
ResultCodes.FPD.SizeLimitExceeded = 0x00650028
|
|
ResultCodes.FPD.OperationNotAllowed = 0x00650029
|
|
ResultCodes.FPD.NotNetworkAccount = 0x0065002A
|
|
ResultCodes.FPD.NotificationNotFound = 0x0065002B
|
|
ResultCodes.FPD.PreferenceNotInitialized = 0x0065002C
|
|
ResultCodes.FPD.FriendRequestNotAllowed = 0x0065002D
|
|
|
|
ResultCodes.Ranking.NotInitialized = 0x00670001
|
|
ResultCodes.Ranking.InvalidArgument = 0x00670002
|
|
ResultCodes.Ranking.RegistrationError = 0x00670003
|
|
ResultCodes.Ranking.NotFound = 0x00670005
|
|
ResultCodes.Ranking.InvalidScore = 0x00670006
|
|
ResultCodes.Ranking.InvalidDataSize = 0x00670007
|
|
ResultCodes.Ranking.PermissionDenied = 0x00670009
|
|
ResultCodes.Ranking.Unknown = 0x0067000A
|
|
ResultCodes.Ranking.NotImplemented = 0x0067000B
|
|
|
|
ResultCodes.Authentication.NASAuthenticateError = 0x00680001
|
|
ResultCodes.Authentication.TokenParseError = 0x00680002
|
|
ResultCodes.Authentication.HTTPConnectionError = 0x00680003
|
|
ResultCodes.Authentication.HTTPDNSError = 0x00680004
|
|
ResultCodes.Authentication.HTTPGetProxySetting = 0x00680005
|
|
ResultCodes.Authentication.TokenExpired = 0x00680006
|
|
ResultCodes.Authentication.ValidationFailed = 0x00680007
|
|
ResultCodes.Authentication.InvalidParam = 0x00680008
|
|
ResultCodes.Authentication.PrincipalIDUnmatched = 0x00680009
|
|
ResultCodes.Authentication.MoveCountUnmatch = 0x0068000A
|
|
ResultCodes.Authentication.UnderMaintenance = 0x0068000B
|
|
ResultCodes.Authentication.UnsupportedVersion = 0x0068000C
|
|
ResultCodes.Authentication.ServerVersionIsOld = 0x0068000D
|
|
ResultCodes.Authentication.Unknown = 0x0068000E
|
|
ResultCodes.Authentication.ClientVersionIsOld = 0x0068000F
|
|
ResultCodes.Authentication.AccountLibraryError = 0x00680010
|
|
ResultCodes.Authentication.ServiceNoLongerAvailable = 0x00680011
|
|
ResultCodes.Authentication.UnknownApplication = 0x00680012
|
|
ResultCodes.Authentication.ApplicationVersionIsOld = 0x00680013
|
|
ResultCodes.Authentication.OutOfService = 0x00680014
|
|
ResultCodes.Authentication.NetworkServiceLicenseRequired = 0x00680015
|
|
ResultCodes.Authentication.NetworkServiceLicenseSystemError = 0x00680016
|
|
ResultCodes.Authentication.NetworkServiceLicenseError3 = 0x00680017
|
|
ResultCodes.Authentication.NetworkServiceLicenseError4 = 0x00680018
|
|
|
|
ResultCodes.DataStore.Unknown = 0x00690001
|
|
ResultCodes.DataStore.InvalidArgument = 0x00690002
|
|
ResultCodes.DataStore.PermissionDenied = 0x00690003
|
|
ResultCodes.DataStore.NotFound = 0x00690004
|
|
ResultCodes.DataStore.AlreadyLocked = 0x00690005
|
|
ResultCodes.DataStore.UnderReviewing = 0x00690006
|
|
ResultCodes.DataStore.Expired = 0x00690007
|
|
ResultCodes.DataStore.InvalidCheckToken = 0x00690008
|
|
ResultCodes.DataStore.SystemFileError = 0x00690009
|
|
ResultCodes.DataStore.OverCapacity = 0x0069000A
|
|
ResultCodes.DataStore.OperationNotAllowed = 0x0069000B
|
|
ResultCodes.DataStore.InvalidPassword = 0x0069000C
|
|
ResultCodes.DataStore.ValueNotEqual = 0x0069000D
|
|
|
|
ResultCodes.ServiceItem.Unknown = 0x006C0001
|
|
ResultCodes.ServiceItem.InvalidArgument = 0x006C0002
|
|
ResultCodes.ServiceItem.EShopUnknownHTTPError = 0x006C0003
|
|
ResultCodes.ServiceItem.EShopResponseParseError = 0x006C0004
|
|
ResultCodes.ServiceItem.NotOwned = 0x006C0005
|
|
ResultCodes.ServiceItem.InvalidLimitationType = 0x006C0006
|
|
ResultCodes.ServiceItem.ConsumptionRightShortage = 0x006C0007
|
|
|
|
ResultCodes.MatchmakeReferee.Unknown = 0x006F0001
|
|
ResultCodes.MatchmakeReferee.InvalidArgument = 0x006F0002
|
|
ResultCodes.MatchmakeReferee.AlreadyExists = 0x006F0003
|
|
ResultCodes.MatchmakeReferee.NotParticipatedGathering = 0x006F0004
|
|
ResultCodes.MatchmakeReferee.NotParticipatedRound = 0x006F0005
|
|
ResultCodes.MatchmakeReferee.StatsNotFound = 0x006F0006
|
|
ResultCodes.MatchmakeReferee.RoundNotFound = 0x006F0007
|
|
ResultCodes.MatchmakeReferee.RoundArbitrated = 0x006F0008
|
|
ResultCodes.MatchmakeReferee.RoundNotArbitrated = 0x006F0009
|
|
|
|
ResultCodes.Subscriber.Unknown = 0x00700001
|
|
ResultCodes.Subscriber.InvalidArgument = 0x00700002
|
|
ResultCodes.Subscriber.OverLimit = 0x00700003
|
|
ResultCodes.Subscriber.PermissionDenied = 0x00700004
|
|
|
|
ResultCodes.Ranking2.Unknown = 0x00710001
|
|
ResultCodes.Ranking2.InvalidArgument = 0x00710002
|
|
ResultCodes.Ranking2.InvalidScore = 0x00710003
|
|
|
|
ResultCodes.SmartDeviceVoiceChat.Unknown = 0x00720001
|
|
ResultCodes.SmartDeviceVoiceChat.InvalidArgument = 0x00720002
|
|
ResultCodes.SmartDeviceVoiceChat.InvalidResponse = 0x00720003
|
|
ResultCodes.SmartDeviceVoiceChat.InvalidAccessToken = 0x00720004
|
|
ResultCodes.SmartDeviceVoiceChat.Unauthorized = 0x00720005
|
|
ResultCodes.SmartDeviceVoiceChat.AccessError = 0x00720006
|
|
ResultCodes.SmartDeviceVoiceChat.UserNotFound = 0x00720007
|
|
ResultCodes.SmartDeviceVoiceChat.RoomNotFound = 0x00720008
|
|
ResultCodes.SmartDeviceVoiceChat.RoomNotActivated = 0x00720009
|
|
ResultCodes.SmartDeviceVoiceChat.ApplicationNotSupported = 0x0072000A
|
|
ResultCodes.SmartDeviceVoiceChat.InternalServerError = 0x0072000B
|
|
ResultCodes.SmartDeviceVoiceChat.ServiceUnavailable = 0x0072000C
|
|
ResultCodes.SmartDeviceVoiceChat.UnexpectedError = 0x0072000D
|
|
ResultCodes.SmartDeviceVoiceChat.UnderMaintenance = 0x0072000E
|
|
ResultCodes.SmartDeviceVoiceChat.ServiceNoLongerAvailable = 0x0072000F
|
|
ResultCodes.SmartDeviceVoiceChat.AccountTemporarilyDisabled = 0x00720010
|
|
ResultCodes.SmartDeviceVoiceChat.PermissionDenied = 0x00720011
|
|
ResultCodes.SmartDeviceVoiceChat.NetworkServiceLicenseRequired = 0x00720012
|
|
ResultCodes.SmartDeviceVoiceChat.AccountLibraryError = 0x00720013
|
|
ResultCodes.SmartDeviceVoiceChat.GameModeNotFound = 0x00720014
|
|
|
|
ResultCodes.Screening.Unknown = 0x00730001
|
|
ResultCodes.Screening.InvalidArgument = 0x00730002
|
|
ResultCodes.Screening.NotFound = 0x00730003
|
|
|
|
ResultCodes.Custom.Unknown = 0x00740001
|
|
|
|
ResultCodes.Ess.Unknown = 0x00750001
|
|
ResultCodes.Ess.GameSessionError = 0x00750002
|
|
ResultCodes.Ess.GameSessionMaintenance = 0x00750003
|
|
|
|
valueOfResultCodes := reflect.ValueOf(ResultCodes)
|
|
typeOfResultCodes := valueOfResultCodes.Type()
|
|
|
|
for i := 0; i < valueOfResultCodes.NumField(); i++ {
|
|
category := typeOfResultCodes.Field(i).Name
|
|
|
|
valueOfCategory := reflect.ValueOf(valueOfResultCodes.Field(i).Interface())
|
|
typeOfCategory := valueOfCategory.Type()
|
|
|
|
for j := 0; j < valueOfCategory.NumField(); j++ {
|
|
name := typeOfCategory.Field(j).Name
|
|
resultCode := valueOfCategory.Field(j).Interface().(uint32)
|
|
|
|
ResultNames[resultCode] = category + "::" + name
|
|
}
|
|
}
|
|
}
|
|
|
|
// ResultCodeToName returns an error code string for the provided error code
|
|
func ResultCodeToName(resultCode uint32) string {
|
|
name := ResultNames[resultCode]
|
|
|
|
if name == "" {
|
|
return "Invalid Result Code: " + strconv.Itoa(int(resultCode))
|
|
}
|
|
|
|
return name
|
|
}
|