コード例 #1
0
ファイル: SV_MAIN.cs プロジェクト: optimus-code/Q2Sharp
        public static void SV_ReadPackets( )
        {
            Int32    i;
            client_t cl;
            var      qport = 0;

            while (NET.GetPacket(Defines.NS_SERVER, Globals.net_from, Globals.net_message))
            {
                if ((Globals.net_message.data[0] == -1) && (Globals.net_message.data[1] == -1) && (Globals.net_message.data[2] == -1) && (Globals.net_message.data[3] == -1))
                {
                    SV_ConnectionlessPacket();
                    continue;
                }

                MSG.BeginReading(Globals.net_message);
                MSG.ReadLong(Globals.net_message);
                MSG.ReadLong(Globals.net_message);
                qport = MSG.ReadShort(Globals.net_message) & 0xffff;
                for (i = 0; i < SV_MAIN.maxclients.value; i++)
                {
                    cl = SV_INIT.svs.clients[i];
                    if (cl.state == Defines.cs_free)
                    {
                        continue;
                    }
                    if (!NET.CompareBaseAdr(Globals.net_from, cl.netchan.remote_address))
                    {
                        continue;
                    }
                    if (cl.netchan.qport != qport)
                    {
                        continue;
                    }
                    if (cl.netchan.remote_address.port != Globals.net_from.port)
                    {
                        Com.Printf("SV_ReadPackets: fixing up a translated port\\n");
                        cl.netchan.remote_address.port = Globals.net_from.port;
                    }

                    if (Netchan.Process(cl.netchan, Globals.net_message))
                    {
                        if (cl.state != Defines.cs_zombie)
                        {
                            cl.lastmessage = SV_INIT.svs.realtime;
                            SV_USER.SV_ExecuteClientMessage(cl);
                        }
                    }

                    break;
                }

                if (i != SV_MAIN.maxclients.value)
                {
                    continue;
                }
            }
        }
コード例 #2
0
ファイル: SV_SEND.cs プロジェクト: optimus-code/Q2Sharp
        public static void SV_DemoCompleted( )
        {
            if (SV_INIT.sv.demofile != null)
            {
                try
                {
                    SV_INIT.sv.demofile.Close();
                }
                catch (Exception e)
                {
                    Com.Printf("IOError closing d9emo fiele:" + e);
                }

                SV_INIT.sv.demofile = null;
            }

            SV_USER.SV_Nextserver();
        }
コード例 #3
0
ファイル: SV_USER.cs プロジェクト: optimus-code/Q2Sharp
 protected override void Execute( )
 {
     SV_USER.SV_BeginDownload_f();
 }
コード例 #4
0
ファイル: SV_USER.cs プロジェクト: optimus-code/Q2Sharp
 protected override void Execute( )
 {
     SV_USER.SV_Disconnect_f();
 }
コード例 #5
0
ファイル: SV_USER.cs プロジェクト: optimus-code/Q2Sharp
 protected override void Execute( )
 {
     SV_USER.SV_ShowServerinfo_f();
 }
コード例 #6
0
ファイル: SV_USER.cs プロジェクト: optimus-code/Q2Sharp
 protected override void Execute( )
 {
     SV_USER.SV_Nextserver_f();
 }
コード例 #7
0
ファイル: SV_USER.cs プロジェクト: optimus-code/Q2Sharp
 protected override void Execute( )
 {
     SV_USER.SV_Baselines_f();
 }
コード例 #8
0
ファイル: SV_USER.cs プロジェクト: optimus-code/Q2Sharp
 protected override void Execute( )
 {
     SV_USER.SV_Configstrings_f();
 }
コード例 #9
0
ファイル: SV_USER.cs プロジェクト: optimus-code/Q2Sharp
 protected override void Execute( )
 {
     SV_USER.SV_New_f();
 }
コード例 #10
0
ファイル: SV_USER.cs プロジェクト: optimus-code/Q2Sharp
 protected override void Execute( )
 {
     SV_USER.SV_NextDownload_f();
 }