示例#1
0
        public virtual SceNetAdhocctlPacketBaseC2S createPacketC2S(ProOnlineNetworkAdapter proOnline, ProOnlineServer proOnlineServer, sbyte[] buffer, int Length)
        {
            if (Length > 0)
            {
                switch (buffer[0])
                {
                case OPCODE_LOGIN:
                    return(new SceNetAdhocctlLoginPacketC2S(proOnline, proOnlineServer, buffer, Length));

                case OPCODE_PING:
                    return(new SceNetAdhocctlPingPacketC2S(proOnline, proOnlineServer, buffer, Length));

                case OPCODE_CONNECT:
                    return(new SceNetAdhocctlConnectPacketC2S(proOnline, proOnlineServer, buffer, Length));

                case OPCODE_DISCONNECT:
                    return(new SceNetAdhocctlDisconnectPacketC2S(proOnline, proOnlineServer, buffer, Length));

                case OPCODE_SCAN:
                    return(new SceNetAdhocctlScanPacketC2S(proOnline, proOnlineServer, buffer, Length));

                case OPCODE_CHAT:
                    return(new SceNetAdhocctlChatPacketC2S(proOnline, proOnlineServer, buffer, Length));

                default:
                    ProOnlineNetworkAdapter.Console.WriteLine(string.Format("Received unknown C2S opcode {0:D}", buffer[0]));
                    break;
                }
            }

            return(null);
        }
示例#2
0
 public SceNetAdhocctlLoginPacketC2S(ProOnlineNetworkAdapter proOnline) : base(proOnline)
 {
     opcode         = OPCODE_LOGIN;
     mac.MacAddress = Wlan.MacAddress;
     nickName       = sceUtility.SystemParamNickname;
     game           = Modules.sceNetAdhocctlModule.hleNetAdhocctlGetAdhocID();
 }
示例#3
0
        public static ProOnlineAdhocMatchingEventMessage createPacket(ProOnlineNetworkAdapter proOnline, MatchingObject matchingObject, int @event, int data, int dataLength, sbyte[] macAddress)
        {
            switch (@event)
            {
            case PSP_ADHOC_MATCHING_EVENT_INTERNAL_PING:
                return(new MatchingPacketPing(matchingObject));

            case PSP_ADHOC_MATCHING_EVENT_HELLO:
                return(new MatchingPacketHello(matchingObject, data, dataLength, macAddress));

            case PSP_ADHOC_MATCHING_EVENT_JOIN:
                return(new MatchingPacketJoin(matchingObject, data, dataLength, macAddress));

            case PSP_ADHOC_MATCHING_EVENT_ACCEPT:
                return(new MatchingPacketAccept(matchingObject, data, dataLength, macAddress));

            case PSP_ADHOC_MATCHING_EVENT_CANCEL:
                return(new MatchingPacketCancel(matchingObject, data, dataLength, macAddress));

            case PSP_ADHOC_MATCHING_EVENT_DATA:
                return(new MatchingPacketBulk(matchingObject, data, dataLength, macAddress));

            case PSP_ADHOC_MATCHING_EVENT_DISCONNECT:
                return(new MatchingPacketBye(matchingObject));
            }

            return(null);
        }
示例#4
0
        public static ProOnlineAdhocMatchingEventMessage createPacket(ProOnlineNetworkAdapter proOnline, MatchingObject matchingObject, sbyte[] message, int Length)
        {
            if (Length > 0 && message != null && message.Length > 0)
            {
                switch (message[0])
                {
                case ADHOC_MATCHING_PACKET_PING:
                    return(new MatchingPacketPing(matchingObject, message, Length));

                case ADHOC_MATCHING_PACKET_HELLO:
                    return(new MatchingPacketHello(matchingObject, message, Length));

                case ADHOC_MATCHING_PACKET_JOIN:
                    return(new MatchingPacketJoin(matchingObject, message, Length));

                case ADHOC_MATCHING_PACKET_ACCEPT:
                    return(new MatchingPacketAccept(matchingObject, message, Length));

                case ADHOC_MATCHING_PACKET_CANCEL:
                    return(new MatchingPacketCancel(matchingObject, message, Length));

                case ADHOC_MATCHING_PACKET_BULK:
                    return(new MatchingPacketBulk(matchingObject, message, Length));

                case ADHOC_MATCHING_PACKET_BYE:
                    return(new MatchingPacketBye(matchingObject, message, Length));
                }
            }

            return(null);
        }
示例#5
0
        public virtual SceNetAdhocctlPacketBaseS2C createPacketS2C(ProOnlineNetworkAdapter proOnline, sbyte[] buffer, int Length)
        {
            if (Length > 0)
            {
                switch (buffer[0])
                {
                case OPCODE_PING:
                    return(new SceNetAdhocctlPingPacketS2C(proOnline, buffer, Length));

                case OPCODE_CONNECT_BSSID:
                    return(new SceNetAdhocctlConnectBSSIDPacketS2C(proOnline, buffer, Length));

                case OPCODE_CONNECT:
                    return(new SceNetAdhocctlConnectPacketS2C(proOnline, buffer, Length));

                case OPCODE_SCAN:
                    return(new SceNetAdhocctlScanPacketS2C(proOnline, buffer, Length));

                case OPCODE_SCAN_COMPLETE:
                    return(new SceNetAdhocctlScanCompletePacketS2C(proOnline, buffer, Length));

                case OPCODE_DISCONNECT:
                    return(new SceNetAdhocctlDisconnectPacketS2C(proOnline, buffer, Length));

                case OPCODE_CHAT:
                    return(new SceNetAdhocctlChatPacketS2C(proOnline, buffer, Length));

                default:
                    ProOnlineNetworkAdapter.Console.WriteLine(string.Format("Received unknown S2C opcode {0:D}", buffer[0]));
                    break;
                }
            }

            return(null);
        }
示例#6
0
        public static void exit()
        {
            Settings.Instance.removeSettingsListener("ProOnline");

            if (!Enabled)
            {
                return;
            }

            INetworkAdapter networkAdapter = Modules.sceNetModule.NetworkAdapter;

            if (networkAdapter == null || !(networkAdapter is ProOnlineNetworkAdapter))
            {
                return;
            }

            ProOnlineNetworkAdapter proOnline = (ProOnlineNetworkAdapter)networkAdapter;

            proOnline.exit_Renamed = true;
            proOnline.terminatePortManager();
            proOnline.waitForFriendFinderToExit();
        }
示例#7
0
 public SceNetAdhocctlChatPacketS2C(ProOnlineNetworkAdapter proOnline, sbyte[] bytes, int Length) : base(proOnline)
 {
     init(bytes, Length);
 }
示例#8
0
 protected internal SceNetAdhocctlPacketBase(ProOnlineNetworkAdapter proOnline)
 {
     this.proOnline = proOnline;
 }
示例#9
0
 public SceNetAdhocctlChatPacketC2S(ProOnlineNetworkAdapter proOnline, ProOnlineServer proOnlineServer, sbyte[] bytes, int Length) : base(proOnline, proOnlineServer)
 {
     init(bytes, Length);
 }
示例#10
0
 public SceNetAdhocctlChatPacketC2S(ProOnlineNetworkAdapter proOnline, string message) : base(proOnline)
 {
     opcode       = OPCODE_CHAT;
     this.message = message;
 }
示例#11
0
 public SceNetAdhocctlConnectPacketC2S(ProOnlineNetworkAdapter proOnline) : base(proOnline)
 {
     opcode = OPCODE_CONNECT;
     group  = Modules.sceNetAdhocctlModule.hleNetAdhocctlGetGroupName();
 }
示例#12
0
 public ProOnlineAdhocDatagramSocket(ProOnlineNetworkAdapter proOnline)
 {
     this.proOnline = proOnline;
 }
示例#13
0
 public ProOnlineAdhocMessage(ProOnlineNetworkAdapter networkAdapter, sbyte[] message, int Length) : base(message, Length)
 {
     this.proOnline = networkAdapter;
 }
示例#14
0
 public SceNetAdhocctlPingPacketC2S(ProOnlineNetworkAdapter proOnline) : base(proOnline)
 {
     opcode = OPCODE_PING;
 }
示例#15
0
 protected internal SceNetAdhocctlPacketBaseS2C(ProOnlineNetworkAdapter proOnline) : base(proOnline)
 {
 }
示例#16
0
 protected internal SceNetAdhocctlPacketBaseC2S(ProOnlineNetworkAdapter proOnline, ProOnlineServer proOnlineServer) : base(proOnline)
 {
     this.proOnlineServer = proOnlineServer;
 }
示例#17
0
 public ProOnlinePdpObject(INetworkAdapter networkAdapter) : base(networkAdapter)
 {
     proOnline = (ProOnlineNetworkAdapter)networkAdapter;
 }
示例#18
0
 public ProOnlineAdhocMessage(ProOnlineNetworkAdapter networkAdapter, int address, int Length, sbyte[] toMacAddress) : base(address, Length, toMacAddress)
 {
     this.proOnline = networkAdapter;
 }
示例#19
0
 public SceNetAdhocctlDisconnectPacketC2S(ProOnlineNetworkAdapter proOnline) : base(proOnline)
 {
     opcode = OPCODE_DISCONNECT;
 }
示例#20
0
 public ProOnlinePtpObject(ProOnlinePtpObject ptpObject) : base(ptpObject)
 {
     proOnline = ptpObject.proOnline;
 }
示例#21
0
 public ProOnlineAdhocMessage(ProOnlineNetworkAdapter networkAdapter, int address, int Length) : base(address, Length)
 {
     this.proOnline = networkAdapter;
 }
示例#22
0
 public SceNetAdhocctlScanPacketC2S(ProOnlineNetworkAdapter proOnline) : base(proOnline)
 {
     opcode = OPCODE_SCAN;
 }
示例#23
0
 public ProOnlineMatchingObject(INetworkAdapter networkAdapter) : base(networkAdapter)
 {
     proOnline = (ProOnlineNetworkAdapter)networkAdapter;
 }
示例#24
0
 public FriendFinder(ProOnlineNetworkAdapter outerInstance)
 {
     this.outerInstance = outerInstance;
 }